diff --git a/.gitattributes b/.gitattributes
index 180d48e4ff..1cde224c41 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1096,73 +1096,7 @@ packages/extra/fftw/Makefile.fpc -text
 packages/extra/fftw/example.pas -text
 packages/extra/fftw/fftw_s.pas -text
 packages/extra/fftw/readme.txt -text
-packages/extra/forms/Makefile svneol=native#text/plain
-packages/extra/forms/Makefile.fpc svneol=native#text/plain
-packages/extra/forms/README -text
-packages/extra/forms/USAGE -text
-packages/extra/forms/cursorfont.inc svneol=native#text/plain
-packages/extra/forms/demo/Makefile svneol=native#text/plain
-packages/extra/forms/demo/Makefile.fpc svneol=native#text/plain
-packages/extra/forms/demo/arrowbutton.pp svneol=native#text/plain
-packages/extra/forms/demo/bm1.xbm -text
-packages/extra/forms/demo/bm2.xbm -text
-packages/extra/forms/demo/borderwidth.pp svneol=native#text/plain
-packages/extra/forms/demo/boxtype.pp svneol=native#text/plain
-packages/extra/forms/demo/browserall.pp svneol=native#text/plain
-packages/extra/forms/demo/browserop.pp svneol=native#text/plain
-packages/extra/forms/demo/buttonall.pp svneol=native#text/plain
-packages/extra/forms/demo/butttypes.pp svneol=native#text/plain
-packages/extra/forms/demo/canvas.pp svneol=native#text/plain
-packages/extra/forms/demo/chartall.pp svneol=native#text/plain
-packages/extra/forms/demo/chartstrip.pp svneol=native#text/plain
-packages/extra/forms/demo/choice.pp svneol=native#text/plain
-packages/extra/forms/demo/colbrowser.pp svneol=native#text/plain
-packages/extra/forms/demo/colsel.pp svneol=native#text/plain
-packages/extra/forms/demo/colsel1.pp svneol=native#text/plain
-packages/extra/forms/demo/counter.pp svneol=native#text/plain
-packages/extra/forms/demo/crab.xpm -text
-packages/extra/forms/demo/crab45.xpm -text
-packages/extra/forms/demo/cursor.pp svneol=native#text/plain
-packages/extra/forms/demo/doc2p -text
-packages/extra/forms/demo/fbrowse.pp svneol=native#text/plain
-packages/extra/forms/demo/fbrowse1.pp svneol=native#text/plain
-packages/extra/forms/demo/fdial.pp svneol=native#text/plain
-packages/extra/forms/demo/flclock.pp svneol=native#text/plain
-packages/extra/forms/demo/fonts.pp svneol=native#text/plain
-packages/extra/forms/demo/free1.pp svneol=native#text/plain
-packages/extra/forms/demo/goodies.pp svneol=native#text/plain
-packages/extra/forms/demo/group.pp svneol=native#text/plain
-packages/extra/forms/demo/iconify.pp svneol=native#text/plain
-packages/extra/forms/demo/inputall.pp svneol=native#text/plain
-packages/extra/forms/demo/invslider.pp svneol=native#text/plain
-packages/extra/forms/demo/lalign.pp svneol=native#text/plain
-packages/extra/forms/demo/ldial.pp svneol=native#text/plain
-packages/extra/forms/demo/ll.pp svneol=native#text/plain
-packages/extra/forms/demo/longlabel.pp svneol=native#text/plain
-packages/extra/forms/demo/menu.pp svneol=native#text/plain
-packages/extra/forms/demo/minput.pp svneol=native#text/plain
-packages/extra/forms/demo/multilabel.pp svneol=native#text/plain
-packages/extra/forms/demo/ndial.pp svneol=native#text/plain
-packages/extra/forms/demo/newbutton.pp svneol=native#text/plain
-packages/extra/forms/demo/nomail.xbm -text
-packages/extra/forms/demo/objinactive.pp svneol=native#text/plain
-packages/extra/forms/demo/objpos.pp svneol=native#text/plain
-packages/extra/forms/demo/objreturn.pp svneol=native#text/plain
-packages/extra/forms/demo/porsche.xpm -text
-packages/extra/forms/demo/positioner.pp svneol=native#text/plain
-packages/extra/forms/demo/pup.pp svneol=native#text/plain
-packages/extra/forms/demo/pushbutton.pp svneol=native#text/plain
-packages/extra/forms/demo/pushme.pp svneol=native#text/plain
-packages/extra/forms/demo/secretinput.pp svneol=native#text/plain
-packages/extra/forms/demo/sliderall.pp svneol=native#text/plain
-packages/extra/forms/demo/srs.xbm -text
-packages/extra/forms/demo/touchbutton.pp svneol=native#text/plain
-packages/extra/forms/demo/xyplotover.pp svneol=native#text/plain
-packages/extra/forms/demo/yesno.pp svneol=native#text/plain
-packages/extra/forms/fd2pascal.pp svneol=native#text/plain
 packages/extra/forms/fpmake.inc svneol=native#text/plain
