Browse Source

Merged revisions 9406,9434,9450-9456,9459-9463,9466,9468-9469,9472-9473,9476-9477,9480,9491-9492,9529,9536,9550,9566-9568,9571,9573,9576-9577,9579,9583,9587,9632-9637,9655-9658,9678-9680,9689-9690,9692,9694-9695,9697-9714,9720,9722,9724,9729,9732-9733,9740-9741,9745,9749-9750,9752-9757,9760-9766,9768-9770,9772-9774,9777 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r9406 | michael | 2007-12-07 11:51:52 +0100 (Fri, 07 Dec 2007) | 1 line

* Patch from Andrew Haines to support FPDOC generating CHMs
........
r9657 | peter | 2008-01-06 20:45:47 +0100 (Sun, 06 Jan 2008) | 3 lines

* disable for now resourcestrings for process.pp because it breaks
install under windows
........
r9678 | peter | 2008-01-08 19:21:23 +0100 (Tue, 08 Jan 2008) | 2 lines

* renamed tests to examples
........
r9679 | peter | 2008-01-08 19:22:04 +0100 (Tue, 08 Jan 2008) | 2 lines

* renamed tests to examples
........
r9680 | peter | 2008-01-08 19:24:00 +0100 (Tue, 08 Jan 2008) | 2 lines

* unified check for win32, win64
........
r9689 | jonas | 2008-01-09 01:01:15 +0100 (Wed, 09 Jan 2008) | 2 lines

* fixed after tests->examples rename
........
r9690 | jonas | 2008-01-09 01:09:54 +0100 (Wed, 09 Jan 2008) | 2 lines

* fixed unified win32/win64 check
........
r9724 | jonas | 2008-01-12 17:57:08 +0100 (Sat, 12 Jan 2008) | 3 lines

