Browse Source

* add initial gtk2ext unit for optional gtk2.8+ stuff

git-svn-id: trunk@11436 -
Almindor 17 years ago
parent
commit
87fa11fbd2

+ 3 - 0
.gitattributes

@@ -2420,6 +2420,9 @@ packages/gtk2/src/gtk2x11/include/mwmutil.inc svneol=native#text/plain
 packages/gtk2/src/gtk2x11/include/xsettings-client.inc svneol=native#text/plain
 packages/gtk2/src/gtk2x11/include/xsettings-common.inc svneol=native#text/plain
 packages/gtk2/src/gtk2x11/scripts/gdkx11_h2pas.sh svneol=native#text/plain
+packages/gtk2/src/gtkext/gtk2ext.pp svneol=native#text/plain
+packages/gtk2/src/gtkext/gtkstatusicon.inc svneol=native#text/plain
+packages/gtk2/src/gtkext/gtkstatusiconh.inc svneol=native#text/plain
 packages/gtk2/src/gtkglext/gdkglconfig.inc svneol=native#text/plain
 packages/gtk2/src/gtkglext/gdkglcontext.inc svneol=native#text/plain
 packages/gtk2/src/gtkglext/gdkgldefs.inc svneol=native#text/plain

+ 111 - 235
packages/gtk2/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/06/15]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/07/22]
 #
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian 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-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-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
@@ -167,17 +167,6 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
 endif
 FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
 FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifeq ($(CPU_TARGET),armeb)
-ARCH=arm
-override FPCOPT+=-Cb
-else
-ifeq ($(CPU_TARGET),armel)
-ARCH=arm
-override FPCOPT+=-CaEABI
-else
-ARCH=$(CPU_TARGET)
-endif
-endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 TARGETSUFFIX=$(OS_TARGET)
 SOURCESUFFIX=$(OS_SOURCE)
@@ -199,7 +188,7 @@ endif
 ifeq ($(OS_TARGET),linux)
 linuxHier=1
 endif
-export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
 ifdef FPCDIR
 override FPCDIR:=$(subst \,/,$(FPCDIR))
 ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
@@ -283,9 +272,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 override TARGET_UNITS+=src/buildgtk2
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=src/buildgtk2
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 override TARGET_UNITS+=src/buildgtk2
 endif
@@ -403,9 +389,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override TARGET_UNITS+=src/buildgtk2
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=src/buildgtk2
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 override TARGET_UNITS+=src/buildgtk2
 endif
@@ -430,188 +413,164 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_UNITS+=src/buildgtk2
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=src/buildgtk2
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=src/buildgtk2
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=src/buildgtk2
-endif
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_EXAMPLEDIRS+=examples
@@ -631,9 +590,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 override TARGET_EXAMPLEDIRS+=examples
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_EXAMPLEDIRS+=examples
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 override TARGET_EXAMPLEDIRS+=examples
 endif
@@ -751,9 +707,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override TARGET_EXAMPLEDIRS+=examples
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_EXAMPLEDIRS+=examples
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 override TARGET_EXAMPLEDIRS+=examples
 endif
@@ -778,15 +731,6 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override TARGET_EXAMPLEDIRS+=examples
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_EXAMPLEDIRS+=examples
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_EXAMPLEDIRS+=examples
-endif
 override INSTALL_BUILDUNIT=buildgtk2
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
@@ -807,9 +751,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
 endif
@@ -927,9 +868,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
 endif
@@ -954,188 +892,164 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override COMPILER_INCLUDEDIR+=$(GTK2X11INCLUDE)
-endif
 ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