-packages/extra/forms/fpmake.pp svneol=native#text/plain
-packages/extra/forms/xforms.pp svneol=native#text/plain
 packages/extra/gbaunits/Makefile -text
 packages/extra/gbaunits/Makefile.fpc -text
 packages/extra/gbaunits/bios_asm.as -text
@@ -4660,6 +4594,72 @@ packages/x11/src/xshm.pp svneol=native#text/plain
 packages/x11/src/xutil.pp svneol=native#text/plain
 packages/x11/src/xv.pp svneol=native#text/plain
 packages/x11/src/xvlib.pp svneol=native#text/plain
+packages/xforms/Makefile svneol=native#text/plain
+packages/xforms/Makefile.fpc svneol=native#text/plain
+packages/xforms/README svneol=native#text/plain
+packages/xforms/USAGE svneol=native#text/plain
+packages/xforms/examples/Makefile svneol=native#text/plain
+packages/xforms/examples/Makefile.fpc svneol=native#text/plain
+packages/xforms/examples/arrowbutton.pp svneol=native#text/plain
+packages/xforms/examples/bm1.xbm svneol=native#text/plain
+packages/xforms/examples/bm2.xbm svneol=native#text/plain
+packages/xforms/examples/borderwidth.pp svneol=native#text/plain
+packages/xforms/examples/boxtype.pp svneol=native#text/plain
+packages/xforms/examples/browserall.pp svneol=native#text/plain
+packages/xforms/examples/browserop.pp svneol=native#text/plain
+packages/xforms/examples/buttonall.pp svneol=native#text/plain
+packages/xforms/examples/butttypes.pp svneol=native#text/plain
+packages/xforms/examples/canvas.pp svneol=native#text/plain
+packages/xforms/examples/chartall.pp svneol=native#text/plain
+packages/xforms/examples/chartstrip.pp svneol=native#text/plain
+packages/xforms/examples/choice.pp svneol=native#text/plain
+packages/xforms/examples/colbrowser.pp svneol=native#text/plain
+packages/xforms/examples/colsel.pp svneol=native#text/plain
+packages/xforms/examples/colsel1.pp svneol=native#text/plain
+packages/xforms/examples/counter.pp svneol=native#text/plain
+packages/xforms/examples/crab.xpm svneol=native#text/plain
+packages/xforms/examples/crab45.xpm svneol=native#text/plain
+packages/xforms/examples/cursor.pp svneol=native#text/plain
+packages/xforms/examples/fbrowse.pp svneol=native#text/plain
+packages/xforms/examples/fbrowse1.pp svneol=native#text/plain
+packages/xforms/examples/fdial.pp svneol=native#text/plain
+packages/xforms/examples/flclock.pp svneol=native#text/plain
+packages/xforms/examples/fonts.pp svneol=native#text/plain
+packages/xforms/examples/free1.pp svneol=native#text/plain
+packages/xforms/examples/goodies.pp svneol=native#text/plain
+packages/xforms/examples/group.pp svneol=native#text/plain
+packages/xforms/examples/iconify.pp svneol=native#text/plain
+packages/xforms/examples/inputall.pp svneol=native#text/plain
+packages/xforms/examples/invslider.pp svneol=native#text/plain
+packages/xforms/examples/lalign.pp svneol=native#text/plain
+packages/xforms/examples/ldial.pp svneol=native#text/plain
+packages/xforms/examples/ll.pp svneol=native#text/plain
+packages/xforms/examples/longlabel.pp svneol=native#text/plain
+packages/xforms/examples/menu.pp svneol=native#text/plain
+packages/xforms/examples/minput.pp svneol=native#text/plain
+packages/xforms/examples/multilabel.pp svneol=native#text/plain
+packages/xforms/examples/ndial.pp svneol=native#text/plain
+packages/xforms/examples/newbutton.pp svneol=native#text/plain
+packages/xforms/examples/nomail.xbm svneol=native#text/plain
+packages/xforms/examples/objinactive.pp svneol=native#text/plain
+packages/xforms/examples/objpos.pp svneol=native#text/plain
+packages/xforms/examples/objreturn.pp svneol=native#text/plain
+packages/xforms/examples/porsche.xpm svneol=native#text/plain
+packages/xforms/examples/positioner.pp svneol=native#text/plain
+packages/xforms/examples/pup.pp svneol=native#text/plain
+packages/xforms/examples/pushbutton.pp svneol=native#text/plain
+packages/xforms/examples/pushme.pp svneol=native#text/plain
+packages/xforms/examples/secretinput.pp svneol=native#text/plain
+packages/xforms/examples/sliderall.pp svneol=native#text/plain
+packages/xforms/examples/srs.xbm svneol=native#text/plain
+packages/xforms/examples/touchbutton.pp svneol=native#text/plain
+packages/xforms/examples/xyplotover.pp svneol=native#text/plain
+packages/xforms/examples/yesno.pp svneol=native#text/plain
+packages/xforms/fpmake.pp svneol=native#text/plain
+packages/xforms/scripts/doc2p svneol=native#text/plain
+packages/xforms/src/cursorfont.inc svneol=native#text/plain
+packages/xforms/src/fd2pascal.pp svneol=native#text/plain
+packages/xforms/src/xforms.pp svneol=native#text/plain
 packages/zlib/Makefile svneol=native#text/plain
 packages/zlib/Makefile.fpc svneol=native#text/plain
 packages/zlib/fpmake.pp svneol=native#text/plain
