diff options
| -rw-r--r-- | packages/base/regexpr/Makefile | 2267 | ||||
| -rw-r--r-- | packages/base/regexpr/Makefile.fpc | 24 | ||||
| -rw-r--r-- | packages/base/regexpr/fpmake.inc | 11 | ||||
| -rw-r--r-- | packages/base/regexpr/fpmake.pp | 17 | ||||
| -rw-r--r-- | packages/base/regexpr/regexpr.pp | 1207 | ||||
| -rw-r--r-- | packages/base/regexpr/testreg1.pp | 877 |
6 files changed, 0 insertions, 4403 deletions
diff --git a/packages/base/regexpr/Makefile b/packages/base/regexpr/Makefile deleted file mode 100644 index afd5c1a06b..0000000000 --- a/packages/base/regexpr/Makefile +++ /dev/null @@ -1,2267 +0,0 @@ -# -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/08] -# -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 -BSDs = freebsd netbsd openbsd darwin -UNIXs = linux $(BSDs) solaris qnx -LIMIT83fs = go32v2 os2 emx watcom -OSNeedsComspecToRunBatch = go32v2 watcom -FORCE: -.PHONY: FORCE -override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) -ifneq ($(findstring darwin,$(OSTYPE)),) -inUnix=1 #darwin -SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) -else -ifeq ($(findstring ;,$(PATH)),) -inUnix=1 -SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) -else -SEARCHPATH:=$(subst ;, ,$(PATH)) -endif -endif -SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE)))) -PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) -ifeq ($(PWD),) -PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) -ifeq ($(PWD),) -$(error You need the GNU utils package to use this Makefile) -else -PWD:=$(firstword $(PWD)) -SRCEXEEXT= -endif -else -PWD:=$(firstword $(PWD)) -SRCEXEEXT=.exe -endif -ifndef inUnix -ifeq ($(OS),Windows_NT) -inWinNT=1 -else -ifdef OS2_SHELL -inOS2=1 -endif -endif -else -ifneq ($(findstring cygdrive,$(PATH)),) -inCygWin=1 -endif -endif -ifdef inUnix -SRCBATCHEXT=.sh -else -ifdef inOS2 -SRCBATCHEXT=.cmd -else -SRCBATCHEXT=.bat -endif -endif -ifdef COMSPEC -ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),) -RUNBATCH=$(COMSPEC) /C -endif -endif -ifdef inUnix -PATHSEP=/ -else -PATHSEP:=$(subst /,\,/) -ifdef inCygWin -PATHSEP=/ -endif -endif -ifdef PWD -BASEDIR:=$(subst \,/,$(shell $(PWD))) -ifdef inCygWin -ifneq ($(findstring /cygdrive/,$(BASEDIR)),) -BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR)) -BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR))) -BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR)) -endif -endif -else -BASEDIR=. -endif -ifdef inOS2 -ifndef ECHO -ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(ECHO),) -ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(ECHO),) -ECHO=echo -else -ECHO:=$(firstword $(ECHO)) -endif -else -ECHO:=$(firstword $(ECHO)) -endif -endif -export ECHO -endif -override DEFAULT_FPCDIR=../../.. -ifndef FPC -ifdef PP -FPC=$(PP) -endif -endif -ifndef FPC -FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH)))) -ifneq ($(FPCPROG),) -FPCPROG:=$(firstword $(FPCPROG)) -ifneq ($(CPU_TARGET),) -FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB) -else -FPC:=$(shell $(FPCPROG) -PB) -endif -ifneq ($(findstring Error,$(FPC)),) -override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) -endif -else -override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) -endif -endif -override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) -override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) -FOUNDFPC:=$(strip $(wildcard $(FPC))) -ifeq ($(FOUNDFPC),) -FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))) -ifeq ($(FOUNDFPC),) -$(error Compiler $(FPC) not found) -endif -endif -ifndef FPC_COMPILERINFO -FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO) -endif -ifndef FPC_VERSION -FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO)) -endif -export FPC FPC_VERSION FPC_COMPILERINFO -unexport CHECKDEPEND ALLDEPENDENCIES -ifndef CPU_TARGET -ifdef CPU_TARGET_DEFAULT -CPU_TARGET=$(CPU_TARGET_DEFAULT) -endif -endif -ifndef OS_TARGET -ifdef OS_TARGET_DEFAULT -OS_TARGET=$(OS_TARGET_DEFAULT) -endif -endif -ifneq ($(words $(FPC_COMPILERINFO)),5) -FPC_COMPILERINFO+=$(shell $(FPC) -iSP) -FPC_COMPILERINFO+=$(shell $(FPC) -iTP) -FPC_COMPILERINFO+=$(shell $(FPC) -iSO) -FPC_COMPILERINFO+=$(shell $(FPC) -iTO) -endif -ifndef CPU_SOURCE -CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO)) -endif -ifndef CPU_TARGET -CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO)) -endif -ifndef OS_SOURCE -OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO)) -endif -ifndef OS_TARGET -OS_TARGET:=$(word 5,$(FPC_COMPILERINFO)) -endif -FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) -FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) -ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) -TARGETSUFFIX=$(OS_TARGET) -SOURCESUFFIX=$(OS_SOURCE) -else -TARGETSUFFIX=$(FULL_TARGET) -SOURCESUFFIX=$(FULL_SOURCE) -endif -ifneq ($(FULL_TARGET),$(FULL_SOURCE)) -CROSSCOMPILE=1 -endif -ifeq ($(findstring makefile,$(MAKECMDGOALS)),) -ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),) -$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first) -endif -endif -ifneq ($(findstring $(OS_TARGET),$(BSDs)),) -BSDhier=1 -endif -ifeq ($(OS_TARGET),linux) -linuxHier=1 -endif -export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE -ifdef FPCDIR -override FPCDIR:=$(subst \,/,$(FPCDIR)) -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) -override FPCDIR=wrong -endif -else -override FPCDIR=wrong -endif -ifdef DEFAULT_FPCDIR -ifeq ($(FPCDIR),wrong) -override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR)) -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) -override FPCDIR=wrong -endif -endif -endif -ifeq ($(FPCDIR),wrong) -ifdef inUnix -override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION) -ifeq ($(wildcard $(FPCDIR)/units),) -override FPCDIR=/usr/lib/fpc/$(FPC_VERSION) -endif -else -override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))))) -override FPCDIR:=$(FPCDIR)/.. -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) -override FPCDIR:=$(FPCDIR)/.. -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) -override FPCDIR:=$(BASEDIR) -ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) -override FPCDIR=c:/pp -endif -endif -endif -endif -endif -ifndef CROSSBINDIR -CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) -endif -ifndef BINUTILSPREFIX -ifndef CROSSBINDIR -ifdef CROSSCOMPILE -BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)- -endif -endif -endif -UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX)) -ifeq ($(UNITSDIR),) -UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) -endif -PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) -override PACKAGE_NAME=regexpr -override PACKAGE_VERSION=2.0.0 -ifeq ($(FULL_TARGET),i386-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-go32v2) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-win32) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-os2) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-freebsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-beos) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-netbsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-solaris) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-qnx) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-netware) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-openbsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-wdosx) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-darwin) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-emx) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-watcom) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-netwlibc) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-wince) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-symbian) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-freebsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-netbsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-amiga) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-atari) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-openbsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-palmos) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),m68k-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-netbsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-amiga) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-macos) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-darwin) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-morphos) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),sparc-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),sparc-netbsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),sparc-solaris) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),sparc-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),x86_64-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),x86_64-freebsd) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),x86_64-darwin) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),x86_64-win64) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),x86_64-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-palmos) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-wince) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-gba) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-nds) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),arm-symbian) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc64-linux) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc64-darwin) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),powerpc64-embedded) -override TARGET_UNITS+=regexpr -endif -ifeq ($(FULL_TARGET),i386-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-go32v2) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-win32) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-os2) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-freebsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-beos) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-netbsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-solaris) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-qnx) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-netware) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-openbsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-wdosx) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-darwin) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-emx) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-watcom) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-netwlibc) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-wince) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),i386-symbian) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-freebsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-netbsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-amiga) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-atari) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-openbsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-palmos) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),m68k-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-netbsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-amiga) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-macos) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-darwin) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-morphos) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),sparc-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),sparc-netbsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),sparc-solaris) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),sparc-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),x86_64-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),x86_64-freebsd) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),x86_64-darwin) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),x86_64-win64) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),x86_64-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-palmos) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-wince) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-gba) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-nds) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),arm-symbian) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc64-linux) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc64-darwin) -override TARGET_EXAMPLES+=testreg1 -endif -ifeq ($(FULL_TARGET),powerpc64-embedded) -override TARGET_EXAMPLES+=testreg1 -endif -override INSTALL_FPCPACKAGE=y -ifeq ($(FULL_TARGET),i386-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-go32v2) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-win32) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-os2) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-freebsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-beos) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-netbsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-solaris) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-qnx) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-netware) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-openbsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-wdosx) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-darwin) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-emx) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-watcom) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-netwlibc) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-wince) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),i386-symbian) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-freebsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-netbsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-amiga) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-atari) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-openbsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-palmos) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),m68k-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-netbsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-amiga) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-macos) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-darwin) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-morphos) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),sparc-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),sparc-netbsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),sparc-solaris) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),sparc-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),x86_64-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),x86_64-freebsd) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),x86_64-darwin) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),x86_64-win64) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),x86_64-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-palmos) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-wince) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-gba) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-nds) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),arm-symbian) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc64-linux) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc64-darwin) -override COMPILER_OPTIONS+=-S2 -endif -ifeq ($(FULL_TARGET),powerpc64-embedded) -override COMPILER_OPTIONS+=-S2 -endif -ifdef REQUIRE_UNITSDIR -override UNITSDIR+=$(REQUIRE_UNITSDIR) -endif -ifdef REQUIRE_PACKAGESDIR -override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) -endif -ifdef ZIPINSTALL -ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) -UNIXHier=1 -endif -else -ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) -UNIXHier=1 -endif -endif -ifndef INSTALL_PREFIX -ifdef PREFIX -INSTALL_PREFIX=$(PREFIX) -endif -endif -ifndef INSTALL_PREFIX -ifdef UNIXHier -INSTALL_PREFIX=/usr/local -else -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=/pp -else -INSTALL_BASEDIR:=/$(PACKAGE_NAME) -endif -endif -endif -export INSTALL_PREFIX -ifdef INSTALL_FPCSUBDIR -export INSTALL_FPCSUBDIR -endif -ifndef DIST_DESTDIR -DIST_DESTDIR:=$(BASEDIR) -endif -export DIST_DESTDIR -ifndef COMPILER_UNITTARGETDIR -ifdef PACKAGEDIR_MAIN -COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX) -else -COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX) -endif -endif -ifndef COMPILER_TARGETDIR -COMPILER_TARGETDIR=. -endif -ifndef INSTALL_BASEDIR -ifdef UNIXHier -ifdef INSTALL_FPCPACKAGE -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME) -endif -else -INSTALL_BASEDIR:=$(INSTALL_PREFIX) -endif -endif -ifndef INSTALL_BINDIR -ifdef UNIXHier -INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin -else -INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin -ifdef INSTALL_FPCPACKAGE -ifdef CROSSCOMPILE -ifdef CROSSINSTALL -INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX) -else -INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) -endif -else -INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) -endif -endif -endif -endif -ifndef INSTALL_UNITDIR -INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX) -ifdef INSTALL_FPCPACKAGE -ifdef PACKAGE_NAME -INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) -endif -endif -endif -ifndef INSTALL_LIBDIR -ifdef UNIXHier -INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib -else -INSTALL_LIBDIR:=$(INSTALL_UNITDIR) -endif -endif -ifndef INSTALL_SOURCEDIR -ifdef UNIXHier -ifdef BSDhier -SRCPREFIXDIR=share/src -else -ifdef linuxHier -SRCPREFIXDIR=share/src -else -SRCPREFIXDIR=src -endif -endif -ifdef INSTALL_FPCPACKAGE -ifdef INSTALL_FPCSUBDIR -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -endif -else -INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -ifdef INSTALL_FPCSUBDIR -INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) -else -INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME) -endif -else -INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source -endif -endif -endif -ifndef INSTALL_DOCDIR -ifdef UNIXHier -ifdef BSDhier -DOCPREFIXDIR=share/doc -else -ifdef linuxHier -DOCPREFIXDIR=share/doc -else -DOCPREFIXDIR=doc -endif -endif -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME) -else -INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc -endif -endif -endif -ifndef INSTALL_EXAMPLEDIR -ifdef UNIXHier -ifdef INSTALL_FPCPACKAGE -ifdef BSDhier -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) -else -ifdef linuxHier -INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples -else -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) -endif -endif -else -ifdef BSDhier -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -ifdef linuxHier -INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) -endif -endif -endif -else -ifdef INSTALL_FPCPACKAGE -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) -else -INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples -endif -endif -endif -ifndef INSTALL_DATADIR -INSTALL_DATADIR=$(INSTALL_BASEDIR) -endif -ifndef INSTALL_SHAREDDIR -INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib -endif -ifdef CROSSCOMPILE -ifndef CROSSBINDIR -CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX)) -ifeq ($(CROSSBINDIR),) -CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE)) -endif -endif -else -CROSSBINDIR= -endif -BATCHEXT=.bat -LOADEREXT=.as -EXEEXT=.exe -PPLEXT=.ppl -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.so -SHAREDLIBPREFIX=libfp -STATICLIBPREFIX=libp -IMPORTLIBPREFIX=libimp -RSTEXT=.rst -ifeq ($(findstring 1.0.,$(FPC_VERSION)),) -ifeq ($(OS_TARGET),go32v1) -STATICLIBPREFIX= -SHORTSUFFIX=v1 -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -SHORTSUFFIX=dos -endif -ifeq ($(OS_TARGET),watcom) -STATICLIBPREFIX= -OEXT=.obj -ASMEXT=.asm -SHAREDLIBEXT=.dll -SHORTSUFFIX=wat -endif -ifeq ($(OS_TARGET),linux) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=lnx -endif -ifeq ($(OS_TARGET),freebsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=fbs -endif -ifeq ($(OS_TARGET),netbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=nbs -endif -ifeq ($(OS_TARGET),openbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=obs -endif -ifeq ($(OS_TARGET),win32) -SHAREDLIBEXT=.dll -SHORTSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -BATCHEXT=.cmd -AOUTEXT=.out -STATICLIBPREFIX= -SHAREDLIBEXT=.dll -SHORTSUFFIX=os2 -ECHO=echo -endif -ifeq ($(OS_TARGET),emx) -BATCHEXT=.cmd -AOUTEXT=.out -STATICLIBPREFIX= -SHAREDLIBEXT=.dll -SHORTSUFFIX=emx -ECHO=echo -endif -ifeq ($(OS_TARGET),amiga) -EXEEXT= -SHAREDLIBEXT=.library -SHORTSUFFIX=amg -endif -ifeq ($(OS_TARGET),morphos) -EXEEXT= -SHAREDLIBEXT=.library -SHORTSUFFIX=mos -endif -ifeq ($(OS_TARGET),atari) -EXEEXT=.ttp -SHORTSUFFIX=ata -endif -ifeq ($(OS_TARGET),beos) -BATCHEXT=.sh -EXEEXT= -SHORTSUFFIX=be -endif -ifeq ($(OS_TARGET),solaris) -BATCHEXT=.sh -EXEEXT= -SHORTSUFFIX=sun -endif -ifeq ($(OS_TARGET),qnx) -BATCHEXT=.sh -EXEEXT= -SHORTSUFFIX=qnx -endif -ifeq ($(OS_TARGET),netware) -EXEEXT=.nlm -STATICLIBPREFIX= -SHORTSUFFIX=nw -endif -ifeq ($(OS_TARGET),netwlibc) -EXEEXT=.nlm -STATICLIBPREFIX= -SHORTSUFFIX=nwl -endif -ifeq ($(OS_TARGET),macos) -BATCHEXT= -EXEEXT= -DEBUGSYMEXT=.xcoff -SHORTSUFFIX=mac -endif -ifeq ($(OS_TARGET),darwin) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=dwn -endif -ifeq ($(OS_TARGET),gba) -EXEEXT=.gba -SHAREDLIBEXT=.so -SHORTSUFFIX=gba -endif -ifeq ($(OS_TARGET),symbian) -SHAREDLIBEXT=.dll -SHORTSUFFIX=symbian -endif -else -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -STATICLIBPREFIX= -SHORTSUFFIX=v1 -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -SHORTSUFFIX=dos -endif -ifeq ($(OS_TARGET),watcom) -STATICLIBPREFIX= -SHORTSUFFIX=wat -endif -ifeq ($(OS_TARGET),linux) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=lnx -endif -ifeq ($(OS_TARGET),freebsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=fbs -endif -ifeq ($(OS_TARGET),netbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=nbs -endif -ifeq ($(OS_TARGET),openbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=obs -endif -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -SHORTSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -BATCHEXT=.cmd -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -AOUTEXT=.out -SMARTEXT=.sl2 -STATICLIBPREFIX= -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -SHORTSUFFIX=os2 -ECHO=echo -endif -ifeq ($(OS_TARGET),amiga) -EXEEXT= -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.library -SHORTSUFFIX=amg -endif -ifeq ($(OS_TARGET),atari) -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT=.ttp -SHORTSUFFIX=ata -endif -ifeq ($(OS_TARGET),beos) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=be -endif -ifeq ($(OS_TARGET),solaris) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=sun -endif -ifeq ($(OS_TARGET),qnx) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=qnx -endif -ifeq ($(OS_TARGET),netware) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -EXEEXT=.nlm -SHORTSUFFIX=nw -endif -ifeq ($(OS_TARGET),netwlibc) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -EXEEXT=.nlm -SHORTSUFFIX=nwl -endif -ifeq ($(OS_TARGET),macos) -BATCHEXT= -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -DEBUGSYMEXT=.xcoff -SHORTSUFFIX=mac -endif -endif -ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) -FPCMADE=fpcmade.$(SHORTSUFFIX) -ZIPSUFFIX=$(SHORTSUFFIX) -ZIPCROSSPREFIX= -ZIPSOURCESUFFIX=src -ZIPEXAMPLESUFFIX=exm -else -FPCMADE=fpcmade.$(TARGETSUFFIX) -ZIPSOURCESUFFIX=.source -ZIPEXAMPLESUFFIX=.examples -ifdef CROSSCOMPILE -ZIPSUFFIX=.$(SOURCESUFFIX) -ZIPCROSSPREFIX=$(TARGETSUFFIX)- -else -ZIPSUFFIX=.$(TARGETSUFFIX) -ZIPCROSSPREFIX= -endif -endif -ifndef ECHO -ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(ECHO),) -ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(ECHO),) -ECHO= __missing_command_ECHO -else -ECHO:=$(firstword $(ECHO)) -endif -else -ECHO:=$(firstword $(ECHO)) -endif -endif -export ECHO -ifndef DATE -DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(DATE),) -DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(DATE),) -DATE= __missing_command_DATE -else -DATE:=$(firstword $(DATE)) -endif -else -DATE:=$(firstword $(DATE)) -endif -endif -export DATE -ifndef GINSTALL -GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(GINSTALL),) -GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(GINSTALL),) -GINSTALL= __missing_command_GINSTALL -else -GINSTALL:=$(firstword $(GINSTALL)) -endif -else -GINSTALL:=$(firstword $(GINSTALL)) -endif -endif -export GINSTALL -ifndef CPPROG -CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(CPPROG),) -CPPROG= __missing_command_CPPROG -else -CPPROG:=$(firstword $(CPPROG)) -endif -endif -export CPPROG -ifndef RMPROG -RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(RMPROG),) -RMPROG= __missing_command_RMPROG -else -RMPROG:=$(firstword $(RMPROG)) -endif -endif -export RMPROG -ifndef MVPROG -MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(MVPROG),) -MVPROG= __missing_command_MVPROG -else -MVPROG:=$(firstword $(MVPROG)) -endif -endif -export MVPROG -ifndef MKDIRPROG -MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(MKDIRPROG),) -MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(MKDIRPROG),) -MKDIRPROG= __missing_command_MKDIRPROG -else -MKDIRPROG:=$(firstword $(MKDIRPROG)) -endif -else -MKDIRPROG:=$(firstword $(MKDIRPROG)) -endif -endif -export MKDIRPROG -ifndef ECHOREDIR -ifndef inUnix -ECHOREDIR=echo -else -ECHOREDIR=$(ECHO) -endif -endif -ifndef COPY -COPY:=$(CPPROG) -fp -endif -ifndef COPYTREE -COPYTREE:=$(CPPROG) -Rfp -endif -ifndef MKDIRTREE -MKDIRTREE:=$(MKDIRPROG) -p -endif -ifndef MOVE -MOVE:=$(MVPROG) -f -endif -ifndef DEL -DEL:=$(RMPROG) -f -endif -ifndef DELTREE -DELTREE:=$(RMPROG) -rf -endif -ifndef INSTALL -ifdef inUnix -INSTALL:=$(GINSTALL) -c -m 644 -else -INSTALL:=$(COPY) -endif -endif -ifndef INSTALLEXE -ifdef inUnix -INSTALLEXE:=$(GINSTALL) -c -m 755 -else -INSTALLEXE:=$(COPY) -endif -endif -ifndef MKDIR -MKDIR:=$(GINSTALL) -m 755 -d -endif -export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR -ifndef PPUMOVE -PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(PPUMOVE),) -PPUMOVE= __missing_command_PPUMOVE -else -PPUMOVE:=$(firstword $(PPUMOVE)) -endif -endif -export PPUMOVE -ifndef FPCMAKE -FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(FPCMAKE),) -FPCMAKE= __missing_command_FPCMAKE -else -FPCMAKE:=$(firstword $(FPCMAKE)) -endif -endif -export FPCMAKE -ifndef ZIPPROG -ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(ZIPPROG),) -ZIPPROG= __missing_command_ZIPPROG -else -ZIPPROG:=$(firstword $(ZIPPROG)) -endif -endif -export ZIPPROG -ifndef TARPROG -TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(TARPROG),) -TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(TARPROG),) -TARPROG= __missing_command_TARPROG -else -TARPROG:=$(firstword $(TARPROG)) -endif -else -TARPROG:=$(firstword $(TARPROG)) -endif -endif -export TARPROG -ASNAME=$(BINUTILSPREFIX)as -LDNAME=$(BINUTILSPREFIX)ld -ARNAME=$(BINUTILSPREFIX)ar -RCNAME=$(BINUTILSPREFIX)rc -ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -ifeq ($(OS_TARGET),win32) -ifeq ($(CROSSBINDIR),) -ASNAME=asw -LDNAME=ldw -ARNAME=arw -endif -endif -endif -ifndef ASPROG -ifdef CROSSBINDIR -ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) -else -ASPROG=$(ASNAME) -endif -endif -ifndef LDPROG -ifdef CROSSBINDIR -LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT) -else -LDPROG=$(LDNAME) -endif -endif -ifndef RCPROG -ifdef CROSSBINDIR -RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT) -else -RCPROG=$(RCNAME) -endif -endif -ifndef ARPROG -ifdef CROSSBINDIR -ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT) -else -ARPROG=$(ARNAME) -endif -endif -AS=$(ASPROG) -LD=$(LDPROG) -RC=$(RCPROG) -AR=$(ARPROG) -PPAS=ppas$(SRCBATCHEXT) -ifdef inUnix -LDCONFIG=ldconfig -else -LDCONFIG= -endif -ifdef DATE -DATESTR:=$(shell $(DATE) +%Y%m%d) -else -DATESTR= -endif -ifndef UPXPROG -ifeq ($(OS_TARGET),go32v2) -UPXPROG:=1 -endif -ifeq ($(OS_TARGET),win32) -UPXPROG:=1 -endif -ifdef UPXPROG -UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(UPXPROG),) -UPXPROG= -else -UPXPROG:=$(firstword $(UPXPROG)) -endif -else -UPXPROG= -endif -endif -export UPXPROG -ZIPOPT=-9 -ZIPEXT=.zip -ifeq ($(USETAR),bz2) -TAROPT=vj -TAREXT=.tar.bz2 -else -TAROPT=vz -TAREXT=.tar.gz -endif -override REQUIRE_PACKAGES=rtl -ifeq ($(FULL_TARGET),i386-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-go32v2) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-win32) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-os2) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-freebsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-beos) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-netbsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-solaris) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-qnx) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-netware) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-openbsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-wdosx) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-darwin) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-emx) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-watcom) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-netwlibc) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-wince) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),i386-symbian) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-freebsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-netbsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-amiga) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-atari) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-openbsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-palmos) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),m68k-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-netbsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-amiga) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-macos) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-darwin) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-morphos) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),sparc-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),sparc-netbsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),sparc-solaris) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),sparc-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),x86_64-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),x86_64-freebsd) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),x86_64-darwin) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),x86_64-win64) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),x86_64-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-palmos) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-wince) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-gba) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-nds) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),arm-symbian) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc64-linux) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc64-darwin) -REQUIRE_PACKAGES_RTL=1 -endif -ifeq ($(FULL_TARGET),powerpc64-embedded) -REQUIRE_PACKAGES_RTL=1 -endif -ifdef REQUIRE_PACKAGES_RTL -PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) -ifneq ($(PACKAGEDIR_RTL),) -ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),) -UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX) -else -UNITDIR_RTL=$(PACKAGEDIR_RTL) -endif -ifdef CHECKDEPEND -$(PACKAGEDIR_RTL)/$(FPCMADE): - $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE) -override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE) -endif -else -PACKAGEDIR_RTL= -UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR))))) -ifneq ($(UNITDIR_RTL),) -UNITDIR_RTL:=$(firstword $(UNITDIR_RTL)) -else -UNITDIR_RTL= -endif -endif -ifdef UNITDIR_RTL -override COMPILER_UNITDIR+=$(UNITDIR_RTL) -endif -endif -ifndef NOCPUDEF -override FPCOPTDEF=$(CPU_TARGET) -endif -ifneq ($(OS_TARGET),$(OS_SOURCE)) -override FPCOPT+=-T$(OS_TARGET) -endif -ifneq ($(CPU_TARGET),$(CPU_SOURCE)) -override FPCOPT+=-P$(CPU_TARGET) -endif -ifeq ($(OS_SOURCE),openbsd) -override FPCOPT+=-FD$(NEW_BINUTILS_PATH) -endif -ifndef CROSSBOOTSTRAP -ifneq ($(BINUTILSPREFIX),) -override FPCOPT+=-XP$(BINUTILSPREFIX) -endif -ifneq ($(BINUTILSPREFIX),) -override FPCOPT+=-Xr$(RLINKPATH) -endif -endif -ifdef UNITDIR -override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) -endif -ifdef LIBDIR -override FPCOPT+=$(addprefix -Fl,$(LIBDIR)) -endif -ifdef OBJDIR -override FPCOPT+=$(addprefix -Fo,$(OBJDIR)) -endif -ifdef INCDIR -override FPCOPT+=$(addprefix -Fi,$(INCDIR)) -endif -ifdef LINKSMART -override FPCOPT+=-XX -endif -ifdef CREATESMART -override FPCOPT+=-CX -endif -ifdef DEBUG -override FPCOPT+=-gl -override FPCOPTDEF+=DEBUG -endif -ifdef RELEASE -ifneq ($(findstring 2.0.,$(FPC_VERSION)),) -ifeq ($(CPU_TARGET),i386) -FPCCPUOPT:=-OG2p3 -endif -ifeq ($(CPU_TARGET),powerpc) -FPCCPUOPT:=-O1r -endif -else -FPCCPUOPT:=-O2 -endif -override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n -override FPCOPTDEF+=RELEASE -endif -ifdef STRIP -override FPCOPT+=-Xs -endif -ifdef OPTIMIZE -override FPCOPT+=-O2 -endif -ifdef VERBOSE -override FPCOPT+=-vwni -endif -ifdef COMPILER_OPTIONS -override FPCOPT+=$(COMPILER_OPTIONS) -endif -ifdef COMPILER_UNITDIR -override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR)) -endif -ifdef COMPILER_LIBRARYDIR -override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR)) -endif -ifdef COMPILER_OBJECTDIR -override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR)) -endif -ifdef COMPILER_INCLUDEDIR -override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR)) -endif -ifdef CROSSBINDIR -override FPCOPT+=-FD$(CROSSBINDIR) -endif -ifdef COMPILER_TARGETDIR -override FPCOPT+=-FE$(COMPILER_TARGETDIR) -ifeq ($(COMPILER_TARGETDIR),.) -override TARGETDIRPREFIX= -else -override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/ -endif -endif -ifdef COMPILER_UNITTARGETDIR -override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR) -ifeq ($(COMPILER_UNITTARGETDIR),.) -override UNITTARGETDIRPREFIX= -else -override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/ -endif -else -ifdef COMPILER_TARGETDIR -override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR) -override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX) -endif -endif -ifdef CREATESHARED -override FPCOPT+=-Cg -ifeq ($(CPU_TARGET),i386) -override FPCOPT+=-Aas -endif -endif -ifeq ($(findstring 2.0.,$(FPC_VERSION)),) -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),x86_64) -override FPCOPT+=-Cg -endif -endif -endif -ifdef LINKSHARED -endif -ifdef OPT -override FPCOPT+=$(OPT) -endif -ifdef FPCOPTDEF -override FPCOPT+=$(addprefix -d,$(FPCOPTDEF)) -endif -ifdef CFGFILE -override FPCOPT+=@$(CFGFILE) -endif -ifdef USEENV -override FPCEXTCMD:=$(FPCOPT) -override FPCOPT:=!FPCEXTCMD -export FPCEXTCMD -endif -override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) -override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) -ifneq ($(AFULL_TARGET),$(AFULL_SOURCE)) -override ACROSSCOMPILE=1 -endif -ifdef ACROSSCOMPILE -override FPCOPT+=$(CROSSOPT) -endif -override COMPILER:=$(FPC) $(FPCOPT) -ifeq (,$(findstring -s ,$(COMPILER))) -EXECPPAS= -else -ifeq ($(FULL_SOURCE),$(FULL_TARGET)) -ifdef RUNBATCH -EXECPPAS:=@$(RUNBATCH) $(PPAS) -else -EXECPPAS:=@$(PPAS) -endif -endif -endif -.PHONY: fpc_units -ifneq ($(TARGET_UNITS),) -override ALLTARGET+=fpc_units -override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) -override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) -override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) -override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) -endif -fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES) -ifdef TARGET_RSTS -override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) -override CLEANRSTFILES+=$(RSTFILES) -endif -.PHONY: fpc_examples -ifneq ($(TARGET_EXAMPLES),) -HASEXAMPLES=1 -override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES))) -override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES)) -override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) -override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES) -ifeq ($(OS_TARGET),os2) -override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES)) -endif -ifeq ($(OS_TARGET),emx) -override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES)) -endif -endif -ifneq ($(TARGET_EXAMPLEDIRS),) -HASEXAMPLES=1 -endif -fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS)) -.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared -$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET) - @$(ECHOREDIR) Compiled > $(FPCMADE) -fpc_all: $(FPCMADE) -fpc_smart: - $(MAKE) all LINKSMART=1 CREATESMART=1 -fpc_debug: - $(MAKE) all DEBUG=1 -fpc_release: - $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res -$(COMPILER_UNITTARGETDIR): - $(MKDIRTREE) $(COMPILER_UNITTARGETDIR) -$(COMPILER_TARGETDIR): - $(MKDIRTREE) $(COMPILER_TARGETDIR) -%$(PPUEXT): %.pp - $(COMPILER) $< - $(EXECPPAS) -%$(PPUEXT): %.pas - $(COMPILER) $< - $(EXECPPAS) -%$(EXEEXT): %.pp - $(COMPILER) $< - $(EXECPPAS) -%$(EXEEXT): %.pas - $(COMPILER) $< - $(EXECPPAS) -%$(EXEEXT): %.lpr - $(COMPILER) $< - $(EXECPPAS) -%$(EXEEXT): %.dpr - $(COMPILER) $< - $(EXECPPAS) -%.res: %.rc - windres -i $< -o $@ -vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) -vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) -vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) -vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) -vpath %.inc $(COMPILER_INCLUDEDIR) -vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) -vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) -.PHONY: fpc_shared -override INSTALLTARGET+=fpc_shared_install -ifndef SHARED_LIBVERSION -SHARED_LIBVERSION=$(FPC_VERSION) -endif -ifndef SHARED_LIBNAME -SHARED_LIBNAME=$(PACKAGE_NAME) -endif -ifndef SHARED_FULLNAME -SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT) -endif -ifndef SHARED_LIBUNITS -SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS) -override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS)) -endif -fpc_shared: -ifdef HASSHAREDLIB - $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1 -ifneq ($(SHARED_BUILD),n) - $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -endif -else - @$(ECHO) Shared Libraries not supported -endif -fpc_shared_install: -ifneq ($(SHARED_BUILD),n) -ifneq ($(SHARED_LIBUNITS),) -ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),) - $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR) -endif -endif -endif -.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall -ifdef INSTALL_UNITS -override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS)) -endif -ifdef INSTALL_BUILDUNIT -override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES)) -endif -ifdef INSTALLPPUFILES -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) -ifneq ($(UNITTARGETDIRPREFIX),) -override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES))) -override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES)))) -endif -override INSTALL_CREATEPACKAGEFPC=1 -endif -ifdef INSTALLEXEFILES -ifneq ($(TARGETDIRPREFIX),) -override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES))) -endif -endif -fpc_install: all $(INSTALLTARGET) -ifdef INSTALLEXEFILES - $(MKDIR) $(INSTALL_BINDIR) -ifdef UPXPROG - -$(UPXPROG) $(INSTALLEXEFILES) -endif - $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) -endif -ifdef INSTALL_CREATEPACKAGEFPC -ifdef FPCMAKE -ifdef PACKAGE_VERSION -ifneq ($(wildcard Makefile.fpc),) - $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc - $(MKDIR) $(INSTALL_UNITDIR) - $(INSTALL) Package.fpc $(INSTALL_UNITDIR) -endif -endif -endif -endif -ifdef INSTALLPPUFILES - $(MKDIR) $(INSTALL_UNITDIR) - $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR) -ifneq ($(INSTALLPPULINKFILES),) - $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR) -endif -ifneq ($(wildcard $(LIB_FULLNAME)),) - $(MKDIR) $(INSTALL_LIBDIR) - $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR) -ifdef inUnix - ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME) -endif -endif -endif -ifdef INSTALL_FILES - $(MKDIR) $(INSTALL_DATADIR) - $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR) -endif -fpc_sourceinstall: distclean - $(MKDIR) $(INSTALL_SOURCEDIR) - $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR) -fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS)) -ifdef HASEXAMPLES - $(MKDIR) $(INSTALL_EXAMPLEDIR) -endif -ifdef EXAMPLESOURCEFILES - $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR) -endif -ifdef TARGET_EXAMPLEDIRS - $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR) -endif -.PHONY: fpc_distinstall -fpc_distinstall: install exampleinstall -.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall -ifndef PACKDIR -ifndef inUnix -PACKDIR=$(BASEDIR)/../fpc-pack -else -PACKDIR=/tmp/fpc-pack -endif -endif -ifndef ZIPNAME -ifdef DIST_ZIPNAME -ZIPNAME=$(DIST_ZIPNAME) -else -ZIPNAME=$(PACKAGE_NAME) -endif -endif -ifndef FULLZIPNAME -FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX) -endif -ifndef ZIPTARGET -ifdef DIST_ZIPTARGET -ZIPTARGET=DIST_ZIPTARGET -else -ZIPTARGET=install -endif -endif -ifndef USEZIP -ifdef inUnix -USETAR=1 -endif -endif -ifndef inUnix -USEZIPWRAPPER=1 -endif -ifdef USEZIPWRAPPER -ZIPPATHSEP=$(PATHSEP) -ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT)) -else -ZIPPATHSEP=/ -endif -ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR)) -ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR)) -ifdef USETAR -ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT) -ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) * -else -ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT) -ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * -endif -fpc_zipinstall: - $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1 - $(MKDIR) $(DIST_DESTDIR) - $(DEL) $(ZIPDESTFILE) -ifdef USEZIPWRAPPER -ifneq ($(ECHOREDIR),echo) - $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER) - $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER) - $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER) -else - echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER) - echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER) - echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER) -endif -ifdef inUnix - /bin/sh $(ZIPWRAPPER) -else -ifdef RUNBATCH - $(RUNBATCH) (ZIPWRAPPER) -else - $(ZIPWRAPPER) -endif -endif - $(DEL) $(ZIPWRAPPER) -else - $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE) -endif - $(DELTREE) $(PACKDIR) -fpc_zipsourceinstall: - $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIPSOURCESUFFIX) -fpc_zipexampleinstall: -ifdef HASEXAMPLES - $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=$(ZIPEXAMPLESUFFIX) -endif -fpc_zipdistinstall: - $(MAKE) fpc_zipinstall ZIPTARGET=distinstall -.PHONY: fpc_clean fpc_cleanall fpc_distclean -ifdef EXEFILES -override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES)) -endif -ifdef CLEAN_UNITS -override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) -endif -ifdef CLEANPPUFILES -override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) -ifdef DEBUGSYMEXT -override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) -endif -override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) -override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) -endif -fpc_clean: $(CLEANTARGET) -ifdef CLEANEXEFILES - -$(DEL) $(CLEANEXEFILES) -endif -ifdef CLEANPPUFILES - -$(DEL) $(CLEANPPUFILES) -endif -ifneq ($(CLEANPPULINKFILES),) - -$(DEL) $(CLEANPPULINKFILES) -endif -ifdef CLEANRSTFILES - -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) -endif -ifdef CLEAN_FILES - -$(DEL) $(CLEAN_FILES) -endif -ifdef LIB_NAME - -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) -endif - -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) - -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) -fpc_cleanall: $(CLEANTARGET) -ifdef CLEANEXEFILES - -$(DEL) $(CLEANEXEFILES) -endif -ifdef COMPILER_UNITTARGETDIR -ifdef CLEANPPUFILES - -$(DEL) $(CLEANPPUFILES) -endif -ifneq ($(CLEANPPULINKFILES),) - -$(DEL) $(CLEANPPULINKFILES) -endif -ifdef CLEANRSTFILES - -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) -endif -endif - -$(DELTREE) units - -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -ifneq ($(PPUEXT),.ppu) - -$(DEL) *.o *.ppu *.a -endif - -$(DELTREE) *$(SMARTEXT) - -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) - -$(DEL) *_ppas$(BATCHEXT) -ifdef AOUTEXT - -$(DEL) *$(AOUTEXT) -endif -ifdef DEBUGSYMEXT - -$(DEL) *$(DEBUGSYMEXT) -endif -fpc_distclean: cleanall -.PHONY: fpc_baseinfo -override INFORULES+=fpc_baseinfo -fpc_baseinfo: - @$(ECHO) - @$(ECHO) == Package info == - @$(ECHO) Package Name..... $(PACKAGE_NAME) - @$(ECHO) Package Version.. $(PACKAGE_VERSION) - @$(ECHO) - @$(ECHO) == Configuration info == - @$(ECHO) - @$(ECHO) FPC.......... $(FPC) - @$(ECHO) FPC Version.. $(FPC_VERSION) - @$(ECHO) Source CPU... $(CPU_SOURCE) - @$(ECHO) Target CPU... $(CPU_TARGET) - @$(ECHO) Source OS.... $(OS_SOURCE) - @$(ECHO) Target OS.... $(OS_TARGET) - @$(ECHO) Full Source.. $(FULL_SOURCE) - @$(ECHO) Full Target.. $(FULL_TARGET) - @$(ECHO) SourceSuffix. $(SOURCESUFFIX) - @$(ECHO) TargetSuffix. $(TARGETSUFFIX) - @$(ECHO) - @$(ECHO) == Directory info == - @$(ECHO) - @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES) - @$(ECHO) - @$(ECHO) Basedir......... $(BASEDIR) - @$(ECHO) FPCDir.......... $(FPCDIR) - @$(ECHO) CrossBinDir..... $(CROSSBINDIR) - @$(ECHO) UnitsDir........ $(UNITSDIR) - @$(ECHO) PackagesDir..... $(PACKAGESDIR) - @$(ECHO) - @$(ECHO) GCC library..... $(GCCLIBDIR) - @$(ECHO) Other library... $(OTHERLIBDIR) - @$(ECHO) - @$(ECHO) == Tools info == - @$(ECHO) - @$(ECHO) As........ $(AS) - @$(ECHO) Ld........ $(LD) - @$(ECHO) Ar........ $(AR) - @$(ECHO) Rc........ $(RC) - @$(ECHO) - @$(ECHO) Mv........ $(MVPROG) - @$(ECHO) Cp........ $(CPPROG) - @$(ECHO) Rm........ $(RMPROG) - @$(ECHO) GInstall.. $(GINSTALL) - @$(ECHO) Echo...... $(ECHO) - @$(ECHO) Shell..... $(SHELL) - @$(ECHO) Date...... $(DATE) - @$(ECHO) FPCMake... $(FPCMAKE) - @$(ECHO) PPUMove... $(PPUMOVE) - @$(ECHO) Upx....... $(UPXPROG) - @$(ECHO) Zip....... $(ZIPPROG) - @$(ECHO) - @$(ECHO) == Object info == - @$(ECHO) - @$(ECHO) Target Loaders........ $(TARGET_LOADERS) - @$(ECHO) Target Units.......... $(TARGET_UNITS) - @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS) - @$(ECHO) Target Programs....... $(TARGET_PROGRAMS) - @$(ECHO) Target Dirs........... $(TARGET_DIRS) - @$(ECHO) Target Examples....... $(TARGET_EXAMPLES) - @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS) - @$(ECHO) - @$(ECHO) Clean Units......... $(CLEAN_UNITS) - @$(ECHO) Clean Files......... $(CLEAN_FILES) - @$(ECHO) - @$(ECHO) Install Units....... $(INSTALL_UNITS) - @$(ECHO) Install Files....... $(INSTALL_FILES) - @$(ECHO) - @$(ECHO) == Install info == - @$(ECHO) - @$(ECHO) DateStr.............. $(DATESTR) - @$(ECHO) ZipName.............. $(ZIPNAME) - @$(ECHO) ZipPrefix............ $(ZIPPREFIX) - @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX) - @$(ECHO) ZipSuffix............ $(ZIPSUFFIX) - @$(ECHO) FullZipName.......... $(FULLZIPNAME) - @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE) - @$(ECHO) - @$(ECHO) Install base dir..... $(INSTALL_BASEDIR) - @$(ECHO) Install binary dir... $(INSTALL_BINDIR) - @$(ECHO) Install library dir.. $(INSTALL_LIBDIR) - @$(ECHO) Install units dir.... $(INSTALL_UNITDIR) - @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR) - @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR) - @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR) - @$(ECHO) Install data dir..... $(INSTALL_DATADIR) - @$(ECHO) - @$(ECHO) Dist destination dir. $(DIST_DESTDIR) - @$(ECHO) Dist zip name........ $(DIST_ZIPNAME) - @$(ECHO) -.PHONY: fpc_info -fpc_info: $(INFORULES) -.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \ - fpc_makefile_dirs -fpc_makefile: - $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc -fpc_makefile_sub1: -ifdef TARGET_DIRS - $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS)) -endif -ifdef TARGET_EXAMPLEDIRS - $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS)) -endif -fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS)) -fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2 -fpc_makefiles: fpc_makefile fpc_makefile_dirs -all: fpc_all -debug: fpc_debug -smart: fpc_smart -release: fpc_release -units: fpc_units -examples: fpc_examples -shared: fpc_shared -install: fpc_install -sourceinstall: fpc_sourceinstall -exampleinstall: fpc_exampleinstall -distinstall: fpc_distinstall -zipinstall: fpc_zipinstall -zipsourceinstall: fpc_zipsourceinstall -zipexampleinstall: fpc_zipexampleinstall -zipdistinstall: fpc_zipdistinstall -clean: fpc_clean -distclean: fpc_distclean -cleanall: fpc_cleanall -info: fpc_info -makefiles: fpc_makefiles -.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles -ifneq ($(wildcard fpcmake.loc),) -include fpcmake.loc -endif -.NOTPARALLEL: diff --git a/packages/base/regexpr/Makefile.fpc b/packages/base/regexpr/Makefile.fpc deleted file mode 100644 index 65501f2363..0000000000 --- a/packages/base/regexpr/Makefile.fpc +++ /dev/null @@ -1,24 +0,0 @@ -# -# Makefile.fpc for RegExpr -# - -[package] -name=regexpr -version=2.0.0 - -[target] -units=regexpr -examples=testreg1 - -[compiler] -options=-S2 - -[install] -fpcpackage=y - -[default] -fpcdir=../../.. - -[rules] -.NOTPARALLEL: - diff --git a/packages/base/regexpr/fpmake.inc b/packages/base/regexpr/fpmake.inc deleted file mode 100644 index b8a03cdf82..0000000000 --- a/packages/base/regexpr/fpmake.inc +++ /dev/null @@ -1,11 +0,0 @@ - StartPackage('regexpr'); - {$IF defined(ALLPACKAGES)} - Directory:='base/regexpr'; - {$ELSEIF defined(BASEPACKAGES)} - Directory:='regexpr'; - {$ENDIF} - Version:='2.0.0'; - Options:='-S2'; - T:=Targets.AddUnit('regexpr'); - T:=Targets.AddExampleunit('testreg1'); - EndPackage; diff --git a/packages/base/regexpr/fpmake.pp b/packages/base/regexpr/fpmake.pp deleted file mode 100644 index d4b6178682..0000000000 --- a/packages/base/regexpr/fpmake.pp +++ /dev/null @@ -1,17 +0,0 @@ -{$mode objfpc}{$H+} -program fpmake; - -uses fpmkunit; - -Var - T : TTarget; - -begin - With Installer do - begin - { Base packages } - {$i fpmake.inc} - Run; - end; -end. - diff --git a/packages/base/regexpr/regexpr.pp b/packages/base/regexpr/regexpr.pp deleted file mode 100644 index 9dd7ea14bf..0000000000 --- a/packages/base/regexpr/regexpr.pp +++ /dev/null @@ -1,1207 +0,0 @@ -{ $DEFINE DEBUG} - -{ - This unit implements basic regular expression support - - This file is part of the Free Pascal run time library. - Copyright (c) 2000-2006 by Florian Klaempfland Carl Eric Codere - - 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. - - **********************************************************************} -{.$ define DEBUG} - -(* - - newline handling (uses all known formats of ASCII, #10,#13,#13#10 and #$85 - - TODO: - - correct backtracking, for example in (...)* - - full | support (currently requires to put all items with | operator - between parenthesis (in a group) to take care over order priority. - Therefore the following would work: (foo)|(nofoo) but not - foo|nofoo - - getting substrings and using substrings with \1 etc. - - do we treat several multiline characters in a row as a single - newline character for $ and ^? -*) - -{$IFDEF FPC} -{$mode objfpc} -{$ENDIF} - -{** @abstract(Regular expression unit) - - This unit implements a basic regular expression parser that mostly conforms - to the POSIX extended-regular expression syntax. It also supports standard - escape characters for patterns (as defined in PERL). -} -unit regexpr; - - interface - - { the following declarions are only in the interface because } - { some procedures return pregexprentry but programs which } - { use this unit shouldn't access this data structures } - type - tcharset = set of char; - tregexprentrytype = (ret_charset,ret_or, - ret_illegalend,ret_backtrace,ret_startline, - ret_endline,ret_pattern); - - pregexprentry = ^tregexprentry; - tregexprentry = record - next,nextdestroy : pregexprentry; - case typ : tregexprentrytype of - ret_charset : (chars : tcharset; elsepath : pregexprentry); - {** This is a complete pattern path ()+ , ()* or ()?, n,m } - ret_pattern: (pattern: pregexprentry; minoccurs: integer; maxoccurs: integer; alternative : pregexprentry); - end; - - tregexprflag = ( - ref_singleline, - {** This indicates that a start of line is either the - start of the pattern or a linebreak. } - ref_multiline, - {** The match will be done in a case-insensitive way - according to US-ASCII character set. } - ref_caseinsensitive); - tregexprflags = set of tregexprflag; - - TRegExprEngine = record - Data : pregexprentry; - DestroyList : pregexprentry; - Flags : TRegExprFlags; - end; - - const - cs_allchars : tcharset = [#0..#255]; - cs_wordchars : tcharset = ['A'..'Z','a'..'z','_','0'..'9']; - cs_newline : tcharset = [#10]; - cs_digits : tcharset = ['0'..'9']; - cs_whitespace : tcharset = [' ',#9]; - - var - { these are initilized in the init section of the unit } - cs_nonwordchars : tcharset; - cs_nondigits : tcharset; - cs_nonwhitespace : tcharset; - - { the following procedures can be used by units basing } - { on the regexpr unit } - - {** From a regular expression, compile an encoded version of the regular expression. - - @param(regexpr Regular expression to compile) - @param(flags Flags relating to the type of parsing that will occur) - @param(RegExprEngine The actual encoded version of the regular expression) - @returns(true if success, otherwise syntax error in compiling regular expression) - } - function GenerateRegExprEngine(regexpr : pchar;flags : tregexprflags;var RegExprEngine: TRegExprEngine): boolean; - -{$IFDEF FPC} - {** Backward compatibility routine } - function GenerateRegExprEngine(regexpr : pchar;flags : tregexprflags): TREGExprEngine; -{$ENDIF} - - {** Frees all up resources used for the encoded regular expression } - procedure DestroyRegExprEngine(var regexpr : TRegExprEngine); - - {** @abstract(Matches a regular expression) - - @param(RegExprEngine The actual compiled regular expression to match against) - @param(p The text to search for for a match) - @param(index zero-based index to the start of the match -1 if no match in p) - @param(len length of the match) - @returns(true if there was a match, otherwise false) - } - function RegExprPos(RegExprEngine : TRegExprEngine;p : pchar;var index,len : longint) : boolean; - - function RegExprReplaceAll(RegExprEngine : TRegExprEngine;const src,newstr : ansistring;var dest : ansistring) : sizeint; - - { This function Escape known regex chars and place the result on Return. If something went wrong the - function will return false. } - function RegExprEscapeStr (const S : string) : string; - - implementation - -{$ifdef DEBUG} - procedure writecharset(c : tcharset); - - var - b : byte; - - begin - for b:=20 to 255 do - if chr(b) in c then - write(chr(b)); - writeln; - end; - - - const - - typ2str : array[tregexprentrytype] of string = - ( - 'ret_charset', - 'ret_or', - 'ret_illegalend', - 'ret_backtrace', - 'ret_startline', - 'ret_endline', - 'ret_pattern' - ); - - - { Dumps all the next elements of a tree } - procedure dumptree(space: string; regentry: pregexprentry); - begin - while assigned(regentry) do - begin - WriteLn(space+'------- Node Type ',typ2str[regentry^.typ]); - if (regentry^.typ = ret_charset) then - WriteCharSet(regentry^.chars); - { dump embedded pattern information } - if regentry^.typ = ret_pattern then - begin - dumptree(space+#9,regentry^.pattern); - WriteLn(space+#9,' --- Alternative nodes '); - if assigned(regentry^.alternative) then - dumptree(space+#9#9,regentry^.alternative); - end; - if regentry^.typ = ret_startline then - dumptree(space+#9,regentry^.pattern); - regentry:=regentry^.next; - end; - end; -{$endif DEBUG} - - - {** Determines the length of a pattern, including sub-patterns. - - It goes through the nodes and returns the pattern length - between the two, using minOccurs as required. - - Called recursively. - } - function patlength(hp1: pregexprentry): integer; - var - count: integer; - hp: pregexprentry; - begin - count:=0; - if hp1^.typ=ret_pattern then - hp:=hp1^.pattern - else - hp:=hp1; - { now go through all chars and get the length - does not currently take care of embedded patterns - } - while assigned(hp) do - begin - if hp^.typ = ret_pattern then - begin - inc(count,patlength(hp)); - end - else - if hp^.typ = ret_charset then - inc(count); - hp:=hp^.next; - end; - if hp1^.typ=ret_pattern then - begin - count:=hp1^.minOccurs*count; - end; - patlength:=count; - end; - - function GenerateRegExprEngine(regexpr : pchar;flags : tregexprflags; var RegExprEngine:TRegExprEngine) : boolean; - - var - first : pregexprentry; - - procedure doregister(p : pregexprentry); - - begin - p^.nextdestroy:=first; - first:=p; - end; - - var - currentpos : pchar; - error : boolean; - - procedure readchars(var chars: tcharset); - - var - c1 : char; - - begin - chars:=[]; - case currentpos^ of - #0: - exit; - '.': - begin - inc(currentpos); - chars:=cs_allchars-cs_newline; - end; - '\': - begin - inc(currentpos); - case currentpos^ of - #0: - begin - error:=true; - exit; - end; - 't': - begin - inc(currentpos); - chars:=[#9]; - end; - 'n': - begin - inc(currentpos); - chars:=[#10]; - end; - 'r': - begin - inc(currentpos); - chars:=[#13]; - end; - 'd': - begin - inc(currentpos); - chars:=cs_digits; - end; - 'D': - begin - inc(currentpos); - chars:=cs_nondigits; - end; - 's': - begin - inc(currentpos); - chars:=cs_whitespace; - end; - 'S': - begin - inc(currentpos); - chars:=cs_nonwhitespace; - end; - 'w': - begin - inc(currentpos); - chars:=cs_wordchars; - end; - 'W': - begin - inc(currentpos); - chars:=cs_nonwordchars; - end; - 'f' : - begin - inc(currentpos); - chars:= [#12]; - end; - 'a' : - begin - inc(currentpos); - chars:= [#7]; - end; - else - begin { Some basic escaping...} - chars := [currentpos^]; - inc (currentpos); - {error:=true; - exit;} - end; - end; - end; - else - begin - if ref_caseinsensitive in flags then - c1:=upcase(currentpos^) - else - c1:=currentpos^; - - inc(currentpos); - if currentpos^='-' then - begin - inc(currentpos); - if currentpos^=#0 then - begin - error:=true; - exit; - end; - if ref_caseinsensitive in flags then - chars:=[c1..upcase(currentpos^)] - else - chars:=[c1..currentpos^]; - inc(currentpos); - end - else - chars:=[c1]; - end; - end; - end; - - - procedure readcharset(var charset: tcharset); - - var - chars: tcharset; - begin - charset:=[]; - case currentpos^ of - #0: - exit; - '[': - begin - inc(currentpos); - while currentpos^<>']' do - begin - if currentpos^='^' then - begin - inc(currentpos); - readchars(chars); - charset:=charset+(cs_allchars-chars); - end - else - begin - readchars(chars); - charset:=charset+chars; - end; - if error or (currentpos^=#0) then - begin - error:=true; - exit; - end; - end; - inc(currentpos); - end; - '^': - begin - inc(currentpos); - readchars(chars); - charset:=cs_allchars-chars; - end; - else - begin - readchars(chars); - charset:=chars; - end; - end; - end; - - - (* takes care of parsing the {n}, {n,} and {n,m} regular expression - elements. In case of error, sets error to true and returns false, - otherwise returns true and set minoccurs and maxoccurs accordingly - (-1 if not present). *) - function parseoccurences(var currentpos: pchar; var minoccurs,maxoccurs: integer): boolean; - var - minOccursString: string; - maxOccursString: string; - begin - parseoccurences:=false; - minOccurs:=-1; - maxOccurs:=-1; - inc(currentpos); - minOccursString:=''; - if currentPos^ = #0 then - begin - error:=true; - exit; - end; - while (currentpos^<>#0) and (currentpos^ in ['0'..'9']) do - begin - minOccursString:=minOccursString+currentPos^; - inc(currentpos); - end; - if length(minOccursString) = 0 then - begin - error:=true; - exit; - end; - Val(minOccursString,minOccurs); - { possible cases here: commad or end bracket } - if currentpos^= '}' then - begin - inc(currentpos); - maxOccurs:=minOccurs; - parseoccurences:=true; - exit; - end; - if currentpos^= ',' then - begin - maxOccursString:=''; - inc(currentpos); - while (currentpos^<>#0) and (currentpos^ in ['0'..'9']) do - begin - maxOccursString:=maxOccursString+currentPos^; - inc(currentpos); - end; - if currentpos^= '}' then - begin - { If the length of the string is zero, then there is - no upper bound. } - if length(maxOccursString) > 0 then - Val(maxOccursString,maxOccurs) - else - maxOccurs:=high(integer); - inc(currentpos); - parseoccurences:=true; - exit; - end; - end; - error:=true; - end; - - - function parseregexpr(next,elsepath : pregexprentry) : pregexprentry; - - var - hp : pregexprentry; - minOccurs,maxOccurs: integer; - hp3: pregexprentry; - cs : tcharset; - chaining : ^pregexprentry; - - begin - chaining:=nil; - parseregexpr:=nil; - elsepath:=nil; - if error then - exit; - { this dummy allows us to redirect the elsepath later } -{ new(ep); - doregister(ep); - ep^.typ:=ret_charset; - ep^.chars:=[]; - ep^.elsepath:=elsepath; - elsepath:=ep;} - while true do - begin - if error then - exit; - case currentpos^ of - '(': - begin - inc(currentpos); - hp:=parseregexpr(nil,nil); - { Special characters after the bracket } - if error then - exit; - if currentpos^<>')' then - begin - error:=true; - exit; - end; - inc(currentpos); - case currentpos^ of - '*': - begin - inc(currentpos); - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=0; - hp3^.maxoccurs:=high(integer); - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - '+': - begin - inc(currentpos); - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=1; - hp3^.maxoccurs:=high(integer); - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - - '?': - begin - inc(currentpos); - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=0; - hp3^.maxoccurs:=1; - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - '{': - begin - if not parseOccurences(currentPos,minOccurs,maxOccurs) then - exit; - inc(currentpos); - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=minOccurs; - hp3^.maxoccurs:=maxOccurs; - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - else - begin - { go to end of this list - always the - last next used } -(* - hp3:=hp; - while assigned(hp3^.next) do - begin - hp3:=hp3^.next; - end; - if assigned(chaining) then - chaining^:=hp - else - parseregexpr:=hp; - chaining:=@hp3^.next;*) - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=1; - hp3^.maxoccurs:=1; - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - - end; - end; - end; -{ This is only partially implemented currently, as the terms before - the | character must be grouped together with parenthesis, which - is also compatible with other regular expressions. -} - '|': - begin -{$ifdef DEBUG} - writeln('Creating or entry'); -{$endif DEBUG} - if (not assigned (hp3)) then - begin - error:=true; - exit; - end; - if (hp3^.typ <> ret_pattern) then - begin - error:=true; - exit; - end; - while currentpos^='|' do - begin - inc(currentpos); - if currentpos^=#0 then - begin - error:=true; - exit; - end; - { always put the longest pattern first, so - swap the trees as necessary. - } - hp := parseregexpr (next, elsepath); - if patlength(hp) > patlength(hp3^.pattern) then - begin - hp3^.alternative:=hp3^.pattern; - hp3^.pattern:=hp; - end - else - hp3^.alternative:=hp; - end; - end; - ')': - exit; - '^': - begin - inc(currentpos); - hp:=parseregexpr(nil,nil); - { Special characters after the bracket } - if error then - exit; - new(hp3); - doregister(hp3); - hp3^.typ:=ret_startline; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - '$': - begin - inc(currentpos); - new(hp); - doregister(hp); - hp^.typ:=ret_endline; - hp^.elsepath:=elsepath; - hp^.next:=nil; - if assigned(chaining) then - chaining^:=hp - else - parseregexpr:=hp; - chaining:=@hp^.next; - end; - #0: - exit; - else - begin - readcharset(cs); - if error then - exit; - case currentpos^ of - '*': - begin - inc(currentpos); - new(hp); - doregister(hp); - hp^.typ:=ret_charset; - hp^.chars:=cs; - hp^.elsepath:=nil; - hp^.next:=nil; - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=0; - hp3^.maxoccurs:=high(integer); - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - '+': - begin - inc(currentpos); - new(hp); - doregister(hp); - hp^.typ:=ret_charset; - hp^.chars:=cs; - hp^.elsepath:=nil; - hp^.next:=nil; - - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=1; - hp3^.maxoccurs:=high(integer); - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - '?': - begin - inc(currentpos); - new(hp); - doregister(hp); - hp^.typ:=ret_charset; - hp^.chars:=cs; - hp^.elsepath:=nil; - hp^.next:=nil; - - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.pattern:=hp; - hp3^.alternative:=nil; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=0; - hp3^.maxoccurs:=1; - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - end; - '{': - begin - if not parseOccurences(currentPos,minOccurs,maxOccurs) then - exit; - new(hp); - doregister(hp); - hp^.typ:=ret_charset; - hp^.chars:=cs; - hp^.elsepath:=nil; - hp^.next:=nil; - - new(hp3); - doregister(hp3); - hp3^.typ:=ret_pattern; - hp3^.alternative:=nil; - hp3^.pattern:=hp; - hp3^.elsepath:=elsepath; - hp3^.minoccurs:=minOccurs; - hp3^.maxoccurs:=maxOccurs; - hp3^.next:=nil; - if assigned(chaining) then - chaining^:=hp3 - else - parseregexpr:=hp3; - chaining:=@hp3^.next; - - end; - else - { Normal character } - begin - new(hp); - doregister(hp); - hp^.typ:=ret_charset; - hp^.chars:=cs; - hp^.elsepath:=elsepath; - hp^.next:=next; - if assigned(chaining) then - chaining^:=hp - else - parseregexpr:=hp; - chaining:=@hp^.next; - continue; - end; - { This was a pattern } - end; { END CASE } - end; - end; - end; - end; - - var - endp : pregexprentry; - - begin - GenerateRegExprEngine:=false; - RegExprEngine.Data:=nil; - RegExprEngine.DestroyList:=nil; - if regexpr=nil then - exit; - first:=nil; - if (ref_singleline in flags) and (ref_multiline in flags) then - exit; - currentpos:=regexpr; - GenerateRegExprEngine:=true; - error:=false; - new(endp); - doregister(endp); - endp^.typ:=ret_illegalend; - RegExprEngine.flags:=flags; - RegExprEngine.Data:=parseregexpr(nil,endp); -{$IFDEF DEBUG} - writeln('========== Generating tree ============'); - dumptree('',RegExprEngine.Data); -{$ENDIF} - RegExprEngine.DestroyList:=first; - if error or (currentpos^<>#0) then - begin - GenerateRegExprEngine:=false; - DestroyRegExprEngine(RegExprEngine); - end; - end; - - -{$IFDEF FPC} - function GenerateRegExprEngine(regexpr : pchar;flags : tregexprflags): TREGExprEngine; - var - r: TRegExprEngine; - begin - GenerateRegExprEngine(regexpr,flags,r); - GenerateRegExprEngine:=r; - end; -{$ENDIF} - - procedure DestroyRegExprEngine(var regexpr : TRegExprEngine); - - var - hp : pregexprentry; - - begin - hp:=regexpr.DestroyList; - while assigned(hp) do - begin - regexpr.DestroyList:=hp^.nextdestroy; - dispose(hp); - hp:=regexpr.DestroyList; - end; - regexpr.Data:=nil; - regexpr.DestroyList:=nil; - end; - - function RegExprPos(regexprengine : TRegExprEngine;p : pchar;var index,len : longint) : boolean; - - var - lastpos : pchar; - firstpos: pchar; - - { Does the actual search of the data - return true if the term was found } - function dosearch(regexprentry : pregexprentry;pos : pchar) : boolean; - var - found: boolean; - checkvalue: boolean; - savedpos: pchar; - counter: word; - - begin - dosearch:=false; - while true do - begin - {$IFDEF Debug} - writeln('Entering ',typ2str[regexprentry^.typ]); - writeln('Pattern length ',patlength(regexprentry)); - {$ENDIF Debug} - case regexprentry^.typ of - ret_endline: - begin - { automatically a match! } - if pos^ = #0 then - begin - dosearch:=true; - exit; - end; - if ref_multiline in regexprengine.flags then - begin - { Supports DOS/Commodore/UNIX/IBM Mainframe line formats } - { avoid reading invalid memory also } - if (pos^=#13) and ((pos+1)^=#10) then - begin - regexprentry:=regexprentry^.next; - end - else - if (pos^=#$85) or (pos^=#10) or ((pos^=#13) and ((pos-1) >= firstpos) and ((pos-1)^ <> #10)) then - begin - regexprentry:=regexprentry^.next; - end - else - begin - dosearch:=false; - exit; - end; - end - else - exit; - end; - ret_pattern: - begin - found:=false; - { Take care of occurences here } - savedpos:=pos; - counter:=0; - repeat - found:=dosearch(regexprentry^.pattern,pos); - if not found then - break; - pos:=lastpos; - inc(counter); - until (not found) or (counter >= regexprentry^.maxoccurs) or (pos^= #0); - - if counter = 0 then - begin - { If there was no occurence and the minimum occurence is > 0 then - problem. - } - if (regexprentry^.minoccurs > 0) then - begin - dosearch:=false; - { verify alternative path as required } - if assigned(regexprentry^.alternative) then - begin - dosearch:=dosearch(regexprentry^.alternative,savedpos); - exit; - end; - exit; - end; - dosearch:=true; - lastpos:=savedpos; - end - else - { found } - begin - { Possible choices : - - found and (counter >= minOccurences) and (counter =< maxOccurences) = true - - found and (counter < minOccurences) or (counter > maxOccurences) = false - } - if (counter < regexprentry^.minoccurs) or (counter > regexprentry^.maxoccurs) then - begin - dosearch:=false; - exit; - end; - dosearch:=true; - { if all matches were found, and the current position - points to zero (processed all characters) } - if pos^=#0 then - begin - dosearch:=true; - exit; - end; - end; - { If we are that means the matches were valid, go to next element to match - } - regexprentry:=regexprentry^.next; - if (counter = 0) and not assigned(regexprentry) then - exit; - end; - ret_startline: - begin - checkvalue:=pos=firstpos; - if ref_multiline in regexprengine.flags then - begin - { Supports DOS/Commodore/UNIX/IBM Mainframe line formats } - { avoid reading invalid memory also } - if - ( - ((pos-1) >= firstpos) and ((pos-1)^=#$85) - ) - or - ( - ((pos-1) >= firstpos) and ((pos-1)^=#10) - ) - or - ( - ((pos-1) >= firstpos) and ((pos-1)^=#13) and - ((pos)^ <> #10) - ) - then - begin - checkvalue:=true; - end; - end; - if checkvalue then - begin - dosearch:=dosearch(regexprentry^.pattern,pos); - regexprentry:=regexprentry^.next; - if not dosearch then - exit; - pos:=lastpos; - end - else - begin - dosearch:=false; - exit; - end; - end; - ret_charset: - begin - if (pos^ in regexprentry^.chars) or - ((ref_caseinsensitive in regexprengine.flags) and - (upcase(pos^) in regexprentry^.chars)) then - begin -{$ifdef DEBUG} - writeln('Found matching: ',pos^); -{$endif DEBUG} - regexprentry:=regexprentry^.next; - inc(pos); - end - else - begin -{$ifdef DEBUG} - writeln('Found unmatching: ',pos^); -{$endif DEBUG} - exit; - end; - end; - ret_backtrace: - begin -{$ifdef DEBUG} - writeln('Starting backtrace'); -{$endif DEBUG} - if dosearch(regexprentry^.next,pos) then - begin - dosearch:=true; - exit; - end - else if dosearch(regexprentry^.elsepath,pos) then - begin - dosearch:=true; - exit; - end - else - exit; - end; - end; - lastpos:=pos; - if regexprentry=nil then - begin - dosearch:=true; - exit; - end; - if regexprentry^.typ=ret_illegalend then - exit; - { end of string, and we were expecting an end of string } - if (pos^=#0) and (regexprentry^.typ = ret_endline) and - (not assigned(regexprentry^.next)) then - begin - dosearch:=true; - exit; - end; - if pos^=#0 then - exit; - end; - end; - - begin - RegExprPos:=false; - index:=0; - len:=0; - firstpos:=p; - if regexprengine.Data=nil then - exit; - while p^<>#0 do - begin - if dosearch(regexprengine.Data,p) then - begin - len:=lastpos-p; - RegExprPos:=true; - exit; - end - else - begin - inc(p); - inc(index); - end; - end; - index:=-1; - end; - - - function RegExprReplaceAll(RegExprEngine : TRegExprEngine;const src,newstr : ansistring;var dest : ansistring) : sizeint; - var - index,len : longint; - pos,lastpos : pchar; - first : boolean; - oldlength : PtrInt; - begin - pos:=pchar(src); - lastpos:=nil; - first:=true; - Result:=0; - { estimate some length } - SetLength(dest,length(src)+((length(src) div 10)*length(newstr))); - while RegExprPos(RegExprEngine,pos,index,len) do - begin - inc(pos,index); - if (lastpos = nil) or (pos>lastpos) then - begin - if lastpos = nil then lastpos := pchar(src); - { copy skipped part } - - { because we cheat with SetLength a SetLength(...,0) isn't what we want - so we've to trick at the first SetLength call - } - if first then - begin - SetLength(dest,(pos-lastpos)); - { cast dest here because it is already unified } - move(lastpos^,char(dest[1]),pos-lastpos); - end - else - begin - oldlength:=Length(dest); - SetLength(dest,oldlength+(pos-lastpos)); - move(lastpos^,char(dest[oldlength+1]),pos-lastpos); - end; - first:=false; - end; - { found } - inc(Result); - dest:=dest+newstr; - inc(pos,len); - lastpos:=pos; - end; - { copy remainder } - len:=strlen(pos); - if first then - begin - SetLength(dest,len); - move(pos^,char(dest[length(dest)+1]),len); - end - else - begin - oldlength:=Length(dest); - SetLength(dest,oldlength+len); - move(pos^,char(dest[oldlength+1]),len); - end - end; - - - function RegExprEscapeStr (const S : string) : string; - var - i, len : integer; - s1: string; - begin - RegExprEscapeStr:= ''; - s1:=''; - if (S = '') then - exit; - - len := Length (S); - - for i := 1 to len do - begin - if (S [i] in ['(','|', '.', '*', '?', '^', '$', '-', '[', '{', '}', ']', ')', '\']) then - begin - s1 := s1 + '\'; - end; - - s1 := s1 + S[i]; - end; - RegExprEscapeStr:=s1; - end; - -begin - cs_nonwordchars:=cs_allchars-cs_wordchars; - cs_nondigits:=cs_allchars-cs_digits; - cs_nonwhitespace:=cs_allchars-cs_whitespace; -end. diff --git a/packages/base/regexpr/testreg1.pp b/packages/base/regexpr/testreg1.pp deleted file mode 100644 index ff06360ddb..0000000000 --- a/packages/base/regexpr/testreg1.pp +++ /dev/null @@ -1,877 +0,0 @@ -{$IFDEF FPC} -{$MODE OBJFPC} -{$ENDIF} -program testreg1; -uses - regexpr; - -var - r : tregexprengine; - index,len : longint; - S : String; - Dest : AnsiString; - -procedure do_error(i : longint); - - begin - writeln('error near ',i,' index: ',index,' len: ',len); - halt(1); - end; - -var - initok: boolean; -begin - writeln('*** Testing unit regexpr ***'); - - writeln('*** Searching tests ***'); - { basic tests } - - initok:=GenerateRegExprEngine('.*',[],r); - if not initok then - do_error(90); - if not(RegExprPos(r,'CXXXX',index,len)) or - (index<>0) or (len<>5) then - do_error(91); - DestroyregExprEngine(r); - - { java package name } - initok:=GenerateRegExprEngine('[A-Za-z]+([.][0-9A-Za-z]+)*',[],r); - if not initok then - do_error(92); - if not(RegExprPos(r,'CXXXX',index,len)) or - (index<>0) or (len<>5) then - do_error(92); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('[A-Za-z]+([.][0-9A-Za-z]+)*',[],r); - if not initok then - do_error(92); - if not(RegExprPos(r,'CXXXX.A',index,len)) or - (index<>0) or (len<>7) then - do_error(92); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('[A-Za-z]+([.][0-9A-Za-z]+)*',[],r); - if not initok then - do_error(92); - if not(RegExprPos(r,'CXXXX.A9Package',index,len)) or - (index<>0) or (len<>15) then - do_error(92); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('[A-Za-z]+([.][0-9A-Za-z]+)*',[],r); - if not initok then - do_error(92); - if not(RegExprPos(r,'1CXXXX.A9Package',index,len)) or - (index<>1) or (len<>15) then - do_error(92); - DestroyregExprEngine(r); - - { singleline } - - initok:=GenerateRegExprEngine('^TEST1',[],r); - if not initok then - do_error(101); - if (RegExprPos(r,'THISISATEST1TEST1THIS',index,len)) then - do_error(101); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^TEST1(ANOTHER)',[],r); - if not initok then - do_error(102); - if (RegExprPos(r,'THISISATEST1ANOTHER',index,len)) then - do_error(102); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^TEST1(ANOTHER)',[],r); - if not initok then - do_error(103); - if not(RegExprPos(r,'TEST1ANOTHER',index,len)) or - (index<>0) or (len<>12) then - do_error(103); - DestroyregExprEngine(r); - - { multiline } - - { UNIX Newline } - initok:=GenerateRegExprEngine('^TEST1',[ref_multiline],r); - if not initok then - do_error(120); - if not(RegExprPos(r,'THISISATEST1'#10'TEST12',index,len)) or - (index<>13) or (len<>5) then - do_error(120); - DestroyregExprEngine(r); - - { Apple Newline } - initok:=GenerateRegExprEngine('^TEST1',[ref_multiline],r); - if not initok then - do_error(121); - if not(RegExprPos(r,'THISISATEST1'#13'TEST12',index,len)) or - (index<>13) or (len<>5) then - do_error(121); - DestroyregExprEngine(r); - - { DOS Newline } - initok:=GenerateRegExprEngine('^TEST1',[ref_multiline],r); - if not initok then - do_error(122); - if not(RegExprPos(r,'THISISATEST1'#13#10'TEST12',index,len)) or - (index<>14) or (len<>5) then - do_error(122); - DestroyregExprEngine(r); - - { IBM Mainframe Newline } - initok:=GenerateRegExprEngine('^TEST1',[ref_multiline],r); - if not initok then - do_error(123); - if not(RegExprPos(r,'THISISATEST1'#$85'TEST12',index,len)) or - (index<>13) or (len<>5) then - do_error(123); - DestroyregExprEngine(r); - - { Some weird cases } - initok:=GenerateRegExprEngine('^TEST1',[ref_multiline],r); - if not initok then - do_error(124); - if not(RegExprPos(r,#13#10#13#10'TEST12',index,len)) or - (index<>4) or (len<>5) then - do_error(124); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^TEST1',[ref_multiline],r); - if not initok then - do_error(125); - if RegExprPos(r,#13#10#13#10'F',index,len) then - do_error(125); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('^TEST1(ANOTHER)',[ref_multiline],r); - if not initok then - do_error(102); - if (RegExprPos(r,'THISISATEST1ANOTHER',index,len)) then - do_error(102); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^TEST1(ANOTHER)',[],r); - if not initok then - do_error(103); - if not(RegExprPos(r,'TEST1ANOTHER',index,len)) or - (index<>0) or (len<>12) then - do_error(103); - DestroyregExprEngine(r); - - { END OF LINE CASES } - initok:=GenerateRegExprEngine('TEST1$',[],r); - if not initok then - do_error(101); - if (RegExprPos(r,'THISISATEST1TEST1THIS',index,len)) then - do_error(101); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('TEST1(ANOTHER)$',[],r); - if not initok then - do_error(102); - if not(RegExprPos(r,'!TEST1ANOTHER',index,len)) or - (index<>1) or (len<>12) then - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('TEST1(ANOTHER)$',[],r); - if not initok then - do_error(102); - if not(RegExprPos(r,'!TEST1ANOTHERFOOBARTEST1ANOTHER',index,len)) or - (index<>19) or (len<>12) then - DestroyregExprEngine(r); - - { UNIX Newline } - initok:=GenerateRegExprEngine('TEST1$',[ref_multiline],r); - if not initok then - do_error(120); - if not(RegExprPos(r,'THISISATEST1'#10'TEST12',index,len)) or - (index<>7) or (len<>5) then - do_error(120); - DestroyregExprEngine(r); - - { Apple Newline } - initok:=GenerateRegExprEngine('TEST1$',[ref_multiline],r); - if not initok then - do_error(121); - if not(RegExprPos(r,'THISISATEST1'#13'TEST12',index,len)) or - (index<>7) or (len<>5) then - do_error(121); - DestroyregExprEngine(r); - - { DOS Newline } - initok:=GenerateRegExprEngine('TEST1$',[ref_multiline],r); - if not initok then - do_error(122); - if not(RegExprPos(r,'THISISATEST1'#13#10'TEST12',index,len)) or - (index<>7) or (len<>5) then - do_error(122); - DestroyregExprEngine(r); - - { IBM Mainframe Newline } - initok:=GenerateRegExprEngine('TEST1$',[ref_multiline],r); - if not initok then - do_error(123); - if not(RegExprPos(r,'THISISATEST1'#$85'TEST12',index,len)) or - (index<>7) or (len<>5) then - do_error(123); - DestroyregExprEngine(r); - - { Some weird cases } - initok:=GenerateRegExprEngine('TEST1$',[ref_multiline],r); - if not initok then - do_error(124); - if not(RegExprPos(r,#13#10#13#10'TEST1'#13#10,index,len)) or - (index<>4) or (len<>5) then - do_error(124); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('TEST1$',[ref_multiline],r); - if not initok then - do_error(125); - if RegExprPos(r,#13#10#13#10'F'#13#10#13#10,index,len) then - do_error(125); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('TEST1(ANOTHER)$',[ref_multiline],r); - if not initok then - do_error(102); - if (RegExprPos(r,'THISISATEST1ANOTHERFOO',index,len)) then - do_error(102); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('TEST1(ANOTHER)$',[],r); - if not initok then - do_error(103); - if not(RegExprPos(r,'TEST1ANOTHER',index,len)) or - (index<>0) or (len<>12) then - do_error(103); - DestroyregExprEngine(r); - - { start and end of string handling } - initok:=GenerateRegExprEngine('^TEST1(ANOTHER)$',[],r); - if not initok then - do_error(103); - if not(RegExprPos(r,'TEST1ANOTHER',index,len)) or - (index<>0) or (len<>12) then - do_error(103); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^TEST1(ANOTHER)$',[],r); - if not initok then - do_error(103); - if RegExprPos(r,'FOOTEST1ANOTHER',index,len) then - do_error(103); - DestroyregExprEngine(r); - - - (* {n,} tests *) - initok:=GenerateRegExprEngine('(AZ){0,}',[],r); - if not initok then - do_error(700); - if not(RegExprPos(r,'C',index,len)) or - (index<>0) or (len<>0) then - do_error(700); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ){0,}',[],r); - if not initok then - do_error(701); - if not(RegExprPos(r,'AZ',index,len)) or - (index<>0) or (len<>2) then - do_error(701); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ){0,}',[],r); - if not initok then - do_error(702); - if not(RegExprPos(r,'AZAZ',index,len)) or - (index<>0) or (len<>4) then - do_error(702); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ){0,}',[],r); - if not initok then - do_error(703); - if not(RegExprPos(r,'CatAZAZ',index,len)) or - (index<>0) or (len<>7) then - do_error(703); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('C(AZ){3,}',[],r); - if not initok then - do_error(704); - if (RegExprPos(r,'AZAZAZ',index,len)) then - do_error(704); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ){3,}',[],r); - if not initok then - do_error(705); - if not(RegExprPos(r,'BCatAZAZAZDABCD',index,len)) or - (index<>1) or (len<>9) then - do_error(705); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('CatAZ{0,}',[],r); - if not initok then - do_error(706); - if RegExprPos(r,'BCatDAZZZBCD',index,len) then - do_error(706); - DestroyregExprEngine(r); - - (* {n} tests *) - initok:=GenerateRegExprEngine('Cat(AZ){3}',[],r); - if not initok then - do_error(715); - if not(RegExprPos(r,'BCatAZAZAZDABCD',index,len)) or - (index<>1) or (len<>9) then - do_error(715); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('CatAz{5}',[],r); - if not initok then - do_error(716); - if not(RegExprPos(r,'BCatAzzzzzDABCD',index,len)) or - (index<>1) or (len<>9) then - do_error(716); - - initok:=GenerateRegExprEngine('CatAz{5}',[],r); - if not initok then - do_error(717); - if RegExprPos(r,'BCatDAzizzzzHello',index,len) then - do_error(717); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('CatAz{0}',[],r); - if not initok then - do_error(718); - if RegExprPos(r,'BCatDAzizzzzHello',index,len) then - do_error(718); - DestroyregExprEngine(r); - - (* {n,m} tests *) - initok:=GenerateRegExprEngine('Cat(AZ){1,3}',[],r); - if not initok then - do_error(725); - if not(RegExprPos(r,'BCatAZAZAZDABCD',index,len)) or - (index<>1) or (len<>9) then - do_error(725); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('CatAz{1,5}',[],r); - if not initok then - do_error(726); - if not(RegExprPos(r,'BCatAzzzzzzzzzzDABCD',index,len)) or - (index<>1) or (len<>9) then - do_error(726); - - initok:=GenerateRegExprEngine('CatAz{1,1}',[],r); - if not initok then - do_error(727); - if not(RegExprPos(r,'BCatAzzzzzzzzzzDABCD',index,len)) or - (index<>1) or (len<>5) then - do_error(727); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('CatAz{3,4}',[],r); - if not initok then - do_error(728); - if not(RegExprPos(r,'BCatAzzzzzzzzzzDABCD',index,len)) or - (index<>1) or (len<>8) then - do_error(728); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('CatAz{0,0}',[],r); - if not initok then - do_error(729); - if RegExprPos(r,'BCatDAzizzzzHello',index,len) then - do_error(729); - DestroyregExprEngine(r); - - - { ()* tests } - initok:=GenerateRegExprEngine('(AZ)*',[],r); - if not initok then - do_error(800); - if not(RegExprPos(r,'C',index,len)) or - (index<>0) or (len<>0) then - do_error(800); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ)*',[],r); - if not initok then - do_error(801); - if not(RegExprPos(r,'AZ',index,len)) or - (index<>0) or (len<>2) then - do_error(801); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ)*',[],r); - if not initok then - do_error(802); - if not(RegExprPos(r,'AZAZ',index,len)) or - (index<>0) or (len<>4) then - do_error(802); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ)*',[],r); - if not initok then - do_error(803); - if not(RegExprPos(r,'CatAZAZ',index,len)) or - (index<>0) or (len<>7) then - do_error(803); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('C(AZ)*',[],r); - if not initok then - do_error(804); - if (RegExprPos(r,'AZAZ',index,len)) then - do_error(804); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ)*',[],r); - if not initok then - do_error(805); - if not(RegExprPos(r,'BCatAZAZDABCD',index,len)) or - (index<>1) or (len<>7) then - do_error(805); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ)*',[],r); - if not initok then - do_error(806); - if not(RegExprPos(r,'BCatDABCD',index,len)) or - (index<>1) or (len<>3) then - do_error(806); - DestroyregExprEngine(r); - - - { ()+ tests } - initok:=GenerateRegExprEngine('(AZ)+',[],r); - if not initok then - do_error(850); - if (RegExprPos(r,'C',index,len)) then - do_error(850); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ)+',[],r); - if not initok then - do_error(851); - if not(RegExprPos(r,'AZ',index,len)) or - (index<>0) or (len<>2) then - do_error(851); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ)+',[],r); - if not initok then - do_error(852); - if not(RegExprPos(r,'AZAZ',index,len)) or - (index<>0) or (len<>4) then - do_error(852); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ)+',[],r); - if not initok then - do_error(853); - if not(RegExprPos(r,'CatAZAZ',index,len)) or - (index<>0) or (len<>7) then - do_error(853); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('C(AZ)+',[],r); - if not initok then - do_error(854); - if (RegExprPos(r,'AZAZ',index,len)) then - do_error(854); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('Cat(AZ)+',[],r); - if not initok then - do_error(855); - if not(RegExprPos(r,'BCatAZAZDABCD',index,len)) or - (index<>1) or (len<>7) then - do_error(855); - DestroyregExprEngine(r); - - { ()? tests } - - initok:=GenerateRegExprEngine('(AZ)?',[],r); - if not initok then - do_error(900); - if not(RegExprPos(r,'C',index,len)) or - (index<>0) or (len<>0) then - do_error(900); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ)?',[],r); - if not initok then - do_error(901); - if not(RegExprPos(r,'AZ',index,len)) or - (index<>0) or (len<>2) then - do_error(901); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('(AZ)?',[],r); - if not initok then - do_error(902); - if not(RegExprPos(r,'AZAZ',index,len)) or - (index<>0) or (len<>2) then - do_error(902); - DestroyregExprEngine(r); - - GenerateRegExprEngine('Cat(AZ)?',[],r); - if not(RegExprPos(r,'CatAZAZ',index,len)) or - (index<>0) or (len<>5) then - do_error(903); - DestroyregExprEngine(r); - - GenerateRegExprEngine('C(AZ)?',[],r); - if (RegExprPos(r,'AZAZ',index,len)) then - do_error(904); - DestroyregExprEngine(r); - - GenerateRegExprEngine('Cat(AZ)?',[],r); - if not(RegExprPos(r,'BCatAZAZDABCD',index,len)) or - (index<>1) or (len<>5) then - do_error(905); - DestroyregExprEngine(r); - - GenerateRegExprEngine('Cat(AZ)?',[],r); - if not(RegExprPos(r,'BCatDABCD',index,len)) or - (index<>1) or (len<>3) then - do_error(906); - DestroyregExprEngine(r); - - - { Character classes tests } - - GenerateRegExprEngine('[A-Z]',[],r); - if not(RegExprPos(r,'234578923457823659GHJK38',index,len)) or - (index<>18) or (len<>1) then - do_error(1000); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[A-Z]*',[],r); - if not(RegExprPos(r,'2345ARTZU38',index,len)) or - (index<>0) or (len<>0) then - do_error(1002); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[A-Z]+',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>5) then - do_error(1003); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[A-Z][A-Z]*',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>5) then - do_error(1004); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[A-Z][A-Z]?',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>2) then - do_error(1005); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[^\d]+',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>5) then - do_error(1006); - DestroyregExprEngine(r); - - { test chaining } - - GenerateRegExprEngine('[A-Z][A-Z]?[A-Z]',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>3) then - do_error(1007); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[A-Z][A-Z]*[0-9]',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>6) then - do_error(1008); - DestroyregExprEngine(r); - - GenerateRegExprEngine('[A-Z]+[0-9]',[],r); - if not(RegExprPos(r,'234578923457823659ARTZU38',index,len)) or - (index<>18) or (len<>6) then - do_error(1009); - DestroyregExprEngine(r); - - { case insensitive: } - - GenerateRegExprEngine('[A-Z]',[ref_caseinsensitive],r); - if not(RegExprPos(r,'234578923457823659a38',index,len)) or - (index<>18) or (len<>1) then - do_error(1100); - DestroyregExprEngine(r); - - { case insensitive: } - GenerateRegExprEngine('[a-z]',[ref_caseinsensitive],r); - if not(RegExprPos(r,'234578923457823659A38',index,len)) or - (index<>18) or (len<>1) then - do_error(1101); - DestroyregExprEngine(r); - - { with parenthsis } - GenerateRegExprEngine('(foo)1234',[],r); - if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or - (index<>7) or (len<>7) then - do_error(1200); - DestroyregExprEngine(r); - - GenerateRegExprEngine('(((foo)))1234',[],r); - if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or - (index<>7) or (len<>7) then - do_error(1201); - DestroyregExprEngine(r); - - GenerateRegExprEngine('(foo)(1234)',[],r); - if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or - (index<>7) or (len<>7) then - do_error(1202); - DestroyregExprEngine(r); - - { test real backtracking } - -(* r:=GenerateRegExprEngine('nofoo|foo',[]); - if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or - (index<>7) or (len<>3) then - do_error(1300); - DestroyregExprEngine(r);*) - - GenerateRegExprEngine('abc\(123\)$',[],r); - if not (RegExprPos(r,'1234 abc(123)', index, len)) or - (index <> 5) or (len <> 8) then - do_error (1400); - DestroyregExprEngine(r); - - GenerateRegExprEngine('^\t$',[ref_singleline],r); - if not (RegExprPos(r,#9, index, len)) or - (index <> 0) or (len <> 1) then - do_error (1401); - DestroyregExprEngine(r); - - GenerateRegExprEngine('^\n$',[ref_singleline],r); - if not (RegExprPos(r,#10, index, len)) or - (index <> 0) or (len <> 1) then - do_error (1402); - DestroyregExprEngine(r); - - GenerateRegExprEngine('^\f$',[ref_singleline],r); - if not (RegExprPos(r,#12, index, len)) or - (index <> 0) or (len <> 1) then - do_error (1403); - DestroyregExprEngine(r); - - GenerateRegExprEngine('^\r$',[ref_singleline],r); - if not (RegExprPos(r,#13, index, len)) or - (index <> 0) or (len <> 1) then - do_error (1404); - DestroyregExprEngine(r); - - GenerateRegExprEngine('^\a$',[ref_singleline],r); - if not (RegExprPos(r,#7, index, len)) or - (index <> 0) or (len <> 1) then - do_error (1405); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^(([^:/?#]+):)',[],r); - if not (RegExprPos(r,'http:',index, len)) or - (index <> 0) or (len <> 5) then - do_error (1406); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^(([^:/?#]+):)?(//([^/?#]*))?',[],r); - if not initok then - do_error(1407); - if not (RegExprPos(r,'http://www.myurl.com',index, len)) or - (index <> 0) or (len <> 20) then - do_error (1407); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?',[],r); - if not initok then - do_error(1408); - if not (RegExprPos(r,'http://www.myurl.com',index, len)) or - (index <> 0) or (len <> 20) then - do_error (1408); - - - writeln('*** Escaping tests ***'); - s := '^Hello World \. [a-z] \D { } |() ?a*.*\\ 1 $'; - if RegExprEscapeStr(s)<>'\^Hello World \\\. \[a\-z\] \\D \{ \} \|\(\) \?a\*\.\*\\\\ 1 \$' then - do_error(1450); - - writeln('*** More search tests ***'); - - initok:=GenerateRegExprEngine('((nofoo)|(foo))1234',[],r); - if not initok then - do_error(1501); - if not(RegExprPos(r,'1234 nofoo1234XXXX',index,len)) or - (index<>7) or (len<>9) then - do_error(1501); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('((nofoo)|(foo)|(anotherbar))1234',[],r); - if not initok then - do_error(1502); - if not(RegExprPos(r,'anotherbar1234XXXX',index,len)) or - (index<>0) or (len<>14) then - do_error(1502); - DestroyregExprEngine(r); - - - initok:=GenerateRegExprEngine('((nofoo)|(foo)|(anotherfoo))1234',[],r); - if not initok then - do_error(1503); - if not(RegExprPos(r,'1234 anotherfoo1234XXXX',index,len)) or - (index<>7) or (len<>14) then - do_error(1503); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('(nofoo1234)|(foo1234)',[],r); - if not initok then - do_error(1504); - if not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or - (index<>7) or (len<>7) then - do_error(1504); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('((foo)|(nofoo))1234',[],r); - if not initok then - do_error(1505); - if not(RegExprPos(r,'1234 nofoo1234XXXX',index,len)) or - (index<>7) or (len<>9) then - do_error(1505); - DestroyregExprEngine(r); - -{ - initok:=GenerateRegExprEngine('\.localhost$',[],r); - if not initok then - do_error(1506); - if not(RegExprPos(r,'exsample.localhost',index,len)) or - (index<>8) or (len<>10) then - do_error(1506); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('[^e]\.localhost$',[],r); - if not initok then - do_error(1507); - if RegExprPos(r,'exsample.localhost',index,len) then - do_error(1507); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('.*[^e]\.localhost$',[],r); - if not initok then - do_error(1508); - if RegExprPos(r,'exsample.localhost',index,len) then - do_error(1508); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('x.*[^e]\.localhost$',[],r); - if not initok then - do_error(1509); - if RegExprPos(r,'exsample.localhost',index,len) then - do_error(1509); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('(nofoo|foo)1234',[],r); - if not initok then - do_error(1500); - if not(RegExprPos(r,'1234 nofoo1234XXXX',index,len)) or - (index<>8) or (len<>9) then - do_error(1500); - DestroyregExprEngine(r); - - r:=GenerateRegExprEngine('(nofoo|foo|anotherfoo)1234',[]); - if not(RegExprPos(r,'1234 nofoo1234XXXX',index,len)) or - (index<>8) or (len<>9) then - do_error(1009); - DestroyregExprEngine(r); - - r:=GenerateRegExprEngine('nofoo1234|foo1234',[]); - if (r.data=nil) or not(RegExprPos(r,'1234 foo1234XXXX',index,len)) or - (index<>7) or (len<>7) then - do_error(1010); - DestroyregExprEngine(r); - } - - { ************************************************************************* - replacement tests - ************************************************************************* } - writeln('*** Replacement tests ***'); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2000); - if (RegExprReplaceAll(r,'asdfasdf','',Dest)<>1) or - (Dest<>'asdsdf') then - do_error(2001); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2002); - if (RegExprReplaceAll(r,'fa','',Dest)<>1) or - (Dest<>'') then - do_error(2003); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2004); - if RegExprReplaceAll(r,'','',Dest)<>0then - do_error(2005); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2006); - if (RegExprReplaceAll(r,'asdfafaasd','',Dest)<>2) or - (Dest<>'asdasd') then - do_error(2007); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2008); - if (RegExprReplaceAll(r,'asdfafaasdasdfafaasd','',Dest)<>4) or - (Dest<>'asdasdasdasd') then - do_error(2009); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2000); - if (RegExprReplaceAll(r,'fasdfasdf','',Dest)<>2) or - (Dest<>'sdsdf') then - do_error(2010); - DestroyregExprEngine(r); - - initok:=GenerateRegExprEngine('fa',[],r); - if not initok then - do_error(2011); - if (RegExprReplaceAll(r,'fasdfafaasdasdfafaasd','',Dest)<>5) or - (Dest<>'sdasdasdasd') then - do_error(2012); - DestroyregExprEngine(r); - - writeln('*** Testing unit regexpr was successful ***'); -end. |
