* remove obsolete 2.0.x files

git-svn-id: trunk@9255 -
This commit is contained in:
peter 2007-11-14 23:08:56 +00:00
parent dc33a9bc87
commit f3e3ca1086
8 changed files with 139 additions and 5201 deletions

5
.gitattributes vendored
View File

@ -8866,11 +8866,6 @@ utils/fpmc/test.mc -text
utils/fppkg/Makefile svneol=native#text/plain
utils/fppkg/Makefile.fpc svneol=native#text/plain
utils/fppkg/README svneol=native#text/plain
utils/fppkg/fcl20/contnrs.pp svneol=native#text/plain
utils/fppkg/fcl20/streamcoll.pp svneol=native#text/plain
utils/fppkg/fcl20/uriparser.pp svneol=native#text/plain
utils/fppkg/fcl20/zipper.pp svneol=native#text/plain
utils/fppkg/fcl20/zstream.pp svneol=native#text/plain
utils/fppkg/fpmkunitsrc.inc svneol=native#text/plain
utils/fppkg/fppkg.lpi svneol=native#text/plain
utils/fppkg/fppkg.pp svneol=native#text/plain

View File

@ -1,5 +1,5 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/08]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/13]
#
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 i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
@ -242,12 +242,6 @@ endif
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
override PACKAGE_NAME=fppkg
override PACKAGE_VERSION=2.0.0
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
FCL20=fcl20
FCL20UNITS=zstream contnrs streamcoll zipper
else
PKGCURL=pkglibcurl
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_PROGRAMS+=fppkg
endif
@ -408,85 +402,85 @@ ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_PROGRAMS+=fppkg
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_UNITS+=pkgwget pkglnet
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_UNITS+=pkgwget pkglnet
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_UNITS+=pkgwget pkglnet
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_UNITS+=pkgwget pkglnet
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override TARGET_UNITS+=pkgwget pkglnet $(PKGCURL)
override TARGET_UNITS+=pkgwget pkglnet pkgcurl
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_IMPLICITUNITS+=fprepos fpxmlrep pkgoptions pkgglobals pkgmessages pkghandler pkgmkconv pkgdownload pkgfpmake pkgcommands
@ -966,163 +960,163 @@ ifeq ($(FULL_TARGET),powerpc64-embedded)
override TARGET_EXAMPLES+=rep2xml
endif
ifeq ($(FULL_TARGET),i386-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-win32)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-os2)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-beos)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-solaris)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-qnx)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-netware)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-darwin)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-emx)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-watcom)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-wince)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),i386-symbian)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-atari)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),sparc-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-palmos)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-wince)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-gba)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-nds)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),arm-symbian)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override CLEAN_UNITS+=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
override CLEAN_UNITS+=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
endif
override INSTALL_FPCPACKAGE=y
ifeq ($(FULL_TARGET),i386-linux)
@ -1285,163 +1279,163 @@ ifeq ($(FULL_TARGET),powerpc64-embedded)
override COMPILER_INCLUDEDIR+=lnet/sys
endif
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-win32)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-os2)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-beos)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-solaris)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-qnx)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-netware)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-watcom)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-wince)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),i386-symbian)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-atari)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),m68k-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),sparc-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-gba)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-nds)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),arm-symbian)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
override COMPILER_UNITDIR+=$(FCL20) lnet
override COMPILER_UNITDIR+=lnet
endif
ifdef REQUIRE_UNITSDIR
override UNITSDIR+=$(REQUIRE_UNITSDIR)

View File