diff --git a/packages/extra/forms/Makefile b/packages/xforms/Makefile
similarity index 80%
rename from packages/extra/forms/Makefile
rename to packages/xforms/Makefile
index 7e9cd2d4e7..c236cb18a1 100644
--- a/packages/extra/forms/Makefile
+++ b/packages/xforms/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/26]
 #
 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
@@ -98,7 +98,7 @@ endif
 endif
 export ECHO
 endif
-override DEFAULT_FPCDIR=../../..
+override DEFAULT_FPCDIR=../..
 ifndef FPC
 ifdef PP
 FPC=$(PP)
@@ -240,7 +240,7 @@ ifeq ($(UNITSDIR),)
 UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
-override PACKAGE_NAME=forms
+override PACKAGE_NAME=xforms
 override PACKAGE_VERSION=2.0.0
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_PROGRAMS+=fd2pascal
@@ -561,165 +561,483 @@ ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_UNITS+=xforms
 endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_EXAMPLEDIRS+=demo
+override TARGET_EXAMPLEDIRS+=examples
 endif
 override INSTALL_FPCPACKAGE=y
+ifeq ($(FULL_TARGET),i386-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-nds)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override COMPILER_INCLUDEDIR+=src
+endif
+ifeq ($(FULL_TARGET),i386-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-go32v2)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-win32)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-os2)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-freebsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-beos)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-netbsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-solaris)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-qnx)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-netware)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-openbsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-wdosx)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-darwin)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-emx)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-watcom)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-netwlibc)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-wince)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),i386-symbian)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-freebsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-netbsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-amiga)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-atari)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-openbsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-palmos)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),m68k-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-netbsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-amiga)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-macos)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-darwin)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-morphos)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),sparc-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),sparc-netbsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),sparc-solaris)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),sparc-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),x86_64-darwin)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),x86_64-win64)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),x86_64-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-palmos)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-wince)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-gba)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-nds)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),arm-symbian)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc64-linux)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc64-darwin)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
+ifeq ($(FULL_TARGET),powerpc64-embedded)
+override COMPILER_SOURCEDIR+=src tests examples
+endif
 override SHARED_BUILD=n
 override SHARED_BUILD=n
 ifdef REQUIRE_UNITSDIR
@@ -1925,7 +2243,7 @@ endif
 endif
 endif
 .PHONY: fpc_units
-ifneq ($(TARGET_UNITS),)
+ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)
 override ALLTARGET+=fpc_units
 override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
 override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