-endif
-ifeq ($(FULL_TARGET),i386-haiku)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
-endif
-ifeq ($(FULL_TARGET),arm-darwin)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
-endif
-ifeq ($(FULL_TARGET),avr-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+override COMPILER_UNITDIR+=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 endif
 override SHARED_BUILD=n
 override SHARED_BUILD=n
@@ -1459,11 +1373,6 @@ BATCHEXT=.sh
 EXEEXT=
 SHORTSUFFIX=be
 endif
-ifeq ($(OS_TARGET),haiku)
-BATCHEXT=.sh
-EXEEXT=
-SHORTSUFFIX=hai
-endif
 ifeq ($(OS_TARGET),solaris)
 BATCHEXT=.sh
 EXEEXT=
@@ -1944,10 +1853,6 @@ ifeq ($(FULL_TARGET),i386-beos)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 REQUIRE_PACKAGES_RTL=1
 REQUIRE_PACKAGES_X11=1
@@ -2083,10 +1988,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 REQUIRE_PACKAGES_RTL=1
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 REQUIRE_PACKAGES_RTL=1
 endif
@@ -2113,16 +2014,6 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 REQUIRE_PACKAGES_RTL=1
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-REQUIRE_PACKAGES_RTL=1
-REQUIRE_PACKAGES_X11=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-REQUIRE_PACKAGES_RTL=1
-endif
 ifdef REQUIRE_PACKAGES_RTL
 PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
 ifneq ($(PACKAGEDIR_RTL),)
@@ -2176,13 +2067,13 @@ override COMPILER_UNITDIR+=$(UNITDIR_X11)
 endif
 endif
 ifndef NOCPUDEF
-override FPCOPTDEF=$(ARCH)
+override FPCOPTDEF=$(CPU_TARGET)
 endif
 ifneq ($(OS_TARGET),$(OS_SOURCE))
 override FPCOPT+=-T$(OS_TARGET)
 endif
 ifneq ($(CPU_TARGET),$(CPU_SOURCE))
-override FPCOPT+=-P$(ARCH)
+override FPCOPT+=-P$(CPU_TARGET)
 endif
 ifeq ($(OS_SOURCE),openbsd)
 override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
@@ -2786,9 +2677,6 @@ endif
 ifeq ($(FULL_TARGET),i386-beos)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
-ifeq ($(FULL_TARGET),i386-haiku)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
 ifeq ($(FULL_TARGET),i386-netbsd)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
@@ -2906,9 +2794,6 @@ endif
 ifeq ($(FULL_TARGET),arm-palmos)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
-ifeq ($(FULL_TARGET),arm-darwin)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
 ifeq ($(FULL_TARGET),arm-wince)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
@@ -2933,15 +2818,6 @@ endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
 TARGET_EXAMPLEDIRS_EXAMPLES=1
 endif
-ifeq ($(FULL_TARGET),avr-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),armeb-linux)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
-ifeq ($(FULL_TARGET),armeb-embedded)
-TARGET_EXAMPLEDIRS_EXAMPLES=1
-endif
 ifdef TARGET_EXAMPLEDIRS_EXAMPLES
 examples_all:
 	$(MAKE) -C examples all

+ 2 - 2
packages/gtk2/Makefile.fpc

@@ -20,10 +20,10 @@ packages_darwin=x11
 [target]
 units=src/buildgtk2 
 exampledirs=examples
-implicitunits=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext $(GDK2X)
+implicitunits=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gtk2ext $(GDK2X)
 
 [compiler]
-unitdir=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/$(GTK2X11)
+unitdir=src src/glib src/atk src/pango src/gtk+/gdk-pixbuf src/gtk+/gdk src/gtk+/gtk src/libglade src/gtkglext src/gtkext src/$(GTK2X11)
 includedir=$(GTK2X11INCLUDE)
 
 [install]

+ 8 - 0
packages/gtk2/fpmake.pp

@@ -1208,6 +1208,14 @@ begin
           AddUnit('glib2');
         end;
 
+    T:=P.Targets.AddUnit('src/gtkext/gtk2ext.pp');
+      T.IncludePath.Add('src/gtkext');
+      with T.Dependencies do
+        begin
+          AddInclude('gtkstatusiconh.inc');
+          AddInclude('gtkstatusicon.inc');
+        end;
+
      T:=P.Targets.AddUnit('src/gtkhtml/gtkhtml.pas');
        T.IncludePath.Add('src/gtkhtml');
        with T.Dependencies do

+ 1 - 1
packages/gtk2/src/buildgtk2.pp

@@ -25,7 +25,7 @@ unit buildgtk2; // keep unit name lowercase for kylix
 interface
 
 uses
-  gtk2, libglade2,gdkglext,gtkglext
+  gtk2, libglade2,gdkglext,gtkglext, gtk2ext
 {$ifdef unix}  
   ,gdk2x
 {$endif unix}

+ 54 - 0
packages/gtk2/src/gtkext/gtk2ext.pp

