Browse Source

* removed

git-svn-id: trunk@9940 -
marco 17 years ago
parent
commit
c13acc44df

+ 0 - 10
.gitattributes

@@ -888,16 +888,6 @@ packages/base/mysql/ver323/mysqls.pp svneol=native#text/plain
 packages/base/mysql/ver40/mysql.pp svneol=native#text/plain
 packages/base/mysql/ver40/mysql_com.pp svneol=native#text/plain
 packages/base/mysql/ver40/mysql_version.pp svneol=native#text/plain
-packages/base/odbc/Makefile svneol=native#text/plain
-packages/base/odbc/Makefile.fpc svneol=native#text/plain
-packages/base/odbc/README -text
-packages/base/odbc/fpmake.inc svneol=native#text/plain
-packages/base/odbc/fpmake.pp svneol=native#text/plain
-packages/base/odbc/odbcsql.inc svneol=native#text/plain
-packages/base/odbc/odbcsql.pas svneol=native#text/plain
-packages/base/odbc/odbcsqldyn.pas svneol=native#text/plain
-packages/base/odbc/testodbc.mdb -text
-packages/base/odbc/testodbc.pp svneol=native#text/plain
 packages/base/oracle/Makefile svneol=native#text/plain
 packages/base/oracle/example/Makefile svneol=native#text/plain
 packages/base/oracle/fpmake.inc svneol=native#text/plain

+ 0 - 7
.gitignore