@@ -2376,208 +2694,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_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-TARGET_EXAMPLEDIRS_DEMO=1
+TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
-ifdef TARGET_EXAMPLEDIRS_DEMO
-demo_all:
-	$(MAKE) -C demo all
-demo_debug:
-	$(MAKE) -C demo debug
-demo_smart:
-	$(MAKE) -C demo smart
-demo_release:
-	$(MAKE) -C demo release
-demo_units:
-	$(MAKE) -C demo units
-demo_examples:
-	$(MAKE) -C demo examples
-demo_shared:
-	$(MAKE) -C demo shared
-demo_install:
-	$(MAKE) -C demo install
-demo_sourceinstall:
-	$(MAKE) -C demo sourceinstall
-demo_exampleinstall:
-	$(MAKE) -C demo exampleinstall
-demo_distinstall:
-	$(MAKE) -C demo distinstall
-demo_zipinstall:
-	$(MAKE) -C demo zipinstall
-demo_zipsourceinstall:
-	$(MAKE) -C demo zipsourceinstall
-demo_zipexampleinstall:
-	$(MAKE) -C demo zipexampleinstall
-demo_zipdistinstall:
-	$(MAKE) -C demo zipdistinstall
-demo_clean:
-	$(MAKE) -C demo clean
-demo_distclean:
-	$(MAKE) -C demo distclean
-demo_cleanall:
-	$(MAKE) -C demo cleanall
-demo_info:
-	$(MAKE) -C demo info
-demo_makefiles:
-	$(MAKE) -C demo makefiles
-demo:
-	$(MAKE) -C demo all
-.PHONY: demo_all demo_debug demo_smart demo_release demo_units demo_examples demo_shared demo_install demo_sourceinstall demo_exampleinstall demo_distinstall demo_zipinstall demo_zipsourceinstall demo_zipexampleinstall demo_zipdistinstall demo_clean demo_distclean demo_cleanall demo_info demo_makefiles demo
+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
diff --git a/packages/extra/forms/Makefile.fpc b/packages/xforms/Makefile.fpc
similarity index 67%
rename from packages/extra/forms/Makefile.fpc
rename to packages/xforms/Makefile.fpc
index 263ef3f8e5..ca6e509418 100644
--- a/packages/extra/forms/Makefile.fpc
+++ b/packages/xforms/Makefile.fpc
@@ -3,13 +3,13 @@
 #
 
 [package]
-name=forms
+name=xforms
 version=2.0.0
 
 [target]
 units=xforms
 programs=fd2pascal
-exampledirs=demo
+exampledirs=examples
 
 [require]
 packages=x11
@@ -19,7 +19,11 @@ libc=y
 fpcpackage=y
 
 [default]
-fpcdir=../../..
+fpcdir=../..
+
+[compiler]
+includedir=src
+sourcedir=src tests examples
 
 [shared]
 build=n
diff --git a/packages/extra/forms/README b/packages/xforms/README
similarity index 100%
rename from packages/extra/forms/README
rename to packages/xforms/README
diff --git a/packages/extra/forms/USAGE b/packages/xforms/USAGE
similarity index 100%
rename from packages/extra/forms/USAGE
rename to packages/xforms/USAGE
diff --git a/packages/extra/forms/demo/Makefile b/packages/xforms/examples/Makefile
similarity index 96%
rename from packages/extra/forms/demo/Makefile
rename to packages/xforms/examples/Makefile
index 8b5dba4a97..f72b0302c6 100644
--- a/packages/extra/forms/demo/Makefile
+++ b/packages/xforms/examples/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/26]
 #
 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
@@ -98,7 +98,7 @@ endif
 endif
 export ECHO
 endif
-override DEFAULT_FPCDIR=../../../..
+override DEFAULT_FPCDIR=../../..
 ifndef FPC
 ifdef PP
 FPC=$(PP)
@@ -1178,271 +1178,271 @@ else
 TAROPT=vz
 TAREXT=.tar.gz
 endif
-override REQUIRE_PACKAGES=rtl forms
+override REQUIRE_PACKAGES=rtl xforms
 ifeq ($(FULL_TARGET),i386-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-win32)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-os2)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-beos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-netware)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-emx)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-wince)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-wince)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-gba)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-nds)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
-REQUIRE_PACKAGES_FORMS=1
+REQUIRE_PACKAGES_XFORMS=1
 endif
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
@@ -1496,30 +1496,30 @@ ifdef UNITDIR_X11
 override COMPILER_UNITDIR+=$(UNITDIR_X11)
 endif
 endif