@ -9,13 +9,13 @@ version=2.0.0
[target]
programs=fppkg
implicitunits=fprepos fpxmlrep pkgoptions pkgglobals pkgmessages pkghandler pkgmkconv pkgdownload pkgfpmake pkgcommands
units_linux=pkgwget pkglnet $(PKGCURL)
units_beos=pkgwget pkglnet $(PKGCURL)
units_freebsd=pkgwget pkglnet $(PKGCURL)
units_netbsd=pkgwget pkglnet $(PKGCURL)
units_openbsd=pkgwget pkglnet $(PKGCURL)
units_darwin=pkgwget pkglnet $(PKGCURL)
units_solaris=pkgwget pkglnet $(PKGCURL)
units_linux=pkgwget pkglnet pkgcurl
units_beos=pkgwget pkglnet pkgcurl
units_freebsd=pkgwget pkglnet pkgcurl
units_netbsd=pkgwget pkglnet pkgcurl
units_openbsd=pkgwget pkglnet pkgcurl
units_darwin=pkgwget pkglnet pkgcurl
units_solaris=pkgwget pkglnet pkgcurl
units_win32=pkgwget pkglnet
units_win64=pkgwget pkglnet
units_wince=pkgwget pkglnet
@ -23,11 +23,11 @@ examples=rep2xml
rsts=fprepos fpxmlrep pkgmessages
[compiler]
unitdir=$(FCL20) lnet
unitdir=lnet
includedir=lnet/sys
[clean]
units=$(FCL20UNITS) lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
units=lCommon lControlStack lEvents lTelnet lftp lhttp lhttputil lnet lstrbuffer
[install]
fpcpackage=y
@ -39,15 +39,6 @@ fpcdir=../..
packages=fcl-base fcl-xml fcl-process paszlib libcurl
tools=data2inc
[prerules]
# Compatibility to compile with 2.0.x
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
FCL20=fcl20
FCL20UNITS=zstream contnrs streamcoll zipper
else
PKGCURL=pkglibcurl
endif
[rules]
.NOTPARALLEL:
ifneq ($(DATA2INC),)

File diff suppressed because it is too large Load Diff

View File