* fixed calculation of md4/md5 for files > 512MB on 32 bit systems
(based on patch from Sergei Gorelkin, mantis #9903)
........
r9741 | florian | 2008-01-13 20:06:39 +0100 (Sun, 13 Jan 2008) | 2 lines

+ ClassIDToProgID, resolves #10600
........
r9752 | peter | 2008-01-14 17:54:03 +0100 (Mon, 14 Jan 2008) | 2 lines

* moved freevision package
........
r9777 | marco | 2008-01-16 20:05:55 +0100 (Wed, 16 Jan 2008) | 2 lines

* BSDs added
........

git-svn-id: branches/fixes_2_2@9814 -

peter 17 years ago
parent
commit
630dfb225b
60 changed files with 995 additions and 827 deletions
  1. 46 46
      .gitattributes
  2. 0 14
      .gitignore
  3. 85 196
      Makefile
  4. 2 61
      Makefile.fpc
  5. 152 62
      packages/Makefile
  6. 3 10
      packages/Makefile.fpc
  7. 1 1
      packages/fcl-process/fpmake.pp
  8. 1 0
      packages/fpmkunit/src/fpmkunit.pp
  9. 453 258
      packages/fv/Makefile
  10. 8 8
      packages/fv/Makefile.fpc
  11. 25 4
      packages/fv/examples/Makefile
  12. 1 1
      packages/fv/examples/Makefile.fpc
  13. 0 0
      packages/fv/examples/platform.inc
  14. 0 0
      packages/fv/examples/testapp.lpi
  15. 0 0
      packages/fv/examples/testapp.pas
  16. 0 0
      packages/fv/src/app.pas
  17. 0 0
      packages/fv/src/asciitab.pas
  18. 0 0
      packages/fv/src/buildfv.pas
  19. 0 0
      packages/fv/src/colortxt.pas
  20. 0 0
      packages/fv/src/dialogs.pas
  21. 0 0
      packages/fv/src/drivers.pas
  22. 0 0
      packages/fv/src/editors.pas
  23. 0 0
      packages/fv/src/fvcommon.pas
  24. 0 0
      packages/fv/src/fvconsts.pas
  25. 0 0
      packages/fv/src/gadgets.pas
  26. 0 0
      packages/fv/src/go32smsg.inc
  27. 0 0
      packages/fv/src/histlist.pas
  28. 0 0
      packages/fv/src/inplong.pas
  29. 0 0
      packages/fv/src/memory.pas
  30. 0 0
      packages/fv/src/menus.pas
  31. 0 0
      packages/fv/src/msgbox.pas
  32. 0 0
      packages/fv/src/outline.pas
  33. 0 0
      packages/fv/src/platform.inc
  34. 0 0
      packages/fv/src/resource.pas
  35. 0 0
      packages/fv/src/statuses.pas
  36. 0 0
      packages/fv/src/stddlg.pas
  37. 0 0
      packages/fv/src/str.inc
  38. 0 0
      packages/fv/src/strtxt.inc
  39. 0 0
      packages/fv/src/sysmsg.pas
  40. 0 0
      packages/fv/src/tabs.pas
  41. 0 0
      packages/fv/src/time.pas
  42. 0 0
      packages/fv/src/timeddlg.pas
  43. 0 0
      packages/fv/src/unixsmsg.inc
  44. 0 0
      packages/fv/src/validate.pas
  45. 0 0
      packages/fv/src/views.pas
  46. 0 0
      packages/fv/src/w32smsg.inc
  47. 0 0
      packages/hash/examples/md5.ref
  48. 0 0
      packages/hash/examples/mdtest.pas
  49. 1 1
      packages/hash/src/md5.pp
  50. 152 152
      packages/paszlib/Makefile
  51. 1 1
      packages/paszlib/Makefile.fpc
  52. 0 0
      packages/paszlib/examples/Makefile
  53. 0 0
      packages/paszlib/examples/Makefile.fpc
  54. 0 0
      packages/paszlib/examples/example.pas
  55. 0 0
      packages/paszlib/examples/minigzip.pas
  56. 0 0
      packages/paszlib/examples/miniunz.pas
  57. 0 0
      packages/paszlib/examples/minizip.pas
  58. 50 11
      packages/paszlib/fpmake.pp
  59. 2 1
      packages/winunits-base/src/activex.pp
  60. 12 0
      packages/winunits-base/src/comobj.pp

+ 46 - 46
.gitattributes

@@ -595,44 +595,6 @@ compiler/x86_64/x8664nop.inc svneol=native#text/plain
 compiler/x86_64/x8664op.inc svneol=native#text/plain
 compiler/x86_64/x8664pro.inc svneol=native#text/plain
 compiler/x86_64/x8664tab.inc svneol=native#text/plain
-fv/Makefile svneol=native#text/plain
-fv/Makefile.fpc svneol=native#text/plain
-fv/app.pas svneol=native#text/plain
-fv/asciitab.pas svneol=native#text/plain
-fv/buildfv.pas svneol=native#text/plain
-fv/colortxt.pas svneol=native#text/plain
-fv/dialogs.pas svneol=native#text/plain
-fv/drivers.pas svneol=native#text/plain
-fv/editors.pas svneol=native#text/plain
-fv/fvcommon.pas svneol=native#text/plain
-fv/fvconsts.pas svneol=native#text/plain
-fv/gadgets.pas svneol=native#text/plain
-fv/go32smsg.inc svneol=native#text/plain
-fv/histlist.pas svneol=native#text/plain
-fv/inplong.pas svneol=native#text/plain
-fv/memory.pas svneol=native#text/plain
-fv/menus.pas svneol=native#text/plain
-fv/msgbox.pas svneol=native#text/plain
-fv/outline.pas -text
-fv/platform.inc svneol=native#text/plain
-fv/resource.pas svneol=native#text/plain
-fv/statuses.pas svneol=native#text/plain
-fv/stddlg.pas svneol=native#text/plain
-fv/str.inc svneol=native#text/plain
-fv/strtxt.inc svneol=native#text/plain
-fv/sysmsg.pas svneol=native#text/plain
-fv/tabs.pas svneol=native#text/plain
-fv/test/Makefile svneol=native#text/plain
-fv/test/Makefile.fpc svneol=native#text/plain
-fv/test/platform.inc svneol=native#text/plain
-fv/test/testapp.lpi -text
-fv/test/testapp.pas svneol=native#text/plain
-fv/time.pas svneol=native#text/plain
-fv/timeddlg.pas svneol=native#text/plain
-fv/unixsmsg.inc svneol=native#text/plain
-fv/validate.pas svneol=native#text/plain
-fv/views.pas svneol=native#text/plain
-fv/w32smsg.inc svneol=native#text/plain
 ide/Makefile svneol=native#text/plain
 ide/Makefile.fpc svneol=native#text/plain
 ide/README -text
@@ -4277,16 +4239,54 @@ packages/fpmkunit/Makefile svneol=native#text/plain
 packages/fpmkunit/Makefile.fpc svneol=native#text/plain
 packages/fpmkunit/fpmake.pp svneol=native#text/plain
 packages/fpmkunit/src/fpmkunit.pp svneol=native#text/plain
+packages/fv/Makefile svneol=native#text/plain
+packages/fv/Makefile.fpc svneol=native#text/plain
+packages/fv/examples/Makefile svneol=native#text/plain
+packages/fv/examples/Makefile.fpc svneol=native#text/plain
+packages/fv/examples/platform.inc svneol=native#text/plain
+packages/fv/examples/testapp.lpi svneol=native#text/plain
+packages/fv/examples/testapp.pas svneol=native#text/plain
+packages/fv/src/app.pas svneol=native#text/plain
+packages/fv/src/asciitab.pas svneol=native#text/plain
+packages/fv/src/buildfv.pas svneol=native#text/plain
+packages/fv/src/colortxt.pas svneol=native#text/plain
+packages/fv/src/dialogs.pas svneol=native#text/plain
+packages/fv/src/drivers.pas svneol=native#text/plain
+packages/fv/src/editors.pas svneol=native#text/plain
+packages/fv/src/fvcommon.pas svneol=native#text/plain
+packages/fv/src/fvconsts.pas svneol=native#text/plain
+packages/fv/src/gadgets.pas svneol=native#text/plain
+packages/fv/src/go32smsg.inc svneol=native#text/plain
+packages/fv/src/histlist.pas svneol=native#text/plain
+packages/fv/src/inplong.pas svneol=native#text/plain
+packages/fv/src/memory.pas svneol=native#text/plain
+packages/fv/src/menus.pas svneol=native#text/plain
+packages/fv/src/msgbox.pas svneol=native#text/plain
+packages/fv/src/outline.pas svneol=native#text/plain
+packages/fv/src/platform.inc svneol=native#text/plain
+packages/fv/src/resource.pas svneol=native#text/plain
+packages/fv/src/statuses.pas svneol=native#text/plain
+packages/fv/src/stddlg.pas svneol=native#text/plain
+packages/fv/src/str.inc svneol=native#text/plain
+packages/fv/src/strtxt.inc svneol=native#text/plain
+packages/fv/src/sysmsg.pas svneol=native#text/plain
+packages/fv/src/tabs.pas svneol=native#text/plain
+packages/fv/src/time.pas svneol=native#text/plain
+packages/fv/src/timeddlg.pas svneol=native#text/plain
+packages/fv/src/unixsmsg.inc svneol=native#text/plain
+packages/fv/src/validate.pas svneol=native#text/plain
+packages/fv/src/views.pas svneol=native#text/plain
+packages/fv/src/w32smsg.inc svneol=native#text/plain
 packages/hash/Makefile svneol=native#text/plain
 packages/hash/Makefile.fpc svneol=native#text/plain
+packages/hash/examples/md5.ref svneol=native#text/plain
+packages/hash/examples/mdtest.pas svneol=native#text/plain
 packages/hash/fpmake.pp svneol=native#text/plain
 packages/hash/src/crc.pas svneol=native#text/plain
 packages/hash/src/md5.pp svneol=native#text/plain
 packages/hash/src/ntlm.pas svneol=native#text/plain
 packages/hash/src/unixcrypt.pas svneol=native#text/plain
 packages/hash/src/uuid.pas svneol=native#text/plain
-packages/hash/tests/md5.ref svneol=native#text/plain
-packages/hash/tests/mdtest.pas svneol=native#text/plain
 packages/paszlib/Makefile svneol=native#text/plain
 packages/paszlib/Makefile.fpc svneol=native#text/plain
 packages/paszlib/adler.pas svneol=native#text/plain
@@ -4297,6 +4297,12 @@ packages/paszlib/demo/example.pas svneol=native#text/plain
 packages/paszlib/demo/minigzip.pas svneol=native#text/plain
 packages/paszlib/demo/miniunz.pas svneol=native#text/plain
 packages/paszlib/demo/minizip.pas svneol=native#text/plain
+packages/paszlib/examples/Makefile svneol=native#text/plain
+packages/paszlib/examples/Makefile.fpc svneol=native#text/plain
+packages/paszlib/examples/example.pas svneol=native#text/plain
+packages/paszlib/examples/minigzip.pas svneol=native#text/plain
+packages/paszlib/examples/miniunz.pas svneol=native#text/plain
+packages/paszlib/examples/minizip.pas svneol=native#text/plain
 packages/paszlib/fpmake.pp svneol=native#text/plain
 packages/paszlib/gzio.pas svneol=native#text/plain
 packages/paszlib/infblock.pas svneol=native#text/plain
@@ -4326,12 +4332,6 @@ packages/paszlib/src/zipper.pp svneol=native#text/plain
 packages/paszlib/src/ziputils.pas svneol=native#text/plain
 packages/paszlib/src/zstream.pp svneol=native#text/plain
 packages/paszlib/src/zuncompr.pas svneol=native#text/plain
-packages/paszlib/tests/Makefile svneol=native#text/plain
-packages/paszlib/tests/Makefile.fpc svneol=native#text/plain
-packages/paszlib/tests/example.pas svneol=native#text/plain
-packages/paszlib/tests/minigzip.pas svneol=native#text/plain
-packages/paszlib/tests/miniunz.pas svneol=native#text/plain
-packages/paszlib/tests/minizip.pas svneol=native#text/plain
 packages/paszlib/trees.pas svneol=native#text/plain
 packages/paszlib/unzip.pas svneol=native#text/plain
 packages/paszlib/zbase.pas svneol=native#text/plain

+ 0 - 14
.gitignore

@@ -149,20 +149,6 @@ compiler/x86_64/*.s
 compiler/x86_64/fpcmade.*
 compiler/x86_64/units
 /fpcmade.*
-fv/*.bak
-fv/*.exe
-fv/*.o
-fv/*.ppu
-fv/*.s
-fv/fpcmade.*
-fv/test/*.bak
-fv/test/*.exe
-fv/test/*.o
-fv/test/*.ppu
-fv/test/*.s
-fv/test/fpcmade.*
-fv/test/units
-fv/units
 ide/*.bak
 ide/*.exe
 ide/*.o

+ 85 - 196
Makefile

@@ -1,11 +1,12 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/10/21]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/01/20]
 #
 default: help
-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-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
+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)))
@@ -56,6 +57,11 @@ else
 SRCBATCHEXT=.bat
 endif
 endif
+ifdef COMSPEC
+ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+RUNBATCH=$(COMSPEC) /C
+endif
+endif
 ifdef inUnix
 PATHSEP=/
 else
@@ -102,7 +108,11 @@ 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
@@ -326,177 +336,172 @@ endif
 CLEANOPTS=FPC=$(PPNEW)
 BUILDOPTS=FPC=$(PPNEW) RELEASE=1
 INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW)
-ifneq ($(wildcard fv),)
-NOFVTARGETS=wince
-ifeq ($(findstring $(OS_TARGET),$(NOFVTARGETS)),)
-FV=1
-endif
-endif
 ifndef CROSSCOMPILE
 ifneq ($(wildcard ide),)
-ifneq ($(wildcard fv),)
 IDETARGETS=go32v2 win32 linux freebsd os2 emx
 ifneq ($(findstring $(OS_TARGET),$(IDETARGETS)),)
 IDE=1
 endif
 endif
 endif
-endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_DIRS+=compiler rtl utils fv packages ide installer
+override TARGET_DIRS+=compiler rtl utils packages ide installer
 endif
 override INSTALL_FPCPACKAGE=y
 ifdef REQUIRE_UNITSDIR
@@ -1260,7 +1265,7 @@ override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 endif
 ifndef CROSSBOOTSTRAP
 ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX) 
+override FPCOPT+=-XP$(BINUTILSPREFIX)
 endif
 ifneq ($(BINUTILSPREFIX),)
 override FPCOPT+=-Xr$(RLINKPATH)
@@ -1392,9 +1397,13 @@ ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
 ifeq ($(FULL_SOURCE),$(FULL_TARGET))
+ifdef RUNBATCH
+EXECPPAS:=@$(RUNBATCH) $(PPAS)
+else
 EXECPPAS:=@$(PPAS)
 endif
 endif
+endif
 ifdef TARGET_RSTS
 override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
 override CLEANRSTFILES+=$(RSTFILES)
@@ -1535,8 +1544,12 @@ else
 endif
 ifdef inUnix
 	/bin/sh $(ZIPWRAPPER)
+else
+ifdef RUNBATCH
+	$(RUNBATCH) (ZIPWRAPPER)
 else
 	$(ZIPWRAPPER)
+endif
 endif
 	$(DEL) $(ZIPWRAPPER)
 else
@@ -1728,7 +1741,6 @@ ifeq ($(FULL_TARGET),i386-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1737,7 +1749,6 @@ ifeq ($(FULL_TARGET),i386-go32v2)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1746,7 +1757,6 @@ ifeq ($(FULL_TARGET),i386-win32)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1755,7 +1765,6 @@ ifeq ($(FULL_TARGET),i386-os2)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1764,7 +1773,6 @@ ifeq ($(FULL_TARGET),i386-freebsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1773,7 +1781,6 @@ ifeq ($(FULL_TARGET),i386-beos)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1782,7 +1789,6 @@ ifeq ($(FULL_TARGET),i386-netbsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1791,7 +1797,6 @@ ifeq ($(FULL_TARGET),i386-solaris)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1800,7 +1805,6 @@ ifeq ($(FULL_TARGET),i386-qnx)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1809,7 +1813,6 @@ ifeq ($(FULL_TARGET),i386-netware)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1818,7 +1821,6 @@ ifeq ($(FULL_TARGET),i386-openbsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1827,7 +1829,6 @@ ifeq ($(FULL_TARGET),i386-wdosx)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1836,7 +1837,6 @@ ifeq ($(FULL_TARGET),i386-darwin)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1845,7 +1845,6 @@ ifeq ($(FULL_TARGET),i386-emx)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1854,7 +1853,6 @@ ifeq ($(FULL_TARGET),i386-watcom)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1863,7 +1861,6 @@ ifeq ($(FULL_TARGET),i386-netwlibc)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1872,7 +1869,6 @@ ifeq ($(FULL_TARGET),i386-wince)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1881,7 +1877,6 @@ ifeq ($(FULL_TARGET),i386-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1890,7 +1885,6 @@ ifeq ($(FULL_TARGET),i386-symbian)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1899,7 +1893,6 @@ ifeq ($(FULL_TARGET),m68k-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1908,7 +1901,6 @@ ifeq ($(FULL_TARGET),m68k-freebsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1917,7 +1909,6 @@ ifeq ($(FULL_TARGET),m68k-netbsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1926,7 +1917,6 @@ ifeq ($(FULL_TARGET),m68k-amiga)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1935,7 +1925,6 @@ ifeq ($(FULL_TARGET),m68k-atari)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1944,7 +1933,6 @@ ifeq ($(FULL_TARGET),m68k-openbsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1953,7 +1941,6 @@ ifeq ($(FULL_TARGET),m68k-palmos)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1962,7 +1949,6 @@ ifeq ($(FULL_TARGET),m68k-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1971,7 +1957,6 @@ ifeq ($(FULL_TARGET),powerpc-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1980,7 +1965,6 @@ ifeq ($(FULL_TARGET),powerpc-netbsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1989,7 +1973,6 @@ ifeq ($(FULL_TARGET),powerpc-amiga)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -1998,7 +1981,6 @@ ifeq ($(FULL_TARGET),powerpc-macos)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2007,7 +1989,6 @@ ifeq ($(FULL_TARGET),powerpc-darwin)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2016,7 +1997,6 @@ ifeq ($(FULL_TARGET),powerpc-morphos)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2025,7 +2005,6 @@ ifeq ($(FULL_TARGET),powerpc-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2034,7 +2013,6 @@ ifeq ($(FULL_TARGET),sparc-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2043,7 +2021,6 @@ ifeq ($(FULL_TARGET),sparc-netbsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2052,7 +2029,6 @@ ifeq ($(FULL_TARGET),sparc-solaris)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2061,7 +2037,6 @@ ifeq ($(FULL_TARGET),sparc-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2070,7 +2045,6 @@ ifeq ($(FULL_TARGET),x86_64-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2079,7 +2053,14 @@ ifeq ($(FULL_TARGET),x86_64-freebsd)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
+TARGET_DIRS_PACKAGES=1
+TARGET_DIRS_IDE=1
+TARGET_DIRS_INSTALLER=1
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+TARGET_DIRS_COMPILER=1
+TARGET_DIRS_RTL=1
+TARGET_DIRS_UTILS=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2088,7 +2069,6 @@ ifeq ($(FULL_TARGET),x86_64-win64)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2097,7 +2077,6 @@ ifeq ($(FULL_TARGET),x86_64-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2106,7 +2085,6 @@ ifeq ($(FULL_TARGET),arm-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2115,7 +2093,6 @@ ifeq ($(FULL_TARGET),arm-palmos)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2124,7 +2101,6 @@ ifeq ($(FULL_TARGET),arm-wince)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2133,7 +2109,6 @@ ifeq ($(FULL_TARGET),arm-gba)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2142,7 +2117,6 @@ ifeq ($(FULL_TARGET),arm-nds)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2151,7 +2125,6 @@ ifeq ($(FULL_TARGET),arm-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2160,7 +2133,6 @@ ifeq ($(FULL_TARGET),arm-symbian)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2169,7 +2141,6 @@ ifeq ($(FULL_TARGET),powerpc64-linux)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2178,7 +2149,6 @@ ifeq ($(FULL_TARGET),powerpc64-darwin)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2187,7 +2157,6 @@ ifeq ($(FULL_TARGET),powerpc64-embedded)
 TARGET_DIRS_COMPILER=1
 TARGET_DIRS_RTL=1
 TARGET_DIRS_UTILS=1
-TARGET_DIRS_FV=1
 TARGET_DIRS_PACKAGES=1
 TARGET_DIRS_IDE=1
 TARGET_DIRS_INSTALLER=1
@@ -2327,51 +2296,6 @@ utils:
 	$(MAKE) -C utils all
 .PHONY: utils_all utils_debug utils_smart utils_release utils_units utils_examples utils_shared utils_install utils_sourceinstall utils_exampleinstall utils_distinstall utils_zipinstall utils_zipsourceinstall utils_zipexampleinstall utils_zipdistinstall utils_clean utils_distclean utils_cleanall utils_info utils_makefiles utils
 endif
-ifdef TARGET_DIRS_FV
-fv_all:
-	$(MAKE) -C fv all
-fv_debug:
-	$(MAKE) -C fv debug
-fv_smart:
-	$(MAKE) -C fv smart
-fv_release:
-	$(MAKE) -C fv release
-fv_units:
-	$(MAKE) -C fv units
-fv_examples:
-	$(MAKE) -C fv examples
-fv_shared:
-	$(MAKE) -C fv shared
-fv_install:
-	$(MAKE) -C fv install
-fv_sourceinstall:
-	$(MAKE) -C fv sourceinstall
-fv_exampleinstall:
-	$(MAKE) -C fv exampleinstall
-fv_distinstall:
-	$(MAKE) -C fv distinstall
-fv_zipinstall:
-	$(MAKE) -C fv zipinstall
-fv_zipsourceinstall:
-	$(MAKE) -C fv zipsourceinstall
-fv_zipexampleinstall:
-	$(MAKE) -C fv zipexampleinstall
-fv_zipdistinstall:
-	$(MAKE) -C fv zipdistinstall
-fv_clean:
-	$(MAKE) -C fv clean
-fv_distclean:
-	$(MAKE) -C fv distclean
-fv_cleanall:
-	$(MAKE) -C fv cleanall
-fv_info:
-	$(MAKE) -C fv info
-fv_makefiles:
-	$(MAKE) -C fv makefiles
-fv:
-	$(MAKE) -C fv all
-.PHONY: fv_all fv_debug fv_smart fv_release fv_units fv_examples fv_shared fv_install fv_sourceinstall fv_exampleinstall fv_distinstall fv_zipinstall fv_zipsourceinstall fv_zipexampleinstall fv_zipdistinstall fv_clean fv_distclean fv_cleanall fv_info fv_makefiles fv
-endif
 ifdef TARGET_DIRS_PACKAGES
 packages_all:
 	$(MAKE) -C packages all
@@ -2543,27 +2467,6 @@ help:
 .PHONY: compiler_cycle
 compiler_cycle:
 	$(MAKE) -C compiler cycle
-.PHONY: packages_base_all packages_base_smart packages_base_shared \
-	packages_fcl_all packages_fcl_smart packages_fcl_shared \
-	packages_extra_all packages_extra_smart packages_extra_shared
-packages_base_all:
-	$(MAKE) -C packages base_all
-packages_base_smart:
-	$(MAKE) -C packages base_smart
-packages_base_shared:
-	$(MAKE) -C packages base_shared
-packages_fcl_all:
-	$(MAKE) -C packages fcl_all
-packages_fcl_smart:
-	$(MAKE) -C packages fcl_smart
-packages_fcl_shared:
-	$(MAKE) -C packages fcl_shared
-packages_extra_all:
-	$(MAKE) -C packages extra_all
-packages_extra_smart:
-	$(MAKE) -C packages extra_smart
-packages_extra_shared:
-	$(MAKE) -C packages extra_shared
 BUILDSTAMP=build-stamp.$(FULL_TARGET)
 .PHONY: all clean distclean build install installbase installother zipinstallbase zipinstallotherzipinstall singlezipinstall
 all: build
@@ -2575,21 +2478,13 @@ $(BUILDSTAMP):
 	$(MAKE) compiler_cycle RELEASE=1
 	$(MAKE) rtl_clean $(CLEANOPTS)
 	$(MAKE) packages_clean $(CLEANOPTS)
-ifdef FV
-	$(MAKE) fv_clean $(CLEANOPTS)
-endif
 	$(MAKE) utils_clean $(CLEANOPTS)
 ifdef IDE
 	$(MAKE) ide_clean $(CLEANOPTS)
 	$(MAKE) installer_clean $(CLEANOPTS)
 endif
 	$(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS)
-	$(MAKE) packages_base_$(ALLTARGET) $(BUILDOPTS)
-	$(MAKE) packages_fcl_$(ALLTARGET) $(BUILDOPTS)
-ifdef FV
-	$(MAKE) fv_$(ALLTARGET) $(BUILDOPTS)
-endif
-	$(MAKE) packages_extra_$(ALLTARGET) $(BUILDOPTS)
+	$(MAKE) packages_$(ALLTARGET) $(BUILDOPTS)
 	$(MAKE) utils_all $(BUILDOPTS)
 ifdef IDE
 	$(MAKE) ide_all $(BUILDOPTS)
@@ -2603,9 +2498,6 @@ installbase:
 	$(MAKE) rtl_$(INSTALLTARGET) $(INSTALLOPTS)
 installother:
 	$(MAKE) packages_$(INSTALLTARGET) $(INSTALLOPTS)
-ifdef FV
-	$(MAKE) fv_$(INSTALLTARGET) $(INSTALLOPTS)
-endif
 	$(MAKE) utils_$(INSTALLTARGET) $(INSTALLOPTS)
 ifdef IDE
 	$(MAKE) ide_$(INSTALLTARGET) $(BUILDOPTS)
@@ -2614,9 +2506,6 @@ zipinstallbase:
 	$(MAKE) fpc_zipinstall ZIPTARGET=installbase ZIPNAME=base $(INSTALLOPTS)
 zipinstallother:
 	$(MAKE) packages_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGUNITSPRE)
-ifdef FV
-	$(MAKE) fv_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGUNITSPRE)
-endif
 	$(MAKE) utils_zip$(INSTALLTARGET) $(INSTALLOPTS)
 ifdef IDE
 	$(MAKE) ide_zip$(INSTALLTARGET) $(INSTALLOPTS)

+ 2 - 61
Makefile.fpc

@@ -7,7 +7,7 @@ name=fpc
 version=2.2.1
 
 [target]
-dirs=compiler rtl utils fv packages ide installer
+dirs=compiler rtl utils packages ide installer
 
 [require]
 nortl=y
@@ -143,26 +143,16 @@ CLEANOPTS=FPC=$(PPNEW)
 BUILDOPTS=FPC=$(PPNEW) RELEASE=1
 INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW)
 
-# Not compile FV for following target(s)
-ifneq ($(wildcard fv),)
-NOFVTARGETS=wince
-ifeq ($(findstring $(OS_TARGET),$(NOFVTARGETS)),)
-FV=1
-endif
-endif
-
 # Compile also IDE (check for ide and fv dir)
 # Skipped by default for cross compiles, because it depends on libc
 ifndef CROSSCOMPILE
 ifneq ($(wildcard ide),)
-ifneq ($(wildcard fv),)
 IDETARGETS=go32v2 win32 linux freebsd os2 emx
 ifneq ($(findstring $(OS_TARGET),$(IDETARGETS)),)
 IDE=1
 endif
 endif
 endif
-endif
 
 [rules]
 .NOTPARALLEL:
@@ -205,41 +195,6 @@ compiler_cycle:
         $(MAKE) -C compiler cycle
 
 
-#######################################
-# Packages
-#######################################
-
-.PHONY: packages_base_all packages_base_smart packages_base_shared \
-        packages_fcl_all packages_fcl_smart packages_fcl_shared \
-        packages_extra_all packages_extra_smart packages_extra_shared
-
-packages_base_all:
-        $(MAKE) -C packages base_all
-
-packages_base_smart:
-        $(MAKE) -C packages base_smart
-
-packages_base_shared:
-        $(MAKE) -C packages base_shared
-
-packages_fcl_all:
-        $(MAKE) -C packages fcl_all
-
-packages_fcl_smart:
-        $(MAKE) -C packages fcl_smart
-
-packages_fcl_shared:
-        $(MAKE) -C packages fcl_shared
-
-packages_extra_all:
-        $(MAKE) -C packages extra_all
-
-packages_extra_smart:
-        $(MAKE) -C packages extra_smart
-
-packages_extra_shared:
-        $(MAKE) -C packages extra_shared
-
 ##########################################################################
 # Packaging
 ##########################################################################
@@ -262,9 +217,6 @@ $(BUILDSTAMP):
 # clean
         $(MAKE) rtl_clean $(CLEANOPTS)
         $(MAKE) packages_clean $(CLEANOPTS)
-ifdef FV
-        $(MAKE) fv_clean $(CLEANOPTS)
-endif
         $(MAKE) utils_clean $(CLEANOPTS)
 ifdef IDE
         $(MAKE) ide_clean $(CLEANOPTS)
@@ -272,12 +224,7 @@ ifdef IDE
 endif
 # build everything
         $(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS)
-        $(MAKE) packages_base_$(ALLTARGET) $(BUILDOPTS)
-        $(MAKE) packages_fcl_$(ALLTARGET) $(BUILDOPTS)
-ifdef FV
-        $(MAKE) fv_$(ALLTARGET) $(BUILDOPTS)
-endif
-        $(MAKE) packages_extra_$(ALLTARGET) $(BUILDOPTS)
+        $(MAKE) packages_$(ALLTARGET) $(BUILDOPTS)
         $(MAKE) utils_all $(BUILDOPTS)
 ifdef IDE
         $(MAKE) ide_all $(BUILDOPTS)
@@ -295,9 +242,6 @@ installbase:
 
 installother:
         $(MAKE) packages_$(INSTALLTARGET) $(INSTALLOPTS)
-ifdef FV
-        $(MAKE) fv_$(INSTALLTARGET) $(INSTALLOPTS)
-endif
         $(MAKE) utils_$(INSTALLTARGET) $(INSTALLOPTS)
 ifdef IDE
         $(MAKE) ide_$(INSTALLTARGET) $(BUILDOPTS)
@@ -308,9 +252,6 @@ zipinstallbase:
 
 zipinstallother:
         $(MAKE) packages_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGUNITSPRE)
-ifdef FV
-        $(MAKE) fv_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGUNITSPRE)
-endif
         $(MAKE) utils_zip$(INSTALLTARGET) $(INSTALLOPTS)
 ifdef IDE
         $(MAKE) ide_zip$(INSTALLTARGET) $(INSTALLOPTS)

+ 152 - 62
packages/Makefile

@@ -241,163 +241,163 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  winunits-base winunits-jedi fcl-web
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  winunits-base winunits-jedi fcl-web
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  winunits-base winunits-jedi fcl-web
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  winunits-base winunits-jedi fcl-web
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process  fcl-web fcl-async
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_DIRS+=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+override TARGET_DIRS+=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 endif
 override INSTALL_FPCPACKAGE=y
 override INSTALL_FPCSUBDIR=packages
@@ -1480,6 +1480,7 @@ fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
 fpc_makefiles: fpc_makefile fpc_makefile_dirs
 ifeq ($(FULL_TARGET),i386-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1499,6 +1500,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1516,6 +1518,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1536,6 +1539,7 @@ TARGET_DIRS_FCL-WEB=1
 endif
 ifeq ($(FULL_TARGET),i386-os2)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1553,6 +1557,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1572,6 +1577,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),i386-beos)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1589,6 +1595,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1608,6 +1615,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1627,6 +1635,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1644,6 +1653,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1661,6 +1671,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1680,6 +1691,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1697,6 +1709,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1716,6 +1729,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1733,6 +1747,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1750,6 +1765,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1767,6 +1783,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1785,6 +1802,7 @@ TARGET_DIRS_FCL-WEB=1
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1802,6 +1820,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1819,6 +1838,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1838,6 +1858,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1857,6 +1878,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1876,6 +1898,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1893,6 +1916,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1910,6 +1934,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1929,6 +1954,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1946,6 +1972,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1963,6 +1990,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -1982,6 +2010,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2001,6 +2030,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2018,6 +2048,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2035,6 +2066,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2054,6 +2086,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2071,6 +2104,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2088,6 +2122,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2107,6 +2142,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2126,6 +2162,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2145,6 +2182,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2162,6 +2200,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2181,6 +2220,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2200,6 +2240,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2219,6 +2260,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2239,6 +2281,7 @@ TARGET_DIRS_FCL-WEB=1
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2256,6 +2299,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),arm-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2275,6 +2319,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2292,6 +2337,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2310,6 +2356,7 @@ TARGET_DIRS_FCL-WEB=1
 endif
 ifeq ($(FULL_TARGET),arm-gba)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2327,6 +2374,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2344,6 +2392,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2361,6 +2410,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2378,6 +2428,7 @@ TARGET_DIRS_FCL-PROCESS=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2397,6 +2448,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2416,6 +2468,7 @@ TARGET_DIRS_FCL-ASYNC=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 TARGET_DIRS_BASE=1
+TARGET_DIRS_FV=1
 TARGET_DIRS_HASH=1
 TARGET_DIRS_PASZLIB=1
 TARGET_DIRS_FPMKUNIT=1
@@ -2476,6 +2529,51 @@ base:
 	$(MAKE) -C base all
 .PHONY: base_all base_debug base_smart base_release base_units base_examples base_shared base_install base_sourceinstall base_exampleinstall base_distinstall base_zipinstall base_zipsourceinstall base_zipexampleinstall base_zipdistinstall base_clean base_distclean base_cleanall base_info base_makefiles base
 endif
+ifdef TARGET_DIRS_FV
+fv_all:
+	$(MAKE) -C fv all
+fv_debug:
+	$(MAKE) -C fv debug
+fv_smart:
+	$(MAKE) -C fv smart
+fv_release:
+	$(MAKE) -C fv release
+fv_units:
+	$(MAKE) -C fv units
+fv_examples:
+	$(MAKE) -C fv examples
+fv_shared:
+	$(MAKE) -C fv shared
+fv_install:
+	$(MAKE) -C fv install
+fv_sourceinstall:
+	$(MAKE) -C fv sourceinstall
+fv_exampleinstall:
+	$(MAKE) -C fv exampleinstall
+fv_distinstall:
+	$(MAKE) -C fv distinstall
+fv_zipinstall:
+	$(MAKE) -C fv zipinstall
+fv_zipsourceinstall:
+	$(MAKE) -C fv zipsourceinstall
+fv_zipexampleinstall:
+	$(MAKE) -C fv zipexampleinstall
+fv_zipdistinstall:
+	$(MAKE) -C fv zipdistinstall
+fv_clean:
+	$(MAKE) -C fv clean
+fv_distclean:
+	$(MAKE) -C fv distclean
+fv_cleanall:
+	$(MAKE) -C fv cleanall
+fv_info:
+	$(MAKE) -C fv info
+fv_makefiles:
+	$(MAKE) -C fv makefiles
+fv:
+	$(MAKE) -C fv all
+.PHONY: fv_all fv_debug fv_smart fv_release fv_units fv_examples fv_shared fv_install fv_sourceinstall fv_exampleinstall fv_distinstall fv_zipinstall fv_zipsourceinstall fv_zipexampleinstall fv_zipdistinstall fv_clean fv_distclean fv_cleanall fv_info fv_makefiles fv
+endif
 ifdef TARGET_DIRS_HASH
 hash_all:
 	$(MAKE) -C hash all
@@ -3320,14 +3418,7 @@ extra_debug: base_debug fcl-xml_debug
 extra_smart: base_smart fcl-xml_smart
 extra_release: base_release fcl-xml_release
 extra_shared: base_shared fcl-xml_shared
-ifeq ($(OS_TARGET),win32)
-fcl-base_all: base_all winunits-base_all winunits-jedi_all
-fcl-base_debug: base_debug winunits-base_debug winunits-jedi_debug
-fcl-base_smart: base_smart winunits-base_smart winunits-jedi_smart
-fcl-base_release: base_release winunits-base_release winunits-jedi_release
-fcl-base_shared: base_shared winunits-base_shared winunits-jedi_shared
-else
-ifeq ($(OS_TARGET),win64)
+ifneq ($(findstring $(OS_TARGET),win32 win64),)
 fcl-base_all: base_all winunits-base_all winunits-jedi_all
 fcl-base_debug: base_debug winunits-base_debug winunits-jedi_debug
 fcl-base_smart: base_smart winunits-base_smart winunits-jedi_smart
@@ -3340,7 +3431,6 @@ fcl-base_smart: base_smart
 fcl-base_release: base_release
 fcl-base_shared: base_shared
 endif
-endif
 fcl-xml_all: fcl-base_all
 fcl-xml_debug: fcl-base_debug
 fcl-xml_smart: fcl-base_smart

+ 3 - 10
packages/Makefile.fpc

@@ -3,7 +3,7 @@
 #
 
 [target]
-dirs=base hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
+dirs=base fv hash paszlib fpmkunit fcl-base fcl-db fcl-image fcl-net fcl-passrc fcl-registry fcl-xml fcl-fpcunit fcl-json extra fcl-process
 dirs_freebsd=fcl-web fcl-async
 dirs_darwin=fcl-web fcl-async
 dirs_solaris=fcl-web fcl-async
@@ -34,14 +34,8 @@ extra_smart: base_smart fcl-xml_smart
 extra_release: base_release fcl-xml_release
 extra_shared: base_shared fcl-xml_shared
 
-ifeq ($(OS_TARGET),win32)
-fcl-base_all: base_all winunits-base_all winunits-jedi_all
-fcl-base_debug: base_debug winunits-base_debug winunits-jedi_debug
-fcl-base_smart: base_smart winunits-base_smart winunits-jedi_smart
-fcl-base_release: base_release winunits-base_release winunits-jedi_release
-fcl-base_shared: base_shared winunits-base_shared winunits-jedi_shared
-else
-ifeq ($(OS_TARGET),win64)
+
+ifneq ($(findstring $(OS_TARGET),win32 win64),)
 fcl-base_all: base_all winunits-base_all winunits-jedi_all
 fcl-base_debug: base_debug winunits-base_debug winunits-jedi_debug
 fcl-base_smart: base_smart winunits-base_smart winunits-jedi_smart
@@ -54,7 +48,6 @@ fcl-base_smart: base_smart
 fcl-base_release: base_release
 fcl-base_shared: base_shared
 endif
-endif
 
 fcl-xml_all: fcl-base_all
 fcl-xml_debug: fcl-base_debug

+ 1 - 1
packages/fcl-process/fpmake.pp

@@ -25,7 +25,7 @@ begin
       T.Dependencies.AddInclude('pipes.inc');
     T:=P.Targets.AddUnit('process.pp');
       T.Dependencies.AddInclude('process.inc');
-      T.ResourceStrings:=True;
+//      T.ResourceStrings:=True;
     T:=P.Targets.AddUnit('simpleipc.pp');
       T.Dependencies.AddInclude('simpleipc.inc');
       T.ResourceStrings:=True;

+ 1 - 0
packages/fpmkunit/src/fpmkunit.pp

@@ -99,6 +99,7 @@ Const
   AllOSes = [Low(TOS)..High(TOS)];
   AllCPUs = [Low(TCPU)..High(TCPU)];
   AllUnixOSes  = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris];
+  AllBSDOSes      = [FreeBSD,NetBSD,OpenBSD,Darwin];
   AllWindowsOSes  = [Win32,Win64,WinCE];
 
   { This table is kept OS,Cpu because it is easier to maintain (PFV) }

File diff suppressed because it is too large
+ 453 - 258
packages/fv/Makefile


+ 8 - 8
fv/Makefile.fpc → packages/fv/Makefile.fpc

@@ -4,30 +4,30 @@
 
 [package]
 name=fv
-version=2.2.1
+version=2.0.0
 
 [target]
 units=buildfv
 implicitunits=app colortxt dialogs drivers editors \
               fvcommon fvconsts gadgets histlist inplong memory \
               menus msgbox statuses stddlg tabs time validate \
-              views sysmsg asciitab timeddlg
-exampledirs=test
+              views sysmsg asciitab timeddlg outline
+exampledirs=examples
+rsts=app dialogs editors msgbox stddlg
 
 [libs]
 libname=libfpfv.so
-libversion=2.2.1
+libversion=2.0.0
 
 [compiler]
-targetdir=.
+sourcedir=src
 
 [install]
 buildunit=buildfv
 fpcpackage=y
 
 [default]
-fpcdir=..
+fpcdir=../..
 
 [rules]
-buildfv$(PPUEXT): $(wildcard *.pas *.inc)
-
+.NOTPARALLEL:

+ 25 - 4
fv/test/Makefile → packages/fv/examples/Makefile

@@ -1,11 +1,12 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/10/21]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/12/01]
 #
 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-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
+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)))
@@ -56,6 +57,11 @@ else
 SRCBATCHEXT=.bat
 endif
 endif
+ifdef COMSPEC
+ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
+RUNBATCH=$(COMSPEC) /C
+endif
+endif
 ifdef inUnix
 PATHSEP=/
 else
@@ -92,7 +98,7 @@ endif
 endif
 export ECHO
 endif
-override DEFAULT_FPCDIR=../..
+override DEFAULT_FPCDIR=../../..
 ifndef FPC
 ifdef PP
 FPC=$(PP)
@@ -102,7 +108,11 @@ 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
@@ -350,6 +360,9 @@ endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 override TARGET_PROGRAMS+=testapp
 endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override TARGET_PROGRAMS+=testapp
+endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 override TARGET_PROGRAMS+=testapp
 endif
@@ -1294,6 +1307,10 @@ ifeq ($(FULL_TARGET),x86_64-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
 endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_FV=1
+endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_FV=1
@@ -1408,7 +1425,7 @@ override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
 endif
 ifndef CROSSBOOTSTRAP
 ifneq ($(BINUTILSPREFIX),)
-override FPCOPT+=-XP$(BINUTILSPREFIX) 
+override FPCOPT+=-XP$(BINUTILSPREFIX)
 endif
 ifneq ($(BINUTILSPREFIX),)
 override FPCOPT+=-Xr$(RLINKPATH)
@@ -1540,9 +1557,13 @@ ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
 ifeq ($(FULL_SOURCE),$(FULL_TARGET))
+ifdef RUNBATCH
+EXECPPAS:=@$(RUNBATCH) $(PPAS)
+else
 EXECPPAS:=@$(PPAS)
 endif
 endif
+endif
 .PHONY: fpc_exes
 ifndef CROSSINSTALL
 ifneq ($(TARGET_PROGRAMS),)

+ 1 - 1
fv/test/Makefile.fpc → packages/fv/examples/Makefile.fpc

@@ -9,4 +9,4 @@ programs=testapp
 packages=fv
 
 [default]
-fpcdir=../..
+fpcdir=../../..

+ 0 - 0
fv/test/platform.inc → packages/fv/examples/platform.inc


+ 0 - 0
fv/test/testapp.lpi → packages/fv/examples/testapp.lpi


+ 0 - 0
fv/test/testapp.pas → packages/fv/examples/testapp.pas


+ 0 - 0
fv/app.pas → packages/fv/src/app.pas


+ 0 - 0
fv/asciitab.pas → packages/fv/src/asciitab.pas


+ 0 - 0
fv/buildfv.pas → packages/fv/src/buildfv.pas


+ 0 - 0
fv/colortxt.pas → packages/fv/src/colortxt.pas


+ 0 - 0
fv/dialogs.pas → packages/fv/src/dialogs.pas


+ 0 - 0
fv/drivers.pas → packages/fv/src/drivers.pas


+ 0 - 0
fv/editors.pas → packages/fv/src/editors.pas


+ 0 - 0
fv/fvcommon.pas → packages/fv/src/fvcommon.pas


+ 0 - 0
fv/fvconsts.pas → packages/fv/src/fvconsts.pas


+ 0 - 0
fv/gadgets.pas → packages/fv/src/gadgets.pas


+ 0 - 0
fv/go32smsg.inc → packages/fv/src/go32smsg.inc


+ 0 - 0
fv/histlist.pas → packages/fv/src/histlist.pas


+ 0 - 0
fv/inplong.pas → packages/fv/src/inplong.pas


+ 0 - 0
fv/memory.pas → packages/fv/src/memory.pas


+ 0 - 0
fv/menus.pas → packages/fv/src/menus.pas


+ 0 - 0
fv/msgbox.pas → packages/fv/src/msgbox.pas


+ 0 - 0
fv/outline.pas → packages/fv/src/outline.pas


+ 0 - 0
fv/platform.inc → packages/fv/src/platform.inc


+ 0 - 0
fv/resource.pas → packages/fv/src/resource.pas


+ 0 - 0
fv/statuses.pas → packages/fv/src/statuses.pas


+ 0 - 0
fv/stddlg.pas → packages/fv/src/stddlg.pas


+ 0 - 0
fv/str.inc → packages/fv/src/str.inc


+ 0 - 0
fv/strtxt.inc → packages/fv/src/strtxt.inc


+ 0 - 0
fv/sysmsg.pas → packages/fv/src/sysmsg.pas


+ 0 - 0
fv/tabs.pas → packages/fv/src/tabs.pas


+ 0 - 0
fv/time.pas → packages/fv/src/time.pas


+ 0 - 0
fv/timeddlg.pas → packages/fv/src/timeddlg.pas


+ 0 - 0
fv/unixsmsg.inc → packages/fv/src/unixsmsg.inc


+ 0 - 0
fv/validate.pas → packages/fv/src/validate.pas


+ 0 - 0
fv/views.pas → packages/fv/src/views.pas


+ 0 - 0
fv/w32smsg.inc → packages/fv/src/w32smsg.inc


+ 0 - 0
packages/hash/tests/md5.ref → packages/hash/examples/md5.ref


+ 0 - 0
packages/hash/tests/mdtest.pas → packages/hash/examples/mdtest.pas


+ 1 - 1
packages/hash/src/md5.pp

@@ -55,7 +55,7 @@ type
     Version : TMDVersion;
     Align   : PtrUInt;
     State   : array[0..3] of Cardinal;
-    BufCnt  : PtrUInt;
+    BufCnt  : QWord;
     Buffer  : array[0..63] of Byte;
     case Integer of
       0: (Length   : PtrUInt);

+ 152 - 152
packages/paszlib/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/11/08]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/01/06]
 #
 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
@@ -561,163 +561,163 @@ ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_IMPLICITUNITS+=adler gzio infblock infcodes inffast inftrees infutil trees zcompres zdeflate zinflate zbase zuncompr ziputils zstream
 endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_EXAMPLEDIRS+=tests
+override TARGET_EXAMPLEDIRS+=examples
 endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
@@ -2479,208 +2479,208 @@ fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIR
 fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
 fpc_makefiles: fpc_makefile fpc_makefile_dirs
 ifeq ($(FULL_TARGET),i386-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-TARGET_EXAMPLEDIRS_TESTS=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-TARGET_EXAMPLEDIRS_TESTS=1
-endif
-ifdef TARGET_EXAMPLEDIRS_TESTS
-tests_all:
-	$(MAKE) -C tests all
-tests_debug:
-	$(MAKE) -C tests debug
-tests_smart:
-	$(MAKE) -C tests smart
-tests_release:
-	$(MAKE) -C tests release
-tests_units:
-	$(MAKE) -C tests units
-tests_examples:
-	$(MAKE) -C tests examples
-tests_shared:
-	$(MAKE) -C tests shared
-tests_install:
-	$(MAKE) -C tests install
-tests_sourceinstall:
-	$(MAKE) -C tests sourceinstall
-tests_exampleinstall:
-	$(MAKE) -C tests exampleinstall
-tests_distinstall:
-	$(MAKE) -C tests distinstall
-tests_zipinstall:
-	$(MAKE) -C tests zipinstall
-tests_zipsourceinstall:
-	$(MAKE) -C tests zipsourceinstall
-tests_zipexampleinstall:
-	$(MAKE) -C tests zipexampleinstall
-tests_zipdistinstall:
-	$(MAKE) -C tests zipdistinstall
-tests_clean:
-	$(MAKE) -C tests clean
-tests_distclean:
-	$(MAKE) -C tests distclean
-tests_cleanall:
-	$(MAKE) -C tests cleanall
-tests_info:
-	$(MAKE) -C tests info
-tests_makefiles:
-	$(MAKE) -C tests makefiles
-tests:
-	$(MAKE) -C tests all
-.PHONY: tests_all tests_debug tests_smart tests_release tests_units tests_examples tests_shared tests_install tests_sourceinstall tests_exampleinstall tests_distinstall tests_zipinstall tests_zipsourceinstall tests_zipexampleinstall tests_zipdistinstall tests_clean tests_distclean tests_cleanall tests_info tests_makefiles tests
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+endif
+ifdef TARGET_EXAMPLEDIRS_EXAMPLES
+examples_all:
+	$(MAKE) -C examples all
+examples_debug:
+	$(MAKE) -C examples debug
+examples_smart:
+	$(MAKE) -C examples smart
+examples_release:
+	$(MAKE) -C examples release
+examples_units:
+	$(MAKE) -C examples units
+examples_examples:
+	$(MAKE) -C examples examples
+examples_shared:
+	$(MAKE) -C examples shared
+examples_install:
+	$(MAKE) -C examples install
+examples_sourceinstall:
+	$(MAKE) -C examples sourceinstall
+examples_exampleinstall:
+	$(MAKE) -C examples exampleinstall
+examples_distinstall:
+	$(MAKE) -C examples distinstall
+examples_zipinstall:
+	$(MAKE) -C examples zipinstall
+examples_zipsourceinstall:
+	$(MAKE) -C examples zipsourceinstall
+examples_zipexampleinstall:
+	$(MAKE) -C examples zipexampleinstall
+examples_zipdistinstall:
+	$(MAKE) -C examples zipdistinstall
+examples_clean:
+	$(MAKE) -C examples clean
+examples_distclean:
+	$(MAKE) -C examples distclean
+examples_cleanall:
+	$(MAKE) -C examples cleanall
+examples_info:
+	$(MAKE) -C examples info
+examples_makefiles:
+	$(MAKE) -C examples makefiles
+examples:
+	$(MAKE) -C examples all
+.PHONY: examples_all examples_debug examples_smart examples_release examples_units examples_examples examples_shared examples_install examples_sourceinstall examples_exampleinstall examples_distinstall examples_zipinstall examples_zipsourceinstall examples_zipexampleinstall examples_zipdistinstall examples_clean examples_distclean examples_cleanall examples_info examples_makefiles examples
 endif
 all: fpc_all
 debug: fpc_debug

+ 1 - 1
packages/paszlib/Makefile.fpc

@@ -12,7 +12,7 @@ packages=hash
 [target]
 units=paszlib zip unzip zipper 
 implicitunits=adler gzio infblock infcodes inffast inftrees infutil trees zcompres zdeflate zinflate zbase zuncompr ziputils zstream
-exampledirs=tests
+exampledirs=examples
 
 [install]
 fpcpackage=y

+ 0 - 0
packages/paszlib/tests/Makefile → packages/paszlib/examples/Makefile


+ 0 - 0
packages/paszlib/tests/Makefile.fpc → packages/paszlib/examples/Makefile.fpc


+ 0 - 0
packages/paszlib/tests/example.pas → packages/paszlib/examples/example.pas


+ 0 - 0
packages/paszlib/tests/minigzip.pas → packages/paszlib/examples/minigzip.pas


+ 0 - 0
packages/paszlib/tests/miniunz.pas → packages/paszlib/examples/miniunz.pas


+ 0 - 0
packages/paszlib/tests/minizip.pas → packages/paszlib/examples/minizip.pas


+ 50 - 11
packages/paszlib/fpmake.pp

@@ -5,28 +5,67 @@ program fpmake;
 uses fpmkunit;
 
 Var
-  P : TPackage;
   T : TTarget;
+  P : TPackage;
 begin
   With Installer do
     begin
 {$endif ALLPACKAGES}
 
-    P:=AddPackage('hash');
+    P:=AddPackage('paszlib');
 {$ifdef ALLPACKAGES}
-    P.Directory:='hash';
+    P.Directory:='paszlib';
 {$endif ALLPACKAGES}
-    P.Version:='2.0.0';
-    T:=P.Targets.AddUnit('src/md5.pp');
-    T:=P.Targets.AddUnit('src/crc.pas');
-    T:=P.Targets.AddUnit('src/ntlm.pas');
-    T:=P.Targets.AddUnit('src/uuid.pas');
-    T:=P.Targets.AddUnit('src/unixcrypt.pas');
-      T.OSes:=[Linux];
-    T:=P.Targets.AddExampleunit('examples/mdtest.pas');
+    P.Version:='2.2.0';
+    P.Dependencies.Add('hash');
+    P.SourcePath.Add('src');
+    P.IncludePath.Add('src');
+    T:=P.Targets.AddUnit('paszlib.pas');
+      T.Dependencies.AddUnit('adler');
+      T.Dependencies.AddUnit('gzio');
+      T.Dependencies.AddUnit('infblock');
+      T.Dependencies.AddUnit('infcodes');
+      T.Dependencies.AddUnit('inffast');
+      T.Dependencies.AddUnit('inftrees');
+      T.Dependencies.AddUnit('infutil');
+      T.Dependencies.AddUnit('trees');
+      T.Dependencies.AddUnit('zbase');
+      T.Dependencies.AddUnit('zcompres');
+      T.Dependencies.AddUnit('zdeflate');
+      T.Dependencies.AddUnit('zinflate');
+      T.Dependencies.AddUnit('zuncompr');
+    T:=P.Targets.AddUnit('zip.pas');
+      T.Dependencies.AddUnit('paszlib');
+      T.Dependencies.AddUnit('ziputils');
+    T:=P.Targets.AddUnit('unzip.pas');
+      T.Dependencies.AddUnit('paszlib');
+      T.Dependencies.AddUnit('ziputils');
+    T:=P.Targets.AddUnit('zipper.pp');
+      T.Dependencies.AddUnit('paszlib');
+    T:=P.Targets.AddImplicitUnit('adler.pas');
+      T.Dependencies.AddInclude('zconf.inc');
+    T:=P.Targets.AddImplicitUnit('gzio.pas');
+    T:=P.Targets.AddImplicitUnit('infblock.pas');
+    T:=P.Targets.AddImplicitUnit('infcodes.pas');
+    T:=P.Targets.AddImplicitUnit('inffast.pas');
+    T:=P.Targets.AddImplicitUnit('inftrees.pas');
+    T:=P.Targets.AddImplicitUnit('infutil.pas');
+    T:=P.Targets.AddImplicitUnit('trees.pas');
+    T:=P.Targets.AddImplicitUnit('zbase.pas');
+    T:=P.Targets.AddImplicitUnit('zcompres.pas');
+    T:=P.Targets.AddImplicitUnit('zdeflate.pas');
+    T:=P.Targets.AddImplicitUnit('zinflate.pas');
+    T:=P.Targets.AddImplicitUnit('zuncompr.pas');
+    T:=P.Targets.AddImplicitUnit('ziputils.pas');
+    T:=P.Targets.AddImplicitUnit('zstream.pp');
+    T:=P.Targets.AddExampleProgram('examples/example.pas');
+    T:=P.Targets.AddExampleProgram('examples/minigzip.pas');
+    T:=P.Targets.AddExampleProgram('examples/miniunz.pas');
+    T:=P.Targets.AddExampleProgram('examples/minizip.pas');
 
 {$ifndef ALLPACKAGES}
     Run;
     end;
 end.
 {$endif ALLPACKAGES}
+

+ 2 - 1
packages/winunits-base/src/activex.pp

@@ -42,7 +42,7 @@ TYPE
      OleChar             = WChar;
      LPOLESTR            = ^OLECHAR;
 
-CONST 
+CONST
    GUID_NULL  : TGUID =  '{00000000-0000-0000-0000-000000000000}';
 
      // bit flags for IExternalConnection
@@ -3313,6 +3313,7 @@ type
 
   function CoIsOle1Class(const _para1:TCLSID):BOOL;stdcall; external  'ole32.dll' name 'CoIsOle1Class';
 
+  function ProgIDFromCLSID(para:PCLSID; out _para2:POLESTR):HRESULT;stdcall; external  'ole32.dll' name 'ProgIDFromCLSID';
   function ProgIDFromCLSID(const _para1:TCLSID; out _para2:POLESTR):HRESULT;stdcall; external  'ole32.dll' name 'ProgIDFromCLSID';
 
   function CLSIDFromProgID(_para1:POLESTR; _para2:LPCLSID):HRESULT;stdcall; external  'ole32.dll' name 'CLSIDFromProgID';

+ 12 - 0
packages/winunits-base/src/comobj.pp

@@ -186,6 +186,7 @@ unit comobj;
     procedure OleError(Code: HResult);
 
     function ProgIDToClassID(const id : string) : TGUID;
+    function ClassIDToProgID(const classID: TGUID): string;
 
     procedure DispatchInvoke(const Dispatch: IDispatch; CallDesc: PCallDesc;
        DispIDs: PDispIDList; Params: Pointer; Result: PVariant);
@@ -196,6 +197,7 @@ unit comobj;
 
     function ComClassManager : TComClassManager;
 
+
     type
       TCoCreateInstanceExProc = function(const clsid: TCLSID; unkOuter: IUnknown; dwClsCtx: DWORD; ServerInfo: PCoServerInfo;
       dwCount: ULONG; rgmqResults: PMultiQIArray): HResult stdcall;
@@ -363,6 +365,16 @@ implementation
      end;
 
 
+   function ClassIDToProgID(const classID: TGUID): string;
+     var
+       progid : LPOLESTR;
+     begin
+       OleCheck(ProgIDFromCLSID(@classID,progid));
+       result:=progid;
+       CoTaskMemFree(progid);
+     end;
+
+
    procedure SafeCallErrorHandler(err : HResult;addr : pointer);
      var
        info : IErrorInfo;

Some files were not shown because too many files changed in this diff