-ifdef REQUIRE_PACKAGES_FORMS
-PACKAGEDIR_FORMS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /forms/Makefile.fpc,$(PACKAGESDIR))))))
-ifneq ($(PACKAGEDIR_FORMS),)
-ifneq ($(wildcard $(PACKAGEDIR_FORMS)/units/$(TARGETSUFFIX)),)
-UNITDIR_FORMS=$(PACKAGEDIR_FORMS)/units/$(TARGETSUFFIX)
+ifdef REQUIRE_PACKAGES_XFORMS
+PACKAGEDIR_XFORMS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /xforms/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_XFORMS),)
+ifneq ($(wildcard $(PACKAGEDIR_XFORMS)/units/$(TARGETSUFFIX)),)
+UNITDIR_XFORMS=$(PACKAGEDIR_XFORMS)/units/$(TARGETSUFFIX)
 else
-UNITDIR_FORMS=$(PACKAGEDIR_FORMS)
+UNITDIR_XFORMS=$(PACKAGEDIR_XFORMS)
 endif
 ifdef CHECKDEPEND
-$(PACKAGEDIR_FORMS)/$(FPCMADE):
-	$(MAKE) -C $(PACKAGEDIR_FORMS) $(FPCMADE)
-override ALLDEPENDENCIES+=$(PACKAGEDIR_FORMS)/$(FPCMADE)
+$(PACKAGEDIR_XFORMS)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_XFORMS) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_XFORMS)/$(FPCMADE)
 endif
 else
-PACKAGEDIR_FORMS=
-UNITDIR_FORMS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /forms/Package.fpc,$(UNITSDIR)))))
-ifneq ($(UNITDIR_FORMS),)
-UNITDIR_FORMS:=$(firstword $(UNITDIR_FORMS))
+PACKAGEDIR_XFORMS=
+UNITDIR_XFORMS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /xforms/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_XFORMS),)
+UNITDIR_XFORMS:=$(firstword $(UNITDIR_XFORMS))
 else
-UNITDIR_FORMS=
+UNITDIR_XFORMS=
 endif
 endif
-ifdef UNITDIR_FORMS
-override COMPILER_UNITDIR+=$(UNITDIR_FORMS)
+ifdef UNITDIR_XFORMS
+override COMPILER_UNITDIR+=$(UNITDIR_XFORMS)
 endif
 endif
 ifndef NOCPUDEF
diff --git a/packages/extra/forms/demo/Makefile.fpc b/packages/xforms/examples/Makefile.fpc
similarity index 94%
rename from packages/extra/forms/demo/Makefile.fpc
rename to packages/xforms/examples/Makefile.fpc
index c9d502b846..f294f391f0 100644
--- a/packages/extra/forms/demo/Makefile.fpc
+++ b/packages/xforms/examples/Makefile.fpc
@@ -11,13 +11,13 @@ programs=pushme yesno pushbutton touchbutton minput inputall choice butttypes \
          objinactive objpos newbutton multilabel objreturn
 
 [require]
-packages=forms
+packages=xforms
 
 [install]
 fpcpackage=y
 
 [default]
-fpcdir=../../../..
+fpcdir=../../..
 
 [rules]
 .NOTPARALLEL:
diff --git a/packages/extra/forms/demo/arrowbutton.pp b/packages/xforms/examples/arrowbutton.pp
similarity index 100%
rename from packages/extra/forms/demo/arrowbutton.pp
rename to packages/xforms/examples/arrowbutton.pp
diff --git a/packages/extra/forms/demo/bm1.xbm b/packages/xforms/examples/bm1.xbm
similarity index 100%
rename from packages/extra/forms/demo/bm1.xbm
rename to packages/xforms/examples/bm1.xbm
diff --git a/packages/extra/forms/demo/bm2.xbm b/packages/xforms/examples/bm2.xbm
similarity index 100%
rename from packages/extra/forms/demo/bm2.xbm
rename to packages/xforms/examples/bm2.xbm
diff --git a/packages/extra/forms/demo/borderwidth.pp b/packages/xforms/examples/borderwidth.pp
similarity index 100%
rename from packages/extra/forms/demo/borderwidth.pp
rename to packages/xforms/examples/borderwidth.pp
diff --git a/packages/extra/forms/demo/boxtype.pp b/packages/xforms/examples/boxtype.pp
similarity index 100%
rename from packages/extra/forms/demo/boxtype.pp
rename to packages/xforms/examples/boxtype.pp
diff --git a/packages/extra/forms/demo/browserall.pp b/packages/xforms/examples/browserall.pp
similarity index 100%
rename from packages/extra/forms/demo/browserall.pp
rename to packages/xforms/examples/browserall.pp
diff --git a/packages/extra/forms/demo/browserop.pp b/packages/xforms/examples/browserop.pp
similarity index 100%
rename from packages/extra/forms/demo/browserop.pp
rename to packages/xforms/examples/browserop.pp
diff --git a/packages/extra/forms/demo/buttonall.pp b/packages/xforms/examples/buttonall.pp
similarity index 100%
rename from packages/extra/forms/demo/buttonall.pp
rename to packages/xforms/examples/buttonall.pp
diff --git a/packages/extra/forms/demo/butttypes.pp b/packages/xforms/examples/butttypes.pp
similarity index 100%
rename from packages/extra/forms/demo/butttypes.pp
rename to packages/xforms/examples/butttypes.pp
diff --git a/packages/extra/forms/demo/canvas.pp b/packages/xforms/examples/canvas.pp
similarity index 100%
rename from packages/extra/forms/demo/canvas.pp
rename to packages/xforms/examples/canvas.pp
diff --git a/packages/extra/forms/demo/chartall.pp b/packages/xforms/examples/chartall.pp
similarity index 100%
rename from packages/extra/forms/demo/chartall.pp
rename to packages/xforms/examples/chartall.pp
diff --git a/packages/extra/forms/demo/chartstrip.pp b/packages/xforms/examples/chartstrip.pp
similarity index 100%
rename from packages/extra/forms/demo/chartstrip.pp
rename to packages/xforms/examples/chartstrip.pp
diff --git a/packages/extra/forms/demo/choice.pp b/packages/xforms/examples/choice.pp
similarity index 100%
rename from packages/extra/forms/demo/choice.pp
rename to packages/xforms/examples/choice.pp
diff --git a/packages/extra/forms/demo/colbrowser.pp b/packages/xforms/examples/colbrowser.pp
similarity index 100%
rename from packages/extra/forms/demo/colbrowser.pp
rename to packages/xforms/examples/colbrowser.pp
diff --git a/packages/extra/forms/demo/colsel.pp b/packages/xforms/examples/colsel.pp
similarity index 100%
rename from packages/extra/forms/demo/colsel.pp
rename to packages/xforms/examples/colsel.pp
diff --git a/packages/extra/forms/demo/colsel1.pp b/packages/xforms/examples/colsel1.pp
similarity index 100%
rename from packages/extra/forms/demo/colsel1.pp
rename to packages/xforms/examples/colsel1.pp
diff --git a/packages/extra/forms/demo/counter.pp b/packages/xforms/examples/counter.pp
similarity index 100%
rename from packages/extra/forms/demo/counter.pp
rename to packages/xforms/examples/counter.pp
diff --git a/packages/extra/forms/demo/crab.xpm b/packages/xforms/examples/crab.xpm
similarity index 100%
rename from packages/extra/forms/demo/crab.xpm
rename to packages/xforms/examples/crab.xpm
diff --git a/packages/extra/forms/demo/crab45.xpm b/packages/xforms/examples/crab45.xpm
similarity index 100%
rename from packages/extra/forms/demo/crab45.xpm
rename to packages/xforms/examples/crab45.xpm
diff --git a/packages/extra/forms/demo/cursor.pp b/packages/xforms/examples/cursor.pp
similarity index 100%
rename from packages/extra/forms/demo/cursor.pp
rename to packages/xforms/examples/cursor.pp
diff --git a/packages/extra/forms/demo/fbrowse.pp b/packages/xforms/examples/fbrowse.pp
similarity index 100%
rename from packages/extra/forms/demo/fbrowse.pp
rename to packages/xforms/examples/fbrowse.pp
diff --git a/packages/extra/forms/demo/fbrowse1.pp b/packages/xforms/examples/fbrowse1.pp
similarity index 100%
rename from packages/extra/forms/demo/fbrowse1.pp
rename to packages/xforms/examples/fbrowse1.pp
diff --git a/packages/extra/forms/demo/fdial.pp b/packages/xforms/examples/fdial.pp
similarity index 100%
rename from packages/extra/forms/demo/fdial.pp
rename to packages/xforms/examples/fdial.pp
diff --git a/packages/extra/forms/demo/flclock.pp b/packages/xforms/examples/flclock.pp
similarity index 100%
rename from packages/extra/forms/demo/flclock.pp
rename to packages/xforms/examples/flclock.pp
diff --git a/packages/extra/forms/demo/fonts.pp b/packages/xforms/examples/fonts.pp
similarity index 100%
rename from packages/extra/forms/demo/fonts.pp
rename to packages/xforms/examples/fonts.pp
diff --git a/packages/extra/forms/demo/free1.pp b/packages/xforms/examples/free1.pp
similarity index 100%
rename from packages/extra/forms/demo/free1.pp
rename to packages/xforms/examples/free1.pp
diff --git a/packages/extra/forms/demo/goodies.pp b/packages/xforms/examples/goodies.pp
similarity index 100%
rename from packages/extra/forms/demo/goodies.pp
rename to packages/xforms/examples/goodies.pp
diff --git a/packages/extra/forms/demo/group.pp b/packages/xforms/examples/group.pp
similarity index 100%
rename from packages/extra/forms/demo/group.pp
rename to packages/xforms/examples/group.pp
diff --git a/packages/extra/forms/demo/iconify.pp b/packages/xforms/examples/iconify.pp
similarity index 100%
rename from packages/extra/forms/demo/iconify.pp
rename to packages/xforms/examples/iconify.pp
diff --git a/packages/extra/forms/demo/inputall.pp b/packages/xforms/examples/inputall.pp
similarity index 100%
rename from packages/extra/forms/demo/inputall.pp
rename to packages/xforms/examples/inputall.pp
diff --git a/packages/extra/forms/demo/invslider.pp b/packages/xforms/examples/invslider.pp
similarity index 100%
rename from packages/extra/forms/demo/invslider.pp
rename to packages/xforms/examples/invslider.pp
diff --git a/packages/extra/forms/demo/lalign.pp b/packages/xforms/examples/lalign.pp
similarity index 100%
rename from packages/extra/forms/demo/lalign.pp
rename to packages/xforms/examples/lalign.pp
diff --git a/packages/extra/forms/demo/ldial.pp b/packages/xforms/examples/ldial.pp
similarity index 100%
rename from packages/extra/forms/demo/ldial.pp
rename to packages/xforms/examples/ldial.pp
diff --git a/packages/extra/forms/demo/ll.pp b/packages/xforms/examples/ll.pp
similarity index 100%
rename from packages/extra/forms/demo/ll.pp
rename to packages/xforms/examples/ll.pp
diff --git a/packages/extra/forms/demo/longlabel.pp b/packages/xforms/examples/longlabel.pp
similarity index 100%
rename from packages/extra/forms/demo/longlabel.pp
rename to packages/xforms/examples/longlabel.pp
diff --git a/packages/extra/forms/demo/menu.pp b/packages/xforms/examples/menu.pp
similarity index 100%
rename from packages/extra/forms/demo/menu.pp
rename to packages/xforms/examples/menu.pp
diff --git a/packages/extra/forms/demo/minput.pp b/packages/xforms/examples/minput.pp
similarity index 100%
rename from packages/extra/forms/demo/minput.pp
rename to packages/xforms/examples/minput.pp
diff --git a/packages/extra/forms/demo/multilabel.pp b/packages/xforms/examples/multilabel.pp
similarity index 100%
rename from packages/extra/forms/demo/multilabel.pp
rename to packages/xforms/examples/multilabel.pp
diff --git a/packages/extra/forms/demo/ndial.pp b/packages/xforms/examples/ndial.pp
similarity index 100%
rename from packages/extra/forms/demo/ndial.pp
rename to packages/xforms/examples/ndial.pp
diff --git a/packages/extra/forms/demo/newbutton.pp b/packages/xforms/examples/newbutton.pp
similarity index 100%
rename from packages/extra/forms/demo/newbutton.pp
rename to packages/xforms/examples/newbutton.pp
diff --git a/packages/extra/forms/demo/nomail.xbm b/packages/xforms/examples/nomail.xbm
similarity index 100%
rename from packages/extra/forms/demo/nomail.xbm
rename to packages/xforms/examples/nomail.xbm
diff --git a/packages/extra/forms/demo/objinactive.pp b/packages/xforms/examples/objinactive.pp
similarity index 100%
rename from packages/extra/forms/demo/objinactive.pp
rename to packages/xforms/examples/objinactive.pp
diff --git a/packages/extra/forms/demo/objpos.pp b/packages/xforms/examples/objpos.pp
similarity index 100%
rename from packages/extra/forms/demo/objpos.pp
rename to packages/xforms/examples/objpos.pp
diff --git a/packages/extra/forms/demo/objreturn.pp b/packages/xforms/examples/objreturn.pp
similarity index 100%
rename from packages/extra/forms/demo/objreturn.pp
rename to packages/xforms/examples/objreturn.pp
diff --git a/packages/extra/forms/demo/porsche.xpm b/packages/xforms/examples/porsche.xpm
similarity index 100%
rename from packages/extra/forms/demo/porsche.xpm
rename to packages/xforms/examples/porsche.xpm
diff --git a/packages/extra/forms/demo/positioner.pp b/packages/xforms/examples/positioner.pp
similarity index 100%
rename from packages/extra/forms/demo/positioner.pp
rename to packages/xforms/examples/positioner.pp
diff --git a/packages/extra/forms/demo/pup.pp b/packages/xforms/examples/pup.pp
similarity index 100%
rename from packages/extra/forms/demo/pup.pp
rename to packages/xforms/examples/pup.pp
diff --git a/packages/extra/forms/demo/pushbutton.pp b/packages/xforms/examples/pushbutton.pp
similarity index 100%
rename from packages/extra/forms/demo/pushbutton.pp
rename to packages/xforms/examples/pushbutton.pp
diff --git a/packages/extra/forms/demo/pushme.pp b/packages/xforms/examples/pushme.pp
similarity index 100%
rename from packages/extra/forms/demo/pushme.pp
rename to packages/xforms/examples/pushme.pp
diff --git a/packages/extra/forms/demo/secretinput.pp b/packages/xforms/examples/secretinput.pp
similarity index 100%
rename from packages/extra/forms/demo/secretinput.pp
rename to packages/xforms/examples/secretinput.pp
diff --git a/packages/extra/forms/demo/sliderall.pp b/packages/xforms/examples/sliderall.pp
similarity index 100%
rename from packages/extra/forms/demo/sliderall.pp
rename to packages/xforms/examples/sliderall.pp
diff --git a/packages/extra/forms/demo/srs.xbm b/packages/xforms/examples/srs.xbm
similarity index 100%
rename from packages/extra/forms/demo/srs.xbm
rename to packages/xforms/examples/srs.xbm
diff --git a/packages/extra/forms/demo/touchbutton.pp b/packages/xforms/examples/touchbutton.pp
similarity index 100%
rename from packages/extra/forms/demo/touchbutton.pp
rename to packages/xforms/examples/touchbutton.pp
diff --git a/packages/extra/forms/demo/xyplotover.pp b/packages/xforms/examples/xyplotover.pp
similarity index 100%
rename from packages/extra/forms/demo/xyplotover.pp
rename to packages/xforms/examples/xyplotover.pp
diff --git a/packages/extra/forms/demo/yesno.pp b/packages/xforms/examples/yesno.pp
similarity index 100%
rename from packages/extra/forms/demo/yesno.pp
rename to packages/xforms/examples/yesno.pp
diff --git a/packages/extra/forms/fpmake.pp b/packages/xforms/fpmake.pp
similarity index 100%
rename from packages/extra/forms/fpmake.pp
rename to packages/xforms/fpmake.pp
diff --git a/packages/extra/forms/demo/doc2p b/packages/xforms/scripts/doc2p
similarity index 100%
rename from packages/extra/forms/demo/doc2p
rename to packages/xforms/scripts/doc2p
diff --git a/packages/extra/forms/cursorfont.inc b/packages/xforms/src/cursorfont.inc
similarity index 100%
rename from packages/extra/forms/cursorfont.inc
rename to packages/xforms/src/cursorfont.inc
diff --git a/packages/extra/forms/fd2pascal.pp b/packages/xforms/src/fd2pascal.pp
similarity index 100%
rename from packages/extra/forms/fd2pascal.pp
rename to packages/xforms/src/fd2pascal.pp
diff --git a/packages/extra/forms/xforms.pp b/packages/xforms/src/xforms.pp
similarity index 100%
rename from packages/extra/forms/xforms.pp
rename to packages/xforms/src/xforms.pp