[fpc-pascal] Getting a resource file in the proper FPC directory: makefiles etc?
Reinier Olislagers
reinierolislagers at gmail.com
Wed Oct 3 09:05:51 CEST 2012
Developing my database listener for fpcunit, I see 2 locations where the
ppu files end up:
<fpc>\packages\fcl-fpcunit\units\i386-win32\dbreporter.ppu
<fpc>\units\i386-win32\fcl-fpcunit\dbreporter.ppu
However, a dbreporter.res resource file only ends up in the first location.
Which makefile(s) do I have to change in trunk (and how) in order to get
that done?
Attached is the diff that gets dbreporter compiled, but not yet the
resource file...
Note: my current code, including diff for dbtestframework.pas, adapted
makefiles, demo programs can be found via:
https://bitbucket.org/reiniero/fpc_laz_patch_playground/downloads/dblistener.zip
Thanks,
Reinier
-------------- next part --------------
Index: packages/fcl-fpcunit/Makefile.fpc
===================================================================
--- packages/fcl-fpcunit/Makefile.fpc (revision 22506)
+++ packages/fcl-fpcunit/Makefile.fpc (working copy)
@@ -7,7 +7,7 @@
version=2.7.1
[require]
-packages=rtl fpmkunit
+packages=rtl fpmkunit fcl-db
[install]
fpcpackage=y
Index: packages/fcl-fpcunit/Makefile.fpc.fpcmake
===================================================================
--- packages/fcl-fpcunit/Makefile.fpc.fpcmake (revision 22506)
+++ packages/fcl-fpcunit/Makefile.fpc.fpcmake (working copy)
@@ -9,11 +9,11 @@
[target]
units=testregistry testreport testdecorator ubmockobject xmlreporter \
fpcunitreport latextestreport xmltestreport plaintestreport fpcunit \
- testutils digesttestreport consoletestrunner
+ testutils digesttestreport consoletestrunner dbreporter
#exampledirs=exampletests
[require]
-packages=paszlib fcl-xml fcl-base
+packages=paszlib fcl-xml fcl-base fcl-db
packages_darwin=univint
[compiler]
Index: packages/fcl-fpcunit/Makefile
===================================================================
--- packages/fcl-fpcunit/Makefile (revision 22506)
+++ packages/fcl-fpcunit/Makefile (working copy)
@@ -1,5 +1,5 @@
#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/08/17]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/09/30]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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 i386-nativent i386-iphonesim 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 powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android
@@ -209,6 +209,14 @@
ifeq ($(OS_TARGET),linux)
linuxHier=1
endif
+ifndef CROSSCOMPILE
+BUILDFULLNATIVE=1
+export BUILDFULLNATIVE
+endif
+ifdef BUILDFULLNATIVE
+BUILDNATIVE=1
+export BUILDNATIVE
+endif
export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
ifdef FPCDIR
override FPCDIR:=$(subst \,/,$(FPCDIR))
@@ -915,13 +923,14 @@
TAROPT=vz
TAREXT=.tar.gz
endif
-override REQUIRE_PACKAGES=rtl fpmkunit
+override REQUIRE_PACKAGES=rtl fpmkunit fcl-db
ifeq ($(FULL_TARGET),i386-linux)
REQUIRE_PACKAGES_RTL=1
REQUIRE_PACKAGES_PASZLIB=1
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-go32v2)
REQUIRE_PACKAGES_RTL=1
@@ -929,6 +938,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-win32)
REQUIRE_PACKAGES_RTL=1
@@ -936,6 +946,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-os2)
REQUIRE_PACKAGES_RTL=1
@@ -943,6 +954,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-freebsd)
REQUIRE_PACKAGES_RTL=1
@@ -950,6 +962,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-beos)
REQUIRE_PACKAGES_RTL=1
@@ -957,6 +970,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-haiku)
REQUIRE_PACKAGES_RTL=1
@@ -964,6 +978,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-netbsd)
REQUIRE_PACKAGES_RTL=1
@@ -971,6 +986,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-solaris)
REQUIRE_PACKAGES_RTL=1
@@ -978,6 +994,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-qnx)
REQUIRE_PACKAGES_RTL=1
@@ -985,6 +1002,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-netware)
REQUIRE_PACKAGES_RTL=1
@@ -992,6 +1010,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-openbsd)
REQUIRE_PACKAGES_RTL=1
@@ -999,6 +1018,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-wdosx)
REQUIRE_PACKAGES_RTL=1
@@ -1006,6 +1026,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-darwin)
REQUIRE_PACKAGES_RTL=1
@@ -1013,6 +1034,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-emx)
REQUIRE_PACKAGES_RTL=1
@@ -1020,6 +1042,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-watcom)
REQUIRE_PACKAGES_RTL=1
@@ -1027,6 +1050,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
REQUIRE_PACKAGES_RTL=1
@@ -1034,6 +1058,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-wince)
REQUIRE_PACKAGES_RTL=1
@@ -1041,6 +1066,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1048,6 +1074,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-symbian)
REQUIRE_PACKAGES_RTL=1
@@ -1055,6 +1082,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-nativent)
REQUIRE_PACKAGES_RTL=1
@@ -1062,6 +1090,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),i386-iphonesim)
REQUIRE_PACKAGES_RTL=1
@@ -1069,6 +1098,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1076,6 +1106,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
REQUIRE_PACKAGES_RTL=1
@@ -1083,6 +1114,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
REQUIRE_PACKAGES_RTL=1
@@ -1090,6 +1122,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-amiga)
REQUIRE_PACKAGES_RTL=1
@@ -1097,6 +1130,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-atari)
REQUIRE_PACKAGES_RTL=1
@@ -1104,6 +1138,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
REQUIRE_PACKAGES_RTL=1
@@ -1111,6 +1146,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-palmos)
REQUIRE_PACKAGES_RTL=1
@@ -1118,6 +1154,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),m68k-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1125,6 +1162,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1132,6 +1170,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
REQUIRE_PACKAGES_RTL=1
@@ -1139,6 +1178,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
REQUIRE_PACKAGES_RTL=1
@@ -1146,6 +1186,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-macos)
REQUIRE_PACKAGES_RTL=1
@@ -1153,6 +1194,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
REQUIRE_PACKAGES_RTL=1
@@ -1160,6 +1202,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
REQUIRE_PACKAGES_RTL=1
@@ -1167,6 +1210,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1174,6 +1218,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-wii)
REQUIRE_PACKAGES_RTL=1
@@ -1181,6 +1226,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc-aix)
REQUIRE_PACKAGES_RTL=1
@@ -1188,6 +1234,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),sparc-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1195,6 +1242,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
REQUIRE_PACKAGES_RTL=1
@@ -1202,6 +1250,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),sparc-solaris)
REQUIRE_PACKAGES_RTL=1
@@ -1209,6 +1258,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),sparc-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1216,6 +1266,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1223,6 +1274,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
REQUIRE_PACKAGES_RTL=1
@@ -1230,6 +1282,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-netbsd)
REQUIRE_PACKAGES_RTL=1
@@ -1237,6 +1290,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-solaris)
REQUIRE_PACKAGES_RTL=1
@@ -1244,6 +1298,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-openbsd)
REQUIRE_PACKAGES_RTL=1
@@ -1251,6 +1306,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-darwin)
REQUIRE_PACKAGES_RTL=1
@@ -1258,6 +1314,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-win64)
REQUIRE_PACKAGES_RTL=1
@@ -1265,6 +1322,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),x86_64-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1272,6 +1330,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1279,6 +1338,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-palmos)
REQUIRE_PACKAGES_RTL=1
@@ -1286,6 +1346,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-darwin)
REQUIRE_PACKAGES_RTL=1
@@ -1293,6 +1354,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-wince)
REQUIRE_PACKAGES_RTL=1
@@ -1300,6 +1362,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-gba)
REQUIRE_PACKAGES_RTL=1
@@ -1307,6 +1370,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-nds)
REQUIRE_PACKAGES_RTL=1
@@ -1314,6 +1378,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1321,6 +1386,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),arm-symbian)
REQUIRE_PACKAGES_RTL=1
@@ -1328,6 +1394,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1335,6 +1402,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc64-darwin)
REQUIRE_PACKAGES_RTL=1
@@ -1342,6 +1410,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc64-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1349,6 +1418,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),powerpc64-aix)
REQUIRE_PACKAGES_RTL=1
@@ -1356,6 +1426,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),avr-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1363,6 +1434,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),armeb-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1370,6 +1442,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),armeb-embedded)
REQUIRE_PACKAGES_RTL=1
@@ -1377,6 +1450,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),mips-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1384,6 +1458,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),mipsel-linux)
REQUIRE_PACKAGES_RTL=1
@@ -1391,6 +1466,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),jvm-java)
REQUIRE_PACKAGES_RTL=1
@@ -1398,6 +1474,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifeq ($(FULL_TARGET),jvm-android)
REQUIRE_PACKAGES_RTL=1
@@ -1405,6 +1482,7 @@
REQUIRE_PACKAGES_FCL-PROCESS=1
REQUIRE_PACKAGES_HASH=1
REQUIRE_PACKAGES_FPMKUNIT=1
+REQUIRE_PACKAGES_FCL-DB=1
endif
ifdef REQUIRE_PACKAGES_RTL
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
@@ -1596,6 +1674,44 @@
override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FPMKUNIT)
endif
endif
+ifdef REQUIRE_PACKAGES_FCL-DB
+PACKAGEDIR_FCL-DB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-db/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_FCL-DB),)
+ifneq ($(wildcard $(PACKAGEDIR_FCL-DB)/units/$(TARGETSUFFIX)),)
+UNITDIR_FCL-DB=$(PACKAGEDIR_FCL-DB)/units/$(TARGETSUFFIX)
+else
+UNITDIR_FCL-DB=$(PACKAGEDIR_FCL-DB)
+endif
+ifneq ($(wildcard $(PACKAGEDIR_FCL-DB)/units/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-DB=$(PACKAGEDIR_FCL-DB)/units/$(SOURCESUFFIX)
+else
+ifneq ($(wildcard $(PACKAGEDIR_FCL-DB)/units_bs/$(SOURCESUFFIX)),)
+UNITDIR_FPMAKE_FCL-DB=$(PACKAGEDIR_FCL-DB)/units_bs/$(SOURCESUFFIX)
+else
+UNITDIR_FPMAKE_FCL-DB=$(PACKAGEDIR_FCL-DB)
+endif
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_FCL-DB)/$(FPCMADE):
+ $(MAKE) -C $(PACKAGEDIR_FCL-DB) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-DB)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_FCL-DB=
+UNITDIR_FCL-DB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-db/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_FCL-DB),)
+UNITDIR_FCL-DB:=$(firstword $(UNITDIR_FCL-DB))
+else
+UNITDIR_FCL-DB=
+endif
+endif
+ifdef UNITDIR_FCL-DB
+override COMPILER_UNITDIR+=$(UNITDIR_FCL-DB)
+endif
+ifdef UNITDIR_FPMAKE_FCL-DB
+override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-DB)
+endif
+endif
ifndef NOCPUDEF
override FPCOPTDEF=$(ARCH)
endif
Index: packages/fcl-fpcunit/fpmake.pp
===================================================================
--- packages/fcl-fpcunit/fpmake.pp (revision 22506)
+++ packages/fcl-fpcunit/fpmake.pp (working copy)
@@ -19,14 +19,15 @@
P.Version:='2.7.1';
P.Dependencies.Add('paszlib');
P.Dependencies.Add('fcl-base');
+ P.Dependencies.Add('fcl-db');
P.Dependencies.Add('fcl-xml');
P.Dependencies.Add('univint',[Darwin,iPhoneSim]);
- P.Author := ' Dean Zobec, Michael van Canneyt';
+ P.Author := 'Dean Zobec, Michael van Canneyt';
P.License := 'LGPL with modification, ';
P.HomepageURL := 'www.freepascal.org';
P.Email := '';
- P.Description := 'Unit testing system inspired by JUnit of Free Component Libraries (FCL), FPC''s OOP library.';
+ P.Description := 'Unit testing system inspired by JUnit. Part of the Free Component Libraries (FCL), FPC''s OOP library.';
P.NeedLibC:= false;
P.OSes := P.OSes - [nativent];
@@ -65,6 +66,12 @@
AddUnit('fpcunit');
AddUnit('fpcunitreport');
end;
+ T:=P.Targets.AddUnit('dbreporter.pas');
+ with T.Dependencies do
+ begin
+ AddUnit('fpcunit');
+ AddUnit('testutils');
+ end;
T:=P.Targets.AddUnit('testdecorator.pp');
with T.Dependencies do
begin
Index: packages/fcl-db/tests/dbtestframework.pas
===================================================================
--- packages/fcl-db/tests/dbtestframework.pas (revision 22506)
+++ packages/fcl-db/tests/dbtestframework.pas (working copy)
@@ -8,8 +8,8 @@
uses
SysUtils,
- fpcunit, testreport, testregistry,
- DigestTestReport,
+ fpcunit, testreport, testregistry,
+ DigestTestReport, dbreporter,
toolsunit,
// List of supported database connectors
sqldbtoolsunit,
@@ -54,9 +54,29 @@
FDigestResultsWriter.Free;
end;
end;
+
+Procedure DatabaseOutput(RevisionID,Comment: string);
+// Output using database listener
+var
+ FDBResultsWriter: TDBResultsWriter;
+ testResult: TTestResult;
+begin
+ testResult := TTestResult.Create;
+ FDBResultsWriter := TDBResultsWriter.Create;
+ try
+ testResult.AddListener(FDBResultsWriter);
+ FDBResultsWriter.Comment:=Comment;
+ FDBResultsWriter.RevisionID:=RevisionID;
+ GetTestRegistry.Run(testResult);
+ finally
+ testResult.Free;
+ FDBResultsWriter.Free;
+ end;
+end;
Var
- Application : TTestRunner;
+ Application : TTestRunner;
+ Comment,RevisionID: string;
begin
InitialiseDBConnector;
@@ -64,8 +84,27 @@
Application:=TTestRunner.Create(nil);
With Application do
try
+ if HasOption('h','help') then
+ begin
+ writeln('Options specific to this program:');
+ writeln('-d --database: output to database using dbreporter listener');
+ writeln('For databases, use dbreporter.ini; you can specify:');
+ writeln(' --comment=: comment for test run; default: database type');
+ writeln(' --revisionid=: unique (revision) ID to identify the code');
+ writeln('-g --legacy: output legacy XML format');
+ end;
if HasOption('g','legacy') then
LegacyOutput
+ else if HasOption('d','database') then
+ begin
+ Comment:=dbtype;
+ RevisionID:='';
+ if HasOption('comment') then
+ Comment:=GetOptionValue('comment');
+ if HasOption('revisionid') then
+ RevisionID:=GetOptionValue('revisionid');
+ DatabaseOutput(RevisionID,Comment);
+ end
else
begin
DefaultFormat:=fplain;
More information about the fpc-pascal
mailing list