@ -1,363 +0,0 @@
{
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.
**********************************************************************}
{$ifndef ver2_0}
{$fatal This unit is only for compiling with 2.0.x, use the streamcoll from the FCL}
{$endif}
{$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.

View File

@ -1,425 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2003 by the Free Pascal development team
Original author: Sebastian Guenther
Unit to parse complete URI in its parts or to reassemble an URI
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.
**********************************************************************}
{$IFDEF FPC}
{$MODE objfpc}
{$H+}
{$ENDIF}
unit URIParser;
interface
type
TURI = record
Protocol: String;
Username: String;
Password: String;
Host: String;
Port: Word;
Path: String;
Document: String;
Params: String;
Bookmark: String;
HasAuthority: Boolean;
end;
function EncodeURI(const URI: TURI): String;
function ParseURI(const URI: String): TURI; overload;
function ParseURI(const URI, DefaultProtocol: String; DefaultPort: Word): TURI; overload;
function ResolveRelativeURI(const BaseUri, RelUri: WideString;
out ResultUri: WideString): Boolean; overload;
function ResolveRelativeURI(const BaseUri, RelUri: UTF8String;
out ResultUri: UTF8String): Boolean; overload;
function URIToFilename(const URI: string; out Filename: string): Boolean;
function FilenameToURI(const Filename: string): string;
function IsAbsoluteURI(const UriReference: string): Boolean;
implementation
uses SysUtils;
const
GenDelims = [':', '/', '?', '#', '[', ']', '@'];
SubDelims = ['!', '$', '&', '''', '(', ')', '*', '+', ',', ';', '='];
ALPHA = ['A'..'Z', 'a'..'z'];
DIGIT = ['0'..'9'];
Unreserved = ALPHA + DIGIT + ['-', '.', '_', '~'];
ValidPathChars = Unreserved + SubDelims + ['@', ':', '/'];
function Escape(const s: String; const Allowed: TSysCharSet): String;
var
i: Integer;
begin
SetLength(Result, 0);
for i := 1 to Length(s) do
if not (s[i] in Allowed) then
Result := Result + '%' + IntToHex(ord(s[i]), 2)
else
Result := Result + s[i];
end;
function EncodeURI(const URI: TURI): String;
// ! if no scheme then first colon in path should be escaped
begin
SetLength(Result, 0);
if Length(URI.Protocol) > 0 then
Result := LowerCase(URI.Protocol) + ':';
if URI.HasAuthority then
begin
Result := Result + '//';
if Length(URI.Username) > 0 then
begin
Result := Result + URI.Username;
if Length(URI.Password) > 0 then
Result := Result + ':' + URI.Password;
Result := Result + '@';
end;
Result := Result + URI.Host;
end;
if URI.Port <> 0 then
Result := Result + ':' + IntToStr(URI.Port);
Result := Result + Escape(URI.Path, ValidPathChars);
if Length(URI.Document) > 0 then
begin
if (Length(URI.Path) > 0) and ((Length(Result) = 0) or (Result[Length(Result)] <> '/')) then
Result := Result + '/';
Result := Result + Escape(URI.Document, ValidPathChars);
end;
if Length(URI.Params) > 0 then
Result := Result + '?' + Escape(URI.Params, ValidPathChars);
if Length(URI.Bookmark) > 0 then
Result := Result + '#' + Escape(URI.Bookmark, ValidPathChars);
end;
function ParseURI(const URI: String): TURI;
begin
Result := ParseURI(URI, '', 0);
end;
function HexValue(c: Char): Integer;
begin
case c of
'0'..'9': Result := ord(c) - ord('0');
'A'..'F': Result := ord(c) - (ord('A') - 10);
'a'..'f': Result := ord(c) - (ord('a') - 10);
else
Result := 0;
end;
end;
function Unescape(const s: String): String;
var
i, RealLength: Integer;
begin
SetLength(Result, Length(s));
i := 1;
RealLength := 0;
while i <= Length(s) do
begin
Inc(RealLength);
if s[i] = '%' then
begin
Result[RealLength] := Chr(HexValue(s[i + 1]) shl 4 or HexValue(s[i + 2]));
Inc(i, 3);
end else
begin
Result[RealLength] := s[i];
Inc(i);
end;
end;
SetLength(Result, RealLength);
end;
function ParseURI(const URI, DefaultProtocol: String; DefaultPort: Word): TURI;
var
s, Authority: String;
i: Integer;
begin
Result.Protocol := LowerCase(DefaultProtocol);
Result.Port := DefaultPort;
s := URI;
// Extract scheme
for i := 1 to Length(s) do
if s[i] = ':' then
begin
Result.Protocol := Copy(s, 1, i - 1);
s := Copy(s, i + 1, MaxInt);
break;
end
else
if not (((i=1) and (s[i] in ALPHA)) or (s[i] in ALPHA + DIGIT + ['+', '-', '.'])) then
break;
// Extract the bookmark
i := LastDelimiter('#', s);
if i > 0 then
begin
Result.Bookmark := Unescape(Copy(s, i + 1, MaxInt));
s := Copy(s, 1, i - 1);
end;
// Extract the params
i := LastDelimiter('?', s);
if i > 0 then
begin
Result.Params := Unescape(Copy(s, i + 1, MaxInt));
s := Copy(s, 1, i - 1);
end;
// extract authority
if (Length(s) > 1) and (s[1] = '/') and (s[2] = '/') then
begin
i := 3;
while (i <= Length(s)) and (s[i] <> '/') do
Inc(i);
Authority := Copy(s, 3, i-3);
s := Copy(s, i, MaxInt);
Result.HasAuthority := True; // even if Authority is empty
end
else
begin
Result.HasAuthority := False;
Authority := '';
end;
// now s is 'hier-part' per RFC3986
// Extract the document name (nasty...)
for i := Length(s) downto 1 do
if s[i] = '/' then
begin
Result.Document := Unescape(Copy(s, i + 1, Length(s)));
if (Result.Document <> '.') and (Result.Document <> '..') then
s := Copy(s, 1, i)
else
Result.Document := '';
break;
end else if s[i] = ':' then
break
else if i = 1 then
begin
Result.Document := Unescape(s);
if (Result.Document <> '.') and (Result.Document <> '..') then
s := ''
else
Result.Document := '';
// break - not needed, last iteration
end;
// Everything left is a path
Result.Path := Unescape(s);
// Extract the port number
i := LastDelimiter(':@', Authority);
if (i > 0) and (Authority[i] = ':') then
begin
Result.Port := StrToInt(Copy(Authority, i + 1, MaxInt));
Authority := Copy(Authority, 1, i - 1);
end;
// Extract the hostname
i := Pos('@', Authority);
if i > 0 then
begin
Result.Host := Copy(Authority, i+1, MaxInt);
Delete(Authority, i, MaxInt);
// Extract username and password
if Length(Authority) > 0 then
begin
i := Pos(':', Authority);
if i = 0 then
Result.Username := Authority
else
begin
Result.Username := Copy(Authority, 1, i - 1);
Result.Password := Copy(Authority, i + 1, MaxInt);
end;
end;
end
else
Result.Host := Authority;
end;
procedure RemoveDotSegments(var s: string);
var
Cur, Prev: Integer;
begin
Prev := Pos('/', s);
while (Prev > 0) and (Prev < Length(s)) do
begin
Cur := Prev+1;
while (Cur <= Length(s)) and (s[Cur] <> '/') do
Inc(Cur);
if (Cur - Prev = 2) and (s[Prev+1] = '.') then
Delete(s, Prev+1, 2)
else if (Cur - Prev = 3) and (s[Prev+1] = '.') and (s[Prev+2] = '.') then
begin
while (Prev > 1) and (s[Prev-1] <> '/') do
Dec(Prev);
if Prev > 1 then
Dec(Prev);
Delete(s, Prev+1, Cur-Prev);
end
else
Prev := Cur;
end;
end;
// TODO: this probably must NOT percent-encode the result...
function ResolveRelativeURI(const BaseUri, RelUri: UTF8String;
out ResultUri: UTF8String): Boolean;
var
Base, Rel: TUri;
begin
Base := ParseUri(BaseUri);
Rel := ParseUri(RelUri);
Result := (Base.Protocol <> '') or (Rel.Protocol <> '');
if not Result then
Exit;
with Rel do
begin
if (Path = '') and (Document = '') then
begin
if (Protocol = '') and (Host = '') then
begin
if Params <> '' then
Base.Params := Params;
Base.Bookmark := Bookmark;
ResultUri := EncodeUri(Base);
Exit;
end;
end;
if (Protocol <> '') then // RelURI is absolute - return it...
begin
ResultUri := RelUri;
Exit;
end;
// Inherit protocol
Protocol := Base.Protocol;
if (Host = '') then // TODO: or "not HasAuthority"?
begin
// Inherit Authority (host, port, username, password)
Host := Base.Host;
Port := Base.Port;
Username := Base.Username;
Password := Base.Password;
HasAuthority := Base.HasAuthority;
if (Path = '') or (Path[1] <> '/') then // path is empty or relative
Path := Base.Path + Path;
RemoveDotSegments(Path);
end;
end; // with
ResultUri := EncodeUri(Rel);
end;
function ResolveRelativeURI(const BaseUri, RelUri: WideString;
out ResultUri: WideString): Boolean;
var
rslt: UTF8String;
begin
Result := ResolveRelativeURI(UTF8Encode(BaseUri), UTF8Encode(RelUri), rslt);
if Result then
ResultURI := UTF8Decode(rslt);
end;
function URIToFilename(const URI: string; out Filename: string): Boolean;
var
U: TURI;
I: Integer;
begin
Result := False;
U := ParseURI(URI);
if SameText(U.Protocol, 'file') then
begin
if (Length(U.Path) > 2) and (U.Path[1] = '/') and (U.Path[3] = ':') then
Filename := Copy(U.Path, 2, MaxInt)
else
Filename := U.Path;
Filename := Filename + U.Document;
Result := True;
end
else
if U.Protocol = '' then // fire and pray?
begin
Filename := U.Path + U.Document;
Result := True;
end;
if PathDelim <> '/' then
begin
I := Pos('/', Filename);
while I > 0 do
begin
Filename[I] := PathDelim;
I := Pos('/', Filename);
end;
end;
end;
function FilenameToURI(const Filename: string): string;
var
I: Integer;
begin
// TODO: seems implemented, but not tested well
Result := 'file://';
if (Length(Filename) > 2) and (Filename[1] <> PathDelim) and (Filename[2] = ':') then
Result := Result + '/';
Result := Result + Filename;
if PathDelim <> '/' then
begin
I := Pos(PathDelim, Result);
while I <> 0 do
begin
Result[I] := '/';
I := Pos(PathDelim, Result);
end;
end;
end;
function IsAbsoluteURI(const UriReference: string): Boolean;
var
I: Integer;
begin
Result := True;
for I := 1 to Length(UriReference) do
begin
if UriReference[I] = ':' then
Exit
else
if not (((I=1) and (UriReference[I] in ALPHA)) or
(UriReference[i] in ALPHA + DIGIT + ['+', '-', '.'])) then
Break;
end;
Result := False;
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -1,440 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2000 by the Free Pascal development team
Implementation of compression streams.
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}
unit zstream;
{ ---------------------------------------------------------------------
For linux and freebsd it's also possible to use ZLib instead
of paszlib. You need to undefine 'usepaszlib'.
---------------------------------------------------------------------}
{$define usepaszlib}
interface
uses
Sysutils, Classes
{$ifdef usepaszlib}
,paszlib,zbase
{$else}
,zlib
{$endif}
;
{$H+}
type
// Error reporting.
EZlibError = class(EStreamError);
ECompressionError = class(EZlibError);
EDecompressionError = class(EZlibError);
TCustomZlibStream = class(TOwnerStream)
private
FStrmPos: Integer;
FOnProgress: TNotifyEvent;
FZRec: TZStream;
FBuffer: array [Word] of Byte;
protected
procedure Progress(Sender: TObject); dynamic;
property OnProgress: TNotifyEvent read FOnProgress write FOnProgress;
public
constructor Create(Strm: TStream);
end;
TCompressionLevel = (clNone, clFastest, clDefault, clMax);
TCompressionStream = class(TCustomZlibStream)
private
function GetCompressionRate: extended;
function CompressionCheck(code: Integer): Integer;
procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
var OutBuf: Pointer; var OutBytes: Integer);
public
constructor Create(CompressionLevel: TCompressionLevel; Dest: TStream; ASkipHeader : Boolean = False);
destructor Destroy; override;
function Read(var Buffer; Count: Longint): Longint; override;
function Write(const Buffer; Count: Longint): Longint; override;
function Seek(Offset: Longint; Origin: Word): Longint; override;
property CompressionRate: extended read GetCompressionRate;
property OnProgress;
end;
TDecompressionStream = class(TCustomZlibStream)
private
function DecompressionCheck(code: Integer): Integer;
procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
OutEstimate: Integer; var OutBuf: Pointer; var OutBytes: Integer);
public
constructor Create(ASource: TStream; ASkipHeader : Boolean = False);
destructor Destroy; override;
function Read(var Buffer; Count: Longint): Longint; override;
function Write(const Buffer; Count: Longint): Longint; override;
function Seek(Offset: Longint; Origin: Word): Longint; override;
property OnProgress;
end;
TGZOpenMode = (gzOpenRead,gzOpenWrite);
TGZFileStream = Class(TStream)
Private
FOpenMode : TGZOpenmode;
FFIle : gzfile;
Public
Constructor Create(FileName: String;FileMode: TGZOpenMode);
Destructor Destroy;override;
Function Read(Var Buffer; Count : longint): longint;override;
function Write(const Buffer; Count: Longint): Longint; override;
function Seek(Offset: Longint; Origin: Word): Longint; override;
end;
implementation
Const
ErrorStrings : array [0..6] of string =
('Unknown error %d','Z_ERRNO','Z_STREAM_ERROR',
'Z_DATA_ERROR','Z_MEM_ERROR','Z_BUF_ERROR','Z_VERSION_ERROR');
SCouldntOpenFile = 'Couldn''t open file : %s';
SReadOnlyStream = 'Decompression streams are read-only';
SWriteOnlyStream = 'Compression streams are write-only';
SSeekError = 'Compression stream seek error';
SInvalidSeek = 'Invalid Compression seek operation';
procedure TCompressionStream.CompressBuf(const InBuf: Pointer; InBytes: Integer;
var OutBuf: Pointer; var OutBytes: Integer);
var
strm: TZStream;
P: Pointer;
begin
FillChar(strm, sizeof(strm), 0);
OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255;
OutBuf:=GetMem(OutBytes);
try
strm.next_in := InBuf;
strm.avail_in := InBytes;
strm.next_out := OutBuf;
strm.avail_out := OutBytes;
CompressionCheck(deflateInit(strm, Z_BEST_COMPRESSION));
try
while CompressionCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do
begin
P := OutBuf;
Inc(OutBytes, 256);
ReallocMem(OutBuf,OutBytes);
strm.next_out := PByte(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
strm.avail_out := 256;
end;
finally
CompressionCheck(deflateEnd(strm));
end;
ReallocMem(OutBuf,strm.total_out);
OutBytes := strm.total_out;
except
FreeMem(OutBuf);
raise;
end;
end;
procedure TDecompressionStream.DecompressBuf(const InBuf: Pointer; InBytes: Integer;
OutEstimate: Integer; var OutBuf: Pointer; var OutBytes: Integer);
var
strm: TZStream;
P: Pointer;
BufInc: Integer;
Type
PByte = ^Byte;
begin
FillChar(strm, sizeof(strm), 0);
BufInc := (InBytes + 255) and not 255;
if OutEstimate = 0 then
OutBytes := BufInc
else
OutBytes := OutEstimate;
OutBuf:=GetMem(OutBytes);
try
strm.next_in := InBuf;
strm.avail_in := InBytes;
strm.next_out := OutBuf;
strm.avail_out := OutBytes;
DecompressionCheck(inflateInit(strm));
try
while DecompressionCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END do
begin
P := OutBuf;
Inc(OutBytes, BufInc);
ReallocMem(OutBuf, OutBytes);
strm.next_out := PByte(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
strm.avail_out := BufInc;
end;
finally
DecompressionCheck(inflateEnd(strm));
end;
ReallocMem(OutBuf, strm.total_out);
OutBytes := strm.total_out;
except
FreeMem(OutBuf);
raise;
end;
end;
// TCustomZlibStream
constructor TCustomZLibStream.Create(Strm: TStream);
begin
inherited Create(Strm);
FStrmPos := Strm.Position;
end;
procedure TCustomZLibStream.Progress(Sender: TObject);
begin
if Assigned(FOnProgress) then FOnProgress(Sender);
end;
// TCompressionStream
constructor TCompressionStream.Create(CompressionLevel: TCompressionLevel;
Dest: TStream; ASkipHeader : Boolean = False);
const
Levels: array [TCompressionLevel] of ShortInt =
(Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION);
begin
inherited Create(Dest);
FZRec.next_out := @FBuffer[0];
FZRec.avail_out := sizeof(FBuffer);
If ASkipHeader then
CompressionCheck(deflateInit2(FZRec, Levels[CompressionLevel],Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, 0))
else
CompressionCheck(deflateInit(FZRec, Levels[CompressionLevel]));
end;
destructor TCompressionStream.Destroy;
begin
FZRec.next_in := nil;
FZRec.avail_in := 0;
try
if Source.Position <> FStrmPos then Source.Position := FStrmPos;
while (CompressionCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END)
and (FZRec.avail_out = 0) do
begin
Source.WriteBuffer(FBuffer, sizeof(FBuffer));
FZRec.next_out := @FBuffer[0];
FZRec.avail_out := sizeof(FBuffer);
end;
if FZRec.avail_out < sizeof(FBuffer) then
Source.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out);
finally
deflateEnd(FZRec);
end;
inherited Destroy;
end;
function TCompressionStream.CompressionCheck(code: Integer): Integer;
begin
Result := code;
if (code < 0) then
if code < -6 then
raise ECompressionError.CreateFmt(Errorstrings[0],[Code])
else
raise ECompressionError.Create(ErrorStrings[Abs(Code)]);
end;
function TCompressionStream.Read(var Buffer; Count: Longint): Longint;
begin
raise ECompressionError.Create('Invalid stream operation');
result:=0;
end;
function TCompressionStream.Write(const Buffer; Count: Longint): Longint;
begin
FZRec.next_in := @Buffer;
FZRec.avail_in := Count;
if Source.Position <> FStrmPos then Source.Position := FStrmPos;
while (FZRec.avail_in > 0) do
begin
CompressionCheck(deflate(FZRec, 0));
if FZRec.avail_out = 0 then
begin
Source.WriteBuffer(FBuffer, sizeof(FBuffer));
FZRec.next_out := @FBuffer[0];
FZRec.avail_out := sizeof(FBuffer);
FStrmPos := Source.Position;
Progress(Self);
end;
end;
Result := Count;
end;
function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
begin
if (Offset = 0) and (Origin = soFromCurrent) then
Result := FZRec.total_in
else
raise ECompressionError.Create(SInvalidSeek);
end;
function TCompressionStream.GetCompressionRate: extended;
begin
Result:=0.0;
{ With FZrec do
if total_in = 0 then
GetCompressionRate:=0.0
else
GetCompressionRate:=1.0E2*(1.0E0-(total_out/total_in));
}
end;
// TDecompressionStream
constructor TDecompressionStream.Create(ASource: TStream; ASkipHeader : Boolean = False);
begin
inherited Create(ASource);
FZRec.next_in := @FBuffer[0];
If ASkipHeader then
DeCompressionCheck(inflateInit2(FZRec,-MAX_WBITS))
else
DeCompressionCheck(inflateInit(FZRec));
end;
destructor TDecompressionStream.Destroy;
begin
if FZRec.avail_in <> 0 then
Source.Seek(-FZRec.avail_in, soFromCurrent);
inflateEnd(FZRec);
inherited Destroy;
end;
function TDecompressionStream.DecompressionCheck(code: Integer): Integer;
begin
Result := code;
If Code<0 then
if code < -6 then
raise EDecompressionError.CreateFmt(Errorstrings[0],[Code])
else
raise EDecompressionError.Create(ErrorStrings[Abs(Code)]);
end;
function TDecompressionStream.Read(var Buffer; Count: Longint): Longint;
begin
FZRec.next_out := @Buffer;
FZRec.avail_out := Count;
if Source.Position <> FStrmPos then Source.Position := FStrmPos;
while (FZRec.avail_out > 0) do
begin
if FZRec.avail_in = 0 then
begin
FZRec.avail_in := Source.Read(FBuffer, sizeof(FBuffer));
if FZRec.avail_in = 0 then
begin
Result := Count - FZRec.avail_out;
Exit;
end;
FZRec.next_in := @FBuffer[0];
FStrmPos := Source.Position;
Progress(Self);
end;
if DeCompressionCheck(inflate(FZRec, 0)) = Z_STREAM_END then
begin
Result := Count - FZRec.avail_out;
Exit;
end;
end;
Result := Count;
end;
function TDecompressionStream.Write(const Buffer; Count: Longint): Longint;
begin
raise EDecompressionError.Create('Invalid stream operation');
result:=0;
end;
function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
var
I: Integer;
Buf: array [0..4095] of Char;
begin
if (Offset = 0) and (Origin = soFromBeginning) then
begin
DecompressionCheck(inflateReset(FZRec));
FZRec.next_in := @FBuffer[0];
FZRec.avail_in := 0;
Source.Position := 0;
FStrmPos := 0;
end
else if ( (Offset >= 0) and (Origin = soFromCurrent)) or
( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then
begin
if Origin = soFromBeginning then Dec(Offset, FZRec.total_out);
if Offset > 0 then
begin
for I := 1 to Offset div sizeof(Buf) do
ReadBuffer(Buf, sizeof(Buf));
ReadBuffer(Buf, Offset mod sizeof(Buf));
end;
end
else
raise EDecompressionError.Create(SInvalidSeek);
Result := FZRec.total_out;
end;
// TGZFileStream
Constructor TGZFileStream.Create(FileName: String;FileMode: TGZOpenMode);
Const OpenStrings : array[TGZOpenMode] of pchar = ('rb','wb');
begin
FOpenMode:=FileMode;
FFile:=gzopen (PChar(FileName),Openstrings[FileMode]);
If FFile=Nil then
Raise ezlibError.CreateFmt (SCouldntOpenFIle,[FileName]);
end;
Destructor TGZFileStream.Destroy;
begin
gzclose(FFile);
Inherited Destroy;
end;
Function TGZFileStream.Read(Var Buffer; Count : longint): longint;
begin
If FOpenMode=gzOpenWrite then
Raise ezliberror.create(SWriteOnlyStream);
Result:=gzRead(FFile,@Buffer,Count);
end;
function TGZFileStream.Write(const Buffer; Count: Longint): Longint;
begin
If FOpenMode=gzOpenRead then
Raise EzlibError.Create(SReadonlyStream);
Result:=gzWrite(FFile,@Buffer,Count);
end;
function TGZFileStream.Seek(Offset: Longint; Origin: Word): Longint;
begin
Result:=gzseek(FFile,Offset,Origin);
If Result=-1 then
Raise eZlibError.Create(SSeekError);
end;
end.