Browse Source

+ Added streamcoll

git-svn-id: trunk@5026 -
michael 19 years ago
parent
commit
c32ba4f211
4 changed files with 460 additions and 101 deletions
  1. 1 0
      .gitattributes
  2. 99 99
      fcl/Makefile
  3. 2 2
      fcl/Makefile.fpc
  4. 358 0
      fcl/inc/streamcoll.pp

+ 1 - 0
.gitattributes

@@ -891,6 +891,7 @@ fcl/inc/rtfpars.pp svneol=native#text/plain
 fcl/inc/rttiutils.pp svneol=native#text/plain
 fcl/inc/simpleipc.pp svneol=native#text/plain
 fcl/inc/ssockets.pp svneol=native#text/plain
+fcl/inc/streamcoll.pp svneol=native#text/plain
 fcl/inc/streamex.pp svneol=native#text/plain
 fcl/inc/streamio.pp svneol=native#text/plain
 fcl/inc/syncob.inc svneol=native#text/plain

+ 99 - 99
fcl/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/10/17]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/08/20]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince arm-gba powerpc64-linux
@@ -356,250 +356,250 @@ ifeq ($(FULL_TARGET),powerpc64-linux)
 override TARGET_DIRS+=xml image db shedit passrc net fpcunit web
 endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  resolve ssockets
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  resolve ssockets
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  resolve ssockets
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  resolve ssockets
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  resolve ssockets
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  resolve ssockets
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  resolve ssockets syncobjs
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  resolve ssockets syncobjs
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process fileinfo resolve ssockets syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
+override TARGET_UNITS+=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext iostream zstream cachecls avl_tree htmldefs xmlreg registry eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream streamex blowfish zipper streamio inicol pooledmm libtar streamcoll  process resolve ssockets fpasync syncobjs simpleipc dbugmsg dbugintf
 endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+override TARGET_RSTS+=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_EXAMPLEDIRS+=tests