@@ -249,13 +249,6 @@ packages/base/mysql/ver40/*.ppu
 packages/base/mysql/ver40/*.s
 packages/base/mysql/ver40/fpcmade.*
 packages/base/mysql/ver40/units
-packages/base/odbc/*.bak
-packages/base/odbc/*.exe
-packages/base/odbc/*.o
-packages/base/odbc/*.ppu
-packages/base/odbc/*.s
-packages/base/odbc/fpcmade.*
-packages/base/odbc/units
 packages/base/oracle/*.bak
 packages/base/oracle/*.exe
 packages/base/oracle/*.o

+ 0 - 2147
packages/base/odbc/Makefile

@@ -1,2147 +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=odbc
-override PACKAGE_VERSION=2.0.0
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=odbcsql odbcsqldyn
-endif
-ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_EXAMPLES+=testodbc
-endif
-ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_EXAMPLES+=testodbc
-endif
-override INSTALL_FPCPACKAGE=y
-override SHARED_BUILD=n
-override SHARED_BUILD=n
-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
-ifeq ($(OS_SOURCE),linux)
-ifndef GCCLIBDIR
-ifeq ($(CPU_TARGET),i386)
-ifneq ($(findstring x86_64,$(shell uname -a)),)
-ifeq ($(BINUTILSPREFIX),)
-GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
-endif
-endif
-endif
-ifeq ($(CPU_TARGET),powerpc64)
-ifeq ($(BINUTILSPREFIX),)
-GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
-endif
-endif
-endif
-ifndef GCCLIBDIR
-CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(CROSSGCC),)
-GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
-endif
-endif
-ifndef OTHERLIBDIR
-OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
-endif
-endif
-ifdef inUnix
-ifeq ($(OS_SOURCE),netbsd)
-OTHERLIBDIR+=/usr/pkg/lib
-endif
-export GCCLIBDIR OTHERLIB
-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 GCCLIBDIR
-override FPCOPT+=-Fl$(GCCLIBDIR)
-endif
-ifdef OTHERLIBDIR
-override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
-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:

+ 0 - 26
packages/base/odbc/Makefile.fpc

@@ -1,26 +0,0 @@
-#
-#   Makefile.fpc for odbc bindings
-#
-[package]
-name=odbc
-version=2.0.0
-
-[target]
-units=odbcsql odbcsqldyn
-examples=testodbc
-
-[require]
-libc=n
-
-[install]
-fpcpackage=y
-
-[default]
-fpcdir=../../..
-
-[shared]
-build=n
-
-[rules]
-.NOTPARALLEL:
-

+ 0 - 40
packages/base/odbc/README

@@ -1,40 +0,0 @@
-Testing raw ODBC access:
-
-For windows:
-============
-
-1. Compile testodbc. No options should be needed.
-
-2. In the ODBC manager in the Windows Control Panel, create a new system or
-   file DSN called 'FPC' with the 'Microsoft Access (*.mdb)' driver
-   (At least MS-Access 97 or higher)
-
-   Do not enter any username or password.
-   
-   The DSN should point to the testodbc.mdb database file provided with the
-   testodbc.pp program.
-   
-3. Run the program.
-
-For Linux:
-==========
-
-1. Change testodbc.pp and set the UserName and Password constants if needed.
-
-2. Compile testodbc. No options should be needed.
-
-3. Create a MySQL database and table with the mkdb script in the mysql
-   directory. make sure the password and username as set in step 1 have
-   access to this databse.
-
-4. Install a DSN called FPC for the newly created database.
-   (I used the unixODBC ODBCConfig program for this)
-
-5. Run the program.
-
-Enjoy !
-
-Michael.
-
-
-   

+ 0 - 10
packages/base/odbc/fpmake.inc

@@ -1,10 +0,0 @@
-    StartPackage('odbc');
-    {$IF defined(ALLPACKAGES)}
-    Directory:='base/odbc';
-    {$ELSEIF defined(BASEPACKAGES)}
-    Directory:='odbc';
-    {$ENDIF}
-    OS:=[linux,win32,netbsd,openbsd,freebsd,darwin];
-    T:=Targets.AddUnit('odbcsql');
-    T:=Targets.AddExampleunit('testodbc');
-    EndPackage;

+ 0 - 17
packages/base/odbc/fpmake.pp

@@ -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.
-

+ 0 - 1709
packages/base/odbc/odbcsql.inc

@@ -1,1709 +0,0 @@
-{$ifdef fpc}
-{$mode objfpc}
-{$macro on}
-{$endif}
-
-{$h+}
-
-{$ifdef fpc}
- // define ODBC version 3.51 by default
-{$define ODBCVER:=$0351}
-{$if ODBCVER >= $0300}
-  {$define ODBCVER3}
-{$endif}
-{$if ODBCVER >= $0350}
-  {$define ODBCVER35}
-{$endif}
-{$else fpc}
-  {$define ODBCVER3}
-  {$define ODBCVER35}
-{$endif fpc}
-
-interface
-
-uses
-{$IFDEF DYNLOADINGODBC}
-     Dynlibs,
-{$ENDIF}
-     ctypes,
-     sysutils;
-
-{$IFDEF Unix}
-  {$DEFINE extdecl:=cdecl}
-  const
-    odbclib = 'libodbc.so';
-{$ENDIF}
-{$IFDEF Windows}
-  {$DEFINE extdecl:=stdcall}
-  const
-    odbclib = 'odbc32.dll';
-{$ENDIF}
-
-(* DATA TYPES CORRESPONDENCE
-   BDE fields  ODBC types
-   ----------  ------------------
-   ftBlob      SQL_BINARY
-   ftBoolean   SQL_BIT
-   ftDate      SQL_TYPE_DATE
-   ftTime      SQL_TYPE_TIME
-   ftDateTime  SQL_TYPE_TIMESTAMP
-   ftInteger   SQL_INTEGER
-   ftSmallint  SQL_SMALLINT
-   ftFloat     SQL_DOUBLE
-   ftString    SQL_CHAR
-   ftMemo      SQL_BINARY // SQL_VARCHAR
-*)
-
-type
-  SQLCHAR      = char;
-  SQLSMALLINT  = csshort;
-  SQLUSMALLINT = cushort;
-  SQLRETURN    = SQLSMALLINT;
-  SQLHANDLE    = pointer;
-  SQLHENV      = SQLHANDLE;
-  SQLHDBC      = SQLHANDLE;
-  SQLHSTMT     = SQLHANDLE;
-  SQLHDESC     = SQLHANDLE;
-  SQLINTEGER   = clong;
-  SQLUINTEGER  = culong;
-  SQLPOINTER   = pointer;
-  SQLREAL      = cfloat;
-  SQLDOUBLE    = cdouble;
-  SQLFLOAT     = cdouble;
-  SQLHWND      = pointer;
-  PSQLCHAR      = PChar;
-  PSQLINTEGER   = ^SQLINTEGER;
-  PSQLUINTEGER  = ^SQLUINTEGER;
-  PSQLSMALLINT  = ^SQLSMALLINT;
-  PSQLUSMALLINT = ^SQLUSMALLINT;
-  PSQLREAL      = ^SQLREAL;
-  PSQLDOUBLE    = ^SQLDOUBLE;
-  PSQLFLOAT     = ^SQLFLOAT;
-  PSQLHANDLE    = ^SQLHANDLE;
-
-const
-  { SQL data type codes }
-  SQL_UNKNOWN_TYPE = 0;
-  SQL_LONGVARCHAR   =(-1);
-  SQL_BINARY        =(-2);
-  SQL_VARBINARY     =(-3);
-  SQL_LONGVARBINARY =(-4);
-  SQL_BIGINT        =(-5);
-  SQL_TINYINT       =(-6);
-  SQL_BIT           =(-7);
-  SQL_WCHAR         =(-8);
-  SQL_WVARCHAR      =(-9);
-  SQL_WLONGVARCHAR  =(-10);
-
-
-  SQL_CHAR          = 1;
-  SQL_NUMERIC       = 2;
-  SQL_DECIMAL       = 3;
-  SQL_INTEGER       = 4;
-  SQL_SMALLINT      = 5;
-  SQL_FLOAT         = 6;
-  SQL_REAL          = 7;
-  SQL_DOUBLE        = 8;
- {$ifdef ODBCVER3}
-  SQL_DATETIME      = 9;
- {$endif}
-  SQL_VARCHAR       = 12;
-
- {$ifdef ODBCVER3}
-  SQL_TYPE_DATE     = 91;
-  SQL_TYPE_TIME     = 92;
-  SQL_TYPE_TIMESTAMP= 93;
- {$endif}
-
-  SQL_DATE       = 9;
-  SQL_TIME       = 10;
-  SQL_TIMESTAMP  = 11;
-  {$if ODBCVER >= $0300}
-  SQL_INTERVAL   = 10;
-  {$endif}
-  {$if ODBCVER >= $0350}
-  SQL_GUID       = -11;
-  {$endif}
-  
-  { interval codes}
-  {$ifdef ODBCVER3}
-  SQL_CODE_YEAR             = 1;
-  SQL_CODE_MONTH            = 2;
-  SQL_CODE_DAY              = 3;
-  SQL_CODE_HOUR             = 4;
-  SQL_CODE_MINUTE           = 5;
-  SQL_CODE_SECOND           = 6;
-  SQL_CODE_YEAR_TO_MONTH    = 7;
-  SQL_CODE_DAY_TO_HOUR      = 8;
-  SQL_CODE_DAY_TO_MINUTE    = 9;
-  SQL_CODE_DAY_TO_SECOND    = 10;
-  SQL_CODE_HOUR_TO_MINUTE   = 11;
-  SQL_CODE_HOUR_TO_SECOND   = 12;
-  SQL_CODE_MINUTE_TO_SECOND = 13;
-
-  SQL_INTERVAL_YEAR             = 100 + SQL_CODE_YEAR;
-  SQL_INTERVAL_MONTH            = 100 + SQL_CODE_MONTH;
-  SQL_INTERVAL_DAY              = 100 + SQL_CODE_DAY;
-  SQL_INTERVAL_HOUR             = 100 + SQL_CODE_HOUR;
-  SQL_INTERVAL_MINUTE           = 100 + SQL_CODE_MINUTE;
-  SQL_INTERVAL_SECOND           = 100 + SQL_CODE_SECOND;
-  SQL_INTERVAL_YEAR_TO_MONTH    = 100 + SQL_CODE_YEAR_TO_MONTH;
-  SQL_INTERVAL_DAY_TO_HOUR      = 100 + SQL_CODE_DAY_TO_HOUR;
-  SQL_INTERVAL_DAY_TO_MINUTE    = 100 + SQL_CODE_DAY_TO_MINUTE;
-  SQL_INTERVAL_DAY_TO_SECOND    = 100 + SQL_CODE_DAY_TO_SECOND;
-  SQL_INTERVAL_HOUR_TO_MINUTE   = 100 + SQL_CODE_HOUR_TO_MINUTE;
-  SQL_INTERVAL_HOUR_TO_SECOND   = 100 + SQL_CODE_HOUR_TO_SECOND;
-  SQL_INTERVAL_MINUTE_TO_SECOND = 100 + SQL_CODE_MINUTE_TO_SECOND;
-  {$else}
-  SQL_INTERVAL_YEAR             = -80;
-  SQL_INTERVAL_MONTH            = -81;
-  SQL_INTERVAL_YEAR_TO_MONTH    = -82;
-  SQL_INTERVAL_DAY              = -83;
-  SQL_INTERVAL_HOUR             = -84;
-  SQL_INTERVAL_MINUTE           = -85;
-  SQL_INTERVAL_SECOND           = -86;
-  SQL_INTERVAL_DAY_TO_HOUR      = -87;
-  SQL_INTERVAL_DAY_TO_MINUTE    = -88;
-  SQL_INTERVAL_DAY_TO_SECOND    = -89;
-  SQL_INTERVAL_HOUR_TO_MINUTE   = -90;
-  SQL_INTERVAL_HOUR_TO_SECOND   = -91;
-  SQL_INTERVAL_MINUTE_TO_SECOND = -92;
-  {$endif}
-  
-  { Unicode data type codes }
-  {$ifndef ODBCVER3}
-  SQL_UNICODE             = -95;
-  SQL_UNICODE_VARCHAR     = -96;
-  SQL_UNICODE_LONGVARCHAR = -97;
-  SQL_UNICODE_CHAR        = SQL_UNICODE;
-  {$else}
-  { The previous definitions for SQL_UNICODE_ are historical and obsolete }
-  SQL_UNICODE             = SQL_WCHAR;
-  SQL_UNICODE_VARCHAR     = SQL_WVARCHAR;
-  SQL_UNICODE_LONGVARCHAR = SQL_WLONGVARCHAR;
-  SQL_UNICODE_CHAR        = SQL_WCHAR;
-  {$endif}
-
-  { C datatype to SQL datatype mapping }
-  SQL_C_CHAR   = SQL_CHAR;
-  SQL_C_LONG   = SQL_INTEGER;
-  SQL_C_SHORT  = SQL_SMALLINT;
-  SQL_C_FLOAT  = SQL_REAL;
-  SQL_C_DOUBLE = SQL_DOUBLE;
-{$ifdef ODBCVER3}
-  SQL_C_NUMERIC = SQL_NUMERIC;
-{$endif}
-  SQL_C_DEFAULT = 99;
-
-  SQL_SIGNED_OFFSET   = -20;
-  SQL_UNSIGNED_OFFSET = -22;
-
-  SQL_C_DATE      = SQL_DATE;
-  SQL_C_TIME      = SQL_TIME;
-  SQL_C_TIMESTAMP = SQL_TIMESTAMP;
-{$ifdef ODBCVER3}
-  SQL_C_TYPE_DATE       = SQL_TYPE_DATE;
-  SQL_C_TYPE_TIME       = SQL_TYPE_TIME;
-  SQL_C_TYPE_TIMESTAMP  = SQL_TYPE_TIMESTAMP;
-  SQL_C_INTERVAL_YEAR   = SQL_INTERVAL_YEAR;
-  SQL_C_INTERVAL_MONTH  = SQL_INTERVAL_MONTH;
-  SQL_C_INTERVAL_DAY    = SQL_INTERVAL_DAY;
-  SQL_C_INTERVAL_HOUR   = SQL_INTERVAL_HOUR;
-  SQL_C_INTERVAL_MINUTE = SQL_INTERVAL_MINUTE;
-  SQL_C_INTERVAL_SECOND = SQL_INTERVAL_SECOND;
-  SQL_C_INTERVAL_YEAR_TO_MONTH    = SQL_INTERVAL_YEAR_TO_MONTH;
-  SQL_C_INTERVAL_DAY_TO_HOUR      = SQL_INTERVAL_DAY_TO_HOUR;
-  SQL_C_INTERVAL_DAY_TO_MINUTE    = SQL_INTERVAL_DAY_TO_MINUTE;
-  SQL_C_INTERVAL_DAY_TO_SECOND    = SQL_INTERVAL_DAY_TO_SECOND;
-  SQL_C_INTERVAL_HOUR_TO_MINUTE   = SQL_INTERVAL_HOUR_TO_MINUTE;
-  SQL_C_INTERVAL_HOUR_TO_SECOND   = SQL_INTERVAL_HOUR_TO_SECOND;
-  SQL_C_INTERVAL_MINUTE_TO_SECOND = SQL_INTERVAL_MINUTE_TO_SECOND;
-{$endif}
-  SQL_C_BINARY = SQL_BINARY;
-  SQL_C_BIT    = SQL_BIT;
-{$ifdef ODBCVER3}
-  SQL_C_SBIGINT = SQL_BIGINT+SQL_SIGNED_OFFSET;   // SIGNED BIGINT
-  SQL_C_UBIGINT = SQL_BIGINT+SQL_UNSIGNED_OFFSET; // UNSIGNED BIGINT
-{$endif}
-  SQL_C_TINYINT  =  SQL_TINYINT;
-  SQL_C_SLONG    =  SQL_C_LONG +SQL_SIGNED_OFFSET;   // SIGNED INTEGER
-  SQL_C_SSHORT   =  SQL_C_SHORT+SQL_SIGNED_OFFSET;   // SIGNED SMALLINT
-  SQL_C_STINYINT =  SQL_TINYINT+SQL_SIGNED_OFFSET;   // SIGNED TINYINT
-  SQL_C_ULONG    =  SQL_C_LONG +SQL_UNSIGNED_OFFSET; // UNSIGNED INTEGER
-  SQL_C_USHORT   =  SQL_C_SHORT+SQL_UNSIGNED_OFFSET; // UNSIGNED SMALLINT
-  SQL_C_UTINYINT =  SQL_TINYINT+SQL_UNSIGNED_OFFSET; // UNSIGNED TINYINT
-  SQL_C_BOOKMARK = SQL_C_ULONG; // BOOKMARK
-  
-{$ifdef ODBCVER35}
-  SQL_C_GUID    = SQL_GUID;
-{$endif}
-
-  SQL_TYPE_NULL = 0;
-{$ifndef ODBCVER3}
-  SQL_TYPE_MIN  = SQL_BIT;
-  SQL_TYPE_MAX  = SQL_VARCHAR;
-{$endif}
-
-{$ifdef ODBCVER3}
-  SQL_C_VARBOOKMARK = SQL_C_BINARY;
-{$endif}
-
- SQL_API_SQLDESCRIBEPARAM=58;
- SQL_NO_TOTAL   = -4;
-
-type
-  SQL_DATE_STRUCT = packed record
-    Year : SQLSMALLINT;
-    Month : SQLUSMALLINT;
-    Day : SQLUSMALLINT;
-  end;
-  PSQL_DATE_STRUCT = ^SQL_DATE_STRUCT;
-
-  SQL_TIME_STRUCT = packed record
-    Hour : SQLUSMALLINT;
-    Minute : SQLUSMALLINT;
-    Second : SQLUSMALLINT;
-  end;
-  PSQL_TIME_STRUCT = ^SQL_TIME_STRUCT;
-
-  SQL_TIMESTAMP_STRUCT = packed record
-    Year :     SQLUSMALLINT;
-    Month :    SQLUSMALLINT;
-    Day :      SQLUSMALLINT;
-    Hour :     SQLUSMALLINT;
-    Minute :   SQLUSMALLINT;
-    Second :   SQLUSMALLINT;
-    Fraction : SQLUINTEGER;
-  end;
-  PSQL_TIMESTAMP_STRUCT = ^SQL_TIMESTAMP_STRUCT;
-
-const
-  SQL_NAME_LEN = 128;
-
-  SQL_OV_ODBC3          = 3;
-  SQL_OV_ODBC2          = 2;
-  SQL_ATTR_ODBC_VERSION = 200;
-
-  { Options for SQLDriverConnect }
-  SQL_DRIVER_NOPROMPT          = 0;
-  SQL_DRIVER_COMPLETE          = 1;
-  SQL_DRIVER_PROMPT            = 2;
-  SQL_DRIVER_COMPLETE_REQUIRED = 3;
-
-  { whether an attribute is a pointer or not }
-  SQL_IS_POINTER    = (-4);
-  SQL_IS_UINTEGER   = (-5);
-  SQL_IS_INTEGER    = (-6);
-  SQL_IS_USMALLINT  = (-7);
-  SQL_IS_SMALLINT   = (-8);
-  { SQLExtendedFetch "fFetchType" values }
-  SQL_FETCH_BOOKMARK = 8;
-
-  SQL_SCROLL_OPTIONS = 44;
-
-  { SQL_USE_BOOKMARKS options }
-  SQL_UB_OFF      = 0;
-  SQL_UB_ON       = 1;
-  SQL_UB_DEFAULT  = SQL_UB_OFF;
-  SQL_UB_FIXED    = SQL_UB_ON;
-  SQL_UB_VARIABLE = 2;
-
-  { SQL_SCROLL_OPTIONS masks }
-  SQL_SO_FORWARD_ONLY  = $01;
-  SQL_SO_KEYSET_DRIVEN = $02;
-  SQL_SO_DYNAMIC       = $04;
-  SQL_SO_MIXED         = $08;
-  SQL_SO_STATIC        = $10;
-
-  SQL_BOOKMARK_PERSISTENCE = 82;
-  SQL_STATIC_SENSITIVITY   = 83;
-
-  { SQL_BOOKMARK_PERSISTENCE values }
-  SQL_BP_CLOSE       = $01;
-  SQL_BP_DELETE      = $02;
-  SQL_BP_DROP        = $04;
-  SQL_BP_TRANSACTION = $08;
-  SQL_BP_UPDATE      = $10;
-  SQL_BP_OTHER_HSTMT = $20;
-  SQL_BP_SCROLL      = $40;
-
-  SQL_DYNAMIC_CURSOR_ATTRIBUTES1      = 144;
-  SQL_DYNAMIC_CURSOR_ATTRIBUTES2      = 145;
-  SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 = 146;
-  SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 = 147;
-  SQL_INDEX_KEYWORDS                  = 148;
-  SQL_INFO_SCHEMA_VIEWS               = 149;
-  SQL_KEYSET_CURSOR_ATTRIBUTES1       = 150;
-  SQL_KEYSET_CURSOR_ATTRIBUTES2       = 151;
-  SQL_STATIC_CURSOR_ATTRIBUTES1       = 167;
-  SQL_STATIC_CURSOR_ATTRIBUTES2       = 168;
-
-  { supported SQLFetchScroll FetchOrientation's }
-  SQL_CA1_NEXT          = 1;
-  SQL_CA1_ABSOLUTE      = 2;
-  SQL_CA1_RELATIVE      = 4;
-  SQL_CA1_BOOKMARK      = 8;
-
-  { supported SQLSetPos LockType's }
-  SQL_CA1_LOCK_NO_CHANGE= $40;
-  SQL_CA1_LOCK_EXCLUSIVE= $80;
-  SQL_CA1_LOCK_UNLOCK   =$100;
-
-  { supported SQLSetPos Operations }
-  SQL_CA1_POS_POSITION  = $200;
-  SQL_CA1_POS_UPDATE    = $400;
-  SQL_CA1_POS_DELETE    = $800;
-  SQL_CA1_POS_REFRESH   =$1000;
-
-  { positioned updates and deletes }
-  SQL_CA1_POSITIONED_UPDATE=$2000;
-  SQL_CA1_POSITIONED_DELETE=$4000;
-  SQL_CA1_SELECT_FOR_UPDATE=$8000;
-
-  { supported SQLBulkOperations operations }
-  SQL_CA1_BULK_ADD                =$10000;
-  SQL_CA1_BULK_UPDATE_BY_BOOKMARK =$20000;
-  SQL_CA1_BULK_DELETE_BY_BOOKMARK =$40000;
-  SQL_CA1_BULK_FETCH_BY_BOOKMARK  =$80000;
-
-  { supported values for SQL_ATTR_SCROLL_CONCURRENCY }
-  SQL_CA2_READ_ONLY_CONCURRENCY = 1;
-  SQL_CA2_LOCK_CONCURRENCY      = 2;
-  SQL_CA2_OPT_ROWVER_CONCURRENCY= 4;
-  SQL_CA2_OPT_VALUES_CONCURRENCY= 8;
-
-  { sensitivity of the cursor to its own inserts, deletes, and updates }
-  SQL_CA2_SENSITIVITY_ADDITIONS =$10;
-  SQL_CA2_SENSITIVITY_DELETIONS =$20;
-  SQL_CA2_SENSITIVITY_UPDATES   =$40;
-
-{  semantics of SQL_ATTR_MAX_ROWS }
-  SQL_CA2_MAX_ROWS_SELECT       = $80;
-  SQL_CA2_MAX_ROWS_INSERT       =$100;
-  SQL_CA2_MAX_ROWS_DELETE       =$200;
-  SQL_CA2_MAX_ROWS_UPDATE       =$400;
-  SQL_CA2_MAX_ROWS_CATALOG      =$800;
-  SQL_CA2_MAX_ROWS_AFFECTS_ALL  =(SQL_CA2_MAX_ROWS_SELECT or
-                                        SQL_CA2_MAX_ROWS_INSERT or SQL_CA2_MAX_ROWS_DELETE or
-                                        SQL_CA2_MAX_ROWS_UPDATE or SQL_CA2_MAX_ROWS_CATALOG);
-
-  { semantics of SQL_DIAG_CURSOR_ROW_COUNT }
-  SQL_CA2_CRC_EXACT             = $1000;
-  SQL_CA2_CRC_APPROXIMATE       = $2000;
-
-  {  the kinds of positioned statements that can be simulated }
-  SQL_CA2_SIMULATE_NON_UNIQUE   = $4000;
-  SQL_CA2_SIMULATE_TRY_UNIQUE   = $8000;
-  SQL_CA2_SIMULATE_UNIQUE       =$10000;
-
-  {  Operations in SQLBulkOperations }
-  SQL_ADD                     = 4;
-  SQL_SETPOS_MAX_OPTION_VALUE = SQL_ADD;
-  SQL_UPDATE_BY_BOOKMARK      = 5;
-  SQL_DELETE_BY_BOOKMARK      = 6;
-  SQL_FETCH_BY_BOOKMARK       = 7;
-
-  { Operations in SQLSetPos }
-  SQL_POSITION                = 0;
-  SQL_REFRESH                 = 1;
-  SQL_UPDATE                  = 2;
-  SQL_DELETE                  = 3;
-
-  { Lock options in SQLSetPos }
-  SQL_LOCK_NO_CHANGE          = 0;
-  SQL_LOCK_EXCLUSIVE          = 1;
-  SQL_LOCK_UNLOCK             = 2;
-
-  { SQLExtendedFetch "rgfRowStatus" element values }
-  SQL_ROW_SUCCESS           = 0;
-  SQL_ROW_DELETED           = 1;
-  SQL_ROW_UPDATED           = 2;
-  SQL_ROW_NOROW             = 3;
-  SQL_ROW_ADDED             = 4;
-  SQL_ROW_ERROR             = 5;
-  SQL_ROW_SUCCESS_WITH_INFO = 6;
-
-  SQL_ROW_PROCEED           = 0;
-  SQL_ROW_IGNORE            = 1;
-
-  SQL_MAX_DSN_LENGTH           = 32; { maximum data source name size }
-
-  SQL_MAX_OPTION_STRING_LENGTH = 256;
-
-  SQL_ODBC_CURSORS      = 110;
-  SQL_ATTR_ODBC_CURSORS = SQL_ODBC_CURSORS;
-  { SQL_ODBC_CURSORS options }
-  SQL_CUR_USE_IF_NEEDED = 0;
-  SQL_CUR_USE_ODBC      = 1;
-  SQL_CUR_USE_DRIVER    = 2;
-  SQL_CUR_DEFAULT       = SQL_CUR_USE_DRIVER;
-
-  SQL_PARAM_TYPE_UNKNOWN = 0;
-  SQL_PARAM_INPUT        = 1;
-  SQL_PARAM_INPUT_OUTPUT = 2;
-  SQL_RESULT_COL         = 3;
-  SQL_PARAM_OUTPUT       = 4;
-  SQL_RETURN_VALUE       = 5;
-
-  { special length/indicator values }
-  SQL_NULL_DATA    = (-1);
-  SQL_DATA_AT_EXEC = (-2);
-
-  SQL_SUCCESS  = 0;
-  SQL_SUCCESS_WITH_INFO = 1;
-
-  SQL_NO_DATA = 100;
-  SQL_ERROR   = (-1);
-  SQL_INVALID_HANDLE = (-2);
-
-  SQL_STILL_EXECUTING =  2;
-  SQL_NEED_DATA       = 99;
-  { flags for null-terminated string }
-  SQL_NTS  = (-3);
-
-  { maximum message length }
-  SQL_MAX_MESSAGE_LENGTH = 512;
-
-  { date/time length constants }
-{$ifdef ODBCVER3}
-  SQL_DATE_LEN      = 10;
-  SQL_TIME_LEN      =  8;  { add P+1 if precision is nonzero }
-  SQL_TIMESTAMP_LEN = 19;  { add P+1 if precision is nonzero }
-{$endif}
-
-  { handle type identifiers }
-  SQL_HANDLE_ENV   = 1;
-  SQL_HANDLE_DBC   = 2;
-  SQL_HANDLE_STMT  = 3;
-  SQL_HANDLE_DESC  = 4;
-
-{$ifdef ODBCVER3}
-  { environment attribute }
-  SQL_ATTR_OUTPUT_NTS  = 10001;
-  { connection attributes }
-  SQL_ATTR_AUTO_IPD    = 10001;
-  SQL_ATTR_METADATA_ID = 10014;
-{$endif}  { ODBCVER >= 0x0300 }
-
-  { statement attributes }
-  SQL_ATTR_APP_ROW_DESC       = 10010;
-  SQL_ATTR_APP_PARAM_DESC     = 10011;
-  SQL_ATTR_IMP_ROW_DESC       = 10012;
-  SQL_ATTR_IMP_PARAM_DESC     = 10013;
-  SQL_ATTR_CURSOR_SCROLLABLE  = (-1);
-  SQL_ATTR_CURSOR_SENSITIVITY = (-2);
-  SQL_QUERY_TIMEOUT           =0;
-  SQL_MAX_ROWS                =1;
-  SQL_NOSCAN                  =2;
-  SQL_MAX_LENGTH              =3;
-  SQL_ASYNC_ENABLE            =4;       // same as SQL_ATTR_ASYNC_ENABLE */
-  SQL_BIND_TYPE               =5;
-  SQL_CURSOR_TYPE             = 6;
-  SQL_CONCURRENCY             = 7;
-  SQL_KEYSET_SIZE             =8;
-  SQL_ROWSET_SIZE             =9;
-  SQL_SIMULATE_CURSOR         =10;
-  SQL_RETRIEVE_DATA           =11;
-  SQL_USE_BOOKMARKS           =12;
-  SQL_GET_BOOKMARK            =13;      //      GetStmtOption Only */
-  SQL_ROW_NUMBER              = 14;     //      GetStmtOption Only */
-  
-  SQL_ATTR_CURSOR_TYPE        = SQL_CURSOR_TYPE;
-  SQL_ATTR_CONCURRENCY        = SQL_CONCURRENCY;
-  SQL_ATTR_FETCH_BOOKMARK_PTR = 16;
-  SQL_ATTR_ROW_STATUS_PTR     = 25;
-  SQL_ATTR_ROWS_FETCHED_PTR   = 26;
-  SQL_AUTOCOMMIT              = 102;
-  SQL_ATTR_AUTOCOMMIT         = SQL_AUTOCOMMIT;
-
-  SQL_ATTR_ROW_NUMBER         = SQL_ROW_NUMBER;
-  SQL_TXN_ISOLATION           = 108;
-  SQL_ATTR_TXN_ISOLATION      = SQL_TXN_ISOLATION;
-  SQL_ATTR_MAX_ROWS           = SQL_MAX_ROWS;
-  SQL_ATTR_USE_BOOKMARKS      = SQL_USE_BOOKMARKS;
-
-//* connection attributes */
-  SQL_ACCESS_MODE             =101;
-//  SQL_AUTOCOMMIT              =102;
-  SQL_LOGIN_TIMEOUT           =103;
-  SQL_OPT_TRACE               =104;
-  SQL_OPT_TRACEFILE           =105;
-  SQL_TRANSLATE_DLL           =106;
-  SQL_TRANSLATE_OPTION        =107;
-//  SQL_TXN_ISOLATION           =108;
-  SQL_CURRENT_QUALIFIER       =109;
-//  SQL_ODBC_CURSORS            =110;
-  SQL_QUIET_MODE              =111;
-  SQL_PACKET_SIZE             =112;
-
-
-//* connection attributes with new names */
-  SQL_ATTR_ACCESS_MODE              =SQL_ACCESS_MODE;
-//  SQL_ATTR_AUTOCOMMIT                       =SQL_AUTOCOMMIT;
-  SQL_ATTR_CONNECTION_DEAD        =1209;        //* GetConnectAttr only */
-  SQL_ATTR_CONNECTION_TIMEOUT   =113;
-  SQL_ATTR_CURRENT_CATALOG        =SQL_CURRENT_QUALIFIER;
-  SQL_ATTR_DISCONNECT_BEHAVIOR=114;
-  SQL_ATTR_ENLIST_IN_DTC                  =1207;
-  SQL_ATTR_ENLIST_IN_XA             =1208;
-  SQL_ATTR_LOGIN_TIMEOUT                  =SQL_LOGIN_TIMEOUT;
-//  SQL_ATTR_ODBC_CURSORS             =SQL_ODBC_CURSORS;
-  SQL_ATTR_PACKET_SIZE              =SQL_PACKET_SIZE;
-  SQL_ATTR_QUIET_MODE                       =SQL_QUIET_MODE;
-  SQL_ATTR_TRACE                                      =SQL_OPT_TRACE;
-  SQL_ATTR_TRACEFILE                        =SQL_OPT_TRACEFILE;
-  SQL_ATTR_TRANSLATE_LIB                  =SQL_TRANSLATE_DLL;
-  SQL_ATTR_TRANSLATE_OPTION       =SQL_TRANSLATE_OPTION;
-//  SQL_ATTR_TXN_ISOLATION                  =SQL_TXN_ISOLATION;
-
-//* SQL_ACCESS_MODE options */
-  SQL_MODE_READ_WRITE         =0;
-  SQL_MODE_READ_ONLY          =1;
-  SQL_MODE_DEFAULT            =SQL_MODE_READ_WRITE;
-
-  //* SQL_AUTOCOMMIT options */
-  SQL_AUTOCOMMIT_OFF          = 0;
-  SQL_AUTOCOMMIT_ON           = 1;
-  SQL_AUTOCOMMIT_DEFAULT      = SQL_AUTOCOMMIT_ON;
-  { SQL_ATTR_CURSOR_SCROLLABLE values }
-  SQL_NONSCROLLABLE              = 0;
-  SQL_SCROLLABLE                 = 1;
-  { SQL_CURSOR_TYPE options }
-  SQL_CURSOR_FORWARD_ONLY     = 0;
-  SQL_CURSOR_KEYSET_DRIVEN    = 1;
-  SQL_CURSOR_DYNAMIC          = 2;
-  SQL_CURSOR_STATIC           = 3;
-  SQL_CURSOR_TYPE_DEFAULT     = SQL_CURSOR_FORWARD_ONLY;{ Default value }
-
-  { SQL_CONCURRENCY options }
-  SQL_CONCUR_READ_ONLY = 1;
-  SQL_CONCUR_LOCK      = 2;
-  SQL_CONCUR_ROWVER    = 3;
-  SQL_CONCUR_VALUES    = 4;
-  SQL_CONCUR_DEFAULT   = SQL_CONCUR_READ_ONLY; { Default value }
-
-   { identifiers of fields in the SQL descriptor }
-  {$ifdef ODBCVER3}
-  SQL_DESC_COUNT                  = 1001;
-  SQL_DESC_TYPE                   = 1002;
-  SQL_DESC_LENGTH                 = 1003;
-  SQL_DESC_OCTET_LENGTH_PTR       = 1004;
-  SQL_DESC_PRECISION              = 1005;
-  SQL_DESC_SCALE                  = 1006;
-  SQL_DESC_DATETIME_INTERVAL_CODE = 1007;
-  SQL_DESC_NULLABLE               = 1008;
-  SQL_DESC_INDICATOR_PTR          = 1009;
-  SQL_DESC_DATA_PTR               = 1010;
-  SQL_DESC_NAME                   = 1011;
-  SQL_DESC_UNNAMED                = 1012;
-  SQL_DESC_OCTET_LENGTH           = 1013;
-  SQL_DESC_ALLOC_TYPE             = 1099;
-  {$endif}
-
-  { identifiers of fields in the diagnostics area }
-{$ifdef ODBCVER3}
-  SQL_DIAG_RETURNCODE            = 1;
-  SQL_DIAG_NUMBER                = 2;
-  SQL_DIAG_ROW_COUNT             = 3;
-  SQL_DIAG_SQLSTATE              = 4;
-  SQL_DIAG_NATIVE                = 5;
-  SQL_DIAG_MESSAGE_TEXT          = 6;
-  SQL_DIAG_DYNAMIC_FUNCTION      = 7;
-  SQL_DIAG_CLASS_ORIGIN          = 8;
-  SQL_DIAG_SUBCLASS_ORIGIN       = 9;
-  SQL_DIAG_CONNECTION_NAME       = 10;
-  SQL_DIAG_SERVER_NAME           = 11;
-  SQL_DIAG_DYNAMIC_FUNCTION_CODE = 12;
-{$endif}
-
-  { dynamic function codes }
-{$ifdef ODBCVER3}
-  SQL_DIAG_ALTER_TABLE           =  4;
-  SQL_DIAG_CREATE_INDEX          = (-1);
-  SQL_DIAG_CREATE_TABLE          = 77;
-  SQL_DIAG_CREATE_VIEW           = 84;
-  SQL_DIAG_DELETE_WHERE          = 19;
-  SQL_DIAG_DROP_INDEX            = (-2);
-  SQL_DIAG_DROP_TABLE            = 32;
-  SQL_DIAG_DROP_VIEW             = 36;
-  SQL_DIAG_DYNAMIC_DELETE_CURSOR = 38;
-  SQL_DIAG_DYNAMIC_UPDATE_CURSOR = 81;
-  SQL_DIAG_GRANT                 = 48;
-  SQL_DIAG_INSERT                = 50;
-  SQL_DIAG_REVOKE                = 59;
-  SQL_DIAG_SELECT_CURSOR         = 85;
-  SQL_DIAG_UNKNOWN_STATEMENT     =  0;
-  SQL_DIAG_UPDATE_WHERE          = 82;
-{$endif}  { ODBCVER >= 0x0300 }
-
-  { Statement attribute values for cursor sensitivity }
-{$ifdef ODBCVER3}
-  SQL_UNSPECIFIED     = 0;
-  SQL_INSENSITIVE     = 1;
-  SQL_SENSITIVE       = 2;
-{$endif}
-
-  { GetTypeInfo() request for all data types }
-  SQL_ALL_TYPES       = 0;
-
-  { Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() }
-{$ifdef ODBCVER3}
-  SQL_DEFAULT         = 99;
-{$endif}
-
-  { SQLGetData() code indicating that the application row descriptor
-    specifies the data type }
-{$ifdef ODBCVER3}
-  SQL_ARD_TYPE      = (-99);
-{$endif}
-
-  { SQL date/time type subcodes }
-{$ifdef ODBCVER3}
-  SQL_CODE_DATE       = 1;
-  SQL_CODE_TIME       = 2;
-  SQL_CODE_TIMESTAMP  = 3;
-{$endif}
-
-  { CLI option values }
-{$ifdef ODBCVER3}
-  SQL_FALSE           = 0;
-  SQL_TRUE            = 1;
-{$endif}
-
-     { values of NULLABLE field in descriptor }
-  SQL_NO_NULLS = 0;
-  SQL_NULLABLE = 1;
-
-{ Value returned by SQLGetTypeInfo() to denote that it is
- not known whether or not a data type supports null values. }
-
-  SQL_NULLABLE_UNKNOWN = 2;
-{
-/* Values returned by SQLGetTypeInfo() to show WHERE clause
- * supported
-
-#if (ODBCVER >= 0x0300)
-#define SQL_PRED_NONE     0
-#define SQL_PRED_CHAR     1
-#define SQL_PRED_BASIC    2
-#endif
-
-/* values of UNNAMED field in descriptor */
-#if (ODBCVER >= 0x0300)
-#define SQL_NAMED           0
-#define SQL_UNNAMED         1
-#endif
-
-/* values of ALLOC_TYPE field in descriptor */
-#if (ODBCVER >= 0x0300)
-#define SQL_DESC_ALLOC_AUTO 1
-#define SQL_DESC_ALLOC_USER 2
-#endif
-}
-  { FreeStmt() options }
-  SQL_CLOSE        = 0;
-  SQL_DROP         = 1;
-  SQL_UNBIND       = 2;
-  SQL_RESET_PARAMS = 3;
-
-  { Codes used for FetchOrientation in SQLFetchScroll(),
-   and in SQLDataSources() }
-  SQL_FETCH_NEXT     = 1;
-  SQL_FETCH_FIRST    = 2;
-{$ifdef odbcver3}
-  SQL_FETCH_FIRST_USER = 31;
-  SQL_FETCH_FIRST_SYSTEM = 32;
-{$endif}
-
-  { Other codes used for FetchOrientation in SQLFetchScroll() }
-  SQL_FETCH_LAST     = 3;
-  SQL_FETCH_PRIOR    = 4;
-  SQL_FETCH_ABSOLUTE = 5;
-  SQL_FETCH_RELATIVE = 6;
-{
-/* SQLEndTran() options */
-#define SQL_COMMIT          0
-#define SQL_ROLLBACK        1}
-
-//* null handles returned by SQLAllocHandle() */
-  SQL_NULL_HENV       = SQLHENV(0);
-  SQL_NULL_HDBC       = SQLHDBC(0);
-  SQL_NULL_HSTMT      = SQLHSTMT(0);
-{$ifdef odbcver3}
-  SQL_NULL_HDESC      = SQLHDESC(0);
-{$endif}
-
-//* null handle used in place of parent handle when allocating HENV */
-  SQL_NULL_HANDLE = SQLHANDLE(0);
-
-//* Values that may appear in the result set of SQLSpecialColumns() */
-  SQL_SCOPE_CURROW      = 0;
-  SQL_SCOPE_TRANSACTION = 1;
-  SQL_SCOPE_SESSION     = 2;
-
-//* Column types and scopes in SQLSpecialColumns.  */
-  SQL_BEST_ROWID        = 1;
-  SQL_ROWVER            = 2;
-
-{
-#define SQL_PC_UNKNOWN      0
-#if (ODBCVER >= 0x0300)
-#define SQL_PC_NON_PSEUDO   1
-#endif
-#define SQL_PC_PSEUDO       2
-}
-
-//* Reserved value for the IdentifierType argument of SQLSpecialColumns() */
-{$ifdef ODBCVER3}
-  SQL_ROW_IDENTIFIER = 1;
-{$endif}
-
-//* Reserved values for UNIQUE argument of SQLStatistics() */
-  SQL_INDEX_UNIQUE   = 0;
-  SQL_INDEX_ALL      = 1;
-
-//* Reserved values for RESERVED argument of SQLStatistics() */
-  SQL_QUICK   = 0;
-  SQL_ENSURE  = 1;
-
-//* Values that may appear in the result set of SQLStatistics() */
-  SQL_TABLE_STAT      = 0;
-  SQL_INDEX_CLUSTERED = 1;
-  SQL_INDEX_HASHED    = 2;
-  SQL_INDEX_OTHER     = 3;
-//  SQL_INDEX_BTREE     = ???;
-//  SQL_INDEX_CONTENT   = ???;
-
-{
-/* Information requested by SQLGetInfo() */
-#if (ODBCVER >= 0x0300)
-#define SQL_MAX_DRIVER_CONNECTIONS           0
-#define SQL_MAXIMUM_DRIVER_CONNECTIONS          SQL_MAX_DRIVER_CONNECTIONS
-#define SQL_MAX_CONCURRENT_ACTIVITIES        1
-#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES       SQL_MAX_CONCURRENT_ACTIVITIES
-#endif
-#define SQL_DATA_SOURCE_NAME                 2
-#define SQL_FETCH_DIRECTION                  8
-#define SQL_SERVER_NAME                     13
-#define SQL_SEARCH_PATTERN_ESCAPE           14
-#define SQL_DBMS_NAME                       17
-#define SQL_DBMS_VER                        18
-#define SQL_ACCESSIBLE_TABLES               19
-#define SQL_ACCESSIBLE_PROCEDURES               20
-#define SQL_CURSOR_COMMIT_BEHAVIOR          23
-#define SQL_DATA_SOURCE_READ_ONLY           25
-#define SQL_DEFAULT_TXN_ISOLATION           26
-#define SQL_IDENTIFIER_CASE                 28
-#define SQL_IDENTIFIER_QUOTE_CHAR           29
-#define SQL_MAX_COLUMN_NAME_LEN             30
-#define SQL_MAXIMUM_COLUMN_NAME_LENGTH          SQL_MAX_COLUMN_NAME_LEN
-#define SQL_MAX_CURSOR_NAME_LEN             31
-#define SQL_MAXIMUM_CURSOR_NAME_LENGTH          SQL_MAX_CURSOR_NAME_LEN
-#define SQL_MAX_SCHEMA_NAME_LEN             32
-#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH          SQL_MAX_SCHEMA_NAME_LEN
-#define SQL_MAX_CATALOG_NAME_LEN            34
-#define SQL_MAXIMUM_CATALOG_NAME_LENGTH         SQL_MAX_CATALOG_NAME_LEN
-#define SQL_MAX_TABLE_NAME_LEN              35
-}
-  SQL_SCROLL_CONCURRENCY              = 43;
-  SQL_TXN_CAPABLE                     = 46;
-  SQL_TRANSACTION_CAPABLE              = SQL_TXN_CAPABLE;
-  SQL_USER_NAME                       = 47;
-  SQL_TXN_ISOLATION_OPTION            = 72;
-  SQL_TRANSACTION_ISOLATION_OPTION    = SQL_TXN_ISOLATION_OPTION;
-{
-#define SQL_INTEGRITY                       73
-#define SQL_GETDATA_EXTENSIONS              81
-#define SQL_NULL_COLLATION                  85
-#define SQL_ALTER_TABLE                     86
-#define SQL_ORDER_BY_COLUMNS_IN_SELECT      90
-#define SQL_SPECIAL_CHARACTERS              94
-#define SQL_MAX_COLUMNS_IN_GROUP_BY         97
-#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY         SQL_MAX_COLUMNS_IN_GROUP_BY
-#define SQL_MAX_COLUMNS_IN_INDEX            98
-#define SQL_MAXIMUM_COLUMNS_IN_INDEX            SQL_MAX_COLUMNS_IN_INDEX
-#define SQL_MAX_COLUMNS_IN_ORDER_BY         99
-#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY         SQL_MAX_COLUMNS_IN_ORDER_BY
-#define SQL_MAX_COLUMNS_IN_SELECT          100
-#define SQL_MAXIMUM_COLUMNS_IN_SELECT      SQL_MAX_COLUMNS_IN_SELECT
-#define SQL_MAX_COLUMNS_IN_TABLE           101
-#define SQL_MAX_INDEX_SIZE                 102
-#define SQL_MAXIMUM_INDEX_SIZE                     SQL_MAX_INDEX_SIZE
-#define SQL_MAX_ROW_SIZE                   104
-#define SQL_MAXIMUM_ROW_SIZE                       SQL_MAX_ROW_SIZE
-#define SQL_MAX_STATEMENT_LEN              105
-#define SQL_MAXIMUM_STATEMENT_LENGTH       SQL_MAX_STATEMENT_LEN
-#define SQL_MAX_TABLES_IN_SELECT           106
-#define SQL_MAXIMUM_TABLES_IN_SELECT       SQL_MAX_TABLES_IN_SELECT
-#define SQL_MAX_USER_NAME_LEN              107
-#define SQL_MAXIMUM_USER_NAME_LENGTH       SQL_MAX_USER_NAME_LEN}
-{$ifdef ODBCVER3}
-  SQL_OJ_CAPABILITIES         = 115;
-  SQL_OUTER_JOIN_CAPABILITIES = SQL_OJ_CAPABILITIES;
-{$endif} { ODBCVER >= 0x0300 }
-
-{$ifdef ODBCVER3}
-  SQL_XOPEN_CLI_YEAR            = 10000;
-  SQL_CURSOR_SENSITIVITY        = 10001;
-  SQL_DESCRIBE_PARAMETER        = 10002;
-  SQL_CATALOG_NAME              = 10003;
-  SQL_COLLATION_SEQ             = 10004;
-  SQL_MAX_IDENTIFIER_LEN        = 10005;
-  SQL_MAXIMUM_IDENTIFIER_LENGTH = SQL_MAX_IDENTIFIER_LEN;
-{$endif} { ODBCVER >= 0x0300 }
-
-{/* SQL_ALTER_TABLE bitmasks */
-#if (ODBCVER >= 0x0200)
-#define SQL_AT_ADD_COLUMN                       0x00000001L
-#define SQL_AT_DROP_COLUMN                      0x00000002L
-#endif /* ODBCVER >= 0x0200 */
-
-#if (ODBCVER >= 0x0300)
-#define SQL_AT_ADD_CONSTRAINT                   0x00000008L
-
-/* The following bitmasks are ODBC extensions and defined in sqlext.h
-*#define        SQL_AT_COLUMN_SINGLE                                    0x00000020L
-*#define        SQL_AT_ADD_COLUMN_DEFAULT                               0x00000040L
-*#define        SQL_AT_ADD_COLUMN_COLLATION                             0x00000080L
-*#define        SQL_AT_SET_COLUMN_DEFAULT                               0x00000100L
-*#define        SQL_AT_DROP_COLUMN_DEFAULT                              0x00000200L
-*#define        SQL_AT_DROP_COLUMN_CASCADE                              0x00000400L
-*#define        SQL_AT_DROP_COLUMN_RESTRICT                             0x00000800L
-*#define SQL_AT_ADD_TABLE_CONSTRAINT                            0x00001000L
-*#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE           0x00002000L
-*#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT          0x00004000L
-*#define SQL_AT_CONSTRAINT_NAME_DEFINITION                      0x00008000L
-*#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED           0x00010000L
-*#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE          0x00020000L
-*#define SQL_AT_CONSTRAINT_DEFERRABLE                           0x00040000L
-*#define SQL_AT_CONSTRAINT_NON_DEFERRABLE                       0x00080000L
-
-#endif  /* ODBCVER >= 0x0300 */
-
-
-/* SQL_ASYNC_MODE values */
-#if (ODBCVER >= 0x0300)
-#define SQL_AM_NONE                         0
-#define SQL_AM_CONNECTION                   1
-#define SQL_AM_STATEMENT                    2
-#endif
-
-/* SQL_CURSOR_COMMIT_BEHAVIOR values */
-#define SQL_CB_DELETE                       0
-#define SQL_CB_CLOSE                        1
-#define SQL_CB_PRESERVE                     2
-
-/* SQL_FETCH_DIRECTION bitmasks */
-#define SQL_FD_FETCH_NEXT                   0x00000001L
-#define SQL_FD_FETCH_FIRST                  0x00000002L
-#define SQL_FD_FETCH_LAST                   0x00000004L
-#define SQL_FD_FETCH_PRIOR                  0x00000008L
-#define SQL_FD_FETCH_ABSOLUTE               0x00000010L
-#define SQL_FD_FETCH_RELATIVE               0x00000020L
-
-/* SQL_GETDATA_EXTENSIONS bitmasks */
-#define SQL_GD_ANY_COLUMN                   0x00000001L
-#define SQL_GD_ANY_ORDER                    0x00000002L
-
-/* SQL_IDENTIFIER_CASE values */
-#define SQL_IC_UPPER                        1
-#define SQL_IC_LOWER                        2
-#define SQL_IC_SENSITIVE                    3
-#define SQL_IC_MIXED                        4
-
-/* SQL_OJ_CAPABILITIES bitmasks */
-/* NB: this means 'outer join', not what  you may be thinking */
-
-
-#if (ODBCVER >= 0x0201)
-#define SQL_OJ_LEFT                         0x00000001L
-#define SQL_OJ_RIGHT                        0x00000002L
-#define SQL_OJ_FULL                         0x00000004L
-#define SQL_OJ_NESTED                       0x00000008L
-#define SQL_OJ_NOT_ORDERED                  0x00000010L
-#define SQL_OJ_INNER                        0x00000020L
-#define SQL_OJ_ALL_COMPARISON_OPS           0x00000040L
-#endif
-}
-{ SQL_SCROLL_CONCURRENCY bitmasks }
-  SQL_SCCO_READ_ONLY                 = 1;
-  SQL_SCCO_LOCK                      = 2;
-  SQL_SCCO_OPT_ROWVER                = 4;
-  SQL_SCCO_OPT_VALUES                = 8;
-
-//* SQL_TXN_CAPABLE values */
-   SQL_TC_NONE                       = 0;
-   SQL_TC_DML                        = 1;
-   SQL_TC_ALL                        = 2;
-   SQL_TC_DDL_COMMIT                 = 3;
-   SQL_TC_DDL_IGNORE                 = 4;
-
-//* SQL_TXN_ISOLATION_OPTION bitmasks */
-   SQL_TXN_READ_UNCOMMITTED         = 1;
-   SQL_TRANSACTION_READ_UNCOMMITTED = SQL_TXN_READ_UNCOMMITTED;
-   SQL_TXN_READ_COMMITTED           = 2;
-   SQL_TRANSACTION_READ_COMMITTED   = SQL_TXN_READ_COMMITTED;
-   SQL_TXN_REPEATABLE_READ          = 4;
-   SQL_TRANSACTION_REPEATABLE_READ  = SQL_TXN_REPEATABLE_READ;
-   SQL_TXN_SERIALIZABLE             = 8;
-   SQL_TRANSACTION_SERIALIZABLE     = SQL_TXN_SERIALIZABLE;
-{
-/* SQL_NULL_COLLATION values */
-#define SQL_NC_HIGH                         0
-#define SQL_NC_LOW                          1
-
-}
-
-{ SQL_STATIC_SENSITIVITY values }
-
-  SQL_SS_ADDITIONS = 1;
-  SQL_SS_DELETIONS = 2;
-  SQL_SS_UPDATES   = 4;
-
-{ SQLColAttributes defines }
-  SQL_COLUMN_COUNT               = 0;
-  SQL_COLUMN_NAME                = 1;
-  SQL_COLUMN_TYPE                = 2;
-  SQL_COLUMN_LENGTH              = 3;
-  SQL_COLUMN_PRECISION           = 4;
-  SQL_COLUMN_SCALE               = 5;
-  SQL_COLUMN_DISPLAY_SIZE        = 6;
-  SQL_COLUMN_NULLABLE            = 7;
-  SQL_COLUMN_UNSIGNED            = 8;
-  SQL_COLUMN_MONEY               = 9;
-  SQL_COLUMN_UPDATABLE           = 10;
-  SQL_COLUMN_AUTO_INCREMENT      = 11;
-  SQL_COLUMN_CASE_SENSITIVE      = 12;
-  SQL_COLUMN_SEARCHABLE          = 13;
-  SQL_COLUMN_TYPE_NAME           = 14;
-  SQL_COLUMN_TABLE_NAME          = 15;
-  SQL_COLUMN_OWNER_NAME          = 16;
-  SQL_COLUMN_QUALIFIER_NAME      = 17;
-  SQL_COLUMN_LABEL               = 18;
-  SQL_COLATT_OPT_MAX             = SQL_COLUMN_LABEL;
-{$ifdef ODBCVER3}
-  SQL_COLUMN_DRIVER_START        = 1000;
-{$endif} { ODBCVER >= 0x0300 }
-
- { SQLColAttribute defines }
-{$ifdef ODBCVER3}
-  SQL_DESC_ARRAY_SIZE	     = 20;
-  SQL_DESC_ARRAY_STATUS_PTR  = 21;
-  SQL_DESC_AUTO_UNIQUE_VALUE = SQL_COLUMN_AUTO_INCREMENT;
-  SQL_DESC_BASE_COLUMN_NAME  = 22;
-  SQL_DESC_BASE_TABLE_NAME   = 23;
-  SQL_DESC_BIND_OFFSET_PTR   = 24;
-  SQL_DESC_BIND_TYPE         = 25;
-  SQL_DESC_CASE_SENSITIVE    = SQL_COLUMN_CASE_SENSITIVE;
-  SQL_DESC_CATALOG_NAME      = SQL_COLUMN_QUALIFIER_NAME;
-  SQL_DESC_CONCISE_TYPE      = SQL_COLUMN_TYPE;
-  SQL_DESC_DATETIME_INTERVAL_PRECISION = 26;
-  SQL_DESC_DISPLAY_SIZE      = SQL_COLUMN_DISPLAY_SIZE;
-  SQL_DESC_FIXED_PREC_SCALE  = SQL_COLUMN_MONEY;
-  SQL_DESC_LABEL             = SQL_COLUMN_LABEL;
-  SQL_DESC_LITERAL_PREFIX    = 27;
-  SQL_DESC_LITERAL_SUFFIX    = 28;
-  SQL_DESC_LOCAL_TYPE_NAME   = 29;
-  SQL_DESC_MAXIMUM_SCALE     = 30;
-  SQL_DESC_MINIMUM_SCALE     = 31;
-  SQL_DESC_NUM_PREC_RADIX    = 32;
-  SQL_DESC_PARAMETER_TYPE    = 33;
-  SQL_DESC_ROWS_PROCESSED_PTR = 34;
-  SQL_DESC_SCHEMA_NAME       = SQL_COLUMN_OWNER_NAME;
-  SQL_DESC_SEARCHABLE        = SQL_COLUMN_SEARCHABLE;
-  SQL_DESC_TYPE_NAME         = SQL_COLUMN_TYPE_NAME;
-  SQL_DESC_TABLE_NAME        = SQL_COLUMN_TABLE_NAME;
-  SQL_DESC_UNSIGNED          = SQL_COLUMN_UNSIGNED;
-  SQL_DESC_UPDATABLE         = SQL_COLUMN_UPDATABLE;
-{$endif}
-
-//* SQLEndTran() options */
-  SQL_COMMIT    = 0;
-  SQL_ROLLBACK  = 1;
-
-  SQL_ATTR_ROW_ARRAY_SIZE = 27;
-
-//* SQLConfigDataSource() options */
-  ODBC_ADD_DSN = 1;
-  ODBC_CONFIG_DSN = 2;
-  ODBC_REMOVE_DSN = 3;
-  ODBC_ADD_SYS_DSN = 4;
-  ODBC_CONFIG_SYS_DSN = 5;
-  ODBC_REMOVE_SYS_DSN = 6;
-
-{$ifdef DYNLOADINGODBC}
-
-type   tSQLAllocHandle =function(HandleType: SQLSMALLINT;
-           InputHandle:SQLHANDLE;Var OutputHandlePtr: SQLHANDLE):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   tSQLSetEnvAttr=function (EnvironmentHandle:SQLHENV;
-           Attribute:SQLINTEGER;Value:SQLPOINTER;
-           StringLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLFreeHandle=function (HandleType:SQLSMALLINT;
-           Handle:SQLHANDLE):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLGetDiagRec=function (HandleType:SQLSMALLINT;
-           Handle:SQLHANDLE;RecNumber:SQLSMALLINT;
-           Sqlstate:PSQLCHAR;var NativeError:SQLINTEGER;
-           MessageText:PSQLCHAR;BufferLength:SQLSMALLINT;
-           var TextLength:SQLSMALLINT ):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-           
-type   TSQLGetDiagField=function (HandleType:SQLSMALLINT;
-           Handle:SQLHANDLE;RecNumber:SQLSMALLINT;
-           DiagIdentifier:SQLSMALLINT;DiagInfoPtr:SQLPOINTER;
-           BufferLength:SQLSMALLINT;var StringLengthPtr:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLConnect=function (ConnectionHandle:SQLHDBC;
-           ServerName:PSQLCHAR;NameLength1:SQLSMALLINT;
-           UserName:PSQLCHAR;NameLength2:SQLSMALLINT;
-           Authentication:PSQLCHAR;NameLength3:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLDisconnect=function(ConnectionHandle:SQLHDBC):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLDriverConnect=function (hdbc: SQLHDBC;
-           hwnd: SQLHWND;szCsin: PChar;
-           szCLen: SQLSMALLINT;szCsout: PChar;
-           cbCSMax: SQLSMALLINT;Var cbCsOut: SQLSMALLINT;
-           f: SQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLExecDirect=function (StatementHandle:SQLHSTMT;
-           StatementText:PSQLCHAR;TextLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLPrepare=function (StatementHandle:SQLHSTMT;
-           StatementText:PSQLCHAR;TextLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLCloseCursor=function (StatementHandle:SQLHSTMT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLExecute=function (StatementHandle:SQLHSTMT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLFetch=function (StatementHandle:SQLHSTMT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLNumResultCols=function (StatementHandle:SQLHSTMT;
-           var ColumnCount:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLDescribeCol=function (StatementHandle:SQLHSTMT;
-           ColumnNumber:SQLUSMALLINT;ColumnName:PSQLCHAR;
-           BufferLength:SQLSMALLINT;var NameLength:SQLSMALLINT;
-           var DataType:SQLSMALLINT;var ColumnSize:SQLUINTEGER;
-           var DecimalDigits:SQLSMALLINT;var Nullable:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLFetchScroll=function (StatementHandle:SQLHSTMT;
-           FetchOrientation:SQLSMALLINT;FetchOffset:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLExtendedFetch=function (hstmt:SQLHSTMT;
-           fFetchType:SQLUSMALLINT;irow:SQLINTEGER;
-           pcrow:PSQLUINTEGER;rgfRowStatus:PSQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLGetData=function (StatementHandle:SQLHSTMT;
-           ColumnNumber:SQLUSMALLINT;TargetType:SQLSMALLINT;
-           TargetValue:SQLPOINTER;BufferLength:SQLINTEGER;
-           StrLen_or_Ind:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLSetStmtAttr=function (StatementHandle:SQLHSTMT;
-           Attribute:SQLINTEGER;Value:SQLPOINTER;
-           StringLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLGetStmtAttr=function (StatementHandle:SQLHSTMT;
-           Attribute:SQLINTEGER;Value:SQLPOINTER;
-           BufferLength:SQLINTEGER;StringLength:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   tSQLGetInfo=function (ConnectionHandle:SQLHDBC;
-           InfoType:SQLUSMALLINT;InfoValue:SQLPOINTER;
-           BufferLength:SQLSMALLINT;StringLength:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLBulkOperations=function (StatementHandle: SQLHSTMT;
-           Operation:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLPutData=function (StatementHandle:SQLHSTMT;
-           Data:SQLPOINTER;StrLen_or_Ind:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLBindCol=function (StatementHandle:SQLHSTMT;
-           ColumnNumber:SQLUSMALLINT;TargetType:SQLSMALLINT;
-           TargetValue:SQLPOINTER;BufferLength:SQLINTEGER;
-           StrLen_or_Ind:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLSetPos=function (hstmt:SQLHSTMT;
-           irow:SQLUSMALLINT;fOption:SQLUSMALLINT;
-           fLock:SQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLDataSources=function (EnvironmentHandle:SQLHENV;
-           Direction:SQLUSMALLINT;ServerName:PSQLCHAR;
-           BufferLength1:SQLSMALLINT;NameLength1:PSQLSMALLINT;
-           Description:PSQLCHAR;BufferLength2:SQLSMALLINT;
-           NameLength2:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLDrivers=function (EnvironmentHandle:SQLHENV;
-           Direction:SQLUSMALLINT;DriverDescription:PSQLCHAR;
-           BufferLength1:SQLSMALLINT;DescriptionLength1:PSQLSMALLINT;
-           DriverAttributes:PSQLCHAR;BufferLength2:SQLSMALLINT;
-           AttributesLength2:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLSetConnectAttr=function (ConnectionHandle:SQLHDBC;
-           Attribute:SQLINTEGER; Value:SQLPOINTER;
-           StringLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLGetCursorName=function (StatementHandle:SQLHSTMT;
-           CursorName:PSQLCHAR; BufferLength:SQLSMALLINT;
-           NameLength:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLSetCursorName=function (StatementHandle:SQLHSTMT;
-           CursorName:PSQLCHAR; NameLength:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLRowCount=function (StatementHandle:SQLHSTMT;
-           Var RowCount:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLBindParameter=function (hstmt:SQLHSTMT;
-           ipar:SQLUSMALLINT;fParamType:SQLSMALLINT;
-           fCType:SQLSMALLINT;fSqlType:SQLSMALLINT;
-           cbColDef:SQLUINTEGER;ibScale:SQLSMALLINT;
-           rgbValue:SQLPOINTER;cbValueMax:SQLINTEGER;
-           pcbValue:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLFreeStmt=function (StatementHandle:SQLHSTMT;
-           Option:SQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLColAttribute=function (StatementHandle:SQLHSTMT;
-           ColumnNumber:SQLUSMALLINT;FieldIdentifier:SQLUSMALLINT;
-           CharacterAttribute:PSQLCHAR;BufferLength:SQLSMALLINT;
-           StringLength:PSQLSMALLINT;NumericAttribute:SQLPOINTER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLEndTran=function (HandleType:SQLSMALLINT;
-           Handle:SQLHANDLE;CompletionType:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLTables=function ( hstmt : SQLHSTMT;
-           szTableQualifier : PSQLCHAR;cbTableQualifier : SQLSMALLINT;
-           szTableOwner : PSQLCHAR;cbTableOwner : SQLSMALLINT;
-           szTableName : PSQLCHAR;cbTableName : SQLSMALLINT;
-           szTableType : PSQLCHAR;cbTableType : SQLSMALLINT ) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLColumns=function ( hstmt : SQLHSTMT;
-           szTableQualifier : PSQLCHAR;cbTableQualifier : SQLSMALLINT;
-           szTableOwner : PSQLCHAR;cbTableOwner : SQLSMALLINT;
-           szTableName : PSQLCHAR;cbTableName : SQLSMALLINT;
-           szColumnName : PSQLCHAR;cbColumnName : SQLSMALLINT ) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLSpecialColumns=function (StatementHandle:SQLHSTMT;
-           IdentifierType:SQLUSMALLINT;CatalogName:PSQLCHAR;
-           NameLength1:SQLSMALLINT;SchemaName:PSQLCHAR;
-           NameLength2:SQLSMALLINT;TableName:PSQLCHAR;
-           NameLength3:SQLSMALLINT;Scope:SQLUSMALLINT;
-           Nullable:SQLUSMALLINT) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLProcedures=function ( hstmt : SQLHSTMT;
-           szTableQualifier : PSQLCHAR;cbTableQualifier : SQLSMALLINT;
-           szTableOwner : PSQLCHAR;cbTableOwner : SQLSMALLINT;
-           szTableName : PSQLCHAR;cbTableName : SQLSMALLINT ) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-type   TSQLPrimaryKeys=function (hstmt : SQLHSTMT;
-           CatalogName:PSQLCHAR;NameLength1:SQLSMALLINT;
-           SchemaName:PSQLCHAR;NameLength2:SQLSMALLINT;
-           TableName:PSQLCHAR;NameLength3:SQLSMALLINT ):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};
-type   TSQLProcedureColumns = function(hstmt: SQLHSTMT;
-           CatalogName: PSQLCHAR; NameLength1: SQLSMALLINT;
-           SchemaName: PSQLCHAR; NameLength2: SQLSMALLINT;
-           ProcName: PSQLCHAR; NameLength3: SQLSMALLINT;
-           ColumnName: PSQLCHAR; NameLength4: SQLSMALLINT): SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-type   TSQLStatistics = function (hstmt: SQLHSTMT;
-           CatalogName:PSQLCHAR; NameLength1:SQLSMALLINT;
-           SchemaName:PSQLCHAR; NameLength2:SQLSMALLINT;
-           TableName:PSQLCHAR; NameLength3:SQLSMALLINT;
-           Unique:SQLUSMALLINT;
-           Reserved:SQLUSMALLINT): SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-
-var    SQLAllocHandle:tSQLAllocHandle;
-var    SQLSetEnvAttr:tSQLSetEnvAttr;
-var    SQLFreeHandle:tSQLFreeHandle;
-var    SQLGetInfo:tSQLGetInfo;
-var    SQLProcedures:TSQLProcedures;
-var    SQLColumns:TSQLColumns;
-var    SQLSpecialColumns:TSQLSpecialColumns;
-var    SQLGetDiagRec:TSQLGetDiagRec;
-var    SQLGetDiagField:TSQLGetDiagField;
-var    SQLConnect:TSQLConnect;
-var    SQLDisconnect:TSQLDisconnect;
-var    SQLDriverConnect:TSQLDriverConnect;
-var    SQLExecDirect:TSQLExecDirect;
-var    SQLPrepare:TSQLPrepare;
-var    SQLCloseCursor:TSQLCloseCursor;
-var    SQLExecute:TSQLExecute;
-var    SQLFetch:TSQLFetch;
-var    SQLNumResultCols:TSQLNumResultCols;
-var    SQLDescribeCol:TSQLDescribeCol;
-var    SQLFetchScroll:TSQLFetchScroll;
-var    SQLExtendedFetch:TSQLExtendedFetch;
-var    SQLGetData:TSQLGetData;
-var    SQLSetStmtAttr:TSQLSetStmtAttr;
-var    SQLGetStmtAttr:TSQLGetStmtAttr;
-var    SQLBulkOperations:TSQLBulkOperations;
-var    SQLPutData:TSQLPutData;
-var    SQLBindCol:TSQLBindCol;
-var    SQLSetPos:TSQLSetPos;
-var    SQLDataSources:TSQLDataSources;
-var    SQLDrivers:TSQLDrivers;
-var    SQLSetConnectAttr:TSQLSetConnectAttr;
-var    SQLGetCursorName:TSQLGetCursorName;
-var    SQLSetCursorName:TSQLSetCursorName;
-var    SQLRowCount:TSQLRowCount;
-var    SQLBindParameter:TSQLBindParameter;
-var    SQLFreeStmt:TSQLFreeStmt;
-var    SQLColAttribute:TSQLColAttribute;
-var    SQLEndTran:TSQLEndTran;
-var    SQLTables:TSQLTables;
-var    SQLPrimaryKeys:TSQLPrimaryKeys;
-var    SQLProcedureColumns : TSQLProcedureColumns;
-var    SQLStatistics: TSQLStatistics;
-var    odbcversion:word;
-
-{$else}
-
-  function SQLAllocHandle(
-               HandleType: SQLSMALLINT;
-               InputHandle:SQLHANDLE;
-               Var OutputHandlePtr: SQLHANDLE):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-  function SQLSetEnvAttr(
-               EnvironmentHandle:SQLHENV;
-               Attribute:        SQLINTEGER;
-               Value:            SQLPOINTER;
-               StringLength:     SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetEnvAttr(
-               EnvironmentHandle:SQLHENV;
-               Attribute:SQLINTEGER;
-               Value:SQLPOINTER;
-               BufferLength:SQLINTEGER;
-               StringLength:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLFreeHandle(
-               HandleType: SQLSMALLINT;
-               Handle:     SQLHANDLE):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetDiagRec(
-               HandleType:   SQLSMALLINT;
-               Handle:       SQLHANDLE;
-               RecNumber:    SQLSMALLINT;
-               Sqlstate:     PSQLCHAR;
-               var NativeError: SQLINTEGER;
-               MessageText:     PSQLCHAR;
-               BufferLength:    SQLSMALLINT;
-               var TextLength:  SQLSMALLINT ):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetDiagField(
-               HandleType:SQLSMALLINT;
-               Handle:SQLHANDLE;
-               RecNumber:SQLSMALLINT;
-               DiagIdentifier:SQLSMALLINT;
-               DiagInfoPtr:SQLPOINTER;
-               BufferLength:SQLSMALLINT;
-               var StringLengthPtr:SQLSMALLINT ):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLConnect(
-               ConnectionHandle:SQLHDBC;
-               ServerName:PSQLCHAR;    NameLength1:SQLSMALLINT;
-               UserName:PSQLCHAR;      NameLength2:SQLSMALLINT;
-               Authentication:PSQLCHAR;NameLength3:SQLSMALLINT
-              ):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLDisconnect(
-               ConnectionHandle:SQLHDBC):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLDriverConnect(
-               hdbc: SQLHDBC;
-               hwnd: SQLHWND;
-               szCsin: PChar;
-               szCLen: SQLSMALLINT;
-               szCsout: PChar;
-               cbCSMax: SQLSMALLINT;
-               Var cbCsOut: SQLSMALLINT;
-               f: SQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLBrowseConnect(
-               hdbc : SQLHDBC;
-               szConnStrIn :PSQLCHAR;
-               cbConnStrIn: SQLSMALLINT;
-               szConnStrOut : PSQLCHAR;
-               cbConnStrOutMax : SQLSMALLINT;
-               Var cbConnStrOut : SQLSMALLINT) : SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLExecDirect(
-               StatementHandle:SQLHSTMT;
-               StatementText:  PSQLCHAR;
-               TextLength:     SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLPrepare(
-               StatementHandle:SQLHSTMT;
-               StatementText:PSQLCHAR;
-               TextLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLCloseCursor(
-               StatementHandle:SQLHSTMT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLExecute(
-               StatementHandle:SQLHSTMT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLFetch(
-               StatementHandle:SQLHSTMT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLNumResultCols(
-               StatementHandle:SQLHSTMT;
-               var ColumnCount:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLDescribeCol(
-               StatementHandle:SQLHSTMT;
-               ColumnNumber:SQLUSMALLINT;
-               ColumnName:PSQLCHAR;
-               BufferLength:SQLSMALLINT;
-               var NameLength:SQLSMALLINT;
-               var DataType:SQLSMALLINT;
-               var ColumnSize:SQLUINTEGER;
-               var DecimalDigits:SQLSMALLINT;
-               var Nullable:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLFetchScroll(
-               StatementHandle:SQLHSTMT;
-               FetchOrientation:SQLSMALLINT;
-               FetchOffset:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLExtendedFetch(
-               hstmt:SQLHSTMT;
-               fFetchType:SQLUSMALLINT;
-               irow:SQLINTEGER;
-               pcrow:PSQLUINTEGER;
-               rgfRowStatus:PSQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetData(
-               StatementHandle:SQLHSTMT;
-               ColumnNumber:SQLUSMALLINT;
-               TargetType:SQLSMALLINT;
-               TargetValue:SQLPOINTER;
-               BufferLength:SQLINTEGER;
-               StrLen_or_Ind:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLSetStmtAttr(
-               StatementHandle:SQLHSTMT;
-               Attribute:SQLINTEGER;
-               Value:SQLPOINTER;
-               StringLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetStmtAttr(
-               StatementHandle:SQLHSTMT;
-               Attribute:SQLINTEGER;
-               Value:SQLPOINTER;
-               BufferLength:SQLINTEGER;
-               StringLength:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetInfo(
-               ConnectionHandle:SQLHDBC;
-               InfoType:SQLUSMALLINT;
-               InfoValue:SQLPOINTER;
-               BufferLength:SQLSMALLINT;
-               StringLength:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLBulkOperations(
-               StatementHandle: SQLHSTMT;
-               Operation:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLPutData(
-               StatementHandle:SQLHSTMT;
-               Data:SQLPOINTER;
-               StrLen_or_Ind:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLBindCol(
-               StatementHandle:SQLHSTMT;
-               ColumnNumber:SQLUSMALLINT;
-               TargetType:SQLSMALLINT;
-               TargetValue:SQLPOINTER;
-               BufferLength:SQLINTEGER;
-               StrLen_or_Ind:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLSetPos(
-               hstmt:SQLHSTMT;
-               irow:SQLUSMALLINT;
-               fOption:SQLUSMALLINT;
-               fLock:SQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLDataSources(
-               EnvironmentHandle:SQLHENV;
-               Direction:SQLUSMALLINT;
-               ServerName:PSQLCHAR;
-               BufferLength1:SQLSMALLINT;
-               NameLength1:PSQLSMALLINT;
-               Description:PSQLCHAR;
-               BufferLength2:SQLSMALLINT;
-               NameLength2:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLDrivers(
-               EnvironmentHandle:SQLHENV;
-               Direction:SQLUSMALLINT;
-               DriverDescription:PSQLCHAR;
-               BufferLength1:SQLSMALLINT;
-               DescriptionLength1:PSQLSMALLINT;
-               DriverAttributes:PSQLCHAR;
-               BufferLength2:SQLSMALLINT;
-               AttributesLength2:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLSetConnectAttr(
-               ConnectionHandle:SQLHDBC;
-               Attribute:SQLINTEGER; Value:SQLPOINTER;
-               StringLength:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLGetCursorName(
-               StatementHandle:SQLHSTMT;
-               CursorName:PSQLCHAR; BufferLength:SQLSMALLINT;
-               NameLength:PSQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLSetCursorName(
-               StatementHandle:SQLHSTMT;
-               CursorName:PSQLCHAR; NameLength:SQLSMALLINT
-               ):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLRowCount(
-               StatementHandle:SQLHSTMT;
-               Var RowCount:SQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLBindParameter(
-               hstmt:SQLHSTMT;
-               ipar:SQLUSMALLINT;
-               fParamType:SQLSMALLINT;
-               fCType:SQLSMALLINT;
-               fSqlType:SQLSMALLINT;
-               cbColDef:SQLUINTEGER;
-               ibScale:SQLSMALLINT;
-               rgbValue:SQLPOINTER;
-               cbValueMax:SQLINTEGER;
-               pcbValue:PSQLINTEGER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLFreeStmt(
-               StatementHandle:SQLHSTMT;
-               Option:SQLUSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLColAttribute (
-               StatementHandle:SQLHSTMT;
-               ColumnNumber:SQLUSMALLINT;
-               FieldIdentifier:SQLUSMALLINT;
-               CharacterAttribute:PSQLCHAR;
-               BufferLength:SQLSMALLINT;
-               StringLength:PSQLSMALLINT;
-               NumericAttribute:SQLPOINTER):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-{$ifdef ODBCVER3}
-   function SQLEndTran(
-               HandleType:SQLSMALLINT;
-               Handle:SQLHANDLE;
-               CompletionType:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-{$endif}
-   function SQLTables( hstmt : SQLHSTMT;
-                szTableQualifier : PSQLCHAR;
-                cbTableQualifier : SQLSMALLINT;
-                szTableOwner : PSQLCHAR;
-                cbTableOwner : SQLSMALLINT;
-                szTableName : PSQLCHAR;
-                cbTableName : SQLSMALLINT;
-                szTableType : PSQLCHAR;
-                cbTableType : SQLSMALLINT ) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif}; external odbclib;
-   function SQLColumns( hstmt : SQLHSTMT;
-                szTableQualifier : PSQLCHAR;
-                cbTableQualifier : SQLSMALLINT;
-                szTableOwner : PSQLCHAR;
-                cbTableOwner : SQLSMALLINT;
-                szTableName : PSQLCHAR;
-                cbTableName : SQLSMALLINT;
-                szColumnName : PSQLCHAR;
-                cbColumnName : SQLSMALLINT ) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif}; external odbclib;
-   function SQLSpecialColumns(StatementHandle:SQLHSTMT;
-                IdentifierType:SQLUSMALLINT;
-                CatalogName:PSQLCHAR;
-                NameLength1:SQLSMALLINT;
-                SchemaName:PSQLCHAR;
-                NameLength2:SQLSMALLINT;
-                TableName:PSQLCHAR;
-                NameLength3:SQLSMALLINT;
-                Scope:SQLUSMALLINT;
-                Nullable:SQLUSMALLINT) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif}; external odbclib;
-   function SQLProcedures( hstmt : SQLHSTMT;
-                szTableQualifier : PSQLCHAR;
-                cbTableQualifier : SQLSMALLINT;
-                szTableOwner : PSQLCHAR;
-                cbTableOwner : SQLSMALLINT;
-                szTableName : PSQLCHAR;
-                cbTableName : SQLSMALLINT ) : SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif}; external odbclib;
-   function SQLPrimaryKeys(hstmt : SQLHSTMT;
-                CatalogName:PSQLCHAR;NameLength1:SQLSMALLINT;
-                SchemaName:PSQLCHAR;NameLength2:SQLSMALLINT;
-                TableName:PSQLCHAR;
-                NameLength3:SQLSMALLINT):SQLRETURN;{$ifdef fpc} extdecl {$else} stdcall {$endif};external odbclib;
-   function SQLProcedureColumns(hstmt: SQLHSTMT;
-                CatalogName: PSQLCHAR; NameLength1: SQLSMALLINT;
-                SchemaName: PSQLCHAR; NameLength2: SQLSMALLINT;
-                ProcName: PSQLCHAR; NameLength3: SQLSMALLINT;
-                ColumnName: PSQLCHAR; NameLength4: SQLSMALLINT): SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif};
-                external odbclib;
-   function SQLStatistics(hstmt: SQLHSTMT;
-                CatalogName:PSQLCHAR; NameLength1:SQLSMALLINT;
-                SchemaName:PSQLCHAR; NameLength2:SQLSMALLINT;
-                TableName:PSQLCHAR; NameLength3:SQLSMALLINT;
-                Unique:SQLUSMALLINT;
-                Reserved:SQLUSMALLINT): SQLRETURN; {$ifdef fpc} extdecl {$else} stdcall {$endif}; external odbclib;
-{$endif}
-// This function always load dynamic
-
-function DateStructToDateTime( b:PSQL_DATE_STRUCT):TDateTime;
-function DateTimeToDateStruct( b:TDateTime):SQL_DATE_STRUCT;
-procedure DateTime2TimeStampStruct( var Value:SQL_TIMESTAMP_STRUCT; b:TDateTime);
-Function TimeStampStructToDateTime( B :  PSQL_TIMESTAMP_STRUCT) : TDateTime;
-Function TimeStructToDateTime (B : PSQL_TIME_STRUCT) : TDateTime;
-
-
-{$IFDEF DYNLOADINGODBC}
-Procedure InitialiseODBC;
-Procedure ReleaseODBC;
-
-var ODBCLibraryHandle : TLibHandle;
-{$ENDIF}
-
-implementation
-
-{$IFDEF DYNLOADINGODBC}
-
-var RefCount : integer;
-
-Procedure InitialiseODBC;
-
-begin
-  inc(RefCount);
-  if RefCount = 1 then
-    begin
-    ODBCLibraryHandle := loadlibrary(odbclib);
-    if ODBCLibraryHandle = nilhandle then
-      begin
-      RefCount := 0;
-      Raise EInOutError.Create('Can not load ODBC client. Is it installed? ('+odbclib+')');
-      end;
-
-{$ifdef fpc}
-    pointer(SQLAllocHandle) := GetProcedureAddress(ODBCLibraryHandle,'SQLAllocHandle');
-    pointer(SQLSetEnvAttr) := GetProcedureAddress(ODBCLibraryHandle,'SQLSetEnvAttr');
-    pointer(SQLFreeHandle) := GetProcedureAddress(ODBCLibraryHandle,'SQLFreeHandle');
-    pointer(SQLGetInfo) := GetProcedureAddress(ODBCLibraryHandle,'SQLGetInfo');
-    pointer(SQLProcedures) := GetProcedureAddress(ODBCLibraryHandle,'SQLProcedures');
-    pointer(SQLColumns) := GetProcedureAddress(ODBCLibraryHandle,'SQLColumns');
-    pointer(SQLSpecialColumns) := GetProcedureAddress(ODBCLibraryHandle,'SQLSpecialColumns');
-    pointer(SQLGetDiagRec) := GetProcedureAddress(ODBCLibraryHandle,'SQLGetDiagRec');
-    pointer(SQLGetDiagField) := GetProcedureAddress(ODBCLibraryHandle,'SQLGetDiagField');
-    pointer(SQLConnect) := GetProcedureAddress(ODBCLibraryHandle,'SQLConnect');
-    pointer(SQLDisconnect) := GetProcedureAddress(ODBCLibraryHandle,'SQLDisconnect');
-    pointer(SQLDriverConnect) := GetProcedureAddress(ODBCLibraryHandle,'SQLDriverConnect');
-    pointer(SQLExecDirect) := GetProcedureAddress(ODBCLibraryHandle,'SQLExecDirect');
-    pointer(SQLPrepare) := GetProcedureAddress(ODBCLibraryHandle,'SQLPrepare');
-    pointer(SQLCloseCursor) := GetProcedureAddress(ODBCLibraryHandle,'SQLCloseCursor');
-    pointer(SQLExecute) := GetProcedureAddress(ODBCLibraryHandle,'SQLExecute');
-    pointer(SQLFetch) := GetProcedureAddress(ODBCLibraryHandle,'SQLFetch');
-    pointer(SQLNumResultCols) := GetProcedureAddress(ODBCLibraryHandle,'SQLNumResultCols');
-    pointer(SQLDescribeCol) := GetProcedureAddress(ODBCLibraryHandle,'SQLDescribeCol');
-    pointer(SQLFetchScroll) := GetProcedureAddress(ODBCLibraryHandle,'SQLFetchScroll');
-    pointer(SQLExtendedFetch) := GetProcedureAddress(ODBCLibraryHandle,'SQLExtendedFetch');
-    pointer(SQLGetData) := GetProcedureAddress(ODBCLibraryHandle,'SQLGetData');
-    pointer(SQLSetStmtAttr) := GetProcedureAddress(ODBCLibraryHandle,'SQLSetStmtAttr');
-    pointer(SQLGetStmtAttr) := GetProcedureAddress(ODBCLibraryHandle,'SQLGetStmtAttr');
-    pointer(SQLBulkOperations) := GetProcedureAddress(ODBCLibraryHandle,'SQLBulkOperations');
-    pointer(SQLPutData) := GetProcedureAddress(ODBCLibraryHandle,'SQLPutData');
-    pointer(SQLBindCol) := GetProcedureAddress(ODBCLibraryHandle,'SQLBindCol');
-    pointer(SQLSetPos) := GetProcedureAddress(ODBCLibraryHandle,'SQLSetPos');
-    pointer(SQLDataSources) := GetProcedureAddress(ODBCLibraryHandle,'SQLDataSources');
-    pointer(SQLDrivers) := GetProcedureAddress(ODBCLibraryHandle,'SQLDrivers');
-    pointer(SQLSetConnectAttr) := GetProcedureAddress(ODBCLibraryHandle,'SQLSetConnectAttr');
-    pointer(SQLGetCursorName) := GetProcedureAddress(ODBCLibraryHandle,'SQLGetCursorName');
-    pointer(SQLSetCursorName) := GetProcedureAddress(ODBCLibraryHandle,'SQLSetCursorName');
-    pointer(SQLRowCount) := GetProcedureAddress(ODBCLibraryHandle,'SQLRowCount');
-    pointer(SQLBindParameter) := GetProcedureAddress(ODBCLibraryHandle,'SQLBindParameter');
-    pointer(SQLFreeStmt) := GetProcedureAddress(ODBCLibraryHandle,'SQLFreeStmt');
-    pointer(SQLColAttribute) := GetProcedureAddress(ODBCLibraryHandle,'SQLColAttribute');
-    pointer(SQLEndTran) := GetProcedureAddress(ODBCLibraryHandle,'SQLEndTran');
-    pointer(SQLTables) := GetProcedureAddress(ODBCLibraryHandle,'SQLTables');
-    pointer(SQLPrimaryKeys) := GetProcedureAddress(ODBCLibraryHandle,'SQLPrimaryKeys');
-    pointer(SQLProcedureColumns) := GetProcedureAddress(ODBCLibraryHandle,'SQLProcedureColumns');
-    pointer(SQLStatistics) := GetProcedureAddress(ODBCLibraryHandle,'SQLStatistics');
-{$else}
-    SQLAllocHandle := GetProcedureAddress(ODBCLibraryHandle,'SQLAllocHandle');
-    SQLSetEnvAttr := GetProcedureAddress(ODBCLibraryHandle,'SQLSetEnvAttr');
-    SQLFreeHandle := GetProcedureAddress(ODBCLibraryHandle,'SQLFreeHandle');
-    SQLGetInfo := GetProcedureAddress(ODBCLibraryHandle,'SQLGetInfo');
-    SQLProcedures := GetProcedureAddress(ODBCLibraryHandle,'SQLProcedures');
-    SQLColumns := GetProcedureAddress(ODBCLibraryHandle,'SQLColumns');
-    SQLSpecialColumns := GetProcedureAddress(ODBCLibraryHandle,'SQLSpecialColumns');
-    SQLGetDiagRec := GetProcedureAddress(ODBCLibraryHandle,'SQLGetDiagRec');
-    SQLGetDiagField := GetProcedureAddress(ODBCLibraryHandle,'SQLGetDiagField');
-    SQLConnect := GetProcedureAddress(ODBCLibraryHandle,'SQLConnect');
-    SQLDisconnect := GetProcedureAddress(ODBCLibraryHandle,'SQLDisconnect');
-    SQLDriverConnect := GetProcedureAddress(ODBCLibraryHandle,'SQLDriverConnect');
-    SQLExecDirect := GetProcedureAddress(ODBCLibraryHandle,'SQLExecDirect');
-    SQLPrepare := GetProcedureAddress(ODBCLibraryHandle,'SQLPrepare');
-    SQLCloseCursor := GetProcedureAddress(ODBCLibraryHandle,'SQLCloseCursor');
-    SQLExecute := GetProcedureAddress(ODBCLibraryHandle,'SQLExecute');
-    SQLFetch := GetProcedureAddress(ODBCLibraryHandle,'SQLFetch');
-    SQLNumResultCols := GetProcedureAddress(ODBCLibraryHandle,'SQLNumResultCols');
-    SQLDescribeCol := GetProcedureAddress(ODBCLibraryHandle,'SQLDescribeCol');
-    SQLFetchScroll := GetProcedureAddress(ODBCLibraryHandle,'SQLFetchScroll');
-    SQLExtendedFetch := GetProcedureAddress(ODBCLibraryHandle,'SQLExtendedFetch');
-    SQLGetData := GetProcedureAddress(ODBCLibraryHandle,'SQLGetData');
-    SQLSetStmtAttr := GetProcedureAddress(ODBCLibraryHandle,'SQLSetStmtAttr');
-    SQLGetStmtAttr := GetProcedureAddress(ODBCLibraryHandle,'SQLGetStmtAttr');
-    SQLBulkOperations := GetProcedureAddress(ODBCLibraryHandle,'SQLBulkOperations');
-    SQLPutData := GetProcedureAddress(ODBCLibraryHandle,'SQLPutData');
-    SQLBindCol := GetProcedureAddress(ODBCLibraryHandle,'SQLBindCol');
-    SQLSetPos := GetProcedureAddress(ODBCLibraryHandle,'SQLSetPos');
-    SQLDataSources := GetProcedureAddress(ODBCLibraryHandle,'SQLDataSources');
-    SQLDrivers := GetProcedureAddress(ODBCLibraryHandle,'SQLDrivers');
-    SQLSetConnectAttr := GetProcedureAddress(ODBCLibraryHandle,'SQLSetConnectAttr');
-    SQLGetCursorName := GetProcedureAddress(ODBCLibraryHandle,'SQLGetCursorName');
-    SQLSetCursorName := GetProcedureAddress(ODBCLibraryHandle,'SQLSetCursorName');
-    SQLRowCount := GetProcedureAddress(ODBCLibraryHandle,'SQLRowCount');
-    SQLBindParameter := GetProcedureAddress(ODBCLibraryHandle,'SQLBindParameter');
-    SQLGetFunctions := GetProcedureAddress(ODBCLibraryHandle,'SQLGetFunctions');
-    SQLDescribeParam :=GetProcedureAddress(ODBCLibraryHandle,'SQLDescribeParam');
-    SQLFreeStmt := GetProcedureAddress(ODBCLibraryHandle,'SQLFreeStmt');
-    SQLColAttribute := GetProcedureAddress(ODBCLibraryHandle,'SQLColAttribute');
-    SQLEndTran := GetProcedureAddress(ODBCLibraryHandle,'SQLEndTran');
-    SQLTables := GetProcedureAddress(ODBCLibraryHandle,'SQLTables');
-    SQLPrimaryKeys := GetProcedureAddress(ODBCLibraryHandle,'SQLPrimaryKeys');
-    SQLProcedureColumns := GetProcedureAddress(ODBCLibraryHandle,'SQLProcedureColumns');
-    SQLStatistics := GetProcedureAddress(ODBCLibraryHandle,'SQLStatistics');
-{$endif}
-    end;
-end;
-
-Procedure ReleaseODBC;
-
-begin
-  if RefCount > 0 then dec(RefCount);
-  if RefCount = 0 then
-    begin
-    if not UnloadLibrary(ODBCLibraryHandle) then inc(RefCount);
-    end;
-end;
-
-{$ENDIF}
-
-function DateStructToDateTime( b:PSQL_DATE_STRUCT):TDateTime;
-begin
-  Result:=EncodeDate( b^.Year, b^.Month, b^.Day);
-end;
-
-function DateTimeToDateStruct( b:TDateTime):SQL_DATE_STRUCT;
-var
-  y,m,d: Word;
-begin
-  DecodeDate( b, y, m, d);
-  with Result do
-  begin
-    Year:=y; Month:=m; Day:=d;
-  end;
-end;
-
-procedure DateTime2TimeStampStruct( var Value:SQL_TIMESTAMP_STRUCT; b:TDateTime);
-var
-  w1,w2,w3,w4: Word;
-begin
-   with Value do
-   begin
-      DecodeDate(b,w1,w2,w3);
-      Year   := w1;
-      Month  := w2;
-      Day    := w3;
-      DecodeTime(b,w1,w2,w3,w4);
-      Hour   := w1;
-      Minute := w2;
-      Second := w3;
-      fraction := Integer(w4)*1000000;
-   end;
-end;
-{
-  SQL_DATE_STRUCT = packed record
-    Year : SQLSMALLINT;
-    Month : SQLUSMALLINT;
-    Day : SQLUSMALLINT;
-  end;
-  PSQL_DATE_STRUCT = ^SQL_DATE_STRUCT;
-}
-
-Function TimeStampStructToDateTime( B :  PSQL_TIMESTAMP_STRUCT) : TDateTime;
-
-begin
- With B^ do
-   Result:=EncodeDate(Year,Month,Day)+
-           EncodeTime(Hour,Minute,Second,0);
-end;
-
-Function TimeStructToDateTime (B : PSQL_TIME_STRUCT) : TDateTime;
-begin
-  With B^ do
-    Result:=EncodeTime(Hour,Minute,Second,0);
-end;
-
-
-

+ 0 - 7
packages/base/odbc/odbcsql.pas

@@ -1,7 +0,0 @@
-unit odbcsql;
-
-{$UNDEF DYNLOADINGODBC}
-
-{$i odbcsql.inc}
-
-end.

+ 0 - 7
packages/base/odbc/odbcsqldyn.pas

@@ -1,7 +0,0 @@
-unit odbcsqldyn;
-
-{$DEFINE DYNLOADINGODBC}
-
-{$i odbcsql.inc}
-
-end.

BIN
packages/base/odbc/testodbc.mdb


+ 0 - 121
packages/base/odbc/testodbc.pp

@@ -1,121 +0,0 @@
-Program TestODBC;
-
-uses odbcsql;
-
-
-Const
-  DBDSn : Pchar = 'FPC';
-  Empty : pchar = '';
-  Query : pchar = 'SELECT Id,Username,InstEmail from FPdev Order by UserName';
-// Adapt to needs...
-{$ifdef linux}
-  UserName : pchar = 'michael';  // for mysql test.
-  Password : pchar = 'geen';
-{$else}
-    UserName : pchar = ''; // for MS-Acces test.
-    Password : pchar = '';
-{$endif}
-
-Function ODBCSuccess (Res : Integer) : Boolean;
-
-begin
-  ODBCSuccess:= (res=SQL_SUCCESS) or (res=SQL_SUCCESS_WITH_INFO);
-end;
-
-Var
-  EnvHandle  : SQLHandle;
-  DBHandle   : SQLHandle;
-  StmtHandle : SQLHSTMT;
-  ResID      : Longint;
-  ResName    : Array[0..255] of char; // Matches length of field+1
-  ResEmail   : Array[0..255] of char;
-
-Procedure FreeHandles;
-
-begin
-  If assigned(StmtHAndle) then
-    SQLFreeHandle(SQL_HANDLE_STMT,StmtHandle);
-  If assigned(dbhandle) then
-    SQLFreeHandle(SQL_HANDLE_DBC,DBHandle);
-  If assigned(EnvHandle) then
-    SQLFreeHandle(SQL_HANDLE_ENV,EnvHandle);
-end;
-
-Procedure DoError (Msg : String;ErrCode : Integer);
-
-begin
-  FreeHandles;
-  Writeln(Msg,' Code : ',ErrCode);
-  Halt(1);
-end;
-
-Procedure StartSession;
-
-Var
-  Res : Integer;
-
-begin
-  EnvHandle:=nil;
-  DBHandle:=nil;
-  StmtHandle:=nil;
-  Res:=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, EnvHandle);
-  if Res <> SQL_SUCCESS then
-    DoError('Could allocate ODBC handle',Res);
-  Res:=SQLSetEnvAttr(EnvHandle,SQL_ATTR_ODBC_VERSION, SQLPOINTER(SQL_OV_ODBC3), 0);
-  If Not ODBCSuccess(res) then
-    DoError('Could not set environment',Res);
-  Res:=SQLAllocHandle(SQL_HANDLE_DBC, envHandle, DBHandle);
-  If res<>SQL_SUCCESS then
-    DoError('Could not create database handle',res);
-  Res:=SQLConnect(DBHandle,PSQLCHAR(DBDSN),SQL_NTS,
-                        PSQLChar(UserName),SQL_NTS,
-                        PSQLCHAR(Password),SQL_NTS);
-  If Not OdbcSuccess(res) then
-    DoError('Could not connect to datasource.',Res);
-end;
-
-Procedure ExecuteStatement;
-
-Var
-  Res,ErrCode : LongInt;
-
-begin
-  Res:=SQLAllocHandle(SQL_HANDLE_STMT,DBHandle,stmtHandle);
-  If not ODBCSuccess(res) then
-    DoError('Could not allocate statement handle.',Res);
-  { Bind result buffers.
-    Note that for many queries, the result is not known on beforehand,
-    And must be queried with SQLPrepare, SQLNumResulCols and SQLDescribeCol
-    before the statement is executed.}
-  SQLBindCol(stmtHandle,1,SQL_INTEGER,SQLPointer(@ResID),4,@ErrCode);
-  SQLBindCol(stmtHandle,2,SQL_CHAR,SQLPointer(@ResName),256,@ErrCode);
-  SQLBindCol(stmtHandle,3,SQL_CHAR,SQLPointer(@ResEmail),256,@ErrCode);
-  // Now actually do it.
-  Res:=SQLExecDirect(StmtHandle,Query,SQL_NTS);
-  if not ODBCSuccess(res) then
-    DoError('Execute of statement failed.',Res);
-end;
-
-Procedure ShowResult;
-
-Var
-  Count,Res : Longint;
-
-begin
-  Res:=SQLFetch(StmtHandle);
-  Count:=0;
-  While Res<>SQL_NO_DATA do
-    begin
-    Inc(Count);
-    Write('Record: ',Count,' : ');
-    Writeln(ResId,' ',PChar(@ResName[0]),' ',Pchar(@ResEmail[0]));
-    Res:=SQLFetch(StmtHandle);
-    end;
-end;
-
-begin
-  StartSession;
-  ExecuteStatement;
-  ShowResult;
-  FreeHandles;
-end.