@@ -0,0 +1,54 @@
+unit gtk2ext;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  glib2, gdk2, gdk2pixbuf, gtk2;
+  
+const
+  { This is equired when people don't have -dev/-devel packages on linux.
+    I'm not sure how Darwin is handled tho }
+  {$ifdef windows}
+  GtkLibNames: array[1..1] of string = (gtklib);
+  {$else}
+    {$ifdef darwin} // Mac/Darwin
+    GtkLibNames: array[1..1] of string = (gtklib); // TODO: I don't know this one!
+    {$else} // BSD, Solaris, Linux
+    GtkLibNames: array[1..2] of string = (gtklib, gtklib + '.0');
+    {$endif}
+  {$endif}
+  
+{$i gtkstatusiconh.inc}
+
+implementation
+
+uses
+  SysUtils, dynlibs;
+
+var
+  gtkhandle : tlibhandle;
+
+{$i gtkstatusicon.inc}
+
+var
+  libIter: Integer;
+
+initialization
+  for libIter := High(GtkLibNames) downto Low(GtkLibNames) do begin
+    gtkhandle := LoadLibrary(GtkLibNames[libIter]);
+    if gtkhandle <> 0 then begin
+      // add all specific component load functions here
+      Loadgtkstatusicon;
+      Break;
+    end;
+  end;
+finalization
+  // add all specific component free functions here
+  Freegtkstatusicon;
+  if gtkhandle <> 0 then
+    FreeLibrary(gtkhandle);
+
+end.
+

+ 69 - 0
packages/gtk2/src/gtkext/gtkstatusicon.inc

@@ -0,0 +1,69 @@
+  procedure Freegtkstatusicon;
+  begin
+    gtk_status_icon_get_type:=nil;
+    gtk_status_icon_new:=nil;
+    gtk_status_icon_new_from_pixbuf:=nil;
+    gtk_status_icon_new_from_file:=nil;
+    gtk_status_icon_new_from_stock:=nil;
+    gtk_status_icon_new_from_icon_name:=nil;
+    gtk_status_icon_set_from_pixbuf:=nil;
+    gtk_status_icon_set_from_file:=nil;
+    gtk_status_icon_set_from_stock:=nil;
+    gtk_status_icon_set_from_icon_name:=nil;
+    gtk_status_icon_get_storage_type:=nil;
+    gtk_status_icon_get_pixbuf:=nil;
+    gtk_status_icon_get_size:=nil;
+    gtk_status_icon_set_screen:=nil;
+    gtk_status_icon_get_screen:=nil;
+    gtk_status_icon_set_tooltip:=nil;
+    gtk_status_icon_set_visible:=nil;
+    gtk_status_icon_get_visible:=nil;
+    gtk_status_icon_set_blinking:=nil;
+    gtk_status_icon_get_blinking:=nil;
+    gtk_status_icon_is_embedded:=nil;
+    gtk_status_icon_position_menu:=nil;
+    gtk_status_icon_get_geometry:=nil;
+  end;
+
+
+  procedure Loadgtkstatusicon;
+  begin
+    Freegtkstatusicon;
+
+    pointer(gtk_status_icon_get_type):=GetProcAddress(gtkhandle,'gtk_status_icon_get_type');
+    pointer(gtk_status_icon_new):=GetProcAddress(gtkhandle,'gtk_status_icon_new');
+    pointer(gtk_status_icon_new_from_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_pixbuf');
+    pointer(gtk_status_icon_new_from_file):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_file');
+    pointer(gtk_status_icon_new_from_stock):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_stock');
+    pointer(gtk_status_icon_new_from_icon_name):=GetProcAddress(gtkhandle,'gtk_status_icon_new_from_icon_name');
+    pointer(gtk_status_icon_set_from_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_pixbuf');
+    pointer(gtk_status_icon_set_from_file):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_file');
+    pointer(gtk_status_icon_set_from_stock):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_stock');
+    pointer(gtk_status_icon_set_from_icon_name):=GetProcAddress(gtkhandle,'gtk_status_icon_set_from_icon_name');
+    pointer(gtk_status_icon_get_storage_type):=GetProcAddress(gtkhandle,'gtk_status_icon_get_storage_type');
+    pointer(gtk_status_icon_get_pixbuf):=GetProcAddress(gtkhandle,'gtk_status_icon_get_pixbuf');
+    pointer(gtk_status_icon_get_stock):=GetProcAddress(gtkhandle, 'gtk_status_icon_get_stock');
+    pointer(gtk_status_icon_get_icon_name):=GetProcAddress(gtkhandle, 'gtk_status_icon_get_icon_name');
+    pointer(gtk_status_icon_get_size):=GetProcAddress(gtkhandle,'gtk_status_icon_get_size');
+    pointer(gtk_status_icon_set_screen):=GetProcAddress(gtkhandle,'gtk_status_icon_set_screen');
+    pointer(gtk_status_icon_get_screen):=GetProcAddress(gtkhandle,'gtk_status_icon_get_screen');
+    pointer(gtk_status_icon_set_tooltip):=GetProcAddress(gtkhandle,'gtk_status_icon_set_tooltip');
+    pointer(gtk_status_icon_set_visible):=GetProcAddress(gtkhandle,'gtk_status_icon_set_visible');
+    pointer(gtk_status_icon_get_visible):=GetProcAddress(gtkhandle,'gtk_status_icon_get_visible');
+    pointer(gtk_status_icon_set_blinking):=GetProcAddress(gtkhandle,'gtk_status_icon_set_blinking');
+    pointer(gtk_status_icon_get_blinking):=GetProcAddress(gtkhandle,'gtk_status_icon_get_blinking');
+    pointer(gtk_status_icon_is_embedded):=GetProcAddress(gtkhandle,'gtk_status_icon_is_embedded');
+    pointer(gtk_status_icon_position_menu):=GetProcAddress(gtkhandle,'gtk_status_icon_position_menu');
+    pointer(gtk_status_icon_get_geometry):=GetProcAddress(gtkhandle,'gtk_status_icon_get_geometry');
+  end;
+
+  function GTK_TYPE_STATUS_ICON: GType;
+  begin
+    Result := gtk_status_icon_get_type();
+  end;
+
+  function Available_GtkStatusIcon: Boolean;
+  begin
+    Result := Assigned(gtk_status_icon_new);
+  end;
+

+ 60 - 0
packages/gtk2/src/gtkext/gtkstatusiconh.inc

@@ -0,0 +1,60 @@
+
+{* gtkstatusicon.h:
+ *
+ * Copyright (C) 2003 Sun Microsystems, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *      Mark McLoughlin <[email protected]>
+ *}
+
+type
+  PGtkStatusIcon  = Pointer;
+  PPGdkScreen = PGdkScreen;
+
+
+var
+  gtk_status_icon_get_type : function:GType;
+  gtk_status_icon_new : function:PGtkStatusIcon;
+  gtk_status_icon_new_from_pixbuf : function(pixbuf:PGdkPixbuf):PGtkStatusIcon;
+  gtk_status_icon_new_from_file : function(filename:Pgchar):PGtkStatusIcon;
+  gtk_status_icon_new_from_stock : function(stock_id:Pgchar):PGtkStatusIcon;
+  gtk_status_icon_new_from_icon_name : function(icon_name:Pgchar):PGtkStatusIcon;
+  gtk_status_icon_set_from_pixbuf : procedure(status_icon:PGtkStatusIcon; pixbuf:PGdkPixbuf);
+  gtk_status_icon_set_from_file : procedure(status_icon:PGtkStatusIcon; filename:Pgchar);
+  gtk_status_icon_set_from_stock : procedure(status_icon:PGtkStatusIcon; stock_id:Pgchar);
+  gtk_status_icon_set_from_icon_name : procedure(status_icon:PGtkStatusIcon; icon_name:Pgchar);
+  gtk_status_icon_get_storage_type : function(status_icon:PGtkStatusIcon):TGtkImageType;
+  gtk_status_icon_get_pixbuf : function(status_icon:PGtkStatusIcon):PGdkPixbuf;
+  gtk_status_icon_get_stock : function(status_icon: PGtkStatusIcon):Pgchar;
+  gtk_status_icon_get_icon_name : function(status_icon: PGtkStatusIcon):Pgchar;
+  gtk_status_icon_get_size : function(status_icon:PGtkStatusIcon):gint;
+  gtk_status_icon_set_screen : procedure(status_icon:PGtkStatusIcon; screen:PGdkScreen);
+  gtk_status_icon_get_screen : function(status_icon:PGtkStatusIcon):PGdkScreen;
+  gtk_status_icon_set_tooltip : procedure(status_icon:PGtkStatusIcon; tooltip_text:Pgchar);
+  gtk_status_icon_set_visible : procedure(status_icon:PGtkStatusIcon; visible:gboolean);
+  gtk_status_icon_get_visible : function(status_icon:PGtkStatusIcon):gboolean;
+  gtk_status_icon_set_blinking : procedure(status_icon:PGtkStatusIcon; blinking:gboolean);
+  gtk_status_icon_get_blinking : function(status_icon:PGtkStatusIcon):gboolean;
+  gtk_status_icon_is_embedded : function(status_icon:PGtkStatusIcon):gboolean;
+  gtk_status_icon_position_menu : procedure(menu:PGtkMenu; x:Pgint; y:Pgint; push_in:Pgboolean; user_data:gpointer);
+  gtk_status_icon_get_geometry : function(status_icon:PGtkStatusIcon; screen:PPGdkScreen; area:PGdkRectangle; orientation:PGtkOrientation):gboolean;
+
+function GTK_TYPE_STATUS_ICON: GType;
+
+function Available_GtkStatusIcon: Boolean;
+