first cut
authorMartin Kobetic <mkobetic@gmail.com>
Mon, 22 Aug 2011 15:51:21 +0000
changeset 6 5fcffc3d40d2
parent 5 a09d92a66f5e
child 7 e1b3d2820de7
first cut
support/Make.proto
support/Make.spec
support/Makefile
support/Xtreams__Encoder.st
support/Xtreams__RecyclingCenter.st
support/abbrev.stc
support/autopackage/default.apspec
support/bc.mak
support/bmake.bat
support/extensions.st
support/lcmake.bat
support/libInit.cc
support/stx_goodies_xtreams_support.st
support/support.rc
support/vcmake.bat
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/Make.proto	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,113 @@
+# $Header$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: stx_goodies_xtreams_support.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# The Makefile as generated by this Make.proto supports the following targets:
+#    make         - compile all st-files to a classLib
+#    make clean   - clean all temp files
+#    make clobber - clean all
+#
+# This file contains definitions for Unix based platforms.
+# It shares common definitions with the win32-make in Make.spec.
+
+#
+# position (of this package) in directory hierarchy:
+# (must point to ST/X top directory, for tools and includes)
+TOP=../../..
+INCLUDE_TOP=$(TOP)/..
+
+# subdirectories where targets are to be made:
+SUBDIRS=
+
+
+# subdirectories where Makefiles are to be made:
+# (only define if different from SUBDIRS)
+# ALLSUBDIRS=
+
+REQUIRED_SUPPORT_DIRS=
+
+# if your embedded C code requires any system includes,
+# add the path(es) here:,
+# ********** OPTIONAL: MODIFY the next lines ***
+# LOCALINCLUDES=-Ifoo -Ibar
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic
+
+
+# if you need any additional defines for embedded C code,
+# add them here:,
+# ********** OPTIONAL: MODIFY the next lines ***
+# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
+LOCALDEFINES=
+
+LIBNAME=libstx_goodies_xtreams_support
+STCLOCALOPT='-package=$(PACKAGE)' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -H.  -varPrefix=$(LIBNAME)
+
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C-libraries that should be pre-linked with the class-objects
+LD_OBJ_LIBS=
+LOCAL_SHARED_LIBS=
+
+
+# ********** OPTIONAL: MODIFY the next line ***
+# additional C targets or libraries should be added below
+LOCAL_EXTRA_TARGETS=
+
+OBJS= $(COMMON_OBJS) $(UNIX_OBJS)
+
+
+
+all:: preMake classLibRule postMake
+
+pre_objs::  update-svn-revision
+
+
+
+update-svn-revision:
+	if [ ! -r .svnversion -o "$(shell svnversion -n)" != "$(shell cat .svnversion)" ]; then \
+		svnversion -n > .svnversion; \
+		sed -i -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"'$(shell svnversion -n)'\"\$$\"/g" \
+			stx_goodies_xtreams_support.st; \
+	fi
+.PHONY: update-svn-revision
+
+
+# add more install actions here
+install::
+
+# add more install actions for aux-files (resources) here
+installAux::
+
+# add more preMake actions here
+preMake::
+
+# add more postMake actions here
+postMake:: cleanjunk
+
+prereq: $(REQUIRED_SUPPORT_DIRS)
+	cd ../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
+
+
+cleanjunk::
+
+clean::
+	-rm -f *.o *.H
+
+clobber:: clean
+	-rm -f *.so *.dll
+
+
+# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)Xtreams__Encoder.$(O) Xtreams__Encoder.$(H): Xtreams__Encoder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__RecyclingCenter.$(O) Xtreams__RecyclingCenter.$(H): Xtreams__RecyclingCenter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_xtreams_support.$(O) stx_goodies_xtreams_support.$(H): stx_goodies_xtreams_support.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Block.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(STCHDR)
+
+# ENDMAKEDEPEND --- do not remove this line
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/Make.spec	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,67 @@
+# $Header$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: stx_goodies_xtreams_support.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# This file contains specifications which are common to all platforms.
+#
+
+# Do NOT CHANGE THESE DEFINITIONS
+# (otherwise, ST/X will have a hard time to find out the packages location from its packageID,
+#  to find the source code of a class and to find the library for a package)
+MODULE=stx
+MODULE_DIR=goodies/xtreams/support
+PACKAGE=$(MODULE):$(MODULE_DIR)
+
+
+# Argument(s) to the stc compiler (stc --usage).
+#  -H.         : create header files locally
+#                (if removed, they will be created as common
+#  -Pxxx       : defines the package
+#  -Zxxx       : a prefix for variables within the classLib
+#  -Dxxx       : defines passed to to CC for inline C-code
+#  -Ixxx       : include path passed to CC for inline C-code
+#  +optspace   : optimized for space
+#  +optspace2  : optimized more for space
+#  +optspace3  : optimized even more for space
+#  +optinline  : generate inline code for some ST constructs
+#  +inlineNew  : additionally inline new
+#  +inlineMath : additionally inline some floatPnt math stuff
+#
+# ********** OPTIONAL: MODIFY the next line(s) ***
+# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
+# STCLOCALOPTIMIZATIONS=+optspace3
+STCLOCALOPTIMIZATIONS=+optspace3
+
+
+# Argument(s) to the stc compiler (stc --usage).
+#  -warn            : no warnings
+#  -warnNonStandard : no warnings about ST/X extensions
+#  -warnEOLComments : no warnings about EOL comment extension
+#  -warnPrivacy     : no warnings about privateClass extension
+#
+# ********** OPTIONAL: MODIFY the next line(s) ***
+# STCWARNINGS=-warn
+# STCWARNINGS=-warnNonStandard
+# STCWARNINGS=-warnEOLComments
+STCWARNINGS=-warnNonStandard
+
+COMMON_CLASSES= \
+	Xtreams::Encoder \
+	Xtreams::RecyclingCenter \
+	stx_goodies_xtreams_support \
+
+
+
+
+COMMON_OBJS= \
+    $(OUTDIR)Xtreams__Encoder.$(O) \
+    $(OUTDIR)Xtreams__RecyclingCenter.$(O) \
+    $(OUTDIR)stx_goodies_xtreams_support.$(O) \
+    $(OUTDIR)extensions.$(O) \
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/Makefile	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile:
+	$(TOP)/rules/stmkmf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/Xtreams__Encoder.st	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,72 @@
+"{ Package: 'stx:goodies/xtreams/support' }"
+
+"{ NameSpace: Xtreams }"
+
+Object subclass:#Encoder
+	instanceVariableNames:''
+	classVariableNames:'DialectEncoder Encoders'
+	poolDictionaries:''
+	category:'Xtreams'
+!
+
+Encoder comment:'Abstract character encoder class defines the API and maintains a registry of known encoders (Encoders). Also provides a hook to allow plugging in dialect specific encoders (DialectEncoder) as a secondary encoder resource.
+
+Shared Variables
+	DialectEncoder	<Class> optional dialect specific encoder class providing support for additional encodings
+	Encoders	<Dictionary key: Symbol value: Class> maps encoding names to encoders
+
+'
+!
+
+
+!Encoder class methodsFor:'instance creation'!
+
+for: anEncoding
+
+	anEncoding isSymbol ifFalse: [ ^anEncoding streamingAsEncoder ].
+	^Encoders at: anEncoding ifAbsent: [
+		DialectEncoder
+			ifNil: [ self error: 'Unknown encoding!!' ]
+			ifNotNil: [ :factory | factory for: anEncoding ] ]
+!
+
+streamingAsEncoder
+
+	^self new
+! !
+
+!Encoder class methodsFor:'accessing'!
+
+encoders
+
+	^Encoders ifNil: [ Encoders := IdentityDictionary new ]
+! !
+
+!Encoder methodsFor:'accessing'!
+
+backupState
+!
+
+decodeFrom: aReadStream
+
+	^self subclassResponsibility
+!
+
+encode: aCharacter on: aWriteStream
+
+	^self subclassResponsibility
+!
+
+restoreState
+!
+
+streamingAsEncoder
+
+	^self
+! !
+
+!Encoder class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id$'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/Xtreams__RecyclingCenter.st	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,124 @@
+"{ Package: 'stx:goodies/xtreams/support' }"
+
+"{ NameSpace: Xtreams }"
+
+Object subclass:#RecyclingCenter
+	instanceVariableNames:'recycled mutex'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'My Classes'
+!
+
+RecyclingCenter class instanceVariableNames:'objectspace1 fixedspace1 objectspaceN fixedspaceN cacheSize'
+
+"
+ No other class instance variables are inherited by this class.
+"
+!
+
+RecyclingCenter comment:'Instance Variables
+	recycled	<IdentityDictionary key: Class value: (Array of: SequenceableCollection)> caches fixed number of collections (3) per sequenceable collection class
+	mutex	<Semaphore>
+
+Class Instance Variables
+	objectspace1	<RecyclingCenter> old space collections size 1
+	fixedspace1	<RecyclingCenter> fixed space collections size 1
+	objectspaceN	<RecyclingCenter> old space collections of cacheSize
+	fixedspaceN	<RecyclingCenter> fixed space collection of cacheSize
+	cacheSize	<SmallInteger> default collection size
+
+'
+!
+
+
+!RecyclingCenter class methodsFor:'class initialization'!
+
+initialize
+        | cacheLimit |
+        cacheSize := DefaultBufferSize.
+        cacheLimit := 3.
+        objectspace1 := self new initialize: cacheLimit.
+        fixedspace1 := self new initialize: cacheLimit.
+        objectspaceN := self new initialize: cacheLimit.
+        fixedspaceN := self new initialize: cacheLimit
+! !
+
+!RecyclingCenter class methodsFor:'recycling'!
+
+new: anInteger class: aClass
+	anInteger == 1 ifTrue: [^objectspace1 new: anInteger class: aClass].
+	anInteger == cacheSize ifTrue: [^objectspaceN new: anInteger class: aClass].
+	^aClass withSize: anInteger
+!
+
+newInFixedSpace: anInteger class: aClass
+	anInteger == 1 ifTrue: [^fixedspace1 newInFixedSpace: anInteger class: aClass].
+	anInteger == cacheSize ifTrue: [^fixedspaceN newInFixedSpace: anInteger class: aClass].
+	^aClass newInFixedSpace: anInteger
+!
+
+recycle: aCollection
+	aCollection == nil ifTrue: [^nil].
+	aCollection isFixedArgument
+		ifTrue:
+			[aCollection size == 1 ifTrue: [fixedspace1 recycle: aCollection].
+			aCollection size == cacheSize ifTrue: [fixedspaceN recycle: aCollection]]
+		ifFalse:
+			[aCollection size == 1 ifTrue: [objectspace1 recycle: aCollection].
+			aCollection size == cacheSize ifTrue: [objectspaceN recycle: aCollection]]
+! !
+
+!RecyclingCenter methodsFor:'initialize-release'!
+
+initialize: aCacheLimit
+	mutex := Semaphore forMutualExclusion.
+	recycled := IdentityDictionary new.
+	SequenceableCollection allSubclassesDo: [:aClass | recycled at: aClass put: (Array new: aCacheLimit)].
+	recycled at: InterpretedBytes put: (Array new: aCacheLimit)
+! !
+
+!RecyclingCenter methodsFor:'recycling'!
+
+existing: aClass
+        | queue collection |
+        queue := recycled at: aClass.
+        mutex critical: [
+        1 to: queue size do: [:index |
+                collection := queue at: index.
+                collection == nil ifFalse:
+                        [queue at: index put: nil.
+                        mutex signal.
+                        ^collection]]].
+        ^nil
+!
+
+new: anInteger class: aClass
+	| collection |
+	(collection := self existing: aClass) == nil ifTrue: [collection := aClass withSize: anInteger].
+	^collection
+!
+
+newInFixedSpace: anInteger class: aClass
+	| collection |
+	(collection := self existing: aClass) == nil ifTrue: [collection := aClass newInFixedSpace: anInteger].
+	^collection
+!
+
+recycle: aCollection
+        | queue |
+        queue := recycled at: aCollection class.
+        mutex critical: [
+        1 to: queue size do: [:index |
+                (queue at: index) == nil ifTrue:
+                        [queue at: index put: aCollection.
+                        mutex signal.
+                        ^self]]]
+! !
+
+!RecyclingCenter class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id$'
+! !
+
+RecyclingCenter initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/abbrev.stc	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,3 @@
+Xtreams::Encoder Xtreams__Encoder stx:goodies/xtreams/support 'Xtreams' 0
+Xtreams::RecyclingCenter Xtreams__RecyclingCenter stx:goodies/xtreams/support 'My Classes' 5
+stx_goodies_xtreams_support stx_goodies_xtreams_support stx:goodies/xtreams/support '* Projects & Packages *' 3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/autopackage/default.apspec	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,85 @@
+# -*- shell-script -*-
+[Meta]
+ShortName: 
+SoftwareVersion: 6.2.1.1
+DisplayName: Smalltalk/X Class library
+RootName: @exept.de/expecco:$SOFTWAREVERSION
+Summary: Smalltalk/X Class library
+Maintainer: eXept Software AG
+Packager: eXept Software AG
+PackageVersion: 1
+CPUArchitectures: x86
+AutopackageTarget: 1.0
+Type: Library
+License: Commercial
+
+[Description]
+Smalltalk/X Class library
+
+[BuildPrepare]
+# If you're using autotools, the default should be enough.
+# prepareBuild will set up apbuild and run configure for you. If you
+# need to pass arguments to configure, just add them to prepareBuild:
+# prepareBuild --enable-foo --disable-bar
+#prepareBuild
+
+[BuildUnprepare]
+# If you're using prepareBuild above, there is no need to change this!
+#unprepareBuild
+
+[Globals]
+# Variables declared in this section will be available in all other sections
+export APKG_BUILD_SKIP_CONFIGURE=1
+export APKG_BUILD_SKIP_MAKE=1
+export MYPREFIX=/opt/
+
+[Prepare]
+#recommend '@autopackage.org/autopackage-gtk' 1
+
+[Imports]
+import <<EOF
+$source_dir/
+$source_dir/resources
+$source_dir/keyboard.rc
+$source_dir/display.rc
+$source_dir/../doc
+$source_dir/../testsuites/webedition
+$source_dir/../projects/libraries
+$source_dir/../reportGenerator/tools
+$source_dir/../../pdf/afm
+$source_dir/../plugin/selenium/libexept_expecco_plugin_selenium.so
+$source_dir/../externalTools
+EOF
+
+for i in $source_dir/*.so
+do
+    echo $source_dir/$(readlink $i)
+done | import
+
+[Install]
+if [ "$PREFIX" != "/usr" ]
+then
+    export MYPREFIX=$PREFIX
+fi
+
+find . -type d \( -name CVS -or -name 'not_*' \) -print | xargs rm -rf
+mkdir -p $MYPREFIX
+copyFiles expecco *.rc resources        $MYPREFIX/bin
+copyFiles *.so                          $MYPREFIX/lib
+copyFiles doc externalTools             $MYPREFIX/packages/exept/expecco
+copyFiles webedition/projects libraries $MYPREFIX/testsuites
+copyFiles tools                         $MYPREFIX/packages/exept/expecco/reportGenerator
+copyFiles afm                           $MYPREFIX/packages/exept/pdf
+copyFiles libexept_expecco_plugin_selenium.so   $MYPREFIX/plugin
+
+#installExe expecco
+#installLib *.so
+#installData resources
+#installData keyboard.rc
+#installData doc
+
+[Uninstall]
+# Leaving this at the default is safe unless you use custom commands in
+# "Install" to create files. All autopackage API functions
+# that installs files are logged.
+uninstallFromLog
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/bc.mak	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,59 @@
+# $Header$
+#
+# DO NOT EDIT
+# automagically generated from the projectDefinition: stx_goodies_xtreams_support.
+#
+# Warning: once you modify this file, do not rerun
+# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
+#
+# This file contains make rules for the win32 platform (using borland-bcc).
+# It shares common definitions with the unix-make in Make.spec.
+# The nt.mak supports the following targets:
+#    bmake         - compile all st-files to a classLib (dll)
+#    bmake clean   - clean all temp files
+#    bmake clobber - clean all
+#
+#
+TOP=..\..\..
+INCLUDE_TOP=$(TOP)\..
+
+
+
+!INCLUDE $(TOP)\rules\stdHeader_bc
+
+!INCLUDE Make.spec
+
+LIBNAME=libstx_goodies_xtreams_support
+RESFILES=support.res
+
+
+
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
+LOCALDEFINES=
+
+STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -H. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
+LOCALLIBS=
+
+OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
+
+ALL::  classLibRule
+
+classLibRule: $(OUTDIR) $(OUTDIR)$(LIBNAME).dll
+
+!INCLUDE $(TOP)\rules\stdRules_bc
+
+# build all prerequisite packages for this package
+prereq:
+	pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+
+
+
+
+# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)Xtreams__Encoder.$(O) Xtreams__Encoder.$(H): Xtreams__Encoder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Xtreams__RecyclingCenter.$(O) Xtreams__RecyclingCenter.$(H): Xtreams__RecyclingCenter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_xtreams_support.$(O) stx_goodies_xtreams_support.$(H): stx_goodies_xtreams_support.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(STCHDR)
+
+# ENDMAKEDEPEND --- do not remove this line
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/bmake.bat	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using borland bcc
+@REM type bmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak %1 %2
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/extensions.st	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,50 @@
+"{ Package: 'stx:goodies/xtreams/support' }"
+
+!
+
+!Block methodsFor:'converting'!
+
+cull: value
+
+    ^self numArgs = 1 ifTrue: [ self value: value ] ifFalse: [ self value ]
+! !
+!Object methodsFor:'private'!
+
+isFixedArgument
+
+    ^false
+! !
+!SequenceableCollection methodsFor:'xtreams'!
+
+copyGrownToAtLeast: newSize
+
+    |newCollection|
+
+    newCollection := self class new: newSize.
+    newCollection replaceFrom: 1 to: self size with: self startingAt: 1.
+    ^newCollection
+! !
+!SequenceableCollection methodsFor:'xtreams'!
+
+recycle
+
+    Xtreams::RecyclingCenter recycle: self
+! !
+!SequenceableCollection class methodsFor:'xtreams'!
+
+newRecycled: size
+
+    ^Xtreams::RecyclingCenter new: size class: self
+! !
+!SequenceableCollection class methodsFor:'xtreams'!
+
+newRecycledAtLeast: size
+
+    ^self newRecycled: (size max: DefaultBufferSize)
+! !
+!SequenceableCollection class methodsFor:'xtreams'!
+
+newRecycledDefaultSize
+
+    ^self newRecycled: DefaultBufferSize
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/lcmake.bat	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using lcc compiler
+@REM type lcmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak USELCC=1 %1 %2
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/libInit.cc	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,36 @@
+/*
+ * $Header$
+ *
+ * DO NOT EDIT
+ * automagically generated from the projectDefinition: stx_goodies_xtreams_support.
+ */
+#define __INDIRECTVMINITCALLS__
+#include <stc.h>
+
+#ifdef WIN32
+# pragma codeseg INITCODE "INITCODE"
+#endif
+
+#if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
+DLL_EXPORT void _libstx_goodies_xtreams_support_Init() INIT_TEXT_SECTION;
+// DLL_EXPORT void _libstx_goodies_xtreams_support_InitDefinition() INIT_TEXT_SECTION;
+#endif
+
+// void _libstx_goodies_xtreams_support_InitDefinition(pass, __pRT__, snd)
+// OBJ snd; struct __vmData__ *__pRT__; {
+// __BEGIN_PACKAGE2__("libstx_goodies_xtreams_support__DFN", _libstx_goodies_xtreams_support_InitDefinition, "stx:goodies/xtreams/support");
+// _stx_137goodies_137xtreams_137support_Init(pass,__pRT__,snd);
+
+// __END_PACKAGE__();
+// }
+
+void _libstx_goodies_xtreams_support_Init(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libstx_goodies_xtreams_support", _libstx_goodies_xtreams_support_Init, "stx:goodies/xtreams/support");
+_Xtreams__Encoder_Init(pass,__pRT__,snd);
+_Xtreams__RecyclingCenter_Init(pass,__pRT__,snd);
+_stx_137goodies_137xtreams_137support_Init(pass,__pRT__,snd);
+
+_stx_137goodies_137xtreams_137support_extensions_Init(pass,__pRT__,snd);
+__END_PACKAGE__();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/stx_goodies_xtreams_support.st	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,119 @@
+"{ Package: 'stx:goodies/xtreams/support' }"
+
+LibraryDefinition subclass:#stx_goodies_xtreams_support
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'* Projects & Packages *'
+!
+
+
+!stx_goodies_xtreams_support class methodsFor:'description'!
+
+excludedFromPreRequisites
+    "list all packages which should be ignored in the automatic
+     preRequisites scan. See #preRequisites for more."
+
+    ^ #(
+    )
+!
+
+preRequisites
+    "list all required packages.
+     This list can be maintained manually or (better) generated and
+     updated by scanning the superclass hierarchies and looking for
+     global variable accesses. (the browser has a menu function for that)
+     Howevery, often too much is found, and you may want to explicitely
+     exclude individual packages in the #excludedFromPrerequisites method."
+
+    ^ #(
+        #'stx:libbasic'    "Object - superclass of Xtreams::RecyclingCenter "
+    )
+! !
+
+!stx_goodies_xtreams_support 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"
+        #'Xtreams::Encoder'
+        #'Xtreams::RecyclingCenter'
+        #'stx_goodies_xtreams_support'
+    )
+!
+
+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."
+
+    ^ #(
+        Block cull:
+        Object isFixedArgument
+        SequenceableCollection copyGrownToAtLeast:
+        SequenceableCollection recycle
+        'SequenceableCollection class' newRecycled:
+        'SequenceableCollection class' newRecycledAtLeast:
+        'SequenceableCollection class' newRecycledDefaultSize
+    )
+! !
+
+!stx_goodies_xtreams_support class methodsFor:'description - project information'!
+
+applicationIconFileName
+    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"
+
+    ^ nil
+    "/ ^ self applicationName
+!
+
+companyName
+    "Return a companyname which will appear in <lib>.rc"
+
+    ^ 'eXept Software AG'
+!
+
+description
+    "Return a description string which will appear in vc.def / bc.def"
+
+    ^ 'Smalltalk/X Class library'
+!
+
+legalCopyright
+    "Return a copyright string which will appear in <lib>.rc"
+
+    ^ 'Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011'
+!
+
+productName
+    "Return a product name which will appear in <lib>.rc"
+
+    ^ 'Smalltalk/X'
+! !
+
+!stx_goodies_xtreams_support class methodsFor:'description - svn'!
+
+svnRepositoryUrlString
+    "Return a SVN repository URL of myself.
+     (Generated since 2011-04-08)
+    "        
+
+    ^ '$URL$'
+!
+
+svnRevisionNr
+    "Return a SVN revision number of myself.
+     This number is updated after a commit"
+
+    ^ "$SVN-Revision:"'nil'"$"
+! !
+
+!stx_goodies_xtreams_support class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id$'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/support.rc	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,35 @@
+//
+// DO NOT EDIT
+// automagically generated from the projectDefinition: stx_goodies_xtreams_support.
+//
+VS_VERSION_INFO VERSIONINFO
+  FILEVERSION     6,2,0,1
+  PRODUCTVERSION  6,2,1,1
+  FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
+  FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
+  FILEOS          VOS_NT_WINDOWS32
+  FILETYPE        VFT_DLL
+  FILESUBTYPE     VS_USER_DEFINED
+
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904E4"
+    BEGIN
+      VALUE "CompanyName", "eXept Software AG\0"
+      VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
+      VALUE "FileVersion", "6.2.0.1\0"
+      VALUE "InternalName", "stx:goodies/xtreams/support\0"
+      VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
+      VALUE "ProductName", "Smalltalk/X\0"
+      VALUE "ProductVersion", "6.2.1.1\0"
+      VALUE "ProductDate", "Mon, 22 Aug 2011 15:51:50 GMT\0"
+    END
+
+  END
+
+  BLOCK "VarFileInfo"
+  BEGIN                               //  Language   |    Translation
+    VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
+  END
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/vcmake.bat	Mon Aug 22 15:51:21 2011 +0000
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using microsoft visual c
+@REM type vcmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak -DUSEVC %1 %2
+
+