@@ -2011,8 +2011,8 @@ ifeq ($(FULL_TARGET),i386-go32v2)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 REQUIRE_PACKAGES_RTL=1
@@ -2053,8 +2053,8 @@ ifeq ($(FULL_TARGET),i386-beos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 REQUIRE_PACKAGES_RTL=1
@@ -2083,15 +2083,15 @@ ifeq ($(FULL_TARGET),i386-qnx)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 REQUIRE_PACKAGES_RTL=1
@@ -2111,8 +2111,8 @@ ifeq ($(FULL_TARGET),i386-wdosx)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 REQUIRE_PACKAGES_RTL=1
@@ -2140,15 +2140,15 @@ ifeq ($(FULL_TARGET),i386-watcom)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 REQUIRE_PACKAGES_RTL=1
@@ -2208,15 +2208,15 @@ ifeq ($(FULL_TARGET),m68k-amiga)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
 REQUIRE_PACKAGES_RTL=1
@@ -2236,8 +2236,8 @@ ifeq ($(FULL_TARGET),m68k-palmos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 REQUIRE_PACKAGES_RTL=1
@@ -2272,15 +2272,15 @@ ifeq ($(FULL_TARGET),powerpc-amiga)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 REQUIRE_PACKAGES_RTL=1
@@ -2301,8 +2301,8 @@ ifeq ($(FULL_TARGET),powerpc-morphos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
 REQUIRE_PACKAGES_RTL=1
@@ -2398,8 +2398,8 @@ ifeq ($(FULL_TARGET),arm-palmos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 REQUIRE_PACKAGES_RTL=1
@@ -2415,8 +2415,8 @@ ifeq ($(FULL_TARGET),arm-gba)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_HASH=1
 REQUIRE_PACKAGES_PASZLIB=1
-REQUIRE_PACKAGES_PASJPEG=1
 REQUIRE_PACKAGES_NETDB=1
+REQUIRE_PACKAGES_PASJPEG=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 REQUIRE_PACKAGES_RTL=1
@@ -2822,7 +2822,7 @@ ifeq ($(CPU_TARGET),powerpc)
 FPCCPUOPT:=-O1r
 endif
 else
-FPCCPUOPT:=-O2
+FPCCPUOPT:=-O1r
 endif
 override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
 override FPCOPTDEF+=RELEASE

+ 2 - 2
fcl/Makefile.fpc

@@ -29,7 +29,7 @@ dirs=xml image db shedit passrc net fpcunit web
 units=contnrs inifiles ezcgi pipes rtfpars idea base64 gettext \
       iostream zstream cachecls avl_tree htmldefs xmlreg registry \
       eventlog custapp cgiapp wformat whtml wtex rttiutils bufstream \
-      streamex blowfish zipper streamio inicol pooledmm libtar
+      streamex blowfish zipper streamio inicol pooledmm libtar streamcoll
 units_freebsd=process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 units_darwin=process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
 units_solaris=process ssockets resolve fpasync syncobjs simpleipc dbugmsg dbugintf
@@ -43,7 +43,7 @@ units_os2=resolve ssockets
 units_emx=resolve ssockets
 units_netware=resolve ssockets
 units_netwlibc=resolve ssockets syncobjs
-rsts=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc
+rsts=ssockets cachecls resolve custapp cgiapp eventlog registry simpleipc streamcoll inicol
 exampledirs=tests
 
 [compiler]

+ 358 - 0
fcl/inc/streamcoll.pp

@@ -0,0 +1,358 @@
+{
+    This file is part of the Free Component Library (FCL)
+    Copyright (c) 1999-2000 by the Free Pascal development team
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+{$mode objfpc}
+{$h+}
+unit streamcoll;
+
+interface
+
+uses
+  Classes,SysUtils;
+
+type
+  TStreamCollectionItem = Class(TCollectionItem)
+  Protected
+    Procedure WriteInteger(S : TStream; AValue : Integer);
+    Procedure WriteBoolean(S : TStream; AValue : Boolean);
+    Procedure WriteString(S : TStream; AValue : String);
+    Procedure WriteCurrency(S : TStream; AValue : Currency);
+    Procedure WriteDateTime(S : TStream; AValue : TDateTime);
+    Procedure WriteFloat(S : TStream; AValue : Double);
+    Function ReadInteger(S : TStream) : Integer;
+    Function ReadBoolean(S : TStream) : Boolean;
+    Function ReadString(S : TStream) : String;
+    Function ReadCurrency(S : TStream) : Currency;
+    Function ReadDateTime(S : TStream) : TDateTime;
+    Function ReadFloat(S : TStream) : Double;
+    Procedure LoadFromStream(S : TStream; Streamversion : Integer); virtual; abstract;
+    Procedure SaveToStream(S : TStream); virtual; abstract;
+  end;
+
+  TStreamCollection = Class(TCollection)
+  Private
+    FStreaming : Boolean;
+  Protected
+    Procedure WriteInteger(S : TStream; AValue : Integer);
+    Procedure WriteBoolean(S : TStream; AValue : Boolean);
+    Procedure WriteString(S : TStream; AValue : String);
+    Procedure WriteCurrency(S : TStream; AValue : Currency);
+    Procedure WriteDateTime(S : TStream; AValue : TDateTime);
+    Procedure WriteFloat(S : TStream; AValue : Double);
+    Function ReadInteger(S : TStream) : Integer;
+    Function ReadBoolean(S : TStream) : Boolean;
+    Function ReadString(S : TStream) : String;
+    Function ReadCurrency(S : TStream) : Currency;
+    Function ReadDateTime(S : TStream) : TDateTime;
+    Function ReadFloat(S : TStream) : Double;
+    Procedure DoSaveToStream(S : TStream); virtual;
+    Function CurrentStreamVersion : Integer; Virtual;
+    Procedure DoLoadFromStream(S : TStream; Streamversion : Integer); virtual;
+  Public
+    Procedure LoadFromStream(S : TStream);
+    Procedure SaveToStream(S : TStream);
+    Property Streaming : Boolean Read FStreaming;
+  end;
+
+
+  EStreamColl = Class(Exception);
+
+Procedure ColWriteInteger(S : TStream; AValue : Integer);
+Procedure ColWriteBoolean(S : TStream; AValue : Boolean);
+Procedure ColWriteString(S : TStream; AValue : String);
+Procedure ColWriteCurrency(S : TStream; AValue : Currency);
+Procedure ColWriteDateTime(S : TStream; AValue : TDateTime);
+Procedure ColWriteFloat(S : TStream; AValue : Double);
+Function ColReadInteger(S : TStream) : Integer;
+Function ColReadBoolean(S : TStream) : Boolean;
+Function ColReadString(S : TStream) : String;
+Function ColReadCurrency(S : TStream) : Currency;
+Function ColReadDateTime(S : TStream) : TDateTime;
+Function ColReadFloat(S : TStream) : Double;
+
+implementation
+
+Resourcestring
+  SErrIllegalStreamVersion = 'Illegal stream version: %d > %d.';
+
+Procedure ColWriteInteger(S : TStream; AValue : Integer);
+
+begin
+  S.WriteBuffer(AValue,SizeOf(Integer));
+end;
+
+Procedure ColWriteBoolean(S : TStream; AValue : Boolean);
+
+begin
+  ColWriteInteger(S,Ord(AValue));
+end;
+
+Procedure ColWriteString(S : TStream; AValue : String);
+
+Var
+  L : Integer;
+
+begin
+  L:=Length(AValue);
+  ColWriteInteger(S,L);
+  If (L>0) then
+    S.WriteBuffer(AValue[1],L);
+end;
+
+Procedure ColWriteCurrency(S : TStream; AValue : Currency);
+
+begin
+  S.WriteBuffer(AValue,SizeOf(Currency));
+end;
+
+Procedure ColWriteDateTime(S : TStream; AValue : TDateTime);
+
+begin
+  S.WriteBuffer(AValue,SizeOf(TDateTime));
+end;
+
+Procedure ColWriteFloat(S : TStream; AValue : Double);
+
+begin
+  S.WriteBuffer(AValue,SizeOf(Double));
+end;
+
+Function ColReadInteger(S : TStream) : Integer;
+
+begin
+  S.ReadBuffer(Result,SizeOf(Integer));
+end;
+
+Function ColReadBoolean(S : TStream) : Boolean;
+
+Var
+  I : Integer;
+
+begin
+  S.ReadBuffer(I,SizeOf(Integer));
+  Result:=(I<>0);
+end;
+
+Function ColReadString(S : TStream) : String;
+
+Var
+  L : Integer;
+
+begin
+  L:=ColReadInteger(S);
+  SetLength(Result,L);
+  If (L>0) then
+    S.ReadBuffer(Result[1],L);
+end;
+
+Function ColReadCurrency(S : TStream) : Currency;
+
+begin
+  S.ReadBuffer(Result,SizeOf(Currency));
+end;
+
+Function ColReadDateTime(S : TStream) : TDateTime;
+
+begin
+  S.ReadBuffer(Result,SizeOf(TDateTime));
+end;
+
+Function ColReadFloat(S : TStream) : Double;
+
+begin
+  S.ReadBuffer(Result,SizeOf(Double));
+end;
+
+{ TStreamCollectionItem }
+
+function TStreamCollectionItem.ReadBoolean(S: TStream): Boolean;
+begin
+  Result:=ColReadBoolean(S);
+end;
+
+function TStreamCollectionItem.ReadCurrency(S: TStream): Currency;
+begin
+  Result:=ColReadCurrency(S);
+end;
+
+function TStreamCollectionItem.ReadDateTime(S: TStream): TDateTime;
+begin
+  Result:=ColReadDateTime(S);
+end;
+
+function TStreamCollectionItem.ReadFloat(S: TStream): Double;
+begin
+  Result:=ColReadFloat(S);
+end;
+
+function TStreamCollectionItem.ReadInteger(S: TStream): Integer;
+begin
+  Result:=ColReadinteger(S);
+end;
+
+function TStreamCollectionItem.ReadString(S: TStream): String;
+begin
+  Result:=ColReadString(S);
+end;
+
+procedure TStreamCollectionItem.WriteBoolean(S: TStream; AValue: Boolean);
+begin
+  ColWriteBoolean(S,AValue);
+end;
+
+procedure TStreamCollectionItem.WriteCurrency(S: TStream;
+  AValue: Currency);
+begin
+  ColWriteCurrency(S,AValue);
+end;
+
+procedure TStreamCollectionItem.WriteDateTime(S: TStream;
+  AValue: TDateTime);
+begin
+  ColWriteDateTime(S,AValue);
+end;
+
+procedure TStreamCollectionItem.WriteFloat(S: TStream; AValue: Double);
+begin
+  ColWriteFloat(S,AValue);
+end;
+
+procedure TStreamCollectionItem.WriteInteger(S: TStream; AValue: Integer);
+begin
+  ColWriteInteger(S,AValue);
+end;
+
+procedure TStreamCollectionItem.WriteString(S: TStream; AValue: String);
+begin
+  ColWriteString(S,AValue);
+end;
+
+{ TStreamCollection }
+
+function TStreamCollection.CurrentStreamVersion: Integer;
+begin
+  Result:=0;
+end;
+
+procedure TStreamCollection.DoLoadFromStream(S: TStream;
+  Streamversion: Integer);
+begin
+  If (Streamversion>CurrentStreamVersion) then
+    Raise EStreamColl.CreateFmt(SErrIllegalStreamVersion,[Streamversion,CurrentStreamVersion]);
+end;
+
+procedure TStreamCollection.DoSaveToStream(S: TStream);
+begin
+  // Do nothing.
+end;
+
+procedure TStreamCollection.LoadFromStream(S: TStream);
+
+Var
+  I,V,C : Integer;
+
+begin
+  FStreaming:=True;
+  Try
+    V:=ReadInteger(S);
+    DoLoadFromStream(S,V);
+    Clear;
+    C:=ReadInteger(S);
+    For I:=1 to C do
+      With Add as TStreamCollectionItem do
+        LoadFromStream(S,V);
+  Finally
+    FStreaming:=False;
+  end;
+end;
+
+function TStreamCollection.ReadBoolean(S: TStream): Boolean;
+begin
+  Result:=ColReadBoolean(S);
+end;
+
+function TStreamCollection.ReadCurrency(S: TStream): Currency;
+begin
+  Result:=ColReadCurrency(S);
+end;
+
+function TStreamCollection.ReadDateTime(S: TStream): TDateTime;
+begin
+  Result:=ColReadDateTime(S);
+end;
+
+function TStreamCollection.ReadFloat(S: TStream): Double;
+begin
+  Result:=ColReadFloat(S);
+end;
+
+function TStreamCollection.ReadInteger(S: TStream): Integer;
+begin
+  Result:=ColReadInteger(S);
+end;
+
+function TStreamCollection.ReadString(S: TStream): String;
+begin
+  Result:=ColReadString(S);
+end;
+
+procedure TStreamCollection.SaveToStream(S: TStream);
+
+Var
+  I : Integer;
+
+begin
+  FStreaming:=True;
+  Try
+    WriteInteger(S,CurrentStreamVersion);
+    DoSaveToStream(S);
+    WriteInteger(S,Count);
+    For I:=0 to Count-1 do
+      With TStreamCollectionItem(Items[i]) do
+        SaveToStream(S);
+  Finally
+    FStreaming:=False;
+  end;
+end;
+
+procedure TStreamCollection.WriteBoolean(S: TStream; AValue: Boolean);
+begin
+  ColWriteBoolean(S,AValue);
+end;
+
+procedure TStreamCollection.WriteCurrency(S: TStream; AValue: Currency);
+begin
+  ColWriteCurrency(S,AValue);
+end;
+
+procedure TStreamCollection.WriteDateTime(S: TStream; AValue: TDateTime);
+begin
+  ColWriteDateTime(S,AValue);
+end;
+
+procedure TStreamCollection.WriteFloat(S: TStream; AValue: Double);
+begin
+  ColWriteFloat(S,AValue);
+end;
+
+procedure TStreamCollection.WriteInteger(S: TStream; AValue: Integer);
+begin
+  ColWriteInteger(S,AValue);
+end;
+
+procedure TStreamCollection.WriteString(S: TStream; AValue: String);
+begin
+  ColWriteString(S,AValue);
+end;
+
+
+end.