summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristoffer Ericson <kristoffer_e1@hotmail.com>2006-10-25 23:27:19 +0000
committerKristoffer Ericson <kristoffer_e1@hotmail.com>2006-10-25 23:27:19 +0000
commite26108affb65e89fcf248a58564b9c25934a04a0 (patch)
tree3c27feb6d440ed2df41309dae277afc13427c12f
parentd7fd0e38cb60cb0ac871723c34616bf542d423cc (diff)
parent12f3d309156ac047b0826904ef729b83b997b8b5 (diff)
merge of 5d13f311dd93df73db461d6abca7480b39bbecbc
and 6bdfd4680fb56e499b8a254034efb752dead5002
-rw-r--r--MAINTAINERS130
-rw-r--r--classes/base.bbclass42
-rw-r--r--classes/debian.bbclass2
-rw-r--r--classes/gtk-binver.bbclass9
-rw-r--r--classes/image_ipk.bbclass2
-rw-r--r--classes/insane.bbclass39
-rw-r--r--classes/kernel.bbclass33
-rw-r--r--classes/lib_package.bbclass4
-rw-r--r--classes/linux-kernel-base.bbclass (renamed from classes/linux_modules.bbclass)23
-rw-r--r--classes/module_strip.bbclass6
-rw-r--r--classes/package.bbclass443
-rw-r--r--classes/package_ipk.bbclass4
-rw-r--r--classes/package_rpm.bbclass2
-rw-r--r--classes/package_tar.bbclass2
-rw-r--r--classes/packaged-staging.bbclass4
-rw-r--r--classes/rootfs_ipk.bbclass6
-rw-r--r--classes/sanity.bbclass20
-rw-r--r--classes/tinderclient.bbclass13
-rw-r--r--conf/bitbake.conf6
-rw-r--r--conf/distro/angstrom-2007.1.conf67
-rw-r--r--conf/distro/celinux-test.conf88
-rw-r--r--conf/distro/generic-unstable.conf72
-rw-r--r--conf/distro/generic.conf22
-rw-r--r--conf/distro/include/angstrom-glibc.inc2
-rw-r--r--conf/distro/include/angstrom.inc2
-rw-r--r--conf/distro/include/preferred-x-versions-pre-X11R7.inc44
-rw-r--r--conf/distro/include/sane-srcdates.inc4
-rw-r--r--conf/distro/nylon.conf2
-rw-r--r--conf/distro/openomap.conf28
-rw-r--r--conf/distro/openzaurus-unstable.conf8
-rw-r--r--conf/distro/sharprom-compatible.conf23
-rw-r--r--conf/local.conf.sample2
-rw-r--r--conf/machine/blueangel.conf2
-rw-r--r--conf/machine/collie.conf6
-rw-r--r--conf/machine/ep93xx.conf11
-rw-r--r--conf/machine/guinness.conf4
-rw-r--r--conf/machine/h1910.conf29
-rw-r--r--conf/machine/h1940.conf2
-rw-r--r--conf/machine/h2200.conf34
-rw-r--r--conf/machine/h3600.conf30
-rw-r--r--conf/machine/h3900.conf8
-rw-r--r--conf/machine/h4000.conf29
-rw-r--r--conf/machine/h5xxx.conf44
-rw-r--r--conf/machine/h6300.conf45
-rw-r--r--conf/machine/htcuniversal.conf57
-rw-r--r--conf/machine/hx2000.conf4
-rw-r--r--conf/machine/hx4700.conf63
-rw-r--r--conf/machine/include/LAB-settings.conf8
-rw-r--r--conf/machine/include/handheld-common.conf23
-rw-r--r--conf/machine/include/ipaq-common.conf7
-rw-r--r--conf/machine/include/poodle-2.4.conf6
-rw-r--r--conf/machine/include/simpad-2.4.conf4
-rw-r--r--conf/machine/include/simpad-2.6.conf2
-rw-r--r--conf/machine/include/smartphone-common.conf21
-rw-r--r--conf/machine/include/thinclient-common.conf19
-rw-r--r--conf/machine/include/tosa-2.4.conf2
-rw-r--r--conf/machine/include/tune-arm920t.conf2
-rw-r--r--conf/machine/include/zaurus-clamshell-2.4.conf2
-rw-r--r--conf/machine/ipaq-pxa270.conf3
-rw-r--r--conf/machine/jornada56x.conf3
-rw-r--r--conf/machine/logicpd-pxa270.conf9
-rw-r--r--conf/machine/magician.conf49
-rw-r--r--conf/machine/mainstone.conf2
-rw-r--r--conf/machine/navman-icn330.conf37
-rwxr-xr-xconf/machine/netbook-pro.conf13
-rw-r--r--conf/machine/netvista.conf1
-rw-r--r--conf/machine/omap5912osk.conf6
-rw-r--r--conf/machine/poodle.conf2
-rw-r--r--conf/machine/simpad.conf3
-rw-r--r--conf/machine/tosa.conf2
-rw-r--r--contrib/distro-packages/.mtn2git_empty (renamed from packages/clamav/site/.mtn2git_empty)0
-rw-r--r--contrib/distro-packages/debian/.mtn2git_empty (renamed from packages/fltk/fltk-1.2+cvs20040806/.mtn2git_empty)0
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/.mtn2git_empty (renamed from packages/gnuz/.mtn2git_empty)0
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/debian/.mtn2git_empty (renamed from packages/gpe-screenshot/.mtn2git_empty)0
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/debian/changelog6
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/debian/compat1
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/debian/control17
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/debian/copyright22
-rw-r--r--contrib/distro-packages/debian/openembedded-essential-1.0/debian/files1
-rwxr-xr-xcontrib/distro-packages/debian/openembedded-essential-1.0/debian/rules19
-rw-r--r--contrib/distro-packages/rpm/.mtn2git_empty (renamed from packages/gpe-screenshot/files/.mtn2git_empty)0
-rw-r--r--contrib/distro-packages/rpm/openembedded-essential-1.0.spec29
-rwxr-xr-xcontrib/python/generate-manifest.py11
-rw-r--r--packages/aiostress/.mtn2git_empty (renamed from packages/kbdd/kbdd-patched-20040904/.mtn2git_empty)0
-rw-r--r--packages/aiostress/aiostress_0.0.bb17
-rw-r--r--packages/alsa/alsa-driver_0.9.6-hh4c.bb2
-rw-r--r--packages/angstrom/task-angstrom-x11.bb8
-rw-r--r--packages/appweb/appweb.inc4
-rw-r--r--packages/appweb/appweb_1.2.0.bb7
-rw-r--r--packages/appweb/appweb_2.0.4.bb5
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/.mtn2git_empty (renamed from packages/libgpewidget/libgpewidget-0.102/.mtn2git_empty)0
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/110-arm-eabi-conf.patch24
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch31
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-100-uclibc-conf.patch139
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--packages/binutils/binutils-cross_2.17.50.0.5.bb32
-rw-r--r--packages/binutils/binutils_2.17.50.0.5.bb122
-rw-r--r--packages/bitbake/bitbake_svn.bb2
-rw-r--r--packages/bluez/bluez-libs_3.7.bb22
-rw-r--r--packages/bluez/bluez-utils-dbus_2.20.bb2
-rw-r--r--packages/bluez/bluez-utils-dbus_2.21.bb2
-rw-r--r--packages/bluez/bluez-utils-dbus_2.24.bb2
-rw-r--r--packages/bluez/bluez-utils-dbus_2.25.bb2
-rw-r--r--packages/bluez/bluez-utils-nodbus_2.20.bb2
-rw-r--r--packages/bluez/bluez-utils-nodbus_2.21.bb2
-rw-r--r--packages/bluez/bluez-utils-nodbus_2.24.bb2
-rw-r--r--packages/bluez/bluez-utils-nodbus_2.25.bb2
-rw-r--r--packages/bluez/bluez-utils.inc2
-rw-r--r--packages/bluez/bluez-utils_3.1.bb4
-rw-r--r--packages/bluez/bluez-utils_3.4.bb4
-rw-r--r--packages/cairo/cairo_1.2.2.bb2
-rw-r--r--packages/clamav/clamav.inc122
-rw-r--r--packages/clamav/clamav_0.88.4.bb123
-rw-r--r--packages/clamav/clamav_0.88.5.bb3
-rw-r--r--packages/clearsilver/clearsilver_0.10.3.bb9
-rw-r--r--packages/coreutils/coreutils-5.3.0/rename-tee-for-glibc2.5.patch33
-rw-r--r--packages/coreutils/coreutils_5.3.0.bb5
-rw-r--r--packages/cups/cups_1.1.19.bb19
-rw-r--r--packages/cups/cups_1.1.20.bb19
-rw-r--r--packages/cups/cups_1.1.23.bb6
-rwxr-xr-xpackages/dates/dates_0.1.bb18
-rw-r--r--packages/dates/dates_svn.bb13
-rw-r--r--packages/dbench/.mtn2git_empty (renamed from packages/libpng/1.2.12/.mtn2git_empty)0
-rw-r--r--packages/dbench/dbench/.mtn2git_empty (renamed from packages/libpng/libpng-1.2.12/.mtn2git_empty)0
-rw-r--r--packages/dbench/dbench/destdir.patch23
-rw-r--r--packages/dbench/dbench_3.04.bb16
-rw-r--r--packages/dbus/dbus-0.94/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6-2.6.12-hh3/.mtn2git_empty)0
-rw-r--r--packages/dbus/dbus-0.94/fix-install-daemon.patch13
-rw-r--r--packages/dbus/dbus-native_0.94.bb28
-rw-r--r--packages/dbus/dbus/fix-segfault.patch (renamed from packages/dbus/dbus-0.92/fix-segfault.patch)0
-rw-r--r--packages/dbus/dbus_0.94.bb64
-rw-r--r--packages/dhcdbd/dhcdbd_2.0.bb25
-rw-r--r--packages/dhcdbd/files/no-ext-options.patch13
-rw-r--r--packages/dhcp/dhcp_3.0.2.bb8
-rw-r--r--packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch84
-rw-r--r--packages/diffutils/diffutils_2.8.1.bb12
-rw-r--r--packages/eventlog/eventlog_0.2.5.bb2
-rw-r--r--packages/expat/expat_2.0.0.bb2
-rw-r--r--packages/fakeroot/fakeroot_1.2.13.bb11
-rw-r--r--packages/findutils/findutils_4.1.20.bb15
-rw-r--r--packages/flex/flex.inc2
-rw-r--r--packages/fltk/fltk-1.2+cvs20040806/autotools.patch155
-rw-r--r--packages/fltk/fltk-1.2+cvs20040806/makefiles.patch36
-rw-r--r--packages/fltk/fltk_1.1.7.bb43
-rw-r--r--packages/fltk/fltk_1.2+cvs20040806.bb45
-rw-r--r--packages/fluxbox/fluxbox_svn.bb96
-rw-r--r--packages/fsx-linux/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/.mtn2git_empty)0
-rw-r--r--packages/fsx-linux/fsx-linux_0.0.bb15
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.1.bb16
-rw-r--r--packages/gcc/gcc-package-cross.inc2
-rw-r--r--packages/gdb/gdb_6.4.bb2
-rw-r--r--packages/glib-1.2/glib-1.2-native_1.2.10.bb4
-rw-r--r--packages/glibc/glibc-package.bbclass2
-rw-r--r--packages/glibc/glibc_2.4.bb4
-rw-r--r--packages/glibc/glibc_2.5.bb5
-rw-r--r--packages/glibmm/glibmm_2.8.4.bb1
-rw-r--r--packages/gnome/goffice_0.3.2.bb23
-rw-r--r--packages/gnuz/gnuz-levelmaker-native_0.1.1.bb30
-rw-r--r--packages/gnuz/gnuz-package-native_0.1.bb30
-rw-r--r--packages/gnuz/gnuz_0.3.bb29
-rw-r--r--packages/gpe-calendar/gpe-calendar_svn.bb (renamed from packages/gpe-calendar/gpe-calendar_cvs.bb)8
-rw-r--r--packages/gpe-conf/gpe-conf_svn.bb (renamed from packages/gpe-conf/gpe-conf_cvs.bb)7
-rw-r--r--packages/gpe-login/gpe-login_0.82.bb12
-rw-r--r--packages/gpe-login/gpe-login_0.83.bb20
-rw-r--r--packages/gpe-login/gpe-login_0.86.bb19
-rw-r--r--packages/gpe-scap/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/h2200/.mtn2git_empty)0
-rw-r--r--packages/gpe-scap/gpe-scap_1.0.bb (renamed from packages/gpe-screenshot/gpe-screenshot_0.4.bb)7
-rw-r--r--packages/gpe-screenshot/files/fix-segfault.patch36
-rw-r--r--packages/gpe-session-scripts/files/change-default-applets.patch18
-rw-r--r--packages/gpe-session-scripts/files/change-default-xsettings.patch12
-rw-r--r--packages/gpe-session-scripts/files/remove-x11-common-files.patch20
-rw-r--r--packages/gpe-session-scripts/files/xdefaults.patch7
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.61.bb23
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.62.bb41
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.63.bb30
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.64.bb30
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.65.bb29
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.66.bb36
-rw-r--r--packages/gpe-session-scripts/gpe-session-scripts_0.67.bb6
-rw-r--r--packages/gpesyncd/gpesyncd_svn.bb (renamed from packages/gpesyncd/gpesyncd_cvs.bb)6
-rw-r--r--packages/gpsd/gpsd_2.33.bb5
-rw-r--r--packages/granule/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/h4000/.mtn2git_empty)0
-rw-r--r--packages/granule/granule_1.2.2.bb12
-rw-r--r--packages/granule/libassa_3.4.2.bb16
-rw-r--r--packages/grift/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/h5xxx/.mtn2git_empty)0
-rw-r--r--packages/grift/ginspector_20050529.bb15
-rw-r--r--packages/grift/glrr-widgets_20050529.bb14
-rw-r--r--packages/grift/glrr_20050529.bb14
-rw-r--r--packages/grift/gtracer_0.0.10.bb9
-rw-r--r--packages/gtk+/gtk+-2.10.0/automake-lossage.patch24
-rw-r--r--packages/gtk+/gtk+-2.10.0/disable-print.patch50
-rw-r--r--packages/gtk+/gtk+-2.10.0/disable-tooltips.patch11
-rw-r--r--packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch236
-rw-r--r--packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch10
-rw-r--r--packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch29
-rw-r--r--packages/gtk+/gtk+-2.10.0/menu-deactivate.patch51
-rw-r--r--packages/gtk+/gtk+-2.10.0/migration.patch615
-rw-r--r--packages/gtk+/gtk+-2.10.0/no-demos.patch10
-rw-r--r--packages/gtk+/gtk+-2.10.0/no-xwc.patch151
-rw-r--r--packages/gtk+/gtk+-2.10.0/run-iconcache.patch19
-rw-r--r--packages/gtk+/gtk+-2.10.0/scroll-timings.patch11
-rw-r--r--packages/gtk+/gtk+-2.10.0/single-click.patch54
-rw-r--r--packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch267
-rw-r--r--packages/gtk+/gtk+-2.10.0/spinbutton.patch128
-rw-r--r--packages/gtk+/gtk+-2.10.0/xsettings.patch16
-rw-r--r--packages/gtk+/gtk+-2.10.1/automake-lossage.patch24
-rw-r--r--packages/gtk+/gtk+-2.10.1/disable-print.patch50
-rw-r--r--packages/gtk+/gtk+-2.10.1/disable-tooltips.patch11
-rw-r--r--packages/gtk+/gtk+-2.10.1/gtk+-handhelds.patch236
-rw-r--r--packages/gtk+/gtk+-2.10.1/gtklabel-resize-patch10
-rw-r--r--packages/gtk+/gtk+-2.10.1/hardcoded_libtool.patch29
-rw-r--r--packages/gtk+/gtk+-2.10.1/menu-deactivate.patch51
-rw-r--r--packages/gtk+/gtk+-2.10.1/migration.patch615
-rw-r--r--packages/gtk+/gtk+-2.10.1/no-demos.patch10
-rw-r--r--packages/gtk+/gtk+-2.10.1/no-xwc.patch151
-rw-r--r--packages/gtk+/gtk+-2.10.1/run-iconcache.patch19
-rw-r--r--packages/gtk+/gtk+-2.10.1/scroll-timings.patch11
-rw-r--r--packages/gtk+/gtk+-2.10.1/single-click.patch54
-rw-r--r--packages/gtk+/gtk+-2.10.1/small-gtkfilesel.patch267
-rw-r--r--packages/gtk+/gtk+-2.10.1/spinbutton.patch128
-rw-r--r--packages/gtk+/gtk+-2.10.1/xsettings.patch16
-rw-r--r--packages/gtk+/gtk+_2.10.0.bb91
-rw-r--r--packages/gtk+/gtk+_2.10.1.bb91
-rw-r--r--packages/gtk+/gtk+_2.10.3.bb24
-rw-r--r--packages/gtk+/gtk+_2.4.13.bb4
-rw-r--r--packages/gtk+/gtk+_2.4.4.bb3
-rw-r--r--packages/gtk+/gtk+_2.6.10.bb20
-rw-r--r--packages/gtk+/gtk+_2.6.3.bb4
-rw-r--r--packages/gtk+/gtk+_2.6.4-1.osso7.bb4
-rw-r--r--packages/gtk+/gtk+_2.6.7.bb4
-rw-r--r--packages/gtk+/gtk+_2.8.16.bb20
-rw-r--r--packages/gtk+/gtk+_2.8.9.bb24
-rw-r--r--packages/gtk-engines/gtk-engines_2.7.4.bb6
-rw-r--r--packages/havp/havp_0.82.bb4
-rw-r--r--packages/images/ossie-image.bb19
-rwxr-xr-xpackages/initscripts/initscripts-1.0/checkroot.sh7
-rw-r--r--packages/initscripts/initscripts-1.0/logicpd-pxa270/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/htcuniversal/.mtn2git_empty)0
-rw-r--r--packages/initscripts/initscripts-1.0/logicpd-pxa270/checkroot.sh179
-rw-r--r--packages/initscripts/initscripts_1.0.bb2
-rw-r--r--packages/interbench/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/hx4700/.mtn2git_empty)0
-rw-r--r--packages/interbench/interbench_0.30.bb14
-rw-r--r--packages/ipsec-tools/ipsec-tools-0.6.6/.mtn2git_empty (renamed from packages/linux/handhelds-pxa-2.6/ipaq-pxa270/.mtn2git_empty)0
-rw-r--r--packages/ipsec-tools/ipsec-tools-0.6.6/racoon-search-missing.patch17
-rw-r--r--packages/ipsec-tools/ipsec-tools_0.6.6.bb48
-rw-r--r--packages/kbdd/kbdd-patched-20040904/fellowes.patch425
-rw-r--r--packages/kbdd/kbdd_20040904.bb17
-rw-r--r--packages/kbdd/kbdd_svn.bb (renamed from packages/kbdd/kbdd_cvs.bb)19
-rw-r--r--packages/kernbench/.mtn2git_empty (renamed from packages/linux/handhelds-sa-2.6/.mtn2git_empty)0
-rw-r--r--packages/kernbench/kernbench_0.41.bb14
-rw-r--r--packages/keymaps/files/tosa/keymap-2.6.map4
-rw-r--r--packages/keymaps/keymaps_1.0.bb2
-rw-r--r--packages/lcdproc/lcdproc_0.5.0.bb2
-rw-r--r--packages/less/less_382.bb16
-rw-r--r--packages/libaio/libaio-0.3.106/.mtn2git_empty (renamed from packages/matrixssl/matrixssl-1.0-beta/.mtn2git_empty)0
-rw-r--r--packages/libaio/libaio-0.3.106/00_arches.patch770
-rw-r--r--packages/libaio/libaio-0.3.106/destdir.patch13
-rw-r--r--packages/libaio/libaio_0.3.106.bb17
-rw-r--r--packages/libdvb/libdvb_0.5.5.1.bb2
-rw-r--r--packages/libgpelaunch/libgpelaunch_0.10.bb16
-rw-r--r--packages/libgpelaunch/libgpelaunch_0.11.bb16
-rw-r--r--packages/libgpelaunch/libgpelaunch_0.12.bb16
-rw-r--r--packages/libgpelaunch/libgpelaunch_0.14.bb4
-rw-r--r--packages/libgpevtype/libgpevtype_svn.bb (renamed from packages/libgpevtype/libgpevtype_cvs.bb)4
-rw-r--r--packages/libgpewidget/libgpewidget_0.110.bb25
-rw-r--r--packages/libgpewidget/libgpewidget_0.111.bb25
-rw-r--r--packages/libgpewidget/libgpewidget_0.112.bb25
-rw-r--r--packages/libgpewidget/libgpewidget_0.113.bb22
-rw-r--r--packages/libgpewidget/libgpewidget_0.114.bb4
-rw-r--r--packages/libgpewidget/libgpewidget_svn.bb (renamed from packages/libgpewidget/libgpewidget_cvs.bb)4
-rw-r--r--packages/libgsf/libgsf_1.14.2.bb23
-rw-r--r--packages/libmimedir/libmimedir_0.4.0-20060804.bb4
-rw-r--r--packages/libol/libol_0.3.18.bb2
-rw-r--r--packages/libsdl/libsdl-native_1.2.11.bb (renamed from packages/libsdl/libsdl-native_1.2.7.bb)49
-rw-r--r--packages/linux/handhelds-pxa-2.6-2.6.12-hh3/fix-extraversion.patch11
-rw-r--r--packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6_2.6.8.1-hh01382
-rw-r--r--packages/linux/handhelds-pxa-2.6/hx-iwmmxt.patch15
-rw-r--r--packages/linux/handhelds-pxa-2.6_2.6.11-hh2.bb27
-rw-r--r--packages/linux/handhelds-pxa-2.6_2.6.12-hh1.bb25
-rw-r--r--packages/linux/handhelds-pxa-2.6_2.6.12-hh3.bb27
-rw-r--r--packages/linux/handhelds-pxa-2.6_2.6.15-hh0.bb37
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.1.bb65
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.4.bb68
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.5.bb67
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.6.bb70
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh39.bb70
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.1.bb2
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.bb2
-rw-r--r--packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb2
-rw-r--r--packages/linux/handhelds-sa-2.6_cvs.bb30
-rw-r--r--packages/linux/handhelds-un-2.6_2.6.16-hh4.bb30
-rw-r--r--packages/linux/ixp4xx-kernel-svnpatch.inc5
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.18.bb6
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.19-rc2.bb22
-rw-r--r--packages/linux/linux-handhelds-2.6.inc (renamed from packages/linux/handhelds-pxa-2.6.inc)8
-rw-r--r--packages/linux/linux-handhelds-2.6/.mtn2git_empty (renamed from packages/omnievents/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/24-hostap_cs_id.diff (renamed from packages/linux/handhelds-pxa-2.6/24-hostap_cs_id.diff)0
-rw-r--r--packages/linux/linux-handhelds-2.6/block-pio.patch (renamed from packages/linux/handhelds-pxa-2.6/block-pio.patch)0
-rw-r--r--packages/linux/linux-handhelds-2.6/defconfig (renamed from packages/linux/handhelds-pxa-2.6/defconfig)0
-rw-r--r--packages/linux/linux-handhelds-2.6/defconfig-ipaq-pxa-2.6 (renamed from packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6)0
-rw-r--r--packages/linux/linux-handhelds-2.6/eabi-enums.patch (renamed from packages/linux/handhelds-pxa-2.6/eabi-enums.patch)0
-rw-r--r--packages/linux/linux-handhelds-2.6/h2200/.mtn2git_empty (renamed from packages/omnievents/files/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/h2200/defconfig (renamed from packages/linux/handhelds-pxa-2.6/h2200/defconfig)2
-rw-r--r--packages/linux/linux-handhelds-2.6/h4000/.mtn2git_empty (renamed from packages/python/python-dbus/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/h4000/defconfig (renamed from packages/linux/handhelds-pxa-2.6/h4000/defconfig)0
-rw-r--r--packages/linux/linux-handhelds-2.6/h5xxx/.mtn2git_empty (renamed from packages/qemu/qemu-0.8.0/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/h5xxx/defconfig (renamed from packages/linux/handhelds-pxa-2.6/h5xxx/defconfig)0
-rw-r--r--packages/linux/linux-handhelds-2.6/hrw-pcmcia-ids-r2.patch (renamed from packages/linux/handhelds-pxa-2.6/hrw-pcmcia-ids-r2.patch)0
-rw-r--r--packages/linux/linux-handhelds-2.6/htcuniversal/.mtn2git_empty (renamed from packages/qemu/qemu-0.8.2/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/htcuniversal/defconfig (renamed from packages/linux/handhelds-pxa-2.6/htcuniversal/defconfig)0
-rw-r--r--packages/linux/linux-handhelds-2.6/hx4700/.mtn2git_empty (renamed from packages/quagga/quagga-0.99.2/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/hx4700/defconfig (renamed from packages/linux/handhelds-pxa-2.6/hx4700/defconfig)0
-rw-r--r--packages/linux/linux-handhelds-2.6/ide_not_removable-r0.patch (renamed from packages/linux/handhelds-pxa-2.6/ide_not_removable-r0.patch)0
-rw-r--r--packages/linux/linux-handhelds-2.6/ipaq-pxa270/.mtn2git_empty (renamed from packages/xev/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/ipaq-pxa270/defconfig (renamed from packages/linux/handhelds-pxa-2.6/ipaq-pxa270/defconfig)0
-rw-r--r--packages/linux/linux-handhelds-2.6/jornada56x/.mtn2git_empty (renamed from packages/xextensions/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-handhelds-2.6/jornada56x/defconfig (renamed from packages/linux/handhelds-sa-2.6/defconfig-jornada56x)0
-rw-r--r--packages/linux/linux-handhelds-2.6/magician/.mtn2git_empty0
-rw-r--r--packages/linux/linux-handhelds-2.6/magician/defconfig1367
-rw-r--r--packages/linux/linux-handhelds-2.6/pitre-tls-2651.patch (renamed from packages/linux/handhelds-pxa-2.6/pitre-tls-2651.patch)0
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.16-hh5.bb (renamed from packages/linux/handhelds-pxa-2.6_2.6.16-hh5.bb)2
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.16-hh7.bb (renamed from packages/linux/handhelds-pxa-2.6_2.6.16-hh7.bb)2
-rw-r--r--packages/linux/linux-handhelds-2.6_cvs.bb (renamed from packages/linux/handhelds-pxa-2.6_cvs.bb)7
-rw-r--r--packages/linux/linux-navman/.mtn2git_empty0
-rw-r--r--packages/linux/linux-navman/defconfig733
-rw-r--r--packages/linux/linux-navman_2.6.18.bb54
-rw-r--r--packages/linux/linux-omap1-2.6.18+git/.mtn2git_empty0
-rw-r--r--packages/linux/linux-omap1-2.6.18+git/another-ide-cs-ids.patch18
-rw-r--r--packages/linux/linux-omap1-2.6.18+git/defconfig1271
-rw-r--r--packages/linux/linux-omap1-2.6.18-omap1/.mtn2git_empty0
-rw-r--r--packages/linux/linux-omap1-2.6.18-omap1/another-ide-cs-ids.patch18
-rw-r--r--packages/linux/linux-omap1-2.6.18-omap1/defconfig1271
-rw-r--r--packages/linux/linux-omap1-2.6.x+git/defconfig108
-rw-r--r--packages/linux/linux-omap1.inc30
-rw-r--r--packages/linux/linux-omap1_2.6.12-rc2.bb41
-rw-r--r--packages/linux/linux-omap1_2.6.18+git.bb11
-rw-r--r--packages/linux/linux-omap1_2.6.18-omap1.bb10
-rw-r--r--packages/linux/linux-omap1_2.6.x+git.bb43
-rw-r--r--packages/linux/linux-openzaurus.inc2
-rw-r--r--packages/linux/linux-smdk2440_2.6.18.bb1
-rw-r--r--packages/linux/linux-titan-sh4_2.6.17.bb1
-rw-r--r--packages/linux/linux-x86-2.6.17.9/guinness/defconfig77
-rw-r--r--packages/linux/linux-x86_2.6.17.9.bb2
-rw-r--r--packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050602.bb1
-rw-r--r--packages/linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb1
-rw-r--r--packages/litestream/litestream_1.3RC3.bb4
-rw-r--r--packages/lzma/lzma-native_4.17.bb14
-rw-r--r--packages/lzma/lzma_4.17.bb36
-rw-r--r--packages/matchbox-config-gtk/.mtn2git_empty0
-rw-r--r--packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb11
-rw-r--r--packages/matchbox-panel/matchbox-panel.inc2
-rw-r--r--packages/matrixssl/matrixssl-1.0-beta/cross.patch28
-rw-r--r--packages/matrixssl/matrixssl.inc5
-rw-r--r--packages/matrixssl/matrixssl_1.0-beta.bb18
-rw-r--r--packages/matrixssl/matrixssl_1.1.1.bb12
-rw-r--r--packages/mdadm/mdadm.inc5
-rw-r--r--packages/mdadm/mdadm_2.5.5.bb3
-rw-r--r--packages/ntp/ntp_4.2.2p3.bb2
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty0
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb (renamed from packages/xorg-lib/diet-x11_6.2.1.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb (renamed from packages/xorg-lib/libx11_6.2.1.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb (renamed from packages/xorg-lib/libxau_0.1.1.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb (renamed from packages/xorg-lib/libxcursor_1.1.2.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb (renamed from packages/xorg-lib/libxdmcp_0.1.3.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb (renamed from packages/xorg-lib/libxext_cvs.bb)4
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb (renamed from packages/xorg-lib/libxfixes_2.0.1.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb (renamed from packages/xorg-lib/libxft_2.1.6.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb (renamed from packages/xorg-lib/libxrender_0.8.4.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb (renamed from packages/xextensions/xextensions_1.0.1.bb)1
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb (renamed from packages/xorg-lib/xtrans_0.1.bb)1
-rw-r--r--packages/omnievents/files/omniidl-cross.patch16
-rw-r--r--packages/omnievents/omnievents_2.6.1.bb34
-rw-r--r--packages/omniorb/files/arm_double.patch266
-rw-r--r--packages/omniorb/files/dynskel.patch49
-rw-r--r--packages/omniorb/files/long_double.patch19
-rw-r--r--packages/omniorb/files/omniORB.cfg918
-rw-r--r--packages/omniorb/files/rm_LongDouble.patch14
-rw-r--r--packages/omniorb/omniorb-native_4.0.5.bb21
-rw-r--r--packages/omniorb/omniorb-native_4.0.7.bb5
-rw-r--r--packages/omniorb/omniorb_4.0.5.bb35
-rw-r--r--packages/omniorb/omniorb_4.0.7.bb13
-rw-r--r--packages/openntpd/openntpd_3.9p1.bb2
-rw-r--r--packages/openobex/openobex_1.2.bb6
-rw-r--r--packages/oprofile/oprofile/opcontrol_bashisms.patch16
-rw-r--r--packages/oprofile/oprofile_0.9.2.bb (renamed from packages/oprofile/oprofile_0.9.1.bb)1
-rw-r--r--packages/oprofile/oprofile_cvs.bb8
-rw-r--r--packages/ossie/.mtn2git_empty0
-rw-r--r--packages/ossie/ossie-channeldemo_svn.bb19
-rw-r--r--packages/ossie/ossie-demo_svn.bb18
-rw-r--r--packages/ossie/ossie-gpp-device_svn.bb19
-rw-r--r--packages/ossie/ossie-nodebooter_svn.bb14
-rw-r--r--packages/ossie/ossie-rxdemo_svn.bb19
-rw-r--r--packages/ossie/ossie-standardinterfaces_svn.bb18
-rw-r--r--packages/ossie/ossie-usrp-device_svn.bb19
-rw-r--r--packages/ossie/ossiecf_svn.bb20
-rw-r--r--packages/p3scan/.mtn2git_empty0
-rw-r--r--packages/p3scan/files/.mtn2git_empty0
-rw-r--r--packages/p3scan/files/doc.configure.txt15
-rw-r--r--packages/p3scan/files/dont-search-use-include.patch11
-rw-r--r--packages/p3scan/files/libtool-fix.patch24
-rw-r--r--packages/p3scan/files/p3scan.conf16
-rw-r--r--packages/p3scan/files/p3scan.init33
-rw-r--r--packages/p3scan/files/volatiles.05_p3scan4
-rw-r--r--packages/p3scan/p3scan_2.9.05d.bb85
-rw-r--r--packages/p4/p4.inc16
-rw-r--r--packages/patch/patch.inc10
-rw-r--r--packages/patch/patch_2.5.9.bb2
-rw-r--r--packages/perl/perl.inc7
-rw-r--r--packages/perl/perl_5.8.4.bb2
-rw-r--r--packages/perl/perl_5.8.7.bb2
-rw-r--r--packages/pine/pine_4.64.bb (renamed from packages/pine/pine_4.63.bb)0
-rw-r--r--packages/procps/procps-3.2.7/.mtn2git_empty0
-rw-r--r--packages/procps/procps-3.2.7/install.patch27
-rw-r--r--packages/procps/procps-3.2.7/pagesz-not-constant.patch22
-rw-r--r--packages/procps/procps-3.2.7/procmodule.patch36
-rw-r--r--packages/procps/procps-3.2.7/psmodule.patch21
-rw-r--r--packages/procps/procps_3.2.7.bb56
-rw-r--r--packages/psmisc/psmisc_21.8.bb2
-rw-r--r--packages/psmisc/psmisc_22.2.bb2
-rw-r--r--packages/psplash/files/psplash-hand-img.h757
-rw-r--r--packages/psplash/psplash_svn.bb12
-rw-r--r--packages/python/python-2.4.3-manifest.inc10
-rw-r--r--packages/python/python-dbus/cross.patch15
-rw-r--r--packages/python/python-dbus/gettext.patch164
-rw-r--r--packages/python/python-dbus/tmpdir.patch30
-rw-r--r--packages/python/python-dbus_0.23.bb22
-rw-r--r--packages/python/python-dbus_0.71.bb13
-rw-r--r--packages/python/python-native_2.4.0.bb9
-rw-r--r--packages/python/python-pycairo/.mtn2git_empty0
-rw-r--r--packages/python/python-pycairo/fix-pkgconfig-dir.patch13
-rw-r--r--packages/python/python-pycairo_1.2.2.bb18
-rw-r--r--packages/python/python-pygobject-native_2.12.2.bb3
-rw-r--r--packages/python/python-pygobject_2.12.2.bb18
-rw-r--r--packages/python/python-pygtk2/fix-gtkunixprint.patch16
-rw-r--r--packages/python/python-pygtk2_2.10.0.bb26
-rw-r--r--packages/python/python-pygtk2_2.8.6.bb4
-rw-r--r--packages/python/python-pyrex-native_0.9.3.1.bb (renamed from packages/python/python-pyrex-native_0.9.3.bb)0
-rw-r--r--packages/python/python-pyrex_0.9.3.1.bb (renamed from packages/python/python-pyrex_0.9.3.bb)0
-rw-r--r--packages/python/python_2.4.3.bb2
-rw-r--r--packages/qemu/files/compiler.patch10
-rw-r--r--packages/qemu/files/nodocs_cvs.patch44
-rw-r--r--packages/qemu/files/qemu-pci-irq-sharing.patch52
-rw-r--r--packages/qemu/files/qemu-sdl-cursor.patch13
-rw-r--r--packages/qemu/files/qemu-usb-wacom-0.8.2.patch445
-rw-r--r--packages/qemu/files/qemu-usb-wacom-buttons.patch23
-rw-r--r--packages/qemu/files/qemu-usb-wacom-pressure.patch28
-rw-r--r--packages/qemu/files/qemu-usb-wacom.patch444
-rw-r--r--packages/qemu/files/qemu-x-no-sdl.patch630
-rw-r--r--packages/qemu/qemu-0.8.0/arm_nptl.patch854
-rw-r--r--packages/qemu/qemu-0.8.2/arm_nptl.patch857
-rw-r--r--packages/qemu/qemu-native.inc12
-rw-r--r--packages/qemu/qemu-native_0.7.0.bb4
-rw-r--r--packages/qemu/qemu-native_0.8.0.bb5
-rw-r--r--packages/qemu/qemu-native_0.8.1.bb5
-rw-r--r--packages/qemu/qemu-native_0.8.2.bb6
-rw-r--r--packages/qemu/qemu_0.7.0.bb6
-rw-r--r--packages/qemu/qemu_0.8.0.bb9
-rw-r--r--packages/qemu/qemu_0.8.1.bb6
-rw-r--r--packages/qemu/qemu_0.8.2.bb11
-rw-r--r--packages/qemu/qemu_cvs.bb15
-rw-r--r--packages/qte/qte-common_2.3.10.inc12
-rw-r--r--packages/qte/qte-functions.inc11
-rw-r--r--packages/qte/qtopia-core/.mtn2git_empty0
-rw-r--r--packages/qte/qtopia-core/linux-oe-qmake.conf95
-rw-r--r--packages/qte/qtopia-core_4.2.0.bb177
-rw-r--r--packages/reaim/.mtn2git_empty0
-rw-r--r--packages/reaim/reaim/.mtn2git_empty0
-rw-r--r--packages/reaim/reaim/makefile-fix.patch23
-rw-r--r--packages/reaim/reaim_7.0.1.13.bb13
-rw-r--r--packages/rng-tools/rng-tools_2.bb4
-rw-r--r--packages/rxvt-unicode/rxvt-unicode-7.9/.mtn2git_empty0
-rw-r--r--packages/rxvt-unicode/rxvt-unicode-7.9/xwc.patch23
-rw-r--r--packages/rxvt-unicode/rxvt-unicode_7.9.bb52
-rw-r--r--packages/sdcc/files/.mtn2git_empty0
-rw-r--r--packages/sdcc/files/gcc4.patch13
-rw-r--r--packages/sdcc/files/use-native-tools.patch80
-rw-r--r--packages/sdcc/sdcc-native_2.5.0.bb14
-rw-r--r--packages/sdcc/sdcc_2.5.0.bb7
-rw-r--r--packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb11
-rw-r--r--packages/sphinx/.mtn2git_empty0
-rw-r--r--packages/sphinx/pocketsphinx/.mtn2git_empty0
-rw-r--r--packages/sphinx/pocketsphinx/cross-compile.patch11
-rw-r--r--packages/sphinx/pocketsphinx_0.2.1.bb13
-rw-r--r--packages/sphinx/sphinxbase_0.1.bb13
-rw-r--r--packages/squashfs-tools/files/002-squashfs_lzma.patch886
-rw-r--r--packages/squashfs-tools/files/Makefile-3.1.patch34
-rw-r--r--packages/squashfs-tools/files/Makefile.patch31
-rw-r--r--packages/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch40
-rw-r--r--packages/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch1785
-rw-r--r--packages/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb12
-rw-r--r--packages/squashfs-tools/squashfs-lzma-tools_3.1r2.bb23
-rw-r--r--packages/squashfs-tools/squashfs-tools-native_3.1r2.bb10
-rw-r--r--packages/squashfs-tools/squashfs-tools_3.1r2.bb22
-rw-r--r--packages/stage-manager/.mtn2git_empty0
-rw-r--r--packages/stage-manager/files/.mtn2git_empty0
-rwxr-xr-xpackages/stage-manager/files/stage-manager120
-rw-r--r--packages/stage-manager/stagemanager-native_0.0.1.bb23
-rw-r--r--packages/strace/strace-4.5.14/glibc-2.5.patch11
-rw-r--r--packages/strace/strace_4.5.14.bb18
-rw-r--r--packages/sylpheed/sylpheed_2.2.9.bb32
-rw-r--r--packages/tasks/task-base.bb13
-rw-r--r--packages/tasks/task-bootstrap-unionroot.bb10
-rw-r--r--packages/tasks/task-bootstrap.bb10
-rw-r--r--packages/tasks/task-bootstrap.inc9
-rw-r--r--packages/tasks/task-gpe.bb2
-rw-r--r--packages/tasks/task-ossie.bb15
-rw-r--r--packages/tslib/tslib/qemuarm/.mtn2git_empty0
-rw-r--r--packages/tslib/tslib/qemuarm/ts.conf5
-rw-r--r--packages/tslib/tslib/qemuarm/tslib.sh6
-rw-r--r--packages/uboot/u-boot-LABEL.2006.06.30.2020/.mtn2git_empty0
-rw-r--r--packages/uboot/u-boot-LABEL.2006.06.30.2020/nohelloworld.patch14
-rw-r--r--packages/uboot/u-boot_LABEL.2006.06.30.2020.bb10
-rw-r--r--packages/usrp/files/install_test.patch20
-rw-r--r--packages/usrp/usrp_0.12.bb (renamed from packages/usrp/usrp_0.8.bb)16
-rw-r--r--packages/uucp/.mtn2git_empty0
-rw-r--r--packages/uucp/uucp_1.07.bb16
-rw-r--r--packages/vim/gvim_7.0.bb3
-rw-r--r--packages/vim/vim_7.0.bb5
-rw-r--r--packages/watchdog/watchdog_5.2.bb2
-rw-r--r--packages/web/web_svn.bb4
-rw-r--r--packages/wpa-supplicant/files/wpa-supplicant.sh85
-rw-r--r--packages/wpa-supplicant/wpa-gui_0.4.8.bb3
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.8/.mtn2git_empty0
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.8/defconfig160
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-hermes.patch889
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-zd1211.patch535
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.8/madwifi-bsd-fix.diff12
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.8/wpa_supplicant.conf502
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.9/.mtn2git_empty0
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.9/defconfig160
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-hermes.patch889
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-zd1211.patch535
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.9/madwifi-bsd-fix.diff12
-rw-r--r--packages/wpa-supplicant/wpa-supplicant-0.4.9/wpa_supplicant.conf502
-rw-r--r--packages/wpa-supplicant/wpa-supplicant_0.4.8.bb46
-rw-r--r--packages/wpa-supplicant/wpa-supplicant_0.4.9.bb46
-rw-r--r--packages/xextensions/xextensions-native_1.0.1.bb4
-rw-r--r--packages/xextensions/xextensions-native_cvs.bb4
-rw-r--r--packages/xextensions/xextensions_1.0.1+cvs20050418.bb6
-rw-r--r--packages/xextensions/xextensions_20050610.bb15
-rw-r--r--packages/xextensions/xextensions_cvs.bb13
-rw-r--r--packages/xoo/.mtn2git_empty0
-rw-r--r--packages/xoo/xoo_svn.bb13
-rw-r--r--packages/xorg-app/xauth_cvs.bb12
-rw-r--r--packages/xorg-app/xdpyinfo_cvs.bb11
-rw-r--r--packages/xorg-app/xev_cvs.bb20
-rw-r--r--packages/xorg-app/xhost_20040413.bb13
-rw-r--r--packages/xorg-app/xmodmap_cvs.bb13
-rw-r--r--packages/xorg-app/xprop_cvs.bb12
-rw-r--r--packages/xorg-app/xrandr_cvs.bb10
-rw-r--r--packages/xorg-app/xrdb_cvs.bb12
-rw-r--r--packages/xorg-app/xset_20040817.bb17
-rw-r--r--packages/xorg-app/xterm_207.bb2
-rw-r--r--packages/xorg-lib/diet-x11_20050226.bb6
-rw-r--r--packages/xorg-lib/diet-x11_cvs.bb7
-rw-r--r--packages/xorg-lib/libice_6.3.3.bb17
-rw-r--r--packages/xorg-lib/libice_cvs.bb17
-rw-r--r--packages/xorg-lib/libsm_6.0.3.bb16
-rw-r--r--packages/xorg-lib/libsm_cvs.bb18
-rw-r--r--packages/xorg-lib/libx11-native_6.2.1.bb6
-rw-r--r--packages/xorg-lib/libx11-native_cvs.bb5
-rw-r--r--packages/xorg-lib/libx11_20050226.bb6
-rw-r--r--packages/xorg-lib/libx11_cvs.bb41
-rw-r--r--packages/xorg-lib/libxau-native_0.1.1.bb6
-rw-r--r--packages/xorg-lib/libxau-native_cvs.bb6
-rw-r--r--packages/xorg-lib/libxau_cvs.bb17
-rw-r--r--packages/xorg-lib/libxaw_7.0.2.bb20
-rw-r--r--packages/xorg-lib/libxaw_cvs.bb19
-rw-r--r--packages/xorg-lib/libxcomposite_1.0.1.bb16
-rw-r--r--packages/xorg-lib/libxcomposite_cvs.bb15
-rw-r--r--packages/xorg-lib/libxcursor_cvs.bb17
-rw-r--r--packages/xorg-lib/libxdamage_1.0.1.bb17
-rw-r--r--packages/xorg-lib/libxdamage_cvs.bb16
-rw-r--r--packages/xorg-lib/libxdmcp-native_0.1.1.bb5
-rw-r--r--packages/xorg-lib/libxdmcp-native_0.1.3.bb6
-rw-r--r--packages/xorg-lib/libxdmcp_0.1.1.bb17
-rw-r--r--packages/xorg-lib/libxdmcp_cvs.bb17
-rw-r--r--packages/xorg-lib/libxext-native_cvs.bb6
-rw-r--r--packages/xorg-lib/libxfixes_cvs.bb14
-rw-r--r--packages/xorg-lib/libxfont_1.4.2.bb18
-rw-r--r--packages/xorg-lib/libxfont_cvs.bb17
-rw-r--r--packages/xorg-lib/libxft_cvs.bb26
-rw-r--r--packages/xorg-lib/libxi_6.0.1.bb16
-rw-r--r--packages/xorg-lib/libxi_cvs.bb16
-rw-r--r--packages/xorg-lib/libxinerama_1.0.2+cvs20050505.bb15
-rw-r--r--packages/xorg-lib/libxinerama_1.0.2.bb16
-rw-r--r--packages/xorg-lib/libxinerama_cvs.bb16
-rw-r--r--packages/xorg-lib/libxkbfile_cvs.bb15
-rw-r--r--packages/xorg-lib/libxmu_cvs.bb21
-rw-r--r--packages/xorg-lib/libxp_cvs.bb18
-rw-r--r--packages/xorg-lib/libxpm_3.5.1.bb18
-rw-r--r--packages/xorg-lib/libxpm_cvs.bb18
-rw-r--r--packages/xorg-lib/libxrandr_1.0.2.bb15
-rw-r--r--packages/xorg-lib/libxrandr_cvs.bb15
-rw-r--r--packages/xorg-lib/libxrender_cvs.bb15
-rw-r--r--packages/xorg-lib/libxres_1.0.1.bb13
-rw-r--r--packages/xorg-lib/libxres_cvs.bb14
-rw-r--r--packages/xorg-lib/libxss_cvs.bb19
-rw-r--r--packages/xorg-lib/libxt_0.1.5.bb28
-rw-r--r--packages/xorg-lib/libxt_cvs.bb26
-rw-r--r--packages/xorg-lib/libxtst_cvs.bb17
-rw-r--r--packages/xorg-lib/libxv_2.2.2+cvs20040918.bb13
-rw-r--r--packages/xorg-lib/libxv_2.2.2.bb13
-rw-r--r--packages/xorg-lib/libxvmc_20040919.bb39
-rw-r--r--packages/xorg-lib/libxvmc_20041025.bb36
-rw-r--r--packages/xorg-lib/libxvmc_20050612.bb37
-rw-r--r--packages/xorg-lib/libxxf86dga_cvs.bb15
-rw-r--r--packages/xorg-lib/libxxf86vm_cvs.bb15
-rw-r--r--packages/xorg-lib/xorg-headers-native.bb9
-rw-r--r--packages/xorg-lib/xorg-headers-native/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/CallbackI.h117
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Composite.h105
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/CompositeP.h111
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ConstrainP.h94
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Constraint.h60
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ConvertI.h96
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Core.h66
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/CoreP.h171
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/CreateI.h37
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/DECkeysym.h67
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/EventI.h134
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/HPkeysym.h165
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/HookObjI.h71
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ImUtil.h31
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/InitialI.h429
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Intrinsic.h2589
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/IntrinsicI.h261
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/IntrinsicP.h327
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Object.h60
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ObjectP.h139
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/PassivGraI.h186
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/RectObj.h60
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/RectObjP.h129
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ResConfigP.h78
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ResourceI.h100
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/SelectionI.h170
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Shell.h567
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ShellI.h12
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ShellP.h428
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/StringDefs.h1090
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Sunkeysym.h112
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ThreadsI.h130
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/TranslateI.h606
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/VarargsI.h65
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Vendor.h71
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/VendorP.h111
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/X.h721
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/X10.h89
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/XF86keysym.h188
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/XKBlib.h1151
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/XWDFile.h114
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xalloca.h145
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xarch.h126
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xatom.h79
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xauth.h158
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xcms.h805
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xdefs.h110
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xdmcp.h190
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xfuncproto.h109
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xfuncs.h94
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xlib.h4008
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/XlibConf.h40
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xlibint.h1320
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xlocale.h61
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xmd.h208
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xos.h296
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xos_r.h1160
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xosdefs.h166
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xpoll.h255
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xproto.h2129
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xprotostr.h78
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xregion.h190
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xresource.h360
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xthreads.h316
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xtos.h77
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xutil.h828
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xw32defs.h81
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xwindows.h80
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/Xwinsock.h66
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/ap_keysym.h51
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/cursorfont.h107
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/keysym.h76
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/keysymdef.h2343
-rw-r--r--packages/xorg-lib/xorg-headers-native/X11/xpm.h478
-rw-r--r--packages/xorg-lib/xorg-lib-common.inc4
-rw-r--r--packages/xorg-lib/xtrans-native_0.1.bb3
-rw-r--r--packages/xorg-lib/xtrans_cvs.bb15
-rw-r--r--packages/xorg-xserver/xserver-kdrive_20050207.bb74
-rw-r--r--packages/xorg-xserver/xserver-kdrive_20050624.bb49
-rw-r--r--packages/xorg-xserver/xserver-kdrive_20060312.bb52
-rw-r--r--packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb26
-rw-r--r--packages/xorg-xserver/xserver-kdrive_cvs.bb51
-rw-r--r--packages/xorg-xserver/xserver-kdrive_git.bb28
-rw-r--r--packages/xorg-xserver/xserver-xorg_6.8.99.10.bb65
-rw-r--r--packages/xorg-xserver/xserver-xorg_6.8.99.11.bb65
-rw-r--r--packages/zd1211/zd1211-r83/makefile-unslung.patch48
-rw-r--r--packages/zd1211/zd1211-r83/unslung-iwpriv-hack.patch19
-rw-r--r--packages/zd1211/zd1211-r83/unslung-writel-logging.patch14
-rw-r--r--packages/zlib/zlib-1.2.3/autotools.patch8
-rw-r--r--packages/zlib/zlib_1.2.3.bb2
-rw-r--r--site/i486-linux3
-rw-r--r--site/i686-linux3
-rw-r--r--site/sh4-linux1
705 files changed, 49366 insertions, 11691 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 57191edd82..70c4cd32aa 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1,8 +1,128 @@
-OpenEmbedded Maintainers file. Please put you full name and email-address here for the areas of OE you want to support.
+OpenEmbedded Maintainers List
+Please put you full name and email-address here for the areas of OE you want to support.
-Koen Kooi <koen@openembedded.org>
- MACHINE: h2200, ipaq-pxa270, efika, ep93xx, netbook-pro machines
- DISTRO: Angstrom distribution
- recipes: abiword, bootchart, dia, farsight, freeciv, fuse, galago, geda, gimp, gnome stuff, gnumeric, (g)obby, gpe stuff, imposter, inkscape, matchbox stuff, opensync stuff, telepathy, tilibs, xchat, xournal.
+Note: For the hard of thinking, this list is meant to remain in alphabetical
+order. If you could add yourselves to it in alphabetical order that would be
+so much easier (sort by firstname).
+
+Person: Real name
+Mail: Mail patches to
+Website: Web-page
+Interests: Areas of interest (e.g. subsystems)
+Distros: Maintained distros
+Machines: Maintained machines
+Recipes: Maintained recipes (should match package names, can include wildcards)
+
+-----------------------------------------------------------------------------
+
+Person: Erik Hovland
+Mail: erik@hovland.org
+Distros: familiar
+Machines: h3600, h5400
+Interests: Kernels, Porting, Distro refinement
+Recipes: at76c503a, dropbear, handhelds-sa, handhelds-pxa
+
+Person: Graeme Gregory
+Mail: dp@xora.org.uk
+Website: http://www.xora.org.uk
+Interests: Multimedia in gpe and on fbdev, and gtk+ apps on PDA devices.
+Recipes: mplayer, xmms, xmms-mad, xmms-tremor, dillo, links, links-x11
+Recipes: epdfview
+
+Person: Holger Hans Peter Freyther
+Mail: zecke@selfish.org
+Website: http://www.openembedded.org/~zecke
+Interests: icecream, insanity, QA
+Recipes: sqlite3, xine
+
+Person: Jamie Lenehan
+Mail: lenehan@twibble.org
+Website: http://twibble.org/
+Interests: sh4, router/firewall/networking
+Distros: eRouter
+Machines: titan, wrap
+Recipes: quagga, iputils, ndic6, hping2, lilo-sh, conserver, ipsec-tools,
+Recipes: lilo-sh, clamav, havp, p3scan, clamsmtp, librsync, rdiff-backup,
+Recipes: net-snmp, ebtables, ethtool, arpwatch, lib*-perl
+
+Person: Joaquim Duran
+Mail: joaquinduran@adtelecom.es
+Recipes: fltk
+
+Person: Justin Patrin
+Mail: papercrane@reversefold.com
+Website: http://www.reversefold.com
+Interests: OpenZaurus, E17, PHP
+Recipes: efl/*, e17/*, musicpd/*, parted, netcat, emacs
+Recipes: elitaire, synergy, lineak
+
+Person: Koen Kooi
+Mail: koen@openembedded.org
+Website: http://dominion.kabel.utwente.nl/koen/cms
+Machines: h2200, ipaq-pxa270, efika, ep93xx, netbook-pro
+Distros: Ångström
+Interests: OpenSync, GNOME, GPE, Matchbox
+Recipes: abiword, bootchart, dia, farsight, freeciv, fuse, galago, geda, gimp,
+Recipes: gnumeric, gobby, obby, imposter, inkscape
+Recipes: telepathy, tilibs, xchat, xournal.
+
+Person: Leon Woestenberg
+Mail: leonw@mailcan.com
+Interests: SquashFS, LZMA
+
+Person: Marcin Juszkiewicz
+Mail: hrw@openembedded.org
+Website: http://www.hrw.one.pl/
+Machines: collie, spitz, tosa
+Distros: OpenZaurus, celinux-test
+Interests: WiFi, Opie, Qtopia fonts, Native SDK
+Recipes: hostap*, orinoco*, wpa-supplicant*, wireless-tools, keymaps
+Recipes: linux-openzaurus, kdepimpi, subapplet, corsair, gammu, iqnotes, zbedic
+Recipes: ttf-fonts/* qpf-fonts/*
+
+Person: Michael 'Mickey' Lauer
+Mail: mlauer@vanille-media.de
+Distros: Ångström, generic
+Machines: poodle, c7x0, spitz, nokia770, x86, qemuarm, qemux86
+Interests: Core OE infrastructure, Python, GUI-Toolkits
+Recipes: python*, qt*, qte*, sip*
+
+Person: Paul Sokolovsky
+Mail: pmiscml@gmail.com
+Machines: h4000
+Interests: handelds-pxa-2.6, PocketPC and Palm devices support
+
+Person: Philip Balister
+Mail: Crofton@balister.org
+Website: http://www.balister.org
+Machines: omap5912osk
+Distros: openomap
+Recipes: xerces-c, omniorb
+
+Person: Richard Purdie
+Mail: rpurdie@rpsys.net
+Distros: poky, openzaurus, Ångström
+Machines: poodle, c7x0, spitz, nokia770, qemuarm, qemux86, hx2xxx
+Interests: Kernels, Bitbake, Core OE infrastructure, Zaurus 2.6
+Recipes: linux-openzaurus, udev, zaurusd, task-base
+
+Person: Rolf 'Laibsch' Leggewie
+Mail: OE-recipes@rolf.leggewie.biz
+Website: http://oz.leggewie.org
+Interests: Japanese on the Zaurus
+Distros: openzaurus
+Machines: collie
+Recipes: anthy, nunome, uim*, granule, qpobox*, qte-font-unifont*
+Recipes: qpf-unismall, poboxserver, imkit*
+
+Person: Øyvind Repvik
+Mail: nail@nslu2-linux.org
+Machines: nslu2, fsg3, ixp4xx, n2100
+Distros: debianslug, openslug, slugos
+Recipes: bwmon, watchdog, wakelan, libdvb, sane-backends, samba
+Recipes: ccxstream, eciadsl, ssmtp, gstreamer, ixp4xx-npe, joe
+Recipes: lcdproc, libol, mailx, mysql, musicpd, openntpd, qc-usb
+Recipes: radlib, scsi-idle, rng-tools, slugos-init, syslog-ng
+Recipes: vsftpd, zd1211, wpa-supplicant
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 0c62568107..eda1b23b04 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -382,6 +382,12 @@ python base_do_fetch() {
raise bb.build.FuncFailed("Fetch failed: %s" % value)
}
+addtask fetchall
+do_fetchall[recrdeptask] = "do_fetch"
+python base_do_fetchall() {
+ bb.build.exec_task('do_fetch', d)
+}
+
def oe_unpack_file(file, data, url = None):
import bb, os
if not url:
@@ -505,6 +511,9 @@ python base_eventhandler() {
monotone_revision = "<unknown>"
try:
monotone_revision = file( "%s/_MTN/revision" % path_to_packages ).read().strip()
+ if monotone_revision.startswith( "format_version" ):
+ monotone_revision_words = monotone_revision.split()
+ monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
except IOError:
pass
bb.data.setVar( 'OE_REVISION', monotone_revision, e.data )
@@ -566,7 +575,7 @@ do_populate_staging[dirs] = "${STAGING_DIR}/${TARGET_SYS}/bin ${STAGING_DIR}/${T
${STAGING_DATADIR} \
${S} ${B}"
-addtask populate_staging after do_package
+addtask populate_staging after do_package_write
python do_populate_staging () {
bb.build.exec_func('do_stage', d)
@@ -590,9 +599,6 @@ do_build[func] = "1"
# Functions that update metadata based on files outputted
# during the build process.
-SHLIBS = ""
-RDEPENDS_prepend = " ${SHLIBS}"
-
def explode_deps(s):
r = []
l = s.split()
@@ -610,27 +616,6 @@ def explode_deps(s):
r.append(i)
return r
-python read_shlibdeps () {
- packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
- for pkg in packages:
- rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
- shlibsfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".shlibdeps", d)
- if os.access(shlibsfile, os.R_OK):
- fd = file(shlibsfile)
- lines = fd.readlines()
- fd.close()
- for l in lines:
- rdepends.append(l.rstrip())
- pcfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".pcdeps", d)
- if os.access(pcfile, os.R_OK):
- fd = file(pcfile)
- lines = fd.readlines()
- fd.close()
- for l in lines:
- rdepends.append(l.rstrip())
- bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
-}
-
def read_pkgdatafile(fn):
pkgdata = {}
@@ -738,7 +723,7 @@ python () {
# Patch handling
inherit patch
-EXPORT_FUNCTIONS do_clean do_mrproper do_fetch do_unpack do_configure do_compile do_install do_package do_populate_pkgs do_stage do_rebuild
+EXPORT_FUNCTIONS do_clean do_mrproper do_fetch do_unpack do_configure do_compile do_install do_package do_populate_pkgs do_stage do_rebuild do_fetchall
MIRRORS[func] = "0"
MIRRORS () {
@@ -782,10 +767,5 @@ ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/
-
-
-
-ftp://.*/.*/ http://www.oesources.org/source/current/
-http://.*/.*/ http://www.oesources.org/source/current/
}
diff --git a/classes/debian.bbclass b/classes/debian.bbclass
index 698d917b51..7ffa6c1a27 100644
--- a/classes/debian.bbclass
+++ b/classes/debian.bbclass
@@ -8,7 +8,7 @@ BUILD_ALL_DEPS = "1"
# Better expressed as ensure all RDEPENDS package before we package
# This means we can't have circular RDEPENDS/RRECOMMENDS
-do_package[rdeptask] = "do_package"
+do_package_write[rdeptask] = "do_package"
python debian_package_name_hook () {
import glob, copy, stat, errno, re
diff --git a/classes/gtk-binver.bbclass b/classes/gtk-binver.bbclass
new file mode 100644
index 0000000000..d59145e641
--- /dev/null
+++ b/classes/gtk-binver.bbclass
@@ -0,0 +1,9 @@
+def gtkbinver_find(d):
+ import bb
+ try:
+ for line in file( "%s/pkgconfig/gtk+-2.0.pc" % bb.data.getVar('STAGING_DATADIR', d, 1) ).readlines():
+ if line.startswith( "gtk_binary_version" ):
+ # bb.note( "gtk_binary_version = '%s'" % line.split("=")[1].strip() )
+ return line.split("=")[1].strip()
+ except OSError:
+ return "0.0.0"
diff --git a/classes/image_ipk.bbclass b/classes/image_ipk.bbclass
index 83e9acf315..2beb137aef 100644
--- a/classes/image_ipk.bbclass
+++ b/classes/image_ipk.bbclass
@@ -2,7 +2,7 @@ inherit rootfs_ipk
# We need to recursively follow RDEPENDS and RRECOMMENDS for images
BUILD_ALL_DEPS = "1"
-do_rootfs[recrdeptask] = "do_package"
+do_rootfs[recrdeptask] = "do_package_write"
# Images are generally built explicitly, do not need to be part of world.
EXCLUDE_FROM_WORLD = "1"
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index ead718db7f..062b1505b1 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -50,11 +50,11 @@ def package_qa_check_devdbg(path, name,d):
import bb
if not "-dev" in name:
if path[-3:] == ".so":
- bb.error("QA Issue: non dev package contains .so")
+ bb.error("QA Issue: non dev package contains .so: %s" % name)
if not "-dbg" in name:
- if path[-4:] == ".dbg":
- bb.error("QA Issue: non debug package contains .dbg file")
+ if '.debug' in path:
+ bb.error("QA Issue: non debug package contains .dbg file: %s" % name)
def package_qa_check_perm(path,name,d):
"""
@@ -90,6 +90,37 @@ def package_qa_walk(path, funcs, package,d):
func(path, package,d)
+def package_qa_check_rdepends(pkg, d):
+ if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg:
+ # Copied from package_ipk.bbclass
+ # boiler plate to update the data
+ localdata = bb.data.createCopy(d)
+ root = "%s/install/%s" % (workdir, pkg)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
+ if not pkgname:
+ pkgname = pkg
+ bb.data.setVar('PKG', pkgname, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ overrides = bb.data.expand(overrides, localdata)
+ bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
+
+ bb.data.update_data(localdata)
+
+ # Now check the RDEPENDS
+ rdepends = explode_deps(bb.data.getVar('RDEPENDS', localdata, True) or "")
+
+
+ # Now do the sanity check!!!
+ for rdepend in rdepends:
+ if "-dbg" in rdepend:
+ bb.error("QA issue, koen give us a better msg!!!")
+
# The PACKAGE FUNC to scan each package
python do_package_qa () {
bb.note("DO PACKAGE QA")
@@ -104,6 +135,8 @@ python do_package_qa () {
bb.note("Package: %s" % package)
path = "%s/install/%s" % (workdir, package)
package_qa_walk(path, [package_qa_check_rpath, package_qa_check_devdbg, package_qa_check_perm, package_qa_check_arch], package, d)
+ package_qa_check_rdepends(package, d)
+
}
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 94e02925d7..3a7fd5b499 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -1,4 +1,4 @@
-inherit module_strip
+inherit linux-kernel-base module_strip
PROVIDES += "virtual/kernel"
DEPENDS += "virtual/${TARGET_PREFIX}depmod-${@get_kernelmajorversion('${PV}')} virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
@@ -43,37 +43,6 @@ KERNEL_IMAGEDEST = "boot"
#
export CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}"
-# parse kernel ABI version out of <linux/version.h>
-def get_kernelversion(p):
- import re, os
-
- fn = p + '/include/linux/utsrelease.h'
- if not os.path.isfile(fn):
- fn = p + '/include/linux/version.h'
-
- import re
- try:
- f = open(fn, 'r')
- except IOError:
- return None
-
- l = f.readlines()
- f.close()
- r = re.compile("#define UTS_RELEASE \"(.*)\"")
- for s in l:
- m = r.match(s)
- if m:
- return m.group(1)
- return None
-
-def get_kernelmajorversion(p):
- import re
- r = re.compile("([0-9]+\.[0-9]+).*")
- m = r.match(p);
- if m:
- return m.group(1)
- return None
-
KERNEL_VERSION = "${@get_kernelversion('${S}')}"
KERNEL_MAJOR_VERSION = "${@get_kernelmajorversion('${KERNEL_VERSION}')}"
diff --git a/classes/lib_package.bbclass b/classes/lib_package.bbclass
index e29d2659b0..9a48408527 100644
--- a/classes/lib_package.bbclass
+++ b/classes/lib_package.bbclass
@@ -1,4 +1,4 @@
-PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-bin"
+PACKAGES += "${PN}-bin"
FILES_${PN} = "${libexecdir} ${libdir}/lib*.so.* \
${sysconfdir} ${sharedstatedir} ${localstatedir} \
@@ -6,4 +6,4 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*.so.* \
FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
${libdir}/*.a ${libdir}/pkgconfig /lib/*.a /lib/*.o \
${datadir}/aclocal ${bindir}/*-config"
-FILES_${PN}-bin = "${bindir} ${sbindir} /bin /sbin"
+FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*"
diff --git a/classes/linux_modules.bbclass b/classes/linux-kernel-base.bbclass
index d5c4e74ca1..e58c228080 100644
--- a/classes/linux_modules.bbclass
+++ b/classes/linux-kernel-base.bbclass
@@ -1,3 +1,26 @@
+# parse kernel ABI version out of <linux/version.h>
+def get_kernelversion(p):
+ import re, os
+
+ fn = p + '/include/linux/utsrelease.h'
+ if not os.path.isfile(fn):
+ fn = p + '/include/linux/version.h'
+
+ import re
+ try:
+ f = open(fn, 'r')
+ except IOError:
+ return None
+
+ l = f.readlines()
+ f.close()
+ r = re.compile("#define UTS_RELEASE \"(.*)\"")
+ for s in l:
+ m = r.match(s)
+ if m:
+ return m.group(1)
+ return None
+
def get_kernelmajorversion(p):
import re
r = re.compile("([0-9]+\.[0-9]+).*")
diff --git a/classes/module_strip.bbclass b/classes/module_strip.bbclass
index 116e8b902f..63e6569799 100644
--- a/classes/module_strip.bbclass
+++ b/classes/module_strip.bbclass
@@ -5,7 +5,11 @@ do_strip_modules () {
if test -e ${WORKDIR}/install/$p/lib/modules; then
modules="`find ${WORKDIR}/install/$p/lib/modules -name \*${KERNEL_OBJECT_SUFFIX}`"
if [ -n "$modules" ]; then
- ${STRIP} -v -g $modules
+ for module in $modules ; do
+ if ! [ -d "$module" ] ; then
+ ${STRIP} -v -g $module
+ fi
+ done
# NM="${CROSS_DIR}/bin/${HOST_PREFIX}nm" OBJCOPY="${CROSS_DIR}/bin/${HOST_PREFIX}objcopy" strip_module $modules
fi
fi
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 27d5a3a685..652b60e226 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -1,4 +1,11 @@
+#
+# General packaging help functions
+#
+
def legitimize_package_name(s):
+ """
+ Make sure package names are legitimate strings
+ """
import re
def fixutf(m):
@@ -12,74 +19,11 @@ def legitimize_package_name(s):
# Remaining package name validity fixes
return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-')
-STAGING_PKGMAPS_DIR ?= "${STAGING_DIR}/pkgmaps"
-
-def add_package_mapping (pkg, new_name, d):
- import bb, os
-
- def encode(str):
- import codecs
- c = codecs.getencoder("string_escape")
- return c(str)[0]
-
- pmap_dir = bb.data.getVar('STAGING_PKGMAPS_DIR', d, 1)
-
- bb.mkdirhier(pmap_dir)
-
- data_file = os.path.join(pmap_dir, pkg)
-
- f = open(data_file, 'w')
- f.write("%s\n" % encode(new_name))
- f.close()
-
-def get_package_mapping (pkg, d):
- import bb, os
-
- def decode(str):
- import codecs
- c = codecs.getdecoder("string_escape")
- return c(str)[0]
-
- data_file = bb.data.expand("${STAGING_PKGMAPS_DIR}/%s" % pkg, d)
-
- if os.access(data_file, os.R_OK):
- f = file(data_file, 'r')
- lines = f.readlines()
- f.close()
- for l in lines:
- return decode(l).strip()
- return pkg
-
-def runtime_mapping_rename (varname, d):
- import bb, os
-
- #bb.note("%s before: %s" % (varname, bb.data.getVar(varname, d, 1)))
-
- new_depends = []
- for depend in explode_deps(bb.data.getVar(varname, d, 1) or ""):
- # Have to be careful with any version component of the depend
- split_depend = depend.split(' (')
- new_depend = get_package_mapping(split_depend[0].strip(), d)
- if len(split_depend) > 1:
- new_depends.append("%s (%s" % (new_depend, split_depend[1]))
- else:
- new_depends.append(new_depend)
-
- bb.data.setVar(varname, " ".join(new_depends) or None, d)
-
- #bb.note("%s after: %s" % (varname, bb.data.getVar(varname, d, 1)))
-
-python package_mapping_rename_hook () {
- runtime_mapping_rename("RDEPENDS", d)
- runtime_mapping_rename("RRECOMMENDS", d)
- runtime_mapping_rename("RSUGGESTS", d)
- runtime_mapping_rename("RPROVIDES", d)
- runtime_mapping_rename("RREPLACES", d)
- runtime_mapping_rename("RCONFLICTS", d)
-}
-
-
def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None):
+ """
+ Used in .bb files to split up dynamically generated subpackages of a
+ given package, usually plugins or modules.
+ """
import os, os.path, bb
dvar = bb.data.getVar('D', d, 1)
@@ -107,7 +51,14 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
objs.append(relpath)
if extra_depends == None:
- extra_depends = packages[0]
+ # This is *really* broken
+ mainpkg = packages[0]
+ # At least try and patch it up I guess...
+ if mainpkg.find('-dbg'):
+ mainpkg = mainpkg.replace('-dbg', '')
+ if mainpkg.find('-dev'):
+ mainpkg = mainpkg.replace('-dev', '')
+ extra_depends = mainpkg
for o in objs:
import re, stat
@@ -165,9 +116,6 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
bb.data.setVar('PACKAGES', ' '.join(packages), d)
-# Function to strip a single file, called from RUNSTRIP below
-# A working 'file' (one which works on the target architecture)
-# is necessary for this stuff to work.
PACKAGE_DEPENDS ?= "file-native"
DEPENDS_prepend =+ "${PACKAGE_DEPENDS} "
# file(1) output to match to consider a file an unstripped executable
@@ -176,7 +124,12 @@ FILE_UNSTRIPPED_MATCH ?= "not stripped"
IGNORE_STRIP_ERRORS ?= "1"
runstrip() {
+ # Function to strip a single file, called from RUNSTRIP in populate_packages below
+ # A working 'file' (one which works on the target architecture)
+ # is necessary for this stuff to work, hence the addition to PACKAGES_DEPENDS
+
local ro st
+
st=0
if { file "$1" || {
oewarn "file $1: failed (forced strip)" >&2
@@ -218,6 +171,134 @@ runstrip() {
return $st
}
+
+#
+# Package data handling routines
+#
+
+STAGING_PKGMAPS_DIR ?= "${STAGING_DIR}/pkgmaps"
+
+def add_package_mapping (pkg, new_name, d):
+ import bb, os
+
+ def encode(str):
+ import codecs
+ c = codecs.getencoder("string_escape")
+ return c(str)[0]
+
+ pmap_dir = bb.data.getVar('STAGING_PKGMAPS_DIR', d, 1)
+
+ bb.mkdirhier(pmap_dir)
+
+ data_file = os.path.join(pmap_dir, pkg)
+
+ f = open(data_file, 'w')
+ f.write("%s\n" % encode(new_name))
+ f.close()
+
+def get_package_mapping (pkg, d):
+ import bb, os
+
+ def decode(str):
+ import codecs
+ c = codecs.getdecoder("string_escape")
+ return c(str)[0]
+
+ data_file = bb.data.expand("${STAGING_PKGMAPS_DIR}/%s" % pkg, d)
+
+ if os.access(data_file, os.R_OK):
+ f = file(data_file, 'r')
+ lines = f.readlines()
+ f.close()
+ for l in lines:
+ return decode(l).strip()
+ return pkg
+
+def runtime_mapping_rename (varname, d):
+ import bb, os
+
+ #bb.note("%s before: %s" % (varname, bb.data.getVar(varname, d, 1)))
+
+ new_depends = []
+ for depend in explode_deps(bb.data.getVar(varname, d, 1) or ""):
+ # Have to be careful with any version component of the depend
+ split_depend = depend.split(' (')
+ new_depend = get_package_mapping(split_depend[0].strip(), d)
+ if len(split_depend) > 1:
+ new_depends.append("%s (%s" % (new_depend, split_depend[1]))
+ else:
+ new_depends.append(new_depend)
+
+ bb.data.setVar(varname, " ".join(new_depends) or None, d)
+
+ #bb.note("%s after: %s" % (varname, bb.data.getVar(varname, d, 1)))
+
+#
+# Package functions suitable for inclusion in PACKAGEFUNCS
+#
+
+python package_do_split_locales() {
+ import os
+
+ if (bb.data.getVar('PACKAGE_NO_LOCALE', d, 1) == '1'):
+ bb.debug(1, "package requested not splitting locales")
+ return
+
+ packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
+ if not packages:
+ bb.debug(1, "no packages to build; not splitting locales")
+ return
+
+ datadir = bb.data.getVar('datadir', d, 1)
+ if not datadir:
+ bb.note("datadir not defined")
+ return
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined")
+ return
+
+ pn = bb.data.getVar('PN', d, 1)
+ if not pn:
+ bb.error("PN not defined")
+ return
+
+ if pn + '-locale' in packages:
+ packages.remove(pn + '-locale')
+
+ localedir = os.path.join(dvar + datadir, 'locale')
+
+ if not os.path.isdir(localedir):
+ bb.debug(1, "No locale files in this package")
+ return
+
+ locales = os.listdir(localedir)
+
+ # This is *really* broken
+ mainpkg = packages[0]
+ # At least try and patch it up I guess...
+ if mainpkg.find('-dbg'):
+ mainpkg = mainpkg.replace('-dbg', '')
+ if mainpkg.find('-dev'):
+ mainpkg = mainpkg.replace('-dev', '')
+
+ for l in locales:
+ ln = legitimize_package_name(l)
+ pkg = pn + '-locale-' + ln
+ packages.append(pkg)
+ bb.data.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l), d)
+ bb.data.setVar('RDEPENDS_' + pkg, '%s virtual-locale-%s' % (mainpkg, ln), d)
+ bb.data.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln), d)
+ bb.data.setVar('DESCRIPTION_' + pkg, '%s translation for %s' % (l, pn), d)
+
+ bb.data.setVar('PACKAGES', ' '.join(packages), d)
+
+ rdep = (bb.data.getVar('RDEPENDS_%s' % mainpkg, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "").split()
+ rdep.append('%s-locale*' % pn)
+ bb.data.setVar('RDEPENDS_%s' % mainpkg, ' '.join(rdep), d)
+}
+
python populate_packages () {
import glob, stat, errno, re
@@ -275,7 +356,7 @@ python populate_packages () {
for root, dirs, files in os.walk(dvar):
for f in files:
file = os.path.join(root, f)
- if not os.path.islink(file) and isexec(file):
+ if not os.path.islink(file) and not os.path.isdir(file) and isexec(file):
stripfunc += "\trunstrip %s || st=1\n" % (file)
if not stripfunc == "":
from bb import build
@@ -390,7 +471,10 @@ python populate_packages () {
if found == False:
bb.note("%s contains dangling symlink to %s" % (pkg, l))
bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
+}
+populate_packages[dirs] = "${D}"
+python emit_pkgdata() {
def write_if_exists(f, pkg, var):
def encode(str):
import codecs
@@ -401,17 +485,26 @@ python populate_packages () {
if val:
f.write('%s_%s: %s\n' % (var, pkg, encode(val)))
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ return
+
data_file = bb.data.expand("${STAGING_DIR}/pkgdata/${PN}", d)
f = open(data_file, 'w')
f.write("PACKAGES: %s\n" % packages)
f.close()
- for pkg in package_list:
+ for pkg in packages.split():
subdata_file = bb.data.expand("${STAGING_DIR}/pkgdata/runtime/%s" % pkg, d)
sf = open(subdata_file, 'w')
write_if_exists(sf, pkg, 'DESCRIPTION')
write_if_exists(sf, pkg, 'RDEPENDS')
write_if_exists(sf, pkg, 'RPROVIDES')
+ write_if_exists(sf, pkg, 'RRECOMMENDS')
+ write_if_exists(sf, pkg, 'RSUGGESTS')
+ write_if_exists(sf, pkg, 'RPROVIDES')
+ write_if_exists(sf, pkg, 'RREPLACES')
+ write_if_exists(sf, pkg, 'RCONFLICTS')
write_if_exists(sf, pkg, 'PKG')
write_if_exists(sf, pkg, 'ALLOW_EMPTY')
write_if_exists(sf, pkg, 'FILES')
@@ -420,8 +513,8 @@ python populate_packages () {
write_if_exists(sf, pkg, 'pkg_preinst')
write_if_exists(sf, pkg, 'pkg_prerm')
sf.close()
- bb.build.exec_func("read_subpackage_metadata", d)
}
+emit_pkgdata[dirs] = "${STAGING_DIR}/pkgdata/runtime"
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
@@ -429,58 +522,6 @@ if [ x"$D" = "x" ]; then
fi
}
-python package_depchains() {
- """
- For a given set of prefix and postfix modifiers, make those packages
- RRECOMMENDS on the corresponding packages for its DEPENDS.
-
- Example: If package A depends upon package B, and A's .bb emits an
- A-dev package, this would make A-dev Recommends: B-dev.
- """
-
- packages = bb.data.getVar('PACKAGES', d, 1)
- postfixes = (bb.data.getVar('DEPCHAIN_POST', d, 1) or '').split()
- prefixes = (bb.data.getVar('DEPCHAIN_PRE', d, 1) or '').split()
-
- def pkg_addrrecs(pkg, base, func, d):
- rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + base, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "")
- # bb.note('rdepends for %s is %s' % (base, rdepends))
- rreclist = []
-
- for depend in rdepends:
- split_depend = depend.split(' (')
- name = split_depend[0].strip()
- func(rreclist, name)
-
- oldrrec = bb.data.getVar('RRECOMMENDS_%s', d) or ''
- bb.data.setVar('RRECOMMENDS_%s' % pkg, oldrrec + ' '.join(rreclist), d)
-
- def packaged(pkg, d):
- return os.access(bb.data.expand('${STAGING_DIR}/pkgdata/runtime/%s.packaged' % pkg, d), os.R_OK)
-
- for pkg in packages.split():
- for postfix in postfixes:
- def func(list, name):
- pkg = '%s%s' % (name, postfix)
- if packaged(pkg, d):
- list.append(pkg)
-
- base = pkg[:-len(postfix)]
- if pkg.endswith(postfix):
- pkg_addrrecs(pkg, base, func, d)
- continue
-
- for prefix in prefixes:
- def func(list, name):
- pkg = '%s%s' % (prefix, name)
- if packaged(pkg, d):
- list.append(pkg)
-
- base = pkg[len(prefix):]
- if pkg.startswith(prefix):
- pkg_addrrecs(pkg, base, func, d)
-}
-
python package_do_shlibs() {
import os, re, os.path
@@ -730,74 +771,126 @@ python package_do_pkgconfig () {
fd.close()
}
-python package_do_split_locales() {
- import os
-
- if (bb.data.getVar('PACKAGE_NO_LOCALE', d, 1) == '1'):
- bb.debug(1, "package requested not splitting locales")
- return
-
+python read_shlibdeps () {
packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
- if not packages:
- bb.debug(1, "no packages to build; not splitting locales")
- return
+ for pkg in packages:
+ rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
+ shlibsfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".shlibdeps", d)
+ if os.access(shlibsfile, os.R_OK):
+ fd = file(shlibsfile)
+ lines = fd.readlines()
+ fd.close()
+ for l in lines:
+ rdepends.append(l.rstrip())
+ pcfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".pcdeps", d)
+ if os.access(pcfile, os.R_OK):
+ fd = file(pcfile)
+ lines = fd.readlines()
+ fd.close()
+ for l in lines:
+ rdepends.append(l.rstrip())
+ bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
+}
- datadir = bb.data.getVar('datadir', d, 1)
- if not datadir:
- bb.note("datadir not defined")
- return
+python package_depchains() {
+ """
+ For a given set of prefix and postfix modifiers, make those packages
+ RRECOMMENDS on the corresponding packages for its DEPENDS.
- dvar = bb.data.getVar('D', d, 1)
- if not dvar:
- bb.error("D not defined")
- return
+ Example: If package A depends upon package B, and A's .bb emits an
+ A-dev package, this would make A-dev Recommends: B-dev.
+ """
- pn = bb.data.getVar('PN', d, 1)
- if not pn:
- bb.error("PN not defined")
- return
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ postfixes = (bb.data.getVar('DEPCHAIN_POST', d, 1) or '').split()
+ prefixes = (bb.data.getVar('DEPCHAIN_PRE', d, 1) or '').split()
- if pn + '-locale' in packages:
- packages.remove(pn + '-locale')
+ def pkg_addrrecs(pkg, base, func, d):
+ rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + base, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "")
+ # bb.note('rdepends for %s is %s' % (base, rdepends))
+ rreclist = []
- localedir = os.path.join(dvar + datadir, 'locale')
+ for depend in rdepends:
+ split_depend = depend.split(' (')
+ name = split_depend[0].strip()
+ func(rreclist, name)
- if not os.path.isdir(localedir):
- bb.debug(1, "No locale files in this package")
- return
+ bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d)
- locales = os.listdir(localedir)
+ def packaged(pkg, d):
+ return os.access(bb.data.expand('${STAGING_DIR}/pkgdata/runtime/%s.packaged' % pkg, d), os.R_OK)
- mainpkg = packages[0]
+ for pkg in packages.split():
+ for postfix in postfixes:
+ def func(list, name):
+ pkg = '%s%s' % (name, postfix)
+ if packaged(pkg, d):
+ list.append(pkg)
- for l in locales:
- ln = legitimize_package_name(l)
- pkg = pn + '-locale-' + ln
- packages.append(pkg)
- bb.data.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l), d)
- bb.data.setVar('RDEPENDS_' + pkg, '%s virtual-locale-%s' % (mainpkg, ln), d)
- bb.data.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln), d)
- bb.data.setVar('DESCRIPTION_' + pkg, '%s translation for %s' % (l, pn), d)
+ base = pkg[:-len(postfix)]
+ if pkg.endswith(postfix):
+ pkg_addrrecs(pkg, base, func, d)
+ continue
- bb.data.setVar('PACKAGES', ' '.join(packages), d)
+ for prefix in prefixes:
+ def func(list, name):
+ pkg = '%s%s' % (prefix, name)
+ if packaged(pkg, d):
+ list.append(pkg)
- rdep = (bb.data.getVar('RDEPENDS_%s' % mainpkg, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "").split()
- rdep.append('%s-locale*' % pn)
- bb.data.setVar('RDEPENDS_%s' % mainpkg, ' '.join(rdep), d)
+ base = pkg[len(prefix):]
+ if pkg.startswith(prefix):
+ pkg_addrrecs(pkg, base, func, d)
}
+
PACKAGEFUNCS ?= "package_do_split_locales \
- populate_packages package_do_shlibs \
- package_do_pkgconfig read_shlibdeps \
- package_depchains"
+ populate_packages \
+ package_do_shlibs \
+ package_do_pkgconfig \
+ read_shlibdeps \
+ package_depchains \
+ emit_pkgdata"
+
python package_do_package () {
for f in (bb.data.getVar('PACKAGEFUNCS', d, 1) or '').split():
bb.build.exec_func(f, d)
}
-
-do_package[dirs] = "${D}"
# shlibs requires any DEPENDS to have already packaged for the *.list files
do_package[deptask] = "do_package"
-populate_packages[dirs] = "${STAGING_DIR}/pkgdata/runtime ${D}"
-EXPORT_FUNCTIONS do_package do_shlibs do_split_locales mapping_rename_hook
+do_package[dirs] = "${D}"
addtask package before do_build after do_install
+
+
+
+PACKAGE_WRITE_FUNCS ?= "read_subpackage_metadata"
+
+python package_do_package_write () {
+ for f in (bb.data.getVar('PACKAGE_WRITE_FUNCS', d, 1) or '').split():
+ bb.build.exec_func(f, d)
+}
+do_package_write[dirs] = "${D}"
+addtask package_write before do_build after do_package
+
+
+EXPORT_FUNCTIONS do_package do_package_write
+
+
+#
+# Helper functions for the package writing classes
+#
+
+python package_mapping_rename_hook () {
+ """
+ Rewrite variables to account for package renaming in things
+ like debian.bbclass or manual PKG variable name changes
+ """
+ runtime_mapping_rename("RDEPENDS", d)
+ runtime_mapping_rename("RRECOMMENDS", d)
+ runtime_mapping_rename("RSUGGESTS", d)
+ runtime_mapping_rename("RPROVIDES", d)
+ runtime_mapping_rename("RREPLACES", d)
+ runtime_mapping_rename("RCONFLICTS", d)
+}
+
+EXPORT_FUNCTIONS mapping_rename_hook
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass
index 0cb5128e17..47cff1d27c 100644
--- a/classes/package_ipk.bbclass
+++ b/classes/package_ipk.bbclass
@@ -1,7 +1,7 @@
inherit package
DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
-BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
-PACKAGEFUNCS += "do_package_ipk"
+BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg"
+PACKAGE_WRITE_FUNCS += "do_package_ipk"
python package_ipk_fn () {
from bb import data
diff --git a/classes/package_rpm.bbclass b/classes/package_rpm.bbclass
index c29ab5f423..d5a1c8b379 100644
--- a/classes/package_rpm.bbclass
+++ b/classes/package_rpm.bbclass
@@ -2,7 +2,7 @@ inherit package
inherit rpm_core
RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}"
-PACKAGEFUNCS += "do_package_rpm"
+PACKAGE_WRITE_FUNCS += "do_package_rpm"
python write_specfile() {
from bb import data, build
diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass
index 63e82f7f39..9217811e38 100644
--- a/classes/package_tar.bbclass
+++ b/classes/package_tar.bbclass
@@ -1,6 +1,6 @@
inherit package
-PACKAGEFUNCS += "do_package_tar"
+PACKAGE_WRITE_FUNCS += "do_package_tar"
python package_tar_fn () {
import os
diff --git a/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass
index 8a2a03ca17..f0a721fd4a 100644
--- a/classes/packaged-staging.bbclass
+++ b/classes/packaged-staging.bbclass
@@ -6,7 +6,7 @@
# INHERIT += "packaged-staging"
#
# You also need ipkg-cl and ipkg-make-index installed on your host
-# put stage-manager and ipkg-build from org.openembedded.packaged-staging/contrib/ in your $PATH
+# put ipkg-build from org.openembedded.packaged-staging/contrib/ in your $PATH
# BUGS:
# * does not distinguish between -native, -cross and other packages
@@ -23,6 +23,8 @@
inherit package
+DEPENDS = "stagemanager-native"
+
DEPLOY_DIR_PSTAGE = "${DEPLOY_DIR}/pstage"
PSTAGE_BUILD_CMD = "${IPKGBUILDCMD}"
diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass
index 25738e8cb1..8cea393b43 100644
--- a/classes/rootfs_ipk.bbclass
+++ b/classes/rootfs_ipk.bbclass
@@ -7,6 +7,7 @@
DEPENDS_prepend="ipkg-native ipkg-utils-native fakeroot-native "
DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}"
+RDEPENDS += "ipkg ipkg-collateral"
PACKAGES = ""
@@ -16,6 +17,8 @@ do_build[nostamp] = 1
IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}"
+IPKG_INSTALL += "ipkg ipkg-collateral"
+
ROOTFS_POSTPROCESS_COMMAND ?= ""
PID = "${@os.getpid()}"
@@ -30,6 +33,9 @@ real_do_rootfs () {
mkdir -p ${IMAGE_ROOTFS}/dev
+ #work around a build in ipkg-make-index
+ touch ${DEPLOY_DIR_IPK}/Packages
+
if [ -z "${DEPLOY_KEEP_PACKAGES}" ]; then
touch ${DEPLOY_DIR_IPK}/Packages
ipkg-make-index -r ${DEPLOY_DIR_IPK}/Packages -p ${DEPLOY_DIR_IPK}/Packages -l ${DEPLOY_DIR_IPK}/Packages.filelist -m ${DEPLOY_DIR_IPK}
diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass
index 23a8f656b2..64c1bc0a0c 100644
--- a/classes/sanity.bbclass
+++ b/classes/sanity.bbclass
@@ -82,23 +82,11 @@ def check_sanity(e):
if not check_app_exists('${BUILD_PREFIX}g++', e.data):
raise_sanity_error('C++ Host-Compiler is missing, please install one' )
- if not check_app_exists('patch', e.data):
- raise_sanity_error('Please install the patch utility, preferable GNU patch.')
+ required_utilities = "patch diffstat texi2html makeinfo cvs svn git bzip2 tar gzip"
- if not check_app_exists('diffstat', e.data):
- raise_sanity_error('Please install the diffstat utility')
-
- if not check_app_exists('texi2html', e.data):
- raise_sanity_error('Please install the texi2html binary')
-
- if not check_app_exists('cvs', e.data):
- raise_sanity_error('Please install the cvs utility')
-
- if not check_app_exists('svn', e.data):
- raise_sanity_error('Please install the svn utility')
-
- if not check_app_exists('bzip2', e.data):
- raise_sanity_error('Please install the bzip2 utility')
+ for util in required_utilities.split():
+ if not check_app_exists( util, e.data ):
+ raise_sanity_error( "Please install the %s utility." % util )
oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', e.data, True )
if not oes_bb_conf:
diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass
index d36ef0b343..3f5183cc8f 100644
--- a/classes/tinderclient.bbclass
+++ b/classes/tinderclient.bbclass
@@ -60,7 +60,18 @@ def tinder_format_http_post(d,status,log):
"os" : os.uname()[0],
"os_version" : os.uname()[2],
"compiler" : "gcc",
- "clobber" : data.getVar('TINDER_CLOBBER', d, True)
+ "clobber" : data.getVar('TINDER_CLOBBER', d, True),
+ "srcdate" : data.getVar('SRCDATE', d, True),
+ "PN" : data.getVar('PN', d, True),
+ "PV" : data.getVar('PV', d, True),
+ "PR" : data.getVar('PR', d, True),
+ "FILE" : data.getVar('FILE', d, True) or "N/A",
+ "TARGETARCH" : data.getVar('TARGET_ARCH', d, True),
+ "TARGETFPU" : data.getVar('TARGET_FPU', d, True) or "Unknown",
+ "TARGETOS" : data.getVar('TARGET_OS', d, True) or "Unknown",
+ "MACHINE" : data.getVar('MACHINE', d, True) or "Unknown",
+ "DISTRO" : data.getVar('DISTRO', d, True) or "Unknown",
+ "zecke-rocks" : "sure",
}
# optionally add the status
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 02a072ca66..e63bdfc54e 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -188,12 +188,14 @@ IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.r
IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext2.gz = "mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"
+IMAGE_CMD_squashfs-lzma = "mksquashfs-lzma ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend"
IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz ."
IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
EXTRA_IMAGECMD = ""
EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
EXTRA_IMAGECMD_squashfs = "-le -b 16384"
+EXTRA_IMAGECMD_squashfs-lzma = "-le -b 16384"
IMAGE_ROOTFS_SIZE_ext2 = "65536"
IMAGE_ROOTFS_SIZE_ext2.gz = "65536"
@@ -203,6 +205,7 @@ IMAGE_DEPENDS_cramfs = "cramfs-native"
IMAGE_DEPENDS_ext2 = "genext2fs-native"
IMAGE_DEPENDS_ext2.gz = "genext2fs-native"
IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
+IMAGE_DEPENDS_squashfs-lzma = "squashfs-lzma-tools-native"
EXTRA_IMAGEDEPENDS = ""
##################################################################
@@ -313,7 +316,8 @@ export palmqtdir = "/opt/QtPalmtop"
GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool"
SOURCEFORGE_MIRROR = "http://heanet.dl.sourceforge.net/sourceforge"
-GPE_MIRROR = "http://handhelds.org/pub/projects/gpe/source"
+GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
+GPE_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/base;module=${PN}"
XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
XORG_MIRROR = "http://xorg.freedesktop.org/releases"
GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf
index 6722addad7..4c3ff695f6 100644
--- a/conf/distro/angstrom-2007.1.conf
+++ b/conf/distro/angstrom-2007.1.conf
@@ -6,8 +6,9 @@
#@MAINTAINER: Michael 'Mickey' Lauer <mickey@Vanille.de>
#@--------------------------------------------------------------------
-#DISTRO_VERSION = "2006.9"
+#DISTRO_VERSION = "2007.1"
DISTRO_VERSION = "test-${DATE}"
+DISTRO_REVISION = "3"
require conf/distro/include/angstrom.inc
require conf/distro/include/sane-srcdates.inc
@@ -16,6 +17,7 @@ DISTRO_TYPE = "debug"
#DISTRO_TYPE = "release"
FEED_URIS += " \
+ no-arch##${ANGSTROM_URI}/unstable/feed/all \
base##${ANGSTROM_URI}/unstable/feed/${TARGET_ARCH}/base \
perl##${ANGSTROM_URI}/unstable/feed/${TARGET_ARCH}/perl \
python##${ANGSTROM_URI}/unstable/feed/${TARGET_ARCH}/python \
@@ -26,9 +28,9 @@ FEED_URIS += " \
# updates##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${TARGET_ARCH}/updates"
#SRCDATE = "20060630"
-#SRCDATE_handhelds-pxa-2.6 = "20060622"
-PREFERRED_VERSION_handhelds-pxa-2.6 = "2.6.16-hh5"
-PREFERRED_VERSION_handhelds-pxa-2.6_htcuniversal = "2.6.17-hh1+cvs${SRCDATE}"
+#SRCDATE_linux-handhelds-2.6 = "20060622"
+PREFERRED_VERSION_linux-handhelds-2.6 = "2.6.16-hh7"
+PREFERRED_VERSION_linux-handhelds-2.6_htcuniversal = "2.6.17-hh1+cvs${SRCDATE}"
PREFERRED_PROVIDER_hostap-modules_ipaq-pxa270 = "hostap-modules"
@@ -36,11 +38,9 @@ PREFERRED_PROVIDER_hostap-modules_ipaq-pxa270 = "hostap-modules"
SRCDATE_gconf-dbus = "20060719"
SRCDATE_gnome-vfs-dbus = "20060803"
-PREFERRED_VERSION_qemu-native = "0.8.2"
-
CVS_TARBALL_STASH = "\
http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
-http://www.oesources.org/source/current/"
+"
# Opie
#use 1337 mt version of opie to have a webbrowser
@@ -112,9 +112,9 @@ PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc = "ucli
PREFERRED_VERSION_gcc ?= "4.1.1"
PREFERRED_VERSION_gcc-cross ?= "4.1.1"
PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
-PREFERRED_VERSION_binutils ?= "2.17"
-PREFERRED_VERSION_binutils-cross ?= "2.17"
-PREFERRED_VERSION_linux-libc-headers ?= "2.6.18"
+PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
+PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
+PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
PREFERRED_VERSION_glibc ?= "2.5"
PREFERRED_VERSION_glibc-intermediate ?= "2.5"
@@ -139,20 +139,8 @@ PREFERRED_PROVIDER_hostap-modules_hx4700 ?= "hostap-modules"
PREFERRED_VERSION_hostap-modules ?= "0.4.7"
#Down here we put stuff we want to install into machines without polluting conf/machine/ with distro stuff
-# c7x0, akita, spitz, nokia770, h2200, h6300, ipaq-pxa270, simpad
-
-#### Bootstrap options ####
+# c7x0, akita, spitz, nokia770, h2200, h6300, hx4700, simpad
-PCMCIA_MANAGER_c7x0 = "pcmciautils"
-PCMCIA_MANAGER_akita = "pcmciautils"
-PCMCIA_MANAGER_spitz = "pcmciautils"
-PCMCIA_MANAGER_tosa = "pcmciautils"
-PCMCIA_MANAGER_poodle = "pcmciautils"
-PCMCIA_MANAGER_nokia770 = "pcmciautils"
-PCMCIA_MANAGER_h2200 = "pcmciautils"
-PCMCIA_MANAGER_h4000 = "pcmciautils"
-PCMCIA_MANAGER_h6300 = "pcmciautils"
-PCMCIA_MANAGER_ipaq-pxa270 = "pcmciautils"
# add altboot to compatible models, will be replaced with angstrom-bootmanager
#EXTRA_STUFF_append_c7x0 = "altboot"
@@ -161,20 +149,27 @@ PCMCIA_MANAGER_ipaq-pxa270 = "pcmciautils"
#EXTRA_STUFF_append_poodle = "altboot"
#EXTRA_STUFF_append_tosa = "altboot"
-### GPE section ###
-#Install libgtkinput in devices without a keyboard
-GPE_EXTRA_INSTALL_append_ipaq-pxa270 = " libgtkinput"
-GPE_EXTRA_INSTALL_append_h2200 = " libgtkinput"
-GPE_EXTRA_INSTALL_append_h4000 = " libgtkinput"
-GPE_EXTRA_INSTALL_append_h6300 = " libgtkinput"
-GPE_EXTRA_INSTALL_append_simpad = " libgtkinput"
-GPE_EXTRA_INSTALL_append_nokia770 = " libgtkinput"
+# do some task-base stuff here
+
+# We want to ship extra debug utils in the rootfs when doing a debug build
+DEBUG_APPS ?= ""
+DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "tslib-tests tslib-calibrate gdb strace procps",d)}'
+
+#this should go away soon
+EXTRA_STUFF ?= ""
-#As soon as a kill switch is in place we can add it to devices with a keyboard
-#GPE_EXTRA_INSTALL_append_c7x0 = " libgtkinput"
-#GPE_EXTRA_INSTALL_append_tosa = " libgtkinput"
-#GPE_EXTRA_INSTALL_append_akita = " libgtkinput"
-#GPE_EXTRA_INSTALL_append_spitz = " libgtkinput"
+# Angstrom want to ship some extra stuff. This should be moved into task-base eventually
+DISTRO_EXTRA_RDEPENDS = "\
+ update-modules module-init-tools modutils-initscripts \
+ sysvinit initscripts sysvinit-pidof \
+ psplash \
+ netbase dropbear \
+ angstrom-version \
+ ipkg ipkg-collateral \
+ util-linux-mount util-linux-umount \
+ ${EXTRA_STUFF} \
+ ${DEBUG_APPS} \
+ "
diff --git a/conf/distro/celinux-test.conf b/conf/distro/celinux-test.conf
new file mode 100644
index 0000000000..03dcd22d79
--- /dev/null
+++ b/conf/distro/celinux-test.conf
@@ -0,0 +1,88 @@
+#@--------------------------------------------------------------------
+#@TYPE: Distribution
+#@NAME: CELF Linux test
+#@DESCRIPTION: A Linux Distribution for the CELF test project
+#@--------------------------------------------------------------------
+
+#
+# core distro settings
+#
+
+# we want IPKG packages and Debian style naming
+INHERIT += " package_ipk debian"
+
+# enable if build for many machines
+#INHERIT += " multimachine"
+
+# we want images supporting the following features (for task-base)
+DISTRO_FEATURES = "nfs pcmcia usbhost"
+
+# enable if you want ltp in bootstrap images
+#DISTRO_EXTRA_RDEPENDS = "ltp"
+
+DISTRO_VERSION = "${DATE}"
+
+# DISTRO_TYPE control behaviour of some recipes
+# dropbear allow password-less root logins for "debug"
+# kernel can be set to export logs to screen/serial
+DISTRO_TYPE = "debug"
+# DISTRO_TYPE = "release"
+
+# fixed SRCDATE for many packages
+require conf/distro/include/sane-srcdates.inc
+
+# fix it to one date but allow to override in local.conf if needed
+SRCDATE ?= "20060927"
+
+#
+# toolchain
+#
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}binutils:binutils-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+
+PREFERRED_VERSION_binutils = "2.16"
+PREFERRED_VERSION_binutils-cross = "2.16"
+
+PREFERRED_VERSION_gcc = "3.4.4"
+PREFERRED_VERSION_gcc-cross = "3.4.4"
+PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+
+PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
+
+# glibc provides iconv and intl
+PREFERRED_PROVIDER_virtual/libiconv = "glibc"
+PREFERRED_PROVIDER_virtual/libintl = "glibc"
+
+#
+# omap5912osk settings
+#
+
+# use latest booting kernel but allow to override it in local.conf
+PREFERRED_VERSION_linux-omap1_omap5912osk ?= "2.6.18-omap1"
+
+# gcc 3.x use other -mtune name then gcc 4.x
+TARGET_CC_ARCH_omap5912osk = "-march=armv5te -mtune=arm926ejs"
+
+# 2.6.18 kernel does not support pcmcia-cs ioctl() calls
+PCMCIA_MANAGER = "pcmciautils"
+
+#
+# target system settings
+#
+TARGET_OS = "linux"
+
+# use softfloat binaries to gain speed on ARM machines
+TARGET_FPU_arm = "soft"
+
+#
+# extra checking for needed tools
+#
+
+# set minimal version of BitBake needed
+BB_MIN_VERSION = "1.6.0"
+
+# check for required tools and minimal BitBake version
+INHERIT += "sanity"
diff --git a/conf/distro/generic-unstable.conf b/conf/distro/generic-unstable.conf
deleted file mode 100644
index 80fd25ae19..0000000000
--- a/conf/distro/generic-unstable.conf
+++ /dev/null
@@ -1,72 +0,0 @@
-#@--------------------------------------------------------------------
-#@TYPE: Distribution
-#@NAME: Bleeding Edge
-#@DESCRIPTION: An experimental distribution configuration
-#@--------------------------------------------------------------------
-
-#
-# Header
-#
-DISTRO_NAME = "generic-unstable-glibc"
-DISTRO_VERSION = ".dev-snapshot-${SRCDATE}"
-#DISTRO_TYPE = "release"
-DISTRO_TYPE = "debug"
-
-#
-# Naming schemes
-#
-PARALLEL_INSTALL_MODULES = "1"
-INHERIT += "debian multimachine"
-
-#
-# Packaging and output format
-#
-INHERIT += "package_ipk"
-IMAGE_FSTYPES = "tar.gz ext2.gz jffs2"
-
-#
-# Binutils & Compiler
-#
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-
-#
-# Target OS & FPU system
-#
-TARGET_OS = "linux"
-TARGET_FPU_arm = "soft"
-TARGET_FPU_armeb = "soft"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
-PREFERRED_VERSION_glibc = "2.4"
-PREFERRED_VERSION_glibc-intermediate = "2.4"
-
-#
-# Bootstrap & Init
-#
-PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
-
-#
-# Framebuffer & X
-#
-PREFERRED_PROVIDER_virtual/libx11 ?= "diet-x11"
-PREFERRED_PROVIDER_tslib ?= tslib
-
-#
-# GPE
-#
-require conf/distro/include/preferred-gpe-versions.inc
-
-#
-# Opie
-#
-QTE_VERSION = "2.3.10"
-PALMTOP_USE_MULTITHREADED_QTE = "yes"
-require conf/distro/include/preferred-opie-versions.inc
-
-#
-# Enlightenment
-#
-require conf/distro/include/preferred-e-versions.inc
diff --git a/conf/distro/generic.conf b/conf/distro/generic.conf
index 08520f0dfe..3bb5df5496 100644
--- a/conf/distro/generic.conf
+++ b/conf/distro/generic.conf
@@ -29,17 +29,23 @@ INHERIT += "package_ipk"
IMAGE_FSTYPES = "tar.gz ext2.gz jffs2"
#
+# Kernel
+#
+KERNEL = "kernel26"
+MACHINE_KERNEL_VERSION = "2.6"
+
+#
# Binutils & Compiler
#
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_VERSION_gcc = "3.4.4"
-PREFERRED_VERSION_gcc-cross = "3.4.4"
-PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
-PREFERRED_VERSION_binutils-cross = "2.15.94.0.1"
-PREFERRED_VERSION_binutils = "2.15.94.0.1"
+PREFERRED_VERSION_gcc ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
+PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
+PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
#
# Target OS & FPU system
@@ -49,7 +55,11 @@ TARGET_FPU_arm = "soft"
TARGET_FPU_armeb = "soft"
PREFERRED_PROVIDER_virtual/libiconv = "glibc"
PREFERRED_PROVIDER_virtual/libintl = "glibc"
-PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_VERSION_linux-libc-headers ?= "2.6.18"
+PREFERRED_VERSION_glibc ?= "2.5"
+PREFERRED_VERSION_glibc-intermediate ?= "2.5"
#
# Bootstrap & Init
diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc
index 61d14407c8..6ee509759e 100644
--- a/conf/distro/include/angstrom-glibc.inc
+++ b/conf/distro/include/angstrom-glibc.inc
@@ -1,7 +1,7 @@
# glibc:
-#fix some iconv issues, needs to be adjusted when doing uclibc builds
PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
+PREFERRED_PROVIDER_virtual/libc ?= "glibc"
TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index 0c5186c3a8..48915e6554 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -22,7 +22,7 @@ MAINTAINER = "Angstrom Developers <angstrom-distro-devel@linuxtogo.org>"
#use ipkg package format with debian style naming
#use multimachine buildrules
-INHERIT += "package_ipk debian multimachine"
+INHERIT += "package_ipk debian multimachine sanity"
#Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
PREFERRED_PROVIDER_qemu-native = "qemu-native"
diff --git a/conf/distro/include/preferred-x-versions-pre-X11R7.inc b/conf/distro/include/preferred-x-versions-pre-X11R7.inc
deleted file mode 100644
index 240f2cddcd..0000000000
--- a/conf/distro/include/preferred-x-versions-pre-X11R7.inc
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Specify to build old/old CVS versions of X libraries and apps
-#
-
-PREFERRED_VERSION_xproto = "0.0+cvs${SRCDATE}"
-
-PREFERRED_VERSION_diet-x11 = "6.2.1+cvs${SRCDATE}"
-PREFERRED_VERSION_libice = "6.3.3"
-PREFERRED_VERSION_libsm = "6.0.3"
-PREFERRED_VERSION_libx11 = "6.2.1+cvs${SRCDATE}"
-PREFERRED_VERSION_libxau = "0.1.1"
-PREFERRED_VERSION_libxaw = "7.0.2"
-PREFERRED_VERSION_libxcomposite = "1.0.1"
-PREFERRED_VERSION_libxcursor = "1.1.2"
-PREFERRED_VERSION_libxdamage = "1.0.1"
-PREFERRED_VERSION_libxdmcp = "0.1.3"
-PREFERRED_VERSION_libxext = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxfixes = "2.0.1"
-PREFERRED_VERSION_libxfont = "1.4.2"
-PREFERRED_VERSION_libxft = "2.1.6"
-PREFERRED_VERSION_libxi = "6.0.1"
-PREFERRED_VERSION_libxinerama = "1.0.2+cvs20050505"
-PREFERRED_VERSION_libxkbfile = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxmu = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxp = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxpm = "3.5.1"
-PREFERRED_VERSION_libxrandr = "1.0.2"
-PREFERRED_VERSION_libxrender = "0.8.4"
-PREFERRED_VERSION_libxres = "1.0.1"
-PREFERRED_VERSION_libxss = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxt = "0.1.5"
-PREFERRED_VERSION_libxtst = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxv = "2.2.2+cvs20040918"
-PREFERRED_VERSION_libxxf86dga = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_libxxf86vm = "0.0+cvs${SRCDATE}"
-
-PREFERRED_VERSION_xcalibrate = "0.0+cvs20060312"
-PREFERRED_VERSION_xserver-kdrive = "0.0+cvs20050207"
-
-PREFERRED_VERSION_xdpyinfo = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_xev = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_xhost = "0.0+cvs20040413"
-PREFERRED_VERSION_xmodmap = "0.0+cvs${SRCDATE}"
-PREFERRED_VERSION_xrandr = "0.0+cvs${SRCDATE}"
diff --git a/conf/distro/include/sane-srcdates.inc b/conf/distro/include/sane-srcdates.inc
index a1132209ad..d000bf4a92 100644
--- a/conf/distro/include/sane-srcdates.inc
+++ b/conf/distro/include/sane-srcdates.inc
@@ -59,7 +59,7 @@ SRCDATE_ipkg-link-1 ?= "20050930"
SRCDATE_ipkg-utils ?= "20050930"
SRCDATE_ipkg-utils-native ?= "20050930"
SRCDATE_kaffe-qt ?= "20060814"
-SRCDATE_kbdd ?= "20060814"
+SRCDATE_kbdd ?= "20061019"
SRCDATE_led ?= "20060814"
SRCDATE_linux-input ?= "20060814"
SRCDATE_madwifi-modules ?= "20060814"
@@ -68,7 +68,7 @@ SRCDATE_minimo ?= "20050401"
SRCDATE_mystun-server ?= "20060814"
SRCDATE_olsrd ?= "20060814"
SRCDATE_opencvs ?= "20060814"
-SRCDATE_oprofile ?= "20060214"
+SRCDATE_oprofile ?= "20061011"
SRCDATE_portaudio ?= "20060814"
SRCDATE_putty ?= "20060814"
SRCDATE_python-cairo ?= "20060814"
diff --git a/conf/distro/nylon.conf b/conf/distro/nylon.conf
index b4dde3d0e2..1c76ef870b 100644
--- a/conf/distro/nylon.conf
+++ b/conf/distro/nylon.conf
@@ -12,7 +12,7 @@
# Bruno Randolf <bruno.randolf@4g-systems.biz>
INHERIT += "package_ipk debian nylon-mirrors"
-INHERIT += "linux_modules"
+INHERIT += "linux-kernel-base"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
diff --git a/conf/distro/openomap.conf b/conf/distro/openomap.conf
index 4502422021..0c864db04f 100644
--- a/conf/distro/openomap.conf
+++ b/conf/distro/openomap.conf
@@ -9,8 +9,6 @@ TARGET_FPU ?= "soft"
# 2.4 vs 2.6 is a distro decision.
MODUTILS = "26"
-PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
-
PREFERRED_PROVIDER_hotplug = "udev"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
@@ -22,16 +20,32 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc-intermediate"
PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+# Use current git until I can find a git tag that builds for omap5912osk
+PREFERRED_VERSION_linux-omap1_omap5912osk ?= "2.6.18+git"
+#PREFERRED_VERSION_linux-omap1 = "2.6.12-rc2"
+
#use EABI toolchain
PREFERRED_VERSION_gcc ?= "4.1.1"
PREFERRED_VERSION_gcc-cross ?= "4.1.1"
PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
-PREFERRED_VERSION_binutils ?= "2.17"
-PREFERRED_VERSION_binutils-cross ?= "2.17"
+PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
+PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
-PREFERRED_VERSION_glibc ?= "2.4"
-PREFERRED_VERSION_glibc-intermediate ?= "2.4"
+PREFERRED_VERSION_glibc ?= "2.5"
+PREFERRED_VERSION_glibc-intermediate ?= "2.5"
+
+#PREFERRED_VERSION_gcc ?= "4.1.1"
+#PREFERRED_VERSION_gcc-cross ?= "4.1.1"
+#PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
+#PREFERRED_VERSION_binutils ?= "2.17"
+#PREFERRED_VERSION_binutils-cross ?= "2.17"
+#PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
+#PREFERRED_VERSION_glibc ?= "2.4"
+#PREFERRED_VERSION_glibc-intermediate ?= "2.4"
# We want images supporting the following features (for task-base)
-DISTRO_FEATURES = "nfs pcmcia usbhost"
+DISTRO_FEATURES = "nfs pcmcia usbhost alsa"
+
+PCMCIA_MANAGER = "pcmciautils"
+
diff --git a/conf/distro/openzaurus-unstable.conf b/conf/distro/openzaurus-unstable.conf
index 51922b8ad4..b1080d1fea 100644
--- a/conf/distro/openzaurus-unstable.conf
+++ b/conf/distro/openzaurus-unstable.conf
@@ -8,8 +8,7 @@ DISTRO_VERSION = ".dev-snapshot-${DATE}"
CVS_TARBALL_STASH = "\
http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
-http://www.oesources.org/source/current/"
-
+"
require conf/distro/include/sane-srcdates.inc
require conf/distro/include/openzaurus.inc
@@ -55,6 +54,11 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
PREFERRED_VERSION_binutils-cross = "2.16"
PREFERRED_VERSION_binutils = "2.16"
+PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
+PREFERRED_VERSION_gcc = "3.4.4"
+PREFERRED_VERSION_gcc-cross = "3.4.4"
+PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
+
#
# Opie
#
diff --git a/conf/distro/sharprom-compatible.conf b/conf/distro/sharprom-compatible.conf
index 1395f09a7e..9d4fd4c338 100644
--- a/conf/distro/sharprom-compatible.conf
+++ b/conf/distro/sharprom-compatible.conf
@@ -1,11 +1,11 @@
#@TYPE: Distribution
#@NAME: SharpROM
#@DESCRIPTION: Distribution configuration for SharpROM (Zaurus) compatible packages
-#@MENTOR: Michael 'Mickey' Lauer <mickey@Vanille.de>
-#@REQUIREMENTS: A prebuilt SharpROM Embedix Toolchain in your PATH.
+#@MENTOR: None
+#@REQUIREMENTS: A prebuilt SharpROM Embedix Toolchain in /usr/local/arm/2.95.3
#@REQUIREMENTS: Rename arm-linux-gcc|g++ to arm-linux-gcc-2.95 and rename arm-linux-ld to arm-linux-ld-2.11.2.
-INHERIT += " package_ipk debian sharprom"
+INHERIT += " package_ipk debian"
#
# Zaurus
@@ -17,23 +17,26 @@ TARGET_CC_ARCH = "-march=armv4"
FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -O2"
OEINCLUDELOGS = "yes"
KERNEL_CONSOLE = "tty1"
+# prebuilt toolchain doesn't now about -isystem
+export BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
+export TARGET_CPPFLAGS = "-I${STAGING_DIR}/${TARGET_SYS}/include"
#DEBUG_OPTIMIZATION = "-O -g3"
#DEBUG_BUILD = "1"
#
# Base
#
-DISTRO = "sharprom"
DISTRO_NAME = "SharpROM"
DISTRO_VERSION = "3.1 compatible"
DISTRO_TYPE = "debug"
-ASSUME_PROVIDED += "virtual/arm-linux-gcc-2.95 binutils-cross gcc-cross-initial gcc-cross"
-ASSUME_PROVIDED += "virtual/arm-linux-libc-for-gcc virtual/arm-linux-binutils virtual/arm-linux-gcc"
-ASSUME_PROVIDED += "virtual/arm-linux-gcc-initial virtual/arm-linux-gcc-initial
-ASSUME_PROVIDED += "virtual/libc linux-libc-headers"
-
-DEPENDS =+ "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/arm-linux-gcc-2.95 = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/arm-linux-binutils = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/libc = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/arm-linux-gcc = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/linux-libc-headers = "sharprom-toolchain-native"
+PREFERRED_PROVIDER_virtual/arm-linux-gcc-initial = "sharprom-toolchain-native"
IPKGBUILDCMD = "ipkg-build -c -o 0 -g 0"
#INHIBIT_PACKAGE_STRIP = "1"
diff --git a/conf/local.conf.sample b/conf/local.conf.sample
index 9d23b654cf..0f098c3272 100644
--- a/conf/local.conf.sample
+++ b/conf/local.conf.sample
@@ -133,7 +133,7 @@ BBINCLUDELOGS = "yes"
# Specifies a location to search for pre-generated tarballs when fetching
# a cvs:// URI. Outcomment this, if you always want to pull directly from CVS.
-CVS_TARBALL_STASH = "http://www.oesources.org/source/current/"
+#CVS_TARBALL_STASH = ""
# EDIT THIS FILE and then remove the line below before using!
REMOVE_THIS_LINE:="${@oe.fatal('Read the comments in your conf/local.conf')}"
diff --git a/conf/machine/blueangel.conf b/conf/machine/blueangel.conf
index 251dc8a806..979c002d11 100644
--- a/conf/machine/blueangel.conf
+++ b/conf/machine/blueangel.conf
@@ -36,8 +36,6 @@ SERIAL_CONSOLE = "115200 tts/2 vt100"
USE_VT = "0"
-include conf/machine/include/handheld-common.conf
-
GUI_MACHINE_CLASS = "smallscreen"
ROOT_FLASH_SIZE = "32"
diff --git a/conf/machine/collie.conf b/conf/machine/collie.conf
index 0363f05e6b..fcaa2ff046 100644
--- a/conf/machine/collie.conf
+++ b/conf/machine/collie.conf
@@ -5,8 +5,9 @@
TARGET_ARCH = "arm"
PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
PREFERRED_PROVIDER_virtual/kernel ?= "collie-kernels-2.4-embedix"
-BOOTSTRAP_EXTRA_RDEPENDS = "kernel hostap-modules-cs orinoco-modules-cs \
-sharp-sdmmc-support kernel-module-net-fd kernel-module-sa1100-bi \
+BOOTSTRAP_EXTRA_RDEPENDS = "kernel hostap-modules-cs \
+sharp-sdmmc-support"
+BOOTSTRAP_EXTRA_RRECOMMENDS = "kernel-module-net-fd kernel-module-sa1100-bi \
kernel-module-usbdcore kernel-module-usbdmonitor \
altboot"
@@ -19,7 +20,6 @@ EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n"
IMAGE_LINGUAS = ""
-include conf/machine/include/handheld-common.conf
include conf/machine/include/tune-strongarm.conf
SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/ep93xx.conf b/conf/machine/ep93xx.conf
index 955344344a..82905dd089 100644
--- a/conf/machine/ep93xx.conf
+++ b/conf/machine/ep93xx.conf
@@ -11,16 +11,7 @@ PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}-kernel"
#don't try to access tty1
USE_VT = "0"
-
-
-#ship in rootfs:
-EP93XX_MODULES = "kernel-module-apm \
- kernel-module-pcmcia-core \
- kernel-module-ipv6 "
-
-BOOTSTRAP_EXTRA_RRECOMMENDS += "${EP93XX_MODULES}"
-BOOTSTRAP_EXTRA_RDEPENDS_append = " udev module-init-tools"
-
+MACHINE_FEATURES = "kernel26 apm alsa ext2 pcmcia usbhost"
# used by sysvinit_2
SERIAL_CONSOLE = "57600 ttyAM0"
diff --git a/conf/machine/guinness.conf b/conf/machine/guinness.conf
index 35cb1d2070..4890f3cecd 100644
--- a/conf/machine/guinness.conf
+++ b/conf/machine/guinness.conf
@@ -17,7 +17,7 @@ OLDEST_KERNEL = "2.6.17"
GLIBC_ADDONS = "nptl"
GLIBC_EXTRA_OECONF = "--with-tls"
-MACHINE_FEATURES = "kernel26 usbhost ext2"
+MACHINE_FEATURES = "kernel26 usbhost ext2 pci"
-require conf/machine/include/tune-athlonmp.conf
+#require conf/machine/include/tune-athlonmp.conf
diff --git a/conf/machine/h1910.conf b/conf/machine/h1910.conf
index 39ab571d1e..a2c4a9c10e 100644
--- a/conf/machine/h1910.conf
+++ b/conf/machine/h1910.conf
@@ -2,20 +2,29 @@
#@NAME: HP iPAQ H1910/H1915
#@DESCRIPTION: Machine configuration for the HP iPAQ H1910/H1915
-KERNEL ?= "kernel26"
-OVERRIDES =. "${KERNEL}:"
-
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
+IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ipaqpxa"
-include conf/machine/include/tune-xscale.conf
+require conf/machine/include/tune-xscale.conf
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+VOLATILE_STORAGE_SIZE = "64"
+ROOT_FLASH_SIZE = "32"
+GUI_MACHINE_CLASS = "smallscreen"
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa irda usbgadget"
-BOOTSTRAP_EXTRA_RDEPENDS = "udev apm apmd network-suspend-scripts modutils-collateral mtd-utils"
-BOOTSTRAP_EXTRA_RRECOMMENDS += ""
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
+PCMCIA_MANAGER = "pcmciautils"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
EXTRA_IMAGECMD_h1910_jffs2 = "-e 0x4000 -p -n"
-GUI_MACHINE_CLASS = "smallscreen"
-
+#
+# Modules autoload and other boot properties
+#
+SERIAL_CONSOLE = "115200 ttyS0 vt100"
diff --git a/conf/machine/h1940.conf b/conf/machine/h1940.conf
index b11e447ea0..3f3b2f916e 100644
--- a/conf/machine/h1940.conf
+++ b/conf/machine/h1940.conf
@@ -14,7 +14,7 @@ HANDHELD_MODULES = ""
BOOTSTRAP_EXTRA_RDEPENDS += "apm apmd network-suspend-scripts"
BOOTSTRAP_EXTRA_RRECOMMENDS += "wireless-tools irda-utils openswan wpa-supplicant-nossl lrzsz scap ${@linux_module_packages('${HANDHELD_MODULES}', d)}"
-INHERIT += "linux_modules"
+INHERIT += "linux-kernel-base"
GUI_MACHINE_CLASS = "smallscreen"
diff --git a/conf/machine/h2200.conf b/conf/machine/h2200.conf
index 1ead1aa919..cc242dc682 100644
--- a/conf/machine/h2200.conf
+++ b/conf/machine/h2200.conf
@@ -2,31 +2,39 @@
#@NAME: HP iPAQ h22xx
#@DESCRIPTION: Machine configuration for the HP iPAQ h22xx
-
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ipaqpxa"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
-
-EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x4000"
+#Compile with armv5te optimizations, incompatible with armv4(t) cpus
+require conf/machine/include/tune-xscale.conf
+#Set some hints for metadata
+VOLATILE_STORAGE_SIZE = "64"
ROOT_FLASH_SIZE = "32"
-PCMCIA_MANAGER = "pcmciautils"
+GUI_MACHINE_CLASS = "smallscreen"
+#Set features for task-base
MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia bluetooth irda usbgadget"
+#
+# Software/packages selection
+#
+PCMCIA_MANAGER = "pcmciautils"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
+
MACHINE_EXTRA_RDEPENDS = "mtd-utils h2200-bootloader kernel"
+EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x4000"
-#autoload on boot:
+#
+# Modules autoload and other boot properties
+#
module_autoload_snd-pcm-oss = "snd-pcm-oss"
SERIAL_CONSOLE = "115200 ttyS0 vt100"
USE_VT = "0"
-GUI_MACHINE_CLASS = "smallscreen"
-
-include conf/machine/include/tune-xscale.conf
-
-# LAB can only resolve relative symlinks
-ROOTFS_POSTPROCESS_COMMAND += "make_zimage_symlink_relative; "
+require conf/machine/include/LAB-settings.conf
diff --git a/conf/machine/h3600.conf b/conf/machine/h3600.conf
index 5c7440403b..14a9bb6ba5 100644
--- a/conf/machine/h3600.conf
+++ b/conf/machine/h3600.conf
@@ -2,22 +2,33 @@
#@NAME: Compaq iPAQ 36xx,Compaq iPAQ 37xx,Compaq iPAQ 38xx
#@DESCRIPTION: Machine configuration for the Compaq iPAQ 36xx, Compaq iPAQ 37xx and Compaq iPAQ 38xx devices
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "ipaqsa"
+
+require conf/machine/include/tune-strongarm.conf
+
+# h3700, h3800 have 32, but let that be bonus
+ROOT_FLASH_SIZE = "16"
+# h3630 have 32Mb only
+VOLATILE_STORAGE_SIZE = "64"
+GUI_MACHINE_CLASS = "smallscreen"
+
+#
+# Software/packages selection
+#
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
PREFERRED_PROVIDER_virtual/kernel = "handhelds-sa"
PREFERRED_VERSION_handhelds-sa ?= "2.4.19-rmk6-pxa1-hh42"
-EXTRA_IMAGECMD_h3600_jffs2 = "-e 0x40000 -p"
BOOTSTRAP_EXTRA_RDEPENDS = "alsa-driver kernel ipaq-boot-params ${@linux_module_packages('${H3600_MODULES}', d)}"
-
-ROOT_FLASH_SIZE = "16"
+EXTRA_IMAGECMD_h3600_jffs2 = "-e 0x40000 -p"
H3600_MODULES = "\
h3600-asic \
h3600-micro \
-h3600-microkbd h3600-stowaway \
hwtimer \
-l3-backpaq \
nvrd \
sa1100-cs \
sa1100-ir \
@@ -30,13 +41,10 @@ serial-h3800 \
usb-char \
usb-eth"
+#
+# Modules autoload and other boot properties
+#
USE_DEVFS = "1"
USE_VT = "0"
-IMAGE_LINGUAS = ""
-
-include conf/machine/include/ipaq-common.conf
-include conf/machine/include/handheld-common.conf
-include conf/machine/include/tune-strongarm.conf
-
SERIAL_CONSOLE = "115200 ttySA0"
diff --git a/conf/machine/h3900.conf b/conf/machine/h3900.conf
index 65cce6ce81..61024584b5 100644
--- a/conf/machine/h3900.conf
+++ b/conf/machine/h3900.conf
@@ -5,7 +5,7 @@
KERNEL ?= "kernel24"
#KERNEL ?= "kernel26"
-INHERIT += "linux_modules"
+INHERIT += "linux-kernel-base"
OVERRIDES =. "${KERNEL}:"
@@ -13,7 +13,7 @@ TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ipaqpxa"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
PREFERRED_PROVIDER_virtual/kernel_kernel24 = "handhelds-pxa"
-PREFERRED_PROVIDER_virtual/kernel_kernel26 = "handhelds-pxa-2.6"
+PREFERRED_PROVIDER_virtual/kernel_kernel26 = "linux-handhelds-2.6"
EXTRA_IMAGECMD_h3900_jffs2 = "-e 0x40000 -p"
ROOT_FLASH_SIZE = "32"
@@ -30,10 +30,8 @@ SERIAL_CONSOLE = "115200 tts/0 vt100"
USE_DEVFS_kernel24 = "1"
USE_VT = "0"
-include conf/machine/include/ipaq-common.conf
-include conf/machine/include/handheld-common.conf
GUI_MACHINE_CLASS = "smallscreen"
# not using tune-xscale so as to retain backwards compatibility
-include conf/machine/tune-xscale.conf
+require conf/machine/include/tune-xscale.conf
diff --git a/conf/machine/h4000.conf b/conf/machine/h4000.conf
index c12e487bf7..f2ecbc5883 100644
--- a/conf/machine/h4000.conf
+++ b/conf/machine/h4000.conf
@@ -2,28 +2,33 @@
#@NAME: HP iPAQ h4xxx
#@DESCRIPTION: Machine configuration for the HP iPAQ h4xxx
-
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ipaqpxa"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
+require conf/machine/include/tune-xscale.conf
ROOT_FLASH_SIZE = "32"
-PCMCIA_MANAGER = "pcmciautils"
+VOLATILE_STORAGE_SIZE = "64"
+GUI_MACHINE_CLASS = "smallscreen"
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa irda bluetooth wifi usbgadget"
-MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia bluetooth irda usbgadget"
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
+PCMCIA_MANAGER = "pcmciautils"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-#autoload on boot:
+#
+# Modules autoload and other boot properties
+#
module_autoload_snd-pcm-oss = "snd-pcm-oss"
module_autoload_g_ether = "g_ether"
SERIAL_CONSOLE = "115200 ttyS0 vt100"
USE_VT = "0"
-GUI_MACHINE_CLASS = "smallscreen"
-
-include conf/machine/include/tune-xscale.conf
-
-# LAB can only resolve relative symlinks
-ROOTFS_POSTPROCESS_COMMAND += "make_zimage_symlink_relative; "
+require conf/machine/include/LAB-settings.conf
diff --git a/conf/machine/h5xxx.conf b/conf/machine/h5xxx.conf
index 2ab9775419..d2e7306c46 100644
--- a/conf/machine/h5xxx.conf
+++ b/conf/machine/h5xxx.conf
@@ -2,38 +2,32 @@
#@NAME: Compaq iPAQ 51xx, Compaq iPAQ 54xx, Compaq iPAQ 55xx
#@DESCRIPTION: Machine configuration for the Compaq iPAQ 51xx, Compaq iPAQ 54xx, and Compaq iPAQ 55xx devices
-#KERNEL ?= "kernel24"
-KERNEL ?= "kernel26"
-
-OVERRIDES =. "${KERNEL}:"
-
-INHERIT += "linux_modules"
-
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ipaqpxa"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-#PREFERRED_PROVIDER_virtual/kernel_kernel24 = "handhelds-pxa"
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
-EXTRA_IMAGECMD_h5xxx_jffs2 = "-e 0x40000 -p"
-ROOT_FLASH_SIZE = "32"
+require conf/machine/include/tune-xscale.conf
+ROOT_FLASH_SIZE = "32"
+VOLATILE_STORAGE_SIZE = "64"
+GUI_MACHINE_CLASS = "smallscreen"
MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia bluetooth irda wifi usbgadget usbhost"
-BOOT_MODULES = "${@linux_module_packages('${H5XXX_MODULES}', d)}"
-BOOTSTRAP_EXTRA_RDEPENDS = "kernel ipaq-boot-params ${BOOT_MODULES}"
-BOOTSTRAP_EXTRA_RDEPENDS_append_kernel24 = " at76c503a-modules"
-BOOTSTRAP_EXTRA_RDEPENDS_append_kernel26 = " udev module-init-tools"
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+EXTRA_IMAGECMD_h5xxx_jffs2 = "-e 0x40000 -p"
-H5XXX_MODULES_kernel24 = " g_ether pxa2xx_udc h5400_asic pxa_ir h5400_buzzer h5400_fsi mmc_h5400 usb-ohci-h5400 mtdchar h5400-audio"
-H5XXX_MODULES_kernel26 = " h5400_lcd g_ether apm h5400_battery pcmcia-core"
-# pxa2xx_udc is built in to the kernel
+MACHINE_EXTRA_RDEPENDS = "kernel ipaq-boot-params"
+MACHINE_EXTRA_RRECOMMENDS = " kernel-module-h5400_lcd \
+ kernel-module-h5400_battery"
+#
+# Modules autoload and other boot properties
+#
SERIAL_CONSOLE = "115200 tts/0 vt100"
-
-USE_DEVFS_kernel24 = "1"
USE_VT = "0"
-
-GUI_MACHINE_CLASS = "smallscreen"
-
-include conf/machine/include/tune-xscale.conf
diff --git a/conf/machine/h6300.conf b/conf/machine/h6300.conf
index 42eabeb588..bffe1a97e1 100644
--- a/conf/machine/h6300.conf
+++ b/conf/machine/h6300.conf
@@ -2,22 +2,34 @@
#@NAME: OMAP1510 cpu on iPAQ h6315, h6340 and h6365
#@DESCRIPTION: Machine configuration for the OMAP1510 based HP iPAQ h6300 series devices.
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
PACKAGE_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+#Use OMAP 1510 cpu specifig arm9tdmi options for gcc
+require conf/machine/include/tune-arm9tdmi.conf
+
+GUI_MACHINE_CLASS = "smallscreen"
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa irda bluetooth wifi usbgadget"
+
+#
+# Software/packages selection
+#
PREFERRED_PROVIDER_virtual/kernel = "linux-h6300-omap1"
-PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-H6300_MODULES = "omapts omap-keypad bluetooth rfcomm bnep l2cap hci_uart h6300_bt i2c-dev"
-#common alsa sound modules
-H6300_MODULES += "snd snd_timer snd_pcm snd_seq_device snd_seq_midi_event snd_page_alloc"
-#h6300 specific alsa sound module
-H6300_MODULES += "snd-omap-alsa-tsc2101"
-#oss compatibility alsa sound modules
-H6300_MODULES += "snd_pcm_oss snd_mixer_oss snd_seq_oss"
+MACHINE_EXTRA_RRECOMMENDS = "kernel-module-omapts \
+ kernel-module-omap-keypad \
+ kernel-module-h6300-bt"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
+
+#
+# Modules autoload and other boot properties
+#
module_autoload_omapts = "omapts"
module_autoload_omap-keypad = "omap-keypad"
module_autoload_hci_uart = "hci_uart"
@@ -28,17 +40,4 @@ module_autoload_snd-omap-alsa-tsc2101 = "snd-omap-alsa-tsc2101"
module_autoload_snd-pcm-oss = "snd-pcm-oss"
module_autoload_snd-mixer-oss = "snd-mixer-oss"
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils console-tools module-init-tools"
-BOOTSTRAP_EXTRA_RDEPENDS += "${@linux_module_packages('${H6300_MODULES}', d)}"
-BOOTSTRAP_EXTRA_RDEPENDS += "apm apmd alsa-utils"
-BOOTSTRAP_EXTRA_RDEPENDS += "alsa-utils-aconnect alsa-utils-alsactl alsa-utils-alsamixer alsa-utils-amixer alsa-utils-aplay"
-BOOTSTRAP_EXTRA_RRECOMMENDS += "wireless-tools irda-utils openswan wpa-supplicant-nossl lrzsz ppp-dialin"
-BOOTSTRAP_EXTRA_RRECOMMENDS += "scap minicom nano gdb strace network-suspend-scripts pciutils usbutils"
-
-GPE_EXTRA_INSTALL += "gaim gpe-filemanager sylpheed gpe-mini-browser gomunicator gpe-tetris gpe-othello gpe-go gstreamer"
-
-SERIAL_CONSOLE ?= "115200 ttyS0"
-EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
-
-#Use OMAP 1510 cpu specifig arm9tdmi options for gcc
-include conf/machine/include/tune-arm9tdmi.conf
+SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/htcuniversal.conf b/conf/machine/htcuniversal.conf
index 8fae31d9f8..4366cb16df 100644
--- a/conf/machine/htcuniversal.conf
+++ b/conf/machine/htcuniversal.conf
@@ -2,41 +2,44 @@
#@NAME: HTC Universal
#@DESCRIPTION: Machine configuration for the HTC Universal
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "ipaqpxa armv4t armv5te iwmmxt"
-#use this for a HTC Universal
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
-XSERVER = "xserver-kdrive-fbdev"
-
-MACHINE_FEATURES = "kernel26 apm alsa irda usbgadget usbhost keyboard touchscreen"
-
-MODUTILS = "26"
-BOOTMODULES_RRECOMMENDS = "${@linux_module_packages('${PXA270_MODULES}', d)} ${@linux_module_packages('${UN_MODULES}', d)}"
-BOOTSTRAP_EXTRA_RRECOMMENDS += " ${BOOTMODULES_RRECOMMENDS}"
-BOOTSTRAP_EXTRA_RDEPENDS_append = " udev"
-BOOTSTRAP_EXTRA_RDEPENDS_append = " module-init-tools detect-stylus"
-BOOTSTRAP_EXTRA_RDEPENDS_append = " tiinit acx-firmware"
-
-PXA270_MODULES = "acx g_ether g_file_storage pxa27x_udc bsd_comp \
- snd_pcm_oss snd_mixer_oss \
- hidp bluetooth bfusb hci_usb \
- irtty-sir pxaficp_ir sir-dev \
- "
-
-include conf/machine/include/smartphone-common.conf
-
-GUI_MACHINE_CLASS = "bigscreen"
-
# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
-include conf/machine/include/tune-xscale.conf
+require conf/machine/include/tune-xscale.conf
# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
-#include conf/machine/include/tune-iwmmxt.conf
+#require conf/machine/include/tune-iwmmxt.conf
-UN_MODULES = "i2c-pxa htcuniversal_acx htcuniversal_power snd-htcuniversal_audio"
+GUI_MACHINE_CLASS = "bigscreen"
+MACHINE_FEATURES = "kernel26 apm alsa irda usbgadget usbhost keyboard touchscreen"
+
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+XSERVER = "xserver-kdrive-fbdev"
+MACHINE_EXTRA_RDEPENDS = "tiinit acx-firmware"
+MACHINE_EXTRA_RRECOMMENDS = " kernel-module-nls-cp437 \
+ kernel-module-nls-iso8859-1 \
+ kernel-module-nls-utf8 \
+ kernel-module-af-key \
+ kernel-module-bsd-comp \
+ kernel-module-i2c-pxa \
+ kernel-module-htcuniversal-power \
+ kernel-module-snd-htcuniversal-audio \
+ kernel-module-htcuniversal-acx \
+ kernel-module-acx \
+ "
+
+#
+# Modules autoload and other boot properties
+#
module_autoload_acx = "acx"
module_autoload_htcuniversal_acx = "htcuniversal_acx"
diff --git a/conf/machine/hx2000.conf b/conf/machine/hx2000.conf
index 0a88932e3e..b0c962c1d0 100644
--- a/conf/machine/hx2000.conf
+++ b/conf/machine/hx2000.conf
@@ -33,10 +33,10 @@ SERIAL_CONSOLE = "115200 ttyS0"
GUI_MACHINE_CLASS = "smallscreen"
# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
-include conf/machine/include/tune-xscale.conf
+require conf/machine/include/tune-xscale.conf
# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
-#include conf/machine/include/tune-iwmmxt.conf
+#require conf/machine/include/tune-iwmmxt.conf
module_autoload_evdev = "evdev"
module_autoload_pcmcia = "pcmcia"
diff --git a/conf/machine/hx4700.conf b/conf/machine/hx4700.conf
index e94b7d4d56..d43d16fb46 100644
--- a/conf/machine/hx4700.conf
+++ b/conf/machine/hx4700.conf
@@ -2,50 +2,51 @@
#@NAME: iPAQ hx47xx
#@DESCRIPTION: Machine configuration for the hx4700 iPAQ with a pxa27x CPU
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa ipaq-pxa270"
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
-PREFERRED_VERSION_orinoco-modules = "0.15rc1"
-
-ROOT_FLASH_SIZE = "80"
-
-EXTRA_IMAGECMD_jffs2 = "; sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
- -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
- -e 256KiB -p"
-
-IMAGE_FSTYPES ?= "jffs2"
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+require conf/machine/include/tune-xscale.conf
-MODUTILS = "26"
+# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
+#require conf/machine/include/tune-iwmmxt.conf
+ROOT_FLASH_SIZE = "80"
+VOLATILE_STORAGE_SIZE = "64"
+GUI_MACHINE_CLASS = "bigscreen"
MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia bluetooth irda wifi usbgadget"
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
PCMCIA_MANAGER = "pcmciautils"
+MODUTILS = "26"
+XSERVER = "xserver-kdrive-w100"
+
+PREFERRED_VERSION_orinoco-modules = "0.15rc1"
MACHINE_EXTRA_RDEPENDS = "tiinit acx-firmware"
-MACHINE_EXTRA__RRECOMMENDS = "kernel-module-nls_cp437 \
- kernel-module-nls_iso8859-1 \
- kernel-module-nls_utf8 \
- kernel-module-af_key \
+MACHINE_EXTRA_RRECOMMENDS = "kernel-module-nls-cp437 \
+ kernel-module-nls-iso8859-1 \
+ kernel-module-nls-utf8 \
+ kernel-module-af-key \
kernel-module-i2c-pxa \
- kernel-module-hx4700_voltage \
- kernel-module-hx4700_acx \
- kernel-module-snd_hx4700_audio"
-
-
-SERIAL_CONSOLE = "115200 ttyS0"
+ kernel-module-hx4700-voltage \
+ kernel-module-hx4700-acx \
+ kernel-module-snd-hx4700-audio"
-GUI_MACHINE_CLASS = "bigscreen"
-
-# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
-include conf/machine/include/tune-xscale.conf
-
-# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
-#include conf/machine/include/tune-iwmmxt.conf
-
+EXTRA_IMAGECMD_jffs2 = "; sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
+ -e 256KiB -p"
-#define which modules to load at boot
+#
+# Modules autoload and other boot properties
+#
module_autoload_evdev = "evdev"
module_autoload_hx4700_power = "hx4700_power"
module_autoload_pcmcia = "pcmcia"
@@ -62,3 +63,5 @@ module_autoload_pxa27x_udc = "pxa27x_udc"
#FIXME: this should be controlled by a userspace utility later.
module_autoload_g_ether = "g_ether"
+
+SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/include/LAB-settings.conf b/conf/machine/include/LAB-settings.conf
new file mode 100644
index 0000000000..576846fbdf
--- /dev/null
+++ b/conf/machine/include/LAB-settings.conf
@@ -0,0 +1,8 @@
+#
+# Settings for LAB (Linux As Bootloader) support.
+# Machines which support (or want to support) LAB,
+# include this.
+#
+
+# LAB can only resolve relative symlinks
+ROOTFS_POSTPROCESS_COMMAND += "make_zimage_symlink_relative; "
diff --git a/conf/machine/include/handheld-common.conf b/conf/machine/include/handheld-common.conf
deleted file mode 100644
index 9ac43d84e9..0000000000
--- a/conf/machine/include/handheld-common.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-HANDHELD_MODULES = "ipv6 \
-ipsec \
-nvrd \
-mip6-mn \
-tun \
-ide-cs ide-disk ide-probe-mod \
-loop \
-vfat ext2 \
-sunrpc nfs \
-btuart-cs dtl1-cs bt3c-cs rfcomm bnep l2cap sco hci_uart hidp \
-pcnet-cs serial-cs airo-cs \
-af_packet \
-ppp-async ppp-deflate ppp-mppe \
-ip-gre ip-tables ipip \
-irda irlan irnet irport irtty ircomm-tty \
-input uinput \
-"
-
-# Configuration bits for "generic handheld"
-BOOTSTRAP_EXTRA_RDEPENDS += "${PCMCIA_MANAGER} apm apmd network-suspend-scripts"
-BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp wireless-tools irda-utils wpa-supplicant-nossl lrzsz ppp-dialin ${@linux_module_packages('${HANDHELD_MODULES}', d)}"
-
-INHERIT += "linux_modules"
diff --git a/conf/machine/include/ipaq-common.conf b/conf/machine/include/ipaq-common.conf
deleted file mode 100644
index eb696cf9f9..0000000000
--- a/conf/machine/include/ipaq-common.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-IPAQ_MODULES = "apm h3600_generic_sleeve ipaq-sleeve ipaq-mtd-asset nvrd atmelwlandriver sa1100-rtc ipaq-hal h3600_ts usb-eth wavelan_cs keybdev"
-
-BOOTSTRAP_EXTRA_RRECOMMENDS += "kbdd bl hostap-modules-cs orinoco-modules-cs atmelwlandriver ${@linux_module_packages('${IPAQ_MODULES}', d)}"
-BOOTSTRAP_EXTRA_RRECOMMENDS_append_kernel24 += "mipv6"
-
-PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
-
diff --git a/conf/machine/include/poodle-2.4.conf b/conf/machine/include/poodle-2.4.conf
index 5453fda605..cbf150f3ec 100644
--- a/conf/machine/include/poodle-2.4.conf
+++ b/conf/machine/include/poodle-2.4.conf
@@ -3,8 +3,8 @@ PREFERRED_PROVIDER_virtual/kernel = "openzaurus-pxa"
# Later versions are broken on kernel 2.4
PREFERRED_VERSION_orinoco-modules = "0.13e"
-BOOTSTRAP_EXTRA_RDEPENDS = "kernel hostap-modules-cs orinoco-modules orinoco-modules-cs sharp-sdmmc-support \
-kernel-module-net-fd kernel-module-registers kernel-module-pxa-bi \
-kernel-module-usbdcore kernel-module-usbdmonitor \
+BOOTSTRAP_EXTRA_RDEPENDS = "kernel hostap-modules-cs sharp-sdmmc-support \
hostap-utils prism3-firmware prism3-support"
+BOOTSTRAP_EXTRA_RRECOMMENDS = "kernel-module-net-fd kernel-module-registers kernel-module-pxa-bi \
+kernel-module-usbdcore kernel-module-usbdmonitor"
diff --git a/conf/machine/include/simpad-2.4.conf b/conf/machine/include/simpad-2.4.conf
index b5fda186ca..3d9c77539f 100644
--- a/conf/machine/include/simpad-2.4.conf
+++ b/conf/machine/include/simpad-2.4.conf
@@ -3,5 +3,5 @@ PREFERRED_PROVIDER_virtual/kernel = "opensimpad-64+0"
# Later versions are broken on kernel 2.4
PREFERRED_VERSION_orinoco-modules = "0.13e"
-BOOTSTRAP_EXTRA_RDEPENDS += "hostap-modules orinoco-modules \
-orinoco-modules-cs pcmcia-cs apm hostap-utils wpa-supplicant-nossl"
+BOOTSTRAP_EXTRA_RDEPENDS += "hostap-modules \
+ pcmcia-cs apm hostap-utils wpa-supplicant-nossl"
diff --git a/conf/machine/include/simpad-2.6.conf b/conf/machine/include/simpad-2.6.conf
index a5f4962c75..45ddac1bec 100644
--- a/conf/machine/include/simpad-2.6.conf
+++ b/conf/machine/include/simpad-2.6.conf
@@ -1,4 +1,4 @@
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod-2.6:module-init-tools-cross"
BOOTSTRAP_EXTRA_RDEPENDS += "udev module-init-tools"
diff --git a/conf/machine/include/smartphone-common.conf b/conf/machine/include/smartphone-common.conf
deleted file mode 100644
index bd5983cdc0..0000000000
--- a/conf/machine/include/smartphone-common.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-HANDHELD_MODULES = "ipv6 \
-ipsec \
-nvrd \
-mip6-mn \
-tun \
-nls-base nls-cp437 nls-iso8859-1 \
-fat vfat \
-loop \
-rfcomm bnep l2cap sco hci_uart hidp \
-af_packet \
-ppp-async ppp-deflate ppp-mppe \
-ip-gre ip-tables ipip \
-irda irlan irnet irport irtty ircomm-tty \
-input uinput \
-"
-
-# Configuration bits for "generic samrtphone"
-BOOTSTRAP_EXTRA_RDEPENDS += "apm apmd network-suspend-scripts"
-BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp wireless-tools irda-utils wpa-supplicant-nossl lrzsz ppp-dialin ${@linux_module_packages('${HANDHELD_MODULES}', d)}"
-
-INHERIT += "linux_modules"
diff --git a/conf/machine/include/thinclient-common.conf b/conf/machine/include/thinclient-common.conf
deleted file mode 100644
index 4a96b42525..0000000000
--- a/conf/machine/include/thinclient-common.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-THINCLIENT_MODULES = "ipv6 \
-mip6-mn \
-tun \
-loop \
-vfat \
-sunrpc nfs \
-rfcomm bnep l2cap sco \
-af_packet \
-ppp-async ppp-deflate ppp-mppe \
-ip-gre ip-tables ipip \
-irda irlan irnet irport irtty \
-input uinput \
-"
-
-# Configuration bits for "generic thinclient"
-BOOTSTRAP_EXTRA_RDEPENDS += "apm"
-BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp bluez-utils wireless-tools ${@linux_module_packages('${THINCLIENT_MODULES}', d)}"
-
-INHERIT += "linux_modules"
diff --git a/conf/machine/include/tosa-2.4.conf b/conf/machine/include/tosa-2.4.conf
index 068d8c4677..2fad9b2d91 100644
--- a/conf/machine/include/tosa-2.4.conf
+++ b/conf/machine/include/tosa-2.4.conf
@@ -9,7 +9,7 @@ BOOTSTRAP_EXTRA_RDEPENDS += "wlan-ng-modules wlan-ng-utils keymaps \
kernel-module-evdev kernel-module-net-fd \
kernel-module-pxa-bi kernel-module-registers \
kernel-module-storage-fd kernel-module-usb-ohci-tc6393 \
- kernel hostap-modules-cs orinoco-modules-cs \
+ kernel hostap-modules-cs \
sharp-sdmmc-support kernel-module-pxa-bi \
kernel-module-ip-gre kernel-module-irnet kernel-module-ipip \
kernel-module-usbcore kernel-module-usbdcore kernel-module-usbdmonitor kernel-module-usb-storage"
diff --git a/conf/machine/include/tune-arm920t.conf b/conf/machine/include/tune-arm920t.conf
index 992f1923c6..373bf46727 100644
--- a/conf/machine/include/tune-arm920t.conf
+++ b/conf/machine/include/tune-arm920t.conf
@@ -1,3 +1,3 @@
PACKAGE_ARCH = "armv4t"
-TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t -mcpu=arm920t"
+TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t"
diff --git a/conf/machine/include/zaurus-clamshell-2.4.conf b/conf/machine/include/zaurus-clamshell-2.4.conf
index 5c8fce4398..75de007233 100644
--- a/conf/machine/include/zaurus-clamshell-2.4.conf
+++ b/conf/machine/include/zaurus-clamshell-2.4.conf
@@ -9,7 +9,7 @@ PREFERRED_PROVIDERS_append_borzoi = " virtual/kernel:openzaurus-pxa27x"
# Later versions are broken on kernel 2.4
PREFERRED_VERSION_orinoco-modules = "0.13e"
-BOOTSTRAP_EXTRA_RDEPENDS += "kernel hostap-modules-cs orinoco-modules-cs sharp-sdmmc-support \
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel hostap-modules-cs sharp-sdmmc-support \
pcmcia-cs apmd apm wireless-tools keymaps irda-utils hostap-utils prism3-firmware prism3-support \
wpa-supplicant-nossl ppp ppp-dialin "
diff --git a/conf/machine/ipaq-pxa270.conf b/conf/machine/ipaq-pxa270.conf
index ad2120ef6c..b3db5c8268 100644
--- a/conf/machine/ipaq-pxa270.conf
+++ b/conf/machine/ipaq-pxa270.conf
@@ -5,7 +5,7 @@
TARGET_ARCH = "arm"
IPKG_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa hx4700"
#use this for a hx47xx ipaq
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
#use this for a hx2xxx ipaq
#PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
@@ -33,7 +33,6 @@ PXA270_MODULES = "nls_cp437 nls_iso8859-1 nls_utf8 af_key"
SERIAL_CONSOLE = "115200 ttyS0"
-include conf/machine/include/handheld-common.conf
GUI_MACHINE_CLASS = "bigscreen"
diff --git a/conf/machine/jornada56x.conf b/conf/machine/jornada56x.conf
index c1f918f662..d6b3c70454 100644
--- a/conf/machine/jornada56x.conf
+++ b/conf/machine/jornada56x.conf
@@ -4,7 +4,7 @@
TARGET_ARCH = "arm"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "handhelds-sa-2.6"
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
BOOTSTRAP_EXTRA_RDEPENDS = "kernel kernel-modules module-init-tools"
@@ -12,5 +12,4 @@ EXTRA_IMAGECMD_jornada56x_jffs2 = "-e 0x40000 -p"
SERIAL_CONSOLE = "115200 ttySA0"
-include conf/machine/include/handheld-common.conf
include conf/machine/include/tune-strongarm.conf
diff --git a/conf/machine/logicpd-pxa270.conf b/conf/machine/logicpd-pxa270.conf
index 206958c2ce..efb19aea93 100644
--- a/conf/machine/logicpd-pxa270.conf
+++ b/conf/machine/logicpd-pxa270.conf
@@ -16,7 +16,12 @@ SERIAL_CONSOLE = "115200 ttyS0"
# used by opie-collections.inc
ROOT_FLASH_SIZE = "32"
-# EXTRA_IMAGECMD_jffs2 = "--eraseblock=0x40000"
-EXTRA_IMAGECMD_jffs2 = "--pad=0x1000000"
+
+# default flash partition setup of the LogicPD flash board is:
+# 0x00000000-0x000c0000 : "Bootloader"
+# 0x000c0000-0x01000000 : "YAFFS"
+# 0x01000000-0x02000000 : "Filesystem" (JFFS2)
+
+EXTRA_IMAGECMD_jffs2 = "--pad=0x1000000 --eraseblock=0x40000"
diff --git a/conf/machine/magician.conf b/conf/machine/magician.conf
new file mode 100644
index 0000000000..d2cc9b1f49
--- /dev/null
+++ b/conf/machine/magician.conf
@@ -0,0 +1,49 @@
+#@TYPE: Machine
+#@NAME: HTC Magician
+#@DESCRIPTION: Machine configuration for the HTC Magician PDA/Phone
+
+#
+# Hardware-based properties
+#
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa ipaq-pxa270"
+
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+require conf/machine/include/tune-xscale.conf
+
+# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
+#require conf/machine/include/tune-iwmmxt.conf
+
+ROOT_FLASH_SIZE = "80"
+VOLATILE_STORAGE_SIZE = "64"
+GUI_MACHINE_CLASS = "smallscreen"
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth irda usbgadget"
+
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
+MODUTILS = "26"
+XSERVER = "xserver-kdrive-fbdev"
+
+PREFERRED_VERSION_orinoco-modules = "0.15rc1"
+
+MACHINE_EXTRA_RRECOMMENDS = " \
+ kernel-module-leds-magician \
+ kernel-module-magician-ts \
+ kernel-module-pxaficp-ir \
+ kernel-module-uinput \
+ kernel-module-hci-usb \
+ "
+
+#
+# Modules autoload and other boot properties
+#
+module_autoload_magician_ts = "magician_ts"
+module_autoload_leds-magician = "leds-magician"
+module_autoload_snd-pcm-oss = "snd-pcm-oss"
+module_autoload_snd-mixer-oss = "snd-mixer-oss"
+module_autoload_pxa27x_udc = "pxa27x_udc"
+
+#FIXME: this should be controlled by a userspace utility later.
+module_autoload_g_ether = "g_ether"
diff --git a/conf/machine/mainstone.conf b/conf/machine/mainstone.conf
index 357e286752..72a305df38 100644
--- a/conf/machine/mainstone.conf
+++ b/conf/machine/mainstone.conf
@@ -17,4 +17,6 @@ SERIAL_CONSOLE = "115200 ttyS0"
# used by opie-collections.inc
ROOT_FLASH_SIZE = "32"
+MACHINE_FEATURES = "kernel26 pcmcia usbhost usbgadget pcmcia touchscreen keyboard alsa irda"
+MACHINE_TASK_PROVIDER = "task-base"
diff --git a/conf/machine/navman-icn330.conf b/conf/machine/navman-icn330.conf
new file mode 100644
index 0000000000..fa1cbbaaf4
--- /dev/null
+++ b/conf/machine/navman-icn330.conf
@@ -0,0 +1,37 @@
+#@TYPE: Machine
+#@NAME: Navman iCN 300
+#@DESCRIPTION: Machine configuration for the navman iCN 330 gps devicesx
+
+# see http://www.duff.dk/navman/ for more details
+
+#
+# Hardware-based properties
+#
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
+
+#Compile with armv5te optimizations, incompatible with armv4(t) cpus
+require conf/machine/include/tune-xscale.conf
+
+#Set some hints for metadata
+VOLATILE_STORAGE_SIZE = "32"
+GUI_MACHINE_CLASS = "smallscreen"
+
+#Set features for task-base
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa usbgadget"
+
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+PREFERRED_PROVIDER_virtual/kernel = "linux-navman"
+
+
+#
+# Modules autoload and other boot properties
+#
+module_autoload_snd-pcm-oss = "snd-pcm-oss"
+
+SERIAL_CONSOLE = "115200 ttyS0 vt100"
+USE_VT = "0"
+
diff --git a/conf/machine/netbook-pro.conf b/conf/machine/netbook-pro.conf
index c480cf4ebf..095cd95d31 100755
--- a/conf/machine/netbook-pro.conf
+++ b/conf/machine/netbook-pro.conf
@@ -2,10 +2,10 @@
#@Name: Psion teklogix netbookpro Platform
#@DESCRIPTION: Machine configuration for Psion teklogix netbookpro Platformm
-INHERIT += "linux_modules"
+INHERIT += "linux-kernel-base"
TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv5te"
+IPKG_EXTRA_ARCHS = "arm armv4 armv4t armv5te"
PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}-kernel"
@@ -17,15 +17,6 @@ XSERVER = "xserver-kdrive-epson"
MACHINE_FEATURES = "kernel26 touchscreen keyboard apm alsa pcmcia bluetooth irda usbhost"
-#ship in rootfs:
-NBP_MODULES = " apm \
- pcmcia-core \
- ipv6 "
-BOOTSTRAP_EXTRA_RRECOMMENDS += " ${@linux_module_packages('${NBP_MODULES}', d)}"
-BOOTSTRAP_EXTRA_RDEPENDS_append = " udev module-init-tools"
-
-GPE_EXTRA_INSTALL += "gpe-mini-browser"
-
# used by sysvinit_2
SERIAL_CONSOLE = "115200 ttySA0 vt100"
diff --git a/conf/machine/netvista.conf b/conf/machine/netvista.conf
index 2b9b572024..f5787e6448 100644
--- a/conf/machine/netvista.conf
+++ b/conf/machine/netvista.conf
@@ -21,4 +21,3 @@ GPE_EXTRA_INSTALL += "gaim sylpheed gpe-mini-browser abiword"
#udevdir = "/dev"
-include conf/thinclient-common.conf
diff --git a/conf/machine/omap5912osk.conf b/conf/machine/omap5912osk.conf
index ea86d0c5cc..c6bb20948a 100644
--- a/conf/machine/omap5912osk.conf
+++ b/conf/machine/omap5912osk.conf
@@ -13,14 +13,10 @@ PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
PREFERRED_VERSION_u-boot = "LABEL.2006.06.30.2020"
-# Use current git until I can find a git tag that builds for omap5912osk
-PREFERRED_VERSION_linux-omap1 = "2.6.x+git"
-#PREFERRED_VERSION_linux-omap1 = "2.6.12-rc2"
-
SERIAL_CONSOLE ?= "115200 ttyS0"
EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
-MACHINE_FEATURES = "kernel26 pcmcia usbhost"
+MACHINE_FEATURES = "kernel26 pcmcia usbhost alsa"
MACHINE_TASK_PROVIDER = "task-base"
diff --git a/conf/machine/poodle.conf b/conf/machine/poodle.conf
index 49eaf1ef4b..fc8fb718f2 100644
--- a/conf/machine/poodle.conf
+++ b/conf/machine/poodle.conf
@@ -14,8 +14,6 @@ IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE
EXTRA_IMAGEDEPENDS += "zaurus-updater"
-include conf/machine/include/handheld-common.conf
-
ROOT_FLASH_SIZE = "22"
# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
diff --git a/conf/machine/simpad.conf b/conf/machine/simpad.conf
index 2777e688bb..13943bae39 100644
--- a/conf/machine/simpad.conf
+++ b/conf/machine/simpad.conf
@@ -9,7 +9,7 @@ TARGET_ARCH = "arm"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
BOOTSTRAP_EXTRA_RDEPENDS += "kernel"
-BOOTSTRAP_EXTRA_RRECOMMENDS = "hostap-modules-cs orinoco-modules-cs \
+BOOTSTRAP_EXTRA_RRECOMMENDS = "hostap-modules-cs \
kernel-module-sa1100-ir kernel-module-sa1100usb-core kernel-module-usb-eth \
kernel-module-pcnet-cs kernel-module-8390"
@@ -26,6 +26,5 @@ ROOT_FLASH_SIZE = "16"
USE_VT = "0"
GPE_EXTRA_INSTALL += "suspend-desktop"
-require conf/machine/include/handheld-common.conf
require conf/machine/include/tune-strongarm.conf
diff --git a/conf/machine/tosa.conf b/conf/machine/tosa.conf
index a6b4caf6fd..e7f2aa204a 100644
--- a/conf/machine/tosa.conf
+++ b/conf/machine/tosa.conf
@@ -18,8 +18,6 @@ GUI_MACHINE_CLASS = "bigscreen"
GPE_EXTRA_INSTALL += "gaim"
ROOT_FLASH_SIZE = "28"
-include conf/machine/include/handheld-common.conf
-
# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
include conf/machine/include/tune-xscale.conf
diff --git a/packages/clamav/site/.mtn2git_empty b/contrib/distro-packages/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/clamav/site/.mtn2git_empty
+++ b/contrib/distro-packages/.mtn2git_empty
diff --git a/packages/fltk/fltk-1.2+cvs20040806/.mtn2git_empty b/contrib/distro-packages/debian/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/fltk/fltk-1.2+cvs20040806/.mtn2git_empty
+++ b/contrib/distro-packages/debian/.mtn2git_empty
diff --git a/packages/gnuz/.mtn2git_empty b/contrib/distro-packages/debian/openembedded-essential-1.0/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gnuz/.mtn2git_empty
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/.mtn2git_empty
diff --git a/packages/gpe-screenshot/.mtn2git_empty b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gpe-screenshot/.mtn2git_empty
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/.mtn2git_empty
diff --git a/contrib/distro-packages/debian/openembedded-essential-1.0/debian/changelog b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/changelog
new file mode 100644
index 0000000000..4d6268aafd
--- /dev/null
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/changelog
@@ -0,0 +1,6 @@
+openembedded-essential (1.0-1) unstable; urgency=low
+
+ * Initial release
+
+ -- Marcin Juszkiewicz <hrw@openembedded.org> Tue, 17 Oct 2006 12:05:35 +0200
+
diff --git a/contrib/distro-packages/debian/openembedded-essential-1.0/debian/compat b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/compat
new file mode 100644
index 0000000000..7ed6ff82de
--- /dev/null
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/contrib/distro-packages/debian/openembedded-essential-1.0/debian/control b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/control
new file mode 100644
index 0000000000..bc6ac81320
--- /dev/null
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/control
@@ -0,0 +1,17 @@
+Source: openembedded-essential
+Section: devel
+Priority: optional
+Maintainer: Marcin Juszkiewicz <hrw@openembedded.org>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.2
+
+Package: openembedded-essential
+Architecture: all
+Depends: python (>= 2.3), ccache, build-essential, quilt, sed, bison, wget, cvs, subversion, git-core, monotone, coreutils, unzip, texi2html, texinfo, libsdl1.2-dev, docbook-utils
+Description: Metapackage to install all needed packages to start using OpenEmbedded
+ OpenEmbedded is a full-featured development environment allowing users to
+ target a wide variety of devices. Supporting multiple build, release paths and
+ configurations, OpenEmbedded extends the capabilities of your build and
+ release engineers. OpenEmbedded uses compilation and configuration caching at
+ most levels to increase developer productivity.
+ This metapackage depends on all software required by OpenEmbedded.
diff --git a/contrib/distro-packages/debian/openembedded-essential-1.0/debian/copyright b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/copyright
new file mode 100644
index 0000000000..6eabc18b58
--- /dev/null
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/copyright
@@ -0,0 +1,22 @@
+This package was debianized by Marcin Juszkiewicz <hrw@hrw.one.pl> on
+Tue, 17 Oct 2006 12:05:35 +0200.
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+ copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2006, Marcin Juszkiewicz <hrw@hrw.one.pl> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+
diff --git a/contrib/distro-packages/debian/openembedded-essential-1.0/debian/files b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/files
new file mode 100644
index 0000000000..7b062562ec
--- /dev/null
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/files
@@ -0,0 +1 @@
+openembedded-essential_1.0-1_all.deb devel optional
diff --git a/contrib/distro-packages/debian/openembedded-essential-1.0/debian/rules b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/rules
new file mode 100755
index 0000000000..26ec328e83
--- /dev/null
+++ b/contrib/distro-packages/debian/openembedded-essential-1.0/debian/rules
@@ -0,0 +1,19 @@
+#!/usr/bin/make -f
+
+build:
+
+clean:
+
+binary-indep:
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep
+.PHONY: build clean binary-indep binary
diff --git a/packages/gpe-screenshot/files/.mtn2git_empty b/contrib/distro-packages/rpm/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gpe-screenshot/files/.mtn2git_empty
+++ b/contrib/distro-packages/rpm/.mtn2git_empty
diff --git a/contrib/distro-packages/rpm/openembedded-essential-1.0.spec b/contrib/distro-packages/rpm/openembedded-essential-1.0.spec
new file mode 100644
index 0000000000..701c2b07d0
--- /dev/null
+++ b/contrib/distro-packages/rpm/openembedded-essential-1.0.spec
@@ -0,0 +1,29 @@
+Summary: Metapackage to install all needed packages to start using OpenEmbedded
+Name: openembedded-essential
+Version: 1.0
+Release: 1
+License: MIT
+Group: Devel
+BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
+Requires: python, ccache, quilt, sed, bison, wget, cvs, subversion, git-core, monotone, coreutils, unzip, texi2html, texinfo, docbook-utils
+
+%description
+OpenEmbedded is a full-featured development environment allowing users to
+target a wide variety of devices. Supporting multiple build, release paths and
+configurations, OpenEmbedded extends the capabilities of your build and
+release engineers. OpenEmbedded uses compilation and configuration caching at
+most levels to increase developer productivity.
+This metapackage depends on all software required by OpenEmbedded.
+
+
+
+%changelog
+* Tue Oct 17 2006 Marcin Juszkiewicz <hrw@openembedded.org>
+
+openembedded-essential (1.0-1) unstable; urgency=low
+
+ * Initial release
+
+%files
+/rpm/openembedded-essential-1.0.spec
diff --git a/contrib/python/generate-manifest.py b/contrib/python/generate-manifest.py
index 0c0aea27c1..0b91347a48 100755
--- a/contrib/python/generate-manifest.py
+++ b/contrib/python/generate-manifest.py
@@ -236,10 +236,11 @@ if __name__ == "__main__":
"lib-dynload/_socket.so lib-dynload/_ssl.so lib-dynload/select.so lib-dynload/termios.so lib-dynload/cStringIO.so "
"pipes.* socket.* tempfile.* StringIO.* " )
- m.addPackage( 0, "python-lang", "Python Low-Level Language Support", "python-core",
+ m.addPackage( 1, "python-lang", "Python Low-Level Language Support", "python-core",
"lib-dynload/array.so lib-dynload/parser.so lib-dynload/operator.so lib-dynload/_weakref.so " +
- "lib-dynload/itertools.so lib-dynload/collections.so " +
- "atexit.* code.* codeop.* dis.* inspect.* keyword.* opcode.* repr.* token.* tokenize.* traceback.* linecache.* weakref.*" )
+ "lib-dynload/itertools.so lib-dynload/collections.so lib-dynload/_bisect.so lib-dynload/_heapq.so " +
+ "atexit.* bisect.* code.* codeop.* dis.* heapq.* inspect.* keyword.* opcode.* repr.* token.* tokenize.* " +
+ "traceback.* linecache.* weakref.*" )
m.addPackage( 0, "python-logging", "Python Logging Support", "python-core",
"logging" ) # package
@@ -305,8 +306,8 @@ if __name__ == "__main__":
m.addPackage( 0, "python-tests", "Python Tests", "python-core",
"test" ) # package
- m.addPackage( 0, "python-threading", "Python Threading & Synchronization Support", "python-core, python-lang",
- "_threading_local.* bisect.* dummy_thread.* dummy_threading.* mutex.* threading.* Queue.*" )
+ m.addPackage( 1, "python-threading", "Python Threading & Synchronization Support", "python-core, python-lang",
+ "_threading_local.* dummy_thread.* dummy_threading.* mutex.* threading.* Queue.*" )
m.addPackage( 0, "python-unittest", "Python Unit Testing Framework", "python-core, python-stringold, python-lang",
"unittest.*" )
diff --git a/packages/kbdd/kbdd-patched-20040904/.mtn2git_empty b/packages/aiostress/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/kbdd/kbdd-patched-20040904/.mtn2git_empty
+++ b/packages/aiostress/.mtn2git_empty
diff --git a/packages/aiostress/aiostress_0.0.bb b/packages/aiostress/aiostress_0.0.bb
new file mode 100644
index 0000000000..8b4085ad4f
--- /dev/null
+++ b/packages/aiostress/aiostress_0.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Asynchronous I/O stress util"
+LICENSE = "GPLv2"
+DEPENDS = "libaio"
+
+SRC_URI = "ftp://ftp.suse.com/pub/people/mason/utils/aio-stress.c;md5sum=727e5fc3566837b3ea72f887d048769b"
+
+S = "${WORKDIR}"
+
+do_compile() {
+
+ cd ${S} && ${CC} aio-stress.c -o aio-stress -I${STAGING_INCDIR} -L${STAGING_LIBDIR} -laio -lpthread
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 aio-stress ${D}${bindir}
+}
diff --git a/packages/alsa/alsa-driver_0.9.6-hh4c.bb b/packages/alsa/alsa-driver_0.9.6-hh4c.bb
index 36fec31288..f8b3f6fab7 100644
--- a/packages/alsa/alsa-driver_0.9.6-hh4c.bb
+++ b/packages/alsa/alsa-driver_0.9.6-hh4c.bb
@@ -1,6 +1,8 @@
# needs a gcc4 fix
BROKEN = "1"
+COMPATIBLE_MACHINE = "(h3600|h3900)"
+
DESCRIPTION = "Alsa Drivers"
SECTION = "base"
LICENSE = "GPL"
diff --git a/packages/angstrom/task-angstrom-x11.bb b/packages/angstrom/task-angstrom-x11.bb
index 62e468a014..17c229b165 100644
--- a/packages/angstrom/task-angstrom-x11.bb
+++ b/packages/angstrom/task-angstrom-x11.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Task packages for the Angstrom distribution"
-PR = "r20"
+PR = "r22"
ALLOW_EMPTY = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -26,7 +26,8 @@ RDEPENDS_angstrom-gpe-task-base := "\
matchbox \
xcursor-transparent-theme \
rxvt-unicode \
- matchbox-themes-gtk \
+ matchbox-keyboard \
+ gpe-theme-clearlooks \
xst \
xhost \
xrdb \
@@ -38,7 +39,6 @@ RDEPENDS_angstrom-gpe-task-base := "\
gpe-confd \
gpe-autostarter \
libgtkstylus \
- libgtkinput \
suspend-desktop \
teleport \
xauth \
@@ -79,7 +79,7 @@ RDEPENDS_angstrom-gpe-task-apps := "\
gpe-aerial \
gpe-soundbite \
rosetta \
- gpe-screenshot \
+ gpe-scap \
gpe-windowlist"
RDEPENDS_angstrom-gpe-task-games := "\
diff --git a/packages/appweb/appweb.inc b/packages/appweb/appweb.inc
new file mode 100644
index 0000000000..0f602f70d3
--- /dev/null
+++ b/packages/appweb/appweb.inc
@@ -0,0 +1,4 @@
+def get_appweb_host(d, bb):
+ host = bb.data.getVar('HOST_SYS', d, 1)
+ return host.replace('-linux-uclibc', '-linux')
+
diff --git a/packages/appweb/appweb_1.2.0.bb b/packages/appweb/appweb_1.2.0.bb
index 8cf506af2c..8bd6d778f0 100644
--- a/packages/appweb/appweb_1.2.0.bb
+++ b/packages/appweb/appweb_1.2.0.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "AppWeb is an embedded HTTP Web server that has been designed with security in mind."
SECTION = "console/network"
-LICENSE="GPL"
+LICENSE = "GPL"
SRC_URI = "http://www.mbedthis.com/software/appWeb-src-1.2.0-1.tar.gz \
file://makerules.patch;patch=1 \
file://nonrootinstall.patch;patch=1"
@@ -9,10 +9,7 @@ S = "${WORKDIR}/appWeb-1.2.0"
APPWEB_HOST = "${@get_appweb_host(d, bb)}"
APPWEB_BUILD = "${BUILD_SYS}"
-def get_appweb_host(d, bb):
- host = bb.data.getVar('HOST_SYS', d, 1)
- return host.replace('-linux-uclibc', '-linux')
-
+require appweb.inc
# --buildNumber=NUMBER Set the build number part of the version (1.0.0.X).
# --name=NAME Set the full product name (BLD_NAME define).
diff --git a/packages/appweb/appweb_2.0.4.bb b/packages/appweb/appweb_2.0.4.bb
index f740876acd..7f7941012a 100644
--- a/packages/appweb/appweb_2.0.4.bb
+++ b/packages/appweb/appweb_2.0.4.bb
@@ -10,10 +10,7 @@ S = "${WORKDIR}/appWeb-${PV}"
APPWEB_HOST = "${@get_appweb_host(d, bb)}"
APPWEB_BUILD = "${BUILD_SYS}"
-def get_appweb_host(d, bb):
- host = bb.data.getVar('HOST_SYS', d, 1)
- return host.replace('-linux-uclibc', '-linux')
-
+require appweb.inc
# --buildNumber=NUMBER Set the build number part of the version (1.0.0.X).
# --name=NAME Set the full product name (BLD_NAME define).
diff --git a/packages/libgpewidget/libgpewidget-0.102/.mtn2git_empty b/packages/binutils/binutils-2.17.50.0.5/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libgpewidget/libgpewidget-0.102/.mtn2git_empty
+++ b/packages/binutils/binutils-2.17.50.0.5/.mtn2git_empty
diff --git a/packages/binutils/binutils-2.17.50.0.5/110-arm-eabi-conf.patch b/packages/binutils/binutils-2.17.50.0.5/110-arm-eabi-conf.patch
new file mode 100644
index 0000000000..be85ceb109
--- /dev/null
+++ b/packages/binutils/binutils-2.17.50.0.5/110-arm-eabi-conf.patch
@@ -0,0 +1,24 @@
+diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
+--- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300
++++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300
+@@ -1299,7 +1299,7 @@
+ arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+ ;;
+diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in
+--- binutils-2.16.91.0.7.orig/configure.in 2006-05-31 14:54:24.000000000 +0300
++++ binutils-2.16.91.0.7/configure.in 2006-05-31 14:55:53.000000000 +0300
+@@ -497,7 +497,7 @@
+ arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+ ;;
diff --git a/packages/binutils/binutils-2.17.50.0.5/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/packages/binutils/binutils-2.17.50.0.5/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..4461bedd4e
--- /dev/null
+++ b/packages/binutils/binutils-2.17.50.0.5/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,31 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything. This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+--- binutils-2.16.91.0.6/binutils/objcopy.c.ark 2006-03-11 15:59:07.000000000 +0100
++++ binutils-2.16.91.0.6/binutils/objcopy.c 2006-03-11 15:59:45.000000000 +0100
+@@ -2593,7 +2593,8 @@
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (output_file == NULL)
+- smart_rename (tmpname, argv[i], preserve_dates);
++ if(smart_rename (tmpname, argv[i], preserve_dates))
++ hold_status = 1;
+ status = hold_status;
+ }
+ else
+@@ -3184,7 +3185,8 @@
+ {
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+- smart_rename (tmpname, input_filename, preserve_dates);
++ if (smart_rename (tmpname, input_filename, preserve_dates))
++ status = 1;
+ }
+ else
+ unlink (tmpname);
diff --git a/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-100-uclibc-conf.patch b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..25222e5df2
--- /dev/null
+++ b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,139 @@
+--- binutils-2.16.91.0.7/bfd/configure
++++ binutils-2.16.91.0.7/bfd/configure
+@@ -3576,7 +3576,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/binutils/configure
++++ binutils-2.16.91.0.7/binutils/configure
+@@ -3411,7 +3411,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/configure
++++ binutils-2.16.91.0.7/configure
+@@ -1270,7 +1270,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -1578,7 +1578,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[3456789]86-*-vsta) ;; # don't add gprof back in
+ i[3456789]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.16.91.0.7/configure.in
++++ binutils-2.16.91.0.7/configure.in
+@@ -468,7 +468,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -776,7 +776,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[[3456789]]86-*-vsta) ;; # don't add gprof back in
+ i[[3456789]]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.16.91.0.7/gas/configure
++++ binutils-2.16.91.0.7/gas/configure
+@@ -3411,7 +3411,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/gprof/configure
++++ binutils-2.16.91.0.7/gprof/configure
+@@ -3419,6 +3419,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- binutils-2.16.91.0.7/ld/configure
++++ binutils-2.16.91.0.7/ld/configure
+@@ -3413,7 +3413,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/libtool.m4
++++ binutils-2.16.91.0.7/libtool.m4
+@@ -739,7 +739,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/ltconfig
++++ binutils-2.16.91.0.7/ltconfig
+@@ -602,6 +602,7 @@
+
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
++linux-uclibc*) ;;
+ linux-gnu*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+@@ -1247,7 +1248,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+--- binutils-2.16.91.0.7/opcodes/configure
++++ binutils-2.16.91.0.7/opcodes/configure
+@@ -3579,7 +3579,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
diff --git a/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-001_ld_makefile_patch.patch b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-006_better_file_error.patch b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Specify which filename is causing an error if the filename is a
+## DP: directory. (#45832)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
+--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
+@@ -150,6 +150,13 @@
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-012_check_ldrunpath_length.patch b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/packages/binutils/binutils-2.17.50.0.5/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+ && command_line.rpath == NULL)
+ {
+ lib_path = (const char *) getenv ("LD_RUN_PATH");
++ if ((lib_path) && (strlen (lib_path) == 0))
++ lib_path = NULL;
+ if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ force))
+ break;
+@@ -871,6 +873,8 @@
+ rpath = command_line.rpath;
+ if (rpath == NULL)
+ rpath = (const char *) getenv ("LD_RUN_PATH");
++ if ((rpath) && (strlen (rpath) == 0))
++ rpath = NULL;
+ if (! (bfd_elf_size_dynamic_sections
+ (output_bfd, command_line.soname, rpath,
+ command_line.filter_shlib,
diff --git a/packages/binutils/binutils-cross_2.17.50.0.5.bb b/packages/binutils/binutils-cross_2.17.50.0.5.bb
new file mode 100644
index 0000000000..1f2f43ecf8
--- /dev/null
+++ b/packages/binutils/binutils-cross_2.17.50.0.5.bb
@@ -0,0 +1,32 @@
+SECTION = "devel"
+require binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
diff --git a/packages/binutils/binutils_2.17.50.0.5.bb b/packages/binutils/binutils_2.17.50.0.5.bb
new file mode 100644
index 0000000000..09e4a36b81
--- /dev/null
+++ b/packages/binutils/binutils_2.17.50.0.5.bb
@@ -0,0 +1,122 @@
+DESCRIPTION = "A GNU collection of binary utilities"
+HOMEPAGE = "http://www.gnu.org/software/binutils/"
+SECTION = "devel"
+LICENSE = "GPL"
+
+inherit autotools gettext
+
+PACKAGES += "${PN}-symlinks"
+
+FILES_${PN} = " \
+ ${bindir}/${TARGET_PREFIX}* \
+ ${libdir}/lib*-*.so \
+ ${prefix}/${TARGET_SYS}/bin/*"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.a \
+ ${libdir}/*.la \
+ ${libdir}/libbfd.so \
+ ${libdir}/libopcodes.so"
+
+FILES_${PN}-symlinks = " \
+ ${bindir}/addr2line \
+ ${bindir}/ar \
+ ${bindir}/as \
+ ${bindir}/c++filt \
+ ${bindir}/gprof \
+ ${bindir}/ld \
+ ${bindir}/nm \
+ ${bindir}/objcopy \
+ ${bindir}/objdump \
+ ${bindir}/ranlib \
+ ${bindir}/readelf \
+ ${bindir}/size \
+ ${bindir}/strings \
+ ${bindir}/strip"
+
+SRC_URI = \
+ "http://ftp.kernel.org/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
+ file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+ file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
+ file://110-arm-eabi-conf.patch;patch=1 \
+ file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+ file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+ file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/binutils-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
+ --enable-shared"
+
+# This is necessary due to a bug in the binutils Makefiles
+EXTRA_OEMAKE = "configure-build-libiberty all"
+
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export LD = "${HOST_PREFIX}ld"
+export NM = "${HOST_PREFIX}nm"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export OBJCOPY = "${HOST_PREFIX}objcopy"
+export OBJDUMP = "${HOST_PREFIX}objdump"
+
+export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
+export AS_FOR_TARGET = "${TARGET_PREFIX}as"
+export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
+export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
+export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
+
+export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CPP_FOR_BUILD = "${BUILD_CPP}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+
+export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+do_configure () {
+ (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
+ oe_runconf
+}
+
+do_stage () {
+ oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
+ oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
+ oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
+ install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
+}
+
+do_install () {
+ autotools_do_install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${D}${libdir}/ldscripts
+
+ # Fix the /usr/${TARGET_SYS}/bin/* links
+ for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
+ rm -f $l
+ ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
+ | tr -s / \
+ | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
+ done
+
+ # Install the libiberty header
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+
+ cd ${D}${bindir}
+
+ # Symlinks for ease of running these on the native target
+ for p in ${TARGET_SYS}-* ; do
+ ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
+ done
+}
diff --git a/packages/bitbake/bitbake_svn.bb b/packages/bitbake/bitbake_svn.bb
index 1df6dacbed..d43d03b0f3 100644
--- a/packages/bitbake/bitbake_svn.bb
+++ b/packages/bitbake/bitbake_svn.bb
@@ -6,7 +6,7 @@ DEFAULT_PREFERENCE = "-1"
# We don't need a toolchain...
INHIBIT_DEFAULT_DEPS = "1"
-PV = "0.0+svn${SRCDATE}"
+PV = "1.7.0+svn${SRCDATE}"
SRC_URI = "svn://svn.berlios.de/bitbake/trunk;module=bitbake"
# SRC_URI = "svn+ssh://svn.berlios.de/bitbake/trunk;module=bitbake"
S = "${WORKDIR}/bitbake"
diff --git a/packages/bluez/bluez-libs_3.7.bb b/packages/bluez/bluez-libs_3.7.bb
new file mode 100644
index 0000000000..d740bd80a9
--- /dev/null
+++ b/packages/bluez/bluez-libs_3.7.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland Libaries."
+SECTION = "libs"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.bluez.org"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://bluez.sourceforge.net/download/bluez-libs-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+HEADERS = "bluetooth.h bnep.h cmtp.h hci.h hci_lib.h hidp.h l2cap.h rfcomm.h sco.h sdp.h sdp_lib.h"
+
+do_stage() {
+ oe_libinstall -a -so -C src libbluetooth ${STAGING_LIBDIR}
+
+ install -d ${STAGING_INCDIR}/bluetooth/
+ for f in ${HEADERS}
+ do
+ install -m 0644 include/$f ${STAGING_INCDIR}/bluetooth/$f
+ done
+}
diff --git a/packages/bluez/bluez-utils-dbus_2.20.bb b/packages/bluez/bluez-utils-dbus_2.20.bb
index d55361c63d..e76868cb6c 100644
--- a/packages/bluez/bluez-utils-dbus_2.20.bb
+++ b/packages/bluez/bluez-utils-dbus_2.20.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r11"
+PR = "r12"
DEPENDS += "dbus"
SRC_URI += "file://dbus.patch;patch=1 \
diff --git a/packages/bluez/bluez-utils-dbus_2.21.bb b/packages/bluez/bluez-utils-dbus_2.21.bb
index 11decf1208..cd98cfdfaa 100644
--- a/packages/bluez/bluez-utils-dbus_2.21.bb
+++ b/packages/bluez/bluez-utils-dbus_2.21.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r5"
+PR = "r6"
DEPENDS += "dbus"
SRC_URI += "file://dbus.patch;patch=1 \
diff --git a/packages/bluez/bluez-utils-dbus_2.24.bb b/packages/bluez/bluez-utils-dbus_2.24.bb
index 601a3f1f0c..3e4d0d7898 100644
--- a/packages/bluez/bluez-utils-dbus_2.24.bb
+++ b/packages/bluez/bluez-utils-dbus_2.24.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r2"
+PR = "r3"
DEPENDS += "dbus"
SRC_URI += "file://dbus-2.24.patch;patch=1"
diff --git a/packages/bluez/bluez-utils-dbus_2.25.bb b/packages/bluez/bluez-utils-dbus_2.25.bb
index 954121c330..e4ec42f4c2 100644
--- a/packages/bluez/bluez-utils-dbus_2.25.bb
+++ b/packages/bluez/bluez-utils-dbus_2.25.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r1"
+PR = "r2"
DEPENDS += "dbus"
SRC_URI += "file://dbus-2.24.patch;patch=1 \
diff --git a/packages/bluez/bluez-utils-nodbus_2.20.bb b/packages/bluez/bluez-utils-nodbus_2.20.bb
index e7b5ad5f43..ebb5667c0b 100644
--- a/packages/bluez/bluez-utils-nodbus_2.20.bb
+++ b/packages/bluez/bluez-utils-nodbus_2.20.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r3"
+PR = "r4"
SRC_URI += "file://hciattach_devlength.patch;patch=1"
EXTRA_OECONF += "--without-dbus"
diff --git a/packages/bluez/bluez-utils-nodbus_2.21.bb b/packages/bluez/bluez-utils-nodbus_2.21.bb
index 5e1f417cc0..f1efd35a16 100644
--- a/packages/bluez/bluez-utils-nodbus_2.21.bb
+++ b/packages/bluez/bluez-utils-nodbus_2.21.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r3"
+PR = "r4"
SRC_URI += "file://hciattach_devlength.patch;patch=1"
EXTRA_OECONF += "--without-dbus"
diff --git a/packages/bluez/bluez-utils-nodbus_2.24.bb b/packages/bluez/bluez-utils-nodbus_2.24.bb
index b0a601d625..e2f4c67384 100644
--- a/packages/bluez/bluez-utils-nodbus_2.24.bb
+++ b/packages/bluez/bluez-utils-nodbus_2.24.bb
@@ -1,5 +1,5 @@
require bluez-utils.inc
-PR = "r2"
+PR = "r3"
EXTRA_OECONF += "--without-dbus"
diff --git a/packages/bluez/bluez-utils-nodbus_2.25.bb b/packages/bluez/bluez-utils-nodbus_2.25.bb
index 87068c9ab1..e56fab6c60 100644
--- a/packages/bluez/bluez-utils-nodbus_2.25.bb
+++ b/packages/bluez/bluez-utils-nodbus_2.25.bb
@@ -1,6 +1,6 @@
require bluez-utils.inc
-PR = "r1"
+PR = "r2"
SRC_URI += " file://hciattach-ti-bts.patch;patch=1"
EXTRA_OECONF += "--without-dbus"
diff --git a/packages/bluez/bluez-utils.inc b/packages/bluez/bluez-utils.inc
index e71f2cef87..7eb181676d 100644
--- a/packages/bluez/bluez-utils.inc
+++ b/packages/bluez/bluez-utils.inc
@@ -21,7 +21,7 @@ SRC_URI += " file://default-manfid-0x0-to-bcps.patch;patch=1"
S = "${WORKDIR}/bluez-utils-${PV}"
EXTRA_OECONF = "--with-bluez-libs=${STAGING_LIBDIR} --with-bluez-includes=${STAGING_INCDIR} \
- --enable-pcmcia --enable-initscripts --enable-bcm203x"
+ --enable-pcmcia --enable-initscripts --enable-bcm203x --enable-hid2hci"
inherit autotools update-rc.d
diff --git a/packages/bluez/bluez-utils_3.1.bb b/packages/bluez/bluez-utils_3.1.bb
index 46565b8c1b..40aabaab50 100644
--- a/packages/bluez/bluez-utils_3.1.bb
+++ b/packages/bluez/bluez-utils_3.1.bb
@@ -6,7 +6,7 @@ RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils-dbus"
RREPLACES = "bluez-utils-dbus"
RCONFLICTS = "bluez-utils-dbus bluez-utils-nodbus"
LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
file://hcid.conf \
@@ -19,7 +19,7 @@ SRC_URI += " file://default-manfid-0x0-to-bcps.patch;patch=1"
S = "${WORKDIR}/bluez-utils-${PV}"
-EXTRA_OECONF = "--enable-initscripts --enable-bcm203x"
+EXTRA_OECONF = "--enable-initscripts --enable-bcm203x --enable-hid2hci"
# --enable-obex enable OBEX support
# --enable-alsa enable ALSA support
# --enable-cups install CUPS backend support
diff --git a/packages/bluez/bluez-utils_3.4.bb b/packages/bluez/bluez-utils_3.4.bb
index 3b8702e997..49e6ded250 100644
--- a/packages/bluez/bluez-utils_3.4.bb
+++ b/packages/bluez/bluez-utils_3.4.bb
@@ -7,7 +7,7 @@ RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils-dbus"
RREPLACES = "bluez-utils-dbus"
RCONFLICTS_${PN} = "bluez-utils-nodbus"
LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
file://hcid.conf \
@@ -20,7 +20,7 @@ SRC_URI += " file://default-manfid-0x0-to-bcps.patch;patch=1"
S = "${WORKDIR}/bluez-utils-${PV}"
-EXTRA_OECONF = "--enable-initscripts --enable-bcm203x"
+EXTRA_OECONF = "--enable-initscripts --enable-bcm203x --enable-hid2hci"
# --enable-obex enable OBEX support
# --enable-alsa enable ALSA support
# --enable-cups install CUPS backend support
diff --git a/packages/cairo/cairo_1.2.2.bb b/packages/cairo/cairo_1.2.2.bb
index 700f425113..762ee405b4 100644
--- a/packages/cairo/cairo_1.2.2.bb
+++ b/packages/cairo/cairo_1.2.2.bb
@@ -1,6 +1,6 @@
SECTION = "libs"
PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libpng fontconfig libxrender"
+DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender"
DESCRIPTION = "Cairo graphics library"
LICENSE = "MPL LGPL"
diff --git a/packages/clamav/clamav.inc b/packages/clamav/clamav.inc
new file mode 100644
index 0000000000..2a09c52461
--- /dev/null
+++ b/packages/clamav/clamav.inc
@@ -0,0 +1,122 @@
+DESCRIPTION = "Clam AntiVirus is a GPL anti-virus toolkit for UNIX. The main \
+purpose of this software is the integration with mail servers (attachment \
+scanning)."
+DESCRIPTION_${PN}-lib = "The dynamic library that is shared between all of \
+the Clam AntiVirus components"
+DESCRIPTION_${PN}-freshclam = "An automatic virus signature update \
+application for Clam AntiVirus"
+DESCRIPTION_${PN}-data = "Static antivirus signature database for Clam AntiVirus"
+DESCRIPTION_${PN}-daemon = "An on-demand file scanning service for Clam AntiVirus"
+HOMEPAGE = "http://www.clamav.net/"
+SECTION = "network"
+LICENSE = "GPL"
+DEPENDS = "zlib bzip2 gmp"
+RDEPENDS_${PN} = "${PN}-data"
+RDEPENDS_${PN}-daemon = "${PN}-data"
+RRECOMMENDS_${PN} = "${PN}-freshclam"
+RRECOMMENDS_${PN}-daemon = "${PN}-freshclam"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/clamav/clamav-${PV}.tar.gz \
+ file://cross-compile-fix.patch;patch=1 \
+ file://libtool-fix.patch;patch=1 \
+ file://clamav-daemon.init \
+ file://clamav-freshclam.init \
+ file://clamav-daemon.default \
+ file://clamd.conf \
+ file://freshclam.conf \
+ file://volatiles.02_clamav-data \
+ file://volatiles.03_clamav-daemon \
+ file://volatiles.03_clamav-freshclam"
+
+inherit autotools update-rc.d binconfig
+
+# Don't check for clamav uid/gid - they don't exist on the host
+# Put virus definitions in /var/lib not /usr/lib
+EXTRA_OECONF = "--disable-clamav \
+ --with-dbdir=${localstatedir}/lib/clamav"
+
+do_install_append() {
+ install -m 0755 -d ${D}${sysconfdir}/default/volatiles \
+ ${D}${sysconfdir}/init.d ${D}${docdir}/clamav
+
+ # Save the installed clamd.conf in the doc dir and then install our new one
+ install -m 0755 ${D}${sysconfdir}/clamd.conf ${D}${docdir}/clamav/clamd.conf.example
+ install -m 0755 ${WORKDIR}/clamd.conf ${D}${sysconfdir}/clamd.conf
+
+ # Save the installed freshclam.conf in the doc dir and then install our new one
+ install -m 0755 ${D}${sysconfdir}/freshclam.conf ${D}${docdir}/clamav/freshclam.conf.example
+
+ # Install our config files and init scripts
+ install -m 0755 ${WORKDIR}/freshclam.conf ${D}${sysconfdir}/freshclam.conf
+ install -m 0755 ${WORKDIR}/clamav-daemon.default ${D}${sysconfdir}/default/clamav-daemon
+ install -m 0755 ${WORKDIR}/clamav-daemon.init ${D}${sysconfdir}/init.d/clamav-daemon
+ install -m 0755 ${WORKDIR}/clamav-freshclam.init ${D}${sysconfdir}/init.d/clamav-freshclam
+
+ # We need some /var directories
+ for i in 02_clamav-data 03_clamav-daemon 03_clamav-freshclam; do
+ install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
+ done
+
+ # Move the clamav data to a non-volatile location, we'll symlink back
+ # If freshclam is running it'll break the link to this static data
+ # once it has succesfully downloaded an update
+ install -m 0755 -d ${D}${libdir}
+ mv ${D}${localstatedir}/lib/clamav ${D}${libdir}
+}
+do_stage () {
+ oe_libinstall -a -so libclamav ${STAGING_LIBDIR}
+ rm -f ${STAGING_LIBDIR}/libclamav.la
+ install -m 0644 libclamav/clamav.h ${STAGING_INCDIR}
+}
+
+PACKAGES += "${PN}-freshclam ${PN}-daemon ${PN}-data ${PN}-lib"
+
+FILES_${PN} = "${bindir}/clamscan ${bindir}/sigtool ${bindir}/clamdscan"
+FILES_${PN}-lib = "${libdir}/libclamav.so.*"
+FILES_${PN}-freshclam = "${bindir}/freshclam \
+ ${sysconfdir}/freshclam.conf \
+ ${sysconfdir}/init.d/clamav-freshclam \
+ ${sysconfdir}/default/volatiles/03_clamav-freshclam"
+FILES_${PN}-daemon = "${sysconfdir}/clamd.conf \
+ ${sbindir}/clamd \
+ ${sysconfdir}/init.d/clamav-daemon \
+ ${sysconfdir}/default/clamav-daemon \
+ ${sysconfdir}/default/volatiles/03_clamav-daemon"
+FILES_${PN}-data = "${libdir}/clamav/main.cvd \
+ ${libdir}/clamav/daily.cvd \
+ ${sysconfdir}/default/volatiles/02_clamav-data"
+FILES_${PN}-dev += "${bindir}/clamav-config"
+
+# Add clamav's user and groups
+pkg_postinst_${PN}-freshclam () {
+ grep -q clamav: /etc/group || addgroup clamav
+ grep -q clamav: /etc/passwd || \
+ adduser --disabled-password --home=/var/lib/clamav/ --system \
+ --ingroup clamav --no-create-home -g "ClamAV" clamav
+ /etc/init.d/populate-volatile.sh
+}
+pkg_postinst_${PN}-daemon () {
+ grep -q clamav: /etc/group || addgroup clamav
+ grep -q clamav: /etc/passwd || \
+ adduser --disabled-password --home=/var/lib/clamav/ --system \
+ --ingroup clamav --no-create-home -g "ClamAV" clamav
+ /etc/init.d/populate-volatile.sh
+}
+pkg_postinst_${PN}-data () {
+ grep -q clamav: /etc/group || addgroup clamav
+ grep -q clamav: /etc/passwd || \
+ adduser --disabled-password --home=/var/lib/clamav/ --system \
+ --ingroup clamav --no-create-home -g "ClamAV" clamav
+ /etc/init.d/populate-volatile.sh
+}
+
+# Indicate that the default files are configuration files
+CONFFILES_${PN}-daemon = "${sysconfdir}/clamd.conf \
+ ${sysconfdir}/default/clamav-daemon"
+CONFFILES_${PN}-freshclam = "${sysconfdir}/freshclam.conf"
+
+INITSCRIPT_PACKAGES = "${PN}-daemon ${PN}-freshclam"
+INITSCRIPT_NAME_${PN}-daemon = "clamav-daemon"
+INITSCRIPT_NAME_${PN}-freshclam = "clamav-freshclam"
+INITSCRIPT_PARAMS_${PN}-daemon = "defaults 50 50"
+INITSCRIPT_PARAMS_${PN}-freshclam = "defaults 50 50"
diff --git a/packages/clamav/clamav_0.88.4.bb b/packages/clamav/clamav_0.88.4.bb
index 1395253019..2d980440fa 100644
--- a/packages/clamav/clamav_0.88.4.bb
+++ b/packages/clamav/clamav_0.88.4.bb
@@ -1,122 +1,3 @@
-DESCRIPTION = "Clam AntiVirus is a GPL anti-virus toolkit for UNIX. The main \
-purpose of this software is the integration with mail servers (attachment \
-scanning)."
-DESCRIPTION_${PN}-lib = "The dynamic library that is shared between all of \
-the Clam AntiVirus components"
-DESCRIPTION_${PN}-freshclam = "An automatic virus signature update \
-application for Clam AntiVirus"
-DESCRIPTION_${PN}-data = "Static antivirus signature database for Clam AntiVirus"
-DESCRIPTION_${PN}-daemon = "An on-demand file scanning service for Clam AntiVirus"
-HOMEPAGE = "http://www.clamav.net/"
-SECTION = "network"
-LICENSE = "GPL"
-DEPENDS = "zlib bzip2 gmp"
-RDEPENDS_${PN} = "${PN}-data"
-RDEPENDS_${PN}-daemon = "${PN}-data"
-RRECOMMENDS_${PN} = "${PN}-freshclam"
-RRECOMMENDS_${PN}-daemon = "${PN}-freshclam"
-PR = "r5"
+require clamav.inc
-SRC_URI = "${SOURCEFORGE_MIRROR}/clamav/clamav-${PV}.tar.gz \
- file://cross-compile-fix.patch;patch=1 \
- file://libtool-fix.patch;patch=1 \
- file://clamav-daemon.init \
- file://clamav-freshclam.init \
- file://clamav-daemon.default \
- file://clamd.conf \
- file://freshclam.conf \
- file://volatiles.02_clamav-data \
- file://volatiles.03_clamav-daemon \
- file://volatiles.03_clamav-freshclam"
-
-inherit autotools update-rc.d binconfig
-
-# Don't check for clamav uid/gid - they don't exist on the host
-# Put virus definitions in /var/lib not /usr/lib
-EXTRA_OECONF = "--disable-clamav \
- --with-dbdir=${localstatedir}/lib/clamav"
-
-do_install_append() {
- install -m 0755 -d ${D}${sysconfdir}/default/volatiles \
- ${D}${sysconfdir}/init.d ${D}${docdir}/clamav
-
- # Save the installed clamd.conf in the doc dir and then install our new one
- install -m 0755 ${D}${sysconfdir}/clamd.conf ${D}${docdir}/clamav/clamd.conf.example
- install -m 0755 ${WORKDIR}/clamd.conf ${D}${sysconfdir}/clamd.conf
-
- # Save the installed freshclam.conf in the doc dir and then install our new one
- install -m 0755 ${D}${sysconfdir}/freshclam.conf ${D}${docdir}/clamav/freshclam.conf.example
-
- # Install our config files and init scripts
- install -m 0755 ${WORKDIR}/freshclam.conf ${D}${sysconfdir}/freshclam.conf
- install -m 0755 ${WORKDIR}/clamav-daemon.default ${D}${sysconfdir}/default/clamav-daemon
- install -m 0755 ${WORKDIR}/clamav-daemon.init ${D}${sysconfdir}/init.d/clamav-daemon
- install -m 0755 ${WORKDIR}/clamav-freshclam.init ${D}${sysconfdir}/init.d/clamav-freshclam
-
- # We need some /var directories
- for i in 02_clamav-data 03_clamav-daemon 03_clamav-freshclam; do
- install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
- done
-
- # Move the clamav data to a non-volatile location, we'll symlink back
- # If freshclam is running it'll break the link to this static data
- # once it has succesfully downloaded an update
- install -m 0755 -d ${D}${libdir}
- mv ${D}${localstatedir}/lib/clamav ${D}${libdir}
-}
-do_stage () {
- oe_libinstall -a -so libclamav ${STAGING_LIBDIR}
- install -m 0644 libclamav/clamav.h ${STAGING_INCDIR}
-}
-
-PACKAGES += "${PN}-freshclam ${PN}-daemon ${PN}-data ${PN}-lib"
-
-FILES_${PN} = "${bindir}/clamscan ${bindir}/sigtool ${bindir}/clamdscan"
-FILES_${PN}-lib = "${libdir}/libclamav.so.*"
-FILES_${PN}-freshclam = "${bindir}/freshclam \
- ${sysconfdir}/freshclam.conf \
- ${sysconfdir}/init.d/clamav-freshclam \
- ${sysconfdir}/default/volatiles/03_clamav-freshclam"
-FILES_${PN}-daemon = "${sysconfdir}/clamd.conf \
- ${sbindir}/clamd \
- ${sysconfdir}/init.d/clamav-daemon \
- ${sysconfdir}/default/clamav-daemon \
- ${sysconfdir}/default/volatiles/03_clamav-daemon"
-FILES_${PN}-data = "${libdir}/clamav/main.cvd \
- ${libdir}/clamav/daily.cvd \
- ${sysconfdir}/default/volatiles/02_clamav-data"
-FILES_${PN}-dev += "${bindir}/clamav-config"
-
-# Add clamav's user and groups
-pkg_postinst_${PN}-freshclam () {
- grep -q clamav: /etc/group || addgroup clamav
- grep -q clamav: /etc/passwd || \
- adduser --disabled-password --home=/var/lib/clamav/ --system \
- --ingroup clamav --no-create-home -g "ClamAV" clamav
- /etc/init.d/populate-volatile.sh
-}
-pkg_postinst_${PN}-daemon () {
- grep -q clamav: /etc/group || addgroup clamav
- grep -q clamav: /etc/passwd || \
- adduser --disabled-password --home=/var/lib/clamav/ --system \
- --ingroup clamav --no-create-home -g "ClamAV" clamav
- /etc/init.d/populate-volatile.sh
-}
-pkg_postinst_${PN}-data () {
- grep -q clamav: /etc/group || addgroup clamav
- grep -q clamav: /etc/passwd || \
- adduser --disabled-password --home=/var/lib/clamav/ --system \
- --ingroup clamav --no-create-home -g "ClamAV" clamav
- /etc/init.d/populate-volatile.sh
-}
-
-# Indicate that the default files are configuration files
-CONFFILES_${PN}-daemon = "${sysconfdir}/clamd.conf \
- ${sysconfdir}/default/clamav-daemon"
-CONFFILES_${PN}-freshclam = "${sysconfdir}/freshclam.conf"
-
-INITSCRIPT_PACKAGES = "${PN}-daemon ${PN}-freshclam"
-INITSCRIPT_NAME_${PN}-daemon = "clamav-daemon"
-INITSCRIPT_NAME_${PN}-freshclam = "clamav-freshclam"
-INITSCRIPT_PARAMS_${PN}-daemon = "defaults 50 50"
-INITSCRIPT_PARAMS_${PN}-freshclam = "defaults 50 50"
+PR = "r6"
diff --git a/packages/clamav/clamav_0.88.5.bb b/packages/clamav/clamav_0.88.5.bb
new file mode 100644
index 0000000000..fec4ae59d8
--- /dev/null
+++ b/packages/clamav/clamav_0.88.5.bb
@@ -0,0 +1,3 @@
+require clamav.inc
+
+PR = "r0"
diff --git a/packages/clearsilver/clearsilver_0.10.3.bb b/packages/clearsilver/clearsilver_0.10.3.bb
index d39fbdd00c..13d03a1705 100644
--- a/packages/clearsilver/clearsilver_0.10.3.bb
+++ b/packages/clearsilver/clearsilver_0.10.3.bb
@@ -3,7 +3,7 @@ SECTION = "net"
DESCRIPTION = "Clearsilver is a fast, powerful, and language-neutral HTML template system"
LICENSE = "Neotonic ClearSilver License"
DEPENDS = "python"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://www.clearsilver.net/downloads/${P}.tar.gz \
file://crosscompile.patch;patch=1"
@@ -23,4 +23,9 @@ do_configure() {
oe_runconf
}
-
+do_stage() {
+ autotools_stage_includes
+ for i in libs/libneo_cgi.a libs/libneo_cs.a libs/libneo_utl.a; do
+ install -m 644 $i ${STAGING_LIBDIR}
+ done
+}
diff --git a/packages/coreutils/coreutils-5.3.0/rename-tee-for-glibc2.5.patch b/packages/coreutils/coreutils-5.3.0/rename-tee-for-glibc2.5.patch
new file mode 100644
index 0000000000..148a5f4f8f
--- /dev/null
+++ b/packages/coreutils/coreutils-5.3.0/rename-tee-for-glibc2.5.patch
@@ -0,0 +1,33 @@
+Glibc 2.5 has a function called tee which conflicts with the same function
+in coreutils. This patch renames the function to tee_files (as is done in
+the newer coreutils versions.)
+
+--- coreutils-5.3.0/src/tee.c 2006/10/23 07:35:00 1.1
++++ coreutils-5.3.0/src/tee.c 2006/10/23 07:35:16
+@@ -31,7 +31,7 @@
+
+ #define AUTHORS "Mike Parker", "Richard M. Stallman", "David MacKenzie"
+
+-static bool tee (int nfiles, const char **files);
++static bool tee_files (int nfiles, const char **files);
+
+ /* If true, append to output files rather than truncating them. */
+ static bool append;
+@@ -121,7 +121,7 @@
+ /* Do *not* warn if tee is given no file arguments.
+ POSIX requires that it work when given no arguments. */
+
+- ok = tee (argc - optind, (const char **) &argv[optind]);
++ ok = tee_files (argc - optind, (const char **) &argv[optind]);
+ if (close (STDIN_FILENO) != 0)
+ error (EXIT_FAILURE, errno, _("standard input"));
+
+@@ -133,7 +133,7 @@
+ Return true if successful. */
+
+ static bool
+-tee (int nfiles, const char **files)
++tee_files (int nfiles, const char **files)
+ {
+ FILE **descriptors;
+ char buffer[BUFSIZ];
diff --git a/packages/coreutils/coreutils_5.3.0.bb b/packages/coreutils/coreutils_5.3.0.bb
index 759e9a4017..fa05a83781 100644
--- a/packages/coreutils/coreutils_5.3.0.bb
+++ b/packages/coreutils/coreutils_5.3.0.bb
@@ -3,11 +3,12 @@ LICENSE = "GPL"
SECTION = "base"
RREPLACES = "textutils shellutils fileutils"
RPROVIDES = "textutils shellutils fileutils"
-PR = "r0"
+PR = "r1"
SRC_URI = "ftp://alpha.gnu.org/gnu/coreutils/coreutils-${PV}.tar.bz2 \
file://install-cross.patch;patch=1;pnum=0 \
- file://man.patch;patch=1"
+ file://man.patch;patch=1 \
+ file://rename-tee-for-glibc2.5.patch;patch=1"
SRC_URI += "file://uptime-pow-lib.patch;patch=1"
diff --git a/packages/cups/cups_1.1.19.bb b/packages/cups/cups_1.1.19.bb
deleted file mode 100644
index a3bb55584e..0000000000
--- a/packages/cups/cups_1.1.19.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SECTION = "console/utils"
-DEPENDS = "openssl jpeg libpng zlib"
-DESCRIPTION = "An Internet printing system for Unix."
-LICENSE = "GPL LGPL"
-
-SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2"
-
-inherit autotools
-
-do_compile () {
- oe_runmake "SSLLIBS=-lssl -lcrypto -L${STAGING_LIBDIR}" \
- "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
- "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
- "LIBZ=-lz -L${STAGING_LIBDIR}"
-}
-
-do_install () {
- oe_runmake "DSTROOT=${D}" install
-}
diff --git a/packages/cups/cups_1.1.20.bb b/packages/cups/cups_1.1.20.bb
deleted file mode 100644
index 1d060ce677..0000000000
--- a/packages/cups/cups_1.1.20.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DEPENDS = "openssl jpeg libpng zlib"
-DESCRIPTION = "An Internet printing system for Unix."
-SECTION = "console/utils"
-LICENSE = "GPL LGPL"
-
-SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2"
-
-inherit autotools
-
-do_compile () {
- oe_runmake "SSLLIBS=-lssl -lcrypto -L${STAGING_LIBDIR}" \
- "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
- "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
- "LIBZ=-lz -L${STAGING_LIBDIR}"
-}
-
-do_install () {
- oe_runmake "DSTROOT=${D}" install
-}
diff --git a/packages/cups/cups_1.1.23.bb b/packages/cups/cups_1.1.23.bb
index d5b0d649ba..8807900673 100644
--- a/packages/cups/cups_1.1.23.bb
+++ b/packages/cups/cups_1.1.23.bb
@@ -1,10 +1,8 @@
DESCRIPTION = "An Internet printing system for Unix."
SECTION = "console/utils"
LICENSE = "GPL LGPL"
-
-DEPENDS = "openssl jpeg libpng zlib install-native"
-
-PR = "r4"
+DEPENDS = "openssl jpeg libpng zlib install-native fakeroot-native"
+PR = "r5"
SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2 \
file://strftime_fix.patch;patch=1"
diff --git a/packages/dates/dates_0.1.bb b/packages/dates/dates_0.1.bb
new file mode 100755
index 0000000000..3245b07af5
--- /dev/null
+++ b/packages/dates/dates_0.1.bb
@@ -0,0 +1,18 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
+DESCRIPTION = "Dates is a calendar application."
+
+SRC_URI = "http://projects.o-hand.com/sources/dates/dates-0.1.tar.gz"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+# EXTRA_OECONF = "--disable-debug"
+
+FILES_${PN} += "${datadir}/pixmaps/dates.png"
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/
+}
+
diff --git a/packages/dates/dates_svn.bb b/packages/dates/dates_svn.bb
index ad9e02619e..162e6f61a1 100644
--- a/packages/dates/dates_svn.bb
+++ b/packages/dates/dates_svn.bb
@@ -3,13 +3,16 @@ SECTION = "x11"
DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
DESCRIPTION = "Dates is a calendar application."
-PR = "r5"
-
-PV = "0.0+svn${SRCDATE}"
+PV = "0.1+svn${SRCDATE}"
S = "${WORKDIR}/trunk"
SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http"
-inherit autotools pkgconfig
+inherit autotools pkgconfig gtk-icon-cache
+
+FILES_${PN} += "${datadir}/pixmaps/dates.png"
-CFLAGS_prepend = " -DFRAMES=3 "
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/
+}
diff --git a/packages/libpng/1.2.12/.mtn2git_empty b/packages/dbench/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libpng/1.2.12/.mtn2git_empty
+++ b/packages/dbench/.mtn2git_empty
diff --git a/packages/libpng/libpng-1.2.12/.mtn2git_empty b/packages/dbench/dbench/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libpng/libpng-1.2.12/.mtn2git_empty
+++ b/packages/dbench/dbench/.mtn2git_empty
diff --git a/packages/dbench/dbench/destdir.patch b/packages/dbench/dbench/destdir.patch
new file mode 100644
index 0000000000..9fe1508f97
--- /dev/null
+++ b/packages/dbench/dbench/destdir.patch
@@ -0,0 +1,23 @@
+Index: dbench-3.04/Makefile.in
+===================================================================
+--- dbench-3.04.orig/Makefile.in 2006-09-17 20:21:07.000000000 +0200
++++ dbench-3.04/Makefile.in 2006-09-17 20:21:36.000000000 +0200
+@@ -32,12 +32,12 @@
+
+ # Careful here: don't install client.txt over itself.
+ install: all
+- ${INSTALLCMD} -d $(bindir) $(datadir) $(mandir)
+- ${INSTALLCMD} dbench tbench tbench_srv $(bindir)
+- ${INSTALLCMD} client.txt $(datadir)
+- ${INSTALLCMD} -m644 dbench.1 $(mandir)
+- ln -sf dbench.1 $(mandir)/tbench.1
+- ln -sf dbench.1 $(mandir)/tbench_srv.1
++ ${INSTALLCMD} -d $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) $(DESTDIR)$(mandir)
++ ${INSTALLCMD} dbench tbench tbench_srv $(DESTDIR)$(bindir)
++ ${INSTALLCMD} client.txt $(DESTDIR)$(datadir)
++ ${INSTALLCMD} -m644 dbench.1 $(DESTDIR)$(mandir)
++ ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench.1
++ ln -sf dbench.1 $(DESTDIR)$(mandir)/tbench_srv.1
+
+ clean:
+ rm -f *.o *~ dbench tbench tbench_srv
diff --git a/packages/dbench/dbench_3.04.bb b/packages/dbench/dbench_3.04.bb
new file mode 100644
index 0000000000..5eec719b95
--- /dev/null
+++ b/packages/dbench/dbench_3.04.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "The dbench (disk) and tbench (TCP) benchmarks"
+DESCRIPTION_dbench = "Filesystem load benchmark"
+DESCRIPTION_tbench = "TCP load benchmark"
+HOMEPAGE = "http://samba.org/ftp/tridge/dbench/"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://samba.org/ftp/tridge/dbench/dbench-${PV}.tar.gz \
+ file://destdir.patch;patch=1"
+
+inherit autotools
+
+PACKAGES =+ "tbench tbench-dbg"
+
+FILES_tbench = "${bindir}/tbench*"
+FILES_tbench-dbg = "${bindir}/.debug/tbench*"
diff --git a/packages/linux/handhelds-pxa-2.6-2.6.12-hh3/.mtn2git_empty b/packages/dbus/dbus-0.94/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6-2.6.12-hh3/.mtn2git_empty
+++ b/packages/dbus/dbus-0.94/.mtn2git_empty
diff --git a/packages/dbus/dbus-0.94/fix-install-daemon.patch b/packages/dbus/dbus-0.94/fix-install-daemon.patch
new file mode 100644
index 0000000000..c31786357d
--- /dev/null
+++ b/packages/dbus/dbus-0.94/fix-install-daemon.patch
@@ -0,0 +1,13 @@
+Index: dbus-0.94/bus/Makefile.am
+===================================================================
+--- dbus-0.94.orig/bus/Makefile.am 2006-10-01 17:36:18.000000000 +0200
++++ dbus-0.94/bus/Makefile.am 2006-10-14 21:40:05.000000000 +0200
+@@ -110,7 +110,7 @@
+ $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \
+ chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \
+ fi
+- $(INSTALL_PROGRAM) dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR)
++ $(INSTALL_PROGRAM) .libs/dbus-daemon $(DESTDIR)$(DBUS_DAEMONDIR)
+ $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
+ $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
+ $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
diff --git a/packages/dbus/dbus-native_0.94.bb b/packages/dbus/dbus-native_0.94.bb
new file mode 100644
index 0000000000..2d99c56370
--- /dev/null
+++ b/packages/dbus/dbus-native_0.94.bb
@@ -0,0 +1,28 @@
+SECTION = "base"
+PR = "r0"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+
+S = "${WORKDIR}/dbus-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus"
+DEPENDS = "glib-2.0-native libxml2-native expat-native"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1"
+
+inherit autotools pkgconfig gettext native
+
+EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \
+ --disable-checks --disable-xml-docs --disable-doxygen-docs \
+ --with-xml=expat --without-x"
+
+do_stage () {
+ oe_runmake install
+ autotools_stage_all
+
+ # for dbus-glib-native introspection generation
+ install -d ${STAGING_DATADIR}/dbus
+ install -m 0644 bus/session.conf ${STAGING_DATADIR}/dbus/session.conf
+}
diff --git a/packages/dbus/dbus-0.92/fix-segfault.patch b/packages/dbus/dbus/fix-segfault.patch
index de5bcff774..de5bcff774 100644
--- a/packages/dbus/dbus-0.92/fix-segfault.patch
+++ b/packages/dbus/dbus/fix-segfault.patch
diff --git a/packages/dbus/dbus_0.94.bb b/packages/dbus/dbus_0.94.bb
new file mode 100644
index 0000000000..050be8a86e
--- /dev/null
+++ b/packages/dbus/dbus_0.94.bb
@@ -0,0 +1,64 @@
+DEFAULT_PREFERENCE = "-1"
+
+SECTION = "base"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+DEPENDS = "expat glib-2.0 virtual/libintl"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1 \
+ file://dbus-1.init \
+ file://fix-segfault.patch;patch=1 \
+ file://fix-install-daemon.patch;patch=1"
+
+inherit autotools pkgconfig update-rc.d gettext
+
+INITSCRIPT_NAME = "dbus-1"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+
+FILES_${PN} = "${bindir}/dbus-daemon ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${bindir}/dbus-uuidgen ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include"
+
+pkg_postinst_dbus() {
+#!/bin/sh
+
+# can't do adduser stuff offline
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+MESSAGEUSER=messagebus
+MESSAGEHOME=/var/run/dbus
+
+mkdir -p $MESSAGEHOME || true
+chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER"
+chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER"
+dbus-uuidgen --ensure
+}
+
+EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \
+ --disable-checks --disable-xml-docs --disable-doxygen-docs \
+ --with-xml=expat --without-x"
+
+do_stage () {
+ oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+ install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_dbus', 'dbus-1', d)
+}
diff --git a/packages/dhcdbd/dhcdbd_2.0.bb b/packages/dhcdbd/dhcdbd_2.0.bb
new file mode 100644
index 0000000000..de9e24abd5
--- /dev/null
+++ b/packages/dhcdbd/dhcdbd_2.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION="DBus-enabled dhcp client"
+SECTION="net"
+LICENSE="GPL"
+HOMEPAGE="http://people.redhat.com/jvdias/dhcdbd/"
+
+DEPENDS = "dbus"
+RDEPENDS = "dhcp-client"
+
+PR = "r0"
+
+SRC_URI="http://people.redhat.com/dcantrel/dhcdbd/dhcdbd-${PV}.tar.bz2 \
+ file://no-ext-options.patch;patch=1 \
+ file://dhcdbd"
+
+do_compile() {
+ CC=${TARGET_SYS}-gcc DESTDIR=${prefix} make
+}
+
+do_install() {
+ DESTDIR=${D} make install
+ install -d ${D}/etc/init.d
+ install -m 0755 ${WORKDIR}/dhcdbd ${D}/etc/init.d/
+}
+
+FILES_${PN} += "${sysconfdir} ${datadir}/dbus-1 ${base_sbindir}/*"
diff --git a/packages/dhcdbd/files/no-ext-options.patch b/packages/dhcdbd/files/no-ext-options.patch
new file mode 100644
index 0000000000..774a2cf140
--- /dev/null
+++ b/packages/dhcdbd/files/no-ext-options.patch
@@ -0,0 +1,13 @@
+Index: dhcdbd-2.0/include/dhcdbd.h
+===================================================================
+--- dhcdbd-2.0.orig/include/dhcdbd.h 2006-10-18 09:38:18.000000000 +0100
++++ dhcdbd-2.0/include/dhcdbd.h 2006-10-18 09:38:45.000000000 +0100
+@@ -76,7 +76,7 @@
+ #endif
+
+ #ifndef DHCLIENT_EXTENDED_OPTION_ENVIRONMENT
+-#define DHCLIENT_EXTENDED_OPTION_ENVIRONMENT 1
++#define DHCLIENT_EXTENDED_OPTION_ENVIRONMENT 0
+ #endif
+
+ #define DHCDBD_INTERFACE_TEXT "text"
diff --git a/packages/dhcp/dhcp_3.0.2.bb b/packages/dhcp/dhcp_3.0.2.bb
index 1536aea914..c4843b7bda 100644
--- a/packages/dhcp/dhcp_3.0.2.bb
+++ b/packages/dhcp/dhcp_3.0.2.bb
@@ -2,10 +2,11 @@ SECTION = "console/network"
DESCRIPTION = "Internet Software Consortium DHCP package"
HOMEPAGE = "http://www.isc.org/"
LICENSE = "BSD"
-PR = "r2"
+PR = "r4"
SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \
file://noattrmode.patch;patch=1 \
file://fixincludes.patch;patch=1 \
+ file://dhcp-3.0.3-dhclient-dbus.patch;patch=1;pnum=0 \
file://init-relay file://default-relay \
file://init-server file://default-server \
file://dhclient.conf file://dhcpd.conf"
@@ -35,10 +36,13 @@ do_install() {
install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
}
-PACKAGES = "dhcp-server dhcp-client dhcp-relay dhcp-omshell dhcp-dev dhcp-doc"
+PACKAGES =+ "dhcp-server dhcp-client dhcp-relay dhcp-omshell"
FILES_dhcp-server = "${sbindir}/dhcpd /etc/init.d/dhcp-server /etc/default/dhcp-server /etc/dhcp/dhcpd.conf"
FILES_dhcp-relay = "${sbindir}/dhcrelay /etc/init.d/dhcp-relay /etc/default/dhcp-relay"
+
FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf"
+RDEPENDS_dhcp-client = "bash"
+
FILES_dhcp-omshell = "${bindir}/omshell"
CONFFILES_dhcp-server_nylon = "/etc/dhcp/dhcpd.conf"
diff --git a/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch b/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch
new file mode 100644
index 0000000000..579d72f484
--- /dev/null
+++ b/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch
@@ -0,0 +1,84 @@
+--- client/scripts/bsdos
++++ client/scripts/bsdos
+@@ -47,6 +47,11 @@
+ . /etc/dhcp/dhclient-exit-hooks
+ fi
+ # probably should do something with exit status of the local script
++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
++ dbus-send --system --dest=com.redhat.dhcp \
++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
++ fi
+ exit $exit_status
+ }
+
+--- client/scripts/freebsd
++++ client/scripts/freebsd
+@@ -57,6 +57,11 @@
+ . /etc/dhcp/dhclient-exit-hooks
+ fi
+ # probably should do something with exit status of the local script
++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
++ dbus-send --system --dest=com.redhat.dhcp \
++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
++ fi
+ exit $exit_status
+ }
+
+--- client/scripts/linux
++++ client/scripts/linux
+@@ -69,6 +69,11 @@
+ . /etc/dhcp/dhclient-exit-hooks
+ fi
+ # probably should do something with exit status of the local script
++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
++ dbus-send --system --dest=com.redhat.dhcp \
++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
++ fi
+ exit $exit_status
+ }
+
+--- client/scripts/netbsd
++++ client/scripts/netbsd
+@@ -47,6 +47,11 @@
+ . /etc/dhcp/dhclient-exit-hooks
+ fi
+ # probably should do something with exit status of the local script
++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
++ dbus-send --system --dest=com.redhat.dhcp \
++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
++ fi
+ exit $exit_status
+ }
+
+--- client/scripts/openbsd
++++ client/scripts/openbsd
+@@ -47,6 +47,11 @@
+ . /etc/dhcp/dhclient-exit-hooks
+ fi
+ # probably should do something with exit status of the local script
++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
++ dbus-send --system --dest=com.redhat.dhcp \
++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
++ fi
+ exit $exit_status
+ }
+
+--- client/scripts/solaris
++++ client/scripts/solaris
+@@ -47,6 +47,11 @@
+ . /etc/dhcp/dhclient-exit-hooks
+ fi
+ # probably should do something with exit status of the local script
++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
++ dbus-send --system --dest=com.redhat.dhcp \
++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
++ fi
+ exit $exit_status
+ }
+
diff --git a/packages/diffutils/diffutils_2.8.1.bb b/packages/diffutils/diffutils_2.8.1.bb
index e8de2cad62..a0a7b7dad9 100644
--- a/packages/diffutils/diffutils_2.8.1.bb
+++ b/packages/diffutils/diffutils_2.8.1.bb
@@ -3,11 +3,11 @@ LICENSE = "GPL"
DESCRIPTION = "Diffutils contains the GNU diff, diff3, \
sdiff, and cmp utilities. These programs are usually \
used for creating patch files."
-PR = "r1"
+PR = "r2"
SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz"
-inherit autotools
+inherit autotools update-alternatives
# diffutils assumes non-glibc compilation with uclibc and
# this causes it to generate its own implementations of
@@ -15,3 +15,11 @@ inherit autotools
# because it uses __mempcpy, there are other things (TBD:
# see diffutils.mk in buildroot)
EXTRA_OECONF_linux-uclibc = "--without-included-regex"
+
+do_install_append () {
+ mv ${D}${bindir}/diff ${D}${bindir}/diff.${PN}
+}
+
+ALTERNATIVE_NAME = "diff"
+ALTERNATIVE_PATH = "diff.${PN}"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/packages/eventlog/eventlog_0.2.5.bb b/packages/eventlog/eventlog_0.2.5.bb
index 39766cc834..910e70164d 100644
--- a/packages/eventlog/eventlog_0.2.5.bb
+++ b/packages/eventlog/eventlog_0.2.5.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Replacement syslog API"
LICENSE = "BSD"
PR = "r0"
-SRC_URI = "http://www.balabit.com/downloads/syslog-ng/2.0/src/${PN}-${PV}.tar.gz"
+SRC_URI = "http://www.balabit.com/downloads/syslog-ng/2.0/src/${P}.tar.gz"
inherit autotools
diff --git a/packages/expat/expat_2.0.0.bb b/packages/expat/expat_2.0.0.bb
index 56ffea86dd..4f98d3cde9 100644
--- a/packages/expat/expat_2.0.0.bb
+++ b/packages/expat/expat_2.0.0.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Jim Clarkes XML parser library."
HOMEPAGE = "http://expat.sourceforge.net/"
SECTION = "libs"
LICENSE = "MIT"
-PR = "r1"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.gz \
file://autotools.patch;patch=1"
diff --git a/packages/fakeroot/fakeroot_1.2.13.bb b/packages/fakeroot/fakeroot_1.2.13.bb
index 6867a39c93..e29cf162b4 100644
--- a/packages/fakeroot/fakeroot_1.2.13.bb
+++ b/packages/fakeroot/fakeroot_1.2.13.bb
@@ -1,14 +1,17 @@
DESCRIPTION = "Gives a fake root environment"
-SECTION = "base"
HOMEPAGE = "http://joostje.op.het.net/fakeroot/index.html"
+SECTION = "base"
LICENSE = "GPL"
+# fakeroot needs getopt which is provided by the util-linux package
+RDEPENDS = "util-linux"
+PR = "r1"
SRC_URI = "http://openzaurus.org/mirror/fakeroot_${PV}.tar.gz"
inherit autotools
do_stage() {
- install -d ${STAGING_INCDIR}/fakeroot
- install -m 644 *.h ${STAGING_INCDIR}/fakeroot
- autotools_stage_all
+ install -d ${STAGING_INCDIR}/fakeroot
+ install -m 644 *.h ${STAGING_INCDIR}/fakeroot
+ autotools_stage_all
}
diff --git a/packages/findutils/findutils_4.1.20.bb b/packages/findutils/findutils_4.1.20.bb
index e633b6d405..0ea93f44d3 100644
--- a/packages/findutils/findutils_4.1.20.bb
+++ b/packages/findutils/findutils_4.1.20.bb
@@ -1,7 +1,7 @@
SECTION = "console/utils"
LICENSE = "GPL"
DESCRIPTION = "find, locate, and xargs binaries."
-PR = "r2"
+PR = "r3"
SRC_URI = "ftp://alpha.gnu.org/gnu/findutils/findutils-${PV}.tar.gz \
file://configure.patch;patch=1 \
@@ -15,3 +15,16 @@ inherit autotools gettext
# because it uses __mempcpy, there are other things (TBD:
# see diffutils.mk in buildroot)
EXTRA_OECONF_linux-uclibc = "--without-included-regex"
+
+do_install_append () {
+ mv ${D}${bindir}/find ${D}${bindir}/find.${PN}
+ mv ${D}${bindir}/xargs ${D}${bindir}/xargs.${PN}
+}
+
+pkg_postinst_${PN} () {
+ for i in find xargs; do update-alternatives --install ${bindir}/$i $i $i.${PN} 100; done
+}
+
+pkg_prerm_${PN} () {
+ for i in find xargs; do update-alternatives --remove $i $i.${PN}; done
+}
diff --git a/packages/flex/flex.inc b/packages/flex/flex.inc
index d6affad226..048b3cb47d 100644
--- a/packages/flex/flex.inc
+++ b/packages/flex/flex.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Flex is a tool for generating programs that recognize lexical pat
SECTION = "devel"
LICENSE = "BSD"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lex/flex-2.5.31.tar.bz2 \
+SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-2.5.31.tar.bz2 \
file://flex-lvalue.diff;patch=1 \
file://fix-gen.patch;patch=1"
S = "${WORKDIR}/flex-${PV}"
diff --git a/packages/fltk/fltk-1.2+cvs20040806/autotools.patch b/packages/fltk/fltk-1.2+cvs20040806/autotools.patch
deleted file mode 100644
index 4af71d5537..0000000000
--- a/packages/fltk/fltk-1.2+cvs20040806/autotools.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-Index: configure.in
-===================================================================
-RCS file: /cvsroot/fltk/fltk/configure.in,v
-retrieving revision 1.33.2.31.2.91.2.18
-diff -u -r1.33.2.31.2.91.2.18 configure.in
---- fltk.orig/configure.in 23 Jul 2004 19:42:50 -0000 1.33.2.31.2.91.2.18
-+++ fltk/configure.in 7 Aug 2004 14:11:39 -0000
-@@ -276,7 +276,9 @@
-
- dnl How do we make libraries?
- AC_PROG_RANLIB
--AC_PATH_PROG(AR, ar)
-+if test "x$AR" = "x:"; then
-+ AC_PATH_PROG(AR, ar)
-+fi
-
- if test "x$AR" = "x:"; then
- AC_MSG_ERROR(Configure could not find the library archiver, aborting.)
-@@ -293,6 +295,9 @@
- dnl Architecture checks...
- AC_C_BIGENDIAN
-
-+AH_TEMPLATE([U16], [Define U16 type])
-+AH_TEMPLATE([U32], [Define U32 type])
-+AH_TEMPLATE([U64], [Define U64 type])
- AC_CHECK_SIZEOF(short, 2)
- AC_CHECK_SIZEOF(int, 4)
- AC_CHECK_SIZEOF(long, 4)
-@@ -335,15 +340,18 @@
- fi
-
- dnl Standard headers and functions...
-+AH_TEMPLATE([HAVE_SYS_SELECT_H], [Define if system provides select.h])
- AC_HEADER_DIRENT
- AC_CHECK_HEADER(sys/select.h,AC_DEFINE(HAVE_SYS_SELECT_H))
- AC_CHECK_HEADER(sys/stdtypes.h,AC_DEFINE(HAVE_SYS_SELECT_H))
-+AH_TEMPLATE([HAVE_SCANDIR], [DOCUMENT_ME])
- AC_CHECK_FUNC(scandir,
- if test "x$uname" = xSunOS -o "x$uname" = xQNX; then
- AC_MSG_WARN(Not using $uname scandir emulation function.)
- else
- AC_DEFINE(HAVE_SCANDIR)
- fi)
-+AH_TEMPLATE([HAVE_VSNPRINTF], [Define to use system vsnprintf])
- AC_CHECK_FUNC(vsnprintf,[
- case "$uname" in
- HP-UX*)
-@@ -366,6 +374,7 @@
- AC_DEFINE(HAVE_VSNPRINTF)
- ;;
- esac])
-+AH_TEMPLATE([HAVE_SNPRINTF], [Define to use system snprintf])
- AC_CHECK_FUNC(snprintf,[
- case "$uname" in
- HP-UX*)
-@@ -433,6 +442,7 @@
- ac_cv_lib_png_png_set_tRNS_to_alpha=no
- fi])
-
-+AH_TEMPLATE([HAVE_PNG_H], [DOCUMENT_ME])
- AC_CHECK_LIB(png,png_set_tRNS_to_alpha, [
- PNGINC=""
- PNG=""
-@@ -450,6 +460,9 @@
- AC_SUBST(ZLIB)
- AC_SUBST(ZLIBINC)
-
-+AH_TEMPLATE([HAVE_LIBJPEG], [DOCUMENT_ME])
-+AH_TEMPLATE([HAVE_LIBPNG], [DOCUMENT_ME])
-+AH_TEMPLATE([HAVE_LIBZ], [DOCUMENT_ME])
- AC_DEFINE(HAVE_LIBJPEG)
- AC_DEFINE(HAVE_LIBPNG)
- AC_DEFINE(HAVE_LIBZ)
-@@ -461,6 +474,7 @@
- AC_EXEEXT
-
- dnl Check for pthreads for multi-threaded apps...
-+AH_TEMPLATE([HAVE_PTHREAD_H], [DOCUMENT_ME])
- have_pthread=no
-
- if test "x$enable_threads" = xyes; then
-@@ -493,6 +507,12 @@
-
- AC_ARG_WITH(links, [ --with-links make header links for common misspellings])
-
-+AH_TEMPLATE([HAVE_GL], [DOCUMENT_ME])
-+AH_TEMPLATE([HAVE_GL_GLU_H], [DOCUMENT_ME])
-+AH_TEMPLATE([HAVE_PTHREAD], [DOCUMENT_ME])
-+AH_TEMPLATE([USE_XFT], [DOCUMENT_ME])
-+AH_TEMPLATE([HAVE_XDBE], [DOCUMENT_ME])
-+AH_TEMPLATE([HAVE_OVERLAY], [DOCUMENT_ME])
- case $uname in
- CYGWIN* | MINGW*)
- dnl Cygwin environment...
-@@ -921,6 +941,7 @@
- OPTIM="$DEBUGFLAG $OPTIM"
-
- dnl Define the FLTK documentation directory...
-+AH_TEMPLATE([FLTK_DOCDIR], [Define the FLTK documentation directory])
- if test x$prefix = xNONE; then
- AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "/usr/local/share/doc/fltk")
- else
-@@ -928,12 +949,52 @@
- fi
-
- dnl Define the FLTK data directory...
-+AH_TEMPLATE([FLTK_DATADIR], [Define the FLTK data directory])
- if test x$prefix = xNONE; then
- AC_DEFINE_UNQUOTED(FLTK_DATADIR, "/usr/local/share/fltk")
- else
- AC_DEFINE_UNQUOTED(FLTK_DATADIR, "$prefix/share/fltk")
- fi
-
-+AH_VERBATIM([BORDER_WIDTH],
-+[/* Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
-+ * supported.
-+ *
-+ * 3 is the historic FLTK look.
-+ * 2 is the default and looks like Microsoft Windows, KDE, and Qt.
-+ * 1 is a plausible future evolution...
-+ *
-+ * Note that this may be simulated at runtime by redefining the boxtypes
-+ * using Fl::set_boxtype(). */
-+#ifndef BORDER_WIDTH
-+# define BORDER_WIDTH 2
-+#endif])
-+
-+AH_VERBATIM([USE_COLORMAP],
-+[/* Setting this to zero will save a good deal of code (especially for
-+ * fl_draw_image), but FLTK will only work on TrueColor visuals. */
-+#ifndef USE_COLORMAP
-+# define USE_COLORMAP 1
-+#endif])
-+
-+AH_VERBATIM([USE_XDBE],
-+[/* Actually try to use the double-buffer extension? */
-+#ifndef USE_XDBE
-+# define USE_XDBE HAVE_XDBE
-+#endif])
-+
-+AH_VERBATIM([WORDS_BIGENDIAN],
-+[/* Byte order of your machine: 1 = big-endian, 0 = little-endian */
-+#ifndef WORDS_BIGENDIAN
-+# define WORDS_BIGENDIAN 0
-+#endif])
-+
-+AH_VERBATIM([USE_POLL],
-+[/* Use the poll() call provided on Linux and Irix instead of select() */
-+#ifndef USE_POLL
-+# define USE_POLL 0
-+#endif])
-+
- dnl Write all of the files...
- AC_CONFIG_HEADER(config.h:configh.in)
- AC_OUTPUT(makeinclude fltk.list fltk-config FL/Makefile)
diff --git a/packages/fltk/fltk-1.2+cvs20040806/makefiles.patch b/packages/fltk/fltk-1.2+cvs20040806/makefiles.patch
deleted file mode 100644
index 3a4b7b0322..0000000000
--- a/packages/fltk/fltk-1.2+cvs20040806/makefiles.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: Makefile
-===================================================================
-RCS file: /cvsroot/fltk/fltk/Makefile,v
-retrieving revision 1.12.2.6.2.14.2.7
-diff -u -r1.12.2.6.2.14.2.7 Makefile
---- fltk.orig/Makefile 6 Jul 2004 00:22:49 -0000 1.12.2.6.2.14.2.7
-+++ fltk/Makefile 7 Aug 2004 13:20:20 -0000
-@@ -33,7 +33,7 @@
- all: makeinclude
- for dir in $(DIRS); do\
- echo "=== making $$dir ===";\
-- (cd $$dir; $(MAKE) $(MFLAGS)) || break;\
-+ cd $$dir; $(MAKE) $(MFLAGS);\
- done
-
- install: makeinclude
-Index: makeinclude.in
-===================================================================
-RCS file: /cvsroot/fltk/fltk/makeinclude.in,v
-retrieving revision 1.7.2.11.2.23.2.11
-diff -u -r1.7.2.11.2.23.2.11 makeinclude.in
---- fltk.orig/makeinclude.in 28 Jul 2004 05:25:35 -0000 1.7.2.11.2.23.2.11
-+++ fltk/makeinclude.in 7 Aug 2004 14:46:12 -0000
-@@ -109,9 +109,9 @@
- POSTBUILD = @POSTBUILD@
-
- # DSO version information...
--FL_DSO_MAJOR = @FL_DSO_MAJOR
--FL_DSO_MINOR = @FL_DSO_MINOR
--FL_DSO_VERSION = @FL_DSO_VERSION
-+FL_DSO_MAJOR = @FL_DSO_MAJOR@
-+FL_DSO_MINOR = @FL_DSO_MINOR@
-+FL_DSO_VERSION = @FL_DSO_VERSION@
-
- # Man page extensions...
- CAT1EXT = @CAT1EXT@
diff --git a/packages/fltk/fltk_1.1.7.bb b/packages/fltk/fltk_1.1.7.bb
new file mode 100644
index 0000000000..10b68ef017
--- /dev/null
+++ b/packages/fltk/fltk_1.1.7.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "FLTK is a cross-platform C++ GUI toolkit"
+HOMEPAGE = "http://www.fltk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+DEPENDS = "jpeg libpng zlib"
+
+SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fltk-${PV}-source.tar.bz2"
+
+S = "${WORKDIR}/fltk-${PV}"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = "--enable-shared --disable-gl --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}"
+
+do_configure() {
+ oe_runconf
+}
+
+do_install () {
+ oe_runmake prefix="${D}${prefix}" \
+ bindir="${D}${bindir}" \
+ libdir="${D}${libdir}" \
+ includedir="${D}${includedir}" \
+ install
+}
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libfltk${PV}', d)
+}
+
+LEAD_SONAME = "libfltk.so"
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += " ${bindir}/fltk-config"
diff --git a/packages/fltk/fltk_1.2+cvs20040806.bb b/packages/fltk/fltk_1.2+cvs20040806.bb
deleted file mode 100644
index a0a9cc565a..0000000000
--- a/packages/fltk/fltk_1.2+cvs20040806.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "FLTK is a cross-platform C++ GUI toolkit"
-LICENSE ="LGPL"
-HOMEPAGE = "http://www.fltk.org"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "jpeg libpng zlib"
-PR = "r2"
-
-SRC_URI = "cvs://anonymous:@cvs.sourceforge.net/cvsroot/fltk;module=fltk;method=pserver;tag=v1_2;date=${@bb.data.getVar('PV', d, 1)[7:]} \
- file://makefiles.patch;patch=1 \
- file://autotools.patch;patch=1"
-S="${WORKDIR}/fltk"
-
-inherit autotools binconfig
-
-do_configure_prepend() {
- autoconf
-}
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += " ${bindir}/fltk-config"
-LEAD_SONAME = "libfltk.so"
-
-EXTRA_OECONF = "--enable-shared --disable-gl"
-
-do_install () {
- oe_runmake prefix="${D}${prefix}" \
- bindir="${D}${bindir}" \
- libdir="${D}${libdir}" \
- includedir="${D}${includedir}" \
- install
-}
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
-
-python populate_packages_prepend () {
- if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
- bb.data.setVar('PKG_${PN}', 'libfltk1.2', d)
-}
diff --git a/packages/fluxbox/fluxbox_svn.bb b/packages/fluxbox/fluxbox_svn.bb
new file mode 100644
index 0000000000..56e799a272
--- /dev/null
+++ b/packages/fluxbox/fluxbox_svn.bb
@@ -0,0 +1,96 @@
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
+# License: MIT (see http://www.opensource.org/licenses/mit-license.php for a copy of the license)
+#
+# Filename: fluxbox-gpe_1.0rc.bb
+# Date: 01-Jul-06
+
+DESCRIPTION = "The Fluxbox WindowManager"
+HOMEPAGE = "http://fluxbox.sourceforge.net"
+LICENSE = "MIT"
+
+PV = "1.0+svn${SRCDATE}"
+PR = "r2"
+
+######################################################################################
+
+S = "${WORKDIR}/trunk"
+
+######################################################################################
+
+SRC_URI = "svn://svn.berlios.de/fluxbox;module=trunk \
+ file://gpe-init.patch;patch=1 \
+ file://apps.gpe.* \
+ file://style.gpe-default \
+ file://fluxbox-gpe-session \
+ file://fluxbox-gpe.session \
+ file://keys.* \
+ file://keylaunchrc.fluxbox \
+ file://gpe-logout.fluxbox"
+
+######################################################################################
+
+PACKAGES = "${PN}-gpe ${PN}-styles ${PN}-doc ${PN}"
+
+DESCRIPTION_${PN}-styles = "The default styles for fluxbox"
+DESCRIPTION_${PN}-gpe = "The Fluxbox WindowManager for use with GPE"
+RDEPENDS_${PN}-gpe = "${PN}"
+
+######################################################################################
+
+FILES_${PN} = "/usr/bin \
+ /usr/share/fluxbox/init \
+ /usr/share/fluxbox/keys \
+ /usr/share/fluxbox/menu "
+
+FILES_${PN}-gpe = "/usr/share/fluxbox/apps.gpe* \
+ /usr/share/fluxbox/keys.* \
+ /usr/bin/gpe-logout.fluxbox \
+ /etc/keylaunchrc.fluxbox \
+ /usr/share/fluxbox/styles/gpe-default \
+ /usr/share/fluxbox/session \
+ /usr/bin/fluxbox-gpe-session"
+
+FILES_${PN}-styles = "/usr/share/fluxbox/styles"
+
+FILES_${PN}-doc = "/usr/share/man"
+
+######################################################################################
+
+inherit autotools
+
+######################################################################################
+
+EXTRA_OECONF = "--disable-xmb \
+ "
+
+######################################################################################
+
+do_install_append() {
+ install -d ${D}/usr/bin
+ install -d ${D}/usr/share/fluxbox
+ install -d ${D}/usr/share/fluxbox/styles
+ install -d ${D}/etc
+
+ install -m 0644 ${WORKDIR}/apps.gpe.* ${D}/usr/share/fluxbox
+ install -m 0644 ${WORKDIR}/keys.* ${D}/usr/share/fluxbox
+ install -m 0755 ${WORKDIR}/fluxbox-gpe.session ${D}/usr/share/fluxbox/session
+ install -m 0644 ${WORKDIR}/style.gpe-default ${D}/usr/share/fluxbox/styles/gpe-default
+ install -m 0755 ${WORKDIR}/fluxbox-gpe-session ${D}/usr/bin
+ install -m 0755 ${WORKDIR}/gpe-logout.fluxbox ${D}/usr/bin
+ install -m 0644 ${WORKDIR}/keylaunchrc.fluxbox ${D}/etc
+}
+
+######################################################################################
+
+pkg_postinst_${PN}-gpe() {
+ update-alternatives --install /usr/bin/x-window-manager x-window-manager /usr/bin/fluxbox-gpe-session 15
+ update-alternatives --install /usr/bin/gpe-logout gpe-logout /usr/bin/gpe-logout.fluxbox 15
+ update-alternatives --install /etc/keylaunchrc keylaunchrc /etc/keylaunchrc.fluxbox 15
+}
+
+pkg_postrm_${PN}-gpe() {
+ update-alternatives --remove x-window-manager /usr/bin/fluxbox-gpe-session
+ update-alternatives --remove gpe-logout /usr/bin/gpe-logout.fluxbox
+ update-alternatives --remove keylaunchrc /etc/keylaunchrc.fluxbox
+}
diff --git a/packages/linux/handhelds-pxa-2.6/.mtn2git_empty b/packages/fsx-linux/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/.mtn2git_empty
+++ b/packages/fsx-linux/.mtn2git_empty
diff --git a/packages/fsx-linux/fsx-linux_0.0.bb b/packages/fsx-linux/fsx-linux_0.0.bb
new file mode 100644
index 0000000000..294af8fdfd
--- /dev/null
+++ b/packages/fsx-linux/fsx-linux_0.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Asynchronous I/O stress util"
+
+SRC_URI = "http://www.codemonkey.org.uk/projects/fsx/fsx-linux.c"
+
+S = "${WORKDIR}"
+
+do_compile() {
+
+ cd ${S} && ${CC} fsx-linux.c -o fsx-linux -I${STAGING_INCDIR} -L${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 fsx-linux ${D}${bindir}
+}
diff --git a/packages/gcc/gcc-cross-sdk_4.1.1.bb b/packages/gcc/gcc-cross-sdk_4.1.1.bb
new file mode 100644
index 0000000000..7233f79504
--- /dev/null
+++ b/packages/gcc/gcc-cross-sdk_4.1.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "devel"
+LICENSE = "GPL"
+require gcc_${PV}.bb
+PR = "r0"
+
+inherit sdk
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PACKAGES = "${PN}"
+
+require gcc4-build-sdk.inc
+require gcc-package-sdk.inc
diff --git a/packages/gcc/gcc-package-cross.inc b/packages/gcc/gcc-package-cross.inc
index ace8d01be4..71deca3744 100644
--- a/packages/gcc/gcc-package-cross.inc
+++ b/packages/gcc/gcc-package-cross.inc
@@ -74,7 +74,7 @@ do_install () {
# the packaging.
if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
- ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* || true
${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.*
fi
}
diff --git a/packages/gdb/gdb_6.4.bb b/packages/gdb/gdb_6.4.bb
index 588d847218..b32891d2c5 100644
--- a/packages/gdb/gdb_6.4.bb
+++ b/packages/gdb/gdb_6.4.bb
@@ -11,7 +11,7 @@ FILES_gdbserver = '${bindir}/gdbserver'
inherit autotools gettext
-SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.bz2 \
#FIXME: file://uclibc.patch;patch=1 \
file://kill_arm_map_symbols.patch;patch=1 \
file://gdbserver-cflags-last.diff;patch=1;pnum=0"
diff --git a/packages/glib-1.2/glib-1.2-native_1.2.10.bb b/packages/glib-1.2/glib-1.2-native_1.2.10.bb
index aa940ac268..74e562d47c 100644
--- a/packages/glib-1.2/glib-1.2-native_1.2.10.bb
+++ b/packages/glib-1.2/glib-1.2-native_1.2.10.bb
@@ -32,8 +32,8 @@ do_configure_prepend () {
do_stage () {
oe_libinstall -so libglib ${STAGING_LIBDIR}
- oe_libinstall -so -C gmodule libgmodule-1.2 ${STAGING_LIBDIR}
- oe_libinstall -so -C gthread libgthread-1.2 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread ${STAGING_LIBDIR}
autotools_stage_includes
install -d ${STAGING_INCDIR}/glib-1.2
install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-1.2/glibconfig.h
diff --git a/packages/glibc/glibc-package.bbclass b/packages/glibc/glibc-package.bbclass
index 162274b89f..fc527b292a 100644
--- a/packages/glibc/glibc-package.bbclass
+++ b/packages/glibc/glibc-package.bbclass
@@ -261,7 +261,7 @@ python package_do_split_gconvs () {
cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts)
bb.note("generating locale %s (%s)" % (locale, encoding))
if os.system(cmd):
- raise bb.build.FuncFailed("localedef returned an error.")
+ raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd)
def output_locale(name, locale, encoding):
use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1)
diff --git a/packages/glibc/glibc_2.4.bb b/packages/glibc/glibc_2.4.bb
index 45131eafad..dc844ea1d2 100644
--- a/packages/glibc/glibc_2.4.bb
+++ b/packages/glibc/glibc_2.4.bb
@@ -5,6 +5,10 @@ SECTION = "libs"
PRIORITY = "required"
PR = "r10"
+#add the hosts that are confirmed to be working to COMPATIBLE_HOSTi
+COMPATIBLE_HOST = '(i.86.*-linux|sh.*-linux)'
+DEFAULT_PREFERENCE_arm = "-1"
+
# the -isystem in bitbake.conf screws up glibc do_stage
BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
TARGET_CPPFLAGS = "-I${STAGING_DIR}/${TARGET_SYS}/include"
diff --git a/packages/glibc/glibc_2.5.bb b/packages/glibc/glibc_2.5.bb
index a76f177df1..0afadadb60 100644
--- a/packages/glibc/glibc_2.5.bb
+++ b/packages/glibc/glibc_2.5.bb
@@ -3,9 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
LICENSE = "LGPL"
SECTION = "libs"
PRIORITY = "required"
-PR = "r1"
-
-DEFAULT_PREFERENCE = "-1"
+PR = "r2"
# the -isystem in bitbake.conf screws up glibc do_stage
BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
@@ -103,6 +101,7 @@ do_munge() {
# quick way to get this cruft to compile
rm -rf ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
ln -s nptl ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
+ cp ${S}/nptl/sysdeps/pthread/bits/sigthread.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
cp ${S}/sysdeps/unix/sysv/linux/i386/bits/wchar.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
cp ${S}/sysdeps/wordsize-32/bits/wordsize.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
cp ${WORKDIR}/generic-bits_select.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/select.h
diff --git a/packages/glibmm/glibmm_2.8.4.bb b/packages/glibmm/glibmm_2.8.4.bb
index 84f42c99dd..a1235ae563 100644
--- a/packages/glibmm/glibmm_2.8.4.bb
+++ b/packages/glibmm/glibmm_2.8.4.bb
@@ -1,4 +1,3 @@
-DEFAULT_PREFERENCE = "-1"
DESCRIPTION = "C++ bindings for the glib library."
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
diff --git a/packages/gnome/goffice_0.3.2.bb b/packages/gnome/goffice_0.3.2.bb
new file mode 100644
index 0000000000..90586ffbd6
--- /dev/null
+++ b/packages/gnome/goffice_0.3.2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION="Gnome Office Library"
+LICENSE="GPLv2"
+PR="r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+DEPENDS="glib-2.0 gtk+ pango cairo libgnomeprint libgsf libglade libxml2 libart-lgpl"
+
+inherit gnome pkgconfig
+
+do_stage() {
+ gnome_stage_includes
+ oe_libinstall -so -C goffice libgoffice-0 ${STAGING_LIBDIR}
+}
+
+PACKAGES_DYNAMIC = "goffice-plugin-*"
+
+python populate_packages_prepend () {
+ goffice_libdir = bb.data.expand('${libdir}/goffice/${PV}/plugins', d)
+
+ do_split_packages(d, goffice_libdir, '(.*)', 'goffice-plugin-%s', 'Goffice plugin for %s', allow_dirs=True)
+}
+
diff --git a/packages/gnuz/gnuz-levelmaker-native_0.1.1.bb b/packages/gnuz/gnuz-levelmaker-native_0.1.1.bb
deleted file mode 100644
index 4fec8271b3..0000000000
--- a/packages/gnuz/gnuz-levelmaker-native_0.1.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Level maker for gnuZ"
-SECTION = "opie/games"
-PRIORITY = "optional"
-LICENSE = "GPL"
-AUTHOR = "Lukas Fraser"
-HOMEPAGE = "http://gnuz.4cows.net/eraser/gnuz/"
-DEPENDS = "qt-x11-free-native"
-
-SRC_URI = "http://gnuz.4cows.net/eraser/gnuz/gnuz-levelmaker_${PV}.tar.gz"
-
-S = "${WORKDIR}/gnuz_levelmaker"
-
-EXTRA_QMAKEVARS_POST += "LIBS+=-ldl CONFIG+=thread"
-
-inherit qmake qt3x11 native
-
-do_configure_prepend() {
-
- ${STAGING_BINDIR}/qmake -project
-}
-
-do_compile() {
-
-export OE_QMAKE_LINK="${CXX}"
- oe_runmake
-}
-
-do_stage() {
- install -m 0755 gnuz_levelmaker ${STAGING_BINDIR}/
-}
diff --git a/packages/gnuz/gnuz-package-native_0.1.bb b/packages/gnuz/gnuz-package-native_0.1.bb
deleted file mode 100644
index d67553a877..0000000000
--- a/packages/gnuz/gnuz-package-native_0.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Level maker for gnuZ"
-SECTION = "opie/games"
-PRIORITY = "optional"
-LICENSE = "GPL"
-AUTHOR = "Lukas Fraser"
-HOMEPAGE = "http://gnuz.4cows.net/eraser/gnuz/"
-DEPENDS = "qt-x11-free-native"
-
-SRC_URI = "http://gnuz.4cows.net/eraser/gnuz/gnuz-package_${PV}.tar.gz"
-
-S = "${WORKDIR}/gnuz_package"
-
-EXTRA_QMAKEVARS_POST += "LIBS+=-ldl CONFIG+=thread"
-
-inherit qmake qt3x11 native
-
-do_configure_prepend() {
-
- ${STAGING_BINDIR}/qmake -project
-}
-
-do_compile() {
-
-export OE_QMAKE_LINK="${CXX}"
- oe_runmake
-}
-
-do_stage() {
- install -m 0755 gnuz_package ${STAGING_BINDIR}/
-}
diff --git a/packages/gnuz/gnuz_0.3.bb b/packages/gnuz/gnuz_0.3.bb
deleted file mode 100644
index 476b9ff5a6..0000000000
--- a/packages/gnuz/gnuz_0.3.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "gnuZ is a Lemmings style game"
-SECTION = "opie/games"
-PRIORITY = "optional"
-LICENSE = "GPL"
-AUTHOR = "Lukas Fraser"
-HOMEPAGE = "http://gnuz.4cows.net/eraser/gnuz/"
-PR = "r2"
-
-APPTYPE = "binary"
-APPNAME = "gnuz"
-APPDESKTOP = "${S}/data/"
-
-SRC_URI = "http://gnuz.4cows.net/eraser/gnuz/gnuz_0.3.tar.gz \
- http://ewi546.ewi.utwente.nl/mirror/hrw-oe-sources/gnuz-levels-0.3-1.tar.bz2"
-
-S = "${WORKDIR}/gnuz"
-
-inherit opie
-
-do_install_append() {
-
- install -d ${D}${palmtopdir}/apps/Games \
- ${D}${palmtopdir}/pics \
- ${D}${palmtopdir}/share/gnuz/levels
-
- install -m 0644 data/gnuz.png ${D}${palmtopdir}/pics/
- install -m 0644 ${WORKDIR}/gnuz-levels/share/gnuz/levels/* ${D}${palmtopdir}/share/gnuz/levels/
- install -m 0644 ${WORKDIR}/gnuz-levels/share/gnuz/*images.dat ${D}${palmtopdir}/share/gnuz/
-}
diff --git a/packages/gpe-calendar/gpe-calendar_cvs.bb b/packages/gpe-calendar/gpe-calendar_svn.bb
index f93f9d1fae..d6a232b225 100644
--- a/packages/gpe-calendar/gpe-calendar_cvs.bb
+++ b/packages/gpe-calendar/gpe-calendar_svn.bb
@@ -7,13 +7,15 @@ LICENSE = "GPL"
DEPENDS = "libhandoff libsoup libeventdb libschedule libxsettings libxsettings-client libgpepimc libdisplaymigration libgpevtype"
RDEPENDS = "gpe-icons"
-PV = "0.73+cvs${SRCDATE}"
+inherit autotools gpe
+
+
+PV = "0.72+svn${SRCDATE}"
PR = "r0"
-SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}"
+SRC_URI = "${GPE_SVN}"
S = "${WORKDIR}/${PN}"
-inherit autotools gpe
PARALLEL_MAKE = ""
diff --git a/packages/gpe-conf/gpe-conf_cvs.bb b/packages/gpe-conf/gpe-conf_svn.bb
index 9825702ecb..e4675ecfae 100644
--- a/packages/gpe-conf/gpe-conf_cvs.bb
+++ b/packages/gpe-conf/gpe-conf_svn.bb
@@ -9,13 +9,14 @@ DEPENDS = "gtk+ libgpewidget libxsettings libxsettings-client pcmcia-cs xst xset
RDEPENDS_${PN} = "xst xset ipaq-sleep ntpdate gpe-login gpe-icons"
RDEPENDS_gpe-conf-panel = "gpe-conf"
-PV = "0.2.2+cvs${SRCDATE}"
+inherit autotools gpe
+
+PV = "0.2.2+svn${SRCDATE}"
PR = "r0"
-SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}"
+SRC_URI = "${GPE_SVN}"
S = "${WORKDIR}/${PN}"
-inherit autotools gpe
PACKAGES = "gpe-conf gpe-conf-panel"
diff --git a/packages/gpe-login/gpe-login_0.82.bb b/packages/gpe-login/gpe-login_0.82.bb
deleted file mode 100644
index 752d7e9200..0000000000
--- a/packages/gpe-login/gpe-login_0.82.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-LICENSE = "GPL"
-inherit gpe
-
-DESCRIPTION = "GPE user login screen"
-SECTION = "gpe"
-PRIORITY = "optional"
-DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd"
-RDEPENDS = "xkbd"
-RPROVIDES = "gpe-session-starter"
-PR = "r1"
-
-SRC_URI += "file://busybox-bad-perms.patch;patch=1"
diff --git a/packages/gpe-login/gpe-login_0.83.bb b/packages/gpe-login/gpe-login_0.83.bb
deleted file mode 100644
index 6e6a0092b6..0000000000
--- a/packages/gpe-login/gpe-login_0.83.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-LICENSE = "GPL"
-inherit gpe
-
-DESCRIPTION = "GPE user login screen"
-SECTION = "gpe"
-PRIORITY = "optional"
-DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd"
-RDEPENDS = "xkbd"
-RPROVIDES = "gpe-session-starter"
-PR = "r1"
-
-SRC_URI += "file://busybox-bad-perms.patch;patch=1"
-
-#apply a patch to set the fontsize for bigdpi (200+) devices to 5
-SRC_URI_append_ipaq-pxa270 = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_spitz = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_akita = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_c7x0 = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_nokia770 = " file://highdpifontfix.patch;patch=1"
-
diff --git a/packages/gpe-login/gpe-login_0.86.bb b/packages/gpe-login/gpe-login_0.86.bb
deleted file mode 100644
index 1dd6818903..0000000000
--- a/packages/gpe-login/gpe-login_0.86.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-LICENSE = "GPL"
-inherit gpe
-
-DESCRIPTION = "GPE user login screen"
-SECTION = "gpe"
-PRIORITY = "optional"
-DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd"
-RDEPENDS = "xkbd"
-RPROVIDES = "gpe-session-starter"
-PR = "r1"
-
-#apply a patch to set the fontsize for bigdpi (200+) devices to 5
-SRC_URI_append_ipaq-pxa270 = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_spitz = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_akita = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_c7x0 = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_nokia770 = " file://highdpifontfix.patch;patch=1"
-
-SRC_URI_append += " file://chvt-keylaunch.patch;patch=1 "
diff --git a/packages/linux/handhelds-pxa-2.6/h2200/.mtn2git_empty b/packages/gpe-scap/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/h2200/.mtn2git_empty
+++ b/packages/gpe-scap/.mtn2git_empty
diff --git a/packages/gpe-screenshot/gpe-screenshot_0.4.bb b/packages/gpe-scap/gpe-scap_1.0.bb
index ce31febc3d..6f0c7746ef 100644
--- a/packages/gpe-screenshot/gpe-screenshot_0.4.bb
+++ b/packages/gpe-scap/gpe-scap_1.0.bb
@@ -2,10 +2,13 @@ DESCRIPTION = "GPE screenshot application"
LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "gpe"
-PR = "r1"
+PR = "r0"
+
+RREPLACES = "gpe-screenshot"
DEPENDS = "glib-2.0 gtk+ libglade"
+GPE_TARBALL_SUFFIX = "bz2"
+
inherit gpe autotools
-SRC_URI += "file://fix-segfault.patch;patch=1;pnum=0 "
diff --git a/packages/gpe-screenshot/files/fix-segfault.patch b/packages/gpe-screenshot/files/fix-segfault.patch
deleted file mode 100644
index dc185a9b51..0000000000
--- a/packages/gpe-screenshot/files/fix-segfault.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: src/gpe-screenshot.c
-===================================================================
-RCS file: /cvs/gpe/base/gpe-screenshot/src/gpe-screenshot.c,v
-retrieving revision 1.1
-retrieving revision 1.2
-diff -u -r1.1 -r1.2
---- src/gpe-screenshot.c 1 Nov 2005 20:54:38 -0000 1.1
-+++ src/gpe-screenshot.c 10 Aug 2006 15:07:21 -0000 1.2
-@@ -334,10 +334,9 @@
- {
- GtkWidget *icon = gtk_image_new_from_stock (GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_BUTTON);
-
-- g_object_set (mainDlg->ok_button, "use-stock", FALSE);
-- g_object_set (mainDlg->ok_button, "use-underline", TRUE);
-- g_object_set (mainDlg->ok_button, "label", "_Upload");
-- g_object_set (mainDlg->ok_button, "image", GTK_WIDGET (icon));
-+ gtk_button_set_use_stock (mainDlg->ok_button, FALSE);
-+ gtk_button_set_label (mainDlg->ok_button, "_Upload");
-+ gtk_button_set_image (mainDlg->ok_button, icon);
-
- gtk_widget_set_sensitive (GTK_WIDGET (mainDlg->entry), FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (mainDlg->browse_button), FALSE);
-@@ -347,10 +346,9 @@
- GtkWidget *icon = gtk_image_new_from_stock (GTK_STOCK_SAVE, GTK_ICON_SIZE_BUTTON);
-
- /* for some odd reason use-stock doesn't have any effect. set the image manually...*/
-- g_object_set (mainDlg->ok_button, "use-stock", TRUE);
-- g_object_set (mainDlg->ok_button, "use-underline", TRUE);
-- g_object_set (mainDlg->ok_button, "label", GTK_STOCK_SAVE);
-- g_object_set (mainDlg->ok_button, "image", GTK_WIDGET (icon));
-+ gtk_button_set_label (mainDlg->ok_button, GTK_STOCK_SAVE);
-+ gtk_button_set_use_stock (mainDlg->ok_button, TRUE);
-+ gtk_button_set_image (mainDlg->ok_button, icon);
-
- gtk_widget_set_sensitive (GTK_WIDGET (mainDlg->entry), TRUE);
- gtk_widget_set_sensitive (GTK_WIDGET (mainDlg->browse_button), TRUE);
diff --git a/packages/gpe-session-scripts/files/change-default-applets.patch b/packages/gpe-session-scripts/files/change-default-applets.patch
deleted file mode 100644
index 04b1fe144c..0000000000
--- a/packages/gpe-session-scripts/files/change-default-applets.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -urNd ../gpe-session-scripts-0.61-r4/gpe-session-scripts-0.61/standard.mbdock gpe-session-scripts-0.61/standard.mbdock
---- ../gpe-session-scripts-0.61-r4/gpe-session-scripts-0.61/standard.mbdock 2004-02-14 20:00:02.000000000 +0000
-+++ gpe-session-scripts-0.61/standard.mbdock 2004-09-16 11:26:19.000000000 +0100
-@@ -1,11 +1,11 @@
- mb-applet-menu-launcher
- mbinputmgr
- xstroke
--minivol
--minilite
--minibat
-
- gpe-clock
-+mb-applet-battery
-+mb-applet-launcher -na -l --title 'Screen Rotator' /usr/share/pixmaps/xrandr.png xrandr-panelapp.sh
- gpe-auto-bluetooth
- gpe-what
-+minilite
-
diff --git a/packages/gpe-session-scripts/files/change-default-xsettings.patch b/packages/gpe-session-scripts/files/change-default-xsettings.patch
deleted file mode 100644
index a41afe79d5..0000000000
--- a/packages/gpe-session-scripts/files/change-default-xsettings.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- gpe-session-scripts-0.62/X11/xsettings.default.old 2005-04-05 23:50:57 +01:00
-+++ gpe-session-scripts-0.62/X11/xsettings.default 2005-04-05 23:56:38 +01:00
-@@ -1,5 +1,6 @@
--Gtk/FontName:S:Sans 8
--Net/ThemeName:S:Angelistic
-+Gtk/FontName:S:Sans 7
-+MATCHBOX/Desktop/Font:S:Sans 7
-+Net/ThemeName:S:Default
- Gtk/IconSizes:S:gtk-dialog=30,30:gtk-button=16,16
--Gtk/ToolbarIconSize:I:2
-+Gtk/ToolbarIconSize:I:1
- Gtk/ToolbarStyle:I:2
diff --git a/packages/gpe-session-scripts/files/remove-x11-common-files.patch b/packages/gpe-session-scripts/files/remove-x11-common-files.patch
deleted file mode 100644
index 4ae13cba80..0000000000
--- a/packages/gpe-session-scripts/files/remove-x11-common-files.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -Nur gpe-session-scripts-0.63~/Makefile gpe-session-scripts-0.63/Makefile
---- gpe-session-scripts-0.63~/Makefile 2005-08-23 15:10:25.000000000 -0700
-+++ gpe-session-scripts-0.63/Makefile 2005-08-23 15:08:40.000000000 -0700
-@@ -23,13 +23,14 @@
- all:
-
- install-program: gpe-logout.desktop
-- for i in X11/Xsession.d X11/Xinit.d; do install -d $(DESTDIR)/etc/$$i; FILES=`echo $$i/* | sed "s:$$i/CVS::"`; install -m 755 $$FILES $(DESTDIR)/etc/$$i/; done
-+ install -d $(DESTDIR)/etc/X11/Xsession.d
-+ install -m 755 X11/Xsession.d/99xWindowManager $(DESTDIR)/etc/X11/Xsession.d
-+ install -m 755 X11/Xsession.d/98standard-apps $(DESTDIR)/etc/X11/Xsession.d
- install -d $(DESTDIR)$(PREFIX)/bin
- install -m 755 gpe-xcalibrate.sh $(DESTDIR)$(PREFIX)/bin/gpe-xcalibrate.sh
- install -d $(DESTDIR)/etc/gpe
- install -m 644 X11/xsettings.default $(DESTDIR)/etc/gpe/
- install -m 644 standard.mbdock $(DESTDIR)/etc/gpe/gpe.mbdock
-- install -m 644 X11/Xdefaults $(DESTDIR)/etc/X11/
- mkdir -p $(DESTDIR)$(PREFIX)/share/pixmaps
- install -m 644 gpe-logout.png $(DESTDIR)$(PREFIX)/share/pixmaps
- mkdir -p $(DESTDIR)$(PREFIX)/share/applications
diff --git a/packages/gpe-session-scripts/files/xdefaults.patch b/packages/gpe-session-scripts/files/xdefaults.patch
deleted file mode 100644
index 9fe291bb8d..0000000000
--- a/packages/gpe-session-scripts/files/xdefaults.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- gpe-session-scripts-0.62/X11/Xdefaults.old 2004-11-26 23:40:15.000000000 +0000
-+++ gpe-session-scripts-0.62/X11/Xdefaults 2004-11-26 23:40:17.000000000 +0000
-@@ -1,2 +1,3 @@
- Rxvt*scrollBar_right: true
--Rxvt*font: Mono-6
-+Rxvt*font: xft:Mono:pixelsize=9
-+
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.61.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.61.bb
deleted file mode 100644
index 9cb6937b87..0000000000
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.61.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-LICENSE = "GPL"
-PR = "r6"
-
-inherit gpe
-
-DESCRIPTION = "GPE session startup scripts"
-SECTION = "gpe"
-PRIORITY = "optional"
-RDEPENDS = "matchbox gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr"
-# more rdepends: keylaunch ipaq-sleep apmd blueprobe
-DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr"
-
-SRC_URI += "file://change-default-applets.patch;patch=1"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then
- echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar
- fi
-}
-
-# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.62.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.62.bb
deleted file mode 100644
index 752bcb9ac1..0000000000
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.62.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-LICENSE = "GPL"
-PR = "r14"
-
-inherit gpe
-
-DESCRIPTION = "GPE session startup scripts"
-SECTION = "gpe"
-PRIORITY = "optional"
-RDEPENDS_${PN} = "matchbox gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo"
-# more rdepends: keylaunch ipaq-sleep apmd blueprobe
-DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo"
-
-SRC_URI += "file://zaurus.sh \
- file://keymap.sh \
- file://change-default-applets.patch;patch=1 \
- file://xdefaults.patch;patch=1 \
- file://matchbox-session \
- file://shepherd.xmodmap file://simpad.xmodmap \
- file://collie.xmodmap \
- file://disable-composite.xsettings \
- file://change-default-xsettings.patch;patch=1"
-
-do_install_append() {
- install ${WORKDIR}/zaurus.sh ${D}${sysconfdir}/X11/Xinit.d/11zaurus
- install ${WORKDIR}/keymap.sh ${D}${sysconfdir}/X11/Xinit.d/12keymap
- for m in simpad shepherd collie; do
- install -m 0644 ${WORKDIR}/$m.xmodmap ${D}${sysconfdir}/X11/
- done
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then
- echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar
- fi
- install -d ${D}${sysconfdir}/matchbox
- install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session
-
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- install -m 0644 ${WORKDIR}/disable-composite.xsettings ${D}${sysconfdir}/gpe/xsettings-default.d/disable-composite
-}
-
-# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.63.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.63.bb
deleted file mode 100644
index d593f6fbc9..0000000000
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.63.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-LICENSE = "GPL"
-PR = "r17"
-
-inherit gpe
-
-DESCRIPTION = "GPE session startup scripts"
-SECTION = "gpe"
-PRIORITY = "optional"
-RDEPENDS_${PN} = "matchbox gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common"
-# more rdepends: keylaunch ipaq-sleep apmd blueprobe
-DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo xserver-common"
-
-SRC_URI += "file://matchbox-session \
- file://disable-composite.xsettings \
- file://remove-x11-common-files.patch;patch=1"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then
- echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar
- fi
- install -d ${D}${sysconfdir}/matchbox
- install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session
-
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- install -m 0644 ${WORKDIR}/disable-composite.xsettings ${D}${sysconfdir}/gpe/xsettings-default.d/disable-composite
-}
-
-# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.64.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.64.bb
deleted file mode 100644
index 2ba0641ceb..0000000000
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.64.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-LICENSE = "GPL"
-PR = "r1"
-
-inherit gpe
-
-DESCRIPTION = "GPE session startup scripts"
-SECTION = "gpe"
-PRIORITY = "optional"
-RDEPENDS_${PN} = "matchbox gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common"
-# more rdepends: keylaunch ipaq-sleep apmd blueprobe
-DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo xserver-common"
-
-SRC_URI += "file://matchbox-session \
- file://disable-composite.xsettings \
- file://remove-x11-common-files.patch;patch=1"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then
- echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar
- fi
- install -d ${D}${sysconfdir}/matchbox
- install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session
-
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- install -m 0644 ${WORKDIR}/disable-composite.xsettings ${D}${sysconfdir}/gpe/xsettings-default.d/disable-composite
-}
-
-# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.65.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.65.bb
deleted file mode 100644
index ce8d627179..0000000000
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.65.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-LICENSE = "GPL"
-PR = "r0"
-
-inherit gpe
-
-DESCRIPTION = "GPE session startup scripts"
-SECTION = "gpe"
-PRIORITY = "optional"
-RDEPENDS_${PN} = "matchbox gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common"
-# more rdepends: keylaunch ipaq-sleep apmd blueprobe
-DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo xserver-common"
-
-SRC_URI += "file://matchbox-session \
- file://disable-composite.xsettings"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then
- echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar
- fi
- install -d ${D}${sysconfdir}/matchbox
- install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session
-
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- install -m 0644 ${WORKDIR}/disable-composite.xsettings ${D}${sysconfdir}/gpe/xsettings-default.d/disable-composite
-}
-
-# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.66.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.66.bb
deleted file mode 100644
index 0eb706b29b..0000000000
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.66.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-LICENSE = "GPL"
-PR = "r3"
-
-inherit gpe
-
-DESCRIPTION = "GPE session startup scripts"
-SECTION = "gpe"
-PRIORITY = "optional"
-RDEPENDS_${PN} = "matchbox matchbox-panel (>= 0.9.2-r12) matchbox-desktop (>= 0.9.1-r1) matchbox-common (>= 0.9.1-r2) gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common"
-# more rdepends: keylaunch ipaq-sleep apmd blueprobe
-DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo xserver-common"
-
-SRC_URI += "file://matchbox-session \
- file://disable-composite.xsettings"
-
-#apply a patch to set the fontsize for bigdpi (200+) devices to 5
-SRC_URI_append_ipaq-pxa270 = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_spitz = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_akita = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_c7x0 = " file://highdpifontfix.patch;patch=1"
-SRC_URI_append_nokia770 = " file://highdpifontfix.patch;patch=1"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then
- echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar
- fi
- install -d ${D}${sysconfdir}/matchbox
- install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session
-
- install -d ${D}${sysconfdir}/gpe/xsettings-default.d
- install -m 0644 ${WORKDIR}/disable-composite.xsettings ${D}${sysconfdir}/gpe/xsettings-default.d/disable-composite
-}
-
-# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb
index f75ab216cd..f2e4a7ecc5 100644
--- a/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb
+++ b/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb
@@ -4,17 +4,17 @@ DESCRIPTION = "GPE session startup scripts"
LICENSE = "GPL"
SECTION = "gpe"
PRIORITY = "optional"
-RDEPENDS_${PN} = "matchbox matchbox-panel (>= 0.9.2-r12) matchbox-desktop (>= 0.9.1-r1) matchbox-common (>= 0.9.1-r2) gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common"
+RDEPENDS_${PN} = "matchbox-panel (>= 0.9.2-r12) matchbox-desktop (>= 0.9.1-r1) matchbox-common (>= 0.9.1-r2) gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common"
# more rdepends: keylaunch ipaq-sleep apmd blueprobe
DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo xserver-common"
SRC_URI += "file://matchbox-session \
file://disable-composite.xsettings"
-PR = "r1"
+PR = "r2"
#apply a patch to set the fontsize for bigdpi (200+) devices to 5
-SRC_URI_append_ipaq-pxa270 = " file://highdpifontfix.patch;patch=1"
+SRC_URI_append_hx4700 = " file://highdpifontfix.patch;patch=1"
SRC_URI_append_spitz = " file://highdpifontfix.patch;patch=1"
SRC_URI_append_akita = " file://highdpifontfix.patch;patch=1"
SRC_URI_append_c7x0 = " file://highdpifontfix.patch;patch=1"
diff --git a/packages/gpesyncd/gpesyncd_cvs.bb b/packages/gpesyncd/gpesyncd_svn.bb
index fe52b3ac95..f247a94837 100644
--- a/packages/gpesyncd/gpesyncd_cvs.bb
+++ b/packages/gpesyncd/gpesyncd_svn.bb
@@ -1,14 +1,12 @@
LICENSE = "GPL"
DESCRIPTION = "Sync daemon for GPE and OpenSync"
-
-SRC_URI = "${HANDHELDS_CVS};module=gpe/base/gpesyncd"
+SRC_URI = "${GPE_SVN}"
DEPENDS = "libgpevtype sqlite libmimedir glib-2.0"
S = "${WORKDIR}/${PN}"
-#Remove the dash below when 0.0 changes in PV
-PV = "0.0+cvs-${SRCDATE}"
+PV = "0.0+svn${SRCDATE}"
PR = "r0"
inherit autotools
diff --git a/packages/gpsd/gpsd_2.33.bb b/packages/gpsd/gpsd_2.33.bb
new file mode 100644
index 0000000000..f61c613eb8
--- /dev/null
+++ b/packages/gpsd/gpsd_2.33.bb
@@ -0,0 +1,5 @@
+require gpsd.inc
+
+DEPENDS = "ncurses"
+
+PR = "r0"
diff --git a/packages/linux/handhelds-pxa-2.6/h4000/.mtn2git_empty b/packages/granule/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/h4000/.mtn2git_empty
+++ b/packages/granule/.mtn2git_empty
diff --git a/packages/granule/granule_1.2.2.bb b/packages/granule/granule_1.2.2.bb
new file mode 100644
index 0000000000..95f440c274
--- /dev/null
+++ b/packages/granule/granule_1.2.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Generic memory training with flash cards. Automatic scheduling algorithm."
+AUTHOR = "Vladislav Grinchenko <vlg@users.sourceforge.net>"
+HOMEPAGE = "http://granule.sf.net"
+SECTION = "x11/apps"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS = "glib-2.0-native intltool-native gtkmm libxml2 libassa"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz"
+
+inherit autotools pkgconfig
diff --git a/packages/granule/libassa_3.4.2.bb b/packages/granule/libassa_3.4.2.bb
new file mode 100644
index 0000000000..0598a6f5c2
--- /dev/null
+++ b/packages/granule/libassa_3.4.2.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Object-oriented C++ networking library based on Adaptive Communication Patterns."
+AUTHOR = "Vladislav Grinchenko <vlg@users.sourceforge.net>"
+HOMEPAGE = "http://libassa.sf.net"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+PR = "r0"
+
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}-2.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/packages/linux/handhelds-pxa-2.6/h5xxx/.mtn2git_empty b/packages/grift/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/h5xxx/.mtn2git_empty
+++ b/packages/grift/.mtn2git_empty
diff --git a/packages/grift/ginspector_20050529.bb b/packages/grift/ginspector_20050529.bb
new file mode 100644
index 0000000000..fa9df50e23
--- /dev/null
+++ b/packages/grift/ginspector_20050529.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "g-inspector is a GObject/Glib/GTK+ inspection utility"
+HOMEPAGE = "http://sf.net/project/g-inspector"
+SECTION = "x11/devel"
+LICENSE = "BSD"
+DEPENDS = "glib-2.0 gtk+ glrr glrr-widgets"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/g-inspector/ginspector-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
+FILES_${PN} += "${libdir}/*/*/ginspector/*.so"
diff --git a/packages/grift/glrr-widgets_20050529.bb b/packages/grift/glrr-widgets_20050529.bb
new file mode 100644
index 0000000000..55cd017b9d
--- /dev/null
+++ b/packages/grift/glrr-widgets_20050529.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "gtk+ debug and inspection widgets"
+HOMEPAGE = "http://sf.net/project/grift"
+SECTION = "libs/devel"
+LICENSE = "BSD"
+DEPENDS = "glib-2.0 gtk+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/grift/glrr-widgets-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/grift/glrr_20050529.bb b/packages/grift/glrr_20050529.bb
new file mode 100644
index 0000000000..9b4ec407e8
--- /dev/null
+++ b/packages/grift/glrr_20050529.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "gobject, glib, gtk+ debug and inspection functions"
+HOMEPAGE = "http://sf.net/project/grift"
+SECTION = "libs/devel"
+LICENSE = "BSD"
+DEPENDS = "glib-2.0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/grift/glrr-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/grift/gtracer_0.0.10.bb b/packages/grift/gtracer_0.0.10.bb
new file mode 100644
index 0000000000..ea6bdb81a0
--- /dev/null
+++ b/packages/grift/gtracer_0.0.10.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "g-tracer is a gsignal run-time inspection and debugging utility"
+HOMEPAGE = "http://sf.net/project/gtracer"
+SECTION = "x11/devel"
+LICENSE = "BSD"
+DEPENDS = "glib-2.0 gtk+ intltool-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gtracer/gtracer-${PV}.tar.bz2"
+
+inherit autotools
diff --git a/packages/gtk+/gtk+-2.10.0/automake-lossage.patch b/packages/gtk+/gtk+-2.10.0/automake-lossage.patch
deleted file mode 100644
index 0d423ddbb9..0000000000
--- a/packages/gtk+/gtk+-2.10.0/automake-lossage.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
-+++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
-@@ -52,21 +52,5 @@
-
- dist-hook: html
- cp -Rp $(srcdir)/html $(distdir)
--else
--html:
-- echo "***"
-- echo "*** Warning: Tutorial not built"
-- echo "***"
--
--pdf:
-- echo "***"
-- echo "*** Warning: Tutorial not built"
-- echo "***"
--
--dist-hook:
-- echo "***"
-- echo "*** Warning: Tutorial not built"
-- echo "*** DISTRIBUTION IS INCOMPLETE"
-- echo "***"
- endif
-
diff --git a/packages/gtk+/gtk+-2.10.0/disable-print.patch b/packages/gtk+/gtk+-2.10.0/disable-print.patch
deleted file mode 100644
index 1067773f12..0000000000
--- a/packages/gtk+/gtk+-2.10.0/disable-print.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- gtk+-2.10.0/configure.in~ 2006-07-05 18:11:44.000000000 +0200
-+++ gtk+-2.10.0/configure.in 2006-07-05 18:11:44.000000000 +0200
-@@ -1539,26 +1539,27 @@
- # Printing system checks
- ################################################################
-
--AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
--if test "x$CUPS_CONFIG" != "xno"; then
-- CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
-- CUPS_LIBS=`cups-config --libs`
--
-- CUPS_API_VERSION=`cups-config --api-version`
-- CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
-- CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
--
-- if test $CUPS_API_MAJOR -gt 1 -o \
-- $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
-- AC_DEFINE(HAVE_CUPS_API_1_2)
-- fi
--
-- AC_SUBST(CUPS_API_MAJOR)
-- AC_SUBST(CUPS_API_MINOR)
-- AC_SUBST(CUPS_CFLAGS)
-- AC_SUBST(CUPS_LIBS)
--fi
--AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
-+#AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
-+#if test "x$CUPS_CONFIG" != "xno"; then
-+# CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
-+# CUPS_LIBS=`cups-config --libs`
-+#
-+# CUPS_API_VERSION=`cups-config --api-version`
-+# CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
-+# CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
-+#
-+# if test $CUPS_API_MAJOR -gt 1 -o \
-+# $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
-+# AC_DEFINE(HAVE_CUPS_API_1_2)
-+# fi
-+#
-+# AC_SUBST(CUPS_API_MAJOR)
-+# AC_SUBST(CUPS_API_MINOR)
-+# AC_SUBST(CUPS_CFLAGS)
-+# AC_SUBST(CUPS_LIBS)
-+#fi
-+#AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
-+AM_CONDITIONAL(HAVE_CUPS,false)
-
- gtk_save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
diff --git a/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch b/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch
deleted file mode 100644
index d71d839c3c..0000000000
--- a/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
-+++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
-@@ -118,7 +118,7 @@
- tooltips->tips_data_list = NULL;
-
- tooltips->delay = DEFAULT_DELAY;
-- tooltips->enabled = TRUE;
-+ tooltips->enabled = FALSE;
- tooltips->timer_tag = 0;
- tooltips->use_sticky_delay = FALSE;
- tooltips->last_popdown.tv_sec = -1;
diff --git a/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch b/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch
deleted file mode 100644
index 20481f059b..0000000000
--- a/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch
+++ /dev/null
@@ -1,236 +0,0 @@
---- gtk+-2.4.1/gtk/gtkarrow.c 2004-03-13 09:51:13.000000000 +1100
-+++ gtk+-2.4.1/gtk/gtkarrow.c 2004-05-26 14:52:17.000000000 +1000
-@@ -29,7 +29,7 @@
- #include "gtkarrow.h"
- #include "gtkintl.h"
-
--#define MIN_ARROW_SIZE 15
-+#define MIN_ARROW_SIZE 7
-
- enum {
- PROP_0,
-@@ -53,6 +53,8 @@
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-+static void gtk_arrow_size_request (GtkWidget *arrow,
-+ GtkRequisition *requisition);
-
- GType
- gtk_arrow_get_type (void)
-@@ -111,6 +113,7 @@
- G_PARAM_READABLE | G_PARAM_WRITABLE));
-
- widget_class->expose_event = gtk_arrow_expose;
-+ widget_class->size_request = gtk_arrow_size_request;
- }
-
- static void
-@@ -166,13 +169,18 @@
- }
-
- static void
-+gtk_arrow_size_request (GtkWidget *arrow,
-+ GtkRequisition *requisition)
-+{
-+ requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
-+ requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
-+}
-+
-+static void
- gtk_arrow_init (GtkArrow *arrow)
- {
- GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
-
-- GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
-- GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
--
- arrow->arrow_type = GTK_ARROW_RIGHT;
- arrow->shadow_type = GTK_SHADOW_OUT;
- }
---- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100
-+++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000
-@@ -340,6 +340,9 @@
- static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar,
- guint day);
-
-+static void gtk_calendar_do_select_day (GtkCalendar *calendar,
-+ guint day);
-+
- static void gtk_calendar_paint_arrow (GtkWidget *widget,
- guint arrow);
- static void gtk_calendar_paint_day_num (GtkWidget *widget,
-@@ -861,13 +864,13 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
- {
- if (calendar->selected_day < 0)
- calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
- }
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
-@@ -908,10 +911,10 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
- gtk_calendar_thaw (calendar);
-@@ -939,10 +942,10 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
- gtk_calendar_thaw (calendar);
-@@ -974,10 +977,10 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
- gtk_calendar_thaw (calendar);
-@@ -2480,9 +2483,9 @@
- return TRUE;
- }
-
--void
--gtk_calendar_select_day (GtkCalendar *calendar,
-- guint day)
-+static void
-+gtk_calendar_do_select_day (GtkCalendar *calendar,
-+ guint day)
- {
- g_return_if_fail (GTK_IS_CALENDAR (calendar));
- g_return_if_fail (day <= 31);
-@@ -2499,6 +2502,13 @@
- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
- gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
- }
-+}
-+
-+void
-+gtk_calendar_select_day (GtkCalendar *calendar,
-+ guint day)
-+{
-+ gtk_calendar_do_select_day (calendar, day);
-
- calendar->selected_day = day;
-
---- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000
-+++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000
-@@ -557,6 +557,15 @@
- 0.0,
- G_PARAM_READABLE | G_PARAM_WRITABLE));
-
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_int ("min_width",
-+ _("Minimum width"),
-+ _("Minimum width of the entry field"),
-+ 0,
-+ G_MAXINT,
-+ MIN_ENTRY_WIDTH,
-+ G_PARAM_READABLE));
-+
- signals[POPULATE_POPUP] =
- g_signal_new ("populate_popup",
- G_OBJECT_CLASS_TYPE (gobject_class),
-@@ -1124,7 +1133,7 @@
- {
- GtkEntry *entry = GTK_ENTRY (widget);
- PangoFontMetrics *metrics;
-- gint xborder, yborder;
-+ gint xborder, yborder, min_width;
- PangoContext *context;
-
- gtk_widget_ensure_style (widget);
-@@ -1140,9 +1149,11 @@
-
- xborder += INNER_BORDER;
- yborder += INNER_BORDER;
--
-+
-+ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
-+
- if (entry->width_chars < 0)
-- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
-+ requisition->width = min_width + xborder * 2;
- else
- {
- gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
---- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100
-+++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000
-@@ -180,6 +180,7 @@
- static GtkWidgetClass *parent_class = NULL;
- static guint signals[LAST_SIGNAL];
-
-+static GdkAtom recognize_protocols_atom, atom_atom;
-
- GType
- gtk_range_get_type (void)
-@@ -220,6 +221,9 @@
- object_class = (GtkObjectClass*) class;
- widget_class = (GtkWidgetClass*) class;
-
-+ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
-+ atom_atom = gdk_atom_intern ("ATOM", FALSE);
-+
- parent_class = g_type_class_peek_parent (class);
-
- gobject_class->set_property = gtk_range_set_property;
-@@ -815,6 +819,12 @@
- &attributes, attributes_mask);
- gdk_window_set_user_data (range->event_window, range);
-
-+ gdk_property_change (range->event_window,
-+ recognize_protocols_atom,
-+ atom_atom,
-+ 32, GDK_PROP_MODE_REPLACE,
-+ NULL, 0);
-+
- widget->style = gtk_style_attach (widget->style, widget->window);
- }
-
-@@ -1186,7 +1196,7 @@
-
- /* ignore presses when we're already doing something else. */
- if (range->layout->grab_location != MOUSE_OUTSIDE)
-- return FALSE;
-+ return TRUE;
-
- range->layout->mouse_x = event->x;
- range->layout->mouse_y = event->y;
-@@ -1364,7 +1374,7 @@
- return TRUE;
- }
-
-- return FALSE;
-+ return TRUE;
- }
-
- /**
diff --git a/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch b/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch
deleted file mode 100644
index df29656343..0000000000
--- a/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
-+++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
-@@ -1623,6 +1623,7 @@
-
- /* We have to clear the layout, fonts etc. may have changed */
- gtk_label_clear_layout (label);
-+ gtk_widget_queue_resize (GTK_WIDGET (label));
- }
-
- static void
diff --git a/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch b/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch
deleted file mode 100644
index bdbdb32f97..0000000000
--- a/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- gtk+-2.10.0/configure.in.orig 2006-07-07 09:31:34.000000000 +0100
-+++ gtk+-2.10.0/configure.in 2006-07-07 09:32:49.000000000 +0100
-@@ -370,7 +370,7 @@
- AC_MSG_CHECKING([Whether to write dependencies into .pc files])
- case $enable_explicit_deps in
- auto)
-- deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
-+ deplibs_check_method=`(./$host_alias-libtool --config; echo eval echo \\$deplibs_check_method) | sh`
- if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
- enable_explicit_deps=yes
- else
-@@ -768,7 +768,7 @@
- dnl Now we check to see if our libtool supports shared lib deps
- dnl (in a rather ugly way even)
- if $dynworks; then
-- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
-+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
- pixbuf_deplibs_check=`$pixbuf_libtool_config | \
- grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
- sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -1600,7 +1600,7 @@
- #
- # We are using gmodule-no-export now, but I'm leaving the stripping
- # code in place for now, since pango and atk still require gmodule.
--export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
- if test -n "$export_dynamic"; then
- GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
- GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch b/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch
deleted file mode 100644
index cfb8849e9f..0000000000
--- a/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- gtk+-2.10.0/gtk/gtkmenushell.c.orig 2006-07-05 17:17:34.000000000 +0200
-+++ gtk+-2.10.0/gtk/gtkmenushell.c 2006-07-05 17:19:01.000000000 +0200
-@@ -42,7 +42,7 @@
- #include "gtkintl.h"
- #include "gtkalias.h"
-
--#define MENU_SHELL_TIMEOUT 500
-+#define MENU_SHELL_TIMEOUT 2000
-
- #define PACK_DIRECTION(m) \
- (GTK_IS_MENU_BAR (m) \
-@@ -203,6 +203,8 @@
-
- G_DEFINE_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER)
-
-+static int last_crossing_time;
-+
- static void
- gtk_menu_shell_class_init (GtkMenuShellClass *klass)
- {
-@@ -517,6 +519,7 @@
- gtk_grab_add (GTK_WIDGET (menu_shell));
- menu_shell->have_grab = TRUE;
- menu_shell->active = TRUE;
-+ last_crossing_time = 0;
- }
- }
-
-@@ -669,6 +672,13 @@
- menu_shell->activate_time = 0;
- deactivate = FALSE;
- }
-+
-+ if (last_crossing_time != 0
-+ && ((event->time - last_crossing_time) < 500))
-+ {
-+ last_crossing_time = 0;
-+ deactivate = FALSE;
-+ }
-
- if (deactivate)
- {
-@@ -716,6 +726,8 @@
- {
- menu_item = gtk_get_event_widget ((GdkEvent*) event);
-
-+ last_crossing_time = event->time;
-+
- if (!menu_item ||
- (GTK_IS_MENU_ITEM (menu_item) &&
- !_gtk_menu_item_is_selectable (menu_item)))
diff --git a/packages/gtk+/gtk+-2.10.0/migration.patch b/packages/gtk+/gtk+-2.10.0/migration.patch
deleted file mode 100644
index 4850f85e4f..0000000000
--- a/packages/gtk+/gtk+-2.10.0/migration.patch
+++ /dev/null
@@ -1,615 +0,0 @@
-Index: configure.in
-===================================================================
-RCS file: /cvs/gnome/gtk+/configure.in,v
-retrieving revision 1.419.2.4
-diff -u -r1.419.2.4 configure.in
---- configure.in 8 Feb 2005 21:39:42 -0000 1.419.2.4
-+++ configure.in 27 Feb 2005 13:10:16 -0000
-@@ -1495,6 +1495,16 @@
- GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
- GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
-
-+AC_ARG_ENABLE(display-migration,
-+ [AC_HELP_STRING([--enable-display-migration],
-+ [include support for GPE_CHANGE_DISPLAY protocol])],
-+ enable_migration=yes, enable_migration=no)
-+if test "$enable_migration" = "yes"; then
-+ AC_DEFINE([ENABLE_MIGRATION], 1, [Define if display migration is enabled])
-+ GTK_DEP_LIBS="$GTK_DEP_LIBS -lgcrypt"
-+fi
-+AM_CONDITIONAL(ENABLE_MIGRATION, test $enable_migration = "yes")
-+
- AC_SUBST(GTK_PACKAGES)
- AC_SUBST(GTK_EXTRA_LIBS)
- AC_SUBST(GTK_EXTRA_CFLAGS)
-Index: gtk/Makefile.am
-===================================================================
-RCS file: /cvs/gnome/gtk+/gtk/Makefile.am,v
-retrieving revision 1.266.2.1
-diff -u -r1.266.2.1 Makefile.am
---- gtk/Makefile.am 13 Jan 2005 15:18:21 -0000 1.266.2.1
-+++ gtk/Makefile.am 27 Feb 2005 13:10:17 -0000
-@@ -520,6 +520,10 @@
- gtkwindow.c \
- xembed.h
-
-+if ENABLE_MIGRATION
-+gtk_c_sources += gtkmigration.c
-+endif
-+
- if OS_UNIX
- gtk_private_h_sources += gtkfilesystemunix.h
- gtk_c_sources += gtkfilesystemunix.c
-Index: gtk/gtkmain.c
-===================================================================
-RCS file: /cvs/gnome/gtk+/gtk/gtkmain.c,v
-retrieving revision 1.255
-diff -u -r1.255 gtkmain.c
---- gtk/gtkmain.c 27 Dec 2004 05:25:15 -0000 1.255
-+++ gtk/gtkmain.c 27 Feb 2005 13:10:19 -0000
-@@ -491,6 +491,10 @@
- _gtk_accel_map_init ();
- _gtk_rc_init ();
-
-+#ifdef ENABLE_MIGRATION
-+ gtk_migration_init ();
-+#endif
-+
- /* Set the 'initialized' flag.
- */
- gtk_initialized = TRUE;
---- /dev/null 2005-02-20 01:07:50.714416160 +0000
-+++ gtk/gtkmigration.c 2005-02-27 15:05:04.052757352 +0000
-@@ -0,0 +1,529 @@
-+/*
-+ * Copyright (C) 2003, 2005 Philip Blundell <philb@gnu.org>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version
-+ * 2 of the License, or (at your option) any later version.
-+ */
-+
-+#include <stdlib.h>
-+#include <ctype.h>
-+#include <libintl.h>
-+#include <string.h>
-+#include <assert.h>
-+
-+#include <X11/X.h>
-+#include <X11/Xlib.h>
-+#include <X11/Xatom.h>
-+
-+#include <gcrypt.h>
-+
-+#include "gtk.h"
-+#include "gdk.h"
-+#include "x11/gdkx.h"
-+
-+#define _(x) gettext(x)
-+
-+static GdkAtom string_gdkatom, display_change_gdkatom;
-+static GdkAtom rsa_challenge_gdkatom;
-+
-+#define DISPLAY_CHANGE_SUCCESS 0
-+#define DISPLAY_CHANGE_UNABLE_TO_CONNECT 1
-+#define DISPLAY_CHANGE_NO_SUCH_SCREEN 2
-+#define DISPLAY_CHANGE_AUTHENTICATION_BAD 3
-+#define DISPLAY_CHANGE_INDETERMINATE_ERROR 4
-+
-+static gboolean no_auth;
-+
-+static GSList *all_widgets;
-+
-+static gboolean gtk_migration_initialised;
-+
-+#define CHALLENGE_LEN 64
-+
-+gchar *gtk_migration_auth_challenge_string;
-+
-+static unsigned char challenge_bytes[CHALLENGE_LEN];
-+static unsigned long challenge_seq;
-+
-+#define hexbyte(x) ((x) >= 10 ? (x) + 'a' - 10 : (x) + '0')
-+
-+struct rsa_key
-+{
-+ gcry_mpi_t n, e, d, p, q, u;
-+};
-+
-+static gcry_mpi_t
-+mpi_from_sexp (gcry_sexp_t r, char *tag)
-+{
-+ gcry_sexp_t s = gcry_sexp_find_token (r, tag, 0);
-+ return gcry_sexp_nth_mpi (s, 1, GCRYMPI_FMT_USG);
-+}
-+
-+static char *
-+hex_from_mpi (gcry_mpi_t m)
-+{
-+ char *buf;
-+ gcry_mpi_aprint (GCRYMPI_FMT_HEX, (void *)&buf, NULL, m);
-+ return buf;
-+}
-+
-+static void
-+gtk_migration_crypt_create_hash (char *display, char *challenge, size_t len, char *result)
-+{
-+ size_t dlen = strlen (display);
-+ gchar *buf = g_malloc (dlen + 1 + len);
-+ strcpy (buf, display);
-+ memcpy (buf + dlen + 1, challenge, len);
-+ gcry_md_hash_buffer (GCRY_MD_SHA1, result, buf, len + dlen + 1);
-+ g_free (buf);
-+}
-+
-+static int
-+do_encode_md (const unsigned char *digest, size_t digestlen, int algo,
-+ unsigned int nbits, gcry_mpi_t *r_val)
-+{
-+ int nframe = (nbits+7) / 8;
-+ unsigned char *frame;
-+ int i, n;
-+ unsigned char asn[100];
-+ size_t asnlen;
-+
-+ asnlen = sizeof(asn);
-+ if (gcry_md_algo_info (algo, GCRYCTL_GET_ASNOID, asn, &asnlen))
-+ return -1;
-+
-+ if (digestlen + asnlen + 4 > nframe )
-+ return -1;
-+
-+ /* We encode the MD in this way:
-+ *
-+ * 0 1 PAD(n bytes) 0 ASN(asnlen bytes) MD(len bytes)
-+ *
-+ * PAD consists of FF bytes.
-+ */
-+ frame = g_malloc (nframe);
-+ n = 0;
-+ frame[n++] = 0;
-+ frame[n++] = 1; /* block type */
-+ i = nframe - digestlen - asnlen -3 ;
-+ assert ( i > 1 );
-+ memset ( frame+n, 0xff, i ); n += i;
-+ frame[n++] = 0;
-+ memcpy ( frame+n, asn, asnlen ); n += asnlen;
-+ memcpy ( frame+n, digest, digestlen ); n += digestlen;
-+ assert ( n == nframe );
-+
-+ gcry_mpi_scan (r_val, GCRYMPI_FMT_USG, frame, nframe, &nframe);
-+ g_free (frame);
-+ return 0;
-+}
-+
-+static gboolean
-+gtk_migration_crypt_check_signature (struct rsa_key *k, char *hash, char *sigbuf)
-+{
-+ gcry_mpi_t mpi, mpi2;
-+ gcry_sexp_t data, sig, key;
-+ int rc;
-+
-+ do_encode_md (hash, 20, GCRY_MD_SHA1, 1024, &mpi);
-+
-+ gcry_sexp_build (&data, NULL, "(data (value %m))", mpi);
-+
-+ gcry_mpi_release (mpi);
-+
-+ gcry_sexp_build (&key, NULL, "(public-key (rsa (n %m) (e %m)))", k->n, k->e);
-+
-+ if (gcry_mpi_scan (&mpi2, GCRYMPI_FMT_HEX, sigbuf, 0, NULL))
-+ {
-+ gcry_sexp_release (data);
-+ return FALSE;
-+ }
-+
-+ gcry_sexp_build (&sig, NULL, "(sig-val (rsa (s %m)))", mpi2);
-+
-+ rc = gcry_pk_verify (sig, data, key);
-+
-+ gcry_sexp_release (data);
-+ gcry_sexp_release (key);
-+ gcry_sexp_release (sig);
-+ gcry_mpi_release (mpi2);
-+
-+ if (rc)
-+ return FALSE;
-+
-+ return TRUE;
-+}
-+
-+static void
-+gtk_migration_auth_update_challenge (void)
-+{
-+ int i;
-+ unsigned char *p;
-+
-+ if (gtk_migration_auth_challenge_string == NULL)
-+ gtk_migration_auth_challenge_string = g_malloc ((CHALLENGE_LEN * 2) + 9);
-+
-+ p = gtk_migration_auth_challenge_string;
-+
-+ for (i = 0; i < CHALLENGE_LEN; i++)
-+ {
-+ *p++ = hexbyte (challenge_bytes[i] >> 4);
-+ *p++ = hexbyte (challenge_bytes[i] & 15);
-+ }
-+
-+ sprintf (p, "%08lx", challenge_seq++);
-+}
-+
-+static void
-+gtk_migration_auth_generate_challenge (void)
-+{
-+ gcry_randomize (challenge_bytes, sizeof (challenge_bytes), GCRY_STRONG_RANDOM);
-+ gtk_migration_auth_update_challenge ();
-+}
-+
-+static struct rsa_key *
-+parse_pubkey (char *s)
-+{
-+ struct rsa_key *r;
-+ gcry_mpi_t n, e;
-+ gchar *sp;
-+
-+ sp = strtok (s, " \n");
-+ gcry_mpi_scan (&e, GCRYMPI_FMT_HEX, sp, 0, NULL);
-+ sp = strtok (NULL, " \n");
-+ gcry_mpi_scan (&n, GCRYMPI_FMT_HEX, sp, 0, NULL);
-+
-+ r = g_malloc0 (sizeof (struct rsa_key));
-+ r->e = e;
-+ r->n = n;
-+ return r;
-+}
-+
-+static struct rsa_key *
-+lookup_pubkey (u_int32_t id)
-+{
-+ const gchar *home_dir = g_get_home_dir ();
-+ gchar *filename = g_strdup_printf ("%s/.gpe/migrate/public", home_dir);
-+ FILE *fp = fopen (filename, "r");
-+ struct rsa_key *r = NULL;
-+
-+ if (fp)
-+ {
-+ while (!feof (fp))
-+ {
-+ char buffer[4096];
-+ if (fgets (buffer, 4096, fp))
-+ {
-+ char *p;
-+ u_int32_t this_id = strtoul (buffer, &p, 16);
-+ if (p != buffer && *p == ' ')
-+ {
-+#ifdef DEBUG
-+ fprintf (stderr, "found id %x\n", this_id);
-+#endif
-+ if (this_id == id)
-+ {
-+ r = parse_pubkey (++p);
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ fclose (fp);
-+ }
-+
-+ g_free (filename);
-+ return r;
-+}
-+
-+static void
-+free_pubkey (struct rsa_key *k)
-+{
-+ gcry_mpi_release (k->n);
-+ gcry_mpi_release (k->e);
-+
-+ g_free (k);
-+}
-+
-+static gboolean
-+gtk_migration_auth_validate_request (char *display, char *data)
-+{
-+ u_int32_t key_id;
-+ char *ep;
-+ char *p;
-+ struct rsa_key *k;
-+ char hash[20];
-+ gboolean rc;
-+
-+ p = strchr (data, ' ');
-+ if (p == NULL)
-+ return FALSE;
-+ *p++ = 0;
-+
-+ key_id = strtoul (data, &ep, 16);
-+ if (*ep)
-+ return FALSE;
-+
-+ k = lookup_pubkey (key_id);
-+ if (k == NULL)
-+ return FALSE;
-+
-+ gtk_migration_crypt_create_hash (display, gtk_migration_auth_challenge_string,
-+ strlen (gtk_migration_auth_challenge_string), hash);
-+
-+ rc = gtk_migration_crypt_check_signature (k, hash, p);
-+
-+ free_pubkey (k);
-+
-+ return rc;
-+}
-+
-+static int
-+do_change_display (GtkWidget *w, char *display_name)
-+{
-+ GdkDisplay *newdisplay;
-+ guint screen_nr = 1;
-+ guint i;
-+
-+ if (display_name[0] == 0)
-+ return DISPLAY_CHANGE_INDETERMINATE_ERROR;
-+
-+ i = strlen (display_name) - 1;
-+ while (i > 0 && isdigit (display_name[i]))
-+ i--;
-+
-+ if (display_name[i] == '.')
-+ {
-+ screen_nr = atoi (display_name + i + 1);
-+ display_name[i] = 0;
-+ }
-+
-+ newdisplay = gdk_display_open (display_name);
-+ if (newdisplay)
-+ {
-+ GdkScreen *screen = gdk_display_get_screen (newdisplay, screen_nr);
-+ if (screen)
-+ {
-+ gtk_window_set_screen (GTK_WINDOW (w), screen);
-+ gdk_display_manager_set_default_display (gdk_display_manager_get (),
-+ newdisplay);
-+ return DISPLAY_CHANGE_SUCCESS;
-+ }
-+ else
-+ return DISPLAY_CHANGE_NO_SUCH_SCREEN;
-+ }
-+
-+ return DISPLAY_CHANGE_UNABLE_TO_CONNECT;
-+}
-+
-+static void
-+set_challenge_on_window (GdkWindow *window)
-+{
-+ gdk_property_change (window, rsa_challenge_gdkatom, string_gdkatom,
-+ 8, GDK_PROP_MODE_REPLACE, gtk_migration_auth_challenge_string,
-+ strlen (gtk_migration_auth_challenge_string));
-+}
-+
-+static void
-+update_challenge_on_windows (void)
-+{
-+ GSList *i;
-+
-+ gtk_migration_auth_update_challenge ();
-+
-+ for (i = all_widgets; i; i = i->next)
-+ {
-+ GtkWidget *w = GTK_WIDGET (i->data);
-+ if (w->window)
-+ set_challenge_on_window (w->window);
-+ }
-+}
-+
-+static void
-+reset_state (GdkWindow *window)
-+{
-+ gdk_property_change (window, display_change_gdkatom, string_gdkatom,
-+ 8, GDK_PROP_MODE_REPLACE, NULL, 0);
-+}
-+
-+static void
-+generate_response (GdkDisplay *gdisplay, Display *dpy, Window window, int code)
-+{
-+ XClientMessageEvent ev;
-+ Atom atom = gdk_x11_atom_to_xatom_for_display (gdisplay,
-+ display_change_gdkatom);
-+
-+ memset (&ev, 0, sizeof (ev));
-+
-+ ev.type = ClientMessage;
-+ ev.window = window;
-+ ev.message_type = atom;
-+ ev.format = 32;
-+
-+ ev.data.l[0] = window;
-+ ev.data.l[1] = code;
-+
-+ XSendEvent (dpy, DefaultRootWindow (dpy), False, SubstructureNotifyMask, (XEvent *)&ev);
-+}
-+
-+static int
-+handle_request (GdkWindow *gwindow, char *prop)
-+{
-+ GtkWidget *widget;
-+ char *target, *auth_method, *auth_data;
-+ char *p;
-+
-+ target = prop;
-+ auth_method = "NULL";
-+ auth_data = NULL;
-+
-+ p = strchr (prop, ' ');
-+ if (p)
-+ {
-+ *p = 0;
-+ auth_method = ++p;
-+
-+ p = strchr (p, ' ');
-+ if (p)
-+ {
-+ *p = 0;
-+ auth_data = ++p;
-+ }
-+ }
-+
-+ if (no_auth == FALSE)
-+ {
-+ if (!strcasecmp (auth_method, "null"))
-+ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
-+ else if (!strcasecmp (auth_method, "rsa-sig"))
-+ {
-+ if (gtk_migration_auth_validate_request (target, auth_data) == FALSE)
-+ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
-+ }
-+ else
-+ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
-+ }
-+
-+ gdk_window_get_user_data (gwindow, (gpointer*) &widget);
-+
-+ if (widget)
-+ return do_change_display (widget, target);
-+
-+ return DISPLAY_CHANGE_INDETERMINATE_ERROR;
-+}
-+
-+static GdkFilterReturn
-+filter_func (GdkXEvent *xevp, GdkEvent *ev, gpointer p)
-+{
-+ XPropertyEvent *xev = (XPropertyEvent *)xevp;
-+
-+ if (xev->type == PropertyNotify)
-+ {
-+ GdkDisplay *gdisplay;
-+ Atom atom;
-+
-+ gdisplay = gdk_x11_lookup_xdisplay (xev->display);
-+ if (gdisplay)
-+ {
-+ atom = gdk_x11_atom_to_xatom_for_display (gdisplay, display_change_gdkatom);
-+
-+ if (xev->atom == atom)
-+ {
-+ GdkWindow *gwindow;
-+
-+ gwindow = gdk_window_lookup_for_display (gdisplay, xev->window);
-+
-+ if (gwindow)
-+ {
-+ GdkAtom actual_type;
-+ gint actual_format;
-+ gint actual_length;
-+ unsigned char *prop = NULL;
-+
-+ if (gdk_property_get (gwindow, display_change_gdkatom, string_gdkatom,
-+ 0, G_MAXLONG, FALSE, &actual_type, &actual_format,
-+ &actual_length, &prop))
-+ {
-+ if (actual_length != 0)
-+ {
-+ if (actual_type == string_gdkatom && actual_length > 8)
-+ {
-+ gchar *buf = g_malloc (actual_length + 1);
-+ int rc;
-+
-+ memcpy (buf, prop, actual_length);
-+ buf[actual_length] = 0;
-+
-+ rc = handle_request (gwindow, buf);
-+
-+ g_free (buf);
-+ generate_response (gdisplay, xev->display, xev->window, rc);
-+
-+ if (rc == DISPLAY_CHANGE_SUCCESS)
-+ update_challenge_on_windows ();
-+ }
-+
-+ reset_state (gwindow);
-+ }
-+ }
-+
-+ if (prop)
-+ g_free (prop);
-+ }
-+ }
-+
-+ return GDK_FILTER_REMOVE;
-+ }
-+ }
-+
-+ return GDK_FILTER_CONTINUE;
-+}
-+
-+static void
-+unrealize_window (GtkWidget *w)
-+{
-+ all_widgets = g_slist_remove (all_widgets, w);
-+}
-+
-+void
-+gtk_migration_mark_window (GtkWidget *w)
-+{
-+ if (! gtk_migration_initialised)
-+ {
-+ g_warning ("gtk_migration not initialised yet");
-+ return;
-+ }
-+
-+ if (GTK_WIDGET_REALIZED (w))
-+ {
-+ GdkWindow *window = w->window;
-+
-+ gdk_window_add_filter (window, filter_func, NULL);
-+
-+ reset_state (window);
-+ set_challenge_on_window (window);
-+
-+ all_widgets = g_slist_append (all_widgets, w);
-+
-+ g_signal_connect (G_OBJECT (w), "unrealize", G_CALLBACK (unrealize_window), NULL);
-+ }
-+ else
-+ g_signal_connect (G_OBJECT (w), "realize", G_CALLBACK (gtk_migration_mark_window), NULL);
-+}
-+
-+void
-+gtk_migration_init (void)
-+{
-+ if (getenv ("GPE_DISPLAY_MIGRATION_NO_AUTH") != NULL)
-+ no_auth = TRUE;
-+
-+ string_gdkatom = gdk_atom_intern ("STRING", FALSE);
-+ display_change_gdkatom = gdk_atom_intern ("_GPE_DISPLAY_CHANGE", FALSE);
-+ rsa_challenge_gdkatom = gdk_atom_intern ("_GPE_DISPLAY_CHANGE_RSA_CHALLENGE", FALSE);
-+
-+ gtk_migration_auth_generate_challenge ();
-+
-+ gtk_migration_initialised = TRUE;
-+}
---- gtk/gtkwindow.c~ 2006-07-05 13:07:08.000000000 +0200
-+++ gtk/gtkwindow.c 2006-07-05 13:07:08.000000000 +0200
-@@ -50,6 +50,9 @@
- #include "x11/gdkx.h"
- #endif
-
-+extern void gtk_migration_mark_window (GtkWidget *w);
-+
-+
- enum {
- SET_FOCUS,
- FRAME_EVENT,
-@@ -823,6 +826,10 @@
-
- g_signal_connect (window->screen, "composited_changed",
- G_CALLBACK (gtk_window_on_composited_changed), window);
-+
-+#ifdef ENABLE_MIGRATION
-+ gtk_migration_mark_window (window);
-+#endif
- }
-
- static void
diff --git a/packages/gtk+/gtk+-2.10.0/no-demos.patch b/packages/gtk+/gtk+-2.10.0/no-demos.patch
deleted file mode 100644
index 2f10a30dda..0000000000
--- a/packages/gtk+/gtk+-2.10.0/no-demos.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- gtk+-2.4.1/Makefile.am~ 2004-01-17 22:15:56.000000000 +0000
-+++ gtk+-2.4.1/Makefile.am 2004-05-08 12:25:32.000000000 +0100
-@@ -1,6 +1,6 @@
- ## Makefile.am for GTK+
-
--SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib
-+SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests contrib
- SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros
-
- # require automake 1.4
diff --git a/packages/gtk+/gtk+-2.10.0/no-xwc.patch b/packages/gtk+/gtk+-2.10.0/no-xwc.patch
deleted file mode 100644
index affb4a303e..0000000000
--- a/packages/gtk+/gtk+-2.10.0/no-xwc.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c
---- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2004-11-30 14:57:14 +00:00
-+++ gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2005-01-02 15:38:06 +00:00
-@@ -576,12 +576,14 @@
- GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
- }
- }
-+#ifdef HAVE_XWC
- else if (font->type == GDK_FONT_FONTSET)
- {
- XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
- XmbDrawString (xdisplay, impl->xid,
- fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
- }
-+#endif
- else
- g_error("undefined font type\n");
- }
-@@ -613,6 +615,7 @@
- GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
- g_free (text_8bit);
- }
-+#ifdef HAVE_XWC
- else if (font->type == GDK_FONT_FONTSET)
- {
- if (sizeof(GdkWChar) == sizeof(wchar_t))
-@@ -633,6 +636,7 @@
- g_free (text_wchar);
- }
- }
-+#endif
- else
- g_error("undefined font type\n");
- }
-diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c gtk+-2.6.0/gdk/x11/gdkfont-x11.c
---- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2004-08-26 01:23:46 +01:00
-+++ gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2005-01-02 15:45:39 +00:00
-@@ -525,10 +525,12 @@
- width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
- }
- break;
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- fontset = (XFontSet) private->xfont;
- width = XmbTextEscapement (fontset, text, text_length);
- break;
-+#endif
- default:
- width = 0;
- }
-@@ -578,6 +580,7 @@
- width = 0;
- }
- break;
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- if (sizeof(GdkWChar) == sizeof(wchar_t))
- {
-@@ -595,6 +598,7 @@
- g_free (text_wchar);
- }
- break;
-+#endif
- default:
- width = 0;
- }
-@@ -667,6 +671,7 @@
- if (descent)
- *descent = overall.descent;
- break;
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- fontset = (XFontSet) private->xfont;
- XmbTextExtents (fontset, text, text_length, &ink, &logical);
-@@ -681,6 +686,7 @@
- if (descent)
- *descent = ink.y + ink.height;
- break;
-+#endif
- }
-
- }
-@@ -753,6 +759,7 @@
- *descent = overall.descent;
- break;
- }
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- fontset = (XFontSet) private->xfont;
-
-@@ -780,6 +787,7 @@
- if (descent)
- *descent = ink.y + ink.height;
- break;
-+#endif
- }
-
- }
-diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c gtk+-2.6.0/gdk/x11/gdkim-x11.c
---- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c 2004-11-17 00:55:10 +00:00
-+++ gtk+-2.6.0/gdk/x11/gdkim-x11.c 2005-01-02 15:42:04 +00:00
-@@ -48,6 +48,7 @@
- void
- _gdk_x11_initialize_locale (void)
- {
-+#ifdef HAVE_XWC
- wchar_t result;
- gchar *current_locale;
- static char *last_locale = NULL;
-@@ -93,7 +94,8 @@
- GDK_NOTE (XIM,
- g_message ("%s multi-byte string functions.",
- gdk_use_mb ? "Using" : "Not using"));
--
-+#endif
-+
- return;
- }
-
-@@ -136,6 +138,7 @@
- {
- gchar *mbstr;
-
-+#ifdef HAVE_XWC
- if (gdk_use_mb)
- {
- GdkDisplay *display = find_a_display ();
-@@ -178,6 +181,7 @@
- XFree (tpr.value);
- }
- else
-+#endif
- {
- gint length = 0;
- gint i;
-@@ -210,6 +214,7 @@
- gint
- gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
- {
-+#ifdef HAVE_XWC
- if (gdk_use_mb)
- {
- GdkDisplay *display = find_a_display ();
-@@ -242,6 +247,7 @@
- return len_cpy;
- }
- else
-+#endif
- {
- gint i;
-
diff --git a/packages/gtk+/gtk+-2.10.0/run-iconcache.patch b/packages/gtk+/gtk+-2.10.0/run-iconcache.patch
deleted file mode 100644
index f0bb6ba842..0000000000
--- a/packages/gtk+/gtk+-2.10.0/run-iconcache.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- gtk+-2.10.0/gtk/Makefile.am~ 2006-07-05 16:49:16.000000000 +0200
-+++ gtk+-2.10.0/gtk/Makefile.am 2006-07-05 16:49:16.000000000 +0200
-@@ -1088,11 +1088,11 @@
- done \
- && touch stamp-icons
-
--gtkbuiltincache.h: @REBUILD@ stamp-icons
-- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache
-- GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
-- ./gtk-update-icon-cache --force --ignore-theme-index \
-- --source builtin_icons stock-icons > gtkbuiltincache.h
-+#gtkbuiltincache.h: @REBUILD@ stamp-icons
-+# $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache
-+# GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
-+# ./gtk-update-icon-cache --force --ignore-theme-index \
-+# --source builtin_icons stock-icons > gtkbuiltincache.h
-
- EXTRA_DIST += \
- $(STOCK_ICONS) \
diff --git a/packages/gtk+/gtk+-2.10.0/scroll-timings.patch b/packages/gtk+/gtk+-2.10.0/scroll-timings.patch
deleted file mode 100644
index 3f823a7880..0000000000
--- a/packages/gtk+/gtk+-2.10.0/scroll-timings.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gtk+-2.10.0/gtk/gtkrange.c.orig 2006-07-05 12:41:39.000000000 +0200
-+++ gtk+-2.10.0/gtk/gtkrange.c 2006-07-05 12:41:58.000000000 +0200
-@@ -39,7 +39,7 @@
- #include "gtkalias.h"
-
- #define SCROLL_DELAY_FACTOR 5 /* Scroll repeat multiplier */
--#define UPDATE_DELAY 300 /* Delay for queued update */
-+#define UPDATE_DELAY 1000 /* Delay for queued update */
-
- enum {
- PROP_0,
diff --git a/packages/gtk+/gtk+-2.10.0/single-click.patch b/packages/gtk+/gtk+-2.10.0/single-click.patch
deleted file mode 100644
index 3bb208d4d6..0000000000
--- a/packages/gtk+/gtk+-2.10.0/single-click.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c gtk+-2.6.3/gtk/gtkcalendar.c
---- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 16:57:04 +01:00
-+++ gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 20:05:18 +01:00
-@@ -1023,9 +1023,11 @@
- }
-
- gtk_calendar_select_and_focus_day (calendar, day);
-- }
-+
-+ // This change causes the calendar to disappear after choosing a day
-+/* }
- else if (event->type == GDK_2BUTTON_PRESS)
-- {
-+ {*/
- private_data->in_drag = 0;
- if (day_month == MONTH_CURRENT)
- g_signal_emit (calendar,
-diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c gtk+-2.6.3/gtk/gtkfilesel.c
---- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-06 16:57:07 +01:00
-+++ gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-07 13:40:32 +01:00
-@@ -2468,6 +2468,33 @@
- if (fs->last_selected != NULL)
- g_free (fs->last_selected);
-
-+ // Single-click directory entry
-+ if (new_names->len == 1)
-+ {
-+ GtkTreeView *tree_view;
-+ GtkTreeModel *model;
-+ GtkTreePath *path;
-+ GtkTreeIter iter;
-+ gboolean is_file;
-+
-+ tree_view = gtk_tree_selection_get_tree_view (selection);
-+
-+ if (gtk_tree_selection_get_selected (selection, &model, &iter))
-+ {
-+ path = gtk_tree_model_get_path (model, &iter);
-+ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
-+
-+ if (!is_file)
-+ {
-+ gtk_file_selection_dir_activate (tree_view, path,
-+ gtk_tree_view_get_column (tree_view, DIR_COLUMN),
-+ user_data);
-+ }
-+
-+ gtk_tree_path_free (path);
-+ }
-+ }
-+
- fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
- filename = get_real_filename (fs->last_selected, FALSE);
-
diff --git a/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch b/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch
deleted file mode 100644
index 20bf4cf366..0000000000
--- a/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c
---- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100
-+++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100
-@@ -68,6 +68,7 @@
- #include "gtkprivate.h"
- #include "gtkscrolledwindow.h"
- #include "gtkstock.h"
-+#include "gtksignal.h"
- #include "gtktreeselection.h"
- #include "gtktreeview.h"
- #include "gtkvbox.h"
-@@ -77,6 +78,7 @@
- #include "gtkmessagedialog.h"
- #include "gtkdnd.h"
- #include "gtkeventbox.h"
-+#include "gtkimage.h"
-
- #undef GTK_DISABLE_DEPRECATED
- #include "gtkoptionmenu.h"
-@@ -245,7 +247,8 @@
- };
-
- enum {
-- DIR_COLUMN
-+ DIR_COLUMN,
-+ ISFILE_COLUMN
- };
-
- enum {
-@@ -400,6 +403,12 @@
- GtkTreePath *path,
- GtkTreeViewColumn *column,
- gpointer user_data);
-+
-+static void gtk_file_selection_activate (GtkTreeView *tree_view,
-+ GtkTreePath *path,
-+ GtkTreeViewColumn *column,
-+ gpointer user_data);
-+
- static void gtk_file_selection_file_changed (GtkTreeSelection *selection,
- gpointer user_data);
- static void gtk_file_selection_dir_activate (GtkTreeView *tree_view,
-@@ -419,6 +428,7 @@
- static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data);
- static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data);
- static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data);
-+static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style);
-
- static void free_selected_names (GPtrArray *names);
-
-@@ -578,6 +588,23 @@
- G_PARAM_WRITABLE));
- object_class->destroy = gtk_file_selection_destroy;
- widget_class->map = gtk_file_selection_map;
-+ widget_class->style_set = gtk_file_selection_style_set;
-+
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_boolean ("show_fileops_default",
-+ _("Show fileop buttons by default"),
-+ _("Whether file operation buttons are shown by default"),
-+ TRUE,
-+ G_PARAM_READABLE));
-+
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_int ("border_width",
-+ _("Border width"),
-+ _("Width of border around the main dialog area"),
-+ 0,
-+ G_MAXINT,
-+ 10,
-+ G_PARAM_READABLE));
- }
-
- static void gtk_file_selection_set_property (GObject *object,
-@@ -649,7 +676,29 @@
- gtk_widget_grab_default (widget);
- return FALSE;
- }
--
-+
-+static void
-+gtk_file_selection_style_set (GtkWidget *filesel,
-+ GtkStyle *prev_style)
-+{
-+ gboolean show_fileops;
-+ gint border_width;
-+
-+ gtk_widget_style_get (filesel,
-+ "show_fileops_default",
-+ &show_fileops,
-+ "border_width",
-+ &border_width,
-+ NULL);
-+
-+ gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width);
-+
-+ if (show_fileops)
-+ gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel));
-+ else
-+ gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel));
-+}
-+
- static void
- gtk_file_selection_init (GtkFileSelection *filesel)
- {
-@@ -674,17 +723,15 @@
-
- /* The dialog-sized vertical box */
- filesel->main_vbox = dialog->vbox;
-- gtk_container_set_border_width (GTK_CONTAINER (filesel), 10);
-
- /* The horizontal box containing create, rename etc. buttons */
- filesel->button_area = gtk_hbutton_box_new ();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START);
-- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0);
- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area,
- FALSE, FALSE, 0);
- gtk_widget_show (filesel->button_area);
-
-- gtk_file_selection_show_fileop_buttons (filesel);
-+ gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL);
-
- /* hbox for pulldown menu */
- pulldown_hbox = gtk_hbox_new (TRUE, 5);
-@@ -723,25 +770,32 @@
-
- /* The directories list */
-
-- model = gtk_list_store_new (1, G_TYPE_STRING);
-+ model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */
- filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
- g_object_unref (model);
-
-- column = gtk_tree_view_column_new_with_attributes (_("Folders"),
-+ column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL,
- gtk_cell_renderer_text_new (),
- "text", DIR_COLUMN,
- NULL);
- label = gtk_label_new_with_mnemonic (_("Fol_ders"));
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list);
- gtk_widget_show (label);
-- gtk_tree_view_column_set_widget (column, label);
-+
-+ /* gtk_tree_view_column_set_widget (column, label); */
-+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE);
-+
- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column);
-
- gtk_widget_set_size_request (filesel->dir_list,
- DIR_LIST_WIDTH, DIR_LIST_HEIGHT);
- g_signal_connect (filesel->dir_list, "row_activated",
-- G_CALLBACK (gtk_file_selection_dir_activate), filesel);
-+ G_CALLBACK (gtk_file_selection_activate), filesel);
-+
-+ g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed",
-+ G_CALLBACK (gtk_file_selection_file_changed), filesel);
-+
-
- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */
-
-@@ -758,41 +812,6 @@
- gtk_widget_show (filesel->dir_list);
- gtk_widget_show (scrolled_win);
-
-- /* The files list */
-- model = gtk_list_store_new (1, G_TYPE_STRING);
-- filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
-- g_object_unref (model);
--
-- column = gtk_tree_view_column_new_with_attributes (_("Files"),
-- gtk_cell_renderer_text_new (),
-- "text", FILE_COLUMN,
-- NULL);
-- label = gtk_label_new_with_mnemonic (_("_Files"));
-- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list);
-- gtk_widget_show (label);
-- gtk_tree_view_column_set_widget (column, label);
-- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column);
--
-- gtk_widget_set_size_request (filesel->file_list,
-- FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
-- g_signal_connect (filesel->file_list, "row_activated",
-- G_CALLBACK (gtk_file_selection_file_activate), filesel);
-- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed",
-- G_CALLBACK (gtk_file_selection_file_changed), filesel);
--
-- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */
--
-- scrolled_win = gtk_scrolled_window_new (NULL, NULL);
-- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN);
-- gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
-- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
-- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
-- gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0);
-- gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
-- gtk_widget_show (filesel->file_list);
-- gtk_widget_show (scrolled_win);
--
- /* action area for packing buttons into. */
- filesel->action_area = gtk_hbox_new (TRUE, 0);
- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area,
-@@ -2008,6 +2027,23 @@
- }
-
- static void
-+gtk_file_selection_activate (GtkTreeView *tree_view,
-+ GtkTreePath *path,
-+ GtkTreeViewColumn *column,
-+ gpointer user_data)
-+{
-+ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
-+ GtkTreeIter iter;
-+ gboolean is_file;
-+
-+ gtk_tree_model_get_iter (model, &iter, path);
-+ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
-+
-+ if (! is_file)
-+ gtk_file_selection_dir_activate (tree_view, path, column, user_data);
-+}
-+
-+static void
- gtk_file_selection_file_activate (GtkTreeView *tree_view,
- GtkTreePath *path,
- GtkTreeViewColumn *column,
-@@ -2103,7 +2139,6 @@
- PossibleCompletion* poss;
- GtkTreeIter iter;
- GtkListStore *dir_model;
-- GtkListStore *file_model;
- gchar* filename;
- gchar* rem_path = rel_path;
- gchar* sel_text;
-@@ -2125,10 +2160,8 @@
- g_assert (cmpl_state->reference_dir);
-
- dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list)));
-- file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list)));
-
- gtk_list_store_clear (dir_model);
-- gtk_list_store_clear (file_model);
-
- /* Set the dir list to include ./ and ../ */
- gtk_list_store_append (dir_model, &iter);
-@@ -2150,13 +2183,17 @@
- strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0)
- {
- gtk_list_store_append (dir_model, &iter);
-- gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1);
-+ gtk_list_store_set (dir_model, &iter,
-+ DIR_COLUMN, filename,
-+ ISFILE_COLUMN, FALSE, -1);
- }
- }
- else
- {
-- gtk_list_store_append (file_model, &iter);
-- gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1);
-+ gtk_list_store_append (dir_model, &iter);
-+ gtk_list_store_set (dir_model, &iter,
-+ DIR_COLUMN, filename,
-+ ISFILE_COLUMN, TRUE, -1);
- }
- }
-
diff --git a/packages/gtk+/gtk+-2.10.0/spinbutton.patch b/packages/gtk+/gtk+-2.10.0/spinbutton.patch
deleted file mode 100644
index 8ad7507af0..0000000000
--- a/packages/gtk+/gtk+-2.10.0/spinbutton.patch
+++ /dev/null
@@ -1,128 +0,0 @@
---- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
-+++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
-@@ -733,7 +733,7 @@
-
- spin = GTK_SPIN_BUTTON (widget);
- arrow_size = spin_button_get_arrow_size (spin);
-- panel_width = arrow_size + 2 * widget->style->xthickness;
-+ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
-
- widget->allocation = *allocation;
-
-@@ -866,19 +866,16 @@
- {
- width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
-
-+ y = widget->style->ythickness;
-+ height = widget->requisition.height - (2 * y);
-+
- if (arrow_type == GTK_ARROW_UP)
- {
- x = 0;
-- y = 0;
--
-- height = widget->requisition.height / 2;
- }
- else
- {
-- x = 0;
-- y = widget->requisition.height / 2;
--
-- height = (widget->requisition.height + 1) / 2;
-+ x = width;
- }
-
- if (spin_button_at_limit (spin_button, arrow_type))
-@@ -908,32 +905,17 @@
- shadow_type = GTK_SHADOW_OUT;
- }
- }
--
-+
- gtk_paint_box (widget->style, spin_button->panel,
- state_type, shadow_type,
- NULL, widget,
-- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
-+ NULL,
- x, y, width, height);
-
- height = widget->requisition.height;
-
-- if (arrow_type == GTK_ARROW_DOWN)
-- {
-- y = height / 2;
-- height = height - y - 2;
-- }
-- else
-- {
-- y = 2;
-- height = height / 2 - 2;
-- }
--
- width -= 3;
--
-- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
-- x = 2;
-- else
-- x = 1;
-+ height -= 3;
-
- w = width / 2;
- w -= w % 2 - 1; /* force odd */
-@@ -1108,7 +1090,7 @@
- if (GTK_ENTRY (widget)->editable)
- gtk_spin_button_update (spin);
-
-- if (event->y <= widget->requisition.height / 2)
-+ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
- {
- if (event->button == 1)
- start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
-@@ -1143,44 +1125,11 @@
-
- arrow_size = spin_button_get_arrow_size (spin);
-
-- if (event->button == spin->button)
-- {
-- int click_child = spin->click_child;
-+ gtk_spin_button_stop_spinning (spin);
-
-- gtk_spin_button_stop_spinning (spin);
--
-- if (event->button == 3)
-- {
-- if (event->y >= 0 && event->x >= 0 &&
-- event->y <= widget->requisition.height &&
-- event->x <= arrow_size + 2 * widget->style->xthickness)
-- {
-- if (click_child == GTK_ARROW_UP &&
-- event->y <= widget->requisition.height / 2)
-- {
-- gdouble diff;
--
-- diff = spin->adjustment->upper - spin->adjustment->value;
-- if (diff > EPSILON)
-- gtk_spin_button_real_spin (spin, diff);
-- }
-- else if (click_child == GTK_ARROW_DOWN &&
-- event->y > widget->requisition.height / 2)
-- {
-- gdouble diff;
--
-- diff = spin->adjustment->value - spin->adjustment->lower;
-- if (diff > EPSILON)
-- gtk_spin_button_real_spin (spin, -diff);
-- }
-- }
-- }
-- spin_button_redraw (spin);
-+ spin_button_redraw (spin);
-
-- return TRUE;
-- }
-- else
-- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
-+ return TRUE;
- }
-
- static gint
diff --git a/packages/gtk+/gtk+-2.10.0/xsettings.patch b/packages/gtk+/gtk+-2.10.0/xsettings.patch
deleted file mode 100644
index b63e262d34..0000000000
--- a/packages/gtk+/gtk+-2.10.0/xsettings.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- gtk+-2.4.4/gdk/x11/gdkevents-x11.c.old Sun Aug 22 17:14:00 2004
-+++ gtk+-2.4.4/gdk/x11/gdkevents-x11.c Sun Aug 22 17:14:00 2004
-@@ -2827,10 +2827,9 @@
- {
- GdkScreenX11 *screen = data;
-
-- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
-- return GDK_FILTER_REMOVE;
-- else
-- return GDK_FILTER_CONTINUE;
-+ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
-+
-+ return GDK_FILTER_CONTINUE;
- }
-
- static void
diff --git a/packages/gtk+/gtk+-2.10.1/automake-lossage.patch b/packages/gtk+/gtk+-2.10.1/automake-lossage.patch
deleted file mode 100644
index 0d423ddbb9..0000000000
--- a/packages/gtk+/gtk+-2.10.1/automake-lossage.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
-+++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
-@@ -52,21 +52,5 @@
-
- dist-hook: html
- cp -Rp $(srcdir)/html $(distdir)
--else
--html:
-- echo "***"
-- echo "*** Warning: Tutorial not built"
-- echo "***"
--
--pdf:
-- echo "***"
-- echo "*** Warning: Tutorial not built"
-- echo "***"
--
--dist-hook:
-- echo "***"
-- echo "*** Warning: Tutorial not built"
-- echo "*** DISTRIBUTION IS INCOMPLETE"
-- echo "***"
- endif
-
diff --git a/packages/gtk+/gtk+-2.10.1/disable-print.patch b/packages/gtk+/gtk+-2.10.1/disable-print.patch
deleted file mode 100644
index 1067773f12..0000000000
--- a/packages/gtk+/gtk+-2.10.1/disable-print.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- gtk+-2.10.0/configure.in~ 2006-07-05 18:11:44.000000000 +0200
-+++ gtk+-2.10.0/configure.in 2006-07-05 18:11:44.000000000 +0200
-@@ -1539,26 +1539,27 @@
- # Printing system checks
- ################################################################
-
--AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
--if test "x$CUPS_CONFIG" != "xno"; then
-- CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
-- CUPS_LIBS=`cups-config --libs`
--
-- CUPS_API_VERSION=`cups-config --api-version`
-- CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
-- CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
--
-- if test $CUPS_API_MAJOR -gt 1 -o \
-- $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
-- AC_DEFINE(HAVE_CUPS_API_1_2)
-- fi
--
-- AC_SUBST(CUPS_API_MAJOR)
-- AC_SUBST(CUPS_API_MINOR)
-- AC_SUBST(CUPS_CFLAGS)
-- AC_SUBST(CUPS_LIBS)
--fi
--AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
-+#AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
-+#if test "x$CUPS_CONFIG" != "xno"; then
-+# CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
-+# CUPS_LIBS=`cups-config --libs`
-+#
-+# CUPS_API_VERSION=`cups-config --api-version`
-+# CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
-+# CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
-+#
-+# if test $CUPS_API_MAJOR -gt 1 -o \
-+# $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
-+# AC_DEFINE(HAVE_CUPS_API_1_2)
-+# fi
-+#
-+# AC_SUBST(CUPS_API_MAJOR)
-+# AC_SUBST(CUPS_API_MINOR)
-+# AC_SUBST(CUPS_CFLAGS)
-+# AC_SUBST(CUPS_LIBS)
-+#fi
-+#AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
-+AM_CONDITIONAL(HAVE_CUPS,false)
-
- gtk_save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
diff --git a/packages/gtk+/gtk+-2.10.1/disable-tooltips.patch b/packages/gtk+/gtk+-2.10.1/disable-tooltips.patch
deleted file mode 100644
index d71d839c3c..0000000000
--- a/packages/gtk+/gtk+-2.10.1/disable-tooltips.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
-+++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
-@@ -118,7 +118,7 @@
- tooltips->tips_data_list = NULL;
-
- tooltips->delay = DEFAULT_DELAY;
-- tooltips->enabled = TRUE;
-+ tooltips->enabled = FALSE;
- tooltips->timer_tag = 0;
- tooltips->use_sticky_delay = FALSE;
- tooltips->last_popdown.tv_sec = -1;
diff --git a/packages/gtk+/gtk+-2.10.1/gtk+-handhelds.patch b/packages/gtk+/gtk+-2.10.1/gtk+-handhelds.patch
deleted file mode 100644
index 20481f059b..0000000000
--- a/packages/gtk+/gtk+-2.10.1/gtk+-handhelds.patch
+++ /dev/null
@@ -1,236 +0,0 @@
---- gtk+-2.4.1/gtk/gtkarrow.c 2004-03-13 09:51:13.000000000 +1100
-+++ gtk+-2.4.1/gtk/gtkarrow.c 2004-05-26 14:52:17.000000000 +1000
-@@ -29,7 +29,7 @@
- #include "gtkarrow.h"
- #include "gtkintl.h"
-
--#define MIN_ARROW_SIZE 15
-+#define MIN_ARROW_SIZE 7
-
- enum {
- PROP_0,
-@@ -53,6 +53,8 @@
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-+static void gtk_arrow_size_request (GtkWidget *arrow,
-+ GtkRequisition *requisition);
-
- GType
- gtk_arrow_get_type (void)
-@@ -111,6 +113,7 @@
- G_PARAM_READABLE | G_PARAM_WRITABLE));
-
- widget_class->expose_event = gtk_arrow_expose;
-+ widget_class->size_request = gtk_arrow_size_request;
- }
-
- static void
-@@ -166,13 +169,18 @@
- }
-
- static void
-+gtk_arrow_size_request (GtkWidget *arrow,
-+ GtkRequisition *requisition)
-+{
-+ requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
-+ requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
-+}
-+
-+static void
- gtk_arrow_init (GtkArrow *arrow)
- {
- GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
-
-- GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
-- GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
--
- arrow->arrow_type = GTK_ARROW_RIGHT;
- arrow->shadow_type = GTK_SHADOW_OUT;
- }
---- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100
-+++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000
-@@ -340,6 +340,9 @@
- static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar,
- guint day);
-
-+static void gtk_calendar_do_select_day (GtkCalendar *calendar,
-+ guint day);
-+
- static void gtk_calendar_paint_arrow (GtkWidget *widget,
- guint arrow);
- static void gtk_calendar_paint_day_num (GtkWidget *widget,
-@@ -861,13 +864,13 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
- {
- if (calendar->selected_day < 0)
- calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
- }
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
-@@ -908,10 +911,10 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
- gtk_calendar_thaw (calendar);
-@@ -939,10 +942,10 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
- gtk_calendar_thaw (calendar);
-@@ -974,10 +977,10 @@
- if (month_len < calendar->selected_day)
- {
- calendar->selected_day = 0;
-- gtk_calendar_select_day (calendar, month_len);
-+ gtk_calendar_do_select_day (calendar, month_len);
- }
- else
-- gtk_calendar_select_day (calendar, calendar->selected_day);
-+ gtk_calendar_do_select_day (calendar, calendar->selected_day);
-
- gtk_widget_queue_draw (GTK_WIDGET (calendar));
- gtk_calendar_thaw (calendar);
-@@ -2480,9 +2483,9 @@
- return TRUE;
- }
-
--void
--gtk_calendar_select_day (GtkCalendar *calendar,
-- guint day)
-+static void
-+gtk_calendar_do_select_day (GtkCalendar *calendar,
-+ guint day)
- {
- g_return_if_fail (GTK_IS_CALENDAR (calendar));
- g_return_if_fail (day <= 31);
-@@ -2499,6 +2502,13 @@
- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
- gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
- }
-+}
-+
-+void
-+gtk_calendar_select_day (GtkCalendar *calendar,
-+ guint day)
-+{
-+ gtk_calendar_do_select_day (calendar, day);
-
- calendar->selected_day = day;
-
---- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000
-+++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000
-@@ -557,6 +557,15 @@
- 0.0,
- G_PARAM_READABLE | G_PARAM_WRITABLE));
-
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_int ("min_width",
-+ _("Minimum width"),
-+ _("Minimum width of the entry field"),
-+ 0,
-+ G_MAXINT,
-+ MIN_ENTRY_WIDTH,
-+ G_PARAM_READABLE));
-+
- signals[POPULATE_POPUP] =
- g_signal_new ("populate_popup",
- G_OBJECT_CLASS_TYPE (gobject_class),
-@@ -1124,7 +1133,7 @@
- {
- GtkEntry *entry = GTK_ENTRY (widget);
- PangoFontMetrics *metrics;
-- gint xborder, yborder;
-+ gint xborder, yborder, min_width;
- PangoContext *context;
-
- gtk_widget_ensure_style (widget);
-@@ -1140,9 +1149,11 @@
-
- xborder += INNER_BORDER;
- yborder += INNER_BORDER;
--
-+
-+ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
-+
- if (entry->width_chars < 0)
-- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
-+ requisition->width = min_width + xborder * 2;
- else
- {
- gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
---- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100
-+++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000
-@@ -180,6 +180,7 @@
- static GtkWidgetClass *parent_class = NULL;
- static guint signals[LAST_SIGNAL];
-
-+static GdkAtom recognize_protocols_atom, atom_atom;
-
- GType
- gtk_range_get_type (void)
-@@ -220,6 +221,9 @@
- object_class = (GtkObjectClass*) class;
- widget_class = (GtkWidgetClass*) class;
-
-+ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
-+ atom_atom = gdk_atom_intern ("ATOM", FALSE);
-+
- parent_class = g_type_class_peek_parent (class);
-
- gobject_class->set_property = gtk_range_set_property;
-@@ -815,6 +819,12 @@
- &attributes, attributes_mask);
- gdk_window_set_user_data (range->event_window, range);
-
-+ gdk_property_change (range->event_window,
-+ recognize_protocols_atom,
-+ atom_atom,
-+ 32, GDK_PROP_MODE_REPLACE,
-+ NULL, 0);
-+
- widget->style = gtk_style_attach (widget->style, widget->window);
- }
-
-@@ -1186,7 +1196,7 @@
-
- /* ignore presses when we're already doing something else. */
- if (range->layout->grab_location != MOUSE_OUTSIDE)
-- return FALSE;
-+ return TRUE;
-
- range->layout->mouse_x = event->x;
- range->layout->mouse_y = event->y;
-@@ -1364,7 +1374,7 @@
- return TRUE;
- }
-
-- return FALSE;
-+ return TRUE;
- }
-
- /**
diff --git a/packages/gtk+/gtk+-2.10.1/gtklabel-resize-patch b/packages/gtk+/gtk+-2.10.1/gtklabel-resize-patch
deleted file mode 100644
index df29656343..0000000000
--- a/packages/gtk+/gtk+-2.10.1/gtklabel-resize-patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
-+++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
-@@ -1623,6 +1623,7 @@
-
- /* We have to clear the layout, fonts etc. may have changed */
- gtk_label_clear_layout (label);
-+ gtk_widget_queue_resize (GTK_WIDGET (label));
- }
-
- static void
diff --git a/packages/gtk+/gtk+-2.10.1/hardcoded_libtool.patch b/packages/gtk+/gtk+-2.10.1/hardcoded_libtool.patch
deleted file mode 100644
index bdbdb32f97..0000000000
--- a/packages/gtk+/gtk+-2.10.1/hardcoded_libtool.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- gtk+-2.10.0/configure.in.orig 2006-07-07 09:31:34.000000000 +0100
-+++ gtk+-2.10.0/configure.in 2006-07-07 09:32:49.000000000 +0100
-@@ -370,7 +370,7 @@
- AC_MSG_CHECKING([Whether to write dependencies into .pc files])
- case $enable_explicit_deps in
- auto)
-- deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
-+ deplibs_check_method=`(./$host_alias-libtool --config; echo eval echo \\$deplibs_check_method) | sh`
- if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
- enable_explicit_deps=yes
- else
-@@ -768,7 +768,7 @@
- dnl Now we check to see if our libtool supports shared lib deps
- dnl (in a rather ugly way even)
- if $dynworks; then
-- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
-+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
- pixbuf_deplibs_check=`$pixbuf_libtool_config | \
- grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
- sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -1600,7 +1600,7 @@
- #
- # We are using gmodule-no-export now, but I'm leaving the stripping
- # code in place for now, since pango and atk still require gmodule.
--export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-+export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
- if test -n "$export_dynamic"; then
- GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
- GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/packages/gtk+/gtk+-2.10.1/menu-deactivate.patch b/packages/gtk+/gtk+-2.10.1/menu-deactivate.patch
deleted file mode 100644
index cfb8849e9f..0000000000
--- a/packages/gtk+/gtk+-2.10.1/menu-deactivate.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- gtk+-2.10.0/gtk/gtkmenushell.c.orig 2006-07-05 17:17:34.000000000 +0200
-+++ gtk+-2.10.0/gtk/gtkmenushell.c 2006-07-05 17:19:01.000000000 +0200
-@@ -42,7 +42,7 @@
- #include "gtkintl.h"
- #include "gtkalias.h"
-
--#define MENU_SHELL_TIMEOUT 500
-+#define MENU_SHELL_TIMEOUT 2000
-
- #define PACK_DIRECTION(m) \
- (GTK_IS_MENU_BAR (m) \
-@@ -203,6 +203,8 @@
-
- G_DEFINE_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER)
-
-+static int last_crossing_time;
-+
- static void
- gtk_menu_shell_class_init (GtkMenuShellClass *klass)
- {
-@@ -517,6 +519,7 @@
- gtk_grab_add (GTK_WIDGET (menu_shell));
- menu_shell->have_grab = TRUE;
- menu_shell->active = TRUE;
-+ last_crossing_time = 0;
- }
- }
-
-@@ -669,6 +672,13 @@
- menu_shell->activate_time = 0;
- deactivate = FALSE;
- }
-+
-+ if (last_crossing_time != 0
-+ && ((event->time - last_crossing_time) < 500))
-+ {
-+ last_crossing_time = 0;
-+ deactivate = FALSE;
-+ }
-
- if (deactivate)
- {
-@@ -716,6 +726,8 @@
- {
- menu_item = gtk_get_event_widget ((GdkEvent*) event);
-
-+ last_crossing_time = event->time;
-+
- if (!menu_item ||
- (GTK_IS_MENU_ITEM (menu_item) &&
- !_gtk_menu_item_is_selectable (menu_item)))
diff --git a/packages/gtk+/gtk+-2.10.1/migration.patch b/packages/gtk+/gtk+-2.10.1/migration.patch
deleted file mode 100644
index 4850f85e4f..0000000000
--- a/packages/gtk+/gtk+-2.10.1/migration.patch
+++ /dev/null
@@ -1,615 +0,0 @@
-Index: configure.in
-===================================================================
-RCS file: /cvs/gnome/gtk+/configure.in,v
-retrieving revision 1.419.2.4
-diff -u -r1.419.2.4 configure.in
---- configure.in 8 Feb 2005 21:39:42 -0000 1.419.2.4
-+++ configure.in 27 Feb 2005 13:10:16 -0000
-@@ -1495,6 +1495,16 @@
- GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
- GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
-
-+AC_ARG_ENABLE(display-migration,
-+ [AC_HELP_STRING([--enable-display-migration],
-+ [include support for GPE_CHANGE_DISPLAY protocol])],
-+ enable_migration=yes, enable_migration=no)
-+if test "$enable_migration" = "yes"; then
-+ AC_DEFINE([ENABLE_MIGRATION], 1, [Define if display migration is enabled])
-+ GTK_DEP_LIBS="$GTK_DEP_LIBS -lgcrypt"
-+fi
-+AM_CONDITIONAL(ENABLE_MIGRATION, test $enable_migration = "yes")
-+
- AC_SUBST(GTK_PACKAGES)
- AC_SUBST(GTK_EXTRA_LIBS)
- AC_SUBST(GTK_EXTRA_CFLAGS)
-Index: gtk/Makefile.am
-===================================================================
-RCS file: /cvs/gnome/gtk+/gtk/Makefile.am,v
-retrieving revision 1.266.2.1
-diff -u -r1.266.2.1 Makefile.am
---- gtk/Makefile.am 13 Jan 2005 15:18:21 -0000 1.266.2.1
-+++ gtk/Makefile.am 27 Feb 2005 13:10:17 -0000
-@@ -520,6 +520,10 @@
- gtkwindow.c \
- xembed.h
-
-+if ENABLE_MIGRATION
-+gtk_c_sources += gtkmigration.c
-+endif
-+
- if OS_UNIX
- gtk_private_h_sources += gtkfilesystemunix.h
- gtk_c_sources += gtkfilesystemunix.c
-Index: gtk/gtkmain.c
-===================================================================
-RCS file: /cvs/gnome/gtk+/gtk/gtkmain.c,v
-retrieving revision 1.255
-diff -u -r1.255 gtkmain.c
---- gtk/gtkmain.c 27 Dec 2004 05:25:15 -0000 1.255
-+++ gtk/gtkmain.c 27 Feb 2005 13:10:19 -0000
-@@ -491,6 +491,10 @@
- _gtk_accel_map_init ();
- _gtk_rc_init ();
-
-+#ifdef ENABLE_MIGRATION
-+ gtk_migration_init ();
-+#endif
-+
- /* Set the 'initialized' flag.
- */
- gtk_initialized = TRUE;
---- /dev/null 2005-02-20 01:07:50.714416160 +0000
-+++ gtk/gtkmigration.c 2005-02-27 15:05:04.052757352 +0000
-@@ -0,0 +1,529 @@
-+/*
-+ * Copyright (C) 2003, 2005 Philip Blundell <philb@gnu.org>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version
-+ * 2 of the License, or (at your option) any later version.
-+ */
-+
-+#include <stdlib.h>
-+#include <ctype.h>
-+#include <libintl.h>
-+#include <string.h>
-+#include <assert.h>
-+
-+#include <X11/X.h>
-+#include <X11/Xlib.h>
-+#include <X11/Xatom.h>
-+
-+#include <gcrypt.h>
-+
-+#include "gtk.h"
-+#include "gdk.h"
-+#include "x11/gdkx.h"
-+
-+#define _(x) gettext(x)
-+
-+static GdkAtom string_gdkatom, display_change_gdkatom;
-+static GdkAtom rsa_challenge_gdkatom;
-+
-+#define DISPLAY_CHANGE_SUCCESS 0
-+#define DISPLAY_CHANGE_UNABLE_TO_CONNECT 1
-+#define DISPLAY_CHANGE_NO_SUCH_SCREEN 2
-+#define DISPLAY_CHANGE_AUTHENTICATION_BAD 3
-+#define DISPLAY_CHANGE_INDETERMINATE_ERROR 4
-+
-+static gboolean no_auth;
-+
-+static GSList *all_widgets;
-+
-+static gboolean gtk_migration_initialised;
-+
-+#define CHALLENGE_LEN 64
-+
-+gchar *gtk_migration_auth_challenge_string;
-+
-+static unsigned char challenge_bytes[CHALLENGE_LEN];
-+static unsigned long challenge_seq;
-+
-+#define hexbyte(x) ((x) >= 10 ? (x) + 'a' - 10 : (x) + '0')
-+
-+struct rsa_key
-+{
-+ gcry_mpi_t n, e, d, p, q, u;
-+};
-+
-+static gcry_mpi_t
-+mpi_from_sexp (gcry_sexp_t r, char *tag)
-+{
-+ gcry_sexp_t s = gcry_sexp_find_token (r, tag, 0);
-+ return gcry_sexp_nth_mpi (s, 1, GCRYMPI_FMT_USG);
-+}
-+
-+static char *
-+hex_from_mpi (gcry_mpi_t m)
-+{
-+ char *buf;
-+ gcry_mpi_aprint (GCRYMPI_FMT_HEX, (void *)&buf, NULL, m);
-+ return buf;
-+}
-+
-+static void
-+gtk_migration_crypt_create_hash (char *display, char *challenge, size_t len, char *result)
-+{
-+ size_t dlen = strlen (display);
-+ gchar *buf = g_malloc (dlen + 1 + len);
-+ strcpy (buf, display);
-+ memcpy (buf + dlen + 1, challenge, len);
-+ gcry_md_hash_buffer (GCRY_MD_SHA1, result, buf, len + dlen + 1);
-+ g_free (buf);
-+}
-+
-+static int
-+do_encode_md (const unsigned char *digest, size_t digestlen, int algo,
-+ unsigned int nbits, gcry_mpi_t *r_val)
-+{
-+ int nframe = (nbits+7) / 8;
-+ unsigned char *frame;
-+ int i, n;
-+ unsigned char asn[100];
-+ size_t asnlen;
-+
-+ asnlen = sizeof(asn);
-+ if (gcry_md_algo_info (algo, GCRYCTL_GET_ASNOID, asn, &asnlen))
-+ return -1;
-+
-+ if (digestlen + asnlen + 4 > nframe )
-+ return -1;
-+
-+ /* We encode the MD in this way:
-+ *
-+ * 0 1 PAD(n bytes) 0 ASN(asnlen bytes) MD(len bytes)
-+ *
-+ * PAD consists of FF bytes.
-+ */
-+ frame = g_malloc (nframe);
-+ n = 0;
-+ frame[n++] = 0;
-+ frame[n++] = 1; /* block type */
-+ i = nframe - digestlen - asnlen -3 ;
-+ assert ( i > 1 );
-+ memset ( frame+n, 0xff, i ); n += i;
-+ frame[n++] = 0;
-+ memcpy ( frame+n, asn, asnlen ); n += asnlen;
-+ memcpy ( frame+n, digest, digestlen ); n += digestlen;
-+ assert ( n == nframe );
-+
-+ gcry_mpi_scan (r_val, GCRYMPI_FMT_USG, frame, nframe, &nframe);
-+ g_free (frame);
-+ return 0;
-+}
-+
-+static gboolean
-+gtk_migration_crypt_check_signature (struct rsa_key *k, char *hash, char *sigbuf)
-+{
-+ gcry_mpi_t mpi, mpi2;
-+ gcry_sexp_t data, sig, key;
-+ int rc;
-+
-+ do_encode_md (hash, 20, GCRY_MD_SHA1, 1024, &mpi);
-+
-+ gcry_sexp_build (&data, NULL, "(data (value %m))", mpi);
-+
-+ gcry_mpi_release (mpi);
-+
-+ gcry_sexp_build (&key, NULL, "(public-key (rsa (n %m) (e %m)))", k->n, k->e);
-+
-+ if (gcry_mpi_scan (&mpi2, GCRYMPI_FMT_HEX, sigbuf, 0, NULL))
-+ {
-+ gcry_sexp_release (data);
-+ return FALSE;
-+ }
-+
-+ gcry_sexp_build (&sig, NULL, "(sig-val (rsa (s %m)))", mpi2);
-+
-+ rc = gcry_pk_verify (sig, data, key);
-+
-+ gcry_sexp_release (data);
-+ gcry_sexp_release (key);
-+ gcry_sexp_release (sig);
-+ gcry_mpi_release (mpi2);
-+
-+ if (rc)
-+ return FALSE;
-+
-+ return TRUE;
-+}
-+
-+static void
-+gtk_migration_auth_update_challenge (void)
-+{
-+ int i;
-+ unsigned char *p;
-+
-+ if (gtk_migration_auth_challenge_string == NULL)
-+ gtk_migration_auth_challenge_string = g_malloc ((CHALLENGE_LEN * 2) + 9);
-+
-+ p = gtk_migration_auth_challenge_string;
-+
-+ for (i = 0; i < CHALLENGE_LEN; i++)
-+ {
-+ *p++ = hexbyte (challenge_bytes[i] >> 4);
-+ *p++ = hexbyte (challenge_bytes[i] & 15);
-+ }
-+
-+ sprintf (p, "%08lx", challenge_seq++);
-+}
-+
-+static void
-+gtk_migration_auth_generate_challenge (void)
-+{
-+ gcry_randomize (challenge_bytes, sizeof (challenge_bytes), GCRY_STRONG_RANDOM);
-+ gtk_migration_auth_update_challenge ();
-+}
-+
-+static struct rsa_key *
-+parse_pubkey (char *s)
-+{
-+ struct rsa_key *r;
-+ gcry_mpi_t n, e;
-+ gchar *sp;
-+
-+ sp = strtok (s, " \n");
-+ gcry_mpi_scan (&e, GCRYMPI_FMT_HEX, sp, 0, NULL);
-+ sp = strtok (NULL, " \n");
-+ gcry_mpi_scan (&n, GCRYMPI_FMT_HEX, sp, 0, NULL);
-+
-+ r = g_malloc0 (sizeof (struct rsa_key));
-+ r->e = e;
-+ r->n = n;
-+ return r;
-+}
-+
-+static struct rsa_key *
-+lookup_pubkey (u_int32_t id)
-+{
-+ const gchar *home_dir = g_get_home_dir ();
-+ gchar *filename = g_strdup_printf ("%s/.gpe/migrate/public", home_dir);
-+ FILE *fp = fopen (filename, "r");
-+ struct rsa_key *r = NULL;
-+
-+ if (fp)
-+ {
-+ while (!feof (fp))
-+ {
-+ char buffer[4096];
-+ if (fgets (buffer, 4096, fp))
-+ {
-+ char *p;
-+ u_int32_t this_id = strtoul (buffer, &p, 16);
-+ if (p != buffer && *p == ' ')
-+ {
-+#ifdef DEBUG
-+ fprintf (stderr, "found id %x\n", this_id);
-+#endif
-+ if (this_id == id)
-+ {
-+ r = parse_pubkey (++p);
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ fclose (fp);
-+ }
-+
-+ g_free (filename);
-+ return r;
-+}
-+
-+static void
-+free_pubkey (struct rsa_key *k)
-+{
-+ gcry_mpi_release (k->n);
-+ gcry_mpi_release (k->e);
-+
-+ g_free (k);
-+}
-+
-+static gboolean
-+gtk_migration_auth_validate_request (char *display, char *data)
-+{
-+ u_int32_t key_id;
-+ char *ep;
-+ char *p;
-+ struct rsa_key *k;
-+ char hash[20];
-+ gboolean rc;
-+
-+ p = strchr (data, ' ');
-+ if (p == NULL)
-+ return FALSE;
-+ *p++ = 0;
-+
-+ key_id = strtoul (data, &ep, 16);
-+ if (*ep)
-+ return FALSE;
-+
-+ k = lookup_pubkey (key_id);
-+ if (k == NULL)
-+ return FALSE;
-+
-+ gtk_migration_crypt_create_hash (display, gtk_migration_auth_challenge_string,
-+ strlen (gtk_migration_auth_challenge_string), hash);
-+
-+ rc = gtk_migration_crypt_check_signature (k, hash, p);
-+
-+ free_pubkey (k);
-+
-+ return rc;
-+}
-+
-+static int
-+do_change_display (GtkWidget *w, char *display_name)
-+{
-+ GdkDisplay *newdisplay;
-+ guint screen_nr = 1;
-+ guint i;
-+
-+ if (display_name[0] == 0)
-+ return DISPLAY_CHANGE_INDETERMINATE_ERROR;
-+
-+ i = strlen (display_name) - 1;
-+ while (i > 0 && isdigit (display_name[i]))
-+ i--;
-+
-+ if (display_name[i] == '.')
-+ {
-+ screen_nr = atoi (display_name + i + 1);
-+ display_name[i] = 0;
-+ }
-+
-+ newdisplay = gdk_display_open (display_name);
-+ if (newdisplay)
-+ {
-+ GdkScreen *screen = gdk_display_get_screen (newdisplay, screen_nr);
-+ if (screen)
-+ {
-+ gtk_window_set_screen (GTK_WINDOW (w), screen);
-+ gdk_display_manager_set_default_display (gdk_display_manager_get (),
-+ newdisplay);
-+ return DISPLAY_CHANGE_SUCCESS;
-+ }
-+ else
-+ return DISPLAY_CHANGE_NO_SUCH_SCREEN;
-+ }
-+
-+ return DISPLAY_CHANGE_UNABLE_TO_CONNECT;
-+}
-+
-+static void
-+set_challenge_on_window (GdkWindow *window)
-+{
-+ gdk_property_change (window, rsa_challenge_gdkatom, string_gdkatom,
-+ 8, GDK_PROP_MODE_REPLACE, gtk_migration_auth_challenge_string,
-+ strlen (gtk_migration_auth_challenge_string));
-+}
-+
-+static void
-+update_challenge_on_windows (void)
-+{
-+ GSList *i;
-+
-+ gtk_migration_auth_update_challenge ();
-+
-+ for (i = all_widgets; i; i = i->next)
-+ {
-+ GtkWidget *w = GTK_WIDGET (i->data);
-+ if (w->window)
-+ set_challenge_on_window (w->window);
-+ }
-+}
-+
-+static void
-+reset_state (GdkWindow *window)
-+{
-+ gdk_property_change (window, display_change_gdkatom, string_gdkatom,
-+ 8, GDK_PROP_MODE_REPLACE, NULL, 0);
-+}
-+
-+static void
-+generate_response (GdkDisplay *gdisplay, Display *dpy, Window window, int code)
-+{
-+ XClientMessageEvent ev;
-+ Atom atom = gdk_x11_atom_to_xatom_for_display (gdisplay,
-+ display_change_gdkatom);
-+
-+ memset (&ev, 0, sizeof (ev));
-+
-+ ev.type = ClientMessage;
-+ ev.window = window;
-+ ev.message_type = atom;
-+ ev.format = 32;
-+
-+ ev.data.l[0] = window;
-+ ev.data.l[1] = code;
-+
-+ XSendEvent (dpy, DefaultRootWindow (dpy), False, SubstructureNotifyMask, (XEvent *)&ev);
-+}
-+
-+static int
-+handle_request (GdkWindow *gwindow, char *prop)
-+{
-+ GtkWidget *widget;
-+ char *target, *auth_method, *auth_data;
-+ char *p;
-+
-+ target = prop;
-+ auth_method = "NULL";
-+ auth_data = NULL;
-+
-+ p = strchr (prop, ' ');
-+ if (p)
-+ {
-+ *p = 0;
-+ auth_method = ++p;
-+
-+ p = strchr (p, ' ');
-+ if (p)
-+ {
-+ *p = 0;
-+ auth_data = ++p;
-+ }
-+ }
-+
-+ if (no_auth == FALSE)
-+ {
-+ if (!strcasecmp (auth_method, "null"))
-+ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
-+ else if (!strcasecmp (auth_method, "rsa-sig"))
-+ {
-+ if (gtk_migration_auth_validate_request (target, auth_data) == FALSE)
-+ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
-+ }
-+ else
-+ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
-+ }
-+
-+ gdk_window_get_user_data (gwindow, (gpointer*) &widget);
-+
-+ if (widget)
-+ return do_change_display (widget, target);
-+
-+ return DISPLAY_CHANGE_INDETERMINATE_ERROR;
-+}
-+
-+static GdkFilterReturn
-+filter_func (GdkXEvent *xevp, GdkEvent *ev, gpointer p)
-+{
-+ XPropertyEvent *xev = (XPropertyEvent *)xevp;
-+
-+ if (xev->type == PropertyNotify)
-+ {
-+ GdkDisplay *gdisplay;
-+ Atom atom;
-+
-+ gdisplay = gdk_x11_lookup_xdisplay (xev->display);
-+ if (gdisplay)
-+ {
-+ atom = gdk_x11_atom_to_xatom_for_display (gdisplay, display_change_gdkatom);
-+
-+ if (xev->atom == atom)
-+ {
-+ GdkWindow *gwindow;
-+
-+ gwindow = gdk_window_lookup_for_display (gdisplay, xev->window);
-+
-+ if (gwindow)
-+ {
-+ GdkAtom actual_type;
-+ gint actual_format;
-+ gint actual_length;
-+ unsigned char *prop = NULL;
-+
-+ if (gdk_property_get (gwindow, display_change_gdkatom, string_gdkatom,
-+ 0, G_MAXLONG, FALSE, &actual_type, &actual_format,
-+ &actual_length, &prop))
-+ {
-+ if (actual_length != 0)
-+ {
-+ if (actual_type == string_gdkatom && actual_length > 8)
-+ {
-+ gchar *buf = g_malloc (actual_length + 1);
-+ int rc;
-+
-+ memcpy (buf, prop, actual_length);
-+ buf[actual_length] = 0;
-+
-+ rc = handle_request (gwindow, buf);
-+
-+ g_free (buf);
-+ generate_response (gdisplay, xev->display, xev->window, rc);
-+
-+ if (rc == DISPLAY_CHANGE_SUCCESS)
-+ update_challenge_on_windows ();
-+ }
-+
-+ reset_state (gwindow);
-+ }
-+ }
-+
-+ if (prop)
-+ g_free (prop);
-+ }
-+ }
-+
-+ return GDK_FILTER_REMOVE;
-+ }
-+ }
-+
-+ return GDK_FILTER_CONTINUE;
-+}
-+
-+static void
-+unrealize_window (GtkWidget *w)
-+{
-+ all_widgets = g_slist_remove (all_widgets, w);
-+}
-+
-+void
-+gtk_migration_mark_window (GtkWidget *w)
-+{
-+ if (! gtk_migration_initialised)
-+ {
-+ g_warning ("gtk_migration not initialised yet");
-+ return;
-+ }
-+
-+ if (GTK_WIDGET_REALIZED (w))
-+ {
-+ GdkWindow *window = w->window;
-+
-+ gdk_window_add_filter (window, filter_func, NULL);
-+
-+ reset_state (window);
-+ set_challenge_on_window (window);
-+
-+ all_widgets = g_slist_append (all_widgets, w);
-+
-+ g_signal_connect (G_OBJECT (w), "unrealize", G_CALLBACK (unrealize_window), NULL);
-+ }
-+ else
-+ g_signal_connect (G_OBJECT (w), "realize", G_CALLBACK (gtk_migration_mark_window), NULL);
-+}
-+
-+void
-+gtk_migration_init (void)
-+{
-+ if (getenv ("GPE_DISPLAY_MIGRATION_NO_AUTH") != NULL)
-+ no_auth = TRUE;
-+
-+ string_gdkatom = gdk_atom_intern ("STRING", FALSE);
-+ display_change_gdkatom = gdk_atom_intern ("_GPE_DISPLAY_CHANGE", FALSE);
-+ rsa_challenge_gdkatom = gdk_atom_intern ("_GPE_DISPLAY_CHANGE_RSA_CHALLENGE", FALSE);
-+
-+ gtk_migration_auth_generate_challenge ();
-+
-+ gtk_migration_initialised = TRUE;
-+}
---- gtk/gtkwindow.c~ 2006-07-05 13:07:08.000000000 +0200
-+++ gtk/gtkwindow.c 2006-07-05 13:07:08.000000000 +0200
-@@ -50,6 +50,9 @@
- #include "x11/gdkx.h"
- #endif
-
-+extern void gtk_migration_mark_window (GtkWidget *w);
-+
-+
- enum {
- SET_FOCUS,
- FRAME_EVENT,
-@@ -823,6 +826,10 @@
-
- g_signal_connect (window->screen, "composited_changed",
- G_CALLBACK (gtk_window_on_composited_changed), window);
-+
-+#ifdef ENABLE_MIGRATION
-+ gtk_migration_mark_window (window);
-+#endif
- }
-
- static void
diff --git a/packages/gtk+/gtk+-2.10.1/no-demos.patch b/packages/gtk+/gtk+-2.10.1/no-demos.patch
deleted file mode 100644
index 0fc4c48d1a..0000000000
--- a/packages/gtk+/gtk+-2.10.1/no-demos.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- gtk+-2.10.1/Makefile.am.orig 2006-08-08 12:37:30.000000000 +0100
-+++ gtk+-2.10.1/Makefile.am 2006-08-08 12:37:48.000000000 +0100
-@@ -1,6 +1,6 @@
- ## Makefile.am for GTK+
-
--SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
-+SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
- SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
-
- # require automake 1.4
diff --git a/packages/gtk+/gtk+-2.10.1/no-xwc.patch b/packages/gtk+/gtk+-2.10.1/no-xwc.patch
deleted file mode 100644
index affb4a303e..0000000000
--- a/packages/gtk+/gtk+-2.10.1/no-xwc.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c
---- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2004-11-30 14:57:14 +00:00
-+++ gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2005-01-02 15:38:06 +00:00
-@@ -576,12 +576,14 @@
- GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
- }
- }
-+#ifdef HAVE_XWC
- else if (font->type == GDK_FONT_FONTSET)
- {
- XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
- XmbDrawString (xdisplay, impl->xid,
- fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
- }
-+#endif
- else
- g_error("undefined font type\n");
- }
-@@ -613,6 +615,7 @@
- GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
- g_free (text_8bit);
- }
-+#ifdef HAVE_XWC
- else if (font->type == GDK_FONT_FONTSET)
- {
- if (sizeof(GdkWChar) == sizeof(wchar_t))
-@@ -633,6 +636,7 @@
- g_free (text_wchar);
- }
- }
-+#endif
- else
- g_error("undefined font type\n");
- }
-diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c gtk+-2.6.0/gdk/x11/gdkfont-x11.c
---- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2004-08-26 01:23:46 +01:00
-+++ gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2005-01-02 15:45:39 +00:00
-@@ -525,10 +525,12 @@
- width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
- }
- break;
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- fontset = (XFontSet) private->xfont;
- width = XmbTextEscapement (fontset, text, text_length);
- break;
-+#endif
- default:
- width = 0;
- }
-@@ -578,6 +580,7 @@
- width = 0;
- }
- break;
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- if (sizeof(GdkWChar) == sizeof(wchar_t))
- {
-@@ -595,6 +598,7 @@
- g_free (text_wchar);
- }
- break;
-+#endif
- default:
- width = 0;
- }
-@@ -667,6 +671,7 @@
- if (descent)
- *descent = overall.descent;
- break;
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- fontset = (XFontSet) private->xfont;
- XmbTextExtents (fontset, text, text_length, &ink, &logical);
-@@ -681,6 +686,7 @@
- if (descent)
- *descent = ink.y + ink.height;
- break;
-+#endif
- }
-
- }
-@@ -753,6 +759,7 @@
- *descent = overall.descent;
- break;
- }
-+#ifdef HAVE_XWC
- case GDK_FONT_FONTSET:
- fontset = (XFontSet) private->xfont;
-
-@@ -780,6 +787,7 @@
- if (descent)
- *descent = ink.y + ink.height;
- break;
-+#endif
- }
-
- }
-diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c gtk+-2.6.0/gdk/x11/gdkim-x11.c
---- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c 2004-11-17 00:55:10 +00:00
-+++ gtk+-2.6.0/gdk/x11/gdkim-x11.c 2005-01-02 15:42:04 +00:00
-@@ -48,6 +48,7 @@
- void
- _gdk_x11_initialize_locale (void)
- {
-+#ifdef HAVE_XWC
- wchar_t result;
- gchar *current_locale;
- static char *last_locale = NULL;
-@@ -93,7 +94,8 @@
- GDK_NOTE (XIM,
- g_message ("%s multi-byte string functions.",
- gdk_use_mb ? "Using" : "Not using"));
--
-+#endif
-+
- return;
- }
-
-@@ -136,6 +138,7 @@
- {
- gchar *mbstr;
-
-+#ifdef HAVE_XWC
- if (gdk_use_mb)
- {
- GdkDisplay *display = find_a_display ();
-@@ -178,6 +181,7 @@
- XFree (tpr.value);
- }
- else
-+#endif
- {
- gint length = 0;
- gint i;
-@@ -210,6 +214,7 @@
- gint
- gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
- {
-+#ifdef HAVE_XWC
- if (gdk_use_mb)
- {
- GdkDisplay *display = find_a_display ();
-@@ -242,6 +247,7 @@
- return len_cpy;
- }
- else
-+#endif
- {
- gint i;
-
diff --git a/packages/gtk+/gtk+-2.10.1/run-iconcache.patch b/packages/gtk+/gtk+-2.10.1/run-iconcache.patch
deleted file mode 100644
index f0bb6ba842..0000000000
--- a/packages/gtk+/gtk+-2.10.1/run-iconcache.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- gtk+-2.10.0/gtk/Makefile.am~ 2006-07-05 16:49:16.000000000 +0200
-+++ gtk+-2.10.0/gtk/Makefile.am 2006-07-05 16:49:16.000000000 +0200
-@@ -1088,11 +1088,11 @@
- done \
- && touch stamp-icons
-
--gtkbuiltincache.h: @REBUILD@ stamp-icons
-- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache
-- GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
-- ./gtk-update-icon-cache --force --ignore-theme-index \
-- --source builtin_icons stock-icons > gtkbuiltincache.h
-+#gtkbuiltincache.h: @REBUILD@ stamp-icons
-+# $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache
-+# GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
-+# ./gtk-update-icon-cache --force --ignore-theme-index \
-+# --source builtin_icons stock-icons > gtkbuiltincache.h
-
- EXTRA_DIST += \
- $(STOCK_ICONS) \
diff --git a/packages/gtk+/gtk+-2.10.1/scroll-timings.patch b/packages/gtk+/gtk+-2.10.1/scroll-timings.patch
deleted file mode 100644
index 3f823a7880..0000000000
--- a/packages/gtk+/gtk+-2.10.1/scroll-timings.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gtk+-2.10.0/gtk/gtkrange.c.orig 2006-07-05 12:41:39.000000000 +0200
-+++ gtk+-2.10.0/gtk/gtkrange.c 2006-07-05 12:41:58.000000000 +0200
-@@ -39,7 +39,7 @@
- #include "gtkalias.h"
-
- #define SCROLL_DELAY_FACTOR 5 /* Scroll repeat multiplier */
--#define UPDATE_DELAY 300 /* Delay for queued update */
-+#define UPDATE_DELAY 1000 /* Delay for queued update */
-
- enum {
- PROP_0,
diff --git a/packages/gtk+/gtk+-2.10.1/single-click.patch b/packages/gtk+/gtk+-2.10.1/single-click.patch
deleted file mode 100644
index 3bb208d4d6..0000000000
--- a/packages/gtk+/gtk+-2.10.1/single-click.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c gtk+-2.6.3/gtk/gtkcalendar.c
---- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 16:57:04 +01:00
-+++ gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 20:05:18 +01:00
-@@ -1023,9 +1023,11 @@
- }
-
- gtk_calendar_select_and_focus_day (calendar, day);
-- }
-+
-+ // This change causes the calendar to disappear after choosing a day
-+/* }
- else if (event->type == GDK_2BUTTON_PRESS)
-- {
-+ {*/
- private_data->in_drag = 0;
- if (day_month == MONTH_CURRENT)
- g_signal_emit (calendar,
-diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c gtk+-2.6.3/gtk/gtkfilesel.c
---- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-06 16:57:07 +01:00
-+++ gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-07 13:40:32 +01:00
-@@ -2468,6 +2468,33 @@
- if (fs->last_selected != NULL)
- g_free (fs->last_selected);
-
-+ // Single-click directory entry
-+ if (new_names->len == 1)
-+ {
-+ GtkTreeView *tree_view;
-+ GtkTreeModel *model;
-+ GtkTreePath *path;
-+ GtkTreeIter iter;
-+ gboolean is_file;
-+
-+ tree_view = gtk_tree_selection_get_tree_view (selection);
-+
-+ if (gtk_tree_selection_get_selected (selection, &model, &iter))
-+ {
-+ path = gtk_tree_model_get_path (model, &iter);
-+ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
-+
-+ if (!is_file)
-+ {
-+ gtk_file_selection_dir_activate (tree_view, path,
-+ gtk_tree_view_get_column (tree_view, DIR_COLUMN),
-+ user_data);
-+ }
-+
-+ gtk_tree_path_free (path);
-+ }
-+ }
-+
- fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
- filename = get_real_filename (fs->last_selected, FALSE);
-
diff --git a/packages/gtk+/gtk+-2.10.1/small-gtkfilesel.patch b/packages/gtk+/gtk+-2.10.1/small-gtkfilesel.patch
deleted file mode 100644
index 20bf4cf366..0000000000
--- a/packages/gtk+/gtk+-2.10.1/small-gtkfilesel.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c
---- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100
-+++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100
-@@ -68,6 +68,7 @@
- #include "gtkprivate.h"
- #include "gtkscrolledwindow.h"
- #include "gtkstock.h"
-+#include "gtksignal.h"
- #include "gtktreeselection.h"
- #include "gtktreeview.h"
- #include "gtkvbox.h"
-@@ -77,6 +78,7 @@
- #include "gtkmessagedialog.h"
- #include "gtkdnd.h"
- #include "gtkeventbox.h"
-+#include "gtkimage.h"
-
- #undef GTK_DISABLE_DEPRECATED
- #include "gtkoptionmenu.h"
-@@ -245,7 +247,8 @@
- };
-
- enum {
-- DIR_COLUMN
-+ DIR_COLUMN,
-+ ISFILE_COLUMN
- };
-
- enum {
-@@ -400,6 +403,12 @@
- GtkTreePath *path,
- GtkTreeViewColumn *column,
- gpointer user_data);
-+
-+static void gtk_file_selection_activate (GtkTreeView *tree_view,
-+ GtkTreePath *path,
-+ GtkTreeViewColumn *column,
-+ gpointer user_data);
-+
- static void gtk_file_selection_file_changed (GtkTreeSelection *selection,
- gpointer user_data);
- static void gtk_file_selection_dir_activate (GtkTreeView *tree_view,
-@@ -419,6 +428,7 @@
- static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data);
- static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data);
- static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data);
-+static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style);
-
- static void free_selected_names (GPtrArray *names);
-
-@@ -578,6 +588,23 @@
- G_PARAM_WRITABLE));
- object_class->destroy = gtk_file_selection_destroy;
- widget_class->map = gtk_file_selection_map;
-+ widget_class->style_set = gtk_file_selection_style_set;
-+
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_boolean ("show_fileops_default",
-+ _("Show fileop buttons by default"),
-+ _("Whether file operation buttons are shown by default"),
-+ TRUE,
-+ G_PARAM_READABLE));
-+
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_int ("border_width",
-+ _("Border width"),
-+ _("Width of border around the main dialog area"),
-+ 0,
-+ G_MAXINT,
-+ 10,
-+ G_PARAM_READABLE));
- }
-
- static void gtk_file_selection_set_property (GObject *object,
-@@ -649,7 +676,29 @@
- gtk_widget_grab_default (widget);
- return FALSE;
- }
--
-+
-+static void
-+gtk_file_selection_style_set (GtkWidget *filesel,
-+ GtkStyle *prev_style)
-+{
-+ gboolean show_fileops;
-+ gint border_width;
-+
-+ gtk_widget_style_get (filesel,
-+ "show_fileops_default",
-+ &show_fileops,
-+ "border_width",
-+ &border_width,
-+ NULL);
-+
-+ gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width);
-+
-+ if (show_fileops)
-+ gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel));
-+ else
-+ gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel));
-+}
-+
- static void
- gtk_file_selection_init (GtkFileSelection *filesel)
- {
-@@ -674,17 +723,15 @@
-
- /* The dialog-sized vertical box */
- filesel->main_vbox = dialog->vbox;
-- gtk_container_set_border_width (GTK_CONTAINER (filesel), 10);
-
- /* The horizontal box containing create, rename etc. buttons */
- filesel->button_area = gtk_hbutton_box_new ();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START);
-- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0);
- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area,
- FALSE, FALSE, 0);
- gtk_widget_show (filesel->button_area);
-
-- gtk_file_selection_show_fileop_buttons (filesel);
-+ gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL);
-
- /* hbox for pulldown menu */
- pulldown_hbox = gtk_hbox_new (TRUE, 5);
-@@ -723,25 +770,32 @@
-
- /* The directories list */
-
-- model = gtk_list_store_new (1, G_TYPE_STRING);
-+ model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */
- filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
- g_object_unref (model);
-
-- column = gtk_tree_view_column_new_with_attributes (_("Folders"),
-+ column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL,
- gtk_cell_renderer_text_new (),
- "text", DIR_COLUMN,
- NULL);
- label = gtk_label_new_with_mnemonic (_("Fol_ders"));
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list);
- gtk_widget_show (label);
-- gtk_tree_view_column_set_widget (column, label);
-+
-+ /* gtk_tree_view_column_set_widget (column, label); */
-+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE);
-+
- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column);
-
- gtk_widget_set_size_request (filesel->dir_list,
- DIR_LIST_WIDTH, DIR_LIST_HEIGHT);
- g_signal_connect (filesel->dir_list, "row_activated",
-- G_CALLBACK (gtk_file_selection_dir_activate), filesel);
-+ G_CALLBACK (gtk_file_selection_activate), filesel);
-+
-+ g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed",
-+ G_CALLBACK (gtk_file_selection_file_changed), filesel);
-+
-
- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */
-
-@@ -758,41 +812,6 @@
- gtk_widget_show (filesel->dir_list);
- gtk_widget_show (scrolled_win);
-
-- /* The files list */
-- model = gtk_list_store_new (1, G_TYPE_STRING);
-- filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
-- g_object_unref (model);
--
-- column = gtk_tree_view_column_new_with_attributes (_("Files"),
-- gtk_cell_renderer_text_new (),
-- "text", FILE_COLUMN,
-- NULL);
-- label = gtk_label_new_with_mnemonic (_("_Files"));
-- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list);
-- gtk_widget_show (label);
-- gtk_tree_view_column_set_widget (column, label);
-- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column);
--
-- gtk_widget_set_size_request (filesel->file_list,
-- FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
-- g_signal_connect (filesel->file_list, "row_activated",
-- G_CALLBACK (gtk_file_selection_file_activate), filesel);
-- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed",
-- G_CALLBACK (gtk_file_selection_file_changed), filesel);
--
-- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */
--
-- scrolled_win = gtk_scrolled_window_new (NULL, NULL);
-- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN);
-- gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
-- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
-- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
-- gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0);
-- gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
-- gtk_widget_show (filesel->file_list);
-- gtk_widget_show (scrolled_win);
--
- /* action area for packing buttons into. */
- filesel->action_area = gtk_hbox_new (TRUE, 0);
- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area,
-@@ -2008,6 +2027,23 @@
- }
-
- static void
-+gtk_file_selection_activate (GtkTreeView *tree_view,
-+ GtkTreePath *path,
-+ GtkTreeViewColumn *column,
-+ gpointer user_data)
-+{
-+ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
-+ GtkTreeIter iter;
-+ gboolean is_file;
-+
-+ gtk_tree_model_get_iter (model, &iter, path);
-+ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
-+
-+ if (! is_file)
-+ gtk_file_selection_dir_activate (tree_view, path, column, user_data);
-+}
-+
-+static void
- gtk_file_selection_file_activate (GtkTreeView *tree_view,
- GtkTreePath *path,
- GtkTreeViewColumn *column,
-@@ -2103,7 +2139,6 @@
- PossibleCompletion* poss;
- GtkTreeIter iter;
- GtkListStore *dir_model;
-- GtkListStore *file_model;
- gchar* filename;
- gchar* rem_path = rel_path;
- gchar* sel_text;
-@@ -2125,10 +2160,8 @@
- g_assert (cmpl_state->reference_dir);
-
- dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list)));
-- file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list)));
-
- gtk_list_store_clear (dir_model);
-- gtk_list_store_clear (file_model);
-
- /* Set the dir list to include ./ and ../ */
- gtk_list_store_append (dir_model, &iter);
-@@ -2150,13 +2183,17 @@
- strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0)
- {
- gtk_list_store_append (dir_model, &iter);
-- gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1);
-+ gtk_list_store_set (dir_model, &iter,
-+ DIR_COLUMN, filename,
-+ ISFILE_COLUMN, FALSE, -1);
- }
- }
- else
- {
-- gtk_list_store_append (file_model, &iter);
-- gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1);
-+ gtk_list_store_append (dir_model, &iter);
-+ gtk_list_store_set (dir_model, &iter,
-+ DIR_COLUMN, filename,
-+ ISFILE_COLUMN, TRUE, -1);
- }
- }
-
diff --git a/packages/gtk+/gtk+-2.10.1/spinbutton.patch b/packages/gtk+/gtk+-2.10.1/spinbutton.patch
deleted file mode 100644
index 8ad7507af0..0000000000
--- a/packages/gtk+/gtk+-2.10.1/spinbutton.patch
+++ /dev/null
@@ -1,128 +0,0 @@
---- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
-+++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
-@@ -733,7 +733,7 @@
-
- spin = GTK_SPIN_BUTTON (widget);
- arrow_size = spin_button_get_arrow_size (spin);
-- panel_width = arrow_size + 2 * widget->style->xthickness;
-+ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
-
- widget->allocation = *allocation;
-
-@@ -866,19 +866,16 @@
- {
- width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
-
-+ y = widget->style->ythickness;
-+ height = widget->requisition.height - (2 * y);
-+
- if (arrow_type == GTK_ARROW_UP)
- {
- x = 0;
-- y = 0;
--
-- height = widget->requisition.height / 2;
- }
- else
- {
-- x = 0;
-- y = widget->requisition.height / 2;
--
-- height = (widget->requisition.height + 1) / 2;
-+ x = width;
- }
-
- if (spin_button_at_limit (spin_button, arrow_type))
-@@ -908,32 +905,17 @@
- shadow_type = GTK_SHADOW_OUT;
- }
- }
--
-+
- gtk_paint_box (widget->style, spin_button->panel,
- state_type, shadow_type,
- NULL, widget,
-- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
-+ NULL,
- x, y, width, height);
-
- height = widget->requisition.height;
-
-- if (arrow_type == GTK_ARROW_DOWN)
-- {
-- y = height / 2;
-- height = height - y - 2;
-- }
-- else
-- {
-- y = 2;
-- height = height / 2 - 2;
-- }
--
- width -= 3;
--
-- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
-- x = 2;
-- else
-- x = 1;
-+ height -= 3;
-
- w = width / 2;
- w -= w % 2 - 1; /* force odd */
-@@ -1108,7 +1090,7 @@
- if (GTK_ENTRY (widget)->editable)
- gtk_spin_button_update (spin);
-
-- if (event->y <= widget->requisition.height / 2)
-+ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
- {
- if (event->button == 1)
- start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
-@@ -1143,44 +1125,11 @@
-
- arrow_size = spin_button_get_arrow_size (spin);
-
-- if (event->button == spin->button)
-- {
-- int click_child = spin->click_child;
-+ gtk_spin_button_stop_spinning (spin);
-
-- gtk_spin_button_stop_spinning (spin);
--
-- if (event->button == 3)
-- {
-- if (event->y >= 0 && event->x >= 0 &&
-- event->y <= widget->requisition.height &&
-- event->x <= arrow_size + 2 * widget->style->xthickness)
-- {
-- if (click_child == GTK_ARROW_UP &&
-- event->y <= widget->requisition.height / 2)
-- {
-- gdouble diff;
--
-- diff = spin->adjustment->upper - spin->adjustment->value;
-- if (diff > EPSILON)
-- gtk_spin_button_real_spin (spin, diff);
-- }
-- else if (click_child == GTK_ARROW_DOWN &&
-- event->y > widget->requisition.height / 2)
-- {
-- gdouble diff;
--
-- diff = spin->adjustment->value - spin->adjustment->lower;
-- if (diff > EPSILON)
-- gtk_spin_button_real_spin (spin, -diff);
-- }
-- }
-- }
-- spin_button_redraw (spin);
-+ spin_button_redraw (spin);
-
-- return TRUE;
-- }
-- else
-- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
-+ return TRUE;
- }
-
- static gint
diff --git a/packages/gtk+/gtk+-2.10.1/xsettings.patch b/packages/gtk+/gtk+-2.10.1/xsettings.patch
deleted file mode 100644
index b63e262d34..0000000000
--- a/packages/gtk+/gtk+-2.10.1/xsettings.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- gtk+-2.4.4/gdk/x11/gdkevents-x11.c.old Sun Aug 22 17:14:00 2004
-+++ gtk+-2.4.4/gdk/x11/gdkevents-x11.c Sun Aug 22 17:14:00 2004
-@@ -2827,10 +2827,9 @@
- {
- GdkScreenX11 *screen = data;
-
-- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
-- return GDK_FILTER_REMOVE;
-- else
-- return GDK_FILTER_CONTINUE;
-+ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
-+
-+ return GDK_FILTER_CONTINUE;
- }
-
- static void
diff --git a/packages/gtk+/gtk+_2.10.0.bb b/packages/gtk+/gtk+_2.10.0.bb
deleted file mode 100644
index ef1f4f1d60..0000000000
--- a/packages/gtk+/gtk+_2.10.0.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
-set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
-HOMEPAGE = "http://www.gtk.org"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo cups"
-PR = "r3"
-
-# disable per default - untested and not all patches included.
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-${PV}.tar.bz2 \
- file://no-xwc.patch;patch=1 \
- file://automake-lossage.patch;patch=1 \
- file://disable-tooltips.patch;patch=1 \
- file://gtklabel-resize-patch;patch=1 \
- file://menu-deactivate.patch;patch=1 \
- file://xsettings.patch;patch=1 \
- file://scroll-timings.patch;patch=1 \
- file://small-gtkfilesel.patch;patch=1 \
- file://migration.patch;patch=1;pnum=0 \
- file://run-iconcache.patch;patch=1 \
- file://disable-print.patch;patch=1 \
- file://hardcoded_libtool.patch;patch=1"
-# file://no-demos.patch;patch=1
-# file://gtk+-handhelds.patch;patch=1
-# file://single-click.patch;patch=1
-# file://spinbutton.patch;patch=1 \
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
- ${bindir}/gtk-query-immodules-2.0 \
- ${libdir}/lib*.so.* \
- ${datadir}/themes ${sysconfdir} \
- ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
-FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
-RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-RRECOMMENDS_${PN}_openzaurus = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-
-EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
-
-LIBV = "2.10.0"
-
-do_stage () {
- oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
- oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
- oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
- oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
-
- autotools_stage_includes
-
- mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
- install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
-
- install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
-}
-
-do_install_append () {
- install -d ${D}${sysconfdir}/gtk-2.0
-}
-
-postinst_prologue() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-}
-
-PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-* gtk-printbackend-*"
-
-python populate_packages_prepend () {
- import os.path
-
- prologue = bb.data.getVar("postinst_prologue", d, 1)
-
- gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
- loaders_root = os.path.join(gtk_libdir, 'loaders')
- immodules_root = os.path.join(gtk_libdir, 'immodules')
- printmodules_root = os.path.join(gtk_libdir, 'printbackends');
-
- do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
- do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
- do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
-
- if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
- bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
-}
diff --git a/packages/gtk+/gtk+_2.10.1.bb b/packages/gtk+/gtk+_2.10.1.bb
deleted file mode 100644
index f4441e598c..0000000000
--- a/packages/gtk+/gtk+_2.10.1.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
-set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
-HOMEPAGE = "http://www.gtk.org"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo cups"
-PR = "r0"
-
-# disable per default - untested and not all patches included.
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-${PV}.tar.bz2 \
- file://no-xwc.patch;patch=1 \
- file://automake-lossage.patch;patch=1 \
- file://disable-tooltips.patch;patch=1 \
- file://gtklabel-resize-patch;patch=1 \
- file://menu-deactivate.patch;patch=1 \
- file://xsettings.patch;patch=1 \
- file://scroll-timings.patch;patch=1 \
- file://small-gtkfilesel.patch;patch=1 \
- file://migration.patch;patch=1;pnum=0 \
- file://run-iconcache.patch;patch=1 \
- file://disable-print.patch;patch=1 \
- file://hardcoded_libtool.patch;patch=1 \
- file://no-demos.patch;patch=1"
-# file://gtk+-handhelds.patch;patch=1
-# file://single-click.patch;patch=1
-# file://spinbutton.patch;patch=1 \
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
- ${bindir}/gtk-query-immodules-2.0 \
- ${libdir}/lib*.so.* \
- ${datadir}/themes ${sysconfdir} \
- ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
-FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
-RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-RRECOMMENDS_${PN}_openzaurus = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-
-EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
-
-LIBV = "2.10.0"
-
-do_stage () {
- oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
- oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
- oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
- oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
-
- autotools_stage_includes
-
- mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
- install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
-
- install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
-}
-
-do_install_append () {
- install -d ${D}${sysconfdir}/gtk-2.0
-}
-
-postinst_prologue() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-}
-
-PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-* gtk-printbackend-*"
-
-python populate_packages_prepend () {
- import os.path
-
- prologue = bb.data.getVar("postinst_prologue", d, 1)
-
- gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
- loaders_root = os.path.join(gtk_libdir, 'loaders')
- immodules_root = os.path.join(gtk_libdir, 'immodules')
- printmodules_root = os.path.join(gtk_libdir, 'printbackends');
-
- do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
- do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
- do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
-
- if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
- bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
-}
diff --git a/packages/gtk+/gtk+_2.10.3.bb b/packages/gtk+/gtk+_2.10.3.bb
index f4441e598c..700d051ce9 100644
--- a/packages/gtk+/gtk+_2.10.3.bb
+++ b/packages/gtk+/gtk+_2.10.3.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo cups"
-PR = "r0"
+PR = "r2"
# disable per default - untested and not all patches included.
DEFAULT_PREFERENCE = "-1"
@@ -31,15 +31,27 @@ SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-${PV}.tar.bz2 \
inherit autotools pkgconfig
FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-update-icon-cache \
${bindir}/gtk-query-immodules-2.0 \
${libdir}/lib*.so.* \
${datadir}/themes ${sysconfdir} \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
-FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
-RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-RRECOMMENDS_${PN}_openzaurus = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
+FILES_${PN}-dev += " \
+ ${datadir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
+ ${bindir}/gdk-pixbuf-csource"
+FILES_${PN}-dbg += " \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*"
+
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
+RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 ttf-dejavu-sans gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
+RRECOMMENDS_${PN}_openzaurus = "glibc-gconv-iso8859-1 ttf-dejavu-sans gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
diff --git a/packages/gtk+/gtk+_2.4.13.bb b/packages/gtk+/gtk+_2.4.13.bb
index 9fdef71c1f..83f6be1982 100644
--- a/packages/gtk+/gtk+_2.4.13.bb
+++ b/packages/gtk+/gtk+_2.4.13.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor"
-PR = "r6"
+PR = "r7"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.4/gtk+-${PV}.tar.bz2 \
file://no-demos.patch;patch=1 \
@@ -36,7 +36,7 @@ FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
${datadir}/themes ${sysconfdir}"
FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
EXTRA_OECONF = "--without-libtiff --disable-xkb"
# --disable-cruft
diff --git a/packages/gtk+/gtk+_2.4.4.bb b/packages/gtk+/gtk+_2.4.4.bb
index 1d33101b3f..7849e91b92 100644
--- a/packages/gtk+/gtk+_2.4.4.bb
+++ b/packages/gtk+/gtk+_2.4.4.bb
@@ -5,7 +5,8 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor"
-PR = "r7"
+RRECOMMENDS = "ttf-dejavu-sans"
+PR = "r8"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.4/gtk+-${PV}.tar.bz2 \
file://no-demos.patch;patch=1 \
diff --git a/packages/gtk+/gtk+_2.6.10.bb b/packages/gtk+/gtk+_2.6.10.bb
index b8b65d3351..c2fe05f24d 100644
--- a/packages/gtk+/gtk+_2.6.10.bb
+++ b/packages/gtk+/gtk+_2.6.10.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
-PR = "r2"
+PR = "r4"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
file://help.patch;patch=1 \
@@ -27,13 +27,25 @@ SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
inherit autotools pkgconfig
FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-update-icon-cache \
${bindir}/gtk-query-immodules-2.0 \
${libdir}/lib*.so.* \
${datadir}/themes ${sysconfdir} \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
-FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+FILES_${PN}-dev += " \
+ ${datadir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
+ ${bindir}/gdk-pixbuf-csource"
+FILES_${PN}-dbg += " \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*"
+
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
# --disable-cruft
diff --git a/packages/gtk+/gtk+_2.6.3.bb b/packages/gtk+/gtk+_2.6.3.bb
index 4643eb557d..2805724e09 100644
--- a/packages/gtk+/gtk+_2.6.3.bb
+++ b/packages/gtk+/gtk+_2.6.3.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
-PR = "r1"
+PR = "r2"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
file://no-demos.patch;patch=1 \
@@ -32,7 +32,7 @@ FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
# --disable-cruft
diff --git a/packages/gtk+/gtk+_2.6.4-1.osso7.bb b/packages/gtk+/gtk+_2.6.4-1.osso7.bb
index 6a6d560a50..9a625d4686 100644
--- a/packages/gtk+/gtk+_2.6.4-1.osso7.bb
+++ b/packages/gtk+/gtk+_2.6.4-1.osso7.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
-PR = "r1"
+PR = "r2"
S = "${WORKDIR}/gtk+2.0-2.6.4/upstream/tarballs/gtk+-2.6.4/"
@@ -124,7 +124,7 @@ FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
# --disable-cruft
diff --git a/packages/gtk+/gtk+_2.6.7.bb b/packages/gtk+/gtk+_2.6.7.bb
index 4f43fdfecf..264e2c6cca 100644
--- a/packages/gtk+/gtk+_2.6.7.bb
+++ b/packages/gtk+/gtk+_2.6.7.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
-PR = "r1"
+PR = "r2"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
file://no-demos.patch;patch=1 \
@@ -32,7 +32,7 @@ FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
# --disable-cruft
diff --git a/packages/gtk+/gtk+_2.8.16.bb b/packages/gtk+/gtk+_2.8.16.bb
index e4ac0617a0..aba00cd90d 100644
--- a/packages/gtk+/gtk+_2.8.16.bb
+++ b/packages/gtk+/gtk+_2.8.16.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo"
-PR = "r2"
+PR = "r4"
DEFAULT_PREFERENCE = "-1"
@@ -28,15 +28,27 @@ SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-${PV}.tar.bz2 \
inherit autotools pkgconfig
+CFLAGS += " -lz "
+
FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
${bindir}/gtk-query-immodules-2.0 \
${bindir}/gtk-update-icon-cache \
${libdir}/lib*.so.* \
${datadir}/themes ${sysconfdir} \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
-FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+FILES_${PN}-dev += " \
+ ${datadir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
+ ${bindir}/gdk-pixbuf-csource"
+FILES_${PN}-dbg += " \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*"
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
# --disable-cruft
diff --git a/packages/gtk+/gtk+_2.8.9.bb b/packages/gtk+/gtk+_2.8.9.bb
index d2c3cd52e7..19b295c9a8 100644
--- a/packages/gtk+/gtk+_2.8.9.bb
+++ b/packages/gtk+/gtk+_2.8.9.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.gtk.org"
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo"
-PR = "r4"
+PR = "r6"
SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-${PV}.tar.bz2 \
file://no-xwc.patch;patch=1 \
@@ -31,12 +31,22 @@ FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
${datadir}/themes ${sysconfdir} \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so \
${bindir}/gtk-update-icon-cache"
-
-FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
-
-RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
-RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
-RRECOMMENDS_${PN}_openzaurus = "glibc-gconv-iso8859-1 gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
+FILES_${PN}-dev += " \
+ ${datadir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/include \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
+ ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
+ ${bindir}/gdk-pixbuf-csource"
+FILES_${PN}-dbg += " \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/*"
+
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1 ttf-dejavu-sans"
+RRECOMMENDS_${PN}_angstrom = "glibc-gconv-iso8859-1 ttf-dejavu-sans gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
+RRECOMMENDS_${PN}_openzaurus = "glibc-gconv-iso8859-1 ttf-dejavu-sans gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
# --disable-cruft
diff --git a/packages/gtk-engines/gtk-engines_2.7.4.bb b/packages/gtk-engines/gtk-engines_2.7.4.bb
index 29c20e1e65..7ad1acc0ca 100644
--- a/packages/gtk-engines/gtk-engines_2.7.4.bb
+++ b/packages/gtk-engines/gtk-engines_2.7.4.bb
@@ -14,14 +14,16 @@ RDEPENDS_gtk-theme-clearlooks = "gtk-engine-clearlooks"
SRC_URI = "${GNOME_MIRROR}/${PN}/2.7/${P}.tar.bz2"
-inherit autotools pkgconfig
+inherit autotools pkgconfig gtk-binver
PACKAGES_DYNAMIC = "gtk-engine-* gtk-theme-*"
python populate_packages_prepend() {
import os.path
- engines_root = os.path.join(bb.data.getVar('libdir', d, 1), "gtk-2.0/2.4.0/engines")
+ engines_ver = ['gtk-2.0/', gtkbinver_find(d), '/engines']
+
+ engines_root = os.path.join(bb.data.getVar('libdir', d, 1), ''.join(engines_ver))
themes_root = os.path.join(bb.data.getVar('datadir', d, 1), "themes")
do_split_packages(d, engines_root, '^lib(.*)\.so$', 'gtk-engine-%s', 'GTK %s theme engine', extra_depends='')
diff --git a/packages/havp/havp_0.82.bb b/packages/havp/havp_0.82.bb
index 91d25485ef..3a3cce41df 100644
--- a/packages/havp/havp_0.82.bb
+++ b/packages/havp/havp_0.82.bb
@@ -8,7 +8,7 @@ SECTION = "network"
LICENSE = "GPLv2"
DEPENDS = "clamav"
RDEPENDS_${PN} += "${PN}-templates-css2 ${PN}-templates-en"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://www.server-side.de/download/havp-${PV}.tar.gz \
file://sysconfdir-is-etc.patch;patch=1 \
@@ -59,7 +59,7 @@ PACKAGES = "${PN}-dbg ${PN}-doc \
FILES_${PN} = "${sysconfdir}/havp/blacklist ${sysconfdir}/havp/whitelist \
${sysconfdir}/havp/havp.config* \
- ${sysconfdir}/init.d ${sysconfdir}/default ${sbindir}"
+ ${sysconfdir}/init.d ${sysconfdir}/default ${sbindir}/*"
FILES_${PN}-templates-br = "${sysconfdir}/havp/templates/br"
FILES_${PN}-templates-css2 = "${sysconfdir}/havp/templates/css2"
FILES_${PN}-templates-de = "${sysconfdir}/havp/templates/de"
diff --git a/packages/images/ossie-image.bb b/packages/images/ossie-image.bb
new file mode 100644
index 0000000000..0f50f5d225
--- /dev/null
+++ b/packages/images/ossie-image.bb
@@ -0,0 +1,19 @@
+export IMAGE_BASENAME = "ossie-image"
+export IMAGE_LINGUAS = ""
+export IPKG_INSTALL = "${MACHINE_TASK_PROVIDER} task-ossie"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER} task-ossie"
+
+OSSIE_URI = "http://192.168.1.81/feed"
+
+FEED_URIS += " \
+ no-arch##${OSSIE_URI}/unstable/feed/all \
+ base##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/base \
+ python##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/python \
+ debug##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/debug \
+ ${MACHINE}##${OSSIE_URI}/unstable/feed/${TARGET_ARCH}/machine/${MACHINE}"
+
+
+inherit image_ipk
+
+LICENSE = MIT
diff --git a/packages/initscripts/initscripts-1.0/checkroot.sh b/packages/initscripts/initscripts-1.0/checkroot.sh
index 0283e1acca..3729072656 100755
--- a/packages/initscripts/initscripts-1.0/checkroot.sh
+++ b/packages/initscripts/initscripts-1.0/checkroot.sh
@@ -153,6 +153,13 @@ fi
if [ $(grep rootfs /proc/mounts | awk '{print $4}') = rw ]; then
exit 0
fi
+
+# Add a second check, which seems to be needed for some kernel versions
+if [ $(grep "/dev/root" /proc/mounts | awk '{print $4}') = rw ]; then
+ exit 0
+fi
+
+
echo "Remounting root file system..."
mount -n -o remount,$rootmode /
if test "$rootmode" = rw
diff --git a/packages/linux/handhelds-pxa-2.6/htcuniversal/.mtn2git_empty b/packages/initscripts/initscripts-1.0/logicpd-pxa270/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/htcuniversal/.mtn2git_empty
+++ b/packages/initscripts/initscripts-1.0/logicpd-pxa270/.mtn2git_empty
diff --git a/packages/initscripts/initscripts-1.0/logicpd-pxa270/checkroot.sh b/packages/initscripts/initscripts-1.0/logicpd-pxa270/checkroot.sh
new file mode 100644
index 0000000000..2a4d2a67a9
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/logicpd-pxa270/checkroot.sh
@@ -0,0 +1,179 @@
+#
+# checkroot.sh Check to root filesystem.
+#
+# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+
+#
+# Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to be spawned
+# from this script *before anything else* with a timeout, like SCO does.
+#
+test "$SULOGIN" = yes && sulogin -t 30 $CONSOLE
+
+#
+# Ensure that bdflush (update) is running before any major I/O is
+# performed (the following fsck is a good example of such activity :).
+#
+test -x /sbin/update && update
+
+#
+# Read /etc/fstab.
+#
+exec 9>&0 </etc/fstab
+
+rootmode=rw
+rootopts=rw
+rootcheck=no
+swap_on_md=no
+devfs=
+while read fs mnt type opts dump pass junk
+do
+ case "$fs" in
+ ""|\#*)
+ continue;
+ ;;
+ /dev/md*)
+ # Swap on md device.
+ test "$type" = swap && swap_on_md=yes
+ ;;
+ /dev/*)
+ ;;
+ *)
+ # Might be a swapfile.
+ test "$type" = swap && swap_on_md=yes
+ ;;
+ esac
+ test "$type" = devfs && devfs="$fs"
+ test "$mnt" != / && continue
+ rootopts="$opts"
+ test "$pass" = 0 -o "$pass" = "" && rootcheck=no
+ case "$opts" in
+ ro|ro,*|*,ro|*,ro,*)
+ rootmode=ro
+ ;;
+ esac
+done
+
+exec 0>&9 9>&-
+
+
+#
+# Activate the swap device(s) in /etc/fstab. This needs to be done
+# before fsck, since fsck can be quite memory-hungry.
+#
+doswap=no
+test -d /proc/1 || mount -n /proc
+
+case "`uname -r`" in
+ 2.[0123].*)
+ if test $swap_on_md = yes && grep -qs resync /proc/mdstat
+ then
+ test "$VERBOSE" != no && echo "Not activating swap - RAID array resyncing"
+ else
+ doswap=yes
+ fi
+ ;;
+ *)
+ doswap=yes
+ ;;
+esac
+if test $doswap = yes
+then
+ test "$VERBOSE" != no && echo "Activating swap"
+ swapon -a 2> /dev/null
+fi
+
+#
+# Check the root filesystem.
+#
+if test -f /fastboot || test $rootcheck = no
+then
+ test $rootcheck = yes && echo "Fast boot, no filesystem check"
+else
+ #
+ # Ensure that root is quiescent and read-only before fsck'ing.
+ #
+
+ mount -n -o remount,ro /
+
+ if test $? = 0
+ then
+ if test -f /forcefsck
+ then
+ force="-f"
+ else
+ force=""
+ fi
+ if test "$FSCKFIX" = yes
+ then
+ fix="-y"
+ else
+ fix="-a"
+ fi
+ spinner="-C"
+ case "$TERM" in
+ dumb|network|unknown|"") spinner="" ;;
+ esac
+ test `uname -m` = s390 && spinner="" # This should go away
+ test "$VERBOSE" != no && echo "Checking root filesystem..."
+ fsck $spinner $force $fix /
+ #
+ # If there was a failure, drop into single-user mode.
+ #
+ # NOTE: "failure" is defined as exiting with a return code of
+ # 2 or larger. A return code of 1 indicates that filesystem
+ # errors were corrected but that the boot may proceed.
+ #
+ if test "$?" -gt 1
+ then
+ # Surprise! Re-directing from a HERE document (as in
+ # "cat << EOF") won't work, because the root is read-only.
+ echo
+ echo "fsck failed. Please repair manually and reboot. Please note"
+ echo "that the root filesystem is currently mounted read-only. To"
+ echo "remount it read-write:"
+ echo
+ echo " # mount -n -o remount,rw /"
+ echo
+ echo "CONTROL-D will exit from this shell and REBOOT the system."
+ echo
+ # Start a single user shell on the console
+ /sbin/sulogin $CONSOLE
+ reboot -f
+ fi
+ else
+ echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!"
+ echo
+ fi
+fi
+
+#
+# If the root filesystem was not marked as read-only in /etc/fstab,
+# remount the rootfs rw but do not try to change mtab because it
+# is on a ro fs until the remount succeeded. Then clean up old mtabs
+# and finally write the new mtab.
+# This part is only needed if the rootfs was mounted ro.
+#
+
+if [ $(grep "/dev/root" /proc/mounts | awk '{print $4}') = rw ]; then
+ exit 0
+fi
+
+echo "Remounting root file system..."
+mount -n -o remount,$rootmode /
+
+if test "$rootmode" = rw
+then
+ if test ! -L /etc/mtab
+ then
+ rm -f /etc/mtab~ /etc/nologin
+ : > /etc/mtab
+ fi
+ mount -f -o remount /
+ mount -f /proc
+ test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
+fi
+
+: exit 0
diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb
index c1224b196a..005b8cfab6 100644
--- a/packages/initscripts/initscripts_1.0.bb
+++ b/packages/initscripts/initscripts_1.0.bb
@@ -5,7 +5,7 @@ DEPENDS = "makedevs"
DEPENDS_openzaurus = "makedevs virtual/kernel"
RDEPENDS = "makedevs"
LICENSE = "GPL"
-PR = "r75"
+PR = "r77"
SRC_URI = "file://halt \
file://ramdisk \
diff --git a/packages/linux/handhelds-pxa-2.6/hx4700/.mtn2git_empty b/packages/interbench/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/hx4700/.mtn2git_empty
+++ b/packages/interbench/.mtn2git_empty
diff --git a/packages/interbench/interbench_0.30.bb b/packages/interbench/interbench_0.30.bb
new file mode 100644
index 0000000000..6ddc947057
--- /dev/null
+++ b/packages/interbench/interbench_0.30.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Linux interactivity benchmark"
+HOMEPAGE = "http://members.optusnet.com.au/ckolivas/interbench/"
+LICENSE = "GPL"
+
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/ck/apps/interbench/interbench-0.30.tar.bz2"
+
+inherit autotools
+
+do_install() {
+ install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/ ${D}${mandir}/man8/
+ install -m 0755 interbench ${D}${bindir}
+ install -m 0644 readme* ${D}${datadir}/doc/${PN}/
+ install -m 0644 interbench.8 ${D}${mandir}/man8/
+}
diff --git a/packages/linux/handhelds-pxa-2.6/ipaq-pxa270/.mtn2git_empty b/packages/ipsec-tools/ipsec-tools-0.6.6/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-pxa-2.6/ipaq-pxa270/.mtn2git_empty
+++ b/packages/ipsec-tools/ipsec-tools-0.6.6/.mtn2git_empty
diff --git a/packages/ipsec-tools/ipsec-tools-0.6.6/racoon-search-missing.patch b/packages/ipsec-tools/ipsec-tools-0.6.6/racoon-search-missing.patch
new file mode 100644
index 0000000000..eebcb87017
--- /dev/null
+++ b/packages/ipsec-tools/ipsec-tools-0.6.6/racoon-search-missing.patch
@@ -0,0 +1,17 @@
+Older versions of openssl don't provide all the required crypto code.
+To handle this case ipsec-tools includes it's own version of the
+required crypto code but it fails to add it the search path so
+compilation fails. Fix it here since OE currently have an older
+version of openssl.
+
+--- ipsec-tools-0.6.6/src/racoon/Makefile.am 2006/08/17 05:10:57 1.1
++++ ipsec-tools-0.6.6/src/racoon/Makefile.am 2006/08/17 05:12:08
+@@ -9,7 +9,7 @@
+
+ adminsockdir=${localstatedir}/racoon
+
+-INCLUDES = -I${srcdir}/../libipsec
++INCLUDES = -I${srcdir}/../libipsec -I${srcdir}/missing
+ AM_CFLAGS = -D_GNU_SOURCE @GLIBC_BUGS@ -DSYSCONFDIR=\"${sysconfdir}\" \
+ -DADMINPORTDIR=\"${adminsockdir}\"
+ AM_LDFLAGS = @EXTRA_CRYPTO@ -lcrypto
diff --git a/packages/ipsec-tools/ipsec-tools_0.6.6.bb b/packages/ipsec-tools/ipsec-tools_0.6.6.bb
new file mode 100644
index 0000000000..0e2a82e370
--- /dev/null
+++ b/packages/ipsec-tools/ipsec-tools_0.6.6.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "IPsec-Tools is a port of KAME's IPsec utilities to the \
+Linux-2.6 IPsec implementation."
+HOMEPAGE = "http://ipsec-tools.sourceforge.net/"
+SECTION = "console/net"
+LICENSE = "BSD"
+DEPENDS = "virtual/kernel openssl readline flex"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ipsec-tools/ipsec-tools-${PV}.tar.bz2 \
+ file://racoon-search-missing.patch;patch=1"
+
+inherit autotools
+
+# Options:
+# --enable-adminport enable admin port
+# --enable-rc5 enable RC5 encryption (patented)
+# --enable-idea enable IDEA encryption (patented)
+# --enable-gssapi enable GSS-API authentication
+# --enable-hybrid enable hybrid, both mode-cfg and xauth support
+# --enable-frag enable IKE fragmentation payload support
+# --enable-stats enable statistics logging function
+# --enable-dpd enable dead peer detection
+# --enable-samode-unspec enable to use unspecified a mode of SA
+# --disable-ipv6 disable ipv6 support
+# --enable-natt enable NAT-Traversal (yes/no/kernel)
+# --enable-natt-versions=list list of supported NAT-T versions delimited by coma.
+# --with-kernel-headers=/lib/modules/<uname>/build/include
+# where your Linux Kernel headers are installed
+# --with-readline support readline input (yes by default)
+# --with-flex use directiory (default: no)
+# --with-flexlib=<LIB> specify flex library.
+# --with-openssl=DIR specify OpenSSL directory
+# --with-libradius=DIR specify libradius path (like/usr/pkg)
+# --with-libpam=DIR specify libpam path (like/usr/pkg)
+#
+# Note: if you give it the actual kernel headers it won't build, it actually
+# needs to point at the linux-libc-headers version of the kernel headers.
+#
+EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \
+ --with-readline \
+ --with-openssl=${STAGING_LIBDIR}/.. \
+ --without-libradius \
+ --without-gssapi \
+ --without-libpam"
+
+# Sometimes it attempts to use y.tab.c before it is generated. Note
+# that the failure case is very rare, but it does happen.
+PARALLEL_MAKE = ""
diff --git a/packages/kbdd/kbdd-patched-20040904/fellowes.patch b/packages/kbdd/kbdd-patched-20040904/fellowes.patch
deleted file mode 100644
index f40ea0f31e..0000000000
--- a/packages/kbdd/kbdd-patched-20040904/fellowes.patch
+++ /dev/null
@@ -1,425 +0,0 @@
---- kbd.c 2004-07-06 08:07:38.000000000 -0700
-+++ ../kbdd.works/kbd.c 2005-01-01 07:59:00.000000000 -0800
-@@ -21,12 +21,14 @@
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/ioctl.h>
- #include <fcntl.h>
- #include <termios.h>
- #include <unistd.h>
- #include <string.h>
- #include <errno.h>
- #include <limits.h>
-+#include <signal.h>
-
- #include "keyboards.h"
- #include "dev_uinput.h"
-@@ -37,6 +39,7 @@
-
- char debug=0;
- int uindev=0;
-+static int reinit=0;
- char TTY_PORT[PATH_MAX];
-
- int open_serial(char *port, speed_t baud)
-@@ -122,6 +125,250 @@
- return 0;
- }
-
-+int stowaway_init(int fd)
-+{
-+int status;
-+unsigned char buf[16];
-+fd_set fds;
-+struct timeval tv;
-+
-+ ioctl(fd, TIOCMGET, &status);
-+ status |= TIOCM_DTR; /* Set DTR */
-+ status &= ~TIOCM_RTS; /* Clear RTS */
-+ ioctl(fd, TIOCMSET, &status);
-+
-+ /* Unfortunately, DCD seems to be high all of the time on H3900, so the following can't be used */
-+ /* ioctl(fd, TIOCMIWAIT, TIOCM_CAR */
-+ /* So we just wait instead */
-+ usleep(1000000);
-+
-+ ioctl(fd, TIOCMGET, &status);
-+ status |= TIOCM_RTS; /* Set RTS */
-+ ioctl(fd, TIOCMSET, &status);
-+ /* Stowaway will send back 0xFA 0xFD indicating successful init */
-+ tv.tv_sec = 2;
-+ tv.tv_usec = 0;
-+ FD_ZERO(&fds);
-+ FD_SET(fd, &fds);
-+ if(select(fd+1, &fds, NULL, NULL, &tv)) {
-+ read(fd, buf, 2);
-+ if((buf[0] = 0xFA) && (buf[0] = 0xFD))
-+ if (debug) fprintf(stderr, "keyboard initialised\n");
-+ }
-+
-+ return 0;
-+}
-+
-+void stowaway_sig(int sig) {
-+ reinit = 1;
-+}
-+
-+int stowaway(void)
-+{
-+int fd;
-+unsigned char buf[16];
-+char fn=0;
-+struct sigaction act;
-+int rc;
-+
-+ fd = open_serial(TTY_PORT, B9600);
-+ if (fd <= 0)
-+ return (-1);
-+
-+ /* Make SIGHUP cause a reinit of the keyboard */
-+ act.sa_handler = stowaway_sig;
-+ sigemptyset(&act.sa_mask);
-+ act.sa_flags = 0;
-+ sigaction(SIGHUP, &act, NULL);
-+
-+ while (fd > 0) {
-+
-+ stowaway_init(fd);
-+
-+ while (fd > 0) {
-+ rc = read (fd, buf, 1);
-+ if(rc == -1) {
-+ if(reinit) {
-+ reinit = 0;
-+ break;
-+ }
-+ else {
-+ perror("read");
-+ return 1;
-+ }
-+ }
-+
-+ if ( ((unsigned char)buf[0] & (unsigned char)0x80) == 0 ) {
-+ if (debug) fprintf(stderr, "press: %d\n", buf[0]);
-+ if (buf[0] == 0x08) {
-+ fn=1;
-+ continue;
-+ }
-+ if (fn)
-+ buf[0]=stowaway_function[buf[0]];
-+ else
-+ buf[0]=stowaway_normal[buf[0]];
-+ if (debug) fprintf(stderr,"= 0x%02x\n", buf[0]);
-+ if (buf[0] > 0)
-+ dev_uinput_key(uindev, (unsigned short)buf[0], KEY_PRESSED);
-+ } else {
-+ if (debug) fprintf(stderr, "rel. : %d\n", buf[0] & ~0x80);
-+ if ((buf[0] & ~0x80) == 0x08) {
-+ fn = 0;
-+ continue;
-+ }
-+ if (fn)
-+ buf[0]=stowaway_function[(unsigned char)buf[0] & (unsigned char)~0x80];
-+ else
-+ buf[0]=stowaway_normal[(unsigned char)buf[0] & (unsigned char)~0x80];
-+ if (debug) fprintf(stderr,"= 0x%02x\n", buf[0]);
-+ if (buf[0] > 0)
-+ dev_uinput_key(uindev, (unsigned short)buf[0], KEY_RELEASED);
-+ }
-+ }
-+ }
-+
-+return 0;
-+}
-+
-+
-+int fellowes(void)
-+{
-+#define FELLOWES_GR_FN 33
-+#define FELLOWES_BL_FN 34
-+
-+
-+ int fd;
-+ unsigned char buf[16];
-+ char bluefn=0,greenfn=0;
-+ struct sigaction act;
-+ int rc;
-+
-+
-+ fd = open_serial(TTY_PORT, B9600);
-+ if (fd <= 0)
-+ return (-1);
-+
-+ /* Make SIGHUP cause a reinit of the keyboard */
-+ act.sa_handler = stowaway_sig;
-+ sigemptyset(&act.sa_mask);
-+ act.sa_flags = 0;
-+ sigaction(SIGHUP, &act, NULL);
-+
-+ while (fd > 0) {
-+ stowaway_init(fd);
-+
-+ while (fd > 0) {
-+ rc = read (fd, buf, 1);
-+ if(rc == -1) {
-+ if(reinit) {
-+ reinit = 0;
-+ break;
-+ }
-+ else {
-+ perror("read");
-+ return 1;
-+ }
-+ }
-+
-+
-+
-+ if ( ((unsigned char)buf[0] & (unsigned char)0x80) == 0 ) {
-+ /* KEY PRESSED */
-+ if (debug) fprintf(stderr, "press: %d\n", buf[0]);
-+ if (buf[0] == FELLOWES_BL_FN) {
-+ bluefn=1;
-+ continue;
-+ }
-+
-+ if (buf[0] == FELLOWES_GR_FN) {
-+ greenfn=1;
-+ dev_uinput_key(uindev,42,KEY_PRESSED);
-+ continue;
-+ }
-+
-+ if (bluefn)
-+ buf[0]=fellowes_function[buf[0]];
-+ else if (greenfn) {
-+ buf[0]=fellowes_function[buf[0]];
-+
-+ /* fixup where green function is not shift blue function */
-+ switch(buf[0]) {
-+ case KEY_UP:
-+ buf[0]=KEY_PAGEUP;
-+ break;
-+ case KEY_LEFT:
-+ buf[0]=KEY_HOME;
-+ break;
-+ case KEY_DOWN:
-+ buf[0]=KEY_PAGEDOWN;
-+ break;
-+ case KEY_RIGHT:
-+ buf[0]=KEY_END;
-+ break;
-+ case KEY_INTL2:
-+ buf[0]=KEY_INTL3;
-+ break;
-+
-+ }
-+ } else
-+ buf[0]=fellowes_normal[buf[0]];
-+
-+ if (debug) fprintf(stderr,"= 0x%02x\n", buf[0]);
-+ if (buf[0] != KEY_RESERVED)
-+ dev_uinput_key(uindev, (unsigned short)buf[0], KEY_PRESSED);
-+
-+ } else {
-+ /* KEY RELEASED */
-+ if (debug) fprintf(stderr, "rel. : %d\n", buf[0] & ~0x80);
-+
-+ if ((buf[0] & ~0x80) == FELLOWES_BL_FN) {
-+ bluefn = 0;
-+ continue;
-+ }
-+
-+ if ((buf[0] & ~0x80) == FELLOWES_GR_FN) {
-+ greenfn = 0;
-+ dev_uinput_key(uindev,42,KEY_RELEASED);
-+ continue;
-+ }
-+
-+ if (bluefn)
-+ buf[0]=fellowes_function[(unsigned char)buf[0] & (unsigned char)~0x80];
-+ else if (greenfn) {
-+ buf[0]=fellowes_function[(unsigned char)buf[0] & (unsigned char)~0x80];
-+
-+ /* fixup where green function is not shift blue function */
-+ switch(buf[0]) {
-+ case KEY_UP:
-+ buf[0]=KEY_PAGEUP;
-+ break;
-+ case KEY_LEFT:
-+ buf[0]=KEY_HOME;
-+ break;
-+ case KEY_DOWN:
-+ buf[0]=KEY_PAGEDOWN;
-+ break;
-+ case KEY_RIGHT:
-+ buf[0]=KEY_END;
-+ break;
-+ case KEY_INTL2:
-+ buf[0]=KEY_INTL3;
-+ break;
-+ }
-+ } else
-+ buf[0]=fellowes_normal[(unsigned char)buf[0] & (unsigned char)~0x80];
-+
-+ if (debug) fprintf(stderr,"= 0x%02x\n", buf[0]);
-+ if (buf[0] != KEY_RESERVED)
-+ dev_uinput_key(uindev, (unsigned short)buf[0], KEY_RELEASED);
-+ }
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-
- int snapntype(void)
- {
-@@ -177,6 +424,8 @@
- fprintf (stderr, "-t <kbd type>\n");
- fprintf (stderr, "\tspecify the serial keyboard type, supported are:\n");
- fprintf (stderr, "\tfoldable - Compaq/HP foldable keyboard\n");
-+ fprintf (stderr, "\tstowaway - Targus Stowaway keyboard\n");
-+ fprintf (stderr, "\tfellowes - fellowes serial keyboard\n");
- fprintf (stderr, "\tsnapntype- Snap'n'Type\n\n");
- fprintf (stderr, "Example:\n\t%s -t foldable\n", arg0);
- }
-@@ -184,6 +433,8 @@
- #define KBD_TYPE_NONE 0
- #define KBD_TYPE_FOLDABLE 1
- #define KBD_TYPE_SNAPNTYPE 2
-+#define KBD_TYPE_STOWAWAY 3
-+#define KBD_TYPE_FELLOWES 4
-
- int main(int argc, char **argv)
- {
-@@ -204,7 +455,13 @@
- kbdtype = KBD_TYPE_FOLDABLE;
- } else if (strncmp("snapntype", optarg, 9) == 0) {
- kbdtype = KBD_TYPE_SNAPNTYPE;
-+ } else if (strncmp("stowaway", optarg, 8) == 0) {
-+ kbdtype = KBD_TYPE_STOWAWAY;
-+ } else if (strncmp("fellowes", optarg, 8) == 0) {
-+ kbdtype = KBD_TYPE_FELLOWES;
- }
-+ else
-+ fprintf(stderr, "unrecognised keyboard type %s\n", optarg);
- break;
- case 'p':
- strcpy(TTY_PORT, optarg);
-@@ -226,6 +483,10 @@
- compaq_foldable();
- else if (kbdtype == KBD_TYPE_SNAPNTYPE)
- snapntype();
-+ else if (kbdtype == KBD_TYPE_STOWAWAY)
-+ stowaway();
-+ else if (kbdtype == KBD_TYPE_FELLOWES)
-+ fellowes();
-
- return 0;
- }
---- keyboards.h 2004-07-09 17:15:52.000000000 -0700
-+++ ../kbdd.works/keyboards.h 2005-01-01 07:58:19.000000000 -0800
-@@ -24,6 +24,7 @@
-
- #include "uinput.h"
-
-+
- /***********************************************************************************
- * iConcepts
- *
-@@ -139,6 +140,95 @@
- 108, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
-
-+/***********************************************************************************
-+ * Targus Stowaway keyboard
-+ *
-+ * 9600 baud, 8N1
-+ *
-+ * Initialisation: raise DTR and drop RTS, wait for DCD pulse, then raise RTS
-+ * keyboard will then send back 0xFA 0xFD
-+ *
-+ * Key down sends one byte
-+ * Key up sends one byte & 0x80, and if the key up is the last key up (ie, no more
-+ * keys held down), then the key code & 0x80 is repeated
-+ ***********************************************************************************/
-+
-+static unsigned char stowaway_normal[128] = {
-+ /* 0, 001, 002, 003, 004, 005, 006, 007, 008, 009 */
-+/*000*/ 2, 3, 4, 44, 5, 6, 7, 8, 0, 16,
-+/*010*/ 17, 18, 19, 20, 21, 41, 45, 30, 31, 32,
-+/*020*/ 33, 34, 35, 57, 58, 15, 29, 0, 0, 0,
-+/*030*/ 0, 0, 0, 0, 0, 56, 0, 0, 0, 0,
-+/*040*/ 0, 0, 0, 0, 46, 47, 48, 49, 12, 13,
-+/*050*/ 14, 87, 9, 10, 11, 57, 26, 27, 43, 220,
-+/*060*/ 22, 23, 24, 25, 40, 28, 219, 0, 36, 37,
-+/*070*/ 38, 39, 53, 144, 183, 0, 50, 51, 52, 0,
-+/*080*/ 111, 146, 155, 151, 0, 0, 0, 0, 42, 54,
-+/*090*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*100*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*110*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*120*/ 0, 0, 0, 0, 0, 0, 0, 0, };
-+
-+static unsigned char stowaway_function[128] = {
-+ /* 0, 001, 002, 003, 004, 005, 006, 007, 008, 009 */
-+/*000*/ 59, 60, 61, 0, 62, 63, 64, 65, 0, 0,
-+/*010*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*020*/ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
-+/*030*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*040*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*050*/ 92, 0, 66, 67, 68, 0, 0, 0, 0, 0,
-+/*060*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*070*/ 0, 0, 0, 104, 0, 0, 0, 0, 0, 0,
-+/*080*/ 0, 102, 109, 107, 0, 0, 0, 0, 0, 0,
-+/*090*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*100*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*110*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+/*120*/ 0, 0, 0, 0, 0, 0, 0, 0, };
-+
-+
-+
-+/***********************************************************************************
-+ * ThinkOutside / Fellowes Stowaway XT
-+ *
-+ * 9600 baud, 8N1
-+ *
-+ * Notes:
-+ * the green function key is basically shift + scancode - handled elsewhere
-+ *
-+ ***********************************************************************************/
-+unsigned char fellowes_normal[128] = {
-+ /* 000 */ 0, 0, 0, KEY_Z, 0, 0, 0, 0, KEY_LEFTMETA, KEY_Q,
-+ /* 010 */ KEY_W, KEY_E, KEY_R, KEY_T, KEY_Y, 0,KEY_X, KEY_A, KEY_S, KEY_D,
-+ /* 020 */ KEY_F, KEY_G, KEY_H, KEY_SPACE, KEY_CAPSLOCK, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0,
-+ /* 030 */ 0, 0, 0, 0, 0, KEY_LEFTALT, 0, 0, 0, 0,
-+ /* 040 */ 0, 0, 0, 0, KEY_C, KEY_V, KEY_B, KEY_N, 0, 0,
-+ /* 050 */ KEY_BACKSPACE, 0, 0, 0, 0, KEY_SPACE, KEY_MINUS, KEY_EQUAL, KEY_SLASH, 0,
-+ /* 060 */ KEY_U, KEY_I, KEY_O, KEY_P, KEY_APOSTROPHE, KEY_ENTER, 0, 0, KEY_J, KEY_K,
-+ /* 070 */ KEY_L, KEY_SEMICOLON, KEY_UP, 0, 0, 0, KEY_M, KEY_COMMA, KEY_DOT, 0,
-+ /* 080 */ KEY_DELETE, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, KEY_LEFTSHIFT, KEY_RIGHTSHIFT,
-+ /* 090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 100 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 110 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 120 */ 0, 0, 0, 0, 0, 0, 0, 0
-+};
-+
-+unsigned fellowes_function[128] = {
-+ /* 000 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_1,
-+ /* 010 */ KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, 0, 0, KEY_F9, KEY_F10, KEY_F11,
-+ /* 020 */ KEY_F12, 0, 0, 0, KEY_NUMLOCK, KEY_ESC, 0, 0, 0, 0,
-+ /* 030 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 040 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 050 */ 0, 0, 0, 0, 0, 0, KEY_LEFTBRACE, KEY_RIGHTBRACE, KEY_BACKSLASH, 0,
-+ /* 060 */ KEY_7, KEY_8, KEY_9, KEY_0, 0, 0, 0, 0, 0, 0,
-+ /* 070 */ 0, KEY_WWW, KEY_UP, 0, 0, 0, 0, KEY_INTL1, KEY_INTL2, 0,
-+ /* 080 */ 0, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, 0,
-+ /* 090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 100 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 110 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ /* 120 */ 0, 0, 0, 0, 0, 0, 0, 0
-+};
-+
-+
-
- /***********************************************************************************
- * HP foldable keyboard
diff --git a/packages/kbdd/kbdd_20040904.bb b/packages/kbdd/kbdd_20040904.bb
deleted file mode 100644
index 55461b2454..0000000000
--- a/packages/kbdd/kbdd_20040904.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "unknown"
-SRC_URI = "${HANDHELDS_CVS};module=apps/kbdd;date=${PV}"
-DEFAULT_PREFERENCE="-1"
-
-
-S = "${WORKDIR}/kbdd"
-LICENSE = "GPL"
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${docdir}/kbdd/
- install -m 0755 kbdd ${D}${bindir}/
- install -m 0644 README ${D}${docdir}/kbdd/
-}
diff --git a/packages/kbdd/kbdd_cvs.bb b/packages/kbdd/kbdd_svn.bb
index 18d8bf6391..5a1d8d5858 100644
--- a/packages/kbdd/kbdd_cvs.bb
+++ b/packages/kbdd/kbdd_svn.bb
@@ -1,21 +1,20 @@
-SECTION = "console/utils"
DESCRIPTION = "User-space keyboard daemon for external keyboards"
-HOMEPAGE = "http://handhelds.org/moin/moin.cgi/kbdd"
+HOMEPAGE = "http://project.linuxtogo.org/projects/kbdd"
+SECTION = "console/utils"
LICENSE = "GPLv2"
DEPENDS = "virtual/kernel"
-RRECOMMENDS_${PN} = "${@linux_module_packages('keybdev uinput', d)}"
-SRC_URI = "${HANDHELDS_CVS};module=apps/kbdd;date=${SRCDATE} \
+RRECOMMENDS_${PN} = "kernel-module-keybdev kernel-module-uinput"
+PV = "0.12+svn${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/kbdd;module=trunk;proto=svn \
file://kbdd.init \
file://kbdd.conf \
file://kbdd-modules"
+S = "${WORKDIR}/trunk"
-#Remove the dash below when 0.8 changes in PV
-PV="0.10+cvs${SRCDATE}"
-PR="r5"
-
-inherit update-rc.d linux_modules
+inherit update-rc.d
-S = "${WORKDIR}/kbdd"
INITSCRIPT_NAME = "kbdd"
INITSCRIPT_PARAMS = "defaults"
diff --git a/packages/linux/handhelds-sa-2.6/.mtn2git_empty b/packages/kernbench/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/handhelds-sa-2.6/.mtn2git_empty
+++ b/packages/kernbench/.mtn2git_empty
diff --git a/packages/kernbench/kernbench_0.41.bb b/packages/kernbench/kernbench_0.41.bb
new file mode 100644
index 0000000000..4a49cce8c6
--- /dev/null
+++ b/packages/kernbench/kernbench_0.41.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "cpu throughput benchmark"
+HOMEPAGE = "http://kernbench.kolivas.org/"
+LICENSE = "GPL"
+RDEPENDS = "time"
+
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/ck/apps/kernbench/kernbench-${PV}.tar.bz2"
+
+inherit autotools
+
+do_install() {
+ install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/
+ install -m 0755 kernbench ${D}${bindir}
+ install -m 0644 README ${D}${datadir}/doc/${PN}/
+}
diff --git a/packages/keymaps/files/tosa/keymap-2.6.map b/packages/keymaps/files/tosa/keymap-2.6.map
index 8a812754f7..b85d5616e5 100644
--- a/packages/keymaps/files/tosa/keymap-2.6.map
+++ b/packages/keymaps/files/tosa/keymap-2.6.map
@@ -63,7 +63,6 @@ keycode 41 =
keycode 42 = Shift
keycode 43 =
keycode 44 = z
- altgr keycode 44 = bar
keycode 45 = x
keycode 46 = c
keycode 47 = v
@@ -89,11 +88,12 @@ keycode 55 =
keycode 56 = Alt
keycode 57 = space space
control keycode 57 = nul
+ altgr keycode 57 = bar
keycode 59 = F9
keycode 60 = F10
keycode 61 = AltGr
keycode 62 = Escape
-keycode 63 = Return
+keycode 63 = space
keycode 64 = Control
keycode 65 = F15
keycode 66 = F24
diff --git a/packages/keymaps/keymaps_1.0.bb b/packages/keymaps/keymaps_1.0.bb
index 9bd2a6583a..2766fad2f4 100644
--- a/packages/keymaps/keymaps_1.0.bb
+++ b/packages/keymaps/keymaps_1.0.bb
@@ -3,7 +3,7 @@ SECTION = "base"
RDEPENDS = "initscripts console-tools"
LICENSE = "GPL"
PACKAGE_ARCH = "${MACHINE}"
-PR = "r10"
+PR = "r11"
inherit update-rc.d
diff --git a/packages/lcdproc/lcdproc_0.5.0.bb b/packages/lcdproc/lcdproc_0.5.0.bb
index 08e4e00707..0e6d4dae12 100644
--- a/packages/lcdproc/lcdproc_0.5.0.bb
+++ b/packages/lcdproc/lcdproc_0.5.0.bb
@@ -9,7 +9,7 @@ PR="r2"
DEPENDS = "libusb ncurses"
RRECOMMENDS_lcdproc = "lcdd"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/lcdproc-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${P}.tar.gz"
inherit autotools update-rc.d
diff --git a/packages/less/less_382.bb b/packages/less/less_382.bb
index b489722edb..f336a59ad6 100644
--- a/packages/less/less_382.bb
+++ b/packages/less/less_382.bb
@@ -1,16 +1,22 @@
-SECTION = "console/utils"
-DEPENDS = "ncurses"
DESCRIPTION = "Less is a program similar to more, i.e. a terminal \
based program for viewing text files and the output from other \
programs. Less offers many features beyond those that more does."
HOMEPAGE = "http://www.greenwoodsoftware.com/"
+SECTION = "console/utils"
LICENSE = "BSD"
+DEPENDS = "ncurses"
+PR = "r1"
SRC_URI = "${GNU_MIRROR}/less/less-${PV}.tar.gz \
- file://configure.patch;patch=1"
+ file://configure.patch;patch=1"
-inherit autotools
+inherit autotools update-alternatives
do_install () {
- oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
+ oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
+ mv ${D}${bindir}/less ${D}${bindir}/less.${PN}
}
+
+ALTERNATIVE_NAME = "less"
+ALTERNATIVE_PATH = "less.${PN}"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/packages/matrixssl/matrixssl-1.0-beta/.mtn2git_empty b/packages/libaio/libaio-0.3.106/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/matrixssl/matrixssl-1.0-beta/.mtn2git_empty
+++ b/packages/libaio/libaio-0.3.106/.mtn2git_empty
diff --git a/packages/libaio/libaio-0.3.106/00_arches.patch b/packages/libaio/libaio-0.3.106/00_arches.patch
new file mode 100644
index 0000000000..f4ca5ff11d
--- /dev/null
+++ b/packages/libaio/libaio-0.3.106/00_arches.patch
@@ -0,0 +1,770 @@
+--- libaio-0.3.106.orig/src/syscall-m68k.h
++++ libaio-0.3.106/src/syscall-m68k.h
+@@ -0,0 +1,78 @@
++#define __NR_io_setup 241
++#define __NR_io_destroy 242
++#define __NR_io_getevents 243
++#define __NR_io_submit 244
++#define __NR_io_cancel 245
++
++#define io_syscall1(type,fname,sname,atype,a) \
++type fname(atype a) \
++{ \
++register long __res __asm__ ("%d0") = __NR_##sname; \
++register long __a __asm__ ("%d1") = (long)(a); \
++__asm__ __volatile__ ("trap #0" \
++ : "+d" (__res) \
++ : "d" (__a) ); \
++return (type) __res; \
++}
++
++#define io_syscall2(type,fname,sname,atype,a,btype,b) \
++type fname(atype a,btype b) \
++{ \
++register long __res __asm__ ("%d0") = __NR_##sname; \
++register long __a __asm__ ("%d1") = (long)(a); \
++register long __b __asm__ ("%d2") = (long)(b); \
++__asm__ __volatile__ ("trap #0" \
++ : "+d" (__res) \
++ : "d" (__a), "d" (__b) \
++ ); \
++return (type) __res; \
++}
++
++#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
++type fname(atype a,btype b,ctype c) \
++{ \
++register long __res __asm__ ("%d0") = __NR_##sname; \
++register long __a __asm__ ("%d1") = (long)(a); \
++register long __b __asm__ ("%d2") = (long)(b); \
++register long __c __asm__ ("%d3") = (long)(c); \
++__asm__ __volatile__ ("trap #0" \
++ : "+d" (__res) \
++ : "d" (__a), "d" (__b), \
++ "d" (__c) \
++ ); \
++return (type) __res; \
++}
++
++#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \
++type fname (atype a, btype b, ctype c, dtype d) \
++{ \
++register long __res __asm__ ("%d0") = __NR_##sname; \
++register long __a __asm__ ("%d1") = (long)(a); \
++register long __b __asm__ ("%d2") = (long)(b); \
++register long __c __asm__ ("%d3") = (long)(c); \
++register long __d __asm__ ("%d4") = (long)(d); \
++__asm__ __volatile__ ("trap #0" \
++ : "+d" (__res) \
++ : "d" (__a), "d" (__b), \
++ "d" (__c), "d" (__d) \
++ ); \
++return (type) __res; \
++}
++
++#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
++type fname (atype a,btype b,ctype c,dtype d,etype e) \
++{ \
++register long __res __asm__ ("%d0") = __NR_##sname; \
++register long __a __asm__ ("%d1") = (long)(a); \
++register long __b __asm__ ("%d2") = (long)(b); \
++register long __c __asm__ ("%d3") = (long)(c); \
++register long __d __asm__ ("%d4") = (long)(d); \
++register long __e __asm__ ("%d5") = (long)(e); \
++__asm__ __volatile__ ("trap #0" \
++ : "+d" (__res) \
++ : "d" (__a), "d" (__b), \
++ "d" (__c), "d" (__d), "d" (__e) \
++ ); \
++return (type) __res; \
++}
++
+--- libaio-0.3.106.orig/src/syscall-sparc.h
++++ libaio-0.3.106/src/syscall-sparc.h
+@@ -0,0 +1,130 @@
++/* $Id: unistd.h,v 1.74 2002/02/08 03:57:18 davem Exp $ */
++
++/*
++ * System calls under the Sparc.
++ *
++ * Don't be scared by the ugly clobbers, it is the only way I can
++ * think of right now to force the arguments into fixed registers
++ * before the trap into the system call with gcc 'asm' statements.
++ *
++ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
++ *
++ * SunOS compatibility based upon preliminary work which is:
++ *
++ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
++ */
++
++
++#define __NR_io_setup 268
++#define __NR_io_destroy 269
++#define __NR_io_submit 270
++#define __NR_io_cancel 271
++#define __NR_io_getevents 272
++
++
++#define io_syscall1(type,fname,sname,type1,arg1) \
++type fname(type1 arg1) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res >= 0) \
++ return (type) __res; \
++return -1; \
++}
++
++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
++type fname(type1 arg1,type2 arg2) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res >= 0) \
++ return (type) __res; \
++return -1; \
++}
++
++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
++type fname(type1 arg1,type2 arg2,type3 arg3) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++register long __o2 __asm__ ("o2") = (long)(arg3); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res>=0) \
++ return (type) __res; \
++return -1; \
++}
++
++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++register long __o2 __asm__ ("o2") = (long)(arg3); \
++register long __o3 __asm__ ("o3") = (long)(arg4); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res>=0) \
++ return (type) __res; \
++return -1; \
++}
++
++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
++ type5,arg5) \
++type fname(type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
++{ \
++long __res; \
++register long __g1 __asm__ ("g1") = __NR_##sname; \
++register long __o0 __asm__ ("o0") = (long)(arg1); \
++register long __o1 __asm__ ("o1") = (long)(arg2); \
++register long __o2 __asm__ ("o2") = (long)(arg3); \
++register long __o3 __asm__ ("o3") = (long)(arg4); \
++register long __o4 __asm__ ("o4") = (long)(arg5); \
++__asm__ __volatile__ ("t 0x10\n\t" \
++ "bcc 1f\n\t" \
++ "mov %%o0, %0\n\t" \
++ "sub %%g0, %%o0, %0\n\t" \
++ "1:\n\t" \
++ : "=r" (__res), "=&r" (__o0) \
++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \
++ : "cc"); \
++if (__res < -255 || __res>=0) \
++ return (type) __res; \
++return -1; \
++}
++
+--- libaio-0.3.106.orig/src/syscall.h
++++ libaio-0.3.106/src/syscall.h
+@@ -22,6 +22,16 @@
+ #include "syscall-s390.h"
+ #elif defined(__alpha__)
+ #include "syscall-alpha.h"
++#elif defined(__arm__)
++#include "syscall-arm.h"
++#elif defined(__m68k__)
++#include "syscall-m68k.h"
++#elif defined(__sparc__)
++#include "syscall-sparc.h"
++#elif defined(__hppa__)
++#include "syscall-parisc.h"
++#elif defined(__mips__)
++#include "syscall-mips.h"
+ #else
+ #error "add syscall-arch.h"
+ #endif
+--- libaio-0.3.106.orig/src/syscall-mips.h
++++ libaio-0.3.106/src/syscall-mips.h
+@@ -0,0 +1,223 @@
++/*
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License. See the file "COPYING" in the main directory of this archive
++ * for more details.
++ *
++ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
++ * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
++ *
++ * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
++ * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
++ */
++
++#ifndef _MIPS_SIM_ABI32
++#define _MIPS_SIM_ABI32 1
++#define _MIPS_SIM_NABI32 2
++#define _MIPS_SIM_ABI64 3
++#endif
++
++#if _MIPS_SIM == _MIPS_SIM_ABI32
++
++/*
++ * Linux o32 style syscalls are in the range from 4000 to 4999.
++ */
++#define __NR_Linux 4000
++#define __NR_io_setup (__NR_Linux + 241)
++#define __NR_io_destroy (__NR_Linux + 242)
++#define __NR_io_getevents (__NR_Linux + 243)
++#define __NR_io_submit (__NR_Linux + 244)
++#define __NR_io_cancel (__NR_Linux + 245)
++
++#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
++
++#if _MIPS_SIM == _MIPS_SIM_ABI64
++
++/*
++ * Linux 64-bit syscalls are in the range from 5000 to 5999.
++ */
++#define __NR_Linux 5000
++#define __NR_io_setup (__NR_Linux + 200)
++#define __NR_io_destroy (__NR_Linux + 201)
++#define __NR_io_getevents (__NR_Linux + 202)
++#define __NR_io_submit (__NR_Linux + 203)
++#define __NR_io_cancel (__NR_Linux + 204)
++#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
++
++#if _MIPS_SIM == _MIPS_SIM_NABI32
++
++/*
++ * Linux N32 syscalls are in the range from 6000 to 6999.
++ */
++#define __NR_Linux 6000
++#define __NR_io_setup (__NR_Linux + 200)
++#define __NR_io_destroy (__NR_Linux + 201)
++#define __NR_io_getevents (__NR_Linux + 202)
++#define __NR_io_submit (__NR_Linux + 203)
++#define __NR_io_cancel (__NR_Linux + 204)
++#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
++
++#define io_syscall1(type,fname,sname,atype,a) \
++type fname(atype a) \
++{ \
++ register unsigned long __a0 asm("$4") = (unsigned long) a; \
++ register unsigned long __a3 asm("$7"); \
++ unsigned long __v0; \
++ \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "li\t$2, %3\t\t\t# " #fname "\n\t" \
++ "syscall\n\t" \
++ "move\t%0, $2\n\t" \
++ ".set\treorder" \
++ : "=&r" (__v0), "=r" (__a3) \
++ : "r" (__a0), "i" (__NR_##sname) \
++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
++ "memory"); \
++ \
++ if (__a3 == 0) \
++ return (type) __v0; \
++ return (type) -1; \
++}
++
++#define io_syscall2(type,fname,sname,atype,a,btype,b) \
++type fname(atype a, btype b) \
++{ \
++ register unsigned long __a0 asm("$4") = (unsigned long) a; \
++ register unsigned long __a1 asm("$5") = (unsigned long) b; \
++ register unsigned long __a3 asm("$7"); \
++ unsigned long __v0; \
++ \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "li\t$2, %4\t\t\t# " #fname "\n\t" \
++ "syscall\n\t" \
++ "move\t%0, $2\n\t" \
++ ".set\treorder" \
++ : "=&r" (__v0), "=r" (__a3) \
++ : "r" (__a0), "r" (__a1), "i" (__NR_##sname) \
++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
++ "memory"); \
++ \
++ if (__a3 == 0) \
++ return (type) __v0; \
++ return (type) -1; \
++}
++
++#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
++type fname(atype a, btype b, ctype c) \
++{ \
++ register unsigned long __a0 asm("$4") = (unsigned long) a; \
++ register unsigned long __a1 asm("$5") = (unsigned long) b; \
++ register unsigned long __a2 asm("$6") = (unsigned long) c; \
++ register unsigned long __a3 asm("$7"); \
++ unsigned long __v0; \
++ \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "li\t$2, %5\t\t\t# " #fname "\n\t" \
++ "syscall\n\t" \
++ "move\t%0, $2\n\t" \
++ ".set\treorder" \
++ : "=&r" (__v0), "=r" (__a3) \
++ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \
++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
++ "memory"); \
++ \
++ if (__a3 == 0) \
++ return (type) __v0; \
++ return (type) -1; \
++}
++
++#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \
++type fname(atype a, btype b, ctype c, dtype d) \
++{ \
++ register unsigned long __a0 asm("$4") = (unsigned long) a; \
++ register unsigned long __a1 asm("$5") = (unsigned long) b; \
++ register unsigned long __a2 asm("$6") = (unsigned long) c; \
++ register unsigned long __a3 asm("$7") = (unsigned long) d; \
++ unsigned long __v0; \
++ \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "li\t$2, %5\t\t\t# " #fname "\n\t" \
++ "syscall\n\t" \
++ "move\t%0, $2\n\t" \
++ ".set\treorder" \
++ : "=&r" (__v0), "+r" (__a3) \
++ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \
++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
++ "memory"); \
++ \
++ if (__a3 == 0) \
++ return (type) __v0; \
++ return (type) -1; \
++}
++
++#if (_MIPS_SIM == _MIPS_SIM_ABI32)
++
++/*
++ * Using those means your brain needs more than an oil change ;-)
++ */
++
++#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
++type fname(atype a, btype b, ctype c, dtype d, etype e) \
++{ \
++ register unsigned long __a0 asm("$4") = (unsigned long) a; \
++ register unsigned long __a1 asm("$5") = (unsigned long) b; \
++ register unsigned long __a2 asm("$6") = (unsigned long) c; \
++ register unsigned long __a3 asm("$7") = (unsigned long) d; \
++ unsigned long __v0; \
++ \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "lw\t$2, %6\n\t" \
++ "subu\t$29, 32\n\t" \
++ "sw\t$2, 16($29)\n\t" \
++ "li\t$2, %5\t\t\t# " #fname "\n\t" \
++ "syscall\n\t" \
++ "move\t%0, $2\n\t" \
++ "addiu\t$29, 32\n\t" \
++ ".set\treorder" \
++ : "=&r" (__v0), "+r" (__a3) \
++ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname), \
++ "m" ((unsigned long)e) \
++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
++ "memory"); \
++ \
++ if (__a3 == 0) \
++ return (type) __v0; \
++ return (type) -1; \
++}
++
++#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
++
++#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64)
++
++#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
++type fname (atype a,btype b,ctype c,dtype d,etype e) \
++{ \
++ register unsigned long __a0 asm("$4") = (unsigned long) a; \
++ register unsigned long __a1 asm("$5") = (unsigned long) b; \
++ register unsigned long __a2 asm("$6") = (unsigned long) c; \
++ register unsigned long __a3 asm("$7") = (unsigned long) d; \
++ register unsigned long __a4 asm("$8") = (unsigned long) e; \
++ unsigned long __v0; \
++ \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "li\t$2, %6\t\t\t# " #fname "\n\t" \
++ "syscall\n\t" \
++ "move\t%0, $2\n\t" \
++ ".set\treorder" \
++ : "=&r" (__v0), "+r" (__a3) \
++ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##sname) \
++ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
++ "memory"); \
++ \
++ if (__a3 == 0) \
++ return (type) __v0; \
++ return (type) -1; \
++}
++
++#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
++
+--- libaio-0.3.106.orig/src/libaio.h
++++ libaio-0.3.106/src/libaio.h
+@@ -72,6 +72,40 @@
+ #define PADDED(x, y) unsigned y; x
+ #define PADDEDptr(x, y) unsigned y; x
+ #define PADDEDul(x, y) unsigned y; unsigned long x
++#elif defined(__arm__)
++# if defined (__ARMEB__) /* big endian, 32 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x, y) unsigned y; x
++#define PADDEDul(x, y) unsigned y; unsigned long x
++# else /* little endian, 32 bits */
++#define PADDED(x, y) x; unsigned y
++#define PADDEDptr(x, y) x; unsigned y
++#define PADDEDul(x, y) unsigned long x; unsigned y
++# endif
++#elif defined(__m68k__) /* big endian, 32 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x, y) unsigned y; x
++#define PADDEDul(x, y) unsigned y; unsigned long x
++#elif defined(__sparc__) /* big endian, 32 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x, y) unsigned y; x
++#define PADDEDul(x, y) unsigned y; unsigned long x
++#elif defined(__hppa__) /* big endian, 32 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x, y) unsigned y; x
++#define PADDEDul(x, y) unsigned y; unsigned long x
++#elif defined(__mips__)
++# if defined (__MIPSEB__) /* big endian, 32 bits */
++#define PADDED(x, y) unsigned y; x
++#define PADDEDptr(x, y) unsigned y; x
++#define PADDEDul(x, y) unsigned y; unsigned long x
++# elif defined(__MIPSEL__) /* little endian, 32 bits */
++#define PADDED(x, y) x; unsigned y
++#define PADDEDptr(x, y) x; unsigned y
++#define PADDEDul(x, y) unsigned long x; unsigned y
++# else
++# error "neither mipseb nor mipsel?"
++# endif
+ #else
+ #error endian?
+ #endif
+--- libaio-0.3.106.orig/src/syscall-parisc.h
++++ libaio-0.3.106/src/syscall-parisc.h
+@@ -0,0 +1,146 @@
++/*
++ * Linux system call numbers.
++ *
++ * Cary Coutant says that we should just use another syscall gateway
++ * page to avoid clashing with the HPUX space, and I think he's right:
++ * it will would keep a branch out of our syscall entry path, at the
++ * very least. If we decide to change it later, we can ``just'' tweak
++ * the LINUX_GATEWAY_ADDR define at the bottom and make __NR_Linux be
++ * 1024 or something. Oh, and recompile libc. =)
++ *
++ * 64-bit HPUX binaries get the syscall gateway address passed in a register
++ * from the kernel at startup, which seems a sane strategy.
++ */
++
++#define __NR_Linux 0
++#define __NR_io_setup (__NR_Linux + 215)
++#define __NR_io_destroy (__NR_Linux + 216)
++#define __NR_io_getevents (__NR_Linux + 217)
++#define __NR_io_submit (__NR_Linux + 218)
++#define __NR_io_cancel (__NR_Linux + 219)
++
++#define SYS_ify(syscall_name) __NR_##syscall_name
++
++/* Assume all syscalls are done from PIC code just to be
++ * safe. The worst case scenario is that you lose a register
++ * and save/restore r19 across the syscall. */
++#define PIC
++
++/* Definition taken from glibc 2.3.3
++ * sysdeps/unix/sysv/linux/hppa/sysdep.h
++ */
++
++#ifdef PIC
++/* WARNING: CANNOT BE USED IN A NOP! */
++# define K_STW_ASM_PIC " copy %%r19, %%r4\n"
++# define K_LDW_ASM_PIC " copy %%r4, %%r19\n"
++# define K_USING_GR4 "%r4",
++#else
++# define K_STW_ASM_PIC " \n"
++# define K_LDW_ASM_PIC " \n"
++# define K_USING_GR4
++#endif
++
++/* GCC has to be warned that a syscall may clobber all the ABI
++ registers listed as "caller-saves", see page 8, Table 2
++ in section 2.2.6 of the PA-RISC RUN-TIME architecture
++ document. However! r28 is the result and will conflict with
++ the clobber list so it is left out. Also the input arguments
++ registers r20 -> r26 will conflict with the list so they
++ are treated specially. Although r19 is clobbered by the syscall
++ we cannot say this because it would violate ABI, thus we say
++ r4 is clobbered and use that register to save/restore r19
++ across the syscall. */
++
++#define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \
++ "%r20", "%r29", "%r31"
++
++#undef K_INLINE_SYSCALL
++#define K_INLINE_SYSCALL(name, nr, args...) ({ \
++ long __sys_res; \
++ { \
++ register unsigned long __res __asm__("r28"); \
++ K_LOAD_ARGS_##nr(args) \
++ /* FIXME: HACK stw/ldw r19 around syscall */ \
++ __asm__ volatile( \
++ K_STW_ASM_PIC \
++ " ble 0x100(%%sr2, %%r0)\n" \
++ " ldi %1, %%r20\n" \
++ K_LDW_ASM_PIC \
++ : "=r" (__res) \
++ : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \
++ : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \
++ ); \
++ __sys_res = (long)__res; \
++ } \
++ __sys_res; \
++})
++
++#define K_LOAD_ARGS_0()
++#define K_LOAD_ARGS_1(r26) \
++ register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
++ K_LOAD_ARGS_0()
++#define K_LOAD_ARGS_2(r26,r25) \
++ register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
++ K_LOAD_ARGS_1(r26)
++#define K_LOAD_ARGS_3(r26,r25,r24) \
++ register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
++ K_LOAD_ARGS_2(r26,r25)
++#define K_LOAD_ARGS_4(r26,r25,r24,r23) \
++ register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
++ K_LOAD_ARGS_3(r26,r25,r24)
++#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \
++ register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
++ K_LOAD_ARGS_4(r26,r25,r24,r23)
++#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
++ register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
++ K_LOAD_ARGS_5(r26,r25,r24,r23,r22)
++
++/* Even with zero args we use r20 for the syscall number */
++#define K_ASM_ARGS_0
++#define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26)
++#define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25)
++#define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24)
++#define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23)
++#define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22)
++#define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21)
++
++/* The registers not listed as inputs but clobbered */
++#define K_CLOB_ARGS_6
++#define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21"
++#define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22"
++#define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23"
++#define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24"
++#define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25"
++#define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26"
++
++#define io_syscall1(type,fname,sname,type1,arg1) \
++type fname(type1 arg1) \
++{ \
++ return K_INLINE_SYSCALL(sname, 1, arg1); \
++}
++
++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
++type fname(type1 arg1, type2 arg2) \
++{ \
++ return K_INLINE_SYSCALL(sname, 2, arg1, arg2); \
++}
++
++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
++type fname(type1 arg1, type2 arg2, type3 arg3) \
++{ \
++ return K_INLINE_SYSCALL(sname, 3, arg1, arg2, arg3); \
++}
++
++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
++{ \
++ return K_INLINE_SYSCALL(sname, 4, arg1, arg2, arg3, arg4); \
++}
++
++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
++{ \
++ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \
++}
++
+--- libaio-0.3.106.orig/src/syscall-arm.h
++++ libaio-0.3.106/src/syscall-arm.h
+@@ -0,0 +1,116 @@
++/*
++ * linux/include/asm-arm/unistd.h
++ *
++ * Copyright (C) 2001-2005 Russell King
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Please forward _all_ changes to this file to rmk@arm.linux.org.uk,
++ * no matter what the change is. Thanks!
++ */
++
++#define __NR_OABI_SYSCALL_BASE 0x900000
++
++#if defined(__thumb__) || defined(__ARM_EABI__)
++#define __NR_SYSCALL_BASE 0
++#else
++#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
++#endif
++
++#define __NR_io_setup (__NR_SYSCALL_BASE+243)
++#define __NR_io_destroy (__NR_SYSCALL_BASE+244)
++#define __NR_io_getevents (__NR_SYSCALL_BASE+245)
++#define __NR_io_submit (__NR_SYSCALL_BASE+246)
++#define __NR_io_cancel (__NR_SYSCALL_BASE+247)
++
++#define __sys2(x) #x
++#define __sys1(x) __sys2(x)
++
++#if defined(__thumb__) || defined(__ARM_EABI__)
++#define __SYS_REG(name) register long __sysreg __asm__("r7") = __NR_##name;
++#define __SYS_REG_LIST(regs...) "r" (__sysreg) , ##regs
++#define __syscall(name) "swi\t0"
++#else
++#define __SYS_REG(name)
++#define __SYS_REG_LIST(regs...) regs
++#define __syscall(name) "swi\t" __sys1(__NR_##name) ""
++#endif
++
++#define io_syscall1(type,fname,sname,type1,arg1) \
++type fname(type1 arg1) { \
++ __SYS_REG(sname) \
++ register long __r0 __asm__("r0") = (long)arg1; \
++ register long __res_r0 __asm__("r0"); \
++ __asm__ __volatile__ ( \
++ __syscall(sname) \
++ : "=r" (__res_r0) \
++ : __SYS_REG_LIST( "0" (__r0) ) \
++ : "memory" ); \
++ return (type) __res_r0; \
++}
++
++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
++type fname(type1 arg1,type2 arg2) { \
++ __SYS_REG(sname) \
++ register long __r0 __asm__("r0") = (long)arg1; \
++ register long __r1 __asm__("r1") = (long)arg2; \
++ register long __res_r0 __asm__("r0"); \
++ __asm__ __volatile__ ( \
++ __syscall(sname) \
++ : "=r" (__res_r0) \
++ : __SYS_REG_LIST( "0" (__r0), "r" (__r1) ) \
++ : "memory" ); \
++ return (type) __res_r0; \
++}
++
++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
++type fname(type1 arg1,type2 arg2,type3 arg3) { \
++ __SYS_REG(sname) \
++ register long __r0 __asm__("r0") = (long)arg1; \
++ register long __r1 __asm__("r1") = (long)arg2; \
++ register long __r2 __asm__("r2") = (long)arg3; \
++ register long __res_r0 __asm__("r0"); \
++ __asm__ __volatile__ ( \
++ __syscall(sname) \
++ : "=r" (__res_r0) \
++ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2) ) \
++ : "memory" ); \
++ return (type) __res_r0; \
++}
++
++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4)\
++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \
++ __SYS_REG(sname) \
++ register long __r0 __asm__("r0") = (long)arg1; \
++ register long __r1 __asm__("r1") = (long)arg2; \
++ register long __r2 __asm__("r2") = (long)arg3; \
++ register long __r3 __asm__("r3") = (long)arg4; \
++ register long __res_r0 __asm__("r0"); \
++ __asm__ __volatile__ ( \
++ __syscall(sname) \
++ : "=r" (__res_r0) \
++ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), "r" (__r3) ) \
++ : "memory" ); \
++ return (type) __res_r0; \
++}
++
++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) {\
++ __SYS_REG(sname) \
++ register long __r0 __asm__("r0") = (long)arg1; \
++ register long __r1 __asm__("r1") = (long)arg2; \
++ register long __r2 __asm__("r2") = (long)arg3; \
++ register long __r3 __asm__("r3") = (long)arg4; \
++ register long __r4 __asm__("r4") = (long)arg5; \
++ register long __res_r0 __asm__("r0"); \
++ __asm__ __volatile__ ( \
++ __syscall(sname) \
++ : "=r" (__res_r0) \
++ : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), \
++ "r" (__r3), "r" (__r4) ) \
++ : "memory" ); \
++ return (type) __res_r0; \
++}
++
diff --git a/packages/libaio/libaio-0.3.106/destdir.patch b/packages/libaio/libaio-0.3.106/destdir.patch
new file mode 100644
index 0000000000..3246f095c8
--- /dev/null
+++ b/packages/libaio/libaio-0.3.106/destdir.patch
@@ -0,0 +1,13 @@
+Index: libaio-0.3.106/Makefile
+===================================================================
+--- libaio-0.3.106.orig/Makefile 2004-02-26 07:25:10.000000000 -0800
++++ libaio-0.3.106/Makefile 2006-10-14 09:19:07.000000000 -0700
+@@ -15,7 +15,7 @@
+ @$(MAKE) -C src
+
+ install:
+- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir)
++ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir)
+
+
+ clean:
diff --git a/packages/libaio/libaio_0.3.106.bb b/packages/libaio/libaio_0.3.106.bb
new file mode 100644
index 0000000000..bc70bbe8d2
--- /dev/null
+++ b/packages/libaio/libaio_0.3.106.bb
@@ -0,0 +1,17 @@
+DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
+LICENSE = "LGPL"
+PR = "r2"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \
+ file://00_arches.patch;patch=1 \
+ file://destdir.patch;patch=1"
+
+do_stage() {
+ install -d ${STAGING_INCDIR} ${STAGING_LIBDIR}
+ install -m 0644 src/libaio.h ${STAGING_INCDIR}
+ oe_libinstall -so -C src libaio ${STAGING_LIBDIR}
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/packages/libdvb/libdvb_0.5.5.1.bb b/packages/libdvb/libdvb_0.5.5.1.bb
index 13ebc5e0a7..914fe18e71 100644
--- a/packages/libdvb/libdvb_0.5.5.1.bb
+++ b/packages/libdvb/libdvb_0.5.5.1.bb
@@ -6,7 +6,7 @@ PRIORITY = "optional"
LICENSE = "GPL"
PR = "r2"
-SRC_URI = "http://www.metzlerbros.org/dvb/${PN}-${PV}.tar.gz \
+SRC_URI = "http://www.metzlerbros.org/dvb/${P}.tar.gz \
file://topf2ps.patch;patch=1"
S = "${WORKDIR}/${PN}-${PV}"
diff --git a/packages/libgpelaunch/libgpelaunch_0.10.bb b/packages/libgpelaunch/libgpelaunch_0.10.bb
deleted file mode 100644
index dc5d09da98..0000000000
--- a/packages/libgpelaunch/libgpelaunch_0.10.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "GPE program launcher library"
-SECTION = "libs"
-DEPENDS = "gtk+ startup-notification"
-
-inherit autotools pkgconfig
-
-SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.bz2"
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/libgpelaunch/libgpelaunch_0.11.bb b/packages/libgpelaunch/libgpelaunch_0.11.bb
deleted file mode 100644
index dc5d09da98..0000000000
--- a/packages/libgpelaunch/libgpelaunch_0.11.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "GPE program launcher library"
-SECTION = "libs"
-DEPENDS = "gtk+ startup-notification"
-
-inherit autotools pkgconfig
-
-SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.bz2"
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/libgpelaunch/libgpelaunch_0.12.bb b/packages/libgpelaunch/libgpelaunch_0.12.bb
deleted file mode 100644
index d7bc7d96fc..0000000000
--- a/packages/libgpelaunch/libgpelaunch_0.12.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "GPE program launcher library"
-SECTION = "libs"
-DEPENDS = "gtk+ libgpewidget startup-notification"
-
-inherit autotools pkgconfig
-
-SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.bz2"
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/libgpelaunch/libgpelaunch_0.14.bb b/packages/libgpelaunch/libgpelaunch_0.14.bb
index 3d9b6bea6b..e6d82c1ee0 100644
--- a/packages/libgpelaunch/libgpelaunch_0.14.bb
+++ b/packages/libgpelaunch/libgpelaunch_0.14.bb
@@ -2,11 +2,15 @@ LICENSE = "LGPL"
DESCRIPTION = "GPE program launcher library"
SECTION = "libs"
DEPENDS = "gtk+ startup-notification"
+PR = "r1"
inherit autotools pkgconfig
SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.bz2"
+
+FILES_${PN}-dbg += "/usr/libexec/libgpelaunch/.debug"
+
do_stage() {
autotools_stage_all
}
diff --git a/packages/libgpevtype/libgpevtype_cvs.bb b/packages/libgpevtype/libgpevtype_svn.bb
index 6316ba67f6..235a1312db 100644
--- a/packages/libgpevtype/libgpevtype_cvs.bb
+++ b/packages/libgpevtype/libgpevtype_svn.bb
@@ -7,12 +7,12 @@ DEPENDS = "libmimedir"
DEFAULT_PREFERENCE = "-1"
S = "${WORKDIR}/${PN}"
-PV = "0.17+cvs${SRCDATE}"
+PV = "0.17+svn${SRCDATE}"
PR = "r0"
inherit pkgconfig gpe autotools
-SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}"
+SRC_URI = "${GPE_SVN}"
headers = "tag-db.h vcard.h vevent.h vtodo.h"
diff --git a/packages/libgpewidget/libgpewidget_0.110.bb b/packages/libgpewidget/libgpewidget_0.110.bb
deleted file mode 100644
index 4c69249870..0000000000
--- a/packages/libgpewidget/libgpewidget_0.110.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications."
-SECTION = "gpe/libs"
-PRIORITY = "optional"
-DEPENDS = "gtk+ cairo libxrender gtk-doc"
-PR = "r0"
-
-GPE_TARBALL_SUFFIX = "bz2"
-inherit gpe pkgconfig autotools
-
-SRC_URI += "file://pkgconfig.patch;patch=1;pnum=0"
-
-PACKAGES =+ "libgpewidget-bin"
-FILES_libgpewidget-bin = "${bindir}"
-
-EXTRA_OECONF = "--enable-cairo"
-
-PARALLEL_MAKE = ""
-
-LDFLAGS += " -L${STAGING_LIBDIR}"
-
-do_stage () {
- autotools_stage_all
-}
-
diff --git a/packages/libgpewidget/libgpewidget_0.111.bb b/packages/libgpewidget/libgpewidget_0.111.bb
deleted file mode 100644
index 4c69249870..0000000000
--- a/packages/libgpewidget/libgpewidget_0.111.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications."
-SECTION = "gpe/libs"
-PRIORITY = "optional"
-DEPENDS = "gtk+ cairo libxrender gtk-doc"
-PR = "r0"
-
-GPE_TARBALL_SUFFIX = "bz2"
-inherit gpe pkgconfig autotools
-
-SRC_URI += "file://pkgconfig.patch;patch=1;pnum=0"
-
-PACKAGES =+ "libgpewidget-bin"
-FILES_libgpewidget-bin = "${bindir}"
-
-EXTRA_OECONF = "--enable-cairo"
-
-PARALLEL_MAKE = ""
-
-LDFLAGS += " -L${STAGING_LIBDIR}"
-
-do_stage () {
- autotools_stage_all
-}
-
diff --git a/packages/libgpewidget/libgpewidget_0.112.bb b/packages/libgpewidget/libgpewidget_0.112.bb
deleted file mode 100644
index 4c69249870..0000000000
--- a/packages/libgpewidget/libgpewidget_0.112.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications."
-SECTION = "gpe/libs"
-PRIORITY = "optional"
-DEPENDS = "gtk+ cairo libxrender gtk-doc"
-PR = "r0"
-
-GPE_TARBALL_SUFFIX = "bz2"
-inherit gpe pkgconfig autotools
-
-SRC_URI += "file://pkgconfig.patch;patch=1;pnum=0"
-
-PACKAGES =+ "libgpewidget-bin"
-FILES_libgpewidget-bin = "${bindir}"
-
-EXTRA_OECONF = "--enable-cairo"
-
-PARALLEL_MAKE = ""
-
-LDFLAGS += " -L${STAGING_LIBDIR}"
-
-do_stage () {
- autotools_stage_all
-}
-
diff --git a/packages/libgpewidget/libgpewidget_0.113.bb b/packages/libgpewidget/libgpewidget_0.113.bb
deleted file mode 100644
index dcc2deb337..0000000000
--- a/packages/libgpewidget/libgpewidget_0.113.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications."
-SECTION = "gpe/libs"
-PRIORITY = "optional"
-DEPENDS = "gtk+ cairo libxrender gtk-doc"
-PR = "r0"
-
-GPE_TARBALL_SUFFIX = "bz2"
-inherit gpe pkgconfig autotools
-
-SRC_URI += "file://pkgconfig.patch;patch=1;pnum=0"
-
-PACKAGES =+ "libgpewidget-bin"
-FILES_libgpewidget-bin = "${bindir}"
-
-EXTRA_OECONF = "--enable-cairo"
-
-LDFLAGS += " -L${STAGING_LIBDIR}"
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/libgpewidget/libgpewidget_0.114.bb b/packages/libgpewidget/libgpewidget_0.114.bb
index dcc2deb337..b062efb51b 100644
--- a/packages/libgpewidget/libgpewidget_0.114.bb
+++ b/packages/libgpewidget/libgpewidget_0.114.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "libgpewidget contains a collection of widgets and other common co
SECTION = "gpe/libs"
PRIORITY = "optional"
DEPENDS = "gtk+ cairo libxrender gtk-doc"
-PR = "r0"
+PR = "r1"
GPE_TARBALL_SUFFIX = "bz2"
inherit gpe pkgconfig autotools
@@ -11,7 +11,7 @@ inherit gpe pkgconfig autotools
SRC_URI += "file://pkgconfig.patch;patch=1;pnum=0"
PACKAGES =+ "libgpewidget-bin"
-FILES_libgpewidget-bin = "${bindir}"
+FILES_libgpewidget-bin = "${bindir}/*"
EXTRA_OECONF = "--enable-cairo"
diff --git a/packages/libgpewidget/libgpewidget_cvs.bb b/packages/libgpewidget/libgpewidget_svn.bb
index 1eeea30e59..1da0a946be 100644
--- a/packages/libgpewidget/libgpewidget_cvs.bb
+++ b/packages/libgpewidget/libgpewidget_svn.bb
@@ -8,12 +8,12 @@ LICENSE = "LGPL"
DEFAULT_PREFERENCE = "-1"
S = "${WORKDIR}/${PN}"
-PV = "0.109+cvs${SRCDATE}"
+PV = "0.114+svn${SRCDATE}"
PR = "r0"
inherit gpe autotools pkgconfig
-SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}"
+SRC_URI = "${GPE_SVN}"
EXTRA_OECONF = "--enable-cairo"
diff --git a/packages/libgsf/libgsf_1.14.2.bb b/packages/libgsf/libgsf_1.14.2.bb
new file mode 100644
index 0000000000..43fd3ab9c7
--- /dev/null
+++ b/packages/libgsf/libgsf_1.14.2.bb
@@ -0,0 +1,23 @@
+LICENSE = "GPL"
+SECTION = "libs"
+PR = "r0"
+
+DEPENDS= "libxml2 bzip2 glib-2.0 zlib gtk-doc libbonobo gnome-vfs"
+RDEPENDS = "gconf gnome-vfs"
+
+
+PACKAGES =+ "${PN}-gnome ${PN}-gnome-dev "
+
+FILES_${PN}-gnome = "${libdir}/libgsf-gnome-1.so.*"
+FILES_${PN}-gnome-dev = "${libdir}/libgsf-gnome-1.* ${includedir}/libgsf-1/gsf-gnome"
+
+inherit autotools pkgconfig gnome gconf
+
+EXTRA_OECONF = "\
+ --without-python \
+ --with-gnome \
+ --with-bz2"
+
+do_stage() {
+autotools_stage_all
+}
diff --git a/packages/libmimedir/libmimedir_0.4.0-20060804.bb b/packages/libmimedir/libmimedir_0.4.0-20060804.bb
index f3adcc22f4..9970c09786 100644
--- a/packages/libmimedir/libmimedir_0.4.0-20060804.bb
+++ b/packages/libmimedir/libmimedir_0.4.0-20060804.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
PRIORITY = "optional"
LICENSE = "LGPL"
DEPENDS = "intltool-native glib-2.0"
-PR = "r2"
+PR = "r3"
DEFAULT_PREFERENCE = "5"
SRCDATE = "20060804"
PV = "0.4.0+cvs${SRCDATE}"
@@ -25,4 +25,4 @@ do_stage() {
PACKAGES =+ libmimedir-utils
PACKAGES_DYNAMIC = "libmimedir-0.4*"
-FILES_libmimedir-utils = "${bindir}/"
+FILES_libmimedir-utils = "${bindir}/*"
diff --git a/packages/libol/libol_0.3.18.bb b/packages/libol/libol_0.3.18.bb
index 67677c864f..dae22db04e 100644
--- a/packages/libol/libol_0.3.18.bb
+++ b/packages/libol/libol_0.3.18.bb
@@ -1,6 +1,6 @@
PR = "r5"
-SRC_URI = "http://www.balabit.com/downloads/libol/0.3/${PN}-${PV}.tar.gz"
+SRC_URI = "http://www.balabit.com/downloads/libol/0.3/${P}.tar.gz"
S = "${WORKDIR}/${PN}-${PV}"
diff --git a/packages/libsdl/libsdl-native_1.2.7.bb b/packages/libsdl/libsdl-native_1.2.11.bb
index 9cd0d82ffc..3c3f17d1d2 100644
--- a/packages/libsdl/libsdl-native_1.2.7.bb
+++ b/packages/libsdl/libsdl-native_1.2.11.bb
@@ -1,15 +1,14 @@
DESCRIPTION = "Simple DirectMedia Layer - native Edition"
+HOMEPAGE = "http://www.libsdl.org"
SECTION = "libs"
-PRIORITY = "optional"
LICENSE = "LGPL"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
- file://extra-keys.patch;patch=1 \
file://acinclude.m4"
S = "${WORKDIR}/SDL-${PV}"
-inherit autotools native
+inherit autotools binconfig pkgconfig native
EXTRA_OECONF = "--disable-debug --disable-cdrom --enable-threads --enable-timers --enable-endian \
--enable-file --disable-oss --disable-alsa --disable-esd --disable-arts \
@@ -20,50 +19,18 @@ EXTRA_OECONF = "--disable-debug --disable-cdrom --enable-threads --enable-timers
--disable-video-opengl --enable-input-events --enable-pthreads \
--disable-video-picogui --disable-video-qtopia --enable-dlopen"
-do_configure_prepend() {
+do_configure() {
rm -f ${S}/acinclude.m4
cp ${WORKDIR}/acinclude.m4 ${S}/
-}
-
-do_configure_append () {
+ gnu-configize
+ oe_runconf
cd ${S}
-
# prevent libtool from linking libs against libstdc++, libgcc, ...
cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
}
do_stage() {
- oe_libinstall -so -C src libSDL ${STAGING_LIBDIR}
- ln -sf libSDL.so ${STAGING_LIBDIR}/libSDL-1.2.so
- #oe_libinstall -a -C src/main libSDLmain ${STAGING_LIBDIR}
- install -m 0644 src/main/libSDLmain.a ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/SDL
- for f in include/*.h
- do
- install -m 0644 $f ${STAGING_INCDIR}/SDL/
- done
-
- cat >${STAGING_BINDIR}/sdl-config-native <<EOF
-#!/bin/sh
- case "\$1" in
- --prefix)
- echo /usr
- ;;
- --exec-prefix)
- echo /usr
- ;;
- --version)
- echo ${PV}
- ;;
- --cflags)
- echo -I${STAGING_INCDIR}/SDL -D_REENTRANT
- ;;
- --libs)
- echo -lSDLmain -lSDL-1.2 -lpthread -L${STAGING_LIBDIR}
- ;;
- esac
-EOF
- chmod a+rx ${STAGING_BINDIR}/sdl-config-native
+ autotools_stage_all
+ install -m 0644 build/libSDLmain.a ${STAGING_LIBDIR}
}
diff --git a/packages/linux/handhelds-pxa-2.6-2.6.12-hh3/fix-extraversion.patch b/packages/linux/handhelds-pxa-2.6-2.6.12-hh3/fix-extraversion.patch
deleted file mode 100644
index 720aeaffa3..0000000000
--- a/packages/linux/handhelds-pxa-2.6-2.6.12-hh3/fix-extraversion.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kernel26/Makefile.orig 2005-09-20 15:36:09 +0200
-+++ kernel26/Makefile 2005-09-20 15:26:27 +0200
-@@ -1,7 +1,7 @@
- VERSION = 2
- PATCHLEVEL = 6
- SUBLEVEL = 12
--EXTRAVERSION = -hh2
-+EXTRAVERSION = -hh3
- NAME=Woozy Numbat
-
- # *DOCUMENTATION*
diff --git a/packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6_2.6.8.1-hh0 b/packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6_2.6.8.1-hh0
deleted file mode 100644
index 8d03220347..0000000000
--- a/packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6_2.6.8.1-hh0
+++ /dev/null
@@ -1,1382 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
-CONFIG_BROKEN_ON_SMP=y
-
-#
-# General setup
-#
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_HOTPLUG=y
-CONFIG_IKCONFIG=y
-# CONFIG_MINIMAL_OOPS is not set
-CONFIG_IKCONFIG_PROC=y
-CONFIG_EMBEDDED=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_L7200 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE_PB is not set
-
-#
-# Intel PXA2xx Implementations
-#
-CONFIG_PXA25x=y
-# CONFIG_PXA27x is not set
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_ARCH_PXA_IDP is not set
-CONFIG_ARCH_ESERIES=y
-CONFIG_MACH_E740=y
-CONFIG_MACH_E750=y
-CONFIG_MACH_E800=y
-CONFIG_ESERIES_TMIO=y
-CONFIG_OHCI_TMIO=y
-CONFIG_MTD_NAND_TMIO=y
-CONFIG_ESERIES_UDC=y
-# CONFIG_E740_PCMCIA is not set
-# CONFIG_E750_PCMCIA is not set
-# CONFIG_E800_PCMCIA is not set
-CONFIG_MACH_A620=y
-CONFIG_A620_LCD=m
-CONFIG_A620_BUTTONS=m
-CONFIG_ARCH_H1900=y
-CONFIG_ARCH_H2200=y
-CONFIG_H2200_PCMCIA=m
-CONFIG_H2200_LCD=m
-# CONFIG_H2200_BATTERY is not set
-CONFIG_H2200_TS=m
-CONFIG_H2200_AUDIO=m
-CONFIG_ARCH_H3900=y
-CONFIG_MACH_H4000=y
-CONFIG_ARCH_H5400=y
-# CONFIG_ARCH_AXIMX5 is not set
-# CONFIG_ARCH_AXIMX3 is not set
-CONFIG_ARCH_ROVERP1=y
-CONFIG_ARCH_ROVERP5P=y
-CONFIG_ROVERP5P_LCD=m
-CONFIG_ROVERP5P_PCMCIA=m
-
-#
-# Linux As Bootloader
-#
-# CONFIG_LAB is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_XSCALE_PXA250=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_MINICACHE=y
-
-#
-# Processor Features
-#
-# CONFIG_ARM_FASTCALL is not set
-CONFIG_ARM_THUMB=y
-CONFIG_XSCALE_PMU=y
-
-#
-# Compaq/iPAQ Options
-#
-CONFIG_PXA_IPAQ=y
-
-#
-# XScale-based iPAQ
-#
-CONFIG_IPAQ_HANDHELD=y
-# CONFIG_IPAQ_SLEEVE is not set
-CONFIG_IPAQ_ASIC2=m
-CONFIG_IPAQ_ASIC2_TOUCHSCREEN=m
-CONFIG_IPAQ_ASIC3=m
-# CONFIG_IPAQ_H1900_LCD is not set
-# CONFIG_IPAQ_H3900_LCD is not set
-CONFIG_IPAQ_H4000_LCD=m
-CONFIG_IPAQ_SAMCOP=m
-CONFIG_IPAQ_SAMCOP_ADC=m
-CONFIG_IPAQ_SAMCOP_TOUCHSCREEN=m
-CONFIG_IPAQ_SHAMCOP=m
-CONFIG_IPAQ_SHAMCOP_ADC=m
-CONFIG_IPAQ_SHAMCOP_TOUCHSCREEN=m
-CONFIG_IPAQ_SHAMCOP_NAND=m
-CONFIG_IPAQ_H5400_LCD=m
-CONFIG_IPAQ_H5400_WIFI=m
-
-#
-# General setup
-#
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-# CONFIG_CPU_FREQ is not set
-
-#
-# PCMCIA/CardBus support
-#
-CONFIG_PCMCIA=m
-# CONFIG_PCMCIA_DEBUG is not set
-# CONFIG_TCIC is not set
-CONFIG_PCMCIA_PXA2XX=m
-
-#
-# At least one math emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-# CONFIG_VFP is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-CONFIG_SOC_DEVICE=m
-# CONFIG_DOCKING_HOTPLUG is not set
-# CONFIG_DEBUG_DRIVER is not set
-CONFIG_PM=y
-# CONFIG_PREEMPT is not set
-# CONFIG_APM is not set
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="keepinitrd"
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_DEBUG_VERBOSE=1
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_CONCAT=m
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PHYSMAP is not set
-CONFIG_MTD_IPAQ=y
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_EDB7312 is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=m
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_H1900 is not set
-CONFIG_MTD_NAND_IDS=m
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_INITRD=y
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-# CONFIG_NETLINK_DEV is not set
-CONFIG_UNIX=y
-CONFIG_NET_KEY=m
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-
-#
-# IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=m
-CONFIG_IP_NF_FTP=m
-CONFIG_IP_NF_IRC=m
-# CONFIG_IP_NF_TFTP is not set
-# CONFIG_IP_NF_AMANDA is not set
-# CONFIG_IP_NF_QUEUE is not set
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_LIMIT=m
-# CONFIG_IP_NF_MATCH_IPRANGE is not set
-CONFIG_IP_NF_MATCH_MAC=m
-# CONFIG_IP_NF_MATCH_PKTTYPE is not set
-CONFIG_IP_NF_MATCH_MARK=m
-CONFIG_IP_NF_MATCH_MULTIPORT=m
-CONFIG_IP_NF_MATCH_TOS=m
-# CONFIG_IP_NF_MATCH_RECENT is not set
-# CONFIG_IP_NF_MATCH_ECN is not set
-# CONFIG_IP_NF_MATCH_DSCP is not set
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=m
-# CONFIG_IP_NF_MATCH_HELPER is not set
-CONFIG_IP_NF_MATCH_STATE=m
-# CONFIG_IP_NF_MATCH_CONNTRACK is not set
-# CONFIG_IP_NF_MATCH_OWNER is not set
-# CONFIG_IP_NF_MATCH_PHYSDEV is not set
-CONFIG_IP_NF_FILTER=m
-# CONFIG_IP_NF_TARGET_REJECT is not set
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-# CONFIG_IP_NF_TARGET_NETMAP is not set
-# CONFIG_IP_NF_TARGET_SAME is not set
-# CONFIG_IP_NF_NAT_LOCAL is not set
-# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
-CONFIG_IP_NF_NAT_IRC=m
-CONFIG_IP_NF_NAT_FTP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-# CONFIG_IP_NF_TARGET_ECN is not set
-# CONFIG_IP_NF_TARGET_DSCP is not set
-CONFIG_IP_NF_TARGET_MARK=m
-# CONFIG_IP_NF_TARGET_CLASSIFY is not set
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=m
-# CONFIG_IP_NF_ARPTABLES is not set
-CONFIG_IP_NF_COMPAT_IPCHAINS=m
-# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-# CONFIG_IP_NF_RAW is not set
-# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
-# CONFIG_IP_NF_MATCH_REALM is not set
-
-#
-# IPv6: Netfilter Configuration
-#
-# CONFIG_IP6_NF_QUEUE is not set
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_LIMIT=m
-CONFIG_IP6_NF_MATCH_MAC=m
-# CONFIG_IP6_NF_MATCH_RT is not set
-# CONFIG_IP6_NF_MATCH_OPTS is not set
-# CONFIG_IP6_NF_MATCH_FRAG is not set
-# CONFIG_IP6_NF_MATCH_HL is not set
-CONFIG_IP6_NF_MATCH_MULTIPORT=m
-# CONFIG_IP6_NF_MATCH_OWNER is not set
-CONFIG_IP6_NF_MATCH_MARK=m
-# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
-# CONFIG_IP6_NF_MATCH_AHESP is not set
-# CONFIG_IP6_NF_MATCH_LENGTH is not set
-# CONFIG_IP6_NF_MATCH_EUI64 is not set
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_MARK=m
-# CONFIG_IP6_NF_RAW is not set
-
-#
-# Bridge: Netfilter Configuration
-#
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-CONFIG_BRIDGE=m
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-# CONFIG_DONGLE is not set
-
-#
-# Old SIR device drivers
-#
-CONFIG_IRPORT_SIR=m
-
-#
-# Old Serial dongle support
-#
-# CONFIG_DONGLE_OLD is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_BT=m
-# CONFIG_BT_L2CAP is not set
-# CONFIG_BT_SCO is not set
-
-#
-# Bluetooth device drivers
-#
-# CONFIG_BT_HCIUSB is not set
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIDTL1 is not set
-# CONFIG_BT_HCIBT3C is not set
-# CONFIG_BT_HCIBLUECARD is not set
-# CONFIG_BT_HCIBTUART is not set
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-
-#
-# Ethernet (10 or 100Mbit)
-#
-# CONFIG_NET_ETHERNET is not set
-CONFIG_MII=m
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-CONFIG_PCMCIA_WAVELAN=m
-CONFIG_PCMCIA_NETWAVE=m
-
-#
-# Wireless 802.11 Frequency Hopping cards support
-#
-CONFIG_PCMCIA_RAYCS=m
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-CONFIG_HERMES=m
-# CONFIG_ATMEL is not set
-
-#
-# Wireless 802.11b Pcmcia/Cardbus cards support
-#
-CONFIG_PCMCIA_HERMES=m
-CONFIG_AIRO_CS=m
-# CONFIG_PCMCIA_WL3501 is not set
-CONFIG_NET_WIRELESS=y
-# CONFIG_HOSTAP is not set
-
-#
-# PCMCIA network device support
-#
-CONFIG_NET_PCMCIA=y
-CONFIG_PCMCIA_3C589=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_PCMCIA_AXNET=m
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-CONFIG_IDE=m
-CONFIG_BLK_DEV_IDE=m
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_IDEDISK=m
-# CONFIG_IDEDISK_MULTI_MODE is not set
-CONFIG_BLK_DEV_IDECS=m
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_BLK_DEV_IDEFLOPPY=m
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_TASKFILE_IO is not set
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_IDE_GENERIC=m
-# CONFIG_IDE_ARM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI=m
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# PCMCIA SCSI adapter support
-#
-# CONFIG_PCMCIA_AHA152X is not set
-# CONFIG_PCMCIA_FDOMAIN is not set
-# CONFIG_PCMCIA_NINJA_SCSI is not set
-# CONFIG_PCMCIA_QLOGIC is not set
-# CONFIG_PCMCIA_SYM53C500 is not set
-
-#
-# Fusion MPT device support
-#
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_TSDEV=m
-CONFIG_INPUT_TSDEV_SCREEN_X=240
-CONFIG_INPUT_TSDEV_SCREEN_Y=320
-CONFIG_INPUT_TSLIBDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input I/O drivers
-#
-# CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
-CONFIG_SERIO=m
-# CONFIG_SERIO_I8042 is not set
-CONFIG_SERIO_SERPORT=m
-# CONFIG_SERIO_CT82C710 is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_KEYBOARD_NEWTON=m
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_DZ is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-
-#
-# I2C support
-#
-CONFIG_I2C=m
-CONFIG_I2C_CHARDEV=m
-
-#
-# I2C Algorithms
-#
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCF is not set
-CONFIG_I2C_ALGOPXA=m
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_ELV is not set
-# CONFIG_I2C_ISA is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-CONFIG_I2C_PXA=m
-# CONFIG_SCx200_ACB is not set
-
-#
-# Hardware Sensors Chip support
-#
-# CONFIG_I2C_SENSOR is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-
-#
-# Other I2C Chip support
-#
-# CONFIG_SENSORS_EEPROM is not set
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-CONFIG_I2C_DEBUG_CORE=y
-CONFIG_I2C_DEBUG_ALGO=y
-CONFIG_I2C_DEBUG_BUS=y
-CONFIG_I2C_DEBUG_CHIP=y
-
-#
-# L3 serial bus support
-#
-CONFIG_L3=m
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_QIC02_TAPE is not set
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-# CONFIG_SA1100_WATCHDOG is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-
-#
-# Video For Linux
-#
-
-#
-# Video Adapters
-#
-CONFIG_VIDEO_CPIA=m
-# CONFIG_VIDEO_CPIA_USB is not set
-# CONFIG_VIDEO_SAA5246A is not set
-# CONFIG_VIDEO_SAA5249 is not set
-# CONFIG_TUNER_3036 is not set
-# CONFIG_VIDEO_OVCAMCHIP is not set
-
-#
-# Radio Adapters
-#
-# CONFIG_RADIO_MAESTRO is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-# CONFIG_EXT3_FS_POSIX_ACL is not set
-# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_MINIX_FS is not set
-CONFIG_ROMFS_FS=m
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-CONFIG_DEVFS_FS=y
-CONFIG_DEVFS_MOUNT=y
-# CONFIG_DEVFS_DEBUG is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
-CONFIG_TMPFS=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_NAND=y
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_CRAMFS=m
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V4 is not set
-# CONFIG_NFSD_TCP is not set
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_SUNRPC=m
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-
-#
-# Native Language Support
-#
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Graphics support
-#
-CONFIG_FB=y
-CONFIG_FB_MODES=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_DEVICE=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_DEVICE=y
-# CONFIG_FB_VSFB is not set
-CONFIG_FB_MQ1100=m
-CONFIG_FB_PXA=m
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_PXA_8BPP is not set
-CONFIG_FB_PXA_16BPP=y
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=m
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-CONFIG_FONT_MINI_4x6=y
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-
-#
-# Logo configuration
-#
-# CONFIG_LOGO is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_DEBUG=y
-CONFIG_SND_DEBUG_MEMORY=y
-CONFIG_SND_DEBUG_DETECT=y
-
-#
-# Generic devices
-#
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# ALSA ARM devices
-#
-CONFIG_SND_PXA2XX_UDA1380=m
-# CONFIG_SND_H5XXX_AK4535 is not set
-# CONFIG_SND_PXA_AC97 is not set
-
-#
-# ALSA USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-
-#
-# PCMCIA devices
-#
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-# CONFIG_SOUND_UDA1341 is not set
-
-#
-# Misc devices
-#
-
-#
-# SoC drivers
-#
-CONFIG_SOC_MQ11XX=m
-# CONFIG_BATTERY_MONITOR is not set
-
-#
-# USB support
-#
-CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_EHCI_HCD is not set
-CONFIG_USB_OHCI_HCD=m
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811HS is not set
-# CONFIG_USB_SL811HS_ALT is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_AUDIO is not set
-
-#
-# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
-#
-# CONFIG_USB_MIDI is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_STORAGE is not set
-
-#
-# USB Human Interface Devices (HID)
-#
-# CONFIG_USB_HID is not set
-
-#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-# CONFIG_USB_MTOUCH is not set
-# CONFIG_USB_EGALAX is not set
-# CONFIG_USB_XPAD is not set
-# CONFIG_USB_ATI_REMOTE is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-# CONFIG_USB_DABUSB is not set
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_STV680 is not set
-
-#
-# USB Network adaptors
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_TIGL is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB Gadget Support
-#
-CONFIG_USB_GADGET=m
-# CONFIG_USB_GADGET_NET2280 is not set
-CONFIG_USB_GADGET_PXA2XX=y
-CONFIG_USB_PXA2XX=m
-# CONFIG_USB_PXA2XX_SMALL is not set
-# CONFIG_USB_GADGET_GOKU is not set
-# CONFIG_USB_GADGET_SA1100 is not set
-# CONFIG_USB_GADGET_MQ11XX is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-# CONFIG_USB_ETH_RNDIS is not set
-# CONFIG_USB_GADGETFS is not set
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-# CONFIG_USB_G_SERIAL is not set
-# CONFIG_USB_G_CHAR is not set
-
-#
-# Kernel hacking
-#
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_INFO is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_LL_PXA_JTAG is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_DEBUG_ERRORS=y
-# CONFIG_DEBUG_LL is not set
-
-#
-# Security options
-#
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-# CONFIG_CRYPTO_TEA is not set
-CONFIG_CRYPTO_ARC4=m
-# CONFIG_CRYPTO_KHAZAD is not set
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=m
-CONFIG_CRC32=m
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/handhelds-pxa-2.6/hx-iwmmxt.patch b/packages/linux/handhelds-pxa-2.6/hx-iwmmxt.patch
deleted file mode 100644
index 2cb7b37da7..0000000000
--- a/packages/linux/handhelds-pxa-2.6/hx-iwmmxt.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: kernel26/arch/arm/mach-pxa/hx4700/Kconfig
-===================================================================
-RCS file: /cvs/linux/kernel26/arch/arm/mach-pxa/hx4700/Kconfig,v
-retrieving revision 1.22
-diff -u -r1.22 Kconfig
---- kernel26/arch/arm/mach-pxa/hx4700/Kconfig 28 Mar 2006 19:12:12 -0000 1.22
-+++ kernel26/arch/arm/mach-pxa/hx4700/Kconfig 6 Aug 2006 23:24:52 -0000
-@@ -2,6 +2,7 @@
- bool "HP iPAQ hx4700"
- select PXA27x
- select GPIO_KEYS
-+ select IWMMXT
- help
- This enables support for the HP iPAQ hx4700 handheld.
-
diff --git a/packages/linux/handhelds-pxa-2.6_2.6.11-hh2.bb b/packages/linux/handhelds-pxa-2.6_2.6.11-hh2.bb
deleted file mode 100644
index c96af82fe9..0000000000
--- a/packages/linux/handhelds-pxa-2.6_2.6.11-hh2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
-LICENSE = "GPL"
-#
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://pitre-tls-2651.patch;patch=1"
-
-S = "${WORKDIR}/kernel26"
-
-inherit kernel
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}"
-do_configure() {
- install -m 0644 arch/arm/configs/ipaqpxa_defconfig .config
- yes '' | oe_runmake oldconfig
-}
diff --git a/packages/linux/handhelds-pxa-2.6_2.6.12-hh1.bb b/packages/linux/handhelds-pxa-2.6_2.6.12-hh1.bb
deleted file mode 100644
index 55663a1260..0000000000
--- a/packages/linux/handhelds-pxa-2.6_2.6.12-hh1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
-LICENSE = "GPL"
-#
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')}"
-
-S = "${WORKDIR}/kernel26"
-
-inherit kernel
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}"
-do_configure() {
- install -m 0644 arch/arm/configs/ipaqpxa_defconfig .config
- yes '' | oe_runmake oldconfig
-}
diff --git a/packages/linux/handhelds-pxa-2.6_2.6.12-hh3.bb b/packages/linux/handhelds-pxa-2.6_2.6.12-hh3.bb
deleted file mode 100644
index 595e28e0d2..0000000000
--- a/packages/linux/handhelds-pxa-2.6_2.6.12-hh3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
-LICENSE = "GPL"
-PR="r1"
-#
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://defconfig"
-
-S = "${WORKDIR}/kernel26"
-
-inherit kernel
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}"
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config || die "No default configuration for ${MACHINE} available."
- yes '' | oe_runmake oldconfig
-}
diff --git a/packages/linux/handhelds-pxa-2.6_2.6.15-hh0.bb b/packages/linux/handhelds-pxa-2.6_2.6.15-hh0.bb
deleted file mode 100644
index e85687758e..0000000000
--- a/packages/linux/handhelds-pxa-2.6_2.6.15-hh0.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
-LICENSE = "GPL"
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://ide_not_removable-r0.patch;patch=1 \
- file://block-pio.patch;patch=1 \
- file://defconfig"
-
-S = "${WORKDIR}/kernel26"
-
-inherit kernel
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}"
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config || die "No default configuration for ${MACHINE} available."
- yes '' | oe_runmake oldconfig
-}
-
-do_deploy() {
- install -d ${DEPLOY_DIR_IMAGE}
- install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.1.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.1.bb
deleted file mode 100644
index a194046528..0000000000
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.1.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA25x based devices."
-LICENSE = "GPL"
-PR = "r2"
-
-KERNEL_CCSUFFIX = "-3.3.3"
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://defconfig-ipaqpxa \
- file://ipaq-hal.init \
- file://linux-2.4-no-short-loads.patch;patch=1 \
- file://linux-2.4-cpufreq.patch;patch=1"
-
-S = "${WORKDIR}/kernel"
-
-inherit kernel update-rc.d
-
-PACKAGE_ARCH = "ipaqpxa"
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-RMKV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('rmk')[-1]}"
-PXAV = "${@bb.data.getVar('PV',d,1).split('-')[2].split('pxa')[-1]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[3].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + int(bb.data.getVar('RMKV',d,1)) * 1000 + int(bb.data.getVar('PXAV',d,1)) * 100 + float(bb.data.getVar('HHV',d,1)))}"
-
-module_conf_h3900_asic = "alias ipaq_hal_3900 h3900_asic"
-module_conf_h5400_asic = "alias ipaq_hal_5400 h5400_asic"
-module_conf_pxa_ir = "alias irda0 pxa_ir"
-module_conf_i2c_algo_pxa = "options i2c-algo-pxa pxa_scan=0"
-module_conf_pcmcia_core = "options pcmcia_core ignore_cis_vcc=1"
-module_conf_ppp_async = "alias ppp0 ppp_async"
-module_conf_orinoco_cs = "options orinoco_cs ignore_cis_vcc=1"
-module_conf_hostap_cs = "options hostap_cs ignore_cis_vcc=1"
-
-module_autoload_h3600_ts = "h3600_ts"
-module_autoload_apm = "apm"
-module_autoload_af_packet = "af_packet"
-module_autoload_usb-ohci-h5400 = "usb-ohci-h5400"
-module_autoload_ppp_async = "ppp_async"
-module_autoload_usb-eth = "usb-eth"
-module_autoload_h5400_buzzer = "h5400_buzzer"
-module_autoload_mmc_h5400 = "mmc_h5400"
-module_autoload_h5400-audio = "h5400-audio"
-module_autoload_h3900-uda1380 = "h3900-uda1380"
-
-FILES_kernel += "/etc/init.d/ipaq-hal"
-INITSCRIPT_NAME = "ipaq-hal"
-INITSCRIPT_PARAMS = "start 21 S ."
-
-# extra depends
-RDEPENDS_kernel-module-h5400-audio = "kernel-module-ak4535 kernel-module-i2c-adap-pxa"
-
-do_configure_prepend() {
- install -m 0644 ${WORKDIR}/defconfig-${PACKAGE_ARCH} ${S}/.config
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install ${WORKDIR}/ipaq-hal.init ${D}${sysconfdir}/init.d/ipaq-hal
-}
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.4.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.4.bb
deleted file mode 100644
index bc5d2e50ef..0000000000
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.4.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA25x based devices."
-LICENSE = "GPL"
-PR = "r7"
-
-KERNEL_CCSUFFIX = "-3.3.3"
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://defconfig-${PACKAGE_ARCH} \
- file://ipaq-hal.init \
- file://linux-2.4-no-short-loads.patch;patch=1 \
- file://linux-2.4-cpufreq.patch;patch=1 \
- file://mmc_h5400.patch;patch=1"
-
-S = "${WORKDIR}/kernel"
-
-inherit kernel update-rc.d
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-RMKV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('rmk')[-1]}"
-PXAV = "${@bb.data.getVar('PV',d,1).split('-')[2].split('pxa')[-1]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[3].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + int(bb.data.getVar('RMKV',d,1)) * 1000 + int(bb.data.getVar('PXAV',d,1)) * 100 + float(bb.data.getVar('HHV',d,1)))}"
-
-module_conf_h3900_asic = "alias ipaq_hal_3900 h3900_asic"
-module_conf_h5400_asic = "alias ipaq_hal_5400 h5400_asic"
-module_conf_pxa_ir = "alias irda0 pxa_ir"
-module_conf_i2c-algo-pxa = "options i2c-algo-pxa pxa_scan=0"
-module_conf_pcmcia_core = "options pcmcia_core ignore_cis_vcc=1"
-module_conf_ppp_async = "alias ppp0 ppp_async"
-module_conf_orinoco_cs = "options orinoco_cs ignore_cis_vcc=1"
-module_conf_hostap_cs = "options hostap_cs ignore_cis_vcc=1"
-
-module_autoload_h3600_ts = "h3600_ts"
-module_autoload_apm = "apm"
-module_autoload_af_packet = "af_packet"
-module_autoload_usb-ohci-h5400 = "usb-ohci-h5400"
-module_autoload_ppp_async = "ppp_async"
-module_autoload_usb-eth = "usb-eth"
-module_autoload_h5400_buzzer = "h5400_buzzer"
-module_autoload_mmc_h5400 = "mmc_h5400"
-module_autoload_h5400-audio = "h5400-audio"
-module_autoload_h3900-uda1380 = "h3900-uda1380"
-module_autoload_sa1100-rtc = "sa1100-rtc"
-module_autoload_ak4535 = "ak4535"
-module_autoload_i2c-adap-pxa = "i2c-adap-pxa"
-
-FILES_kernel += "/etc/init.d/ipaq-hal"
-INITSCRIPT_NAME = "ipaq-hal"
-INITSCRIPT_PARAMS = "start 21 S ."
-
-# extra depends
-RDEPENDS_kernel-module-h5400-audio = "kernel-module-ak4535 kernel-module-i2c-adap-pxa"
-RDEPENDS_kernel-module-h3900-uda1380 = "kernel-module-uda1380 kernel-module-i2c-adap-pxa"
-
-do_configure_prepend() {
- install -m 0644 ${WORKDIR}/defconfig-${PACKAGE_ARCH} ${S}/.config
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install ${WORKDIR}/ipaq-hal.init ${D}${sysconfdir}/init.d/ipaq-hal
-}
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.5.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.5.bb
deleted file mode 100644
index b752266d14..0000000000
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.5.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA25x based devices."
-LICENSE = "GPL"
-PR = "r4"
-
-KERNEL_CCSUFFIX = "-3.3.3"
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://defconfig-${PACKAGE_ARCH} \
- file://ipaq-hal.init \
- file://linux-2.4-no-short-loads.patch;patch=1 \
- file://linux-2.4-cpufreq.patch;patch=1"
-
-S = "${WORKDIR}/kernel"
-
-inherit kernel update-rc.d
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-RMKV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('rmk')[-1]}"
-PXAV = "${@bb.data.getVar('PV',d,1).split('-')[2].split('pxa')[-1]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[3].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + int(bb.data.getVar('RMKV',d,1)) * 1000 + int(bb.data.getVar('PXAV',d,1)) * 100 + float(bb.data.getVar('HHV',d,1)))}"
-
-module_conf_h3900_asic = "alias ipaq_hal_3900 h3900_asic"
-module_conf_h5400_asic = "alias ipaq_hal_5400 h5400_asic"
-module_conf_pxa_ir = "alias irda0 pxa_ir"
-module_conf_i2c-algo-pxa = "options i2c-algo-pxa pxa_scan=0"
-module_conf_pcmcia_core = "options pcmcia_core ignore_cis_vcc=1"
-module_conf_ppp_async = "alias ppp0 ppp_async"
-module_conf_orinoco_cs = "options orinoco_cs ignore_cis_vcc=1"
-module_conf_hostap_cs = "options hostap_cs ignore_cis_vcc=1"
-
-module_autoload_h3600_ts = "h3600_ts"
-module_autoload_apm = "apm"
-module_autoload_af_packet = "af_packet"
-module_autoload_usb-ohci-h5400 = "usb-ohci-h5400"
-module_autoload_ppp_async = "ppp_async"
-module_autoload_usb-eth = "usb-eth"
-module_autoload_h5400_buzzer = "h5400_buzzer"
-module_autoload_mmc_h5400 = "mmc_h5400"
-module_autoload_h5400-audio = "h5400-audio"
-module_autoload_h3900-uda1380 = "h3900-uda1380"
-module_autoload_sa1100-rtc = "sa1100-rtc"
-module_autoload_ak4535 = "ak4535"
-module_autoload_i2c-adap-pxa = "i2c-adap-pxa"
-
-FILES_kernel += "/etc/init.d/ipaq-hal"
-INITSCRIPT_NAME = "ipaq-hal"
-INITSCRIPT_PARAMS = "start 21 S ."
-
-# extra depends
-RDEPENDS_kernel-module-h5400-audio = "kernel-module-ak4535 kernel-module-i2c-adap-pxa"
-RDEPENDS_kernel-module-h3900-uda1380 = "kernel-module-uda1380 kernel-module-i2c-adap-pxa"
-
-do_configure_prepend() {
- install -m 0644 ${WORKDIR}/defconfig-${PACKAGE_ARCH} ${S}/.config
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install ${WORKDIR}/ipaq-hal.init ${D}${sysconfdir}/init.d/ipaq-hal
-}
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.6.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.6.bb
deleted file mode 100644
index e6245c9583..0000000000
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh37.6.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA25x based devices."
-LICENSE = "GPL"
-PR = "r0"
-
-KERNEL_CCSUFFIX = "-3.3.3"
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://defconfig-${PACKAGE_ARCH} \
- file://ipaq-hal.init \
- file://linux-2.4-mmc-debugging.patch;patch=1 \
- file://linux-2.4-usb-gadget.patch;patch=1 \
- file://usb-gadget-ether-compat.patch;patch=1 \
- file://linux-2.4-no-short-loads.patch;patch=1 \
- file://linux-2.4-cpufreq.patch;patch=1"
-
-S = "${WORKDIR}/kernel"
-
-inherit kernel update-rc.d
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-RMKV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('rmk')[-1]}"
-PXAV = "${@bb.data.getVar('PV',d,1).split('-')[2].split('pxa')[-1]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[3].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + int(bb.data.getVar('RMKV',d,1)) * 1000 + int(bb.data.getVar('PXAV',d,1)) * 100 + float(bb.data.getVar('HHV',d,1)))}"
-
-module_conf_h3900_asic = "alias ipaq_hal_3900 h3900_asic"
-module_conf_h5400_asic = "alias ipaq_hal_5400 h5400_asic"
-module_conf_pxa_ir = "alias irda0 pxa_ir"
-module_conf_i2c-algo-pxa = "options i2c-algo-pxa pxa_scan=0"
-module_conf_pcmcia_core = "options pcmcia_core ignore_cis_vcc=1"
-module_conf_ppp_async = "alias ppp0 ppp_async"
-module_conf_orinoco_cs = "options orinoco_cs ignore_cis_vcc=1"
-module_conf_hostap_cs = "options hostap_cs ignore_cis_vcc=1"
-
-module_autoload_h3600_ts = "h3600_ts"
-module_autoload_apm = "apm"
-module_autoload_af_packet = "af_packet"
-module_autoload_usb-ohci-h5400 = "usb-ohci-h5400"
-module_autoload_ppp_async = "ppp_async"
-module_autoload_usb-eth = "usb-eth"
-module_autoload_h5400_buzzer = "h5400_buzzer"
-module_autoload_mmc_h5400 = "mmc_h5400"
-module_autoload_h5400-audio = "h5400-audio"
-module_autoload_h3900-uda1380 = "h3900-uda1380"
-module_autoload_sa1100-rtc = "sa1100-rtc"
-module_autoload_ak4535 = "ak4535"
-module_autoload_i2c-adap-pxa = "i2c-adap-pxa"
-
-FILES_kernel += "/etc/init.d/ipaq-hal"
-INITSCRIPT_NAME = "ipaq-hal"
-INITSCRIPT_PARAMS = "start 21 S ."
-
-# extra depends
-RDEPENDS_kernel-module-h5400-audio = "kernel-module-ak4535 kernel-module-i2c-adap-pxa"
-RDEPENDS_kernel-module-h3900-uda1380 = "kernel-module-uda1380 kernel-module-i2c-adap-pxa"
-
-do_configure_prepend() {
- install -m 0644 ${WORKDIR}/defconfig-${PACKAGE_ARCH} ${S}/.config
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install ${WORKDIR}/ipaq-hal.init ${D}${sysconfdir}/init.d/ipaq-hal
-}
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh39.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh39.bb
deleted file mode 100644
index f4c29dc719..0000000000
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh39.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA25x based devices."
-LICENSE = "GPL"
-PR = "r1"
-
-KERNEL_CCSUFFIX = "-3.3.3"
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h2200|ipaq-pxa270)'
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
- file://defconfig-${PACKAGE_ARCH} \
- file://ipaq-hal.init \
- file://linux-2.4-mmc-debugging.patch;patch=1 \
- file://linux-2.4-usb-gadget.patch;patch=1 \
- file://usb-gadget-ether-compat.patch;patch=1 \
- file://linux-2.4-no-short-loads.patch;patch=1 \
- file://linux-2.4-cpufreq.patch;patch=1"
-
-S = "${WORKDIR}/kernel"
-
-inherit kernel update-rc.d
-
-K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
-K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
-K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
-RMKV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('rmk')[-1]}"
-PXAV = "${@bb.data.getVar('PV',d,1).split('-')[2].split('pxa')[-1]}"
-HHV = "${@bb.data.getVar('PV',d,1).split('-')[3].split('hh')[-1]}"
-
-KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + int(bb.data.getVar('RMKV',d,1)) * 1000 + int(bb.data.getVar('PXAV',d,1)) * 100 + float(bb.data.getVar('HHV',d,1)))}"
-
-module_conf_h3900_asic = "alias ipaq_hal_3900 h3900_asic"
-module_conf_h5400_asic = "alias ipaq_hal_5400 h5400_asic"
-module_conf_pxa_ir = "alias irda0 pxa_ir"
-module_conf_i2c-algo-pxa = "options i2c-algo-pxa pxa_scan=0"
-module_conf_pcmcia_core = "options pcmcia_core ignore_cis_vcc=1"
-module_conf_ppp_async = "alias ppp0 ppp_async"
-module_conf_orinoco_cs = "options orinoco_cs ignore_cis_vcc=1"
-module_conf_hostap_cs = "options hostap_cs ignore_cis_vcc=1"
-
-module_autoload_h3600_ts = "h3600_ts"
-module_autoload_apm = "apm"
-module_autoload_af_packet = "af_packet"
-module_autoload_usb-ohci-h5400 = "usb-ohci-h5400"
-module_autoload_ppp_async = "ppp_async"
-module_autoload_usb-eth = "usb-eth"
-module_autoload_h5400_buzzer = "h5400_buzzer"
-module_autoload_mmc_h5400 = "mmc_h5400"
-module_autoload_h5400-audio = "h5400-audio"
-module_autoload_h3900-uda1380 = "h3900-uda1380"
-module_autoload_sa1100-rtc = "sa1100-rtc"
-module_autoload_ak4535 = "ak4535"
-module_autoload_i2c-adap-pxa = "i2c-adap-pxa"
-
-FILES_kernel += "/etc/init.d/ipaq-hal"
-INITSCRIPT_NAME = "ipaq-hal"
-INITSCRIPT_PARAMS = "start 21 S ."
-
-# extra depends
-RDEPENDS_kernel-module-h5400-audio = "kernel-module-ak4535 kernel-module-i2c-adap-pxa"
-RDEPENDS_kernel-module-h3900-uda1380 = "kernel-module-uda1380 kernel-module-i2c-adap-pxa"
-
-do_configure_prepend() {
- install -m 0644 ${WORKDIR}/defconfig-${PACKAGE_ARCH} ${S}/.config
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install ${WORKDIR}/ipaq-hal.init ${D}${sysconfdir}/init.d/ipaq-hal
-}
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.1.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.1.bb
index 4a5fb5ae02..649704ba08 100644
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.1.bb
+++ b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.1.bb
@@ -6,6 +6,8 @@ PR = "r2"
KERNEL_CCSUFFIX = "-3.3.4"
COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = '(h3900|h5xxx)'
+
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
file://defconfig-${PACKAGE_ARCH} \
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.bb
index 0f4e7d4cba..cf508cb720 100644
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.bb
+++ b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh41.bb
@@ -6,6 +6,8 @@ PR = "r1"
KERNEL_CCSUFFIX = "-3.3.4"
COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = '(h3900|h5xxx)'
+
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
file://defconfig-${PACKAGE_ARCH} \
diff --git a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb
index 34fcdd658a..6c80c4405a 100644
--- a/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb
+++ b/packages/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb
@@ -6,6 +6,8 @@ LICENSE = "GPL"
KERNEL_CCSUFFIX = "-3.3.4"
COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = '(h3900|h5xxx)'
+
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
file://defconfig-${PACKAGE_ARCH} \
diff --git a/packages/linux/handhelds-sa-2.6_cvs.bb b/packages/linux/handhelds-sa-2.6_cvs.bb
deleted file mode 100644
index dc8b8478a7..0000000000
--- a/packages/linux/handhelds-sa-2.6_cvs.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for StrongArm processor based devices."
-LICENSE = "GPL"
-#
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3600|simpad|jornada56x)'
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-sa-${PV}"
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26"
-
-S = "${WORKDIR}/kernel26"
-PV = "${K_MAJOR}.${K_MINOR}.${K_MICRO}-hh${HHV}+cvs${SRCDATE}"
-
-K_MAJOR = "2"
-K_MINOR = "6"
-K_MICRO = "12"
-HHV = "0"
-
-inherit kernel
-#
-PAKCAGE_ARCH = "ipaqsa"
-PACKAGE_ARCH_jornada56x = "jornada56x"
-PACKAGE_ARCH_jornada7xx = "jornada7xx"
-PACKAGE_ARCH_simpad = "simpad"
-
-do_configure() {
- install -m 0644 ${S}/arch/arm/configs/${MACHINE}_defconfig ${S}/.config || die "No default configuration for ${MACHINE} available."
- (echo N; echo m; echo N) | oe_runmake oldconfig
-}
diff --git a/packages/linux/handhelds-un-2.6_2.6.16-hh4.bb b/packages/linux/handhelds-un-2.6_2.6.16-hh4.bb
deleted file mode 100644
index b81129eff9..0000000000
--- a/packages/linux/handhelds-un-2.6_2.6.16-hh4.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Handhelds HTC-PXA phones kernel based on the hh 2.6.16"
-LICENSE = "GPL"
-PR="r0"
-
-SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=K2-6-16-hh4"
-
-S = "${WORKDIR}/kernel26"
-
-COMPATIBLE_HOST = "arm.*-linux"
-
-inherit kernel
-
-do_configure() {
- cp arch/arm/configs/htcuniversal_defconfig .config || die "No default configuration for ${MACHINE} available."
- yes '' | oe_runmake oldconfig
-}
-
-
-###############################################################
-# put into deploy directory
-#
-do_deploy() {
- install -d ${DEPLOY_DIR_IMAGE}
- install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
- tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_package after do_install
diff --git a/packages/linux/ixp4xx-kernel-svnpatch.inc b/packages/linux/ixp4xx-kernel-svnpatch.inc
index 573888f30a..d986236d1b 100644
--- a/packages/linux/ixp4xx-kernel-svnpatch.inc
+++ b/packages/linux/ixp4xx-kernel-svnpatch.inc
@@ -3,10 +3,9 @@ addtask svnpatch before do_configure after do_patch
IXP4XX_KERNEL_SVN_REPO ?= http://svn.nslu2-linux.org/svnroot/kernel/trunk
do_svnpatch() {
- svn co ${IXP4XX_KERNEL_SVN_REPO}/patches/${PV} --revision ${IXP4XX_KERNEL_SVN_REV} ${WORKDIR}/patches-${PV}
+ svn co ${IXP4XX_KERNEL_SVN_REPO}/patches/${IXP4XX_KERNEL_PATCH_DIR} --revision ${IXP4XX_KERNEL_SVN_REV} ${WORKDIR}/patches-${PV}
cp ${WORKDIR}/patches-${PV}/defconfig ${WORKDIR}/defconfig
rm -rf ${S}/patches
cd ${S} && ln -s ${WORKDIR}/patches-${PV} ${S}/patches
- cd ${S} && ${STAGING_BINDIR}/quilt push -av
+ cd ${S} && rm -rf .pc && ${STAGING_BINDIR}/quilt push -av
}
-
diff --git a/packages/linux/ixp4xx-kernel_2.6.18.bb b/packages/linux/ixp4xx-kernel_2.6.18.bb
index 963658f503..611ff8c65c 100644
--- a/packages/linux/ixp4xx-kernel_2.6.18.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.18.bb
@@ -6,7 +6,11 @@
# http://trac.nslu2-linux.org/kernel/
#
# The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "446"
+IXP4XX_KERNEL_SVN_REV = "473"
+#
+# The directory containing the patches to be applied is
+# specified below
+IXP4XX_KERNEL_PATCH_DIR = "2.6.18"
#
# Increment the number below (i.e. the digits after PR) when
# the changes in SVN between revisions include changes in the
diff --git a/packages/linux/ixp4xx-kernel_2.6.19-rc2.bb b/packages/linux/ixp4xx-kernel_2.6.19-rc2.bb
new file mode 100644
index 0000000000..6bef2f9142
--- /dev/null
+++ b/packages/linux/ixp4xx-kernel_2.6.19-rc2.bb
@@ -0,0 +1,22 @@
+# Kernel for IXP4xx
+#
+# This bitbake file pulls patches and the defconfig straight
+# from the NSLU2-Linux SVN repository. Information about this
+# repository can be found at:
+# http://trac.nslu2-linux.org/kernel/
+#
+# The revision that is pulled from SVN is specified below
+IXP4XX_KERNEL_SVN_REV = "512"
+#
+# The directory containing the patches to be applied is
+# specified below
+IXP4XX_KERNEL_PATCH_DIR = "2.6.19"
+#
+# Increment the number below (i.e. the digits after PR) when
+# the changes in SVN between revisions include changes in the
+# patches applied to the kernel, rather than simply defconfig
+# changes
+PR = "r1.${IXP4XX_KERNEL_SVN_REV}"
+
+require ixp4xx-kernel.inc
+require ixp4xx-kernel-svnpatch.inc
diff --git a/packages/linux/handhelds-pxa-2.6.inc b/packages/linux/linux-handhelds-2.6.inc
index aa348dad41..8c62e59973 100644
--- a/packages/linux/handhelds-pxa-2.6.inc
+++ b/packages/linux/linux-handhelds-2.6.inc
@@ -1,9 +1,9 @@
SECTION = "kernel"
-DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
+DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
LICENSE = "GPL"
COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE ?= '(h1910|h2200|h3900|h4000|h5xxx|htcuniversal|hx4700)'
+COMPATIBLE_MACHINE ?= '(h1910|h2200|h3600|h3900|h4000|h5xxx|htcuniversal|hx4700|jornada56x|simpad)'
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
@@ -16,8 +16,8 @@ S = "${WORKDIR}/kernel26"
inherit kernel
-FILES_kernel-image_ipaq-pxa270 = ""
-ALLOW_EMPTY_ipaq_pxa270 = 1
+FILES_kernel-image_hx4700 = ""
+ALLOW_EMPTY_hx4700 = 1
FILES_kernel-image_htcuniversal = ""
ALLOW_EMPTY_htcuniversal = 1
diff --git a/packages/omnievents/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/omnievents/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/24-hostap_cs_id.diff b/packages/linux/linux-handhelds-2.6/24-hostap_cs_id.diff
index b90ead9e4f..b90ead9e4f 100644
--- a/packages/linux/handhelds-pxa-2.6/24-hostap_cs_id.diff
+++ b/packages/linux/linux-handhelds-2.6/24-hostap_cs_id.diff
diff --git a/packages/linux/handhelds-pxa-2.6/block-pio.patch b/packages/linux/linux-handhelds-2.6/block-pio.patch
index 294140b6e8..294140b6e8 100644
--- a/packages/linux/handhelds-pxa-2.6/block-pio.patch
+++ b/packages/linux/linux-handhelds-2.6/block-pio.patch
diff --git a/packages/linux/handhelds-pxa-2.6/defconfig b/packages/linux/linux-handhelds-2.6/defconfig
index cd92420627..cd92420627 100644
--- a/packages/linux/handhelds-pxa-2.6/defconfig
+++ b/packages/linux/linux-handhelds-2.6/defconfig
diff --git a/packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6 b/packages/linux/linux-handhelds-2.6/defconfig-ipaq-pxa-2.6
index 0a7d4a6694..0a7d4a6694 100644
--- a/packages/linux/handhelds-pxa-2.6/defconfig-ipaq-pxa-2.6
+++ b/packages/linux/linux-handhelds-2.6/defconfig-ipaq-pxa-2.6
diff --git a/packages/linux/handhelds-pxa-2.6/eabi-enums.patch b/packages/linux/linux-handhelds-2.6/eabi-enums.patch
index 9e5e9ec571..9e5e9ec571 100644
--- a/packages/linux/handhelds-pxa-2.6/eabi-enums.patch
+++ b/packages/linux/linux-handhelds-2.6/eabi-enums.patch
diff --git a/packages/omnievents/files/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/h2200/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/omnievents/files/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/h2200/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/h2200/defconfig b/packages/linux/linux-handhelds-2.6/h2200/defconfig
index eb68f48801..87c94b5f04 100644
--- a/packages/linux/handhelds-pxa-2.6/h2200/defconfig
+++ b/packages/linux/linux-handhelds-2.6/h2200/defconfig
@@ -243,7 +243,7 @@ CONFIG_CMDLINE="console=ttyS0,115200n8 root=/dev/mmcblk0p1"
#
# CPU Frequency scaling
#
-CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ=m
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
diff --git a/packages/python/python-dbus/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/h4000/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/python/python-dbus/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/h4000/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/h4000/defconfig b/packages/linux/linux-handhelds-2.6/h4000/defconfig
index fa75078717..fa75078717 100644
--- a/packages/linux/handhelds-pxa-2.6/h4000/defconfig
+++ b/packages/linux/linux-handhelds-2.6/h4000/defconfig
diff --git a/packages/qemu/qemu-0.8.0/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/h5xxx/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/qemu/qemu-0.8.0/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/h5xxx/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/h5xxx/defconfig b/packages/linux/linux-handhelds-2.6/h5xxx/defconfig
index b3f8f7c100..b3f8f7c100 100644
--- a/packages/linux/handhelds-pxa-2.6/h5xxx/defconfig
+++ b/packages/linux/linux-handhelds-2.6/h5xxx/defconfig
diff --git a/packages/linux/handhelds-pxa-2.6/hrw-pcmcia-ids-r2.patch b/packages/linux/linux-handhelds-2.6/hrw-pcmcia-ids-r2.patch
index 3d5d197920..3d5d197920 100644
--- a/packages/linux/handhelds-pxa-2.6/hrw-pcmcia-ids-r2.patch
+++ b/packages/linux/linux-handhelds-2.6/hrw-pcmcia-ids-r2.patch
diff --git a/packages/qemu/qemu-0.8.2/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/htcuniversal/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/qemu/qemu-0.8.2/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/htcuniversal/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/htcuniversal/defconfig b/packages/linux/linux-handhelds-2.6/htcuniversal/defconfig
index d409f0b3f5..d409f0b3f5 100644
--- a/packages/linux/handhelds-pxa-2.6/htcuniversal/defconfig
+++ b/packages/linux/linux-handhelds-2.6/htcuniversal/defconfig
diff --git a/packages/quagga/quagga-0.99.2/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/hx4700/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/quagga/quagga-0.99.2/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/hx4700/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/hx4700/defconfig b/packages/linux/linux-handhelds-2.6/hx4700/defconfig
index 7fadc7ae3a..7fadc7ae3a 100644
--- a/packages/linux/handhelds-pxa-2.6/hx4700/defconfig
+++ b/packages/linux/linux-handhelds-2.6/hx4700/defconfig
diff --git a/packages/linux/handhelds-pxa-2.6/ide_not_removable-r0.patch b/packages/linux/linux-handhelds-2.6/ide_not_removable-r0.patch
index 1938f72829..1938f72829 100644
--- a/packages/linux/handhelds-pxa-2.6/ide_not_removable-r0.patch
+++ b/packages/linux/linux-handhelds-2.6/ide_not_removable-r0.patch
diff --git a/packages/xev/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/ipaq-pxa270/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/xev/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/ipaq-pxa270/.mtn2git_empty
diff --git a/packages/linux/handhelds-pxa-2.6/ipaq-pxa270/defconfig b/packages/linux/linux-handhelds-2.6/ipaq-pxa270/defconfig
index 7fadc7ae3a..7fadc7ae3a 100644
--- a/packages/linux/handhelds-pxa-2.6/ipaq-pxa270/defconfig
+++ b/packages/linux/linux-handhelds-2.6/ipaq-pxa270/defconfig
diff --git a/packages/xextensions/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/jornada56x/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/xextensions/.mtn2git_empty
+++ b/packages/linux/linux-handhelds-2.6/jornada56x/.mtn2git_empty
diff --git a/packages/linux/handhelds-sa-2.6/defconfig-jornada56x b/packages/linux/linux-handhelds-2.6/jornada56x/defconfig
index ebc9a88f2c..ebc9a88f2c 100644
--- a/packages/linux/handhelds-sa-2.6/defconfig-jornada56x
+++ b/packages/linux/linux-handhelds-2.6/jornada56x/defconfig
diff --git a/packages/linux/linux-handhelds-2.6/magician/.mtn2git_empty b/packages/linux/linux-handhelds-2.6/magician/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-handhelds-2.6/magician/.mtn2git_empty
diff --git a/packages/linux/linux-handhelds-2.6/magician/defconfig b/packages/linux/linux-handhelds-2.6/magician/defconfig
new file mode 100644
index 0000000000..f3cffaa46c
--- /dev/null
+++ b/packages/linux/linux-handhelds-2.6/magician/defconfig
@@ -0,0 +1,1367 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-hh1
+# Sat Oct 21 15:29:02 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_MINIMAL_OOPS is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+# CONFIG_USELIB is not set
+CONFIG_CORE_DUMP=y
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+CONFIG_OBSOLETE_INTERMODULE=y
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_ARCH_ESERIES is not set
+# CONFIG_MACH_A620 is not set
+# CONFIG_MACH_A716 is not set
+# CONFIG_ARCH_H1900 is not set
+# CONFIG_ARCH_H2200 is not set
+# CONFIG_MACH_H3900 is not set
+# CONFIG_MACH_H4000 is not set
+# CONFIG_MACH_H4700 is not set
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_ARCH_H5400 is not set
+# CONFIG_MACH_HIMALAYA is not set
+# CONFIG_MACH_HTCUNIVERSAL is not set
+# CONFIG_MACH_HTCALPINE is not set
+CONFIG_MACH_MAGICIAN=y
+CONFIG_MAGICIAN_PM=y
+CONFIG_MAGICIAN_TS=m
+CONFIG_MAGICIAN_LCD=y
+CONFIG_MAGICIAN_CPLD=y
+# CONFIG_MAGICIAN_GSM is not set
+# CONFIG_MACH_HTCAPACHE is not set
+# CONFIG_MACH_BLUEANGEL is not set
+# CONFIG_MACH_HTCBEETLES is not set
+# CONFIG_MACH_HW6900 is not set
+# CONFIG_ARCH_AXIMX5 is not set
+# CONFIG_ARCH_AXIMX3 is not set
+# CONFIG_ARCH_ROVERP1 is not set
+# CONFIG_ARCH_ROVERP5P is not set
+# CONFIG_MACH_XSCALE_PALMLD is not set
+# CONFIG_MACH_T3XSCALE is not set
+# CONFIG_PXA_SHARPSL is not set
+CONFIG_PXA27x=y
+CONFIG_IWMMXT=y
+CONFIG_PXA_SUSPEND_SAVE_EXTRA_REGS=y
+# CONFIG_SA1100_H3100 is not set
+# CONFIG_SA1100_H3600 is not set
+# CONFIG_SA1100_H3800 is not set
+CONFIG_GPIO_KEYS=y
+
+#
+# Linux As Bootloader
+#
+# CONFIG_LAB is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+CONFIG_XSCALE_PMU=y
+# CONFIG_KEXEC is not set
+
+#
+# Compaq/iPAQ Platforms
+#
+
+#
+# Compaq/iPAQ Drivers
+#
+
+#
+# Compaq/HP iPAQ Drivers
+#
+# CONFIG_IPAQ_HAMCOP is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty0 noinitrd root=/dev/mmcblk0p2 ro mem=64M"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
+CONFIG_NFTL=y
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=y
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_GEOMETRY is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_ARM_INTEGRATOR=y
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+# CONFIG_SERIAL_PXA_CONSOLE is not set
+CONFIG_SERIAL_PXA_COUNT=4
+CONFIG_SERIAL_CORE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=m
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ELV is not set
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCA9535 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# L3 serial bus support
+#
+# CONFIG_L3 is not set
+
+#
+# Mice
+#
+# CONFIG_BUSMOUSE is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_SA1100_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# SoC drivers
+#
+# CONFIG_SOC_MQ11XX is not set
+# CONFIG_SOC_T7L66XB is not set
+# CONFIG_SOC_TC6387XB is not set
+# CONFIG_SOC_TC6393XB is not set
+# CONFIG_HTC_ASIC2 is not set
+# CONFIG_HTC_ASIC3 is not set
+# CONFIG_SOC_TSC2101 is not set
+
+#
+# Misc devices
+#
+CONFIG_BATTERY_MONITOR=y
+
+#
+# Multimedia Capabilities Port drivers
+#
+# CONFIG_MCP is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_MAGICIAN=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_FIRMWARE_EDID=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_IMAGEON is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_PARAMETERS=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+CONFIG_FONT_ACORN_8x8=y
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_CORGI=y
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+# CONFIG_SND_A716 is not set
+# CONFIG_SND_H1910 is not set
+# CONFIG_SND_H2200 is not set
+# CONFIG_SND_H4000 is not set
+CONFIG_SND_HTCMAGICIAN=m
+# CONFIG_SND_HX4700 is not set
+# CONFIG_SND_HTCUNIVERSAL is not set
+# CONFIG_SND_H5XXX_AK4535 is not set
+CONFIG_SND_PXA2xx_I2SOUND=m
+# CONFIG_SND_PXA2XX_AC97 is not set
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+CONFIG_SND_UDA1380=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+# CONFIG_USB_STORAGE is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=y
+# CONFIG_USB_PXA27X_DMA is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_MQ11XX is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+# CONFIG_USB_ETH_RNDIS is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_G_CHAR is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+# CONFIG_MMC_TMIO is not set
+# CONFIG_MMC_SAMCOP is not set
+# CONFIG_MMC_ASIC3 is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
diff --git a/packages/linux/handhelds-pxa-2.6/pitre-tls-2651.patch b/packages/linux/linux-handhelds-2.6/pitre-tls-2651.patch
index 5ef318e4ac..5ef318e4ac 100644
--- a/packages/linux/handhelds-pxa-2.6/pitre-tls-2651.patch
+++ b/packages/linux/linux-handhelds-2.6/pitre-tls-2651.patch
diff --git a/packages/linux/handhelds-pxa-2.6_2.6.16-hh5.bb b/packages/linux/linux-handhelds-2.6_2.6.16-hh5.bb
index a0dc937647..77cebae039 100644
--- a/packages/linux/handhelds-pxa-2.6_2.6.16-hh5.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.16-hh5.bb
@@ -3,4 +3,4 @@ DESCRIPTION = "handhelds.org Linux kernel for PXA based devices."
LICENSE = "GPL"
PR = "r1"
-require handhelds-pxa-2.6.inc
+require linux-handhelds-2.6.inc
diff --git a/packages/linux/handhelds-pxa-2.6_2.6.16-hh7.bb b/packages/linux/linux-handhelds-2.6_2.6.16-hh7.bb
index 5d8864c92e..3e90563db8 100644
--- a/packages/linux/handhelds-pxa-2.6_2.6.16-hh7.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.16-hh7.bb
@@ -5,4 +5,4 @@ PR = "r1"
DEFAULT_PREFERENCE = "-1"
-require handhelds-pxa-2.6.inc
+require linux-handhelds-2.6.inc
diff --git a/packages/linux/handhelds-pxa-2.6_cvs.bb b/packages/linux/linux-handhelds-2.6_cvs.bb
index bb5c2eaf17..e0aeff7c3f 100644
--- a/packages/linux/handhelds-pxa-2.6_cvs.bb
+++ b/packages/linux/linux-handhelds-2.6_cvs.bb
@@ -5,22 +5,21 @@ PV = "${K_MAJOR}.${K_MINOR}.${K_MICRO}-hh${HHV}+cvs${SRCDATE}"
PR = "r4"
#
COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(h3900|h5xxx|h2200|h4000|ipaq-pxa270|hx4700|htcuniversal)'
+COMPATIBLE_MACHINE = '(h3900|h5xxx|h2200|h4000|hx4700|htcuniversal|magician)'
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26 \
file://24-hostap_cs_id.diff;patch=1 \
file://hrw-pcmcia-ids-r2.patch;patch=1 \
- file://hx-iwmmxt.patch;patch=1;maxdate=20060807 \
file://defconfig"
S = "${WORKDIR}/kernel26"
inherit kernel
-FILES_kernel-image_ipaq-pxa270 = ""
-ALLOW_EMPTY_ipaq_pxa270 = 1
+FILES_kernel-image_hx4700 = ""
+ALLOW_EMPTY_hx4700 = 1
FILES_kernel-image_htcuniversal = ""
ALLOW_EMPTY_htcuniversal = 1
diff --git a/packages/linux/linux-navman/.mtn2git_empty b/packages/linux/linux-navman/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-navman/.mtn2git_empty
diff --git a/packages/linux/linux-navman/defconfig b/packages/linux/linux-navman/defconfig
new file mode 100644
index 0000000000..ddcf1f4eeb
--- /dev/null
+++ b/packages/linux/linux-navman/defconfig
@@ -0,0 +1,733 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.18
+# Mon Oct 2 23:23:58 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+# CONFIG_MODULE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+CONFIG_ARCH_PXA_IDP=y
+# CONFIG_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+CONFIG_PXA25x=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mmcblk0p2 ro mem=32M"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+# CONFIG_PACKET is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+# CONFIG_INET is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+# CONFIG_NETDEVICES is not set
+# CONFIG_DUMMY is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_ICN330=m
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_MBX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+# CONFIG_VFAT_FS is not set
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_PLIST=y
diff --git a/packages/linux/linux-navman_2.6.18.bb b/packages/linux/linux-navman_2.6.18.bb
new file mode 100644
index 0000000000..29d8944a3b
--- /dev/null
+++ b/packages/linux/linux-navman_2.6.18.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "Linux Kernel for Cirrus Logic ep39xx compatible machines"
+SECTION = "kernel"
+LICENSE = "GPL"
+
+#DEPENDS = "u-boot"
+
+PR = "r0"
+
+COMPATIBLE_MACHINE = "navman-icn330"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2 \
+ http://www.duff.dk/navman/navman-2.6.18.patch;patch=1 \
+ file://defconfig \
+ "
+
+S = "${WORKDIR}/linux-2.6.18"
+
+inherit kernel
+
+KERNEL_IMAGETYPE = "zImage"
+
+do_configure() {
+ rm -f ${S}/.config
+
+ if [ ! -e ${WORKDIR}/defconfig ]; then
+ die "No default configuration for ${MACHINE} available."
+ fi
+
+
+ if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
+ echo "CONFIG_AEABI=y" >> ${S}/.config
+ echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
+ else
+ echo "# CONFIG_AEABI is not set" >> ${S}/.config
+ echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
+ fi
+
+ sed -e '/CONFIG_AEABI/d' \
+ -e '/CONFIG_OABI_COMPAT=/d' \
+ '${WORKDIR}/defconfig' >>'${S}/.config'
+
+ yes '' | oe_runmake oldconfig
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
+
+
diff --git a/packages/linux/linux-omap1-2.6.18+git/.mtn2git_empty b/packages/linux/linux-omap1-2.6.18+git/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-omap1-2.6.18+git/.mtn2git_empty
diff --git a/packages/linux/linux-omap1-2.6.18+git/another-ide-cs-ids.patch b/packages/linux/linux-omap1-2.6.18+git/another-ide-cs-ids.patch
new file mode 100644
index 0000000000..7861b3c274
--- /dev/null
+++ b/packages/linux/linux-omap1-2.6.18+git/another-ide-cs-ids.patch
@@ -0,0 +1,18 @@
+From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Add another CompactFlash card into ide-cs driver.
+
+Signed-Off-By: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Index: linux/drivers/ide/legacy/ide-cs.c
+===================================================================
+--- linux.orig/drivers/ide/legacy/ide-cs.c 2006-10-16 19:16:39.041503288 +0200
++++ linux/drivers/ide/legacy/ide-cs.c 2006-10-16 19:18:40.929973424 +0200
+@@ -405,6 +405,7 @@
+ PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
+ PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
+ PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
++ PCMCIA_DEVICE_PROD_ID12("WEIDA", "TWTTI", 0xcc7cf69c, 0x212bb918),
+ PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
+ PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+ PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
diff --git a/packages/linux/linux-omap1-2.6.18+git/defconfig b/packages/linux/linux-omap1-2.6.18+git/defconfig
new file mode 100644
index 0000000000..7906b901ea
--- /dev/null
+++ b/packages/linux/linux-omap1-2.6.18+git/defconfig
@@ -0,0 +1,1271 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.18-omap1
+# Fri Oct 20 16:31:35 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+CONFIG_ARCH_OMAP=y
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+CONFIG_ARCH_OMAP1=y
+# CONFIG_ARCH_OMAP2 is not set
+
+#
+# OMAP Feature Selections
+#
+CONFIG_OMAP_RESET_CLOCKS=y
+# CONFIG_OMAP_BOOT_TAG is not set
+# CONFIG_OMAP_GPIO_SWITCH is not set
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+# CONFIG_OMAP_STI is not set
+CONFIG_OMAP_MCBSP=y
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+# CONFIG_OMAP_DM_TIMER is not set
+CONFIG_OMAP_LL_DEBUG_UART1=y
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
+CONFIG_OMAP_SERIAL_WAKE=y
+CONFIG_OMAP_DSP=y
+# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
+# CONFIG_OMAP_DSP_TASK_MULTIOPEN is not set
+# CONFIG_OMAP_DSP_FBEXPORT is not set
+
+#
+# OMAP Core Type
+#
+# CONFIG_ARCH_OMAP730 is not set
+# CONFIG_ARCH_OMAP15XX is not set
+CONFIG_ARCH_OMAP16XX=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_OMAP_INNOVATOR is not set
+# CONFIG_MACH_OMAP_H2 is not set
+# CONFIG_MACH_OMAP_H3 is not set
+CONFIG_MACH_OMAP_OSK=y
+# CONFIG_OMAP_OSK_MISTRAL is not set
+# CONFIG_MACH_NOKIA770 is not set
+# CONFIG_MACH_OMAP_GENERIC is not set
+
+#
+# OMAP CPU Speed
+#
+# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
+# CONFIG_OMAP_ARM_216MHZ is not set
+CONFIG_OMAP_ARM_192MHZ=y
+# CONFIG_OMAP_ARM_168MHZ is not set
+# CONFIG_OMAP_ARM_120MHZ is not set
+# CONFIG_OMAP_ARM_60MHZ is not set
+# CONFIG_OMAP_ARM_30MHZ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_OMAP_CF=y
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=128
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=m
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_OMAP_NOR=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_ONENAND_SYNC_READ is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_SMC91X=y
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+CONFIG_PPP_MULTILINK=y
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OMAP=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_CS is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_OMAP=y
+# CONFIG_OMAP_RNG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_OMAP_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+CONFIG_I2C_OMAP=y
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_ISP1301_OMAP is not set
+CONFIG_TPS65010=y
+CONFIG_SENSORS_TLV320AIC23=y
+# CONFIG_GPIOEXPANDER_OMAP is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB=y
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_OMAP=y
+# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
+# CONFIG_FB_OMAP_LCD_MIPID is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
+# CONFIG_FB_OMAP_DMA_TUNE is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_SEQUENCER=y
+# CONFIG_SND_SEQ_DUMMY is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_OMAP_AIC23=y
+# CONFIG_SND_OMAP_TSC2101 is not set
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# Enable Host or Gadget support to see Inventra options
+#
+# CONFIG_USB_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+# CONFIG_USB_STORAGE is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# Synchronous Serial Interfaces (SSI)
+#
+CONFIG_OMAP_UWIRE=y
+CONFIG_OMAP_TSC2101=y
+
+#
+# CBUS support
+#
+# CONFIG_CBUS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=y
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=m
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
diff --git a/packages/linux/linux-omap1-2.6.18-omap1/.mtn2git_empty b/packages/linux/linux-omap1-2.6.18-omap1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-omap1-2.6.18-omap1/.mtn2git_empty
diff --git a/packages/linux/linux-omap1-2.6.18-omap1/another-ide-cs-ids.patch b/packages/linux/linux-omap1-2.6.18-omap1/another-ide-cs-ids.patch
new file mode 100644
index 0000000000..7861b3c274
--- /dev/null
+++ b/packages/linux/linux-omap1-2.6.18-omap1/another-ide-cs-ids.patch
@@ -0,0 +1,18 @@
+From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Add another CompactFlash card into ide-cs driver.
+
+Signed-Off-By: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Index: linux/drivers/ide/legacy/ide-cs.c
+===================================================================
+--- linux.orig/drivers/ide/legacy/ide-cs.c 2006-10-16 19:16:39.041503288 +0200
++++ linux/drivers/ide/legacy/ide-cs.c 2006-10-16 19:18:40.929973424 +0200
+@@ -405,6 +405,7 @@
+ PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
+ PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
+ PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
++ PCMCIA_DEVICE_PROD_ID12("WEIDA", "TWTTI", 0xcc7cf69c, 0x212bb918),
+ PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
+ PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+ PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
diff --git a/packages/linux/linux-omap1-2.6.18-omap1/defconfig b/packages/linux/linux-omap1-2.6.18-omap1/defconfig
new file mode 100644
index 0000000000..7906b901ea
--- /dev/null
+++ b/packages/linux/linux-omap1-2.6.18-omap1/defconfig
@@ -0,0 +1,1271 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.18-omap1
+# Fri Oct 20 16:31:35 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+CONFIG_ARCH_OMAP=y
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+CONFIG_ARCH_OMAP1=y
+# CONFIG_ARCH_OMAP2 is not set
+
+#
+# OMAP Feature Selections
+#
+CONFIG_OMAP_RESET_CLOCKS=y
+# CONFIG_OMAP_BOOT_TAG is not set
+# CONFIG_OMAP_GPIO_SWITCH is not set
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+# CONFIG_OMAP_STI is not set
+CONFIG_OMAP_MCBSP=y
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+# CONFIG_OMAP_DM_TIMER is not set
+CONFIG_OMAP_LL_DEBUG_UART1=y
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
+CONFIG_OMAP_SERIAL_WAKE=y
+CONFIG_OMAP_DSP=y
+# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
+# CONFIG_OMAP_DSP_TASK_MULTIOPEN is not set
+# CONFIG_OMAP_DSP_FBEXPORT is not set
+
+#
+# OMAP Core Type
+#
+# CONFIG_ARCH_OMAP730 is not set
+# CONFIG_ARCH_OMAP15XX is not set
+CONFIG_ARCH_OMAP16XX=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_OMAP_INNOVATOR is not set
+# CONFIG_MACH_OMAP_H2 is not set
+# CONFIG_MACH_OMAP_H3 is not set
+CONFIG_MACH_OMAP_OSK=y
+# CONFIG_OMAP_OSK_MISTRAL is not set
+# CONFIG_MACH_NOKIA770 is not set
+# CONFIG_MACH_OMAP_GENERIC is not set
+
+#
+# OMAP CPU Speed
+#
+# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
+# CONFIG_OMAP_ARM_216MHZ is not set
+CONFIG_OMAP_ARM_192MHZ=y
+# CONFIG_OMAP_ARM_168MHZ is not set
+# CONFIG_OMAP_ARM_120MHZ is not set
+# CONFIG_OMAP_ARM_60MHZ is not set
+# CONFIG_OMAP_ARM_30MHZ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_OMAP_CF=y
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=128
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=m
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_OMAP_NOR=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_ONENAND_SYNC_READ is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=m
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_SMC91X=y
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+CONFIG_PPP_MULTILINK=y
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OMAP=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_CS is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_OMAP=y
+# CONFIG_OMAP_RNG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_OMAP_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+CONFIG_I2C_OMAP=y
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_ISP1301_OMAP is not set
+CONFIG_TPS65010=y
+CONFIG_SENSORS_TLV320AIC23=y
+# CONFIG_GPIOEXPANDER_OMAP is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB=y
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_OMAP=y
+# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
+# CONFIG_FB_OMAP_LCD_MIPID is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
+# CONFIG_FB_OMAP_DMA_TUNE is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_SEQUENCER=y
+# CONFIG_SND_SEQ_DUMMY is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_OMAP_AIC23=y
+# CONFIG_SND_OMAP_TSC2101 is not set
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# Enable Host or Gadget support to see Inventra options
+#
+# CONFIG_USB_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+# CONFIG_USB_STORAGE is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# Synchronous Serial Interfaces (SSI)
+#
+CONFIG_OMAP_UWIRE=y
+CONFIG_OMAP_TSC2101=y
+
+#
+# CBUS support
+#
+# CONFIG_CBUS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=y
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=m
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
diff --git a/packages/linux/linux-omap1-2.6.x+git/defconfig b/packages/linux/linux-omap1-2.6.x+git/defconfig
index 5edb8f25b1..0fde108d93 100644
--- a/packages/linux/linux-omap1-2.6.x+git/defconfig
+++ b/packages/linux/linux-omap1-2.6.x+git/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.18-omap1
-# Wed Sep 27 11:56:19 2006
+# Fri Oct 20 12:49:51 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
@@ -474,6 +474,7 @@ CONFIG_MTD_OMAP_NOR=y
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
@@ -827,6 +828,7 @@ CONFIG_VIDEO_V4L2=y
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
#
# Graphics support
@@ -888,17 +890,119 @@ CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
#
# Enable Host or Gadget support to see Inventra options
#
+# CONFIG_USB_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
+# may also be needed; see USB_STORAGE Help for more information
+#
+# CONFIG_USB_STORAGE is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
diff --git a/packages/linux/linux-omap1.inc b/packages/linux/linux-omap1.inc
new file mode 100644
index 0000000000..2cf4e4d04d
--- /dev/null
+++ b/packages/linux/linux-omap1.inc
@@ -0,0 +1,30 @@
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel for OMAP processors"
+LICENSE = "GPL"
+DEPENDS = "u-boot"
+
+COMPATIBLE_MACHINE = "omap5912osk"
+
+inherit kernel
+
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "${KERNEL_IMAGETYPE}"
+
+do_configure_prepend() {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ oe_runmake oldconfig
+}
+
+do_deploy() {
+ if [ "${MACHINE}" == "omap5912osk" ]; then
+ install -d ${DEPLOY_DIR_IMAGE}
+ ${OBJCOPY} -O binary -R .note -R .comment -S ${KERNEL_OUTPUT} ${S}/linux.bin
+ gzip -f -9 ${S}/linux.bin
+ mkimage -A arm -O linux -T kernel -C gzip -a 0x10008000 -e 0x10008000 -n "OE" -d ${S}/linux.bin.gz ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE}-${MACHINE}-${DATETIME}.bin
+ rm ${S}/linux.bin.gz
+ fi
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
diff --git a/packages/linux/linux-omap1_2.6.12-rc2.bb b/packages/linux/linux-omap1_2.6.12-rc2.bb
index 46e7d0ba95..54b1e304c9 100644
--- a/packages/linux/linux-omap1_2.6.12-rc2.bb
+++ b/packages/linux/linux-omap1_2.6.12-rc2.bb
@@ -1,44 +1,11 @@
-PR = "r3"
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for OMAP processors"
-LICENSE = "GPL"
+require linux-omap1.inc
+
+PR = "r4"
SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.12-rc2.tar.bz2 \
http://www.muru.com/linux/omap/patches/patch-2.6.12-rc2-omap1.bz2;patch=1 \
file://defconfig"
-
S = "${WORKDIR}/linux-2.6.12-rc2"
-KERNEL_IMAGETYPE = "vmlinux"
-KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
-KERNEL_CCSUFFIX = "-3.3.4"
-
-DEPENDS = "u-boot"
-
-inherit kernel
-
-COMPATIBLE_HOST = 'arm.*-linux'
-
-do_configure_prepend() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- oe_runmake oldconfig
-}
-
-do_deploy() {
- if [ "${MACHINE}" == "omap5912osk" ]; then
- install -d ${DEPLOY_DIR_IMAGE}
- arm-linux-objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux ${DEPLOY_DIR_IMAGE}/linux.bin
- gzip -f -9 ${DEPLOY_DIR_IMAGE}/linux.bin
- mkimage -A arm -O linux -T kernel -C gzip -a 0x10c08000 -e 0x10c08000 -n "OE" -d ${DEPLOY_DIR_IMAGE}/linux.bin.gz ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin
- rm ${DEPLOY_DIR_IMAGE}/linux.bin.gz
-
-# cp ${DEPLOY_DIR}/uImage_bb.cc /tftpboot
-# install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin
- fi
-}
-
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
+KERNEL_RELEASE = "2.6.12-rc2-omap1"
diff --git a/packages/linux/linux-omap1_2.6.18+git.bb b/packages/linux/linux-omap1_2.6.18+git.bb
new file mode 100644
index 0000000000..b4f368bf66
--- /dev/null
+++ b/packages/linux/linux-omap1_2.6.18+git.bb
@@ -0,0 +1,11 @@
+require linux-omap1.inc
+
+PR = "r2"
+
+SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=http;tag=c6051183c597b6a0fa73cdb59aac852c6148c5b6 \
+ file://another-ide-cs-ids.patch;patch=1 \
+ file://defconfig"
+
+S = "${WORKDIR}/git"
+
+KERNEL_RELEASE = "2.6.18-omap1"
diff --git a/packages/linux/linux-omap1_2.6.18-omap1.bb b/packages/linux/linux-omap1_2.6.18-omap1.bb
new file mode 100644
index 0000000000..e2ecfdae15
--- /dev/null
+++ b/packages/linux/linux-omap1_2.6.18-omap1.bb
@@ -0,0 +1,10 @@
+require linux-omap1.inc
+
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2 \
+ http://www.muru.com/linux/omap/patches/patch-2.6.18-omap1.bz2;patch=1 \
+ file://another-ide-cs-ids.patch;patch=1 \
+ file://defconfig"
+
+S = "${WORKDIR}/linux-2.6.18"
+
+KERNEL_RELEASE = "${PV}"
diff --git a/packages/linux/linux-omap1_2.6.x+git.bb b/packages/linux/linux-omap1_2.6.x+git.bb
index 4c1bb7ccd8..dc039b98b2 100644
--- a/packages/linux/linux-omap1_2.6.x+git.bb
+++ b/packages/linux/linux-omap1_2.6.x+git.bb
@@ -1,43 +1,12 @@
-PR = "r0"
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for OMAP processors"
-LICENSE = "GPL"
+require linux-omap1.inc
-SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git \
- file://defconfig"
-
-S = "${WORKDIR}/git"
+PR = "r1"
-KERNEL_IMAGETYPE = "vmlinux"
+DEFAULT_PREFERENCE = "-1"
-DEPENDS = "u-boot"
+SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=http \
+ file://defconfig"
-inherit kernel
+S = "${WORKDIR}/git"
-KERNEL_OUTPUT = "${KERNEL_IMAGETYPE}"
KERNEL_RELEASE = "2.6.18-omap1"
-
-COMPATIBLE_HOST = 'arm.*-linux'
-
-do_configure_prepend() {
-# if [ "${MACHINE}" == "omap5912osk" ] ; then
-# oe_runmake omap_osk_5912_defconfig
-# fi
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- make oldconfig
-}
-
-do_deploy() {
- if [ "${MACHINE}" == "omap5912osk" ]; then
- install -d ${DEPLOY_DIR_IMAGE}
- arm-linux-objcopy -O binary -R .note -R .comment -S ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/linux.bin
- gzip -f -9 ${DEPLOY_DIR_IMAGE}/linux.bin
- mkimage -A arm -O linux -T kernel -C gzip -a 0x10008000 -e 0x10008000 -n "OE" -d ${DEPLOY_DIR_IMAGE}/linux.bin.gz ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin
- rm ${DEPLOY_DIR_IMAGE}/linux.bin.gz
- fi
-}
-
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
diff --git a/packages/linux/linux-openzaurus.inc b/packages/linux/linux-openzaurus.inc
index 4757a1fd6e..2b245e2eaa 100644
--- a/packages/linux/linux-openzaurus.inc
+++ b/packages/linux/linux-openzaurus.inc
@@ -20,7 +20,7 @@ ALLOW_EMPTY = 1
EXTRA_OEMAKE = "OPENZAURUS_RELEASE=-${DISTRO_VERSION}"
COMPATIBLE_HOST = "(arm|i.86).*-linux"
-COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|ipaq-pxa270|hx2000|qemuarm|qemux86)'
+COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux86)'
KERNEL_IMAGETYPE_qemux86 = "bzImage"
CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
diff --git a/packages/linux/linux-smdk2440_2.6.18.bb b/packages/linux/linux-smdk2440_2.6.18.bb
index bf96454d55..23949914ba 100644
--- a/packages/linux/linux-smdk2440_2.6.18.bb
+++ b/packages/linux/linux-smdk2440_2.6.18.bb
@@ -15,6 +15,7 @@ S = "${WORKDIR}/linux-${PV}"
inherit kernel
COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = "smdk2440"
KERNEL_IMAGETYPE = "zImage"
do_configure() {
diff --git a/packages/linux/linux-titan-sh4_2.6.17.bb b/packages/linux/linux-titan-sh4_2.6.17.bb
index 027983a242..ac98115c27 100644
--- a/packages/linux/linux-titan-sh4_2.6.17.bb
+++ b/packages/linux/linux-titan-sh4_2.6.17.bb
@@ -11,6 +11,7 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
S = "${WORKDIR}/linux-${PV}"
COMPATIBLE_HOST = 'sh4.*-linux'
+COMPATIBLE_MACHINE = "titan"
inherit kernel
diff --git a/packages/linux/linux-x86-2.6.17.9/guinness/defconfig b/packages/linux/linux-x86-2.6.17.9/guinness/defconfig
index 10cdbcd77d..33d32d13be 100644
--- a/packages/linux/linux-x86-2.6.17.9/guinness/defconfig
+++ b/packages/linux/linux-x86-2.6.17.9/guinness/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.17.9
-# Tue Sep 26 11:14:59 2006
+# Fri Oct 13 12:24:47 2006
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
@@ -236,8 +236,6 @@ CONFIG_ACPI_CONTAINER=m
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
@@ -1542,20 +1540,39 @@ CONFIG_USB_STORAGE=y
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+CONFIG_JFS_FS=m
+# CONFIG_JFS_POSIX_ACL is not set
+# CONFIG_JFS_SECURITY is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=y
+CONFIG_XFS_EXPORT=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_SECURITY=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_OCFS2_FS=m
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set
+CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
+CONFIG_FUSE_FS=m
#
# CD-ROM/DVD Filesystems
@@ -1564,17 +1581,20 @@ CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
-# CONFIG_UDF_FS is not set
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
+CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=850
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
@@ -1586,7 +1606,7 @@ CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
-# CONFIG_CONFIGFS_FS is not set
+CONFIG_CONFIGFS_FS=m
#
# Miscellaneous filesystems
@@ -1608,17 +1628,36 @@ CONFIG_RAMFS=y
#
# Network File Systems
#
-# CONFIG_NFS_FS is not set
-# CONFIG_NFSD is not set
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
+CONFIG_9P_FS=m
#
# Partition Types
@@ -1720,7 +1759,7 @@ CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
-CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
diff --git a/packages/linux/linux-x86_2.6.17.9.bb b/packages/linux/linux-x86_2.6.17.9.bb
index 87036a2be8..1dfabb398e 100644
--- a/packages/linux/linux-x86_2.6.17.9.bb
+++ b/packages/linux/linux-x86_2.6.17.9.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Linux Kernel for x86 compatible machines"
SECTION = "kernel"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://defconfig"
diff --git a/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050602.bb b/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050602.bb
index eae524a7ae..edeb927f0d 100644
--- a/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050602.bb
+++ b/packages/linux/openzaurus-pxa27x_2.4.20-rmk2-embedix20050602.bb
@@ -5,6 +5,7 @@ PV = "2.4.20-rmk2-embedix"
LICENSE = "GPL"
KV = "2.4.20"
PR = "r18"
+COMPATIBLE_MACHINE = "(akita|spitz)"
SRC_URI = "http://developer.ezaurus.com/sl_j/source/c3100/20050602/linux-c3100-20050602-rom1_01.tar.bz2 \
file://P01-C3000-clockup_050221.patch;pnum=2;patch=1 \
diff --git a/packages/linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb b/packages/linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
index a79d4f3a00..34ccfb14f3 100644
--- a/packages/linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+++ b/packages/linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
@@ -8,6 +8,7 @@ PXAV = "3"
SHARPV = "20030509"
PR = "r23"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/openzaurus-sa-${KV}-rmk${RMKV}-pxa${PXAV}-embedix${SHARPV}"
+COMPATIBLE_MACHINE = "collie"
SRC_URI = "http://www.openzaurus.org/mirror/linux-sl5500-${SHARPV}-rom3_10.tar.bz2 \
file://cacko.patch;patch=1 \
diff --git a/packages/litestream/litestream_1.3RC3.bb b/packages/litestream/litestream_1.3RC3.bb
index 506bff662b..022edd368e 100644
--- a/packages/litestream/litestream_1.3RC3.bb
+++ b/packages/litestream/litestream_1.3RC3.bb
@@ -2,7 +2,7 @@ LICENSE = "GPL"
DESCRIPTION = "ShoutCast-compatible streamer"
PR = "r0"
-SRC_URI = "http://www.litestream.org/litestream/${PN}-${PV}.tar.gz"
+SRC_URI = "http://www.litestream.org/litestream/${P}.tar.gz"
inherit autotools
@@ -13,4 +13,4 @@ do_install () {
install -m 755 source ${D}${bindir}
install -m 755 client ${D}${bindir}
install -m 755 server ${D}${bindir}
-} \ No newline at end of file
+}
diff --git a/packages/lzma/lzma-native_4.17.bb b/packages/lzma/lzma-native_4.17.bb
index 4dd0bb5bc8..1ccf005182 100644
--- a/packages/lzma/lzma-native_4.17.bb
+++ b/packages/lzma/lzma-native_4.17.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression."
HOMEPAGE = "http://www.7-zip.org/"
LICENSE = "LGPL"
-PR = "r2"
-
DEPENDS = "zlib-native"
+PR = "r2"
SRC_URI = "http://www.7-zip.org/dl/lzma417.tar.bz2 \
- file://lzma-406-zlib-stream.patch;patch=1;pnum=2"
+ file://lzma-406-zlib-stream.patch;patch=1;pnum=2"
+
S = "${WORKDIR}/SRC"
inherit native
@@ -14,11 +14,11 @@ inherit native
CFLAGS += "-c -I${S}"
do_compile() {
- oe_runmake -C 7zip/Compress/LZMA_Alone
- oe_runmake -C 7zip/Compress/LZMA_Lib
+ oe_runmake -C 7zip/Compress/LZMA_Alone
+ oe_runmake -C 7zip/Compress/LZMA_Lib
}
do_stage () {
- install -m 0755 7zip/Compress/LZMA_Alone/lzma ${STAGING_BINDIR}
- oe_libinstall -a -C 7zip/Compress/LZMA_Lib liblzma ${STAGING_LIBDIR}
+ install -m 0755 7zip/Compress/LZMA_Alone/lzma ${STAGING_BINDIR}
+ oe_libinstall -a -C 7zip/Compress/LZMA_Lib liblzma ${STAGING_LIBDIR}
}
diff --git a/packages/lzma/lzma_4.17.bb b/packages/lzma/lzma_4.17.bb
new file mode 100644
index 0000000000..f83ddd587e
--- /dev/null
+++ b/packages/lzma/lzma_4.17.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression."
+HOMEPAGE = "http://www.7-zip.org/"
+LICENSE = "LGPL"
+DEPENDS = "zlib"
+PR = "r1"
+
+SRC_URI = "http://www.7-zip.org/dl/lzma417.tar.bz2 \
+ file://lzma-406-zlib-stream.patch;patch=1;pnum=2"
+
+S = "${WORKDIR}/SRC"
+
+EXTRA_OEMAKE += "CXX_C='${CC}'"
+
+CFLAGS += "-c -I${S}"
+
+# If you run into "internal compiler error" failures with gcc, disable optimization
+# using -O0, or use -O1 or -O2 instead of -Os. (reported failure: gcc 3.4.4 for sh4)
+#FULL_OPTIMIZATION = "-O0"
+
+# One such reported failure is a cross-gcc 3.4.4 for sh4:
+FULL_OPTIMIZATION_sh4 = "-O1"
+
+do_compile() {
+ oe_runmake -C 7zip/Compress/LZMA_Alone
+ oe_runmake -C 7zip/Compress/LZMA_Lib
+}
+
+do_install() {
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 0755 7zip/Compress/LZMA_Alone/lzma ${D}${bindir}
+ oe_libinstall -a -C 7zip/Compress/LZMA_Lib liblzma ${D}${libdir}
+}
+
+do_stage () {
+ oe_libinstall -a -C 7zip/Compress/LZMA_Lib liblzma ${STAGING_LIBDIR}
+}
diff --git a/packages/matchbox-config-gtk/.mtn2git_empty b/packages/matchbox-config-gtk/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/matchbox-config-gtk/.mtn2git_empty
diff --git a/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb b/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
new file mode 100644
index 0000000000..ec11e45ad7
--- /dev/null
+++ b/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Matchbox gtk theme configuration application."
+LICENSE = "GPL"
+DEPENDS = "gconf libglade gtk+"
+RDEPENDS = "settings-daemon"
+PV = "0.0+svn${SRCDATE}"
+S = "${WORKDIR}/${PN}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+inherit autotools pkgconfig
+
diff --git a/packages/matchbox-panel/matchbox-panel.inc b/packages/matchbox-panel/matchbox-panel.inc
index 16f471356a..0855da8f4c 100644
--- a/packages/matchbox-panel/matchbox-panel.inc
+++ b/packages/matchbox-panel/matchbox-panel.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Matchbox Window Manager Panel"
LICENSE = "GPL"
-DEPENDS = "libmatchbox libx11 libxext libxpm apmd startup-notification virtual/kernel wireless-tools"
+DEPENDS = "libmatchbox virtual/libx11 libxext libxpm apmd startup-notification virtual/kernel wireless-tools"
SECTION = "x11/wm"
inherit autotools pkgconfig gettext
diff --git a/packages/matrixssl/matrixssl-1.0-beta/cross.patch b/packages/matrixssl/matrixssl-1.0-beta/cross.patch
deleted file mode 100644
index b4c9634949..0000000000
--- a/packages/matrixssl/matrixssl-1.0-beta/cross.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- src/Makefile~cross 2004-03-01 19:12:37.000000000 -0500
-+++ src/Makefile 2004-06-04 21:59:55.527364588 -0400
-@@ -12,14 +12,14 @@
- #
- # Debug flags and C flags
- #
--DFLAGS = -O3
-+CFLAGS = -O3
- #
- # To build a debug version of the MatrixSSL library, uncomment the DFLAGS line
- # below and remove the strip command in the .so target below.
- #
--#DFLAGS = -g -DDEBUG
-+#CFLAGS = -g -DDEBUG
-
--CFLAGS = -DLINUX $(DFLAGS)
-+override CFLAGS += -DLINUX
- LDFLAGS = -Wl -lc -lpthread
-
- all: compile
-@@ -56,7 +56,6 @@
- #
- libmatrixssl.so: $(OBJECTS)
- $(CC) -shared -nostdlib -o $@ $^ $(LDFLAGS)
-- strip $(LIBRARIES)
-
- #
- # Clean up workspace
diff --git a/packages/matrixssl/matrixssl.inc b/packages/matrixssl/matrixssl.inc
new file mode 100644
index 0000000000..5f6bf43a9e
--- /dev/null
+++ b/packages/matrixssl/matrixssl.inc
@@ -0,0 +1,5 @@
+def define_os (d):
+ import bb
+ if bb.data.getVar('TARGET_OS', d).startswith('linux'):
+ return "-DLINUX"
+ return ""
diff --git a/packages/matrixssl/matrixssl_1.0-beta.bb b/packages/matrixssl/matrixssl_1.0-beta.bb
deleted file mode 100644
index 3dfd02448d..0000000000
--- a/packages/matrixssl/matrixssl_1.0-beta.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "unknown"
-SRC_URI = "http://openembedded.org/dl/matrixssl-1-0-beta2-r2.tar.gz \
- file://cross.patch;patch=1"
-S = "${WORKDIR}/matrixssl/src"
-LICENSE = "GPL"
-def define_os (d):
- import bb
- if bb.data.getVar('TARGET_OS', d).startswith('linux'):
- return "-DLINUX"
- return ""
-
-CFLAGS += " ${@define_os(d)}"
-
-do_install () {
- install -d ${D}${includedir}
- install -m 0644 ${S}/../matrixSsl.h ${D}${includedir}/
- oe_libinstall -so libmatrixssl ${D}${libdir}/
-}
diff --git a/packages/matrixssl/matrixssl_1.1.1.bb b/packages/matrixssl/matrixssl_1.1.1.bb
index 674e4b4509..09df504a8b 100644
--- a/packages/matrixssl/matrixssl_1.1.1.bb
+++ b/packages/matrixssl/matrixssl_1.1.1.bb
@@ -1,14 +1,12 @@
-SECTION = "unknown"
+DESCRIPTION = "A secure sockets library"
+SECTION = "libs"
+LICENSE = "GPL"
+
SRC_URI = "http://openembedded.org/dl/matrixssl-1-1-1.tar.gz \
file://cross.patch;patch=1"
S = "${WORKDIR}/matrixssl/src"
-LICENSE = "GPL"
-def define_os (d):
- import bb
- if bb.data.getVar('TARGET_OS', d).startswith('linux'):
- return "-DLINUX"
- return ""
+require matrixssl.inc
CFLAGS += " ${@define_os(d)}"
do_install () {
diff --git a/packages/mdadm/mdadm.inc b/packages/mdadm/mdadm.inc
index cebec627af..fa03492e8d 100644
--- a/packages/mdadm/mdadm.inc
+++ b/packages/mdadm/mdadm.inc
@@ -13,6 +13,11 @@ inherit autotools
INHIBIT_AUTO_STAGE = "1"
+do_compile() {
+ export CROSS_COMPILE="${TARGET_PREFIX}"
+ oe_runmake
+}
+
do_install() {
export STRIP=""
autotools_do_install
diff --git a/packages/mdadm/mdadm_2.5.5.bb b/packages/mdadm/mdadm_2.5.5.bb
new file mode 100644
index 0000000000..0219b12f61
--- /dev/null
+++ b/packages/mdadm/mdadm_2.5.5.bb
@@ -0,0 +1,3 @@
+require mdadm.inc
+PR = "r0"
+
diff --git a/packages/ntp/ntp_4.2.2p3.bb b/packages/ntp/ntp_4.2.2p3.bb
index 886f36253a..4509a2d1d8 100644
--- a/packages/ntp/ntp_4.2.2p3.bb
+++ b/packages/ntp/ntp_4.2.2p3.bb
@@ -7,7 +7,7 @@ SECTION = "console/network"
PRIORITY = "optional"
LICENSE = "ntp"
-SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/${P}.tar.gz \
+SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \
file://ipv6only-workaround.patch;patch=1 \
file://ntpd \
file://ntp.conf \
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty b/packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty
diff --git a/packages/xorg-lib/diet-x11_6.2.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb
index 96d63aa0ee..b58c45026c 100644
--- a/packages/xorg-lib/diet-x11_6.2.1.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb
@@ -7,3 +7,4 @@ CFLAGS += "-D_GNU_SOURCE"
SRC_URI += "file://fix-utf8-wrong-define.patch;patch=1 \
file://xim.patch;patch=1"
+
diff --git a/packages/xorg-lib/libx11_6.2.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb
index 4e160ad286..4ce6871947 100644
--- a/packages/xorg-lib/libx11_6.2.1.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb
@@ -38,3 +38,4 @@ do_stage() {
oe_libinstall -a -so -C src libX11 ${STAGING_LIBDIR}
}
+
diff --git a/packages/xorg-lib/libxau_0.1.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb
index ef5eb9662e..00fbc92db6 100644
--- a/packages/xorg-lib/libxau_0.1.1.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb
@@ -15,3 +15,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xorg-lib/libxcursor_1.1.2.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb
index 156bd80f08..8ed426fec3 100644
--- a/packages/xorg-lib/libxcursor_1.1.2.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb
@@ -15,3 +15,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xorg-lib/libxdmcp_0.1.3.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb
index 20c4e5bd0c..f7ea15ea0c 100644
--- a/packages/xorg-lib/libxdmcp_0.1.3.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb
@@ -15,3 +15,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xorg-lib/libxext_cvs.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb
index 101c240c5e..3e1ff1ab05 100644
--- a/packages/xorg-lib/libxext_cvs.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb
@@ -1,4 +1,5 @@
-PV = "0.0+cvs${SRCDATE}"
+# "+" is missing due to bug in Familiar
+PV = "0.0cvs${SRCDATE}"
PR = "r1"
LICENSE= "MIT"
DESCRIPTION = "X Server Extension library"
@@ -14,3 +15,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xorg-lib/libxfixes_2.0.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb
index ceebdfaa11..14174bf9a1 100644
--- a/packages/xorg-lib/libxfixes_2.0.1.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb
@@ -13,3 +13,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xorg-lib/libxft_2.1.6.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb
index a793925596..d6b51ca55d 100644
--- a/packages/xorg-lib/libxft_2.1.6.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb
@@ -25,3 +25,4 @@ python do_package() {
bb.data.setVar('PKG_${PN}', 'libxft2', d)
bb.build.exec_func('package_do_package', d)
}
+
diff --git a/packages/xorg-lib/libxrender_0.8.4.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb
index 32e1962f26..58d2ab33f6 100644
--- a/packages/xorg-lib/libxrender_0.8.4.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb
@@ -13,3 +13,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xextensions/xextensions_1.0.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb
index d776bfd54d..ab8895e0a5 100644
--- a/packages/xextensions/xextensions_1.0.1.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb
@@ -10,3 +10,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/xorg-lib/xtrans_0.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb
index f3fa0ddc38..f6afd506e2 100644
--- a/packages/xorg-lib/xtrans_0.1.bb
+++ b/packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb
@@ -12,3 +12,4 @@ inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
diff --git a/packages/omnievents/files/omniidl-cross.patch b/packages/omnievents/files/omniidl-cross.patch
deleted file mode 100644
index 3afb2bbf0e..0000000000
--- a/packages/omnievents/files/omniidl-cross.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- omniEvents-2_6_1/config.mk.in 2004-11-16 18:04:42.000000000 -0500
-+++ omniEvents-2_6_1.new/config.mk.in 2005-03-29 08:38:08.023579809 -0500
-@@ -65,8 +65,12 @@
- ## IDL compiler.
- ##
-
-+ifndef IDL
- IDL := @IDL@
-+endif
-+ifndef IDL_COS_DIR
- IDL_COS_DIR := @IDL_COS_DIR@
-+endif
- IDLFLAGS = -bcxx # <--- backend selection should be omniidl's first option.
- IDLFLAGS += -Wba -Wbh='.hh' -Wbs='.cc' -Wbd='DynSK.cc' -WbBOA -Wbuse_quotes
- IDLFLAGS += -I$(IDL_COS_DIR)/COS
-
diff --git a/packages/omnievents/omnievents_2.6.1.bb b/packages/omnievents/omnievents_2.6.1.bb
deleted file mode 100644
index 827719ed20..0000000000
--- a/packages/omnievents/omnievents_2.6.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-PR = "r0"
-DESCRIPTION = "OmniEvent service for omniORB"
-SECTION = "devel"
-PRIORITY = "optional"
-LICENSE = "LGPL"
-
-DEPENDS = omniorb
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/omnievents/omniEvents-2_6_1-src.tar.gz \
-file://omniidl-cross.patch;patch=1"
-
-S = "${WORKDIR}/omniEvents-2_6_1"
-
-inherit autotools pkgconfig
-
-#do_configure () {
-EXTRA_OECONF="--with-omniorb=${STAGING_LIBDIR}/../usr"
-# oe_runconf
-#}
-
-do_compile () {
- export IDL=${STAGING_DIR}/${BUILD_SYS}/bin/omniidl
- export IDL_COS_DIR=${STAGING_DIR}/${BUILD_SYS}/share/idl/omniORB
- oe_runmake
-}
-
-do_stage () {
- make DESTDIR=${STAGING_LIBDIR}/.. install
-}
-
-#do_install () {
-# export EmbeddedSystem=1
-# make DESTDIR=${D} install
-#}
diff --git a/packages/omniorb/files/arm_double.patch b/packages/omniorb/files/arm_double.patch
new file mode 100644
index 0000000000..cfcfd41630
--- /dev/null
+++ b/packages/omniorb/files/arm_double.patch
@@ -0,0 +1,266 @@
+--- include/omniORB4/CORBA_sysdep.h 30 Dec 2005 17:40:22 -0000 1.2.2.32
++++ include/omniORB4/CORBA_sysdep.h 12 Apr 2006 16:55:41 -0000
+@@ -125,6 +125,15 @@
+ #endif
+
+ //
++// Processor dependencies
++//
++
++#if defined(__arm__)
++# define OMNI_MIXED_ENDIAN_DOUBLE
++#endif
++
++
++//
+ // Macro to provide const_cast functionality on all platforms.
+ //
+ #ifdef HAS_Cplusplus_const_cast
+--- include/omniORB4/cdrStream.h 22 Jul 2005 16:57:17 -0000 1.1.2.23
++++ include/omniORB4/cdrStream.h 12 Apr 2006 16:55:41 -0000
+@@ -428,6 +428,13 @@
+ m.l[1] = Swap32(l.l[0]);
+ l = m;
+ }
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++ {
++ _CORBA_ULong v = l.l[0];
++ l.l[0] = l.l[1];
++ l.l[1] = v;
++ }
++#endif
+ CdrMarshal(s,LongArray2,omni::ALIGN_8,l);
+ }
+
+@@ -440,6 +447,13 @@
+ m.l[1] = Swap32(l.l[0]);
+ l = m;
+ }
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++ {
++ _CORBA_ULong v = l.l[0];
++ l.l[0] = l.l[1];
++ l.l[1] = v;
++ }
++#endif
+ convertToFloat(_CORBA_Double, LongArray2);
+ }
+ #else
+@@ -791,6 +805,19 @@
+ p[i] = l;
+ }
+ }
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++ {
++ struct LongArray2 {
++ _CORBA_ULong l[2];
++ };
++ LongArray2* p=(LongArray2*)a;
++ for( int i = 0; i < length; i++ ) {
++ _CORBA_ULong v = p[i].l[0];
++ p[i].l[0] = p[i].l[1];
++ p[i].l[1] = v;
++ }
++ }
++#endif
+ }
+ #endif
+
+@@ -957,6 +984,13 @@
+ m.l[1] = Swap32(l.l[0]);
+ l = m;
+ }
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++ {
++ _CORBA_ULong v = l.l[0];
++ l.l[0] = l.l[1];
++ l.l[1] = v;
++ }
++#endif
+ CdrMarshal(s,LongArray2,omni::ALIGN_8,l);
+ }
+
+@@ -969,6 +1003,13 @@
+ m.l[1] = Swap32(l.l[0]);
+ l = m;
+ }
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++ {
++ _CORBA_ULong v = l.l[0];
++ l.l[0] = l.l[1];
++ l.l[1] = v;
++ }
++#endif
+ convertToFloat(_CORBA_Double, LongArray2);
+ }
+
+--- include/omniORB4/seqTemplatedecls.h 11 Oct 2005 13:17:01 -0000 1.1.2.10
++++ include/omniORB4/seqTemplatedecls.h 12 Apr 2006 16:55:42 -0000
+@@ -544,43 +544,6 @@
+ };
+
+
+-
+-//////////////////////////////////////////////////////////////////////
+-///////////// _CORBA_Sequence_w_FixSizeElement /////////////
+-//////////////////////////////////////////////////////////////////////
+-template <class T,int elmSize,int elmAlignment>
+-class _CORBA_Sequence_w_FixSizeElement : public _CORBA_Sequence<T> {
+-protected:
+- typedef _CORBA_Sequence_w_FixSizeElement<T,elmSize,elmAlignment> T_seq;
+- typedef _CORBA_Sequence<T> Base_T_seq ;
+-
+-
+- inline _CORBA_Sequence_w_FixSizeElement() {}
+-
+- inline _CORBA_Sequence_w_FixSizeElement(_CORBA_ULong max,
+- _CORBA_Boolean bounded=0) :
+- Base_T_seq(max,bounded) {}
+-
+- inline _CORBA_Sequence_w_FixSizeElement(const T_seq& s) : Base_T_seq(s) {}
+-
+- inline _CORBA_Sequence_w_FixSizeElement(_CORBA_ULong max,
+- _CORBA_ULong len,
+- T *value,
+- _CORBA_Boolean release_ = 0,
+- _CORBA_Boolean bounded = 0
+- ) : Base_T_seq(max,len,value,release_,bounded) {}
+-
+- inline T_seq &operator= (const T_seq &s) {
+- Base_T_seq::operator= (s);
+- return *this;
+- }
+-
+-public:
+- inline void operator>>= (cdrStream &s) const;
+- inline void operator<<= (cdrStream &s);
+-};
+-
+-
+ //////////////////////////////////////////////////////////////////////
+ ///////////// _CORBA_Unbounded_Sequence_w_FixSizeElement /////////////
+ //////////////////////////////////////////////////////////////////////
+@@ -663,6 +626,46 @@
+ };
+
+
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++
++template <int max>
++class _CORBA_Bounded_Sequence_w_FixSizeElement<_CORBA_Double,max,8,8> :
++ public _CORBA_Bounded_Sequence<_CORBA_Double,max> {
++public:
++ typedef _CORBA_Bounded_Sequence_w_FixSizeElement<_CORBA_Double,max,8,8> T_seq;
++ typedef _CORBA_Bounded_Sequence<_CORBA_Double,max> Base_T_seq;
++
++
++ inline _CORBA_Bounded_Sequence_w_FixSizeElement() {}
++ inline _CORBA_Bounded_Sequence_w_FixSizeElement(_CORBA_ULong len,
++ _CORBA_Double *value,
++ _CORBA_Boolean rel = 0) :
++ Base_T_seq(len,value,rel) {}
++
++ inline _CORBA_Bounded_Sequence_w_FixSizeElement(const T_seq& s) :
++ Base_T_seq(s) {}
++
++ inline ~_CORBA_Bounded_Sequence_w_FixSizeElement() {}
++
++ inline T_seq& operator=(const T_seq& s) {
++ Base_T_seq::operator= (s);
++ return *this;
++ }
++
++ // CORBA 2.3 additions
++
++ inline void replace(_CORBA_ULong len, _CORBA_Double* data,_CORBA_Boolean release_ = 0) {
++ Base_T_seq::replace(len,data,release_);
++ }
++
++ inline void operator>>= (cdrStream &s) const;
++ inline void operator<<= (cdrStream &s);
++};
++
++#endif
++
++
++
+ //////////////////////////////////////////////////////////////////////
+ ////////////////// _CORBA_Sequence_Char /////////////////////////////
+ //////////////////////////////////////////////////////////////////////
+--- include/omniORB4/seqTemplatedefns.h 22 May 2003 13:41:39 -0000 1.1.2.11
++++ include/omniORB4/seqTemplatedefns.h 12 Apr 2006 16:55:42 -0000
+@@ -266,6 +266,48 @@
+ }
+
+ //////////////////////////////////////////////////////////////////////
++#ifdef OMNI_MIXED_ENDIAN_DOUBLE
++
++// Template member function specializations to use the base
++// marshalling functions for double, so the doubles are properly
++// word-swapped.
++
++template<>
++inline
++void
++_CORBA_Unbounded_Sequence_w_FixSizeElement<_CORBA_Double,8,8>::operator>>= (cdrStream& s) const
++{
++ Base_T_seq::operator>>=(s);
++}
++
++template<>
++inline
++void
++_CORBA_Unbounded_Sequence_w_FixSizeElement<_CORBA_Double,8,8>::operator<<= (cdrStream& s)
++{
++ Base_T_seq::operator<<=(s);
++}
++
++template<int max>
++inline
++void
++_CORBA_Bounded_Sequence_w_FixSizeElement<_CORBA_Double,max,8,8>::operator>>= (cdrStream& s) const
++{
++ Base_T_seq::operator>>=(s);
++}
++
++template<int max>
++inline
++void
++_CORBA_Bounded_Sequence_w_FixSizeElement<_CORBA_Double,max,8,8>::operator<<= (cdrStream& s)
++{
++ Base_T_seq::operator<<=(s);
++}
++
++#endif
++
++
++//////////////////////////////////////////////////////////////////////
+ inline
+ void
+ _CORBA_Sequence_Char::operator>>= (cdrStream& s) const
+--- src/lib/omniORB/omniidl_be/cxx/skutil.py 27 Jul 2003 19:24:32 -0000 1.17.2.10
++++ src/lib/omniORB/omniidl_be/cxx/skutil.py 12 Apr 2006 16:55:42 -0000
+@@ -197,6 +197,11 @@
+ if array_marshal_helpers.has_key(d_type.type().kind()):
+ (alignment,elmsize) = array_marshal_helpers[d_type.type().kind()]
+ if alignment != "omni::ALIGN_1":
++ is_double = d_type.type().kind() == idltype.tk_double
++ if is_double:
++ to.out("""
++#ifndef OMNI_MIXED_ENDIAN_DOUBLE""")
++
+ to.out("""\
+ if (! @where@.marshal_byte_swap()) {
+ @where@.put_octet_array((CORBA::Octet*)(@slice_cast@@name@),@num@,@align@);
+@@ -207,6 +212,11 @@
+ slice_cast = slice_cast,
+ num = str(n_elements * elmsize),
+ align = alignment)
++
++ if is_double:
++ to.out("""\
++#endif""")
++
+ # Do not return here.
+ # let the code below to deal with the else block.
+ else:
diff --git a/packages/omniorb/files/dynskel.patch b/packages/omniorb/files/dynskel.patch
new file mode 100644
index 0000000000..469d3eb45e
--- /dev/null
+++ b/packages/omniorb/files/dynskel.patch
@@ -0,0 +1,49 @@
+--- src/lib/omniORB/omniidl_be/cxx/dynskel/main.py 27 Nov 2001 14:37:25 -0000 1.14.2.10
++++ src/lib/omniORB/omniidl_be/cxx/dynskel/main.py 15 May 2006 13:36:20 -0000
+@@ -474,15 +474,30 @@
+
+ elementDesc = output.StringStream()
+ prefix = config.state['Private Prefix']
++
+ # djr and jnw's "Super-Hacky Optimisation"
+ # (amended by dpg1 to be even more hacky, since char/wchar now don't work)
+- if isinstance(d_seqType.type(), idltype.Base) and \
+- not d_seqType.variable() and \
+- not d_seqType.type().kind() in [idltype.tk_char, idltype.tk_wchar] and \
+- not is_array:
++ # (amended again to cope with mixed endian doubles)
++
++ is_double = d_seqType.type().kind() == idltype.tk_double
++ is_contiguous = (isinstance(d_seqType.type(), idltype.Base) and
++ not d_seqType.variable() and
++ not d_seqType.type().kind() in [idltype.tk_char,
++ idltype.tk_wchar] and
++ not is_array)
++
++ if is_double:
++ elementDesc.out("""
++#ifndef OMNI_MIXED_ENDIAN_DOUBLE""")
++
++ if is_contiguous:
+ elementDesc.out(template.sequence_elementDesc_contiguous,
+ sequence = sequence_desc)
+- else:
++ if is_double:
++ elementDesc.out("""
++#else""")
++
++ if is_double or not is_contiguous:
+ # <---
+ required_symbols = [ prefix + "_buildDesc" + seqType_cname ]
+ assertDefined(required_symbols)
+@@ -492,6 +507,10 @@
+ thing_cname = seqType_cname,
+ thing = thing)
+
++ if is_double:
++ elementDesc.out("""
++#endif""")
++
+ # <---
+ cname = memberType_cname
+ # this is the #ifdef guard
diff --git a/packages/omniorb/files/long_double.patch b/packages/omniorb/files/long_double.patch
deleted file mode 100644
index a34ff9807e..0000000000
--- a/packages/omniorb/files/long_double.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-*** omniORB-4.0.7.old/include/omniORB4/CORBA_sysdep_auto.h 2004-10-17 16:14:28.000000000 -0400
---- omniORB-4.0.7/include/omniORB4/CORBA_sysdep_auto.h 2006-08-29 11:29:08.000000000 -0400
-***************
-*** 85,91 ****
- #endif
-
-
-! #if defined(SIZEOF_LONG_DOUBLE) && (SIZEOF_LONG_DOUBLE == 16)
- # define HAS_LongDouble
- # define _CORBA_LONGDOUBLE_DECL long double
- #endif
---- 85,91 ----
- #endif
-
-
-! #if defined(SIZEOF_LONG_DOUBLE)
- # define HAS_LongDouble
- # define _CORBA_LONGDOUBLE_DECL long double
- #endif
diff --git a/packages/omniorb/files/omniORB.cfg b/packages/omniorb/files/omniORB.cfg
new file mode 100644
index 0000000000..c1c8c24f95
--- /dev/null
+++ b/packages/omniorb/files/omniORB.cfg
@@ -0,0 +1,918 @@
+############################################################################
+# omniORB (4.0 or above) configuration file #
+############################################################################
+
+############################################################################
+############################################################################
+############################################################################
+# #
+# ORB wide options #
+# #
+############################################################################
+
+############################################################################
+# Tracing level
+# level 0 - critical errors only
+# level 1 - informational messages only
+# level 2 - configuration information and warnings
+# level 5 - the above plus report server thread creation and
+# communication socket shutdown
+# level 10 - the above plus execution trace messages
+# level 25 - output trace message per send or receive giop message
+# level 30 - dump up to 128 bytes of a giop message
+# level 40 - dump the complete giop message
+#
+# Valid values = (n >= 0)
+#
+
+#traceLevel = 1
+
+############################################################################
+# Trace Exceptions
+# If true, then system exceptions will be logged when they are thrown.
+#
+# Valid values = 0 or 1
+#
+traceExceptions = 0
+
+############################################################################
+# Trace Invocations
+# If true, then each local and remote invocation will generate a trace
+# message.
+#
+# Valid values = 0 or 1
+#
+traceInvocations = 0
+
+############################################################################
+# Trace thread id
+# If true, all trace messages include the thread id of the thread doing
+# the logging.
+#
+# Valid values = 0 or 1
+#
+traceThreadId = 0
+
+############################################################################
+# dumpConfiguration
+# Set to 1 to cause the ORB to dump the current set of configuration
+# parameters.
+#
+# Valid values = 0 or 1
+#
+dumpConfiguration = 0
+
+############################################################################
+# maxGIOPVersion
+#
+# Set the maximum GIOP version the ORB should support. The ORB tries
+# to match the <major>.<minor> version as specified.
+#
+# Valid values = 1.0 | 1.1 | 1.2
+#
+maxGIOPVersion = 1.2
+
+############################################################################
+# giopMaxMsgSize
+#
+# This value defines the ORB-wide limit on the size of GIOP message
+# (excluding the header). If this limit is exceeded, the ORB will
+# refuse to send or receive the message and raise a MARSHAL exception.
+#
+# Valid values = (n >= 8192)
+#
+giopMaxMsgSize = 2097152 # 2 MBytes.
+
+############################################################################
+# strictIIOP flag
+# Enable vigorous check on incoming IIOP messages
+#
+# In some (sloppy) IIOP implementations, the message size value in
+# the header can be larger than the actual body size, i.e. there is
+# garbage at the end. As the spec does not say the message size
+# must match the body size exactly, this is not a clear violation
+# of the spec.
+#
+# If this flag is non-zero, the incoming message is expected to
+# be well-behaved. Any messages that have garbage at the end will
+# be rejected.
+#
+# The default value of this flag is true, so invalid messages are
+# rejected. If you set it to zero, the ORB will silently skip the
+# unread part. The problem with this behaviour is that the header
+# message size may actually be garbage, caused by a bug in the
+# sender's code. The receiving thread may block forever on the
+# strand as it tries to read more data from it. In this case the
+# sender won't send any more as it thinks it has marshalled in all
+# the data.
+#
+# Valid values = 0 or 1
+#
+strictIIOP = 1
+
+############################################################################
+# lcdMode
+#
+# Set to 1 to enable 'Lowest Common Denominator' Mode.
+# This will disable various features of IIOP and GIOP which are
+# poorly supported by some ORBs, and disable warnings/errors when
+# certain types of erroneous message are received on the wire.
+#
+# Valid values = 0 or 1
+#
+lcdMode = 0
+
+############################################################################
+# tcAliasExpand flag
+#
+# This flag is used to indicate whether TypeCodes associated with Anys
+# should have aliases removed. This functionality is included because
+# some ORBs will not recognise an Any containing a TypeCode with
+# aliases to be the same as the actual type contained in the Any. Note
+# that omniORB will always remove top-level aliases, but will not remove
+# aliases from TypeCodes that are members of other TypeCodes (e.g.
+# TypeCodes for members of structs etc.), unless tcAliasExpand is set to 1.
+# There is a performance penalty when inserting into an Any if
+# tcAliasExpand is set to 1. The default value is 0 (i.e. aliases of
+# member TypeCodes are not expanded). Note that aliases won't be expanded
+# when one of the non-type-safe methods of inserting into an Any is
+# used (i.e. when the replace() member function or non - type-safe Any
+# constructor is used. )
+#
+# Valid values = 0 or 1
+#
+tcAliasExpand = 0
+
+############################################################################
+# useTypeCodeIndirections
+#
+# If true (the default), typecode indirections will be used. Set
+# this to false to disable that. Setting this to false might be
+# useful to interoperate with another ORB implementation that cannot
+# handle indirections properly.
+#
+# Valid values = 0 or 1
+useTypeCodeIndirections = 1
+
+############################################################################
+# acceptMisalignedTcIndirections
+#
+# If true, try to fix a mis-aligned indirection in a typecode. This
+# is used to work around a bug in some versions of Visibroker's Java
+# ORB.
+#
+# Valid values = 0 or 1
+acceptMisalignedTcIndirections = 0
+
+############################################################################
+# scanGranularity
+#
+# The granularity at which the ORB scans for idle connections.
+# This value determines the minimum value that inConScanPeriod or
+# outConScanPeriod can be.
+#
+# Valid values = (n >= 0 in seconds)
+# 0 --> do not scan for idle connections.
+#
+scanGranularity = 5
+
+############################################################################
+# nativeCharCodeSet
+#
+# set the native code set for char and string
+#
+nativeCharCodeSet = ISO-8859-1
+
+############################################################################
+# nativeWCharCodeSet
+#
+# set the native code set for wchar and wstring
+#
+nativeWCharCodeSet = UTF-16
+
+############################################################################
+# omniORB_27_CompatibleAnyExtraction
+#
+# In omniORB pre-2.8.0 versions, the CORBA::Any extraction operator for
+# 1. unbounded string operator>>=(char*&)
+# 2. bounded string operator>>=(to_string)
+# 3. object reference operator>>=(A_ptr&) for interface A
+# Return a copy of the value. The caller must free the returned
+# value later.
+#
+# With 2.8.0 and later, the semantics becomes non-copy, i.e. the Any
+# still own the storage of the returned value.
+# This would cause a problem in a program that is written to use the
+# pre-2.8.0 semantics. To make it easier for the transition,
+# set omniORB_27_CompatibleAnyExtraction to 1.
+# This would revert the semantics to the pre-2.8.0 versions.
+#
+# Valid values = 0 or 1
+#
+omniORB_27_CompatibleAnyExtraction = 0
+
+############################################################################
+# abortOnInternalError
+#
+# If the value of this variable is TRUE then the ORB will abort
+# instead of throwing an exception when a fatal internal error is
+# detected. This is useful for debuging the ORB -- as the stack will
+# not be unwound by the exception handler, so a stack trace can be
+# obtained.
+# It is hoped that this will not often be needed by users of omniORB!
+#
+# Valid values = 0 or 1
+#
+abortOnInternalError = 0
+
+############################################################################
+# abortOnNativeException
+#
+# On Windows, "native" exceptions such as segmentation faults and
+# divide by zero appear as C++ exceptions that can be caught with
+# catch (...). Setting this parameter to TRUE causes such exceptions
+# to abort the process instead.
+#
+# This parameter has no effect on other platforms.
+#
+# Valid values = 0 or 1
+#
+abortOnNativeException = 0
+
+############################################################################
+# maxSocketSend
+# maxSocketRecv
+#
+# On some platforms, calls to send() and recv() have a limit on the
+# buffer size that can be used. These parameters set the limits in
+# bytes that omniORB uses when sending / receiving bulk data.
+#
+# The default values are platform specific. It is unlikely that you
+# will need to change the values from the defaults.
+#
+# The minimum valid limit is 8KB, 8192 bytes.
+#
+# e.g. to limit to 64KB sends / receives:
+#
+# maxSocketSend = 65536
+# maxSocketRecv = 65536
+
+############################################################################
+# sslCAFile
+# sslKeyFile
+# sslKeyPassword
+# sslVerifyMode
+#
+# SSL transport options
+#
+# sslCAFile specifies the file containing the SSL Certificate
+# Authority certificate.
+#
+# sslKeyFile specifies the file containing the SSL key.
+#
+# sslKeyPassword specifies the password to unlock the key.
+#
+# sslVerifyMode specifies the verify mode, as given to
+# SSL_CTX_set_verify. Valid values are "none", representing
+# SSL_VERIFY_NONE, and "peer", representing SSL_VERIFY_PEER. If peer
+# is selected, additional options "fail" and "once" can also be
+# specified, corresponding to SSL_VERIFY_FAIL_IF_NO_PEER_CERT and
+# SSL_VERIFY_CLIENT_ONCE respectively. e.g.
+#
+# sslVerifyMode = peer,fail
+#
+# These options are only available if the SSL transport is linked.
+
+
+############################################################################
+############################################################################
+############################################################################
+# #
+# Client Side Options #
+# #
+############################################################################
+
+############################################################################
+# InitRef
+#
+# Specify the objects the ORB should return in response to calls to
+# resolve_initial_references.
+#
+# There can be more than one configuration line defining InitRef.
+# Each line adds one initial reference to the ORB.
+#
+# Here are some valid examples:
+#
+# Specify the root context of the Naming Service. (Notice the end of line
+# continuation marker '\'
+#
+# InitRef = NameService=IOR:010000002800000049444c3a6f6d672e6f72672f436f734\
+#e616d696e672f4e616d696e67436f6e746578743a312e300001000000000000002c000000010\
+#102000c0000003139322e3136382e312e3000f90a00000c000000349568c45cb1e6780000000\
+#100000000
+#
+# Alternatively, and more cleanly, specify the Naming service with a
+# corbaname URI:
+#
+InitRef = NameService=corbaname::localhost
+#
+#
+# Specify the Trading service and the interface repository using corbaloc:
+#
+# InitRef = TradingService=corbaloc:iiop:marrow:5009/MyObjectKey
+# = InterfaceRepository=corbaloc::1.2@marrow:5009/Intf
+#
+# The default for the set of initial references is empty.
+
+############################################################################
+# DefaultInitRef
+#
+# DefaultInitRef provides a prefix string which is used to resolve
+# otherwise unknown names. When resolve_initial_references() is unable to
+# resolve a name which has been specifically configured (with InitRef),
+# it constructs a string consisting of the default prefix, a `/' character,
+# and the name requested. The string is then fed to string_to_object().
+# For example, if DefaultInitRef is set up like this:
+# DefaultInitRef = corbaloc::myhost.example.com
+# A call to resolve_initial_references("MyService") will return the object
+# reference denoted by `corbaloc::myhost.example.com/MyService'.
+#
+# The default is empty.
+
+
+############################################################################
+# clientTransportRule
+#
+# When the client receives an IOR that defines 1 or more ways to contact
+# the server, the rules in clientTransportRule filter and prioritise
+# the order in which the transports are used.
+#
+# There can be more than one configuration line of this type.
+# Each line adds one rule to the selection process. The rules are applied
+# in the order they are defined. The relative positions of the rules define
+# the relative priority. The first rule has the highest priority.
+#
+# The syntax of a rule is as follows:
+# clientTransportRule = [^]<address mask> [action]+
+#
+# <address mask> can be:
+# 1. localhost the address is this machine
+# 2. w.x.y.z/m1.m2.m3.m4 IPv4 address with the bits selected by
+# the mask. e.g. 172.16.0.0/255.240.0.0
+# 3. * the wildcard that matches any address
+#
+# <action>+ can be one or more of the following:
+# 1. none Do not use this address
+# 2. tcp,ssl,unix Use the 3 transports in the specified order
+# if any or all of them are available
+# 3. bidir Any connection to this address should be
+# used bidirectionally.
+#
+# The optional prefix ^ before <address mask>, if present, causes
+# the ORB to remove previously declared clientTransportRules from
+# its internal store before adding the current rule.
+#
+# By default, no rule is defined. The ORB implicitly uses the following
+# rule:
+# clientTransportRule = * unix,tcp,ssl
+# If any rule is specified, no implicit rule will be applied.
+#
+# Given an IOR, for each of the addresses within it, the ORB matches the
+# address to the rules. If one is found, the position of the matched rule
+# and the action is noted. If the action is none, the address is discarded.
+# If the action does not contain the transport the address is specified for,
+# e.g. the action is "ssl" but the address is "tcp", the address is
+# discarded. Otherwise, the address and action is entered as one of the
+# candidates to use. Having gone through all the addresses, the candidiates
+# available are then ordered based on the priority of the matching rules and
+# used accordingly.
+#
+# Here are some example usages:
+#
+# A) Restrict to only contacting server on the same host:
+# clientTransportRule = localhost unix,tcp
+# = * none
+# B) Use tcp to contact servers in the intranet and must use bidirectional
+# ssl otherwise.
+# clientTransportRule = 172.16.0.0/255.240.0.0 unix,tcp
+# = * bidir,ssl
+# C) When a fast network (192.168.1.0) exists in the cluster, use it in
+# preference to the external network.
+# clientTransportRule = 192.168.1.0/255.255.255.0 unix,tcp
+# clientTransportRule = 172.16.0.0/255.240.0.0 unix,tcp
+# = * none
+#
+#
+
+############################################################################
+# clientCallTimeOutPeriod
+#
+# Call timeout. On the client side, if a remote call takes longer
+# than the timeout value, the ORB will shutdown the connection and
+# raise a COMM_FAILURE.
+#
+# Valid values = (n >= 0 in milliseconds)
+# 0 --> no timeout. Block till a reply comes back
+#
+clientCallTimeOutPeriod = 0
+
+############################################################################
+# supportPerThreadTimeOut
+#
+# If true, each client thread may have its own timeout. This adds
+# some overhead to each call, so it is off by default.
+#
+# Valid values = 0 or 1
+#
+supportPerThreadTimeOut = 0
+
+############################################################################
+# outConScanPeriod
+#
+# Idle connections shutdown. The ORB periodically scans all the
+# outgoing connections to detect if they are idle.
+# If no operation has passed through a connection for a scan period,
+# the ORB would treat this connection idle and shut it down.
+#
+# Valid values = (n >= 0 in seconds)
+# 0 --> do not close idle connections.
+#
+outConScanPeriod = 120
+
+############################################################################
+# maxGIOPConnectionPerServer
+#
+# The ORB could open more than one connection to a server
+# depending on the number of concurrent invocations to the same
+# server. This variable decides the maximum number of connections
+# to use per server. This variable is read only once at ORB_init.
+# If the number of concurrent invocations exceeds this number, the
+# extra invocations are blocked until the the outstanding ones
+# return.
+#
+# Valid values = (n >= 1)
+#
+maxGIOPConnectionPerServer = 5
+
+############################################################################
+# oneCallPerConnection
+#
+# 1 means only one call can be in progress at any time per connection.
+#
+# Valid values = 0 or 1
+#
+oneCallPerConnection = 1
+
+############################################################################
+# offerBiDirectionalGIOP
+#
+# Applies to the client side. Set to 1 to indicate that the
+# ORB may choose to use a connection to do bidirectional GIOP
+# calls. Set to 0 means the ORB should never do bidirectional.
+#
+# Valid values = 0 or 1
+#
+offerBiDirectionalGIOP = 0
+
+############################################################################
+# diiThrowsSysExceptions
+#
+# If the value of this variable is 1 then the Dynamic Invocation Interface
+# functions (Request::invoke, send_oneway, send_deferred, get_response,
+# poll_response) will throw system exceptions as appropriate. Otherwise
+# the exception will be stored in the Environment pseudo object associated
+# with the Request. By default system exceptions are passed through the
+# Environment object.
+#
+# Valid values = 0 or 1
+#
+diiThrowsSysExceptions = 0
+
+############################################################################
+# verifyObjectExistsAndType
+#
+# If the value of this variable is 0 then the ORB will not
+# send a GIOP LOCATE_REQUEST message to verify the existence of
+# the object prior to the first invocation. Set this variable
+# if the other end is a buggy ORB that cannot handle GIOP
+# LOCATE_REQUEST.
+#
+# Valid values = 0 or 1
+#
+verifyObjectExistsAndType = 1
+
+############################################################################
+# giopTargetAddressMode
+#
+# On the client side, if it is to use GIOP 1.2 or above to talk to a
+# server, use this Target Address Mode.
+#
+# Valid values = 0 (GIOP::KeyAddr)
+# 1 (GIOP::ProfileAddr)
+# 2 (GIOP::ReferenceAddr)
+#
+giopTargetAddressMode = 0
+
+############################################################################
+# bootstrapAgentHostname
+#
+# Applies to the client side. Non-zero enables the use of Sun's bootstrap
+# agent protocol to resolve initial references. The value is the host name
+# where requests for initial references should be sent. Only use this
+# option to interoperate with Sun's javaIDL.
+#
+#bootstrapAgentHostname = localhost
+
+############################################################################
+# bootstrapAgentPort
+#
+# Applies to the client side. Use this port no. to contact the bootstrap
+# agent.
+#
+bootstrapAgentPort = 900
+
+############################################################################
+# principal
+#
+# The value of the principal field in GIOP 1.0 and 1.1 requests
+#
+# principal = me
+
+
+
+############################################################################
+############################################################################
+############################################################################
+# #
+# Server Side Options #
+# #
+############################################################################
+
+
+############################################################################
+# endPoint
+# endPointNoPublish
+# endPointNoListen
+# endPointPublishAllIFs
+#
+# There are 3 possible way to specify the endpoints a server should create.
+# The 3 forms differ in the following ways:
+# endPoint - create, listen on the connection and publish it in IORs
+# endPointNoPublish - same as endPoint but do not publish it in IORs
+# endPointNoListen - only publish it in IORs
+#
+# There can be more than one configuration line defining endPoints.
+# Each line adds one endpoint to the server.
+#
+# Each configuration line can start with the keyword 'endPoint', e.g.
+# endPoint = giop:tcp:neem:12345
+# endPoint = giop:ssl:neem:23456
+#
+# Or a short hand form can be used, like this:
+#
+# endPoint = giop:tcp:neem:12345
+# = giop:ssl:neem:23456
+#
+# The value of an endPoint configuration is a transport specific string.
+# The transport strings recongised by the ORB and its supported transports
+# are:
+# 1. giop:tcp:[<host>]:[<port>]
+# The <host> and <port> parameter are optional. If either or
+# both are missing, the ORB fills in the blank. For example,
+# "giop:tcp::" will cause the ORB to pick an arbitrary tcp port
+# as the endpoint and it will pick one IP address of the host
+# as the host name.
+#
+# 2. giop:ssl:[<host>]:[<port>]
+# Similar to the tcp transport except that SSL is run on top
+# of the tcp connection.
+#
+# 3. giop:unix:[<filename>]
+# Create a unix domain socket and bind to the file with pathname
+# <filename>. If <filename> is not specified, e.g. "giop:unix:",
+# the ORB would pick a file name based on the process ID and
+# the current timestamp.
+# Therefore, if one wants to write an application that always
+# restarts to use the same file to bind to its unix domain
+# socket, a filename should be specified in the transport string.
+#
+# It is possible to use the ORB's transport extension framework to add
+# a new transport to the ORB. In that case, the transport must define its
+# own transport string format and must obey the colon separation rule.
+# For example, if one is to create a transport which executes an arbitrary
+# shell script and let the ORB use its stdin and stdout for sending and
+# receiving giop messages, a transport string could look like this:
+# giop:shell:magic_gw
+# ^ ^
+# | +--------- transport specific part
+# +--------------- transport name
+#
+# By default, no endPoint configuration is defined. In this case the ORB
+# will create just 1 tcp endpoint as if the line:
+# endPoint = giop:tcp::
+# is specified in the configuration file
+#
+# Other than tcp, none of the transports are guaranteed to be available
+# on all platforms. If one specifies say:
+# endPoint = giop:ssl::
+# and the ORB cannot initialise an ssl endpoint, the INITIALIZE exception
+# will be raised. Even though ssl is supported on a platform, its transport
+# is implemented as a separate shared library and must be linked with the
+# application for the ORB to initialise the endpoint.
+#
+# Here are some examples of valid endPoint configurations:
+#
+# endPoint = giop:tcp::
+# endPoint = giop:unix:
+# = giop:ssl::
+#
+# endPointNoPublish = giop:tcp::
+# = giop:unix:
+# = giop:ssl::
+#
+# endPointNoListen = giop:tcp:192.168.1.1:12345
+#
+#
+# If the endPointPublishAllIFs boolean parameter is set to true, all
+# non-loopback IP network interfaces are published in IORs, rather
+# than just the first one.
+
+
+############################################################################
+# serverTransportRule
+#
+# When the server sees a connection request from a client, it looks at the
+# client's address and uses the rules in serverTransportRule to determine
+# if the connection should be accepted.
+#
+# There can be more than one configuration line of this type.
+# Each line adds one rule to the selection process. The rules are applied
+# in the order they are defined until one matching rule is found.
+#
+# The syntax of a rule is as follows:
+# serverTransportRule = [^]<address mask> [action]+
+#
+# <address mask> can be:
+# 1. localhost if the address is this machine
+# 2. w.x.y.z/m1.m2.m3.m4 IPv4 address with the bits selected by
+# the mask. e.g. 172.16.0.0/255.240.0.0
+# 3. * the wildcard that matches any address
+#
+# <action>+ can be one or more of the following:
+# 1. none Do not accept this connection.
+# 2. tcp,ssl,unix Accept if the transport is any of the
+# 3 specified.
+# 3. bidir Allow bidirectional requests if the
+# client requests it.
+#
+# The optional prefix ^ before <address mask>, if present, causes
+# the ORB to remove previously declared clientTransportRules from
+# its internal store before adding the current rule.
+#
+# By default, no rule is defined. The ORB implicitly uses the following
+# rule:
+# serverTransportRule = * unix,tcp,ssl
+# If any rule is specified, the implicit rule will not be applied.
+#
+# Here are some example usages:
+#
+# A) Only accept connections from our intranet
+# serverTransportRule = localhost unix,tcp,ssl
+# = 172.16.0.0/255.240.0.0 tcp,ssl
+# = * none
+#
+# B) Only accept ssl connections if the client is not on our intranet
+# serverTransportRule = localhost unix,tcp,ssl
+# = 172.16.0.0/255.240.0.0 tcp,ssl
+# = * bidir,ssl
+
+
+############################################################################
+# serverCallTimeOutPeriod
+#
+# Call timeout. On the server side, if the ORB cannot completely
+# unmarshal a call's arguments in the defined timeout, it shutdown the
+# connection.
+#
+# Valid values = (n >= 0 in milliseconds)
+# 0 --> no timeout.
+#
+serverCallTimeOutPeriod = 0
+
+############################################################################
+# inConScanPeriod
+#
+# Idle connections shutdown. The ORB periodically scans all the
+# incoming connections to detect if they are idle.
+# If no operation has passed through a connection for a scan period,
+# the ORB would treat this connection idle and shut it down.
+#
+# Valid values = (n >= 0 in seconds)
+# 0 --> do not close idle connections.
+#
+inConScanPeriod = 180
+
+############################################################################
+# threadPerConnectionPolicy
+#
+# 1 means the ORB should dedicate one thread per connection on the
+# server side. 0 means the ORB should dispatch a thread from a pool
+# to a connection only when a request has arrived.
+#
+# Valid values = 0 or 1
+#
+threadPerConnectionPolicy = 1
+
+############################################################################
+# maxServerThreadPerConnection
+#
+# The max. no. of threads the server will dispatch to serve the
+# requests coming from one connection.
+#
+# Valid values = (n >= 1)
+#
+maxServerThreadPerConnection = 100
+
+############################################################################
+# maxServerThreadPoolSize
+# The max. no. of threads the server will allocate to do various
+# ORB tasks. This number does not include the dedicated thread
+# per connection when the threadPerConnectionPolicy is in effect
+#
+# Valid values = (n >= 1)
+#
+maxServerThreadPoolSize = 100
+
+############################################################################
+# threadPerConnectionUpperLimit
+#
+# If the one thread per connection is in effect, this number is
+# the max. no. of connections the server will allow before it
+# switch off the one thread per connection policy and move to
+# the thread pool policy.
+#
+# Valid values = (n >= 1)
+#
+threadPerConnectionUpperLimit = 10000
+
+############################################################################
+# threadPerConnectionLowerLimit
+#
+# If the one thread per connection was in effect and was switched
+# off because threadPerConnectionUpperLimit has been exceeded
+# previously, this number tells when the policy should be restored
+# when the number of connections drop.
+#
+# Valid values = (n >= 1 && n < threadPerConnectionUpperLimit)
+#
+threadPerConnectionLowerLimit = 9000
+
+############################################################################
+# threadPoolWatchConnection
+#
+# After dispatching an upcall in thread pool mode, the thread that
+# has just performed the call can watch the connection for a short
+# time before returning to the pool. This leads to less thread
+# switching for a series of calls from a single client, but is less
+# fair if there are concurrent clients. The connection is watched
+# if the number of threads concurrently handling the connection is
+# <= the value of this parameter. i.e. if the parameter is zero,
+# the connection is never watched; if it is 1, the last thread
+# managing a connection watches it; if 2, the connection is still
+# watched if there is one other thread still in an upcall for the
+# connection, and so on.
+
+threadPoolWatchConnection = 1
+
+############################################################################
+# connectionWatchPeriod
+#
+# For each endpoint, the ORB allocates a thread to watch for new
+# connections and to monitor existing connections for calls that
+# should be handed by the thread pool. The thread blocks in select()
+# or similar for a period, after which it re-scans the lists of
+# connections it should watch. This parameter is specified in
+# microseconds.
+#
+# Valid values = (n >= 0 in microseconds)
+#
+connectionWatchPeriod = 50000
+
+############################################################################
+# connectionWatchImmediate
+#
+# When a thread handles an incoming call, it unmarshals the
+# arguments then marks the connection as watchable by the connection
+# watching thread, in case the client sends a concurrent call on the
+# same connection. If this parameter is set to the default false,
+# the connection is not actually watched until the next connection
+# watch period (determined by the connectionWatchPeriod parameter).
+# If connectionWatchImmediate is set true, the connection watching
+# thread is immediately signalled to watch the connection. That
+# leads to faster interactive response to clients that multiplex
+# calls, but adds significant overhead along the call chain.
+#
+# Note that this setting has no effect on Windows, since it has no
+# mechanism for signalling the connection watching thread.
+#
+# Valid values = 0 or 1
+#
+connectionWatchImmediate = 0
+
+############################################################################
+# acceptBiDirectionalGIOP
+#
+# Applies to the server side. Set to 1 to indicate that the
+# ORB may choose to accept a client's offer to use bidirectional
+# GIOP calls on a connection. Set to 0 means the ORB should
+# never accept any bidirectional offer and should stick to normal
+# GIOP.
+#
+# Valid values = 0 or 1
+#
+acceptBiDirectionalGIOP = 0
+
+############################################################################
+# unixTransportDirectory
+#
+# Applies to the server side. Determine the directory in which
+# the unix domain socket is to be created.
+#
+# Valid values = a valid pathname for a directory
+#
+unixTransportDirectory = /tmp/omni-%u
+# %u is expanded into user name.
+
+############################################################################
+# unixTransportPermission
+#
+# Applies to the server side. Determine the permission mode bits
+# the unix domain socket is set to.
+#
+# Valid values = unix permission mode bits in octal radix (e.g. 0755)
+#
+unixTransportPermission = 0777
+
+############################################################################
+# supportCurrent
+#
+# If the value of this variable is TRUE, per-thread information is
+# made available through the Current interfaces, e.g.
+# PortableServer::Current. If you do not need this information, you
+# can set the value to 0, resulting in a small performance
+# improvement.
+#
+supportCurrent = 1
+
+############################################################################
+# objectTableSize
+#
+# Hash table size of the Active Object Map. If this is zero, the ORB
+# uses a dynamically resized open hash table. This is normally the
+# best option, but it leads to less predictable performance since
+# any operation which adds or removes a table entry may trigger a
+# resize. If you set this to a non-zero value, the hash table has
+# the specified number of entries, and is never resized. Note that
+# the hash table is open, so this does not limit the number of
+# active objects, just how efficiently they can be located.
+#
+# Valid values = (n >= 0)
+# 0 --> use a dynamically resized table.
+#
+objectTableSize = 0
+
+############################################################################
+# poaHoldRequestTimeout
+#
+# This variable can be used to set a time-out for calls being held
+# in a POA which is in the HOLDING state. It gives the time in
+# milliseconds after which a TRANSIENT exception will be thrown if the
+# POA is not transitioned to a different state.
+#
+# Valid values = (n >= 0 in milliseconds)
+# 0 --> no time-out.
+#
+poaHoldRequestTimeout = 0
+
+############################################################################
+# poaUniquePersistentSystemIds
+#
+# The POA specification requires that object ids in POAs with the
+# PERSISTENT and SYSTEM_ID policies are unique between
+# instantiations of the POA. Older versions of omniORB did not
+# comply with that, and reused object ids. With this value true, the
+# POA has the correct behaviour; with false, the POA uses the old
+# scheme for compatibility.
+#
+# Valid values = 0 or 1
+#
+poaUniquePersistentSystemIds = 1
+
+############################################################################
+# supportBootstrapAgent
+#
+# Applies to the server side. 1 means enable the support for Sun's
+# bootstrap agent protocol. This enables interoperability between omniORB
+# servers and Sun's javaIDL clients. When this option is enabled, an
+# omniORB server will respond to a bootstrap agent request.
+supportBootstrapAgent = 0
diff --git a/packages/omniorb/files/rm_LongDouble.patch b/packages/omniorb/files/rm_LongDouble.patch
new file mode 100644
index 0000000000..20556ddcf1
--- /dev/null
+++ b/packages/omniorb/files/rm_LongDouble.patch
@@ -0,0 +1,14 @@
+*** omniORB-4.0.7/idl/corbaidl.idl.orig 2006-10-13 09:21:35.000000000 -0400
+--- omniORB-4.0.7/idl/corbaidl.idl 2006-10-13 09:22:38.000000000 -0400
+***************
+*** 48,56 ****
+ #endif
+ typedef sequence<float> FloatSeq;
+ typedef sequence<double> DoubleSeq;
+- #ifdef HAS_LongDouble
+- typedef sequence<long double> LongDoubleSeq;
+- #endif
+ typedef sequence<string> StringSeq;
+ typedef sequence<wstring> WStringSeq;
+
+--- 48,53 ----
diff --git a/packages/omniorb/omniorb-native_4.0.5.bb b/packages/omniorb/omniorb-native_4.0.5.bb
deleted file mode 100644
index f9addd997d..0000000000
--- a/packages/omniorb/omniorb-native_4.0.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-PR = "r0"
-SRC_URI = "${SOURCEFORGE_MIRROR}/omniorb/omniORB-${PV}.tar.gz"
-SECTION = "devel"
-S = "${WORKDIR}/omniORB-${PV}"
-
-DEPENDS += python-native
-
-inherit native autotools
-
-do_compile () {
- oe_runmake
-}
-
-
-#do_stage() {
-# install -m 0755 src/bison ${STAGING_BINDIR}/
-# ln -sf ./bison ${STAGING_BINDIR}/yacc
-# install -d ${STAGING_BINDIR}/../share/bison/m4sugar
-# install -m 0755 data/c.m4 data/glr.c data/lalr1.cc data/yacc.c ${STAGING_BINDIR}/../share/bison/
-# install -m 0755 data/m4sugar/m4sugar.m4 ${STAGING_BINDIR}/../share/bison/m4sugar/
-#}
diff --git a/packages/omniorb/omniorb-native_4.0.7.bb b/packages/omniorb/omniorb-native_4.0.7.bb
index f9addd997d..be729fe6dc 100644
--- a/packages/omniorb/omniorb-native_4.0.7.bb
+++ b/packages/omniorb/omniorb-native_4.0.7.bb
@@ -11,6 +11,11 @@ do_compile () {
oe_runmake
}
+# Ugly hack so libtool does not find native libs when building cross packages
+# We really only build this package for omniidl anyway
+do_stage_append() {
+ rm -f ${STAGING_DIR}/${BUILD_SYS}/lib/libomni*
+}
#do_stage() {
# install -m 0755 src/bison ${STAGING_BINDIR}/
diff --git a/packages/omniorb/omniorb_4.0.5.bb b/packages/omniorb/omniorb_4.0.5.bb
deleted file mode 100644
index ea9c24f476..0000000000
--- a/packages/omniorb/omniorb_4.0.5.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-PR = "r0"
-DESCRIPTION = "OmniORB High Performance ORB"
-SECTION = "devel"
-PRIORITY = "optional"
-LICENSE = "LGPL"
-
-DEPENDS = omniorb-native
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/omniorb/omniORB-${PV}.tar.gz \
-file://omniORB-cross.patch;patch=1 \
-file://omniORB_embedded_appl.patch;patch=1"
-
-S = "${WORKDIR}/omniORB-${PV}"
-
-inherit autotools pkgconfig
-
-#do_configure () {
-# oe_runconf
-#}
-
-do_compile () {
- export EmbeddedSystem=1
- export TOOLBINDIR=${STAGING_BINDIR}
- oe_runmake
-}
-
-do_stage () {
- export EmbeddedSystem=1
- make DESTDIR=${STAGING_DIR}/${TARGET_SYS} install
-}
-
-do_install () {
- export EmbeddedSystem=1
- make DESTDIR=${D} install
-}
diff --git a/packages/omniorb/omniorb_4.0.7.bb b/packages/omniorb/omniorb_4.0.7.bb
index 3824b293b3..1ae2831fba 100644
--- a/packages/omniorb/omniorb_4.0.7.bb
+++ b/packages/omniorb/omniorb_4.0.7.bb
@@ -7,18 +7,17 @@ LICENSE = "LGPL"
DEPENDS = omniorb-native
SRC_URI = "${SOURCEFORGE_MIRROR}/omniorb/omniORB-${PV}.tar.gz \
+file://omniORB.cfg \
file://omniORB-cross.patch;patch=1 \
file://omniORB_embedded_appl.patch;patch=1" \
-file://long_double.patch;patch=1"
+file://rm_LongDouble.patch;patch=1 \
+file://arm_double.patch;patch=1;pnum=0 \
+file://dynskel.patch;patch=1;pnum=0"
S = "${WORKDIR}/omniORB-${PV}"
inherit autotools pkgconfig
-#do_configure () {
-# oe_runconf
-#}
-
do_compile () {
export EmbeddedSystem=1
export TOOLBINDIR=${STAGING_BINDIR}
@@ -27,10 +26,12 @@ do_compile () {
do_stage () {
export EmbeddedSystem=1
- make DESTDIR=${STAGING_DIR}/${TARGET_SYS} install
+ autotools_stage_all
}
do_install () {
export EmbeddedSystem=1
make DESTDIR=${D} install
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/omniORB.cfg ${D}${sysconfdir}
}
diff --git a/packages/openntpd/openntpd_3.9p1.bb b/packages/openntpd/openntpd_3.9p1.bb
index 9373bda202..03369fd525 100644
--- a/packages/openntpd/openntpd_3.9p1.bb
+++ b/packages/openntpd/openntpd_3.9p1.bb
@@ -7,7 +7,7 @@ DEPENDS += "openssl"
DEPENDS = "timezones"
PR = "r0"
-SRC_URI = "http://www.zip.com.au/~dtucker/openntpd/release/openntpd-${PV}.tar.gz \
+SRC_URI = "http://www.zip.com.au/~dtucker/openntpd/release/${P}.tar.gz \
file://adjtimex-${PV}.patch;patch=1 \
file://init"
diff --git a/packages/openobex/openobex_1.2.bb b/packages/openobex/openobex_1.2.bb
index feceb39bce..0c8d118cff 100644
--- a/packages/openobex/openobex_1.2.bb
+++ b/packages/openobex/openobex_1.2.bb
@@ -5,7 +5,7 @@ SECTION = "libs"
PROVIDES = "openobex-apps"
DEPENDS = "libusb bluez-libs"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
SRC_URI = "${SOURCEFORGE_MIRROR}/openobex/openobex-${PV}.tar.gz \
file://disable-cable-test.patch;patch=1" \
@@ -26,7 +26,7 @@ do_stage() {
}
# how to stop shlibrename from renaming -apps?
-PACKAGES = "${PN} ${PN}-dev openobex-apps"
+PACKAGES += "openobex-apps"
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_${PN}-dev += "${bindir}/openobex-config"
-FILES_${PN}-apps = "${bindir}"
+FILES_${PN}-apps = "${bindir}/*"
diff --git a/packages/oprofile/oprofile/opcontrol_bashisms.patch b/packages/oprofile/oprofile/opcontrol_bashisms.patch
new file mode 100644
index 0000000000..01ef11df86
--- /dev/null
+++ b/packages/oprofile/oprofile/opcontrol_bashisms.patch
@@ -0,0 +1,16 @@
+ utils/opcontrol | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: oprofile-0.9.2/utils/opcontrol
+===================================================================
+--- oprofile-0.9.2.orig/utils/opcontrol 2006-03-29 22:54:07.000000000 +0100
++++ oprofile-0.9.2/utils/opcontrol 2006-10-12 11:14:39.000000000 +0100
+@@ -485,7 +485,7 @@ validate_separate_args()
+ SEPARATE_KERNEL=0
+ SEPARATE_THREAD=0
+ SEPARATE_CPU=0
+- while (($i < $#)); do
++ while [ "$i" -lt "$#" ]; do
+ shift
+ case "$1" in
+ lib|library)
diff --git a/packages/oprofile/oprofile_0.9.1.bb b/packages/oprofile/oprofile_0.9.2.bb
index 991c7bfc99..e64aa10d49 100644
--- a/packages/oprofile/oprofile_0.9.1.bb
+++ b/packages/oprofile/oprofile_0.9.2.bb
@@ -6,6 +6,7 @@ DEPENDS = "popt binutils"
SRC_URI = "${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz \
file://no_arm_mapping_syms.patch;patch=1 \
+ file://opcontrol_bashisms.patch;patch=1 \
file://acinclude.m4"
S = "${WORKDIR}/oprofile-${PV}"
diff --git a/packages/oprofile/oprofile_cvs.bb b/packages/oprofile/oprofile_cvs.bb
index 5818d2ae5c..902c569e85 100644
--- a/packages/oprofile/oprofile_cvs.bb
+++ b/packages/oprofile/oprofile_cvs.bb
@@ -1,12 +1,16 @@
-PV = "0.9.1+cvs${SRCDATE}"
+PV = "0.9.2+cvs${SRCDATE}"
+PR = "r1"
SECTION = "devel"
DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
of profiling all running code at low overhead."
LICENSE = "GPL"
DEPENDS = "popt binutils"
-SRC_URI = "cvs://anonymous@cvs.sourceforge.net/cvsroot/oprofile;module=oprofile \
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "cvs://anonymous@oprofile.cvs.sourceforge.net/cvsroot/oprofile;module=oprofile \
file://no_arm_mapping_syms.patch;patch=1 \
+ file://opcontrol_bashisms.patch;patch=1 \
file://acinclude.m4"
S = "${WORKDIR}/oprofile"
diff --git a/packages/ossie/.mtn2git_empty b/packages/ossie/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ossie/.mtn2git_empty
diff --git a/packages/ossie/ossie-channeldemo_svn.bb b/packages/ossie/ossie-channeldemo_svn.bb
new file mode 100644
index 0000000000..d64464ade7
--- /dev/null
+++ b/packages/ossie/ossie-channeldemo_svn.bb
@@ -0,0 +1,19 @@
+PR = "r0"
+DESCRIPTION = "OSSIE Demo channel component"
+SECTION = "apps"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+DEPENDS = "ossiecf"
+
+S="${WORKDIR}/ChannelDemo"
+
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/components/ChannelDemo/trunk;module=ChannelDemo;proto=https"
+
+prefix="/home/sca"
+
+inherit autotools
+
+FILES_${PN} += "/home/sca/xml/ChannelDemo/*.xml"
+
diff --git a/packages/ossie/ossie-demo_svn.bb b/packages/ossie/ossie-demo_svn.bb
new file mode 100644
index 0000000000..583299af02
--- /dev/null
+++ b/packages/ossie/ossie-demo_svn.bb
@@ -0,0 +1,18 @@
+PR = "r0"
+DESCRIPTION = "OSSIE Demo waveform"
+SECTION = "apps"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+DEPENDS = "ossiecf ossie-channeldemo ossie-rxdemo"
+
+S="${WORKDIR}/ossie_demo"
+
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/waveforms/ossie_demo/trunk;module=ossie_demo;proto=https"
+
+prefix="/home/sca"
+
+inherit autotools
+
+FILES_${PN} += "/home/sca/waveforms/ossie_demo/*.xml /home/sca/xml/TxDemo/*.xml"
diff --git a/packages/ossie/ossie-gpp-device_svn.bb b/packages/ossie/ossie-gpp-device_svn.bb
new file mode 100644
index 0000000000..dcd58c73c6
--- /dev/null
+++ b/packages/ossie/ossie-gpp-device_svn.bb
@@ -0,0 +1,19 @@
+PR = "r0"
+DESCRIPTION = "OSSIE General Purpose Processor device"
+SECTION = "apps"
+PRIORITY = "optional"
+MAINTAINER = "Philip Balister philip@balister.org"
+LICENSE = "GPL"
+
+DEPENDS = "ossiecf"
+
+S="${WORKDIR}/GPP"
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/platform/GPP/trunk;module=GPP;proto=https"
+
+prefix="/home/sca"
+
+inherit autotools
+
+FILES_${PN} += "/home/sca/xml/GPP/*xml"
+
diff --git a/packages/ossie/ossie-nodebooter_svn.bb b/packages/ossie/ossie-nodebooter_svn.bb
new file mode 100644
index 0000000000..34d6041e6c
--- /dev/null
+++ b/packages/ossie/ossie-nodebooter_svn.bb
@@ -0,0 +1,14 @@
+PR = "r0"
+DESCRIPTION = "OSSIE Node Booter"
+SECTION = "apps"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+DEPENDS = "ossiecf"
+
+S="${WORKDIR}/nodebooter"
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/platform/nodebooter/trunk;module=nodebooter;proto=https"
+
+inherit autotools
+
diff --git a/packages/ossie/ossie-rxdemo_svn.bb b/packages/ossie/ossie-rxdemo_svn.bb
new file mode 100644
index 0000000000..566397c72e
--- /dev/null
+++ b/packages/ossie/ossie-rxdemo_svn.bb
@@ -0,0 +1,19 @@
+PR = "r0"
+DESCRIPTION = "OSSIE Demo receiver component"
+SECTION = "apps"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+DEPENDS = "ossiecf"
+
+S="${WORKDIR}/RxDemo"
+
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/components/RxDemo/trunk;module=RxDemo;proto=https"
+
+prefix="/home/sca"
+
+inherit autotools
+
+FILES_${PN} += "/home/sca/xml/RxDemo/*.xml"
+
diff --git a/packages/ossie/ossie-standardinterfaces_svn.bb b/packages/ossie/ossie-standardinterfaces_svn.bb
new file mode 100644
index 0000000000..46b85f80ef
--- /dev/null
+++ b/packages/ossie/ossie-standardinterfaces_svn.bb
@@ -0,0 +1,18 @@
+PR = "r0"
+DESCRIPTION = "OSSIE Standard port interfaces"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+
+DEPENDS = "ossiecf"
+
+S="${WORKDIR}/standardInterfaces"
+
+SRCDATE = "now"
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/standardInterfaces/trunk;module=standardInterfaces;proto=https"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/packages/ossie/ossie-usrp-device_svn.bb b/packages/ossie/ossie-usrp-device_svn.bb
new file mode 100644
index 0000000000..02d006b711
--- /dev/null
+++ b/packages/ossie/ossie-usrp-device_svn.bb
@@ -0,0 +1,19 @@
+PR = "r0"
+DESCRIPTION = "OSSIE General Purpose Processor device"
+SECTION = "apps"
+PRIORITY = "optional"
+MAINTAINER = "Philip Balister philip@balister.org"
+LICENSE = "GPL"
+
+DEPENDS = "ossiecf usrp ossie-standardinterfaces"
+
+S="${WORKDIR}/USRP"
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/platform/USRP/trunk;module=USRP;proto=https"
+
+prefix="/home/sca"
+
+inherit autotools
+
+FILES_${PN} += "/home/sca/xml/USRP/*xml"
+
diff --git a/packages/ossie/ossiecf_svn.bb b/packages/ossie/ossiecf_svn.bb
new file mode 100644
index 0000000000..d286ef4aa7
--- /dev/null
+++ b/packages/ossie/ossiecf_svn.bb
@@ -0,0 +1,20 @@
+PR = "r0"
+DESCRIPTION = "OSSIE Core Framework"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+
+DEPENDS = "xerces-c omniorb libtool-cross"
+
+S="${WORKDIR}/ossie"
+
+SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/ossie/trunk;module=ossie;proto=https"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
+
+FILES_${PN} += "/home/sca/xml/dtd/*.dtd"
+
diff --git a/packages/p3scan/.mtn2git_empty b/packages/p3scan/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/p3scan/.mtn2git_empty
diff --git a/packages/p3scan/files/.mtn2git_empty b/packages/p3scan/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/p3scan/files/.mtn2git_empty
diff --git a/packages/p3scan/files/doc.configure.txt b/packages/p3scan/files/doc.configure.txt
new file mode 100644
index 0000000000..2d925f8314
--- /dev/null
+++ b/packages/p3scan/files/doc.configure.txt
@@ -0,0 +1,15 @@
+The following items needs to be considered when using clamsmtp:
+
+1. Transparent proxy
+
+ For transparent proxying you need an IP tables rule such as:
+
+ iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 25 -j REDIRECT --to-ports 8110
+ iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j REDIRECT --to-ports 8110
+ iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 995 -j REDIRECT --to-ports 8110
+
+ where eth0 is the incomming port, and 8110 is the port that p3scan is
+ running on. Also remember to enable transparent proxy support in the
+ configuration file.
+
+ The ports are 25 for smtp, 110 for pop3 and 995 for pop3s.
diff --git a/packages/p3scan/files/dont-search-use-include.patch b/packages/p3scan/files/dont-search-use-include.patch
new file mode 100644
index 0000000000..91723ce1b6
--- /dev/null
+++ b/packages/p3scan/files/dont-search-use-include.patch
@@ -0,0 +1,11 @@
+--- p3scan-2.9.05d/configure.in 2006/10/12 00:49:31 1.1
++++ p3scan-2.9.05d/configure.in 2006/10/12 00:49:41
+@@ -34,8 +34,6 @@
+ # Checks for libraries.
+
+ AC_CHECK_LIB(pthread, pthread_create, [], [AC_MSG_ERROR([library 'pthread' is required!])])
+-LDFLAGS="$LDFLAGS -L/usr/lib/pthread"
+-CPPFLAGS="$CPPFLAGS -I/usr/include/pthread"
+
+ # Checks for header files.
+ AC_HEADER_DIRENT
diff --git a/packages/p3scan/files/libtool-fix.patch b/packages/p3scan/files/libtool-fix.patch
new file mode 100644
index 0000000000..4645bcc616
--- /dev/null
+++ b/packages/p3scan/files/libtool-fix.patch
@@ -0,0 +1,24 @@
+Use our own libtool that knows about cross compiling, not the libtool
+that is included.
+
+--- p3scan-2.9.05d/aclocal.m4 2006/10/12 04:17:35 1.1
++++ p3scan-2.9.05d/aclocal.m4 2006/10/12 04:18:28
+@@ -73,8 +73,7 @@
+ LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+-AC_SUBST(LIBTOOL)dnl
++LIBTOOL="$host_alias-libtool"
+
+ # Prevent multiple expansion
+ define([AC_PROG_LIBTOOL], [])
+@@ -140,7 +139,7 @@
+ rm="rm -f"
+
+ # Global variables:
+-default_ofile=libtool
++default_ofile==${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
diff --git a/packages/p3scan/files/p3scan.conf b/packages/p3scan/files/p3scan.conf
new file mode 100644
index 0000000000..2d8ba07e87
--- /dev/null
+++ b/packages/p3scan/files/p3scan.conf
@@ -0,0 +1,16 @@
+# See /usr/share/doc/p3scan/ and/or p3scan(8) for more information
+
+# Delete infected messages
+delete
+
+# Maximum # of connections we will handle at once.
+maxchilds = 10
+
+# Tcp port to listen on
+# port = 8110
+
+# Where to look for an email-template when a notification message has to be sent.
+# template = /etc/p3scan/p3scan-en.mail
+
+# The username the daemon should run as.
+user = mail
diff --git a/packages/p3scan/files/p3scan.init b/packages/p3scan/files/p3scan.init
new file mode 100644
index 0000000000..9f3865b8b2
--- /dev/null
+++ b/packages/p3scan/files/p3scan.init
@@ -0,0 +1,33 @@
+#!/bin/sh
+DAEMON=/usr/sbin/p3scan
+P3SCAN_CONFIG=/etc/p3scan/p3scan.conf
+PIDFILE=/var/run/p3scan/p3scan.pid
+NAME="p3scan"
+DESC="P3SCAN"
+
+test -r /etc/default/p3scan && . /etc/default/p3scan
+test -x "$DAEMON" || exit 0
+test ! -r "$P3SCAN_CONFIG" && exit 0
+
+case "$1" in
+ start)
+ echo "Starting $DESC: "
+ start-stop-daemon --oknodo -S -x $DAEMON -- -c $P3SCAN_CONFIG
+ echo "$NAME."
+ ;;
+
+ stop)
+ echo "Stopping $DESC:"
+ start-stop-daemon -K -p $PIDFILE
+ ;;
+
+ restart)
+ $0 stop >/dev/null 2>&1
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 0
+ ;;
+esac
diff --git a/packages/p3scan/files/volatiles.05_p3scan b/packages/p3scan/files/volatiles.05_p3scan
new file mode 100644
index 0000000000..2a7caeddd9
--- /dev/null
+++ b/packages/p3scan/files/volatiles.05_p3scan
@@ -0,0 +1,4 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d mail mail 0755 /var/run/p3scan none
+d mail mail 0755 /var/spool/p3scan/children none
+d mail mail 0755 /var/spool/p3scan/notify none
diff --git a/packages/p3scan/p3scan_2.9.05d.bb b/packages/p3scan/p3scan_2.9.05d.bb
new file mode 100644
index 0000000000..a599685ee1
--- /dev/null
+++ b/packages/p3scan/p3scan_2.9.05d.bb
@@ -0,0 +1,85 @@
+DESCRIPTION = "A transparent proxy-server for email clients. It is designed \
+to enable scanning of incoming/outgoing email messages (POP3, POPSS and \
+SMTP) for Virus's, Worms, Trojans, Spam and harmfull attachments."
+HOMEPAGE = "http://p3scan.sourceforge.net/"
+SECTION = "network"
+LICENSE = "GPLv2"
+DEPENDS = "gmp bzip2 zlib clamav openssl"
+RDEPENDS_${PN} = "${PN}-templates-en"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/p3scan/p3scan-2.9.05d.tar.gz \
+ file://libtool-fix.patch;patch=1 \
+ file://dont-search-use-include.patch;patch=1 \
+ file://p3scan.init \
+ file://p3scan.conf \
+ file://doc.configure.txt \
+ file://volatiles.05_p3scan"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = "--with-clamav=${STAGING_LIBDIR}/.. \
+ --with-openssl=${STAGING_LIBDIR}/.. \
+ --disable-ripmime"
+
+# Full manual install because the autoconf installer puts in lots of
+# stuff we don't want and in lots of odd directories.
+do_install () {
+ install -m 0755 -d ${D}${sysconfdir}/init.d \
+ ${D}${docdir}/p3scan \
+ ${D}${mandir}/man8 \
+ ${D}${sysconfdir}/p3scan \
+ ${D}${sysconfdir}/default/volatiles \
+ ${D}${sbindir}
+ install -m 755 ${WORKDIR}/p3scan.init ${D}${sysconfdir}/init.d/p3scan
+ install -m 755 ${WORKDIR}/p3scan.conf ${D}${sysconfdir}/p3scan/p3scan.conf
+ install -m 644 ${WORKDIR}/doc.configure.txt ${D}${docdir}/p3scan/configure.txt
+ install -m 755 src/.libs/p3scan ${D}${sbindir}
+ for i in etc/p3scan-*.mail \
+ etc/p3scan.whitelist \
+ etc/p3scan.blacklist; do
+ install -m 644 $i ${D}${sysconfdir}/p3scan/`basename $i`
+ done
+ for i in README ChangeLog README-ripmime README-emergency \
+ spamfaq.html etc/p3scan.conf.sample p3scan.sh \
+ AUTHORS CONTRIBUTERS; do
+ install -m 644 $i ${D}${docdir}/p3scan/`basename $i`
+ done
+ install -m 644 man/p3scan.man ${D}${mandir}/man8/p3scan.8
+ # We need some /var directories
+ for i in 05_p3scan; do
+ install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
+ done
+}
+
+PACKAGES = "${PN}-dbg ${PN}-doc \
+ ${PN}-templates-ru ${PN}-templates-en ${PN}-templates-pt-br \
+ ${PN}-templates-sp ${PN}-templates-ge ${PN}-templates-fr \
+ ${PN}-templates-nl ${PN}-templates-pl ${PN}-templates-it \
+ ${PN}"
+
+FILES_${PN} = "${sysconfdir}/p3scan/* \
+ ${sysconfdir}/init.d ${sysconfdir}/default ${sbindir}/*"
+FILES_${PN}-templates-ru = "${sysconfdir}/p3scan/p3scan-ru.mail"
+FILES_${PN}-templates-en = "${sysconfdir}/p3scan/p3scan-en.mail"
+FILES_${PN}-templates-pt-br = "${sysconfdir}/p3scan/p3scan-pt-br.mail"
+FILES_${PN}-templates-sp = "${sysconfdir}/p3scan/p3scan-sp.mail"
+FILES_${PN}-templates-ge = "${sysconfdir}/p3scan/p3scan-ge.mail"
+FILES_${PN}-templates-fr = "${sysconfdir}/p3scan/p3scan-fr.mail"
+FILES_${PN}-templates-nl = "${sysconfdir}/p3scan/p3scan-nl.mail"
+FILES_${PN}-templates-pl = "${sysconfdir}/p3scan/p3scan-pl.mail"
+FILES_${PN}-templates-it = "${sysconfdir}/p3scan/p3scan-it.mail"
+
+# Add havp's user and groups
+pkg_postinst_${PN} () {
+ grep -q mail: /etc/group || addgroup --system havp
+ grep -q mail: /etc/passwd || \
+ adduser --disabled-password --home=${localstatedir}/mail --system \
+ --ingroup mail --no-create-home -g "Mail" mail
+ /etc/init.d/populate-volatile.sh
+}
+
+CONFFILES_${PN} = "${sysconfdir}/p3scan/p3scan.conf"
+
+INITSCRIPT_NAME = "p3scan"
+INITSCRIPT_PARAMS = "defaults 65 35"
diff --git a/packages/p4/p4.inc b/packages/p4/p4.inc
index 5a0342f14c..9439f73674 100644
--- a/packages/p4/p4.inc
+++ b/packages/p4/p4.inc
@@ -2,18 +2,10 @@
# Copyright (C) 2006, Advanced Micro Devices, Inc. All Rights Reserved
# Released under the MIT license (see /COPYING)
-HOMEPAGE = "http://www.perforce.com"
DESCRIPTION = "Perforce client and server binaries"
+HOMEPAGE = "http://www.perforce.com"
LICENSE = "Perforce"
-def get_kernelmajorversion(p):
- import re
- r = re.compile("([0-9]+\.[0-9]+).*")
- m = r.match(p);
- if m:
- return m.group(1)
- return None
-
def p4_arch(d):
import bb, re
arch = bb.data.getVar('TARGET_ARCH', d, 1)
@@ -35,9 +27,8 @@ def p4_arch(d):
return "%s%s" % (os, arch)
-P4ARCH="${@p4_arch(d)}"
-P4BASEURL="http://filehost.perforce.com/perforce/r${PV}/bin.${P4ARCH}"
-S="${WORKDIR}"
+P4ARCH = "${@p4_arch(d)}"
+P4BASEURL = "http://filehost.perforce.com/perforce/r${PV}/bin.${P4ARCH}"
#Because these files are all named the same thing, regardless of version or arch
PREMIRRORS=""
@@ -50,6 +41,7 @@ SRC_URI="\
${P4BASEURL}/p4ftpd \
${P4BASEURL}/p4p \
${P4BASEURL}/p4web"
+S = "${WORKDIR}"
PACKAGES += " ${PN}-server"
FILES_${PN} = " ${bindir}/p4"
diff --git a/packages/patch/patch.inc b/packages/patch/patch.inc
index c8240ca3a9..4ce51703aa 100644
--- a/packages/patch/patch.inc
+++ b/packages/patch/patch.inc
@@ -8,4 +8,12 @@ SECTION = "utils"
SRC_URI = "${GNU_MIRROR}/patch/patch-${PV}.tar.gz"
S = "${WORKDIR}/patch-${PV}"
-inherit autotools
+inherit autotools update-alternatives
+
+do_install_append () {
+ mv ${D}${bindir}/patch ${D}${bindir}/patch.${PN}
+}
+
+ALTERNATIVE_NAME = "patch"
+ALTERNATIVE_PATH = "patch.${PN}"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/packages/patch/patch_2.5.9.bb b/packages/patch/patch_2.5.9.bb
index 940b15a205..ff485546fc 100644
--- a/packages/patch/patch_2.5.9.bb
+++ b/packages/patch/patch_2.5.9.bb
@@ -7,4 +7,4 @@ SRC_URI = "${GNU_MIRROR}/patch/patch-2.5.4.tar.gz \
file://unified-reject-files.diff;patch=1 \
file://global-reject-file.diff;patch=1 "
S = "${WORKDIR}/patch-2.5.4"
-PR = "r1" \ No newline at end of file
+PR = "r2" \ No newline at end of file
diff --git a/packages/perl/perl.inc b/packages/perl/perl.inc
index 4cddcdb18a..4f607e1229 100644
--- a/packages/perl/perl.inc
+++ b/packages/perl/perl.inc
@@ -65,7 +65,7 @@ PACKAGES_DYNAMIC = "perl-module-*"
python populate_packages_prepend () {
libdir = bb.data.expand('${libdir}/perl5/${PV}', d)
archlibdir = bb.data.expand('${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}', d)
- do_split_packages(d, archlibdir, 'auto/(.*)/', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
+ do_split_packages(d, archlibdir, 'auto/(.*)(?!\.debug)/', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
do_split_packages(d, archlibdir, '(.*)\.(pm|pl)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
do_split_packages(d, libdir, '(.*)\.(pm|pl)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
}
@@ -76,3 +76,8 @@ FILES_${PN}-lib = "/usr/lib/libperl.so*"
FILES_${PN}-dev = "/usr/lib/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/CORE/"
FILES_${PN}-pod = "/usr/lib/perl5/${PV}/pod"
FILES_perl-misc = "/usr/bin/*"
+FILES_${PN}-dbg += " \
+ ${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/auto/*/.debug \
+ ${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/auto/*/*/.debug \
+ ${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/auto/*/*/*/.debug"
+
diff --git a/packages/perl/perl_5.8.4.bb b/packages/perl/perl_5.8.4.bb
index 35ff774b52..7509f1b66b 100644
--- a/packages/perl/perl_5.8.4.bb
+++ b/packages/perl/perl_5.8.4.bb
@@ -1,3 +1,3 @@
require perl.inc
-PR = "r4"
+PR = "r5"
diff --git a/packages/perl/perl_5.8.7.bb b/packages/perl/perl_5.8.7.bb
index 05e1f1c3df..7c8cbaa5c2 100644
--- a/packages/perl/perl_5.8.7.bb
+++ b/packages/perl/perl_5.8.7.bb
@@ -21,7 +21,7 @@ SRC_URI_append_sh3 += "file://makefile-usegcc-to-link.patch;patch=1"
PARALLEL_MAKE = ""
-PR = "r20"
+PR = "r21"
do_configure() {
ln -sf ${HOSTPERL} ${STAGING_BINDIR}/hostperl
diff --git a/packages/pine/pine_4.63.bb b/packages/pine/pine_4.64.bb
index 1bcb451f52..1bcb451f52 100644
--- a/packages/pine/pine_4.63.bb
+++ b/packages/pine/pine_4.64.bb
diff --git a/packages/procps/procps-3.2.7/.mtn2git_empty b/packages/procps/procps-3.2.7/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/procps/procps-3.2.7/.mtn2git_empty
diff --git a/packages/procps/procps-3.2.7/install.patch b/packages/procps/procps-3.2.7/install.patch
new file mode 100644
index 0000000000..9f1ef6915d
--- /dev/null
+++ b/packages/procps/procps-3.2.7/install.patch
@@ -0,0 +1,27 @@
+--- procps-3.2.5.virgin/Makefile 2005-01-26 05:55:26.000000000 +0100
++++ procps-3.2.5/Makefile 2005-08-03 04:55:26.346984488 +0200
+@@ -30,7 +30,10 @@
+ install := install -D --owner 0 --group 0
+
+ # Lame x86-64 /lib64 and /usr/lib64 abomination:
+-lib64 := lib$(shell [ -d /lib64 ] && echo 64)
++# lib64 := lib$(shell [ -d /lib64 ] && echo 64)
++
++# Equally lame hack to work around makefile lameness when the host arch is 64bit, but the target is not.
++lib64 := lib
+
+ usr/bin := $(DESTDIR)/usr/bin/
+ bin := $(DESTDIR)/bin/
+@@ -211,10 +214,10 @@
+ ###### install
+
+ $(BINFILES) : all
+- $(install) --mode a=rx $(notdir $@) $@
++ $(install) -m 555 $(notdir $@) $@
+
+ $(MANFILES) : all
+- $(install) --mode a=r $(notdir $@) $@
++ $(install) -m 444 $(notdir $@) $@
+
+ install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
+ cd $(usr/bin) && $(ln_f) skill snice
diff --git a/packages/procps/procps-3.2.7/pagesz-not-constant.patch b/packages/procps/procps-3.2.7/pagesz-not-constant.patch
new file mode 100644
index 0000000000..8e9e1ebfe1
--- /dev/null
+++ b/packages/procps/procps-3.2.7/pagesz-not-constant.patch
@@ -0,0 +1,22 @@
+Index: procps-3.2.1/proc/devname.c
+===================================================================
+--- procps-3.2.1.orig/proc/devname.c 2004-03-18 05:43:50.000000000 +1100
++++ procps-3.2.1/proc/devname.c 2005-04-02 10:40:17.462138000 +1000
+@@ -227,7 +227,7 @@
+
+ /* number --> name */
+ unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) {
+- static char buf[PAGE_SIZE];
++ static char buf[4096];
+ char *restrict tmp = buf;
+ unsigned dev = dev_t_dev;
+ unsigned i = 0;
+@@ -249,7 +249,7 @@
+ if((flags&ABBREV_TTY) && !strncmp(tmp,"tty", 3) && tmp[3]) tmp += 3;
+ if((flags&ABBREV_PTS) && !strncmp(tmp,"pts/", 4) && tmp[4]) tmp += 4;
+ /* gotta check before we chop or we may chop someone else's memory */
+- if(chop + (unsigned long)(tmp-buf) <= sizeof buf)
++ if(chop + (unsigned long)(tmp-buf) < sizeof buf)
+ tmp[chop] = '\0';
+ /* replace non-ASCII characters with '?' and return the number of chars */
+ for(;;){
diff --git a/packages/procps/procps-3.2.7/procmodule.patch b/packages/procps/procps-3.2.7/procmodule.patch
new file mode 100644
index 0000000000..fabfabaa59
--- /dev/null
+++ b/packages/procps/procps-3.2.7/procmodule.patch
@@ -0,0 +1,36 @@
+*** procps-3.2.5/proc/module.mk.orig Sun Jul 24 11:53:49 2005
+--- procps-3.2.5/proc/module.mk Sun Jul 24 11:54:32 2005
+***************
+*** 96,102 ****
+ #################### install rules ###########################
+
+ $(lib)$(SOFILE) : proc/$(SONAME)
+! $(install) --mode a=rx $< $@
+
+ ifneq ($(SOLINK),$(SOFILE))
+ .PHONY: $(lib)$(SOLINK)
+--- 96,102 ----
+ #################### install rules ###########################
+
+ $(lib)$(SOFILE) : proc/$(SONAME)
+! $(install) -m 555 $< $@
+
+ ifneq ($(SOLINK),$(SOFILE))
+ .PHONY: $(lib)$(SOLINK)
+***************
+*** 115,121 ****
+ $(ldconfig)
+
+ $(usr/lib)$(ANAME) : proc/$(ANAME)
+! $(install) --mode a=r $< $@
+
+ # Junk anyway... supposed to go in /usr/include/$(NAME)
+ #INSTALL += $(addprefix $(include),$(HDRFILES))
+--- 115,121 ----
+ $(ldconfig)
+
+ $(usr/lib)$(ANAME) : proc/$(ANAME)
+! $(install) -m 444 $< $@
+
+ # Junk anyway... supposed to go in /usr/include/$(NAME)
+ #INSTALL += $(addprefix $(include),$(HDRFILES))
diff --git a/packages/procps/procps-3.2.7/psmodule.patch b/packages/procps/procps-3.2.7/psmodule.patch
new file mode 100644
index 0000000000..f298c1c1c4
--- /dev/null
+++ b/packages/procps/procps-3.2.7/psmodule.patch
@@ -0,0 +1,21 @@
+*** procps-3.2.5/ps/module.mk.orig Sun Jul 24 11:54:40 2005
+--- procps-3.2.5/ps/module.mk Sun Jul 24 11:55:02 2005
+***************
+*** 33,40 ****
+
+
+ $(bin)ps: ps/ps
+! $(install) --mode a=rx $< $@
+
+ $(man1)ps.1 : ps/ps.1
+! $(install) --mode a=r $< $@
+ -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
+--- 33,40 ----
+
+
+ $(bin)ps: ps/ps
+! $(install) -m 555 $< $@
+
+ $(man1)ps.1 : ps/ps.1
+! $(install) -m 444 $< $@
+ -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
diff --git a/packages/procps/procps_3.2.7.bb b/packages/procps/procps_3.2.7.bb
new file mode 100644
index 0000000000..0aaf82a92a
--- /dev/null
+++ b/packages/procps/procps_3.2.7.bb
@@ -0,0 +1,56 @@
+LICENSE = "GPL"
+DESCRIPTION = "Procps is the package that has a bunch \
+of small useful utilities that give information \
+about processes using the /proc filesystem. The package \
+includes the programs ps, top, vmstat, w, kill, and skill."
+SECTION = "base"
+PRIORITY = "optional"
+DEPENDS = "ncurses"
+PR = "r5"
+
+SRC_URI = "http://procps.sourceforge.net/procps-${PV}.tar.gz \
+ file://install.patch;patch=1 \
+ file://procmodule.patch;patch=1 \
+ file://psmodule.patch;patch=1"
+
+
+
+inherit autotools
+FILES = "${bindir}/top.${PN} ${base_bindir}/ps.${PN} ${bindir}/uptime.${PN} ${base_bindir}/kill.${PN} \
+ ${bindir}/free.${PN} ${bindir}/w ${bindir}/watch ${bindir}/pgrep ${bindir}/pmap ${bindir}/pwdx \
+ ${bindir}/snice ${bindir}/vmstat ${bindir}/slabtop ${bindir}/pkill ${bindir}/skill ${bindir}/tload \
+ ${base_sbindir}/sysctl.${PN}"
+
+EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
+ CPPFLAGS=-I${STAGING_INCDIR} \
+ LDFLAGS=-L${STAGING_LIBDIR} -Wl,--rpath-link,${STAGING_LIBDIR} \
+ CURSES=-lncurses \
+ install='install -D' \
+ ldconfig=echo"
+
+do_install_append () {
+ mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
+ mv ${D}${bindir}/top ${D}${bindir}/top.${PN}
+ mv ${D}${base_bindir}/kill ${D}${base_bindir}/kill.${PN}
+ mv ${D}${base_bindir}/ps ${D}${base_bindir}/ps.${PN}
+ mv ${D}${bindir}/free ${D}${bindir}/free.${PN}
+ mv ${D}${base_sbindir}/sysctl ${D}${base_sbindir}/sysctl.${PN}
+}
+
+pkg_postinst() {
+ update-alternatives --install ${bindir}/top top top.${PN} 90
+ update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 90
+ update-alternatives --install ${base_bindir}/ps ps ps.${PN} 90
+ update-alternatives --install ${base_bindir}/kill kill kill.${PN} 90
+ update-alternatives --install ${bindir}/free free free.${PN} 90
+ update-alternatives --install ${base_sbindir}/sysctl sysctl sysctl.${PN} 90
+}
+
+pkg_postrm() {
+ update-alternatives --remove top top.${PN}
+ update-alternatives --remove ps ps.${PN}
+ update-alternatives --remove uptime uptime.${PN}
+ update-alternatives --remove kill kill.${PN}
+ update-alternatives --remove free free.${PN}
+ update-alternatives --remove sysctl sysctl.${PN}
+}
diff --git a/packages/psmisc/psmisc_21.8.bb b/packages/psmisc/psmisc_21.8.bb
index abbcc28987..b1e1ae2fad 100644
--- a/packages/psmisc/psmisc_21.8.bb
+++ b/packages/psmisc/psmisc_21.8.bb
@@ -1,3 +1,3 @@
require psmisc.inc
-PR = "r1"
+PR = "r2"
SRC_URI += "file://signames-header-fix.patch;patch=1"
diff --git a/packages/psmisc/psmisc_22.2.bb b/packages/psmisc/psmisc_22.2.bb
index 4f0d7f219d..62327fa4d6 100644
--- a/packages/psmisc/psmisc_22.2.bb
+++ b/packages/psmisc/psmisc_22.2.bb
@@ -1,2 +1,2 @@
require psmisc.inc
-PR = "r0"
+PR = "r1"
diff --git a/packages/psplash/files/psplash-hand-img.h b/packages/psplash/files/psplash-hand-img.h
new file mode 100644
index 0000000000..3e9a933ea8
--- /dev/null
+++ b/packages/psplash/files/psplash-hand-img.h
@@ -0,0 +1,757 @@
+/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
+
+#define HAND_IMG_ROWSTRIDE (600)
+#define HAND_IMG_WIDTH (150)
+#define HAND_IMG_HEIGHT (93)
+#define HAND_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
+#define HAND_IMG_RLE_PIXEL_DATA ((uint8*) \
+ "\261\377\377\377\0\1\0\0\0\12\271\377\377\377\0\1\0\0\0\13\333\377\377" \
+ "\377\0\1\0\0\0\15\271\377\377\377\0\1\0\0\0\16\333\377\377\377\0\1\0" \
+ "\0\0\15\271\377\377\377\0\1\0\0\0\16\333\377\377\377\0\1\0\0\0\15\271" \
+ "\377\377\377\0\1\0\0\0\16\324\377\377\377\0\17\0\0\0\6\0\0\0!\7\10\11" \
+ ">\34\35\"h\"$*\214,.7\23568C\2538:F\2748:F\257/1:\241$&-\221\36\37%r" \
+ "\17\20\23I\0\0\0(\0\0\0\14\252\377\377\377\0\20\0\0\0\3\0\0\0\33\3\3" \
+ "\4;\31\32\36f\37\40'\220%'/\247.09\26468C\30179E\32278D\305,.7\262!!" \
+ "(\234\30\31\36m\0\0\0+\0\0\0\5\0\0\0\2\312\377\377\377\0\10\0\0\0\21" \
+ "\33\34!n24>\262KO^\331gl\201\360z\200\230\376\213\221\255\377\231\240" \
+ "\276\377\202\234\243\302\377\1\224\232\270\377\202\234\243\302\377\10" \
+ "\233\242\301\377\217\226\262\377\177\205\237\377mr\210\364TWh\3419;G" \
+ "\275\"#*\210\0\0\0!\244\377\377\377\0\11\0\0\0\7\34\35#d13<\267EHV\340" \
+ "Y]o\356nt\212\375\200\206\240\377\222\230\266\377\233\242\301\377\202" \
+ "\234\243\302\377\1\223\232\267\377\202\234\243\302\377\10\231\240\276" \
+ "\377\203\211\243\377bg{\362<>J\310\"$+\216\0\0\0#\0\0\0\15\0\0\0\5\304" \
+ "\377\377\377\0\5\0\0\0\34\40\"(\20479D\273TXi\342\212\221\254\377\210" \
+ "\234\243\302\377\1\224\232\270\377\210\234\243\302\377\5\223\232\267" \
+ "\377afy\354<>J\307%'.\231\11\11\13""6\236\377\377\377\0\6\0\0\0\5\27" \
+ "\30\34Y,.7\263GJY\336|\201\233\375\231\240\276\377\210\234\243\302\377" \
+ "\1\223\232\267\377\206\234\243\302\377\4\223\232\267\377]at\350:=H\270" \
+ "\33\34!d\202\0\0\0\16\1\0\0\0\7\277\377\377\377\0\4\0\0\0\31(*2\250Y" \
+ "]o\347\221\230\265\377\207\234\243\302\377\11\233\242\301\377\231\240" \
+ "\276\377\227\236\274\377\225\234\272\377\213\220\255\377\225\234\272" \
+ "\377\227\236\274\377\231\240\276\377\233\242\301\377\207\234\243\302" \
+ "\377\4\230\237\275\377kp\205\362-/8\300\22\23\27<\232\377\377\377\0\5" \
+ "\0\0\0\26)+4\247CFT\331x~\226\374\232\241\300\377\210\234\243\302\377" \
+ "\10\232\241\277\377\230\237\275\377\226\235\273\377\214\222\256\377\225" \
+ "\233\271\377\227\235\273\377\230\237\276\377\232\241\300\377\205\234" \
+ "\243\302\377\6u{\222\366,.7\276\20\21\24(\0\0\0\10\0\0\0\20\0\0\0\10" \
+ "\273\377\377\377\0\4\0\0\0\15$&-\225QUe\340\227\235\273\377\205\234\243" \
+ "\302\377\1\230\237\275\377\202\224\232\270\377\17\215\222\257\377TXi" \
+ "\351ACQ\3228:E\276,.7\251\36\37%\231(*2\24357B\267\77BN\315KM]\341\201" \
+ "\210\241\376\224\233\270\377\224\232\270\377\226\235\273\377\233\242" \
+ "\301\377\205\234\243\302\377\3fj~\355+,5\264\13\13\15%\226\377\377\377" \
+ "\0\5\0\0\0\1\37\40'xEHV\336\217\224\261\377\232\241\300\377\205\234\243" \
+ "\302\377\1\230\237\276\377\202\224\232\270\377\202\224\233\270\377\10" \
+ "\226\235\273\377\230\237\275\377\232\241\277\377\223\232\267\377\233" \
+ "\242\301\377\231\240\276\377\227\235\273\377\225\233\271\377\202\224" \
+ "\233\270\377\7\224\232\270\377\226\235\273\377\233\242\301\377\234\243" \
+ "\302\377\232\241\277\377W[l\345$&-\225\202\0\0\0\10\2\0\0\0\20\0\0\0" \
+ "\5\267\377\377\377\0\4\0\0\0\5!\")\200GJX\327\221\230\265\377\203\234" \
+ "\243\302\377\2\233\242\301\377\227\235\273\377\202\224\232\270\377\5" \
+ "\227\236\274\377\213\221\255\377GKY\331%'.\231\0\0\0\31\203\377\377\377" \
+ "\0\1\0\0\0\15\203\377\377\377\0\11\0\0\0\12\36\37%}:<H\316|\202\233\371" \
+ "\231\240\276\377\224\233\270\377\224\232\270\377\225\234\272\377\232" \
+ "\241\300\377\203\234\243\302\377\4\231\240\276\377Y]o\346)*3\243\0\0" \
+ "\0\24\223\377\377\377\0\4\21\22\25--/8\304y\177\227\371\232\241\277\377" \
+ "\204\234\243\302\377\1\227\236\274\377\202\224\232\270\377\1\227\235" \
+ "\273\377\205\234\243\302\377\26\233\242\301\377z\200\230\372DGU\335@" \
+ "CP\312<>J\27569D\26046@\25069C\2578;F\270;>I\300>AN\321ORb\347qv\215" \
+ "\374\215\224\260\377\232\241\300\377\215\224\260\377&(0\270\0\0\0\1\377" \
+ "\377\377\0\0\0\0\12\0\0\0\17\0\0\0\3\264\377\377\377\0\3\11\11\13\36" \
+ "24\77\310\212\220\253\375\204\234\243\302\377\10\225\234\272\377\224" \
+ "\232\270\377\230\237\276\377\234\243\302\377\227\235\273\377CFT\327#" \
+ "%,}\0\0\0\11\205\377\377\377\0\1\0\0\0\15\205\377\377\377\0\6\0\0\0\2" \
+ "\33\34!`47A\310\212\220\254\375\234\243\302\377\232\241\277\377\202\224" \
+ "\233\270\377\1\233\242\301\377\203\234\243\302\377\3\225\233\271\377" \
+ "GJX\335\40!(M\220\377\377\377\0\4\0\0\0\7$&-\223UYj\350\227\236\275\377" \
+ "\204\234\243\302\377\3\226\235\273\377\224\232\270\377\230\237\275\377" \
+ "\205\234\243\302\377\6\227\235\273\377ko\205\362@CP\316*+4\246\22\23" \
+ "\27O\0\0\0\24\210\377\377\377\0\7\0\0\0\16\14\15\17A\40!(\206/2<\267" \
+ "HKY\337gl\200\372%'/\214\202\377\377\377\0\3\0\0\0\1\0\0\0\15\0\0\0\11" \
+ "\262\377\377\377\0\3\32\33\40EDGU\331\232\241\277\377\203\234\243\302" \
+ "\377\3\227\235\273\377\223\232\267\377\231\240\276\377\202\234\243\302" \
+ "\377\3\212\220\254\375+-6\304\5\5\7\31\207\377\377\377\0\1\0\0\0\15\207" \
+ "\377\377\377\0\3\0\0\0\3&(0\234ty\220\361\202\234\243\302\377\4\232\241" \
+ "\300\377\224\233\270\377\225\233\271\377\233\242\301\377\203\234\243" \
+ "\302\377\2afy\352#%,{\216\377\377\377\0\4\0\0\0\23""02<\310\205\213\246" \
+ "\376\233\242\301\377\203\234\243\302\377\3\227\236\274\377\223\232\267" \
+ "\377\230\237\276\377\205\234\243\302\377\4ot\212\360<>J\302%'.\222\10" \
+ "\10\12.\203\377\377\377\0\1\0\0\0\16\214\377\377\377\0\4\0\0\0\13\25" \
+ "\27\33i\26\30\35\277\6\6\10\25\203\377\377\377\0\2\0\0\0\10\0\0\0\15" \
+ "\260\377\377\377\0\2\37!'r\\`s\346\203\234\243\302\377\3\230\237\275" \
+ "\377\223\232\267\377\230\237\275\377\203\234\243\302\377\3ty\221\362" \
+ "%&.\237\0\0\0\4\210\377\377\377\0\1\0\0\0\15\211\377\377\377\0\2\40\"" \
+ ")iX\\n\341\203\234\243\302\377\3\232\241\277\377\223\232\267\377\225" \
+ "\234\272\377\203\234\243\302\377\3y~\226\366&(0\245\0\0\0\4\213\377\377" \
+ "\377\0\3\0\0\0\25""24\77\316\217\226\263\377\203\234\243\302\377\3\231" \
+ "\240\276\377\223\232\267\377\227\236\274\377\205\234\243\302\377\3\212" \
+ "\221\254\3769<G\315\32\33\40L\206\377\377\377\0\1\0\0\0\16\216\377\377" \
+ "\377\0\3\0\0\0\2\0\0\0\15\0\0\0\13\203\377\377\377\0\3\0\0\0\5\0\0\0" \
+ "\20\0\0\0\1\254\377\377\377\0\3\0\0\0\3#$+\234uz\221\362\203\234\243" \
+ "\302\377\2\225\234\272\377\226\235\273\377\204\234\243\302\377\2ot\212" \
+ "\357\40!(p\212\377\377\377\0\1\0\0\0\15\212\377\377\377\0\2\25\26\32" \
+ "6LP_\331\204\234\243\302\377\3\230\237\276\377\223\232\267\377\233\242" \
+ "\301\377\202\234\243\302\377\3\213\221\255\376-/8\302\0\0\0\23\211\377" \
+ "\377\377\0\3\5\6\7\30""13=\320\222\231\266\377\203\234\243\302\377\2" \
+ "\227\235\273\377\225\233\271\377\205\234\243\302\377\4\231\240\276\377" \
+ "SVg\343$%-\214\0\0\0\5\207\377\377\377\0\1\0\0\0\16\220\377\377\377\0" \
+ "\3\0\0\0\4\0\0\0\16\0\0\0\1\202\377\377\377\0\3\0\0\0\2\0\0\0\20\0\0" \
+ "\0\3\253\377\377\377\0\2%'.\256\210\216\252\373\203\234\243\302\377\2" \
+ "\224\232\270\377\230\237\275\377\204\234\243\302\377\2\203\211\243\372" \
+ "$&-\215\213\377\377\377\0\1\0\0\0\15\213\377\377\377\0\2\32\33\40Lcg" \
+ "{\346\204\234\243\302\377\3\232\241\300\377\222\231\266\377\232\241\300" \
+ "\377\202\234\243\302\377\3\226\235\273\37747A\321\0\0\0\20\207\377\377" \
+ "\377\0\3\5\5\6\32""24>\322\225\233\272\377\203\234\243\302\377\2\225" \
+ "\233\271\377\227\236\274\377\205\234\243\302\377\3ty\220\365,.7\273\14" \
+ "\14\17\"\211\377\377\377\0\1\0\0\0\16\221\377\377\377\0\3\0\0\0\1\0\0" \
+ "\0\16\0\0\0\3\203\377\377\377\0\2\0\0\0\20\0\0\0\3\251\377\377\377\0" \
+ "\2!#)\214\202\210\241\370\202\234\243\302\377\3\232\241\300\377\223\232" \
+ "\267\377\232\241\277\377\204\234\243\302\377\2\222\230\265\377)*3\261" \
+ "\214\377\377\377\0\1\0\0\0\15\214\377\377\377\0\2!\")ux~\226\363\205" \
+ "\234\243\302\377\2\223\232\267\377\230\237\276\377\202\234\243\302\377" \
+ "\3\225\233\271\377+-6\277\0\0\0\3\205\377\377\377\0\3\5\5\6\33""36@\322" \
+ "\223\232\270\377\202\234\243\302\377\3\233\242\301\377\223\232\267\377" \
+ "\231\240\276\377\205\234\243\302\377\2VZk\344\35\36$c\213\377\377\377" \
+ "\0\1\0\0\0\16\223\377\377\377\0\2\0\0\0\14\0\0\0\6\203\377\377\377\0" \
+ "\2\0\0\0\20\0\0\0\1\247\377\377\377\0\2\35\36$`lq\206\354\202\234\243" \
+ "\302\377\3\232\241\277\377\223\232\267\377\233\242\301\377\204\234\243" \
+ "\302\377\3\232\241\277\37725\77\310\0\0\0\11\214\377\377\377\0\1\0\0" \
+ "\0\15\215\377\377\377\0\2%'.\235\212\220\254\374\205\234\243\302\377" \
+ "\2\225\234\272\377\227\236\274\377\202\234\243\302\377\2\212\220\253" \
+ "\375%'/\240\205\377\377\377\0\2)+4\277\222\230\266\377\202\234\243\302" \
+ "\377\3\232\241\300\377\223\232\267\377\232\241\300\377\205\234\243\302" \
+ "\377\2W[l\344\36\37%Q\214\377\377\377\0\1\0\0\0\16\224\377\377\377\0" \
+ "\202\0\0\0\11\202\377\377\377\0\2\0\0\0\2\0\0\0\17\246\377\377\377\0" \
+ "\2\23\23\27""6TWh\337\202\234\243\302\377\2\233\242\301\377\223\232\267" \
+ "\377\206\234\243\302\377\2Y]o\346\16\17\22$\214\377\377\377\0\3\0\0\0" \
+ "\1\0\0\0\20\0\0\0\1\214\377\377\377\0\2\0\0\0\3""9;G\311\206\234\243" \
+ "\302\377\2\225\233\271\377\231\240\276\377\202\234\243\302\377\2w|\224" \
+ "\364\"$+v\203\377\377\377\0\2\36\37%|x~\226\370\203\234\243\302\377\2" \
+ "\223\232\267\377\233\242\301\377\205\234\243\302\377\2X\\n\343\36\37" \
+ "%Q\215\377\377\377\0\2\0\0\0\21\0\0\0\1\224\377\377\377\0\2\0\0\0\11" \
+ "\0\0\0\6\202\377\377\377\0\2\0\0\0\5\0\0\0\15\244\377\377\377\0\2\0\0" \
+ "\0\26=@L\322\203\234\243\302\377\2\223\232\267\377\233\242\301\377\205" \
+ "\234\243\302\377\2\222\231\266\377')1\233\210\377\377\377\0\3\0\0\0\3" \
+ "\0\0\0\14\0\0\0\16\203\0\0\0\15\2\0\0\0\26\0\0\0\14\202\0\0\0\15\3\0" \
+ "\0\0\16\0\0\0\15\0\0\0\5\210\377\377\377\0\2\30\31\36Vv{\222\363\206" \
+ "\234\243\302\377\2\223\232\267\377\232\241\300\377\202\234\243\302\377" \
+ "\5`ex\347\35\36$J\377\377\377\0\12\12\15%JN\\\342\203\234\243\302\377" \
+ "\2\224\232\270\377\232\241\277\377\205\234\243\302\377\2Y]o\343\36\37" \
+ "%Q\210\377\377\377\0\3\0\0\0\2\0\0\0\13\0\0\0\16\203\0\0\0\15\2\0\0\0" \
+ "\27\0\0\0\14\202\0\0\0\15\3\0\0\0\16\0\0\0\15\0\0\0\6\220\377\377\377" \
+ "\0\2\0\0\0\14\0\0\0\3\202\377\377\377\0\2\0\0\0\10\0\0\0\11\243\377\377" \
+ "\377\0\2,.7\265\230\237\275\377\202\234\243\302\377\2\225\233\271\377" \
+ "\231\240\276\377\206\234\243\302\377\2GKY\327\0\0\0\16\205\377\377\377" \
+ "\0\5\0\0\0\1\0\0\0\13\0\0\0\16\0\0\0\13\0\0\0\2\204\377\377\377\0\1\0" \
+ "\0\0\15\204\377\377\377\0\5\0\0\0\1\0\0\0\11\0\0\0\16\0\0\0\15\0\0\0" \
+ "\2\206\377\377\377\0\2.1:\272\233\242\301\377\205\234\243\302\377\2\233" \
+ "\242\301\377\223\232\267\377\203\234\243\302\377\4BDR\327\0\0\0\16*," \
+ "4\304\230\237\275\377\202\234\243\302\377\2\225\234\272\377\230\237\275" \
+ "\377\205\234\243\302\377\2Z^p\343\36\37%Q\207\377\377\377\0\4\0\0\0\12" \
+ "\0\0\0\16\0\0\0\14\0\0\0\3\204\377\377\377\0\1\0\0\0\16\204\377\377\377" \
+ "\0\2\0\0\0\1\0\0\0\10\202\0\0\0\16\1\0\0\0\3\216\377\377\377\0\2\0\0" \
+ "\0\16\0\0\0\1\202\377\377\377\0\2\0\0\0\15\0\0\0\3\241\377\377\377\0" \
+ "\2\25\26\32Kqv\215\360\202\234\243\302\377\2\227\235\273\377\227\236" \
+ "\274\377\206\234\243\302\377\2\207\215\250\374\37!'z\205\377\377\377" \
+ "\0\3\0\0\0\11\0\0\0\16\0\0\0\3\207\377\377\377\0\1\0\0\0\15\207\377\377" \
+ "\377\0\4\0\0\0\1\0\0\0\15\0\0\0\14\0\0\0\1\204\377\377\377\0\2\20\20" \
+ "\24""0aey\350\206\234\243\302\377\2\232\241\300\377\224\232\270\377\202" \
+ "\234\243\302\377\3\221\230\265\377!#(\313}\202\233\372\202\234\243\302" \
+ "\377\2\230\237\275\377\226\235\273\377\205\234\243\302\377\2{\200\231" \
+ "\366\37\40'h\206\377\377\377\0\3\0\0\0\10\0\0\0\16\0\0\0\4\207\377\377" \
+ "\377\0\1\0\0\0\16\207\377\377\377\0\4\0\0\0\1\0\0\0\14\0\0\0\15\0\0\0" \
+ "\2\214\377\377\377\0\2\0\0\0\1\0\0\0\16\202\377\377\377\0\2\0\0\0\1\0" \
+ "\0\0\17\240\377\377\377\0\2\0\0\0\1""47A\303\202\234\243\302\377\2\232" \
+ "\241\300\377\224\233\270\377\207\234\243\302\377\2>AN\312\0\0\0\3\203" \
+ "\377\377\377\0\3\0\0\0\4\0\0\0\17\0\0\0\5\211\377\377\377\0\1\0\0\0\15" \
+ "\211\377\377\377\0\3\0\0\0\2\0\0\0\16\0\0\0\10\204\377\377\377\0\2+-" \
+ "5\252\232\241\300\377\206\234\243\302\377\5\230\237\275\377\227\236\274" \
+ "\377\234\243\302\377\224\232\270\377HLZ\373\202\234\243\302\377\2\233" \
+ "\242\301\377\224\232\270\377\205\234\243\302\377\2\231\240\276\377.0" \
+ "9\270\205\377\377\377\0\3\0\0\0\2\0\0\0\17\0\0\0\6\211\377\377\377\0" \
+ "\1\0\0\0\16\211\377\377\377\0\3\0\0\0\2\0\0\0\15\0\0\0\11\214\377\377" \
+ "\377\0\2\0\0\0\4\0\0\0\11\202\377\377\377\0\2\0\0\0\13\0\0\0\5\237\377" \
+ "\377\377\0\2\33\34\"f\177\204\235\370\202\234\243\302\377\2\224\232\270" \
+ "\377\233\242\301\377\206\234\243\302\377\2\225\233\271\377#$+\216\203" \
+ "\377\377\377\0\2\0\0\0\7\0\0\0\16\213\377\377\377\0\1\0\0\0\15\213\377" \
+ "\377\377\0\2\0\0\0\12\0\0\0\14\203\377\377\377\0\2\20\21\24;pu\213\364" \
+ "\207\234\243\302\377\4\224\232\270\377\234\243\302\377Z^p\377\213\221" \
+ "\255\377\202\234\243\302\377\2\224\233\270\377\232\241\300\377\205\234" \
+ "\243\302\377\2QUe\340\11\11\13\37\204\377\377\377\0\6\0\0\0\5\24\26\31" \
+ "\214),4\261&'.\234\27\32\35W\0\0\0\3\207\377\377\377\0\1\0\0\0\16\213" \
+ "\377\377\377\0\2\0\0\0\10\0\0\0\15\214\377\377\377\0\2\0\0\0\14\0\0\0" \
+ "\1\202\377\377\377\0\1\0\0\0\20\236\377\377\377\0\2\0\0\0\5=@L\315\202" \
+ "\234\243\302\377\2\231\240\276\377\225\234\272\377\207\234\243\302\377" \
+ "\2]bt\347\0\0\0\36\202\377\377\377\0\202\0\0\0\12\214\377\377\377\0\1" \
+ "\0\0\0\15\214\377\377\377\0\2\0\0\0\6\0\0\0\17\203\377\377\377\0\1=@" \
+ "M\312\207\234\243\302\377\3\231\240\276\377\223\232\267\377LP_\377\202" \
+ "\234\243\302\377\2\232\241\300\377\224\233\270\377\205\234\243\302\377" \
+ "\2\205\213\246\373!#)\177\204\377\377\377\0\11\0\0\0\10\0\0\0\14\0\0" \
+ "\0\15(+3\263}\204\235\370{\200\231\371BER\323')0\226\0\0\0\13\205\377" \
+ "\377\377\0\1\0\0\0\16\214\377\377\377\0\3\0\0\0\4\0\0\0\17\0\0\0\1\212" \
+ "\377\377\377\0\2\0\0\0\2\0\0\0\13\202\377\377\377\0\2\0\0\0\11\0\0\0" \
+ "\7\235\377\377\377\0\2!\")~\211\217\253\375\202\234\243\302\377\1\223" \
+ "\232\267\377\210\234\243\302\377\1""57B\273\202\377\377\377\0\2\0\0\0" \
+ "\11\0\0\0\10\215\377\377\377\0\1\0\0\0\15\215\377\377\377\0\2\0\0\0\4" \
+ "\0\0\0\16\202\377\377\377\0\2$&-\220\224\233\270\377\207\234\243\302" \
+ "\377\2_dw\377|\202\234\377\202\234\243\302\377\2\224\232\270\377\233" \
+ "\242\301\377\205\234\243\302\377\2""13=\306\0\0\0\2\203\377\377\377\0" \
+ "\2\0\0\0\7\0\0\0\12\203\377\377\377\0\6!#+\202ty\220\361\234\243\302" \
+ "\377\222\230\265\377\77BN\322\34\37\"R\204\377\377\377\0\1\0\0\0\16\215" \
+ "\377\377\377\0\2\0\0\0\2\0\0\0\17\213\377\377\377\0\2\0\0\0\14\0\0\0" \
+ "\2\202\377\377\377\0\1\0\0\0\20\235\377\377\377\0\1<\77K\313\202\234" \
+ "\243\302\377\2\230\237\275\377\227\235\273\377\207\234\243\302\377\5" \
+ "\210\217\252\376\34\35\"o\377\377\377\0\0\0\0\5\0\0\0\14\216\377\377" \
+ "\377\0\1\0\0\0\15\216\377\377\377\0\5\0\0\0\7\0\0\0\12\377\377\377\0" \
+ "\0\0\0\35]bt\351\207\234\243\302\377\5HKZ\377\225\233\271\377\234\243" \
+ "\302\377\231\240\276\377\225\234\272\377\205\234\243\302\377\2aex\351" \
+ "\23\24\30""4\203\377\377\377\0\2\0\0\0\4\0\0\0\16\205\377\377\377\0\2" \
+ "%'.\221\204\212\244\372\202\234\243\302\377\2lq\206\357!$,z\203\377\377" \
+ "\377\0\1\0\0\0\16\216\377\377\377\0\2\0\0\0\4\0\0\0\15\212\377\377\377" \
+ "\0\2\0\0\0\1\0\0\0\15\202\377\377\377\0\2\0\0\0\11\0\0\0\6\233\377\377" \
+ "\377\0\2\6\6\10)ej~\357\202\234\243\302\377\1\224\232\270\377\210\234" \
+ "\243\302\377\4NRa\336\0\0\0\12\0\0\0\2\0\0\0\17\217\377\377\377\0\1\0" \
+ "\0\0\15\217\377\377\377\0\4\0\0\0\12\0\0\0\7\377\377\377\0""79D\300\206" \
+ "\234\243\302\377\5y~\226\377hm\202\377\224\232\270\377\234\243\302\377" \
+ "\224\232\270\377\206\234\243\302\377\1""58B\271\203\377\377\377\0\2\0" \
+ "\0\0\1\0\0\0\20\207\377\377\377\0\2*+2\262\226\235\272\377\202\234\243" \
+ "\302\377\2rv\215\357\"\"(y\202\377\377\377\0\1\0\0\0\16\217\377\377\377" \
+ "\0\2\0\0\0\10\0\0\0\11\212\377\377\377\0\5\0\0\0\14\0\0\0\2\377\377\377" \
+ "\0\0\0\0\1\0\0\0\15\233\377\377\377\0\5#%,\217\225\233\271\377\234\243" \
+ "\302\377\233\242\301\377\224\233\270\377\210\234\243\302\377\4;>J\300" \
+ "\377\377\377\0\0\0\0\16\0\0\0\1\217\377\377\377\0\1\0\0\0\15\220\377" \
+ "\377\377\0\4\0\0\0\17\377\377\377\0%'.\236\232\241\277\377\205\234\243" \
+ "\302\377\5MQa\377\227\236\273\377\230\237\275\377\227\236\274\377\224" \
+ "\232\270\377\205\234\243\302\377\2\206\214\247\376\35\36$j\203\377\377" \
+ "\377\0\2\0\0\0\15\0\0\0\2\207\377\377\377\0\2\0\0\0\27SWh\342\203\234" \
+ "\243\302\377\4bh{\352\21\21\26;\377\377\377\0\0\0\0\16\220\377\377\377" \
+ "\0\2\0\0\0\16\0\0\0\1\211\377\377\377\0\2\0\0\0\3\0\0\0\12\202\377\377" \
+ "\377\0\1\0\0\0\16\233\377\377\377\0\1:=H\302\202\234\243\302\377\2\227" \
+ "\235\273\377\231\240\276\377\210\234\243\302\377\3+-5\242\0\0\0\4\0\0" \
+ "\0\12\220\377\377\377\0\1\0\0\0\15\220\377\377\377\0\4\0\0\0\4\0\0\0" \
+ "\13\26\27\34X\200\206\237\376\205\234\243\302\377\1KN]\377\202\234\243" \
+ "\302\377\2\220\226\263\377\227\236\274\377\205\234\243\302\377\2KO^\333" \
+ "\0\0\0\11\202\377\377\377\0\2\0\0\0\3\0\0\0\15\211\377\377\377\0\2)+" \
+ "4\242\226\235\273\377\203\234\243\302\377\3.1:\301\377\377\377\0\0\0" \
+ "\0\16\220\377\377\377\0\2\0\0\0\2\0\0\0\15\212\377\377\377\0\1\0\0\0" \
+ "\15\202\377\377\377\0\2\0\0\0\12\0\0\0\4\231\377\377\377\0\2\0\0\0\31" \
+ "\\`r\350\202\234\243\302\377\1\224\232\270\377\210\234\243\302\377\3" \
+ "\213\221\255\377\33\34!l\0\0\0\17\221\377\377\377\0\1\0\0\0\15\221\377" \
+ "\377\377\0\3\0\0\0\16\0\0\0\25Y]o\350\204\234\243\302\377\2\221\230\265" \
+ "\377VZk\377\202\234\243\302\377\1\215\223\257\377\206\234\243\302\377" \
+ "\1.09\255\203\377\377\377\0\2\0\0\0\17\0\0\0\1\211\377\377\377\0\2\12" \
+ "\12\12\32UXi\344\203\234\243\302\377\3|\200\231\365\31\34!f\0\0\0\16" \
+ "\221\377\377\377\0\2\0\0\0\15\0\0\0\2\211\377\377\377\0\5\0\0\0\14\0" \
+ "\0\0\1\377\377\377\0\0\0\0\2\0\0\0\14\231\377\377\377\0\2\40!'}\217\226" \
+ "\262\377\202\234\243\302\377\1\224\232\270\377\210\234\243\302\377\3" \
+ "gk\200\357\0\0\0&\0\0\0\12\221\377\377\377\0\1\0\0\0\15\221\377\377\377" \
+ "\0\3\0\0\0\3\0\0\0\14BER\315\204\234\243\302\377\2hm\201\377\177\205" \
+ "\236\377\202\234\243\302\377\2\217\225\262\377\230\237\276\377\204\234" \
+ "\243\302\377\2v|\223\370\25\26\33J\202\377\377\377\0\2\0\0\0\2\0\0\0" \
+ "\15\213\377\377\377\0\2)+4\246\226\235\273\377\203\234\243\302\377\2" \
+ ";>I\317\0\0\0\26\221\377\377\377\0\2\0\0\0\1\0\0\0\16\211\377\377\377" \
+ "\0\2\0\0\0\4\0\0\0\10\202\377\377\377\0\1\0\0\0\16\231\377\377\377\0" \
+ "\1""36@\262\202\234\243\302\377\2\227\236\274\377\230\237\275\377\210" \
+ "\234\243\302\377\3GJX\324\0\0\0\15\0\0\0\1\221\377\377\377\0\1\0\0\0" \
+ "\15\222\377\377\377\0\2\0\0\0\17""36@\256\204\234\243\302\377\1OSb\377" \
+ "\202\234\243\302\377\3\231\240\276\377\226\235\273\377\224\233\270\377" \
+ "\204\234\243\302\377\2BER\321\0\0\0\1\202\377\377\377\0\2\0\0\0\13\0" \
+ "\0\0\3\213\377\377\377\0\2\11\11\21\36_cv\353\203\234\243\302\377\2\214" \
+ "\222\255\375\35\35#\221\222\377\377\377\0\1\0\0\0\16\212\377\377\377" \
+ "\0\1\0\0\0\15\202\377\377\377\0\2\0\0\0\15\0\0\0\1\230\377\377\377\0" \
+ "\1;>J\303\202\234\243\302\377\1\224\233\270\377\211\234\243\302\377\2" \
+ ":=I\301\0\0\0\16\222\377\377\377\0\1\0\0\0\15\222\377\377\377\0\2\0\0" \
+ "\0\14\"#*\233\204\234\243\302\377\1NRb\377\202\234\243\302\377\3\225" \
+ "\234\272\377\232\241\300\377\224\233\270\377\204\234\243\302\377\1""7" \
+ ":E\261\203\377\377\377\0\1\0\0\0\16\215\377\377\377\0\1EHU\313\204\234" \
+ "\243\302\377\2:>I\324\0\0\0\1\221\377\377\377\0\2\0\0\0\11\0\0\0\4\211" \
+ "\377\377\377\0\1\0\0\0\14\202\377\377\377\0\2\0\0\0\12\0\0\0\3\230\377" \
+ "\377\377\0\1ADR\320\202\234\243\302\377\1\224\233\270\377\211\234\243" \
+ "\302\377\2""46@\267\0\0\0\13\222\377\377\377\0\1\0\0\0\15\222\377\377" \
+ "\377\0\3\0\0\0\3\34\35#\216\227\236\274\377\203\234\243\302\377\1MQ`" \
+ "\377\202\234\243\302\377\3\224\233\270\377\234\243\302\377\224\233\270" \
+ "\377\204\234\243\302\377\1,.7\237\202\377\377\377\0\2\0\0\0\1\0\0\0\15" \
+ "\215\377\377\377\0\1""36A\252\204\234\243\302\377\2gk\200\364\12\12\12" \
+ "3\221\377\377\377\0\2\0\0\0\1\0\0\0\14\211\377\377\377\0\1\0\0\0\14\202" \
+ "\377\377\377\0\2\0\0\0\7\0\0\0\6\230\377\377\377\0\1HKY\335\202\234\243" \
+ "\302\377\1\224\233\270\377\211\234\243\302\377\2,.7\260\0\0\0\4\222\377" \
+ "\377\377\0\1\0\0\0\15\223\377\377\377\0\2\27\30\36x\215\223\257\377\202" \
+ "\234\243\302\377\2\232\241\300\377OSb\377\202\234\243\302\377\3\224\233" \
+ "\270\377\234\243\302\377\224\233\270\377\203\234\243\302\377\2\227\235" \
+ "\273\377!#)\206\202\377\377\377\0\202\0\0\0\7\215\377\377\377\0\2!#)" \
+ "|\222\230\265\377\203\234\243\302\377\2\215\224\260\377$$+\216\222\377" \
+ "\377\377\0\1\0\0\0\16\211\377\377\377\0\1\0\0\0\14\202\377\377\377\0" \
+ "\2\0\0\0\4\0\0\0\12\227\377\377\377\0\2\0\0\0\23X\\m\351\202\234\243" \
+ "\302\377\1\224\233\270\377\211\234\243\302\377\2&&/\247\0\0\0\1\222\377" \
+ "\377\377\0\1\0\0\0\15\223\377\377\377\0\2\17\20\23\\\202\210\242\377" \
+ "\202\234\243\302\377\2\216\224\261\377Z^q\377\202\234\243\302\377\3\224" \
+ "\233\270\377\234\243\302\377\224\233\270\377\203\234\243\302\377\2\204" \
+ "\212\244\377\26\27\33U\202\377\377\377\0\2\0\0\0\12\0\0\0\3\215\377\377" \
+ "\377\0\2\5\5\5/nt\211\365\203\234\243\302\377\2\223\232\267\37734>\260" \
+ "\222\377\377\377\0\1\0\0\0\16\211\377\377\377\0\5\0\0\0\11\0\0\0\3\377" \
+ "\377\377\0\0\0\0\1\0\0\0\14\227\377\377\377\0\2\0\0\0-lq\207\367\202" \
+ "\234\243\302\377\1\224\233\270\377\211\234\243\302\377\1\37\40&\236\223" \
+ "\377\377\377\0\1\0\0\0\15\223\377\377\377\0\2\0\0\0Aw|\224\375\202\234" \
+ "\243\302\377\2~\203\235\377hm\202\377\202\234\243\302\377\4\224\233\270" \
+ "\377\234\243\302\377\226\235\273\377\232\241\277\377\202\234\243\302" \
+ "\377\2lp\206\372\0\0\0(\202\377\377\377\0\2\0\0\0\15\0\0\0\1\215\377" \
+ "\377\377\0\2\0\0\0\27[^q\346\203\234\243\302\377\2\223\232\267\377<=" \
+ "J\273\222\377\377\377\0\1\0\0\0\16\211\377\377\377\0\202\0\0\0\6\202" \
+ "\377\377\377\0\1\0\0\0\15\221\377\377\377\0\206\0\0\0\2\2\22\23\27Q}" \
+ "\201\232\377\202\232\241\300\377\1\222\231\266\377\210\232\241\300\377" \
+ "\2\222\231\266\377\32\33\40\214\223\0\0\0\2\1\0\0\0\17\223\0\0\0\2\2" \
+ "\0\0\0""2in\202\361\202\232\241\300\377\2mr\210\377w|\223\377\202\232" \
+ "\241\300\377\2\222\231\266\377\232\241\300\377\202\226\235\273\377\202" \
+ "\232\241\300\377\2QTd\364\0\0\0\12\202\0\0\0\2\1\0\0\0\17\216\0\0\0\2" \
+ "\2\0\0\0\6JN\\\336\203\232\241\300\377\2\221\230\265\377BER\307\222\0" \
+ "\0\0\2\1\0\0\0\20\211\0\0\0\2\2\0\0\0\5\0\0\0\13\202\0\0\0\2\1\0\0\0" \
+ "\17\207\0\0\0\2\1\0\0\0\1\211\377\377\377\0\1\0\0\0\12\205\0\0\0\14\2" \
+ "\26\26\33f|\202\233\377\202\224\233\270\377\1\215\223\257\377\210\224" \
+ "\233\270\377\2\211\217\253\377\26\30\34\210\223\0\0\0\14\1\0\0\0\30\223" \
+ "\0\0\0\14\2\0\0\0""5`dw\356\202\224\233\270\377\2hm\202\377sx\216\377" \
+ "\202\224\233\270\377\4\215\223\257\377\224\233\270\377\221\227\264\377" \
+ "\220\227\263\377\202\224\233\270\377\2FIW\363\0\0\0\15\202\0\0\0\14\1" \
+ "\0\0\0\30\217\0\0\0\14\1DFU\336\203\224\233\270\377\2\213\222\255\377" \
+ "@CP\314\222\0\0\0\14\2\0\0\0\30\0\0\0\15\210\0\0\0\14\2\0\0\0\16\0\0" \
+ "\0\26\202\0\0\0\14\1\0\0\0\30\207\0\0\0\14\1\0\0\0\12\217\377\377\377" \
+ "\0\2\4\4\5""8sx\217\374\202\234\243\302\377\1\224\233\270\377\210\234" \
+ "\243\302\377\2\232\241\300\377\35\36#\231\223\377\377\377\0\1\0\0\0\15" \
+ "\223\377\377\377\0\2\0\0\0;sx\217\370\202\234\243\302\377\2}\201\233" \
+ "\377lp\205\377\202\234\243\302\377\4\224\233\270\377\234\243\302\377" \
+ "\227\235\273\377\231\240\276\377\202\234\243\302\377\2_cv\366\0\0\0\31" \
+ "\202\377\377\377\0\1\0\0\0\15\216\377\377\377\0\2\0\0\0\12TXg\343\203" \
+ "\234\243\302\377\2\223\232\267\377=@L\277\222\377\377\377\0\1\0\0\0\16" \
+ "\211\377\377\377\0\2\0\0\0\5\0\0\0\7\202\377\377\377\0\1\0\0\0\15\227" \
+ "\377\377\377\0\2\0\0\0\34_cv\355\202\234\243\302\377\1\224\233\270\377" \
+ "\211\234\243\302\377\1\"$+\244\223\377\377\377\0\1\0\0\0\15\223\377\377" \
+ "\377\0\2\11\11\12R~\204\235\377\202\234\243\302\377\2\213\222\255\377" \
+ "^bu\377\202\234\243\302\377\4\224\233\270\377\234\243\302\377\225\233" \
+ "\271\377\233\242\301\377\202\234\243\302\377\2z\200\230\376\13\13\16" \
+ "@\202\377\377\377\0\2\0\0\0\13\0\0\0\2\215\377\377\377\0\2\0\0\0\35d" \
+ "i|\354\203\234\243\302\377\2\223\232\267\37768B\265\222\377\377\377\0" \
+ "\1\0\0\0\16\211\377\377\377\0\2\0\0\0\10\0\0\0\4\202\377\377\377\0\1" \
+ "\0\0\0\15\227\377\377\377\0\2\0\0\0\4KO^\342\202\234\243\302\377\1\224" \
+ "\233\270\377\211\234\243\302\377\2*,4\255\0\0\0\3\222\377\377\377\0\1" \
+ "\0\0\0\15\223\377\377\377\0\2\25\26\33n\211\217\253\377\202\234\243\302" \
+ "\377\2\231\240\276\377SVg\377\202\234\243\302\377\3\224\233\270\377\234" \
+ "\243\302\377\224\233\270\377\203\234\243\302\377\2\217\226\262\377\37" \
+ "\40&u\202\377\377\377\0\2\0\0\0\10\0\0\0\5\215\377\377\377\0\2\30\30" \
+ "\36^\206\214\247\377\203\234\243\302\377\2\223\232\267\377+,6\241\222" \
+ "\377\377\377\0\1\0\0\0\16\211\377\377\377\0\5\0\0\0\13\0\0\0\1\377\377" \
+ "\377\0\0\0\0\3\0\0\0\13\230\377\377\377\0\1CFT\325\202\234\243\302\377" \
+ "\1\224\233\270\377\211\234\243\302\377\2""13=\265\0\0\0\10\222\377\377" \
+ "\377\0\1\0\0\0\15\222\377\377\377\0\3\0\0\0\1\33\34!\207\224\232\270" \
+ "\377\203\234\243\302\377\1QUe\377\202\234\243\302\377\3\224\233\270\377" \
+ "\234\243\302\377\224\233\270\377\204\234\243\302\377\1')1\231\202\377" \
+ "\377\377\0\2\0\0\0\3\0\0\0\12\215\377\377\377\0\1(+3\237\204\234\243" \
+ "\302\377\2|\202\232\376\26\31\34[\222\377\377\377\0\1\0\0\0\15\211\377" \
+ "\377\377\0\1\0\0\0\14\202\377\377\377\0\2\0\0\0\6\0\0\0\10\230\377\377" \
+ "\377\0\1=@L\310\202\234\243\302\377\1\224\233\270\377\211\234\243\302" \
+ "\377\2""8;F\275\0\0\0\16\222\377\377\377\0\1\0\0\0\15\222\377\377\377" \
+ "\0\2\0\0\0\11\37\40'\230\204\234\243\302\377\1PTd\377\202\234\243\302" \
+ "\377\3\225\233\271\377\233\242\301\377\224\233\270\377\204\234\243\302" \
+ "\377\1""36@\254\203\377\377\377\0\1\0\0\0\16\215\377\377\377\0\1:=H\275" \
+ "\204\234\243\302\377\2PSd\346\0\0\0\21\221\377\377\377\0\2\0\0\0\6\0" \
+ "\0\0\10\211\377\377\377\0\1\0\0\0\14\202\377\377\377\0\2\0\0\0\11\0\0" \
+ "\0\4\230\377\377\377\0\1""69C\272\202\234\243\302\377\2\225\234\272\377" \
+ "\232\241\277\377\210\234\243\302\377\2BES\313\0\0\0\15\222\377\377\377" \
+ "\0\1\0\0\0\15\222\377\377\377\0\2\0\0\0\16-/8\244\204\234\243\302\377" \
+ "\1NRb\377\202\234\243\302\377\3\227\236\274\377\230\237\275\377\224\233" \
+ "\270\377\204\234\243\302\377\1<>J\302\203\377\377\377\0\2\0\0\0\15\0" \
+ "\0\0\1\213\377\377\377\0\2\0\0\0\12LN^\333\204\234\243\302\377\1""03" \
+ "<\303\222\377\377\377\0\1\0\0\0\15\212\377\377\377\0\1\0\0\0\15\202\377" \
+ "\377\377\0\2\0\0\0\14\0\0\0\1\230\377\377\377\0\5'(0\230\230\237\276" \
+ "\377\234\243\302\377\232\241\300\377\225\233\271\377\210\234\243\302" \
+ "\377\3X\\n\345\0\0\0\27\0\0\0\5\221\377\377\377\0\1\0\0\0\15\222\377" \
+ "\377\377\0\2\0\0\0\16>@M\302\204\234\243\302\377\2`ex\377\207\215\251" \
+ "\377\202\234\243\302\377\2\221\227\264\377\227\235\273\377\204\234\243" \
+ "\302\377\2]as\351\0\0\0\37\202\377\377\377\0\2\0\0\0\5\0\0\0\11\213\377" \
+ "\377\377\0\2\37\37%\204\215\223\257\376\203\234\243\302\377\2\200\206" \
+ "\237\372\27\27\33i\222\377\377\377\0\1\0\0\0\16\211\377\377\377\0\2\0" \
+ "\0\0\2\0\0\0\13\202\377\377\377\0\1\0\0\0\16\231\377\377\377\0\2\13\13" \
+ "\16""7ot\212\364\202\234\243\302\377\1\224\233\270\377\210\234\243\302" \
+ "\377\3\177\205\236\375\22\23\27O\0\0\0\17\221\377\377\377\0\1\0\0\0\15" \
+ "\221\377\377\377\0\202\0\0\0\13\1NQa\337\204\234\243\302\377\2\213\221" \
+ "\255\377\\as\377\202\234\243\302\377\2\214\223\256\377\233\242\301\377" \
+ "\204\234\243\302\377\2\224\233\270\377$%,\223\203\377\377\377\0\1\0\0" \
+ "\0\20\212\377\377\377\0\2\0\0\0\11ADQ\323\204\234\243\302\377\2\77BN" \
+ "\316\0\0\0\20\221\377\377\377\0\2\0\0\0\10\0\0\0\7\211\377\377\377\0" \
+ "\2\0\0\0\12\0\0\0\3\202\377\377\377\0\1\0\0\0\16\232\377\377\377\0\1" \
+ "ADP\320\202\234\243\302\377\2\225\233\271\377\233\242\301\377\207\234" \
+ "\243\302\377\4\232\241\277\377%'/\225\0\0\0\11\0\0\0\6\220\377\377\377" \
+ "\0\1\0\0\0\15\220\377\377\377\0\4\0\0\0\1\0\0\0\16\12\12\14<ty\220\372" \
+ "\205\234\243\302\377\1LP_\377\202\234\243\302\377\2\216\224\261\377\231" \
+ "\240\276\377\205\234\243\302\377\1<\77K\315\203\377\377\377\0\2\0\0\0" \
+ "\7\0\0\0\11\211\377\377\377\0\2\36\40(\201\212\221\254\376\203\234\243" \
+ "\302\377\3sw\216\362\36\36$]\0\0\0\16\221\377\377\377\0\1\0\0\0\17\212" \
+ "\377\377\377\0\1\0\0\0\15\202\377\377\377\0\202\0\0\0\7\232\377\377\377" \
+ "\0\5)+4\247\233\242\301\377\234\243\302\377\232\241\277\377\225\234\272" \
+ "\377\210\234\243\302\377\3""79D\265\377\377\377\0\0\0\0\17\220\377\377" \
+ "\377\0\1\0\0\0\15\220\377\377\377\0\4\0\0\0\15\0\0\0\3!#*\213\224\233" \
+ "\270\377\205\234\243\302\377\5MQ`\377\233\242\301\377\232\241\277\377" \
+ "\224\233\271\377\224\233\270\377\205\234\243\302\377\2qv\215\365\22\23" \
+ "\26B\203\377\377\377\0\1\0\0\0\17\210\377\377\377\0\2\0\0\0\7\77AO\323" \
+ "\203\234\243\302\377\4\225\234\272\377*+4\254\377\377\377\0\0\0\0\16" \
+ "\220\377\377\377\0\2\0\0\0\13\0\0\0\4\211\377\377\377\0\2\0\0\0\1\0\0" \
+ "\0\14\202\377\377\377\0\1\0\0\0\16\233\377\377\377\0\2\23\24\27Ny\177" \
+ "\227\372\202\234\243\302\377\1\224\232\270\377\210\234\243\302\377\4" \
+ "DGU\323\377\377\377\0\0\0\0\6\0\0\0\12\217\377\377\377\0\1\0\0\0\15\217" \
+ "\377\377\377\0\4\0\0\0\4\0\0\0\14\377\377\377\0""02<\264\206\234\243" \
+ "\302\377\5lq\205\377u{\222\377\225\233\271\377\232\241\300\377\224\232" \
+ "\270\377\205\234\243\302\377\2\233\242\301\377+-6\253\203\377\377\377" \
+ "\0\2\0\0\0\4\0\0\0\14\207\377\377\377\0\2\40\"'\217\211\217\251\375\202" \
+ "\234\243\302\377\5\230\237\275\37758C\312\0\0\0\17\377\377\377\0\0\0" \
+ "\0\16\217\377\377\377\0\2\0\0\0\3\0\0\0\16\212\377\377\377\0\2\0\0\0" \
+ "\11\0\0\0\4\202\377\377\377\0\1\0\0\0\16\233\377\377\377\0\2\0\0\0\5" \
+ "EHV\330\202\234\243\302\377\2\225\234\272\377\231\240\276\377\207\234" \
+ "\243\302\377\5ty\220\366\21\22\25D\377\377\377\0\0\0\0\13\0\0\0\6\216" \
+ "\377\377\377\0\1\0\0\0\15\216\377\377\377\0\5\0\0\0\2\0\0\0\17\377\377" \
+ "\377\0\0\0\0\11KN]\332\206\234\243\302\377\6\232\241\300\377HKY\377\224" \
+ "\232\270\377\234\243\302\377\227\235\273\377\230\237\275\377\205\234" \
+ "\243\302\377\2ILZ\332\0\0\0\12\203\377\377\377\0\2\0\0\0\11\0\0\0\10" \
+ "\205\377\377\377\0\2\36!&fko\204\355\202\234\243\302\377\3\230\237\275" \
+ "\37778D\314\0\0\0\23\202\377\377\377\0\1\0\0\0\16\216\377\377\377\0\2" \
+ "\0\0\0\1\0\0\0\20\213\377\377\377\0\1\0\0\0\16\202\377\377\377\0\2\0" \
+ "\0\0\5\0\0\0\11\234\377\377\377\0\2*,4\247\227\236\274\377\202\234\243" \
+ "\302\377\1\223\232\267\377\207\234\243\302\377\2\233\242\301\377,.6\252" \
+ "\202\377\377\377\0\2\0\0\0\16\0\0\0\3\215\377\377\377\0\1\0\0\0\15\216" \
+ "\377\377\377\0\5\0\0\0\20\0\0\0\1\377\377\377\0\33\34\"k\207\215\250" \
+ "\376\207\234\243\302\377\2RVg\377\210\217\251\377\202\234\243\302\377" \
+ "\1\223\232\267\377\205\234\243\302\377\2\220\226\263\377')1\233\204\377" \
+ "\377\377\0\2\0\0\0\15\0\0\0\4\203\377\377\377\0\2\26\32\40PY]o\343\202" \
+ "\234\243\302\377\3x~\226\365-08\265\14\14\14\25\203\377\377\377\0\1\0" \
+ "\0\0\16\216\377\377\377\0\2\0\0\0\17\0\0\0\2\212\377\377\377\0\2\0\0" \
+ "\0\10\0\0\0\5\202\377\377\377\0\2\0\0\0\17\0\0\0\1\234\377\377\377\0" \
+ "\2\5\5\6\33TXi\341\202\234\243\302\377\2\227\235\273\377\230\237\275" \
+ "\377\207\234\243\302\377\2JM\\\331\0\0\0\11\202\377\377\377\0\2\0\0\0" \
+ "\17\0\0\0\4\214\377\377\377\0\1\0\0\0\15\214\377\377\377\0\3\0\0\0\1" \
+ "\0\0\0\20\0\0\0\3\202\377\377\377\0\1""57B\272\207\234\243\302\377\3" \
+ "\233\242\301\377\212\220\254\377PSc\377\202\234\243\302\377\2\230\237" \
+ "\275\377\227\235\273\377\205\234\243\302\377\2ej~\353\30\31\36>\204\377" \
+ "\377\377\0\11\0\0\0\16\0\0\0\5\0\0\0\1!#)\212bg{\351\233\242\300\377" \
+ "ty\220\366>@L\317\37\37$d\205\377\377\377\0\1\0\0\0\16\215\377\377\377" \
+ "\0\2\0\0\0\16\0\0\0\5\213\377\377\377\0\1\0\0\0\15\202\377\377\377\0" \
+ "\2\0\0\0\4\0\0\0\14\236\377\377\377\0\2&'/\227\222\231\266\377\202\234" \
+ "\243\302\377\1\223\232\267\377\207\234\243\302\377\2\207\215\250\375" \
+ "\31\32\37k\203\377\377\377\0\2\0\0\0\16\0\0\0\7\213\377\377\377\0\1\0" \
+ "\0\0\15\213\377\377\377\0\3\0\0\0\3\0\0\0\20\0\0\0\2\202\377\377\377" \
+ "\0\2\0\0\0\30Z^p\347\207\234\243\302\377\4\224\233\270\377\232\241\300" \
+ "\377MQ`\377\224\232\270\377\202\234\243\302\377\1\223\232\267\377\206" \
+ "\234\243\302\377\2""8:F\312\0\0\0\5\204\377\377\377\0\7\0\0\0\14\21\21" \
+ "\24\233*,4\327;>H\276+,5\250\23\23\27C\0\0\0\1\206\377\377\377\0\1\0" \
+ "\0\0\16\213\377\377\377\0\3\0\0\0\2\0\0\0\20\0\0\0\3\213\377\377\377" \
+ "\0\2\0\0\0\12\0\0\0\4\202\377\377\377\0\2\0\0\0\17\0\0\0\1\236\377\377" \
+ "\377\0\2\0\0\0\17HLZ\330\202\234\243\302\377\2\230\237\275\377\227\235" \
+ "\273\377\207\234\243\302\377\1""46A\270\204\377\377\377\0\2\0\0\0\12" \
+ "\0\0\0\13\212\377\377\377\0\1\0\0\0\15\212\377\377\377\0\2\0\0\0\7\0" \
+ "\0\0\16\204\377\377\377\0\2#$+\212\222\231\266\377\206\234\243\302\377" \
+ "\5\232\241\300\377\224\233\270\377\234\243\302\377\207\215\250\377VZ" \
+ "l\376\202\234\243\302\377\2\231\240\276\377\225\234\272\377\205\234\243" \
+ "\302\377\2\214\222\256\376%'.\217\205\377\377\377\0\2\0\0\0\11\0\0\0" \
+ "\15\212\377\377\377\0\1\0\0\0\16\212\377\377\377\0\3\0\0\0\6\0\0\0\17" \
+ "\0\0\0\1\213\377\377\377\0\2\0\0\0\1\0\0\0\15\202\377\377\377\0\2\0\0" \
+ "\0\6\0\0\0\12\240\377\377\377\0\2!\")\203\213\221\255\375\202\234\243" \
+ "\302\377\2\224\232\270\377\232\241\300\377\206\234\243\302\377\2jo\204" \
+ "\355\25\26\32@\204\377\377\377\0\3\0\0\0\5\0\0\0\17\0\0\0\10\210\377" \
+ "\377\377\0\1\0\0\0\15\210\377\377\377\0\3\0\0\0\5\0\0\0\17\0\0\0\10\204" \
+ "\377\377\377\0\2\0\0\0\15FIW\325\207\234\243\302\377\6\222\231\266\377" \
+ "\233\242\301\377\234\243\302\377\233\242\301\377&(/\347\214\223\257\377" \
+ "\202\234\243\302\377\2\224\233\270\377\231\240\276\377\205\234\243\302" \
+ "\377\2]bt\347\25\26\32""1\205\377\377\377\0\3\0\0\0\4\0\0\0\17\0\0\0" \
+ "\12\210\377\377\377\0\1\0\0\0\16\210\377\377\377\0\3\0\0\0\4\0\0\0\17" \
+ "\0\0\0\12\215\377\377\377\0\2\0\0\0\16\0\0\0\2\202\377\377\377\0\1\0" \
+ "\0\0\17\241\377\377\377\0\2\0\0\0\6>AM\317\202\234\243\302\377\2\233" \
+ "\242\301\377\222\231\266\377\207\234\243\302\377\1""36@\303\206\377\377" \
+ "\377\0\4\0\0\0\7\0\0\0\17\0\0\0\12\0\0\0\2\205\377\377\377\0\1\0\0\0" \
+ "\15\206\377\377\377\0\3\0\0\0\10\0\0\0\17\0\0\0\13\206\377\377\377\0" \
+ "\2$&-\227\222\230\265\377\206\234\243\302\377\2\224\233\270\377\231\240" \
+ "\276\377\202\234\243\302\377\3aex\353\17\17\22""97:E\324\203\234\243" \
+ "\302\377\2\222\231\266\377\233\242\301\377\205\234\243\302\377\2""57" \
+ "B\314\0\0\0\17\206\377\377\377\0\4\0\0\0\5\0\0\0\17\0\0\0\13\0\0\0\2" \
+ "\205\377\377\377\0\1\0\0\0\16\206\377\377\377\0\4\0\0\0\7\0\0\0\17\0" \
+ "\0\0\14\0\0\0\1\215\377\377\377\0\2\0\0\0\13\0\0\0\6\202\377\377\377" \
+ "\0\2\0\0\0\10\0\0\0\7\242\377\377\377\0\2\35\37%Rej~\351\202\234\243" \
+ "\302\377\2\232\241\300\377\223\232\267\377\206\234\243\302\377\2\177" \
+ "\204\236\370\36\40&i\207\377\377\377\0\14\0\0\0\4\0\0\0\15\0\0\0\16\0" \
+ "\0\0\14\0\0\0\11\0\0\0\6\0\0\0\2\0\0\0\15\0\0\0\2\0\0\0\5\0\0\0\10\0" \
+ "\0\0\13\202\0\0\0\16\1\0\0\0\7\207\377\377\377\0\2\10\10\12!W[l\342\206" \
+ "\234\243\302\377\2\226\235\273\377\227\236\274\377\202\234\243\302\377" \
+ "\5\205\213\245\374'(0\223\377\377\377\0\30\31\36Odi}\356\202\234\243" \
+ "\302\377\2\233\242\301\377\222\231\266\377\205\234\243\302\377\3\225" \
+ "\233\271\37702<\312\0\0\0\20\207\377\377\377\0\14\0\0\0\3\0\0\0\14\0" \
+ "\0\0\16\0\0\0\15\0\0\0\11\0\0\0\6\0\0\0\3\0\0\0\16\0\0\0\1\0\0\0\4\0" \
+ "\0\0\10\0\0\0\13\202\0\0\0\16\1\0\0\0\10\217\377\377\377\0\2\0\0\0\7" \
+ "\0\0\0\11\202\377\377\377\0\2\0\0\0\3\0\0\0\16\244\377\377\377\0\2\"" \
+ "#*||\202\233\364\202\234\243\302\377\2\230\237\276\377\225\233\271\377" \
+ "\206\234\243\302\377\2@CP\322\0\0\0\10\211\377\377\377\0\11\0\0\0\1\0" \
+ "\0\0\5\0\0\0\10\0\0\0\13\0\0\0\31\0\0\0\14\0\0\0\10\0\0\0\5\0\0\0\2\212" \
+ "\377\377\377\0\2+-5\260\231\240\276\377\205\234\243\302\377\2\230\237" \
+ "\275\377\225\233\271\377\202\234\243\302\377\3\222\231\266\377+-5\265" \
+ "\0\0\0\1\202\377\377\377\0\2$&.\245\215\223\257\377\202\234\243\302\377" \
+ "\2\232\241\277\377\224\232\270\377\205\234\243\302\377\3\225\234\272" \
+ "\37724>\313\0\0\0\22\211\377\377\377\0\11\0\0\0\1\0\0\0\4\0\0\0\7\0\0" \
+ "\0\12\0\0\0\32\0\0\0\14\0\0\0\11\0\0\0\6\0\0\0\3\221\377\377\377\0\2" \
+ "\0\0\0\4\0\0\0\14\202\377\377\377\0\2\0\0\0\1\0\0\0\20\246\377\377\377" \
+ "\0\2&'/\243\215\224\260\375\202\234\243\302\377\2\227\235\273\377\226" \
+ "\235\273\377\205\234\243\302\377\2\215\224\260\377%'.\235\215\377\377" \
+ "\377\0\1\0\0\0\15\215\377\377\377\0\2\35\36$Xnr\210\356\205\234\243\302" \
+ "\377\2\231\240\276\377\224\232\270\377\202\234\243\302\377\3\232\241" \
+ "\277\37758C\313\0\0\0\12\203\377\377\377\0\3\0\0\0\13:<H\322\231\240" \
+ "\276\377\202\234\243\302\377\2\227\236\274\377\225\234\272\377\205\234" \
+ "\243\302\377\3\227\235\273\37736@\314\0\0\0\23\214\377\377\377\0\1\0" \
+ "\0\0\16\224\377\377\377\0\2\0\0\0\3\0\0\0\16\203\377\377\377\0\2\0\0" \
+ "\0\17\0\0\0\2\246\377\377\377\0\3\0\0\0\5-09\276\230\237\275\377\202" \
+ "\234\243\302\377\2\227\236\274\377\225\233\271\377\205\234\243\302\377" \
+ "\2v{\222\363\"#*s\214\377\377\377\0\1\0\0\0\15\214\377\377\377\0\2\23" \
+ "\23\27""0PSc\337\205\234\243\302\377\2\227\236\274\377\225\233\271\377" \
+ "\203\234\243\302\377\2HKY\332\15\15\20\40\205\377\377\377\0\3\33\35\"" \
+ "ETWh\345\232\241\300\377\202\234\243\302\377\2\230\237\275\377\224\233" \
+ "\270\377\205\234\243\302\377\3\227\236\274\37758B\314\6\7\10\25\213\377" \
+ "\377\377\0\1\0\0\0\16\223\377\377\377\0\2\0\0\0\6\0\0\0\15\203\377\377" \
+ "\377\0\2\0\0\0\14\0\0\0\5\250\377\377\377\0\2\0\0\0\24=\77L\317\203\234" \
+ "\243\302\377\3\231\240\276\377\223\232\267\377\233\242\301\377\204\234" \
+ "\243\302\377\2]bt\347\34\36#G\213\377\377\377\0\1\0\0\0\15\213\377\377" \
+ "\377\0\2\0\0\0\23:=H\322\205\234\243\302\377\2\225\234\272\377\227\235" \
+ "\273\377\203\234\243\302\377\2_dw\346\33\35\"E\207\377\377\377\0\2\35" \
+ "\36$RSWh\345\203\234\243\302\377\3\232\241\277\377\223\232\267\377\233" \
+ "\242\301\377\204\234\243\302\377\3\230\237\275\377CFT\323\35\36$c\212" \
+ "\377\377\377\0\1\0\0\0\16\222\377\377\377\0\2\0\0\0\11\0\0\0\12\203\377" \
+ "\377\377\0\202\0\0\0\11\252\377\377\377\0\3\20\21\24(9;G\314\226\235" \
+ "\273\377\202\234\243\302\377\3\232\241\300\377\223\232\267\377\232\241" \
+ "\277\377\204\234\243\302\377\2EIV\333\17\20\23#\212\377\377\377\0\1\0" \
+ "\0\0\15\212\377\377\377\0\3\0\0\0\6,.6\301\227\235\273\377\204\234\243" \
+ "\302\377\2\224\232\270\377\230\237\276\377\203\234\243\302\377\2TWh\337" \
+ "\40!'[\211\377\377\377\0\3\34\35#SSWh\345\232\241\300\377\202\234\243" \
+ "\302\377\3\233\242\301\377\224\232\270\377\231\240\276\377\205\234\243" \
+ "\302\377\3z\200\230\365.0:\274\20\20\24)\210\377\377\377\0\1\0\0\0\16" \
+ "\221\377\377\377\0\2\0\0\0\14\0\0\0\6\203\377\377\377\0\202\0\0\0\12" \
+ "\254\377\377\377\0\3\0\0\0\20+,5\270\212\220\254\373\203\234\243\302" \
+ "\377\2\224\233\270\377\225\234\272\377\203\234\243\302\377\3\232\241" \
+ "\277\377BER\332\35\36$F\211\377\377\377\0\1\0\0\0\15\211\377\377\377" \
+ "\0\3\5\5\6\32.09\305\216\224\261\376\203\234\243\302\377\3\227\236\274" \
+ "\377\223\232\267\377\232\241\300\377\202\234\243\302\377\3\227\236\274" \
+ "\377=@L\322\24\25\31""2\213\377\377\377\0\3\35\36$RTWh\345\230\237\276" \
+ "\377\203\234\243\302\377\202\225\233\271\377\1\233\242\301\377\204\234" \
+ "\243\302\377\4\232\241\300\377Y]o\346%'.\231\0\0\0\12\206\377\377\377" \
+ "\0\1\0\0\0\16\217\377\377\377\0\3\0\0\0\5\0\0\0\16\0\0\0\3\203\377\377" \
+ "\377\0\2\0\0\0\16\0\0\0\7\256\377\377\377\0\3\0\0\0\3$%,\231w}\224\361" \
+ "\203\234\243\302\377\3\231\240\276\377\223\232\267\377\227\235\273\377" \
+ "\203\234\243\302\377\2^cv\350#%,{\210\377\377\377\0\1\0\0\0\15\210\377" \
+ "\377\377\0\3\34\36#GCFS\331\230\237\276\377\202\234\243\302\377\3\230" \
+ "\237\276\377\223\232\267\377\227\236\274\377\203\234\243\302\377\3\215" \
+ "\223\257\376.0:\277\0\0\0\23\215\377\377\377\0\3\36\37%QTXh\344\227\235" \
+ "\273\377\203\234\243\302\377\3\232\241\277\377\223\232\267\377\225\234" \
+ "\272\377\205\234\243\302\377\4\216\224\261\377=@L\325\37\40'|\0\0\0\30" \
+ "\204\377\377\377\0\1\0\0\0\16\215\377\377\377\0\3\0\0\0\21\26\26\33x" \
+ "\3\3\3$\203\377\377\377\0\3\0\0\0\2\0\0\0\20\0\0\0\4\261\377\377\377" \
+ "\0\2\36\40&r_cv\344\204\234\243\302\377\3\230\237\275\377\223\232\267" \
+ "\377\230\237\275\377\202\234\243\302\377\3{\200\231\367)*3\256\5\6\7" \
+ "\30\206\377\377\377\0\1\0\0\0\15\206\377\377\377\0\3\0\0\0\7#%,\207`" \
+ "dw\351\202\234\243\302\377\3\232\241\277\377\224\232\270\377\226\235" \
+ "\273\377\204\234\243\302\377\3z\200\230\365&(/\243\0\0\0\4\217\377\377" \
+ "\377\0\3\31\33\40>58B\313\204\213\245\375\204\234\243\302\377\3\231\240" \
+ "\276\377\223\232\267\377\227\235\273\377\205\234\243\302\377\7\216\224" \
+ "\261\377]as\352>@M\304()1\230\16\17\22;\0\0\0\1\0\0\0\16\212\377\377" \
+ "\377\0\6\0\0\0\24\32\33!g-/8\272ADR\344\34\35#\307\0\0\0\3\202\377\377" \
+ "\377\0\3\0\0\0\4\0\0\0\20\0\0\0\1\263\377\377\377\0\3\27\30\35\77""4" \
+ "6A\302|\202\232\367\204\234\243\302\377\10\227\235\273\377\224\232\270" \
+ "\377\224\233\270\377\230\237\275\377\225\233\271\377W[l\345-/8\255\21" \
+ "\21\25.\204\377\377\377\0\1\0\0\0\15\204\377\377\377\0\10\0\0\0\23()" \
+ "1\224HLZ\330\213\221\255\377\232\241\277\377\225\233\271\377\224\232" \
+ "\270\377\225\234\272\377\204\234\243\302\377\3\214\223\256\377ADQ\323" \
+ "!\")m\222\377\377\377\0\4\0\0\0\5\"#+\216TXi\345\226\235\273\377\204" \
+ "\234\243\302\377\1\230\237\275\377\202\224\233\270\377\1\230\237\275" \
+ "\377\205\234\243\302\377\27\230\237\276\377rw\216\366EHV\324,.7\261#" \
+ "%,\221\37\40'x\27\30\35X\7\7\11\77\24\25\31R\35\36$j\40!(\200%&.\233" \
+ "35\77\267>AM\322TXh\351~\204\234\376\230\237\275\37703<\311\0\0\0\14" \
+ "\377\377\377\0\0\0\0\2\0\0\0\15\0\0\0\13\267\377\377\377\0\3\35\36$`" \
+ "=\77L\314\210\216\251\374\205\234\243\302\377\1\227\236\274\377\202\224" \
+ "\232\270\377\21\225\233\271\377afz\35657B\276)+3\242\40\"(|\13\13\16" \
+ "@\0\0\0%\4\5\6""3\36\37%m&(/\23313=\264QUf\343\216\225\261\377\224\233" \
+ "\270\377\224\232\270\377\226\235\273\377\233\242\301\377\204\234\243" \
+ "\302\377\4\224\233\270\377LP_\334$&-\211\0\0\0\7\225\377\377\377\0\4" \
+ "\17\20\23*.0:\301z\177\230\371\230\237\276\377\205\234\243\302\377\1" \
+ "\230\237\275\377\202\224\232\270\377\3\226\235\273\377\230\237\276\377" \
+ "\232\241\300\377\203\234\243\302\377\23\223\232\267\377\232\241\300\377" \
+ "\217\226\262\377\202\210\242\377w}\225\377|\201\232\377\203\211\243\377" \
+ "\211\216\252\377\222\230\265\377\225\234\272\377\232\241\300\377\234" \
+ "\243\302\377{\201\231\366.09\272\5\5\7\31\0\0\0\1\0\0\0\14\0\0\0\15\0" \
+ "\0\0\1\271\377\377\377\0\4\0\0\0\3\"$*zHKY\326\221\230\265\377\206\234" \
+ "\243\302\377\15\231\240\276\377\227\235\273\377\225\233\271\377\224\233" \
+ "\270\377\211\217\253\377tx\217\375W[m\356ms\211\371\203\212\243\377\223" \
+ "\232\267\377\224\233\270\377\226\235\273\377\230\237\276\377\206\234" \
+ "\243\302\377\4\231\240\276\377Y]n\345(*2\236\0\0\0\21\230\377\377\377" \
+ "\0\5\0\0\0\1!\")uCFS\331~\203\235\375\232\241\277\377\206\234\243\302" \
+ "\377\3\231\240\276\377\227\236\274\377\225\234\272\377\203\224\233\270" \
+ "\377\1\214\222\256\377\204\224\233\270\377\3\226\235\273\377\230\237" \
+ "\275\377\233\242\301\377\202\234\243\302\377\7\224\233\270\377EHV\332" \
+ "\36\40&k\377\377\377\0\0\0\0\12\0\0\0\16\0\0\0\3\275\377\377\377\0\5" \
+ "\0\0\0\13$%-\214:<H\305\\`r\351\217\226\262\377\211\234\243\302\377\1" \
+ "\224\232\270\377\211\234\243\302\377\5\227\235\273\377ko\205\362>AM\317" \
+ "()1\244\14\14\17\"\234\377\377\377\0\6\0\0\0\11\30\32\37f/1;\266LO^\341" \
+ "\204\211\243\377\232\241\300\377\211\234\243\302\377\1\223\232\267\377" \
+ "\207\234\243\302\377\4\220\226\263\377UXi\340*+4\252\0\0\0\32\202\0\0" \
+ "\0\16\1\0\0\0\5\302\377\377\377\0\5\0\0\0\33\37\40&~57B\270PTd\336\205" \
+ "\213\246\375\206\234\243\302\377\1\224\232\270\377\206\234\243\302\377" \
+ "\5\217\226\262\377]at\351;=I\303$&-\225\7\10\11""1\242\377\377\377\0" \
+ "\6\0\0\0\15\35\37%q35@\274QTd\346\203\211\242\377\230\237\275\377\206" \
+ "\234\243\302\377\1\223\232\267\377\204\234\243\302\377\7\232\241\300" \
+ "\377mr\207\361;=I\305\37\40'\204\0\0\0\34\0\0\0\15\0\0\0\6\310\377\377" \
+ "\377\0\21\0\0\0\14\27\30\34c\"#*\233+-6\25046@\266;>J\304BER\321KN]\336" \
+ "VZl\350PSc\340CGT\325=@L\30769D\271.09\254%&.\237\35\36${\0\0\0\32\250" \
+ "\377\377\377\0\22\0\0\0\21\35\37%s!#*\236)+4\25624>\272:=H\307ADQ\324" \
+ "IKZ\341\\_r\354gl\201\371]bt\354FIW\333<\77L\31014=\265#%,\240\12\13" \
+ "\15B\0\0\0\14\0\0\0\4\322\377\377\377\0\3\0\0\0\5\0\0\0%\0\0\0\12\266" \
+ "\377\377\377\0\4\0\0\0\3\0\0\0\31\0\0\0=\0\0\0\34\332\377\377\377\0\1" \
+ "\0\0\0\15\271\377\377\377\0\1\0\0\0\16\333\377\377\377\0\1\0\0\0\15\271" \
+ "\377\377\377\0\1\0\0\0\16\333\377\377\377\0\1\0\0\0\15\271\377\377\377" \
+ "\0\1\0\0\0\16\333\377\377\377\0\1\0\0\0\2\271\377\377\377\0\1\0\0\0\2" \
+ "\377\377\377\377\0\377\377\377\377\0\377\377\377\377\0\377\377\377\377" \
+ "\0\305\377\377\377\0\2\225\225\225\30\222\222\222\25\222\377\377\377" \
+ "\0\2\217\217\217\31\214\214\214\24\206\377\377\377\0\2\223\223\223\32" \
+ "\224\224\224\23\215\377\377\377\0\3\231\231\231\5\223\223\223(\377\377" \
+ "\377\1\350\377\377\377\0\2\222\222\222\237\222\222\222\210\222\377\377" \
+ "\377\0\2\222\222\222\241\223\223\223\206\206\377\377\377\0\2\222\222" \
+ "\222\253\222\222\222|\215\377\377\377\0\3\217\217\217\40\222\222\222" \
+ "\377\222\222\222\7\350\377\377\377\0\2\222\222\222\237\222\222\222\210" \
+ "\222\377\377\377\0\2\222\222\222\241\223\223\223\206\206\377\377\377" \
+ "\0\2\222\222\222\253\222\222\222|\215\377\377\377\0\3\217\217\217\40" \
+ "\222\222\222\377\222\222\222\7\264\377\377\377\0\4\0\0\0%\0\0\0}\0\0" \
+ "\0\217\0\0\0R\203\377\377\377\0\6\0\0\0U\0\0\0-\0\0\0W\0\0\0\221\0\0" \
+ "\0s\0\0\0\10\203\377\377\377\0\4\0\0\0;\0\0\0\206\0\0\0\216\0\0\0F\202" \
+ "\377\377\377\0\6\0\0\0\33\0\0\0f\0\0\0\30\0\0\0x\0\0\0\203\0\0\0&\205" \
+ "\377\377\377\0\21\221\221\221%\222\222\222|\222\222\222\223\221\221\221" \
+ "_\377\377\377\1\377\377\377\0\252\252\252\3\222\222\222p\225\225\225" \
+ "\30\221\221\221m\221\221\221\220\222\222\222K\377\377\377\0\223\223\223" \
+ "B\223\223\223\213\222\222\222^\237\237\237\10\202\377\377\377\0\6\222" \
+ "\222\222\237\222\222\222\210\221\221\221H\222\222\222\215\223\223\223" \
+ "}\216\216\216\22\203\377\377\377\0\4\221\221\221,\223\223\223\177\223" \
+ "\223\223\222\223\223\223W\203\377\377\377\0\6\252\252\252\3\223\223\223" \
+ "a\221\221\221\225\222\222\222u\222\222\222\267\223\223\223\206\202\377" \
+ "\377\377\0\6\200\200\200\4\222\222\222e\221\221\221\225\221\221\221r" \
+ "\222\222\222\276\222\222\222|\202\377\377\377\0\5\200\200\200\4\223\223" \
+ "\223a\223\223\223\222\221\221\221\200\225\225\225\35\203\377\377\377" \
+ "\0\6\223\223\223(\223\223\223\204\222\222\222\217\223\223\223h\222\222" \
+ "\222\377\222\222\222\7\263\377\377\377\0\6\0\0\0""5\0\0\0\362\0\0\0\260" \
+ "\0\0\0\205\0\0\0\352\0\0\0\220\202\377\377\377\0\6\0\0\0\304\0\0\0\355" \
+ "\0\0\0\256\0\0\0\222\0\0\0\360\0\0\0\261\202\377\377\377\0\16\0\0\0j" \
+ "\0\0\0\340\0\0\0\203\0\0\0\207\0\0\0\350\0\0\0_\377\377\377\0\0\0\0>" \
+ "\0\0\0\370\0\0\0\327\0\0\0\222\0\0\0\236\0\0\0\375\0\0\0\36\203\377\377" \
+ "\377\0\22\220\220\220>\222\222\222\345\222\222\222\226\222\222\222w\223" \
+ "\223\223\326\222\222\222\224\377\377\377\0\237\237\237\10\222\222\222" \
+ "\377\222\222\222\336\222\222\222\235\223\223\223\222\222\222\222\367" \
+ "\222\222\222\267\222\222\222\311\223\223\223\206\222\222\222\315\221" \
+ "\221\221\254\202\377\377\377\0\16\222\222\222\237\222\222\222\357\222" \
+ "\222\222\303\221\221\221\216\222\222\222\347\222\222\222\323\252\252" \
+ "\252\3\377\377\377\0\222\222\222K\222\222\222\345\221\221\221\220\221" \
+ "\221\221{\222\222\222\334\222\222\222\203\202\377\377\377\0\36\222\222" \
+ "\222\264\222\222\222\357\221\221\221\216\222\222\222\215\222\222\222" \
+ "\350\223\223\223\206\377\377\377\0\377\377\377\1\222\222\222\275\222" \
+ "\222\222\354\223\223\223\213\222\222\222\217\222\222\222\353\222\222" \
+ "\222|\377\377\377\0\200\200\200\2\222\222\222\277\223\223\223\301\222" \
+ "\222\222p\223\223\223\247\222\222\222\352\220\220\220\27\377\377\377" \
+ "\0\222\222\222=\222\222\222\366\222\222\222\302\221\221\221{\223\223" \
+ "\223\265\222\222\222\377\222\222\222\7\263\377\377\377\0\2\0\0\0\270" \
+ "\0\0\0\231\202\377\377\377\0\6\0\0\0""0\0\0\0\375\0\0\0\"\377\377\377" \
+ "\0\0\0\0\304\0\0\0t\202\377\377\377\0\6\0\0\0""5\0\0\0\377\0\0\0$\0\0" \
+ "\0\17\0\0\0\363\0\0\0""2\202\377\377\377\0\6\0\0\0h\0\0\0\324\377\377" \
+ "\377\0\0\0\0>\0\0\0\357\0\0\0\16\202\377\377\377\0\2\0\0\0\275\0\0\0" \
+ "j\203\377\377\377\0\2\222\222\222\316\223\223\223h\202\377\377\377\0" \
+ "\6\224\224\2242\222\222\222\375\225\225\225\14\237\237\237\10\222\222" \
+ "\222\377\221\221\2213\202\377\377\377\0\2\222\222\222\246\222\222\222" \
+ "\253\202\377\377\377\0\6\220\220\220.\222\222\222\360\252\252\252\3\377" \
+ "\377\377\0\222\222\222\237\222\222\222\232\202\377\377\377\0\6\217\217" \
+ "\217\20\222\222\222\375\223\223\223I\377\377\377\0\222\222\222\336\223" \
+ "\223\223W\202\377\377\377\0\6\221\221\221C\222\222\222\366\200\200\200" \
+ "\2\222\222\222K\222\222\222\375\225\225\225\30\202\377\377\377\0\6\222" \
+ "\222\222\241\223\223\223\206\377\377\377\0\223\223\223U\222\222\222\372" \
+ "\226\226\226\21\202\377\377\377\0\6\222\222\222\253\222\222\222|\377" \
+ "\377\377\0\221\221\221]\222\222\222\327\377\377\377\1\202\377\377\377" \
+ "\0\5\223\223\223\301\222\222\222z\377\377\377\0\222\222\222\312\221\221" \
+ "\221\227\202\377\377\377\0\3\217\217\217\40\222\222\222\377\222\222\222" \
+ "\7\263\377\377\377\0\2\0\0\0\354\0\0\0Y\202\377\377\377\0\6\0\0\0\1\0" \
+ "\0\0\353\0\0\0S\377\377\377\0\0\0\0\304\0\0\0c\202\377\377\377\0\5\0" \
+ "\0\0\4\0\0\0\364\0\0\0H\0\0\0=\0\0\0\372\203\0\0\0\300\5\0\0\0\315\0" \
+ "\0\0\366\377\377\377\0\0\0\0>\0\0\0\351\203\377\377\377\0\2\0\0\0\241" \
+ "\0\0\0\221\202\377\377\377\0\3\216\216\216\11\222\222\222\375\222\222" \
+ "\222\307\203\222\222\222\300\5\222\222\222\377\224\224\224+\237\237\237" \
+ "\10\222\222\222\377\224\224\224\37\202\377\377\377\0\2\223\223\223\222" \
+ "\222\222\222\237\202\377\377\377\0\6\224\224\224\23\222\222\222\377\220" \
+ "\220\220\27\377\377\377\0\222\222\222\237\222\222\222\210\203\377\377" \
+ "\377\0\5\222\222\222\322\222\222\222l\225\225\225\30\222\222\222\377" \
+ "\222\222\222\303\202\222\222\222\300\5\222\222\222\304\222\222\222\377" \
+ "\216\216\216\33\222\222\222\201\223\223\223\310\203\377\377\377\0\5\222" \
+ "\222\222\241\223\223\223\206\377\377\377\0\222\222\222\214\222\222\222" \
+ "\275\203\377\377\377\0\5\222\222\222\253\222\222\222|\377\377\377\0\222" \
+ "\222\222\226\223\223\223\344\203\222\222\222\300\5\223\223\223\344\221" \
+ "\221\221\234\231\231\231\5\222\222\222\373\223\223\223I\202\377\377\377" \
+ "\0\3\217\217\217\40\222\222\222\377\222\222\222\7\263\377\377\377\0\2" \
+ "\0\0\0\357\0\0\0W\203\377\377\377\0\5\0\0\0\347\0\0\0V\377\377\377\0" \
+ "\0\0\0\304\0\0\0c\202\377\377\377\0\5\0\0\0\12\0\0\0\370\0\0\0\77\0\0" \
+ "\0B\0\0\0\360\204\0\0\0(\4\0\0\0'\377\377\377\0\0\0\0>\0\0\0\351\203" \
+ "\377\377\377\0\2\0\0\0\236\0\0\0\221\202\377\377\377\0\3\211\211\211" \
+ "\15\222\222\222\377\224\224\224E\204\223\223\223(\4\222\222\222\7\237" \
+ "\237\237\10\222\222\222\377\224\224\224\37\202\377\377\377\0\2\221\221" \
+ "\221\220\222\222\222\237\202\377\377\377\0\6\217\217\217\20\222\222\222" \
+ "\377\220\220\220\27\377\377\377\0\222\222\222\237\222\222\222\210\203" \
+ "\377\377\377\0\5\222\222\222\333\222\222\222b\225\225\225\35\222\222" \
+ "\222\377\220\220\2207\204\223\223\223(\3\231\231\231\5\222\222\222\214" \
+ "\222\222\222\270\203\377\377\377\0\5\222\222\222\241\223\223\223\206" \
+ "\377\377\377\0\222\222\222\226\223\223\223\256\203\377\377\377\0\5\222" \
+ "\222\222\253\222\222\222|\377\377\377\0\222\222\222\233\222\222\222\244" \
+ "\204\223\223\223(\4\217\217\217\31\213\213\213\13\222\222\222\377\221" \
+ "\221\221:\202\377\377\377\0\3\217\217\217\40\222\222\222\377\222\222" \
+ "\222\7\263\377\377\377\0\2\0\0\0\300\0\0\0\235\202\377\377\377\0\6\0" \
+ "\0\0,\0\0\0\377\0\0\0(\377\377\377\0\0\0\0\304\0\0\0c\202\377\377\377" \
+ "\0\6\0\0\0M\0\0\0\370\0\0\0\25\0\0\0\24\0\0\0\371\0\0\0""8\203\377\377" \
+ "\377\0\4\0\0\0\11\377\377\377\0\0\0\0>\0\0\0\351\203\377\377\377\0\2" \
+ "\0\0\0\236\0\0\0\221\203\377\377\377\0\2\222\222\222\330\222\222\222" \
+ "n\203\377\377\377\0\5\237\237\237\10\377\377\377\1\237\237\237\10\222" \
+ "\222\222\377\224\224\224\37\202\377\377\377\0\2\221\221\221\220\222\222" \
+ "\222\237\202\377\377\377\0\6\217\217\217\20\222\222\222\377\220\220\220" \
+ "\27\377\377\377\0\222\222\222\237\222\222\222\210\202\377\377\377\0\6" \
+ "\222\222\222#\222\222\222\377\222\222\222/\377\377\377\0\222\222\222" \
+ "\350\221\221\221]\203\377\377\377\0\5\216\216\216\11\377\377\377\0\222" \
+ "\222\222e\222\222\222\361\252\252\252\3\202\377\377\377\0\6\222\222\222" \
+ "\253\223\223\223\206\377\377\377\0\223\223\223o\222\222\222\351\377\377" \
+ "\377\1\202\377\377\377\0\6\223\223\223\265\222\222\222|\377\377\377\0" \
+ "\223\223\223h\222\222\222\327\222\222\222\7\203\377\377\377\0\4\216\216" \
+ "\216\11\377\377\377\0\222\222\222\343\223\223\223v\202\377\377\377\0" \
+ "\3\222\222\222*\222\222\222\377\222\222\222\7\263\377\377\377\0\6\0\0" \
+ "\0>\0\0\0\365\0\0\0\245\0\0\0u\0\0\0\337\0\0\0\236\202\377\377\377\0" \
+ "\6\0\0\0\304\0\0\0\321\0\0\0z\0\0\0\227\0\0\0\365\0\0\0}\202\377\377" \
+ "\377\0\11\0\0\0w\0\0\0\356\0\0\0\201\0\0\0e\0\0\0\225\0\0\0\305\377\377" \
+ "\377\0\0\0\0>\0\0\0\351\203\377\377\377\0\2\0\0\0\236\0\0\0\221\203\377" \
+ "\377\377\0\6\221\221\221H\222\222\222\363\222\222\222\224\223\223\223" \
+ "c\222\222\222\210\222\222\222\341\202\237\237\237\10\2\222\222\222\377" \
+ "\224\224\224\37\202\377\377\377\0\2\221\221\221\220\222\222\222\237\202" \
+ "\377\377\377\0\12\217\217\217\20\222\222\222\377\220\220\220\27\377\377" \
+ "\377\0\222\222\222\237\222\222\222\327\223\223\223q\222\222\222z\222" \
+ "\222\222\342\223\223\223\247\202\377\377\377\0&\221\221\221V\222\222" \
+ "\222\363\221\221\221\216\223\223\223c\222\222\222\214\222\222\222\337" \
+ "\377\377\377\0\225\225\225\14\222\222\222\347\223\223\223\326\222\222" \
+ "\222|\222\222\222\267\222\222\222\366\223\223\223\206\377\377\377\0\226" \
+ "\226\226\21\222\222\222\354\222\222\222\322\221\221\221{\222\222\222" \
+ "\274\222\222\222\366\222\222\222|\377\377\377\0\231\231\231\5\222\222" \
+ "\222\312\222\222\222\313\221\221\221k\221\221\221r\221\221\221\263\221" \
+ "\221\221y\377\377\377\0\223\223\223q\222\222\222\372\222\222\222\233" \
+ "\221\221\221\211\222\222\222\341\222\222\222\377\222\222\222\7\264\377" \
+ "\377\377\0\5\0\0\0""0\0\0\0\215\0\0\0\237\0\0\0b\0\0\0\1\202\377\377" \
+ "\377\0\5\0\0\0\304\0\0\0\220\0\0\0\211\0\0\0\220\0\0\0J\204\377\377\377" \
+ "\0\10\0\0\0\77\0\0\0\211\0\0\0\237\0\0\0\200\0\0\0-\377\377\377\0\0\0" \
+ "\0\37\0\0\0t\203\377\377\377\0\2\0\0\0O\0\0\0H\204\377\377\377\0\11\224" \
+ "\224\224&\222\222\222\201\222\222\222\237\222\222\222\212\223\223\223" \
+ "B\377\377\377\0\200\200\200\4\221\221\221\200\231\231\231\17\202\377" \
+ "\377\377\0\2\221\221\221H\221\221\221O\202\377\377\377\0\12\237\237\237" \
+ "\10\221\221\221\200\213\213\213\13\377\377\377\0\221\221\221O\221\221" \
+ "\221d\222\222\222\214\222\222\222\244\223\223\223j\252\252\252\3\203" \
+ "\377\377\377\0\5\220\220\220.\223\223\223\204\222\222\222\237\221\221" \
+ "\221\207\223\223\223;\202\377\377\377\0\6\223\223\223!\222\222\222\221" \
+ "\222\222\222\232\224\224\224L\223\223\223P\221\221\221C\202\377\377\377" \
+ "\0\6\224\224\224&\222\222\222\223\222\222\222\230\223\223\223G\223\223" \
+ "\223U\220\220\220>\202\377\377\377\0\6\231\231\231\5\222\222\222e\221" \
+ "\221\221\225\222\222\222\230\222\222\222i\216\216\216\22\202\377\377" \
+ "\377\0\6\222\222\222b\222\222\222\242\222\222\222~\221\221\221%\221\221" \
+ "\221\200\252\252\252\3\273\377\377\377\0\2\0\0\0\304\0\0\0c\377\377\377" \
+ "\377\0\225\377\377\377\0\2\0\0\0\304\0\0\0c\354\377\377\377\0")
+
+
diff --git a/packages/psplash/psplash_svn.bb b/packages/psplash/psplash_svn.bb
index f5e2195e82..e2bdbce4b7 100644
--- a/packages/psplash/psplash_svn.bb
+++ b/packages/psplash/psplash_svn.bb
@@ -3,9 +3,15 @@ SECTION = "base"
LICENSE = "GPL"
PV = "0.0+svn${SRCDATE}"
+PR = "r1"
+
+# You can create your own pslash-hand-img.h by doing
+# ./make-image-header.sh <file>.png HAND
+# and rename the resulting .h to pslash-hand-img.h
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
- file://psplash-init"
+ file://psplash-hand-img.h \
+ file://psplash-init"
S = "${WORKDIR}/psplash"
@@ -13,6 +19,10 @@ inherit autotools pkgconfig update-rc.d
FILES_${PN} += "/mnt/.psplash"
+do_configure_append() {
+ cp ${WORKDIR}/psplash-hand-img.h ${S}/
+}
+
do_install_prepend() {
install -d ${D}/mnt/.psplash/
install -d ${D}${sysconfdir}/init.d/
diff --git a/packages/python/python-2.4.3-manifest.inc b/packages/python/python-2.4.3-manifest.inc
index 3a460e562a..ad73cb9451 100644
--- a/packages/python/python-2.4.3-manifest.inc
+++ b/packages/python/python-2.4.3-manifest.inc
@@ -1,5 +1,5 @@
########################################################################################################################
-### AUTO-GENERATED by './generate-oe.py' [(C) 2002-2006 Michael 'Mickey' Lauer <mickey@Vanille.de>] on Fri Aug 25 15:00:35 2006
+### AUTO-GENERATED by '/local/pkg/oe/org.openembedded.dev/contrib/python/generate-manifest.py' [(C) 2002-2006 Michael 'Mickey' Lauer <mickey@Vanille.de>] on Sat Oct 14 21:22:20 2006
###
### Visit THE Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy
###
@@ -18,9 +18,9 @@ RDEPENDS_python-profile="python-core"
FILES_python-profile="${libdir}/python2.4/profile.* ${libdir}/python2.4/pstats.* "
DESCRIPTION_python-threading="Python Threading & Synchronization Support"
-PR_python-threading="ml0"
+PR_python-threading="ml1"
RDEPENDS_python-threading="python-core python-lang"
-FILES_python-threading="${libdir}/python2.4/_threading_local.* ${libdir}/python2.4/bisect.* ${libdir}/python2.4/dummy_thread.* ${libdir}/python2.4/dummy_threading.* ${libdir}/python2.4/mutex.* ${libdir}/python2.4/threading.* ${libdir}/python2.4/Queue.* "
+FILES_python-threading="${libdir}/python2.4/_threading_local.* ${libdir}/python2.4/dummy_thread.* ${libdir}/python2.4/dummy_threading.* ${libdir}/python2.4/mutex.* ${libdir}/python2.4/threading.* ${libdir}/python2.4/Queue.* "
DESCRIPTION_python-distutils="Python Distribution Utilities"
PR_python-distutils="ml0"
@@ -258,9 +258,9 @@ RDEPENDS_python-idle="python-core python-tkinter"
FILES_python-idle="/usr/bin/idle /usr/lib/python2.4/idlelib "
DESCRIPTION_python-lang="Python Low-Level Language Support"
-PR_python-lang="ml0"
+PR_python-lang="ml1"
RDEPENDS_python-lang="python-core"
-FILES_python-lang="${libdir}/python2.4/lib-dynload/array.so ${libdir}/python2.4/lib-dynload/parser.so ${libdir}/python2.4/lib-dynload/operator.so ${libdir}/python2.4/lib-dynload/_weakref.so ${libdir}/python2.4/lib-dynload/itertools.so ${libdir}/python2.4/lib-dynload/collections.so ${libdir}/python2.4/atexit.* ${libdir}/python2.4/code.* ${libdir}/python2.4/codeop.* ${libdir}/python2.4/dis.* ${libdir}/python2.4/inspect.* ${libdir}/python2.4/keyword.* ${libdir}/python2.4/opcode.* ${libdir}/python2.4/repr.* ${libdir}/python2.4/token.* ${libdir}/python2.4/tokenize.* ${libdir}/python2.4/traceback.* ${libdir}/python2.4/linecache.* ${libdir}/python2.4/weakref.* "
+FILES_python-lang="${libdir}/python2.4/lib-dynload/array.so ${libdir}/python2.4/lib-dynload/parser.so ${libdir}/python2.4/lib-dynload/operator.so ${libdir}/python2.4/lib-dynload/_weakref.so ${libdir}/python2.4/lib-dynload/itertools.so ${libdir}/python2.4/lib-dynload/collections.so ${libdir}/python2.4/lib-dynload/_bisect.so ${libdir}/python2.4/lib-dynload/_heapq.so ${libdir}/python2.4/atexit.* ${libdir}/python2.4/bisect.* ${libdir}/python2.4/code.* ${libdir}/python2.4/codeop.* ${libdir}/python2.4/dis.* ${libdir}/python2.4/heapq.* ${libdir}/python2.4/inspect.* ${libdir}/python2.4/keyword.* ${libdir}/python2.4/opcode.* ${libdir}/python2.4/repr.* ${libdir}/python2.4/token.* ${libdir}/python2.4/tokenize.* ${libdir}/python2.4/traceback.* ${libdir}/python2.4/linecache.* ${libdir}/python2.4/weakref.* "
DESCRIPTION_python-audio="Python Audio Handling"
PR_python-audio="ml0"
diff --git a/packages/python/python-dbus/cross.patch b/packages/python/python-dbus/cross.patch
deleted file mode 100644
index 6d1d9d8e7e..0000000000
--- a/packages/python/python-dbus/cross.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- dbus-0.20/configure.in~cross
-+++ dbus-0.20/configure.in
-@@ -466,6 +466,7 @@
- exit (0);
- ]])],
- [have_abstract_sockets=yes],
-+ [have_abstract_sockets=no],
- [have_abstract_sockets=no])
- AC_LANG_POP(C)
- AC_MSG_RESULT($have_abstract_sockets)
diff --git a/packages/python/python-dbus/gettext.patch b/packages/python/python-dbus/gettext.patch
deleted file mode 100644
index 7042bd0903..0000000000
--- a/packages/python/python-dbus/gettext.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-Index: dbus-0.23/configure.in
-===================================================================
---- dbus-0.23.orig/configure.in 2005-04-02 17:14:37.780040976 -0500
-+++ dbus-0.23/configure.in 2005-04-02 17:14:38.024003888 -0500
-@@ -22,6 +22,9 @@
- AC_ISC_POSIX
- AC_HEADER_STDC
-
-+AM_GNU_GETTEXT_VERSION(0.11.5)
-+AM_GNU_GETTEXT([external], [need-ngettext])
-+
- AC_ARG_ENABLE(qt, [ --enable-qt enable Qt-friendly client library],enable_qt=$enableval,enable_qt=auto)
- AC_ARG_ENABLE(glib, [ --enable-glib enable GLib-friendly client library],enable_glib=$enableval,enable_glib=auto)
- AC_ARG_ENABLE(gtk, [ --enable-gtk enable GTK-requiring executables],enable_gtk=$enableval,enable_gtk=auto)
-Index: dbus-0.23/glib/Makefile.am
-===================================================================
---- dbus-0.23.orig/glib/Makefile.am 2004-07-29 04:00:45.000000000 -0400
-+++ dbus-0.23/glib/Makefile.am 2005-04-02 17:22:27.302662688 -0500
-@@ -15,7 +15,7 @@
- dbus-gvalue.c \
- dbus-gvalue.h
-
--libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(top_builddir)/dbus/libdbus-1.la
-+libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(LIBINTL) $(top_builddir)/dbus/libdbus-1.la
- ## don't export symbols that start with "_" (we use this
- ## convention for internal symbols)
- libdbus_glib_1_la_LDFLAGS= -export-symbols-regex "^[^_].*"
-Index: dbus-0.23/glib/dbus-glib-tool.c
-===================================================================
---- dbus-0.23.orig/glib/dbus-glib-tool.c 2004-08-09 23:07:00.000000000 -0400
-+++ dbus-0.23/glib/dbus-glib-tool.c 2005-04-02 17:14:38.024003888 -0500
-@@ -26,8 +26,13 @@
- #include "dbus-gparser.h"
- #include "dbus-gutils.h"
- #include <locale.h>
-+
-+#ifdef HAVE_GETTEXT
- #include <libintl.h>
- #define _(x) dgettext (GETTEXT_PACKAGE, x)
-+#else
-+#define _(x) x
-+#endif
- #define N_(x) x
- #include <stdio.h>
- #include <stdlib.h>
-Index: dbus-0.23/glib/dbus-glib.c
-===================================================================
---- dbus-0.23.orig/glib/dbus-glib.c 2004-08-09 23:07:00.000000000 -0400
-+++ dbus-0.23/glib/dbus-glib.c 2005-04-02 17:14:38.024003888 -0500
-@@ -27,8 +27,12 @@
- #include "dbus-gtest.h"
- #include "dbus-gutils.h"
-
-+#ifdef HAVE_GETTEXT
- #include <libintl.h>
- #define _(x) dgettext (GETTEXT_PACKAGE, x)
-+#else
-+#define _(x) x
-+#endif
- #define N_(x) x
-
- /**
-Index: dbus-0.23/glib/dbus-gmain.c
-===================================================================
---- dbus-0.23.orig/glib/dbus-gmain.c 2004-11-13 02:07:47.000000000 -0500
-+++ dbus-0.23/glib/dbus-gmain.c 2005-04-02 17:14:38.025003736 -0500
-@@ -27,8 +27,12 @@
- #include "dbus-gtest.h"
- #include "dbus-gutils.h"
-
-+#ifdef HAVE_GETTEXT
- #include <libintl.h>
- #define _(x) dgettext (GETTEXT_PACKAGE, x)
-+#else
-+#define _(x) x
-+#endif
- #define N_(x) x
-
- /**
-Index: dbus-0.23/glib/dbus-gparser.c
-===================================================================
---- dbus-0.23.orig/glib/dbus-gparser.c 2004-08-09 23:07:00.000000000 -0400
-+++ dbus-0.23/glib/dbus-gparser.c 2005-04-02 17:14:38.025003736 -0500
-@@ -20,12 +20,18 @@
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-+
-+#include <config.h>
- #include "dbus-gparser.h"
- #include "dbus-gidl.h"
- #include <string.h>
-
-+#ifdef HAVE_GETTEXT
- #include <libintl.h>
- #define _(x) gettext ((x))
-+#else
-+#define _(x) x
-+#endif
- #define N_(x) x
-
- #ifndef DOXYGEN_SHOULD_SKIP_THIS
-Index: dbus-0.23/tools/Makefile.am
-===================================================================
---- dbus-0.23.orig/tools/Makefile.am 2004-04-21 17:29:07.000000000 -0400
-+++ dbus-0.23/tools/Makefile.am 2005-04-02 17:22:00.712704976 -0500
-@@ -37,8 +37,8 @@
-
- dbus_send_LDADD= $(top_builddir)/dbus/libdbus-1.la
- dbus_monitor_LDADD= $(top_builddir)/glib/libdbus-glib-1.la
--dbus_launch_LDADD= $(DBUS_X_LIBS)
--dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
-+dbus_launch_LDADD= $(DBUS_X_LIBS) $(LIBINTL)
-+dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(LIBINTL) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
-
- man_MANS = dbus-send.1 dbus-monitor.1 dbus-launch.1 dbus-cleanup-sockets.1
- EXTRA_DIST = $(man_MANS)
-Index: dbus-0.23/tools/dbus-launch.c
-===================================================================
---- dbus-0.23.orig/tools/dbus-launch.c 2004-08-09 23:07:01.000000000 -0400
-+++ dbus-0.23/tools/dbus-launch.c 2005-04-02 17:14:38.026003584 -0500
-@@ -22,6 +22,8 @@
- */
- #include <config.h>
- #include <stdlib.h>
-+#include <sys/time.h>
-+#include <sys/types.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <signal.h>
-Index: dbus-0.23/tools/dbus-tree-view.c
-===================================================================
---- dbus-0.23.orig/tools/dbus-tree-view.c 2004-08-09 23:07:01.000000000 -0400
-+++ dbus-0.23/tools/dbus-tree-view.c 2005-04-02 17:14:38.026003584 -0500
-@@ -24,8 +24,12 @@
- #include <config.h>
- #include "dbus-tree-view.h"
-
-+#ifdef HAVE_GETTEXT
- #include <libintl.h>
- #define _(x) dgettext (GETTEXT_PACKAGE, x)
-+#else
-+#define _(x) x
-+#endif
- #define N_(x) x
-
- enum
-Index: dbus-0.23/tools/dbus-viewer.c
-===================================================================
---- dbus-0.23.orig/tools/dbus-viewer.c 2004-08-09 23:07:01.000000000 -0400
-+++ dbus-0.23/tools/dbus-viewer.c 2005-04-02 17:14:38.027003432 -0500
-@@ -30,8 +30,12 @@
- #include <glib/dbus-gparser.h>
- #include <glib/dbus-gutils.h>
-
-+#ifdef HAVE_GETTEXT
- #include <libintl.h>
- #define _(x) dgettext (GETTEXT_PACKAGE, x)
-+#else
-+#define _(x) x
-+#endif
- #define N_(x) x
-
- typedef struct
diff --git a/packages/python/python-dbus/tmpdir.patch b/packages/python/python-dbus/tmpdir.patch
deleted file mode 100644
index 838b903f0a..0000000000
--- a/packages/python/python-dbus/tmpdir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- dbus-0.22/configure.in.orig 2004-08-13 00:57:16.000000000 +0200
-+++ dbus-0.22/configure.in 2004-12-30 21:15:57.000000000 +0100
-@@ -1047,15 +1048,18 @@
- AC_SUBST(ABSOLUTE_TOP_BUILDDIR)
-
- #### Find socket directories
--if ! test -z "$TMPDIR" ; then
-- DEFAULT_SOCKET_DIR=$TMPDIR
--elif ! test -z "$TEMP" ; then
-- DEFAULT_SOCKET_DIR=$TEMP
--elif ! test -z "$TMP" ; then
-- DEFAULT_SOCKET_DIR=$TMP
--else
-- DEFAULT_SOCKET_DIR=/tmp
--fi
-+#if ! test -z "$TMPDIR" ; then
-+# DEFAULT_SOCKET_DIR=$TMPDIR
-+#elif ! test -z "$TEMP" ; then
-+# DEFAULT_SOCKET_DIR=$TEMP
-+#elif ! test -z "$TMP" ; then
-+# DEFAULT_SOCKET_DIR=$TMP
-+#else
-+# DEFAULT_SOCKET_DIR=/tmp
-+#fi
-+
-+# checks disabled to avoid expanding this at build time
-+DEFAULT_SOCKET_DIR=/tmp
-
- if ! test -z "$with_test_socket_dir" ; then
- TEST_SOCKET_DIR="$with_test_socket_dir"
diff --git a/packages/python/python-dbus_0.23.bb b/packages/python/python-dbus_0.23.bb
deleted file mode 100644
index cb208d6338..0000000000
--- a/packages/python/python-dbus_0.23.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Python bindings for DBus, a socket-based message bus system for interprocess communication"
-SECTION = "devel/python"
-HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
-LICENSE = "GPL"
-DEPENDS = "expat glib-2.0 virtual/libintl python-pyrex-native python"
-RDEPENDS = "dbus"
-PR = "ml1"
-
-SRC_URI = "http://freedesktop.org/software/dbus/releases/dbus-${PV}.tar.gz \
- file://cross.patch;patch=1 \
- file://tmpdir.patch;patch=1 \
- file://gettext.patch;patch=1"
-S = "${WORKDIR}/dbus-${PV}"
-
-inherit autotools pkgconfig gettext
-
-EXTRA_OECONF = "--disable-qt --disable-gtk --disable-tests \
- --disable-checks --disable-xml-docs --disable-doxygen-docs \
- --with-xml=expat --without-x --enable-python"
-
-FILES_${PN} = "${libdir}/python2.4/site-packages/dbus.* ${libdir}/python2.4/site-packages/dbus_bindings.so"
-
diff --git a/packages/python/python-dbus_0.71.bb b/packages/python/python-dbus_0.71.bb
new file mode 100644
index 0000000000..2ef0ffa8dd
--- /dev/null
+++ b/packages/python/python-dbus_0.71.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Python bindings for DBus, a socket-based message bus system for interprocess communication"
+SECTION = "devel/python"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+LICENSE = "GPL"
+DEPENDS = "expat glib-2.0 virtual/libintl python-pyrex-native python"
+RDEPENDS = "dbus"
+PR = "ml0"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz"
+S = "${WORKDIR}/dbus-python-${PV}"
+
+inherit distutils
+
diff --git a/packages/python/python-native_2.4.0.bb b/packages/python/python-native_2.4.0.bb
index 18b890203f..ff4fb14b37 100644
--- a/packages/python/python-native_2.4.0.bb
+++ b/packages/python/python-native_2.4.0.bb
@@ -4,7 +4,7 @@ LICENSE = "PSF"
SECTION = "devel/python"
PRIORITY = "optional"
DEPENDS = ""
-PR = "r1"
+PR = "r2"
EXCLUDE_FROM_WORLD = "1"
@@ -16,8 +16,11 @@ S = "${WORKDIR}/Python-2.4"
inherit autotools native
-EXTRA_OECONF = "--with-threads --with-pymalloc --with-cyclic-gc --without-cxx --with-signal-module --with-wctype-functions \
- --with-prefix=${STAGING_DIR} --with-exec-prefix=${STAGING_DIR}/${BUILD_SYS}"
+prefix = ${STAGING_DIR}/${BUILD_SYS}
+exec_prefix = ${STAGING_DIR}/${BUILD_SYS}
+
+EXTRA_OECONF = "--with-threads --with-pymalloc --with-cyclic-gc \
+ --without-cxx --with-signal-module --with-wctype-functions"
EXTRA_OEMAKE = 'BUILD_SYS="" HOST_SYS=""'
do_configure() {
diff --git a/packages/python/python-pycairo/.mtn2git_empty b/packages/python/python-pycairo/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/python/python-pycairo/.mtn2git_empty
diff --git a/packages/python/python-pycairo/fix-pkgconfig-dir.patch b/packages/python/python-pycairo/fix-pkgconfig-dir.patch
new file mode 100644
index 0000000000..15f4b3d786
--- /dev/null
+++ b/packages/python/python-pycairo/fix-pkgconfig-dir.patch
@@ -0,0 +1,13 @@
+Index: pycairo-1.2.2/setup.py
+===================================================================
+--- pycairo-1.2.2.orig/setup.py
++++ pycairo-1.2.2/setup.py
+@@ -57,7 +57,7 @@ dic.setup(
+ )
+
+ pkgconfig_dir = os.path.join (sys.prefix, 'lib', 'pkgconfig')
+-pkgconfig_file = os.path.join (pkgconfig_dir, 'pycairo.pc')
++pkgconfig_file = os.path.join ('.', 'pycairo.pc')
+ print 'creating %s' % pkgconfig_file
+ fo = file (pkgconfig_file, 'w')
+ fo.write ("""\
diff --git a/packages/python/python-pycairo_1.2.2.bb b/packages/python/python-pycairo_1.2.2.bb
new file mode 100644
index 0000000000..46638d2794
--- /dev/null
+++ b/packages/python/python-pycairo_1.2.2.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Python Bindings for the Cairo canvas library"
+SECTION = "python-devel"
+HOMEPAGE = "http://cairographics.org/pycairo"
+LICENSE = "LGPL MPL"
+DEPENDS = "cairo"
+PR = "ml1"
+
+SRC_URI = "http://cairographics.org/releases/pycairo-${PV}.tar.gz \
+ file://fix-pkgconfig-dir.patch;patch=1"
+S = "${WORKDIR}/pycairo-${PV}"
+
+inherit distutils pkgconfig
+
+do_stage() {
+ install -d ${STAGING_INCDIR}
+ install -m 0644 cairo/pycairo.h ${STAGING_INCDIR}
+}
+
diff --git a/packages/python/python-pygobject-native_2.12.2.bb b/packages/python/python-pygobject-native_2.12.2.bb
new file mode 100644
index 0000000000..c93950b31b
--- /dev/null
+++ b/packages/python/python-pygobject-native_2.12.2.bb
@@ -0,0 +1,3 @@
+require python-pygobject_${PV}.bb
+
+DEPENDS = "python-native"
diff --git a/packages/python/python-pygobject_2.12.2.bb b/packages/python/python-pygobject_2.12.2.bb
new file mode 100644
index 0000000000..a79032f301
--- /dev/null
+++ b/packages/python/python-pygobject_2.12.2.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Python GObject bindings"
+SECTION = "devel/python"
+LICENSE = "LGPL"
+DEPENDS = "python-pygobject-native"
+PR = "ml2"
+
+SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/2.12/pygobject-${PV}.tar.bz2"
+S = "${WORKDIR}/pygobject-${PV}"
+
+inherit autotools distutils-base pkgconfig
+
+do_stage() {
+ autotools_stage_all
+ install -d ${STAGING_LIBDIR}/../share/pygobject/
+ cp -dpfR docs/* ${STAGING_LIBDIR}/../share/pygobject/
+ install -d ${STAGING_LIBDIR}/../share/gtk-doc/html/pygobject/
+ cp docs/style.css ${STAGING_LIBDIR}/../share/gtk-doc/html/pygobject/
+}
diff --git a/packages/python/python-pygtk2/fix-gtkunixprint.patch b/packages/python/python-pygtk2/fix-gtkunixprint.patch
new file mode 100644
index 0000000000..dca19ce5ed
--- /dev/null
+++ b/packages/python/python-pygtk2/fix-gtkunixprint.patch
@@ -0,0 +1,16 @@
+Index: pygtk-2.10.0/gtk/gtkunixprint.override
+===================================================================
+--- pygtk-2.10.0.orig/gtk/gtkunixprint.override
++++ pygtk-2.10.0/gtk/gtkunixprint.override
+@@ -105,11 +105,7 @@ _wrap_gtk_print_job_get_surface(PyGObjec
+ if (pyg_error_check(&error))
+ return NULL;
+
+-#if PYCAIRO_VERSION_HEX >= 0x1010600
+ return PycairoSurface_FromSurface(surface, NULL);
+-#else
+- return PycairoSurface_FromSurface(surface, NULL, NULL);
+-#endif
+ }
+ %%
+ override gtk_print_job_send kwargs
diff --git a/packages/python/python-pygtk2_2.10.0.bb b/packages/python/python-pygtk2_2.10.0.bb
new file mode 100644
index 0000000000..1af24b410d
--- /dev/null
+++ b/packages/python/python-pygtk2_2.10.0.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Python GTK+ Bindings"
+SECTION = "devel/python"
+# needs gtk+ 2.10.x
+DEPENDS = "gtk+ libglade python-pycairo python-pygobject"
+RDEPENDS = "python-shell"
+SRCNAME = "pygtk"
+LICENSE = "LGPL"
+PR = "ml0"
+
+SRC_URI = "ftp://ftp.gnome.org/pub/gnome/sources/pygtk/2.10/${SRCNAME}-${PV}.tar.bz2 \
+ file://fix-gtkunixprint.patch;patch=1 \
+ file://acinclude.m4"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+EXTRA_OECONF = "--disable-docs"
+
+inherit autotools pkgconfig distutils-base
+
+do_configure_prepend() {
+ install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/
+}
+
+do_stage() {
+ autotools_stage_includes
+ install -m 0755 codegen/pygtk-codegen-2.0 ${STAGING_BINDIR}/
+}
diff --git a/packages/python/python-pygtk2_2.8.6.bb b/packages/python/python-pygtk2_2.8.6.bb
index 55e33eab43..d1f65ea3ce 100644
--- a/packages/python/python-pygtk2_2.8.6.bb
+++ b/packages/python/python-pygtk2_2.8.6.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "Python GTK+ Bindings"
SECTION = "devel/python"
-PRIORITY = "optional"
+# needs gtk+-2.8.x
DEPENDS = "gtk+ libglade"
RDEPENDS = "python-shell"
SRCNAME = "pygtk"
LICENSE = "LGPL"
-PR = "r0"
+PR = "ml0"
SRC_URI = "ftp://ftp.gnome.org/pub/gnome/sources/pygtk/2.8/${SRCNAME}-${PV}.tar.bz2 \
file://acinclude.m4"
diff --git a/packages/python/python-pyrex-native_0.9.3.bb b/packages/python/python-pyrex-native_0.9.3.1.bb
index d7ec81fd8e..d7ec81fd8e 100644
--- a/packages/python/python-pyrex-native_0.9.3.bb
+++ b/packages/python/python-pyrex-native_0.9.3.1.bb
diff --git a/packages/python/python-pyrex_0.9.3.bb b/packages/python/python-pyrex_0.9.3.1.bb
index d0a5f826e0..d0a5f826e0 100644
--- a/packages/python/python-pyrex_0.9.3.bb
+++ b/packages/python/python-pyrex_0.9.3.1.bb
diff --git a/packages/python/python_2.4.3.bb b/packages/python/python_2.4.3.bb
index 1380c2e40f..2650926307 100644
--- a/packages/python/python_2.4.3.bb
+++ b/packages/python/python_2.4.3.bb
@@ -5,7 +5,7 @@ SECTION = "devel/python"
PRIORITY = "optional"
DEPENDS = "python-native readline zlib gdbm openssl tcl tk"
DEPENDS_sharprom = "python-native readline zlib gdbm openssl"
-PR = "ml6"
+PR = "ml7"
PYTHON_MAJMIN = "2.4"
diff --git a/packages/qemu/files/compiler.patch b/packages/qemu/files/compiler.patch
new file mode 100644
index 0000000000..dad18b3a61
--- /dev/null
+++ b/packages/qemu/files/compiler.patch
@@ -0,0 +1,10 @@
+--- qemu/usb-linux.c~ 2006-07-19 19:06:15.000000000 +0100
++++ qemu/usb-linux.c 2006-10-02 12:49:00.000000000 +0100
+@@ -26,7 +26,6 @@
+ #if defined(__linux__)
+ #include <dirent.h>
+ #include <sys/ioctl.h>
+-#include <linux/compiler.h>
+ #include <linux/usbdevice_fs.h>
+ #include <linux/version.h>
+
diff --git a/packages/qemu/files/nodocs_cvs.patch b/packages/qemu/files/nodocs_cvs.patch
new file mode 100644
index 0000000000..b52d860fb0
--- /dev/null
+++ b/packages/qemu/files/nodocs_cvs.patch
@@ -0,0 +1,44 @@
+Index: qemu/Makefile
+===================================================================
+--- qemu.orig/Makefile 2006-04-18 11:11:37.000000000 +0100
++++ qemu/Makefile 2006-04-18 11:14:34.000000000 +0100
+@@ -11,7 +11,7 @@
+ ifdef CONFIG_STATIC
+ LDFLAGS+=-static
+ endif
+-DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
++DOCS=
+
+ all: dyngen$(EXESUF) $(TOOLS) $(DOCS)
+ for d in $(TARGET_DIRS); do \
+@@ -51,11 +51,11 @@
+ video.x proll.elf linux_boot.bin; do \
+ $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
+ done
+- mkdir -p "$(DESTDIR)$(docdir)"
+- $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
++# mkdir -p "$(DESTDIR)$(docdir)"
++# $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
+ ifndef CONFIG_WIN32
+- mkdir -p "$(DESTDIR)$(mandir)/man1"
+- $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
++# mkdir -p "$(DESTDIR)$(mandir)/man1"
++# $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
+ mkdir -p "$(DESTDIR)$(datadir)/keymaps"
+ for x in $(KEYMAPS); do \
+ $(INSTALL) -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
+@@ -122,10 +122,10 @@
+ $(datadir)/ppc_rom.bin \
+ $(datadir)/video.x \
+ $(datadir)/proll.elf \
+- $(datadir)/linux_boot.bin \
+- $(docdir)/qemu-doc.html \
+- $(docdir)/qemu-tech.html \
+- $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
++ $(datadir)/linux_boot.bin
++# $(docdir)/qemu-doc.html \
++# $(docdir)/qemu-tech.html \
++# $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
+
+ ifneq ($(wildcard .depend),)
+ include .depend
diff --git a/packages/qemu/files/qemu-pci-irq-sharing.patch b/packages/qemu/files/qemu-pci-irq-sharing.patch
new file mode 100644
index 0000000000..c47e89895f
--- /dev/null
+++ b/packages/qemu/files/qemu-pci-irq-sharing.patch
@@ -0,0 +1,52 @@
+diff -pNaur qemu-cvs-ts-orig/hw/pci.c qemu-cvs-ts/hw/pci.c
+--- qemu-cvs-ts-orig/hw/pci.c 2006-08-17 10:46:34.000000000 +0000
++++ qemu-cvs-ts/hw/pci.c 2006-09-23 17:02:41.000000000 +0000
+@@ -34,6 +34,7 @@ struct PCIBus {
+ SetIRQFunc *low_set_irq;
+ void *irq_opaque;
+ PCIDevice *devices[256];
++ int irq_count[4];
+ };
+
+ static void pci_update_mappings(PCIDevice *d);
+@@ -49,6 +50,7 @@ PCIBus *pci_register_bus(pci_set_irq_fn
+ bus->set_irq = set_irq;
+ bus->irq_opaque = pic;
+ bus->devfn_min = devfn_min;
++ memset(bus->irq_count, 0, sizeof(bus->irq_count));
+ first_bus = bus;
+ return bus;
+ }
+@@ -100,6 +102,7 @@ PCIDevice *pci_register_device(PCIBus *b
+ pci_dev->bus = bus;
+ pci_dev->devfn = devfn;
+ pstrcpy(pci_dev->name, sizeof(pci_dev->name), name);
++ memset(pci_dev->irq_state, 0, sizeof(pci_dev->irq_state));
+
+ if (!config_read)
+ config_read = pci_default_read_config;
+@@ -404,7 +407,10 @@ uint32_t pci_data_read(void *opaque, uin
+ void pci_set_irq(PCIDevice *pci_dev, int irq_num, int level)
+ {
+ PCIBus *bus = pci_dev->bus;
+- bus->set_irq(pci_dev, bus->irq_opaque, irq_num, level);
++ bus->irq_count[irq_num] += level - pci_dev->irq_state[irq_num];
++ pci_dev->irq_state[irq_num] = level;
++ bus->set_irq(pci_dev, bus->irq_opaque,
++ irq_num, !!bus->irq_count[irq_num]);
+ }
+
+ /***********************************************************/
+diff -pNaur qemu-cvs-ts-orig/vl.h qemu-cvs-ts/vl.h
+--- qemu-cvs-ts-orig/vl.h 2006-09-18 01:15:29.000000000 +0000
++++ qemu-cvs-ts/vl.h 2006-09-23 17:15:21.000000000 +0000
+@@ -733,6 +733,9 @@ struct PCIDevice {
+ PCIConfigWriteFunc *config_write;
+ /* ??? This is a PC-specific hack, and should be removed. */
+ int irq_index;
++
++ /* remember last irq levels */
++ int irq_state[4];
+ };
+
+ PCIDevice *pci_register_device(PCIBus *bus, const char *name,
diff --git a/packages/qemu/files/qemu-sdl-cursor.patch b/packages/qemu/files/qemu-sdl-cursor.patch
new file mode 100644
index 0000000000..bd6a51a1f5
--- /dev/null
+++ b/packages/qemu/files/qemu-sdl-cursor.patch
@@ -0,0 +1,13 @@
+Index: qemu/sdl.c
+===================================================================
+--- qemu.orig/sdl.c 2006-10-02 17:06:12.000000000 +0100
++++ qemu/sdl.c 2006-10-02 17:06:59.000000000 +0100
+@@ -287,7 +287,7 @@
+ {
+ if (kbd_mouse_is_absolute()) {
+ SDL_ShowCursor(1);
+- SDL_SetCursor(sdl_cursor_hidden);
++ /* SDL_SetCursor(sdl_cursor_hidden); */
+ } else {
+ SDL_ShowCursor(0);
+ }
diff --git a/packages/qemu/files/qemu-usb-wacom-0.8.2.patch b/packages/qemu/files/qemu-usb-wacom-0.8.2.patch
new file mode 100644
index 0000000000..33a6db3f18
--- /dev/null
+++ b/packages/qemu/files/qemu-usb-wacom-0.8.2.patch
@@ -0,0 +1,445 @@
+diff -pNaur qemu-cvs-ts-orig/hw/usb-wacom.c qemu-cvs-ts/hw/usb-wacom.c
+--- qemu-cvs-ts-orig/hw/usb-wacom.c 1970-01-01 01:00:00.000000000 +0100
++++ qemu-cvs-ts/hw/usb-wacom.c 2006-09-22 20:44:26.000000000 +0200
+@@ -0,0 +1,408 @@
++/*
++ * Wacom PenPartner USB tablet emulation.
++ *
++ * Copyright (c) 2006 Openedhand Ltd.
++ *
++ * Author: Andrzej Zaborowski <balrog@zabor.org>
++ *
++ * Based on hw/usb-hid.c:
++ * Copyright (c) 2005 Fabrice Bellard
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a copy
++ * of this software and associated documentation files (the "Software"), to deal
++ * in the Software without restriction, including without limitation the rights
++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ * copies of the Software, and to permit persons to whom the Software is
++ * furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included in
++ * all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ * THE SOFTWARE.
++ */
++#include "vl.h"
++
++/* Interface requests */
++#define WACOM_GET_REPORT 0x2101
++#define WACOM_SET_REPORT 0x2109
++
++/* HID interface requests */
++#define HID_GET_REPORT 0xa101
++#define HID_GET_IDLE 0xa102
++#define HID_GET_PROTOCOL 0xa103
++#define HID_SET_IDLE 0x210a
++#define HID_SET_PROTOCOL 0x210b
++
++#define WACOM_MODE_HID 1
++#define WACOM_MODE_WACOM 2
++
++typedef struct USBWacomState {
++ USBDevice dev;
++ int dx, dy, dz, buttons_state;
++ int x, y;
++ int mouse_grabbed;
++ int mode;
++} USBWacomState;
++
++static const uint8_t qemu_wacom_dev_descriptor[] = {
++ 0x12, /* u8 bLength; */
++ 0x01, /* u8 bDescriptorType; Device */
++ 0x10, 0x10, /* u16 bcdUSB; v1.10 */
++
++ 0x00, /* u8 bDeviceClass; */
++ 0x00, /* u8 bDeviceSubClass; */
++ 0x00, /* u8 bDeviceProtocol; [ low/full speeds only ] */
++ 0x08, /* u8 bMaxPacketSize0; 8 Bytes */
++
++ 0x6a, 0x05, /* u16 idVendor; */
++ 0x00, 0x00, /* u16 idProduct; */
++ 0x10, 0x42, /* u16 bcdDevice */
++
++ 0x01, /* u8 iManufacturer; */
++ 0x02, /* u8 iProduct; */
++ 0x00, /* u8 iSerialNumber; */
++ 0x01, /* u8 bNumConfigurations; */
++};
++
++static const uint8_t qemu_wacom_config_descriptor[] = {
++ /* one configuration */
++ 0x09, /* u8 bLength; */
++ 0x02, /* u8 bDescriptorType; Configuration */
++ 0x22, 0x00, /* u16 wTotalLength; */
++ 0x01, /* u8 bNumInterfaces; (1) */
++ 0x01, /* u8 bConfigurationValue; */
++ 0x00, /* u8 iConfiguration; */
++ 0x80, /* u8 bmAttributes;
++ Bit 7: must be set,
++ 6: Self-powered,
++ 5: Remote wakeup,
++ 4..0: resvd */
++ 40, /* u8 MaxPower; */
++
++ /* one interface */
++ 0x09, /* u8 if_bLength; */
++ 0x04, /* u8 if_bDescriptorType; Interface */
++ 0x00, /* u8 if_bInterfaceNumber; */
++ 0x00, /* u8 if_bAlternateSetting; */
++ 0x01, /* u8 if_bNumEndpoints; */
++ 0x03, /* u8 if_bInterfaceClass; HID */
++ 0x01, /* u8 if_bInterfaceSubClass; Boot */
++ 0x02, /* u8 if_bInterfaceProtocol; [usb1.1 or single tt] */
++ 0x00, /* u8 if_iInterface; */
++
++ /* HID descriptor */
++ 0x09, /* u8 bLength; */
++ 0x21, /* u8 bDescriptorType; */
++ 0x01, 0x10, /* u16 HID_class */
++ 0x00, /* u8 country_code */
++ 0x01, /* u8 num_descriptors */
++ 0x22, /* u8 type; Report */
++ 0x6e, 0x00, /* u16 len */
++
++ /* one endpoint (status change endpoint) */
++ 0x07, /* u8 ep_bLength; */
++ 0x05, /* u8 ep_bDescriptorType; Endpoint */
++ 0x81, /* u8 ep_bEndpointAddress; IN Endpoint 1 */
++ 0x03, /* u8 ep_bmAttributes; Interrupt */
++ 0x08, 0x00, /* u16 ep_wMaxPacketSize; */
++ 0x0a, /* u8 ep_bInterval; */
++};
++
++static void usb_mouse_event(void *opaque,
++ int dx1, int dy1, int dz1, int buttons_state)
++{
++ USBWacomState *s = opaque;
++
++ s->dx += dx1;
++ s->dy += dy1;
++ s->dz += dz1;
++ s->buttons_state = buttons_state;
++}
++
++static void usb_wacom_event(void *opaque,
++ int x, int y, int dz, int buttons_state)
++{
++ USBWacomState *s = opaque;
++
++ s->x = x;
++ s->y = y;
++ s->dz += dz;
++ s->buttons_state = buttons_state;
++}
++
++static inline int int_clamp(int val, int vmin, int vmax)
++{
++ if (val < vmin)
++ return vmin;
++ else if (val > vmax)
++ return vmax;
++ else
++ return val;
++}
++
++static int usb_mouse_poll(USBWacomState *s, uint8_t *buf, int len)
++{
++ int dx, dy, dz, b, l;
++
++ if (!s->mouse_grabbed) {
++ qemu_add_mouse_event_handler(usb_mouse_event, s, 1);
++ s->mouse_grabbed = 1;
++ }
++
++ dx = int_clamp(s->dx, -128, 127);
++ dy = int_clamp(s->dy, -128, 127);
++ dz = int_clamp(s->dz, -128, 127);
++
++ s->dx -= dx;
++ s->dy -= dy;
++ s->dz -= dz;
++
++ b = 0;
++ if (s->buttons_state & MOUSE_EVENT_LBUTTON)
++ b |= 0x01;
++ if (s->buttons_state & MOUSE_EVENT_RBUTTON)
++ b |= 0x02;
++ if (s->buttons_state & MOUSE_EVENT_MBUTTON)
++ b |= 0x04;
++
++ buf[0] = b;
++ buf[1] = dx;
++ buf[2] = dy;
++ l = 3;
++ if (len >= 4) {
++ buf[3] = dz;
++ l = 4;
++ }
++ return l;
++}
++
++static int usb_wacom_poll(USBWacomState *s, uint8_t *buf, int len)
++{
++ int b;
++
++ if (!s->mouse_grabbed) {
++ qemu_add_mouse_event_handler(usb_wacom_event, s, 1);
++ s->mouse_grabbed = 1;
++ }
++
++ b = 0;
++ if (s->buttons_state & MOUSE_EVENT_LBUTTON)
++ b |= 0x01;
++ if (s->buttons_state & MOUSE_EVENT_RBUTTON)
++ b |= 0x02;
++ if (s->buttons_state & MOUSE_EVENT_MBUTTON)
++ b |= 0x04;
++
++ if (len < 7)
++ return 0;
++
++ buf[0] = s->mode;
++ buf[1] = s->x & 0xff;
++ buf[2] = s->x >> 8;
++ buf[3] = s->y & 0xff;
++ buf[4] = s->y >> 8;
++ if (b) {
++ buf[5] = 0x40;
++ buf[6] = 0;
++ } else {
++ buf[5] = 0x00;
++ buf[6] = (unsigned char) -120;
++ }
++
++ return 7;
++}
++
++static void usb_wacom_handle_reset(USBDevice *dev)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++
++ s->dx = 0;
++ s->dy = 0;
++ s->dz = 0;
++ s->x = 0;
++ s->y = 0;
++ s->buttons_state = 0;
++ s->mode = WACOM_MODE_HID;
++}
++
++static int usb_wacom_handle_control(USBDevice *dev, int request, int value,
++ int index, int length, uint8_t *data)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++ int ret = 0;
++
++ switch (request) {
++ case DeviceRequest | USB_REQ_GET_STATUS:
++ data[0] = (1 << USB_DEVICE_SELF_POWERED) |
++ (dev->remote_wakeup << USB_DEVICE_REMOTE_WAKEUP);
++ data[1] = 0x00;
++ ret = 2;
++ break;
++ case DeviceOutRequest | USB_REQ_CLEAR_FEATURE:
++ if (value == USB_DEVICE_REMOTE_WAKEUP) {
++ dev->remote_wakeup = 0;
++ } else {
++ goto fail;
++ }
++ ret = 0;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_FEATURE:
++ if (value == USB_DEVICE_REMOTE_WAKEUP) {
++ dev->remote_wakeup = 1;
++ } else {
++ goto fail;
++ }
++ ret = 0;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_ADDRESS:
++ dev->addr = value;
++ ret = 0;
++ break;
++ case DeviceRequest | USB_REQ_GET_DESCRIPTOR:
++ switch (value >> 8) {
++ case USB_DT_DEVICE:
++ memcpy(data, qemu_wacom_dev_descriptor,
++ sizeof(qemu_wacom_dev_descriptor));
++ ret = sizeof(qemu_wacom_dev_descriptor);
++ break;
++ case USB_DT_CONFIG:
++ memcpy(data, qemu_wacom_config_descriptor,
++ sizeof(qemu_wacom_config_descriptor));
++ ret = sizeof(qemu_wacom_config_descriptor);
++ break;
++ case USB_DT_STRING:
++ switch (value & 0xff) {
++ case 0:
++ /* language ids */
++ data[0] = 4;
++ data[1] = 3;
++ data[2] = 0x09;
++ data[3] = 0x04;
++ ret = 4;
++ break;
++ case 1:
++ /* serial number */
++ ret = set_usb_string(data, "1");
++ break;
++ case 2:
++ ret = set_usb_string(data, "Wacom PenPartner");
++ break;
++ case 3:
++ /* vendor description */
++ ret = set_usb_string(data, "QEMU " QEMU_VERSION);
++ break;
++ case 4:
++ ret = set_usb_string(data, "Wacom Tablet");
++ break;
++ case 5:
++ ret = set_usb_string(data, "Endpoint1 Interrupt Pipe");
++ break;
++ default:
++ goto fail;
++ }
++ break;
++ default:
++ goto fail;
++ }
++ break;
++ case DeviceRequest | USB_REQ_GET_CONFIGURATION:
++ data[0] = 1;
++ ret = 1;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_CONFIGURATION:
++ ret = 0;
++ break;
++ case DeviceRequest | USB_REQ_GET_INTERFACE:
++ data[0] = 0;
++ ret = 1;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_INTERFACE:
++ ret = 0;
++ break;
++ case WACOM_SET_REPORT:
++ qemu_add_mouse_event_handler(NULL, NULL, 0);
++ s->mouse_grabbed = 0;
++ s->mode = data[0];
++ ret = 0;
++ break;
++ case WACOM_GET_REPORT:
++ data[0] = 0;
++ data[1] = s->mode;
++ ret = 2;
++ break;
++ /* USB HID requests */
++ case HID_GET_REPORT:
++ if (s->mode == WACOM_MODE_HID)
++ ret = usb_mouse_poll(s, data, length);
++ else if (s->mode == WACOM_MODE_WACOM)
++ ret = usb_wacom_poll(s, data, length);
++ break;
++ case HID_SET_IDLE:
++ ret = 0;
++ break;
++ default:
++ fail:
++ ret = USB_RET_STALL;
++ break;
++ }
++ return ret;
++}
++
++static int usb_wacom_handle_data(USBDevice *dev, int pid,
++ uint8_t devep, uint8_t *data, int len)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++ int ret = 0;
++
++ switch (pid) {
++ case USB_TOKEN_IN:
++ if (devep == 1) {
++ if (s->mode == WACOM_MODE_HID)
++ ret = usb_mouse_poll(s, data, len);
++ else if (s->mode == WACOM_MODE_WACOM)
++ ret = usb_wacom_poll(s, data, len);
++ break;
++ }
++ /* Fall through. */
++ case USB_TOKEN_OUT:
++ default:
++ ret = USB_RET_STALL;
++ break;
++ }
++ return ret;
++}
++
++static void usb_wacom_handle_destroy(USBDevice *dev)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++
++ qemu_add_mouse_event_handler(NULL, NULL, 0);
++ qemu_free(s);
++}
++
++USBDevice *usb_wacom_init(void)
++{
++ USBWacomState *s;
++
++ s = qemu_mallocz(sizeof(USBWacomState));
++ if (!s)
++ return NULL;
++ s->dev.speed = USB_SPEED_FULL;
++ s->dev.handle_packet = usb_generic_handle_packet;
++
++ s->dev.handle_reset = usb_wacom_handle_reset;
++ s->dev.handle_control = usb_wacom_handle_control;
++ s->dev.handle_data = usb_wacom_handle_data;
++ s->dev.handle_destroy = usb_wacom_handle_destroy;
++
++ pstrcpy(s->dev.devname, sizeof(s->dev.devname),
++ "QEMU PenPartner Tablet");
++
++ return (USBDevice *) s;
++}
+diff -pNaur qemu-cvs-ts-orig/hw/usb.h qemu-cvs-ts/hw/usb.h
+--- qemu-cvs-ts-orig/hw/usb.h 2006-08-12 03:04:27.000000000 +0200
++++ qemu-cvs-ts/hw/usb.h 2006-09-21 01:40:40.000000000 +0200
+@@ -218,3 +218,6 @@ USBDevice *usb_tablet_init(void);
+
+ /* usb-msd.c */
+ USBDevice *usb_msd_init(const char *filename);
++
++/* usb-wacom.c */
++USBDevice *usb_wacom_init(void);
+diff -pNaur qemu-cvs-ts-orig/vl.c qemu-cvs-ts/vl.c
+--- qemu-cvs-ts-orig/vl.c 2006-09-10 16:39:54.000000000 +0200
++++ qemu-cvs-ts/vl.c 2006-09-21 01:45:16.000000000 +0200
+@@ -3765,6 +3765,8 @@ static int usb_device_add(const char *de
+ dev = usb_tablet_init();
+ } else if (strstart(devname, "disk:", &p)) {
+ dev = usb_msd_init(p);
++ } else if (!strcmp(devname, "wacom-tablet")) {
++ dev = usb_wacom_init();
+ } else {
+ return -1;
+ }
+diff -pNaur qemu-cvs-ts-orig/Makefile.target qemu-cvs-ts/Makefile.target
+--- qemu-cvs-ts-orig/Makefile.target 2006-09-18 03:15:29.000000000 +0200
++++ qemu-cvs-ts/Makefile.target 2006-09-21 02:32:19.000000000 +0200
+@@ -330,6 +330,7 @@ VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a
+
+ # USB layer
+ VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o
++VL_OBJS+= usb-wacom.o
+
+ # PCI network cards
+ VL_OBJS+= ne2000.o rtl8139.o pcnet.o
diff --git a/packages/qemu/files/qemu-usb-wacom-buttons.patch b/packages/qemu/files/qemu-usb-wacom-buttons.patch
new file mode 100644
index 0000000000..ee24c15780
--- /dev/null
+++ b/packages/qemu/files/qemu-usb-wacom-buttons.patch
@@ -0,0 +1,23 @@
+--- qemu-cvs-ts-orig/hw/usb-wacom.c 2006-09-29 22:53:06.000000000 +0000
++++ qemu-cvs-ts/hw/usb-wacom.c 2006-09-29 22:44:14.000000000 +0000
+@@ -203,19 +203,18 @@ static int usb_wacom_poll(USBWacomState
+ return 0;
+
+ buf[0] = s->mode;
++ buf[5] = 0x00;
+ if (b) {
+ buf[1] = s->x & 0xff;
+ buf[2] = s->x >> 8;
+ buf[3] = s->y & 0xff;
+ buf[4] = s->y >> 8;
+- buf[5] = 0x40;
+ buf[6] = 0;
+ } else {
+ buf[1] = 0;
+ buf[2] = 0;
+ buf[3] = 0;
+ buf[4] = 0;
+- buf[5] = 0x00;
+ buf[6] = (unsigned char) -127;
+ }
+
diff --git a/packages/qemu/files/qemu-usb-wacom-pressure.patch b/packages/qemu/files/qemu-usb-wacom-pressure.patch
new file mode 100644
index 0000000000..668d50d5f2
--- /dev/null
+++ b/packages/qemu/files/qemu-usb-wacom-pressure.patch
@@ -0,0 +1,28 @@
+--- qemu-cvs-ts-orig/hw/usb-wacom.c 2006-09-29 17:27:43.000000000 +0000
++++ qemu-cvs-ts/hw/usb-wacom.c 2006-09-29 17:48:13.000000000 +0000
+@@ -203,16 +203,20 @@ static int usb_wacom_poll(USBWacomState
+ return 0;
+
+ buf[0] = s->mode;
+- buf[1] = s->x & 0xff;
+- buf[2] = s->x >> 8;
+- buf[3] = s->y & 0xff;
+- buf[4] = s->y >> 8;
+ if (b) {
++ buf[1] = s->x & 0xff;
++ buf[2] = s->x >> 8;
++ buf[3] = s->y & 0xff;
++ buf[4] = s->y >> 8;
+ buf[5] = 0x40;
+ buf[6] = 0;
+ } else {
++ buf[1] = 0;
++ buf[2] = 0;
++ buf[3] = 0;
++ buf[4] = 0;
+ buf[5] = 0x00;
+- buf[6] = (unsigned char) -120;
++ buf[6] = (unsigned char) -127;
+ }
+
+ return 7;
diff --git a/packages/qemu/files/qemu-usb-wacom.patch b/packages/qemu/files/qemu-usb-wacom.patch
new file mode 100644
index 0000000000..c1c39eccaf
--- /dev/null
+++ b/packages/qemu/files/qemu-usb-wacom.patch
@@ -0,0 +1,444 @@
+diff -pNaur qemu-cvs-ts-orig/hw/usb-wacom.c qemu-cvs-ts/hw/usb-wacom.c
+--- qemu-cvs-ts-orig/hw/usb-wacom.c 1970-01-01 01:00:00.000000000 +0100
++++ qemu-cvs-ts/hw/usb-wacom.c 2006-09-22 20:44:26.000000000 +0200
+@@ -0,0 +1,407 @@
++/*
++ * Wacom PenPartner USB tablet emulation.
++ *
++ * Copyright (c) 2006 Openedhand Ltd.
++ *
++ * Author: Andrzej Zaborowski <balrog@zabor.org>
++ *
++ * Based on hw/usb-hid.c:
++ * Copyright (c) 2005 Fabrice Bellard
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a copy
++ * of this software and associated documentation files (the "Software"), to deal
++ * in the Software without restriction, including without limitation the rights
++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ * copies of the Software, and to permit persons to whom the Software is
++ * furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included in
++ * all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ * THE SOFTWARE.
++ */
++#include "vl.h"
++
++/* Interface requests */
++#define WACOM_GET_REPORT 0x2101
++#define WACOM_SET_REPORT 0x2109
++
++/* HID interface requests */
++#define HID_GET_REPORT 0xa101
++#define HID_GET_IDLE 0xa102
++#define HID_GET_PROTOCOL 0xa103
++#define HID_SET_IDLE 0x210a
++#define HID_SET_PROTOCOL 0x210b
++
++#define WACOM_MODE_HID 1
++#define WACOM_MODE_WACOM 2
++
++typedef struct USBWacomState {
++ USBDevice dev;
++ int dx, dy, dz, buttons_state;
++ int x, y;
++ int mouse_grabbed;
++ int mode;
++} USBWacomState;
++
++static const uint8_t qemu_wacom_dev_descriptor[] = {
++ 0x12, /* u8 bLength; */
++ 0x01, /* u8 bDescriptorType; Device */
++ 0x10, 0x10, /* u16 bcdUSB; v1.10 */
++
++ 0x00, /* u8 bDeviceClass; */
++ 0x00, /* u8 bDeviceSubClass; */
++ 0x00, /* u8 bDeviceProtocol; [ low/full speeds only ] */
++ 0x08, /* u8 bMaxPacketSize0; 8 Bytes */
++
++ 0x6a, 0x05, /* u16 idVendor; */
++ 0x00, 0x00, /* u16 idProduct; */
++ 0x10, 0x42, /* u16 bcdDevice */
++
++ 0x01, /* u8 iManufacturer; */
++ 0x02, /* u8 iProduct; */
++ 0x00, /* u8 iSerialNumber; */
++ 0x01, /* u8 bNumConfigurations; */
++};
++
++static const uint8_t qemu_wacom_config_descriptor[] = {
++ /* one configuration */
++ 0x09, /* u8 bLength; */
++ 0x02, /* u8 bDescriptorType; Configuration */
++ 0x22, 0x00, /* u16 wTotalLength; */
++ 0x01, /* u8 bNumInterfaces; (1) */
++ 0x01, /* u8 bConfigurationValue; */
++ 0x00, /* u8 iConfiguration; */
++ 0x80, /* u8 bmAttributes;
++ Bit 7: must be set,
++ 6: Self-powered,
++ 5: Remote wakeup,
++ 4..0: resvd */
++ 40, /* u8 MaxPower; */
++
++ /* one interface */
++ 0x09, /* u8 if_bLength; */
++ 0x04, /* u8 if_bDescriptorType; Interface */
++ 0x00, /* u8 if_bInterfaceNumber; */
++ 0x00, /* u8 if_bAlternateSetting; */
++ 0x01, /* u8 if_bNumEndpoints; */
++ 0x03, /* u8 if_bInterfaceClass; HID */
++ 0x01, /* u8 if_bInterfaceSubClass; Boot */
++ 0x02, /* u8 if_bInterfaceProtocol; [usb1.1 or single tt] */
++ 0x00, /* u8 if_iInterface; */
++
++ /* HID descriptor */
++ 0x09, /* u8 bLength; */
++ 0x21, /* u8 bDescriptorType; */
++ 0x01, 0x10, /* u16 HID_class */
++ 0x00, /* u8 country_code */
++ 0x01, /* u8 num_descriptors */
++ 0x22, /* u8 type; Report */
++ 0x6e, 0x00, /* u16 len */
++
++ /* one endpoint (status change endpoint) */
++ 0x07, /* u8 ep_bLength; */
++ 0x05, /* u8 ep_bDescriptorType; Endpoint */
++ 0x81, /* u8 ep_bEndpointAddress; IN Endpoint 1 */
++ 0x03, /* u8 ep_bmAttributes; Interrupt */
++ 0x08, 0x00, /* u16 ep_wMaxPacketSize; */
++ 0x0a, /* u8 ep_bInterval; */
++};
++
++static void usb_mouse_event(void *opaque,
++ int dx1, int dy1, int dz1, int buttons_state)
++{
++ USBWacomState *s = opaque;
++
++ s->dx += dx1;
++ s->dy += dy1;
++ s->dz += dz1;
++ s->buttons_state = buttons_state;
++}
++
++static void usb_wacom_event(void *opaque,
++ int x, int y, int dz, int buttons_state)
++{
++ USBWacomState *s = opaque;
++
++ s->x = x;
++ s->y = y;
++ s->dz += dz;
++ s->buttons_state = buttons_state;
++}
++
++static inline int int_clamp(int val, int vmin, int vmax)
++{
++ if (val < vmin)
++ return vmin;
++ else if (val > vmax)
++ return vmax;
++ else
++ return val;
++}
++
++static int usb_mouse_poll(USBWacomState *s, uint8_t *buf, int len)
++{
++ int dx, dy, dz, b, l;
++
++ if (!s->mouse_grabbed) {
++ qemu_add_mouse_event_handler(usb_mouse_event, s, 1);
++ s->mouse_grabbed = 1;
++ }
++
++ dx = int_clamp(s->dx, -128, 127);
++ dy = int_clamp(s->dy, -128, 127);
++ dz = int_clamp(s->dz, -128, 127);
++
++ s->dx -= dx;
++ s->dy -= dy;
++ s->dz -= dz;
++
++ b = 0;
++ if (s->buttons_state & MOUSE_EVENT_LBUTTON)
++ b |= 0x01;
++ if (s->buttons_state & MOUSE_EVENT_RBUTTON)
++ b |= 0x02;
++ if (s->buttons_state & MOUSE_EVENT_MBUTTON)
++ b |= 0x04;
++
++ buf[0] = b;
++ buf[1] = dx;
++ buf[2] = dy;
++ l = 3;
++ if (len >= 4) {
++ buf[3] = dz;
++ l = 4;
++ }
++ return l;
++}
++
++static int usb_wacom_poll(USBWacomState *s, uint8_t *buf, int len)
++{
++ int b;
++
++ if (!s->mouse_grabbed) {
++ qemu_add_mouse_event_handler(usb_wacom_event, s, 1);
++ s->mouse_grabbed = 1;
++ }
++
++ b = 0;
++ if (s->buttons_state & MOUSE_EVENT_LBUTTON)
++ b |= 0x01;
++ if (s->buttons_state & MOUSE_EVENT_RBUTTON)
++ b |= 0x02;
++ if (s->buttons_state & MOUSE_EVENT_MBUTTON)
++ b |= 0x04;
++
++ if (len < 7)
++ return 0;
++
++ buf[0] = s->mode;
++ buf[1] = s->x & 0xff;
++ buf[2] = s->x >> 8;
++ buf[3] = s->y & 0xff;
++ buf[4] = s->y >> 8;
++ if (b) {
++ buf[5] = 0x40;
++ buf[6] = 0;
++ } else {
++ buf[5] = 0x00;
++ buf[6] = (unsigned char) -120;
++ }
++
++ return 7;
++}
++
++static void usb_wacom_handle_reset(USBDevice *dev)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++
++ s->dx = 0;
++ s->dy = 0;
++ s->dz = 0;
++ s->x = 0;
++ s->y = 0;
++ s->buttons_state = 0;
++ s->mode = WACOM_MODE_HID;
++}
++
++static int usb_wacom_handle_control(USBDevice *dev, int request, int value,
++ int index, int length, uint8_t *data)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++ int ret = 0;
++
++ switch (request) {
++ case DeviceRequest | USB_REQ_GET_STATUS:
++ data[0] = (1 << USB_DEVICE_SELF_POWERED) |
++ (dev->remote_wakeup << USB_DEVICE_REMOTE_WAKEUP);
++ data[1] = 0x00;
++ ret = 2;
++ break;
++ case DeviceOutRequest | USB_REQ_CLEAR_FEATURE:
++ if (value == USB_DEVICE_REMOTE_WAKEUP) {
++ dev->remote_wakeup = 0;
++ } else {
++ goto fail;
++ }
++ ret = 0;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_FEATURE:
++ if (value == USB_DEVICE_REMOTE_WAKEUP) {
++ dev->remote_wakeup = 1;
++ } else {
++ goto fail;
++ }
++ ret = 0;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_ADDRESS:
++ dev->addr = value;
++ ret = 0;
++ break;
++ case DeviceRequest | USB_REQ_GET_DESCRIPTOR:
++ switch (value >> 8) {
++ case USB_DT_DEVICE:
++ memcpy(data, qemu_wacom_dev_descriptor,
++ sizeof(qemu_wacom_dev_descriptor));
++ ret = sizeof(qemu_wacom_dev_descriptor);
++ break;
++ case USB_DT_CONFIG:
++ memcpy(data, qemu_wacom_config_descriptor,
++ sizeof(qemu_wacom_config_descriptor));
++ ret = sizeof(qemu_wacom_config_descriptor);
++ break;
++ case USB_DT_STRING:
++ switch (value & 0xff) {
++ case 0:
++ /* language ids */
++ data[0] = 4;
++ data[1] = 3;
++ data[2] = 0x09;
++ data[3] = 0x04;
++ ret = 4;
++ break;
++ case 1:
++ /* serial number */
++ ret = set_usb_string(data, "1");
++ break;
++ case 2:
++ ret = set_usb_string(data, "Wacom PenPartner");
++ break;
++ case 3:
++ /* vendor description */
++ ret = set_usb_string(data, "QEMU " QEMU_VERSION);
++ break;
++ case 4:
++ ret = set_usb_string(data, "Wacom Tablet");
++ break;
++ case 5:
++ ret = set_usb_string(data, "Endpoint1 Interrupt Pipe");
++ break;
++ default:
++ goto fail;
++ }
++ break;
++ default:
++ goto fail;
++ }
++ break;
++ case DeviceRequest | USB_REQ_GET_CONFIGURATION:
++ data[0] = 1;
++ ret = 1;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_CONFIGURATION:
++ ret = 0;
++ break;
++ case DeviceRequest | USB_REQ_GET_INTERFACE:
++ data[0] = 0;
++ ret = 1;
++ break;
++ case DeviceOutRequest | USB_REQ_SET_INTERFACE:
++ ret = 0;
++ break;
++ case WACOM_SET_REPORT:
++ qemu_add_mouse_event_handler(NULL, NULL, 0);
++ s->mouse_grabbed = 0;
++ s->mode = data[0];
++ ret = 0;
++ break;
++ case WACOM_GET_REPORT:
++ data[0] = 0;
++ data[1] = s->mode;
++ ret = 2;
++ break;
++ /* USB HID requests */
++ case HID_GET_REPORT:
++ if (s->mode == WACOM_MODE_HID)
++ ret = usb_mouse_poll(s, data, length);
++ else if (s->mode == WACOM_MODE_WACOM)
++ ret = usb_wacom_poll(s, data, length);
++ break;
++ case HID_SET_IDLE:
++ ret = 0;
++ break;
++ default:
++ fail:
++ ret = USB_RET_STALL;
++ break;
++ }
++ return ret;
++}
++
++static int usb_wacom_handle_data(USBDevice *dev, USBPacket *p)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++ int ret = 0;
++
++ switch (p->pid) {
++ case USB_TOKEN_IN:
++ if (p->devep == 1) {
++ if (s->mode == WACOM_MODE_HID)
++ ret = usb_mouse_poll(s, p->data, p->len);
++ else if (s->mode == WACOM_MODE_WACOM)
++ ret = usb_wacom_poll(s, p->data, p->len);
++ break;
++ }
++ /* Fall through. */
++ case USB_TOKEN_OUT:
++ default:
++ ret = USB_RET_STALL;
++ break;
++ }
++ return ret;
++}
++
++static void usb_wacom_handle_destroy(USBDevice *dev)
++{
++ USBWacomState *s = (USBWacomState *) dev;
++
++ qemu_add_mouse_event_handler(NULL, NULL, 0);
++ qemu_free(s);
++}
++
++USBDevice *usb_wacom_init(void)
++{
++ USBWacomState *s;
++
++ s = qemu_mallocz(sizeof(USBWacomState));
++ if (!s)
++ return NULL;
++ s->dev.speed = USB_SPEED_FULL;
++ s->dev.handle_packet = usb_generic_handle_packet;
++
++ s->dev.handle_reset = usb_wacom_handle_reset;
++ s->dev.handle_control = usb_wacom_handle_control;
++ s->dev.handle_data = usb_wacom_handle_data;
++ s->dev.handle_destroy = usb_wacom_handle_destroy;
++
++ pstrcpy(s->dev.devname, sizeof(s->dev.devname),
++ "QEMU PenPartner Tablet");
++
++ return (USBDevice *) s;
++}
+diff -pNaur qemu-cvs-ts-orig/hw/usb.h qemu-cvs-ts/hw/usb.h
+--- qemu-cvs-ts-orig/hw/usb.h 2006-08-12 03:04:27.000000000 +0200
++++ qemu-cvs-ts/hw/usb.h 2006-09-21 01:40:40.000000000 +0200
+@@ -218,3 +218,6 @@ USBDevice *usb_tablet_init(void);
+
+ /* usb-msd.c */
+ USBDevice *usb_msd_init(const char *filename);
++
++/* usb-wacom.c */
++USBDevice *usb_wacom_init(void);
+diff -pNaur qemu-cvs-ts-orig/vl.c qemu-cvs-ts/vl.c
+--- qemu-cvs-ts-orig/vl.c 2006-09-10 16:39:54.000000000 +0200
++++ qemu-cvs-ts/vl.c 2006-09-21 01:45:16.000000000 +0200
+@@ -3765,6 +3765,8 @@ static int usb_device_add(const char *de
+ dev = usb_tablet_init();
+ } else if (strstart(devname, "disk:", &p)) {
+ dev = usb_msd_init(p);
++ } else if (!strcmp(devname, "wacom-tablet")) {
++ dev = usb_wacom_init();
+ } else {
+ return -1;
+ }
+diff -pNaur qemu-cvs-ts-orig/Makefile.target qemu-cvs-ts/Makefile.target
+--- qemu-cvs-ts-orig/Makefile.target 2006-09-18 03:15:29.000000000 +0200
++++ qemu-cvs-ts/Makefile.target 2006-09-21 02:32:19.000000000 +0200
+@@ -330,6 +330,7 @@ VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a
+
+ # USB layer
+ VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o
++VL_OBJS+= usb-wacom.o
+
+ # PCI network cards
+ VL_OBJS+= ne2000.o rtl8139.o pcnet.o
diff --git a/packages/qemu/files/qemu-x-no-sdl.patch b/packages/qemu/files/qemu-x-no-sdl.patch
new file mode 100644
index 0000000000..eb00d9806b
--- /dev/null
+++ b/packages/qemu/files/qemu-x-no-sdl.patch
@@ -0,0 +1,630 @@
+diff -urN qemu-0.8.2/configure qemu-0.8.2-x/configure
+--- qemu-0.8.2/configure 2006-07-22 18:23:34.000000000 +0100
++++ qemu-0.8.2-x/configure 2006-08-24 14:24:33.000000000 +0100
+@@ -492,6 +492,21 @@
+ fi # cross compilation
+ fi # -z $sdl
+
++##########################################
++# X Probe
++
++x11=no
++if test -z "$sdl" || test "$sdl" = "no"; then
++ x11=yes
++fi
++
++if test "$x11" = "yes"; then
++ x11=no
++ if `pkg-config --exists x11 xext`; then
++ x11=yes
++ fi
++fi
++
+ # Check if tools are available to build documentation.
+ if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then
+ build_docs="yes"
+@@ -540,6 +555,7 @@
+ if test "$sdl" != "no" ; then
+ echo "SDL static link $sdl_static"
+ fi
++echo "X11 support $x11"
+ echo "mingw32 support $mingw32"
+ echo "Adlib support $adlib"
+ echo "CoreAudio support $coreaudio"
+@@ -748,14 +764,14 @@
+ fi
+
+ if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
+- -a "$sdl" = "no" -a "$cocoa" = "no" ; then
++ -a "$sdl" = "no" -a "$x11" = "no" -a "$cocoa" = "no" ; then
+ echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
+ echo "To build QEMU without graphical output configure with --disable-gfx-check"
+ echo "Note that this will disable all output from the virtual graphics card."
+ exit 1;
+ fi
+
+-#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
++echo "Creating $config_mak, $config_h and $target_dir/Makefile"
+
+ mkdir -p $target_dir
+ mkdir -p $target_dir/fpu
+@@ -882,6 +898,14 @@
+ fi
+ fi
+
++# x11
++if test "$x11" = "yes"; then
++ echo "#define CONFIG_X11 1" >> $config_h
++ echo "CONFIG_X11=yes" >> $config_mak
++ echo "X11_LIBS=`pkg-config --libs x11 xext`" >> $config_mak
++ echo "X11_CFLAGS=`pkg-config --cflags x11 xext`" >> $config_mak
++fi
++
+ if test "$cocoa" = "yes" ; then
+ echo "#define CONFIG_COCOA 1" >> $config_h
+ echo "CONFIG_COCOA=yes" >> $config_mak
+diff -urN qemu-0.8.2/Makefile.target qemu-0.8.2-x/Makefile.target
+--- qemu-0.8.2/Makefile.target 2006-07-22 18:23:34.000000000 +0100
++++ qemu-0.8.2-x/Makefile.target 2006-08-23 14:47:17.000000000 +0100
+@@ -376,6 +376,9 @@
+ ifdef CONFIG_SDL
+ VL_OBJS+=sdl.o
+ endif
++ifdef CONFIG_X11
++VL_OBJS+=x.o
++endif
+ VL_OBJS+=vnc.o
+ ifdef CONFIG_COCOA
+ VL_OBJS+=cocoa.o
+@@ -426,7 +429,7 @@
+ endif
+
+ $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
+- $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS)
++ $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(X11_LIBS) $(COCOA_LIBS) $(VL_LIBS)
+
+ cocoa.o: cocoa.m
+ $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
+@@ -434,6 +437,10 @@
+ sdl.o: sdl.c keymaps.c sdl_keysym.h
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
++x.o: x.c keymaps.c
++ $(CC) $(CFLAGS) $(DEFINES) $(X11_CFLAGS) -c -o $@ $<
++
++
+ vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
+ $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
+
+diff -urN qemu-0.8.2/vl.c qemu-0.8.2-x/vl.c
+--- qemu-0.8.2/vl.c 2006-07-22 18:23:34.000000000 +0100
++++ qemu-0.8.2-x/vl.c 2006-09-29 18:58:26.000000000 +0100
+@@ -5217,6 +5217,9 @@
+ #ifdef USE_CODE_COPY
+ "-no-code-copy disable code copy acceleration\n"
+ #endif
++#if defined(CONFIG_X11)
++ "-parent xid Use pre-existing window as qemu output window\n"
++#endif
+ #ifdef TARGET_I386
+ "-std-vga simulate a standard VGA card with VESA Bochs Extensions\n"
+ " (default is CL-GD5446 PCI VGA)\n"
+@@ -5302,6 +5305,8 @@
+ QEMU_OPTION_smp,
+ QEMU_OPTION_vnc,
+ QEMU_OPTION_no_acpi,
++
++ QEMU_OPTION_parent_xid,
+ };
+
+ typedef struct QEMUOption {
+@@ -5361,6 +5366,9 @@
+ #if defined(TARGET_PPC) || defined(TARGET_SPARC)
+ { "g", 1, QEMU_OPTION_g },
+ #endif
++#if defined(CONFIG_X11)
++ { "parent", HAS_ARG, QEMU_OPTION_parent_xid },
++#endif
+ { "localtime", 0, QEMU_OPTION_localtime },
+ { "std-vga", 0, QEMU_OPTION_std_vga },
+ { "monitor", 1, QEMU_OPTION_monitor },
+@@ -5608,6 +5616,10 @@
+ char usb_devices[MAX_USB_CMDLINE][128];
+ int usb_devices_index;
+
++#if defined(CONFIG_X11)
++ unsigned long parent_xid = 0;
++#endif
++
+ LIST_INIT (&vm_change_state_head);
+ #ifndef _WIN32
+ {
+@@ -6021,6 +6033,11 @@
+ case QEMU_OPTION_no_acpi:
+ acpi_enabled = 0;
+ break;
++#if defined(CONFIG_X11)
++ case QEMU_OPTION_parent_xid:
++ parent_xid = strtol(optarg, NULL, 0);
++ break;
++#endif
+ }
+ }
+ }
+@@ -6142,6 +6159,8 @@
+ sdl_display_init(ds, full_screen);
+ #elif defined(CONFIG_COCOA)
+ cocoa_display_init(ds, full_screen);
++#elif defined(CONFIG_X11)
++ x_display_init(ds, full_screen, parent_xid);
+ #else
+ dumb_display_init(ds);
+ #endif
+diff -urN qemu-0.8.2/vl.h qemu-0.8.2-x/vl.h
+--- qemu-0.8.2/vl.h 2006-07-22 18:23:34.000000000 +0100
++++ qemu-0.8.2-x/vl.h 2006-09-29 18:35:32.000000000 +0100
+@@ -767,6 +767,9 @@
+ /* vnc.c */
+ void vnc_display_init(DisplayState *ds, int display);
+
++/* x.c */
++void x_display_init(DisplayState *ds, int display, unsigned long parent_xid);
++
+ /* ide.c */
+ #define MAX_DISKS 4
+
+diff -urN qemu-0.8.2/x.c qemu-0.8.2-x/x.c
+--- qemu-0.8.2/x.c 1970-01-01 01:00:00.000000000 +0100
++++ qemu-0.8.2-x/x.c 2006-09-29 18:35:02.000000000 +0100
+@@ -0,0 +1,451 @@
++#include "vl.h"
++
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++#include <X11/Xatom.h>
++#include <X11/keysym.h>
++#include <X11/extensions/XShm.h>
++
++#include <sys/ipc.h>
++#include <sys/shm.h>
++
++typedef struct XHostScreen
++{
++ Display *xdpy;
++ int xscreen;
++ Visual *xvisual;
++ Window xwin, xwinroot;
++ GC xgc;
++ int xdepth;
++ XImage *ximg;
++ int xwin_width, xwin_height;
++ Bool use_fullscreen;
++ Bool have_shm;
++ unsigned char *fb_data;
++ unsigned long cmap[256];
++ XShmSegmentInfo shminfo;
++}
++XHostScreen;
++
++static XHostScreen *xscreen;
++static int trapped_error_code = 0;
++static int (*old_error_handler) (Display *d, XErrorEvent *e);
++
++static void
++x_update(DisplayState *ds, int x, int y, int w, int h);
++
++static int
++error_handler(Display *display,
++ XErrorEvent *error)
++{
++ trapped_error_code = error->error_code;
++ return 0;
++}
++
++static void
++x_errors_trap(void)
++{
++ trapped_error_code = 0;
++ old_error_handler = XSetErrorHandler(error_handler);
++}
++
++static int
++x_errors_untrap(void)
++{
++ XSetErrorHandler(old_error_handler);
++ return trapped_error_code;
++}
++
++static void
++x_update(DisplayState *ds, int x, int y, int w, int h)
++{
++ if (xscreen->have_shm)
++ {
++ XShmPutImage(xscreen->xdpy, xscreen->xwin, xscreen->xgc, xscreen->ximg,
++ x, y, x, y, w, h, False);
++ }
++ else
++ {
++ XPutImage(xscreen->xdpy, xscreen->xwin, xscreen->xgc, xscreen->ximg,
++ x, y, x, y, w, h);
++ }
++
++ XSync(xscreen->xdpy, False);
++}
++
++static void
++x_resize(DisplayState *ds, int w, int h)
++{
++ Bool shm_success = False;
++ int bitmap_pad;
++ XSizeHints *size_hints;
++
++ if (xscreen->ximg != NULL)
++ {
++ if (xscreen->have_shm)
++ {
++ XShmDetach(xscreen->xdpy, &xscreen->shminfo);
++ XDestroyImage (xscreen->ximg);
++ shmdt(xscreen->shminfo.shmaddr);
++ shmctl(xscreen->shminfo.shmid, IPC_RMID, 0);
++ }
++ else
++ {
++ if (xscreen->ximg->data)
++ {
++ free(xscreen->ximg->data);
++ xscreen->ximg->data = NULL;
++ }
++
++ XDestroyImage(xscreen->ximg);
++ }
++ }
++
++ if (xscreen->have_shm)
++ {
++ xscreen->ximg = XShmCreateImage(xscreen->xdpy,
++ xscreen->xvisual,
++ xscreen->xdepth,
++ ZPixmap,
++ NULL,
++ &xscreen->shminfo,
++ w, h );
++
++ xscreen->shminfo.shmid
++ = shmget(IPC_PRIVATE,
++ xscreen->ximg->bytes_per_line * h,
++ IPC_CREAT|0777);
++ xscreen->shminfo.shmaddr = xscreen->ximg->data
++ = shmat(xscreen->shminfo.shmid, 0, 0);
++
++ if (xscreen->ximg->data == (char *)-1)
++ {
++ xscreen->have_shm = False;
++ XDestroyImage(xscreen->ximg);
++ shmctl(xscreen->shminfo.shmid, IPC_RMID, 0);
++ }
++ else
++ {
++ xscreen->shminfo.readOnly = False;
++ XShmAttach(xscreen->xdpy, &xscreen->shminfo);
++ shm_success = True;
++ }
++ }
++
++ if (!shm_success)
++ {
++ bitmap_pad = ( xscreen->xdepth > 16 ) ?
++ 32 : (( xscreen->xdepth > 8 )? 16 : 8 );
++
++ xscreen->ximg = XCreateImage( xscreen->xdpy,
++ xscreen->xvisual,
++ xscreen->xdepth,
++ ZPixmap, 0, 0,
++ w,
++ h,
++ bitmap_pad,
++ 0);
++
++ xscreen->ximg->data
++ = malloc( xscreen->ximg->bytes_per_line * h );
++ }
++
++ XResizeWindow(xscreen->xdpy, xscreen->xwin, w, h);
++
++ /* Ask the WM to keep our size static */
++ size_hints = XAllocSizeHints();
++ size_hints->max_width = size_hints->min_width = w;
++ size_hints->max_height = size_hints->min_height = h;
++ size_hints->flags = PMinSize|PMaxSize;
++ XSetWMNormalHints(xscreen->xdpy, xscreen->xwin, size_hints);
++ XFree(size_hints);
++
++ XMapWindow(xscreen->xdpy, xscreen->xwin);
++
++ XSync(xscreen->xdpy, False);
++
++ xscreen->xwin_width = w;
++ xscreen->xwin_height = h;
++
++ if (1) // (ds->depth == xscreen->xdepth)
++ {
++ ds->data = xscreen->ximg->data;
++ }
++ else
++ {
++ xscreen->fb_data = malloc(w*h*(ds->depth>>3));
++ ds->data = xscreen->fb_data;
++ }
++
++ ds->linesize = xscreen->ximg->bytes_per_line;
++ ds->depth = (xscreen->xdepth >= 24) ? 32 : xscreen->xdepth;
++ ds->bgr = 0;
++
++#if 0
++ if (ds->depth == 32 && screen->format->Rshift == 0) {
++ ds->bgr = 1;
++ } else {
++ ds->bgr = 0;
++ }
++#endif
++
++ ds->width = w;
++ ds->height = h;
++
++}
++
++static void
++x_refresh(DisplayState *ds)
++{
++ vga_hw_update();
++}
++
++static int
++x_listen_poll(void *opaque)
++{
++ return XPending(xscreen->xdpy);
++}
++
++static void
++x_grab(void)
++{
++ static Bool grab = False;
++
++ if (!grab)
++ {
++ if (XGrabPointer (xscreen->xdpy, xscreen->xwin,
++ True,
++ NoEventMask,
++ GrabModeAsync,
++ GrabModeAsync,
++ xscreen->xwin, None, CurrentTime) == 0
++ && XGrabKeyboard (xscreen->xdpy, xscreen->xwin, True,
++ GrabModeAsync,
++ GrabModeAsync,
++ CurrentTime) == 0)
++ {
++ grab = True;
++ XStoreName(xscreen->xdpy, xscreen->xwin,
++ "QEmu (ctrl+shift releases mouse and keyboard )");
++ }
++ }
++ else
++ {
++ XUngrabPointer (xscreen->xdpy, CurrentTime);
++ XUngrabKeyboard (xscreen->xdpy, CurrentTime);
++ grab = False;
++ XStoreName(xscreen->xdpy, xscreen->xwin,
++ "QEmu (ctrl+shift grabs mouse and keyboard )");
++ }
++}
++
++static void
++x_listen_read(void *opaque)
++{
++ XEvent xev;
++ DisplayState *ds = opaque;
++ Bool grabbed = False;
++ static int last_x = 0, last_y = 0, button_state = 0, state;
++
++ if (XPending(xscreen->xdpy))
++ {
++ XNextEvent(xscreen->xdpy, &xev);
++
++ switch (xev.type)
++ {
++ case EnterNotify:
++ case LeaveNotify:
++ break;
++ case FocusIn:
++ if (!kbd_mouse_is_absolute())
++ x_grab();
++ break;
++ case FocusOut:
++ break;
++ case Expose:
++ while (XCheckTypedWindowEvent(xscreen->xdpy, xev.xexpose.window,
++ Expose, &xev));
++ x_update(ds, 0, 0,
++ xscreen->xwin_width,
++ xscreen->xwin_height);
++ break;
++ case KeyRelease:
++ if ((XKeycodeToKeysym(xscreen->xdpy,
++ xev.xkey.keycode,0) == XK_Shift_L
++ || XKeycodeToKeysym(xscreen->xdpy,
++ xev.xkey.keycode,0) == XK_Shift_R)
++ && (xev.xkey.state & ControlMask))
++ {
++ x_grab();
++ break;
++ }
++ case KeyPress:
++ {
++ int keycode = xev.xkey.keycode-8; /* X adds 8 to keycode */
++
++ /* FIXME: LUT needed here me thinks */
++
++ if (keycode & 0x80) /* Extended */
++ kbd_put_keycode(0xe0);
++
++ if (xev.type == KeyPress)
++ kbd_put_keycode(keycode & 0x7f);
++ else
++ kbd_put_keycode(keycode | 0x80);
++ }
++ break;
++ case ButtonPress:
++ case ButtonRelease:
++ case MotionNotify:
++ {
++ int ev_state, ev_x, ev_y, dx, dy;
++
++ state = 0;
++
++ if (xev.type == MotionNotify)
++ {
++ ev_state = xev.xmotion.state;
++ ev_x = xev.xmotion.x;
++ ev_y = xev.xmotion.y;
++
++ if (ev_state & Button1Mask)
++ state |= MOUSE_EVENT_LBUTTON;
++ if (ev_state & Button2Mask)
++ state |= MOUSE_EVENT_RBUTTON;
++ if (ev_state & Button3Mask)
++ state |= MOUSE_EVENT_MBUTTON;
++
++ /* Touchscreen dont send motion notifys */
++ if (kbd_mouse_is_absolute() && state == 0)
++ break;
++ }
++ else
++ {
++ ev_state = xev.xbutton.state;
++ ev_x = xev.xbutton.x;
++ ev_y = xev.xbutton.y;
++
++ if (xev.type == ButtonPress)
++ {
++ if (xev.xbutton.button == Button1)
++ state |= MOUSE_EVENT_LBUTTON;
++ if (xev.xbutton.state == Button1)
++ state |= MOUSE_EVENT_RBUTTON;
++ if (xev.xbutton.state & Button3)
++ state |= MOUSE_EVENT_MBUTTON;
++ }
++ }
++
++ if (kbd_mouse_is_absolute())
++ {
++ dx = ev_x * 0x7FFF / xscreen->xwin_width;
++ dy = ev_y * 0x7FFF / xscreen->xwin_height;
++ }
++ else
++ {
++ dx = ev_x - last_x;
++ dy = ev_y - last_y;
++ }
++
++ kbd_mouse_event(dx, dy, 0, state);
++
++ last_x = ev_x;
++ last_y = ev_y;
++ }
++ break;
++ default:
++ break;
++
++ }
++ }
++ return;
++}
++
++void
++x_display_init(DisplayState *ds, int full_screen, unsigned long parent_xid)
++{
++ Cursor empty_cursor;
++ Pixmap cursor_pxm;
++ XColor col;
++ XSetWindowAttributes attr;
++
++ xscreen = malloc(sizeof(XHostScreen));
++ memset(xscreen, 0, sizeof(XHostScreen));
++
++ if ((xscreen->xdpy = XOpenDisplay(getenv("DISPLAY"))) == NULL)
++ {
++ fprintf(stderr, "\nqemu cannot open host display. Is DISPLAY set?\n");
++ exit(-1);
++ }
++
++ xscreen->xscreen = DefaultScreen(xscreen->xdpy);
++ xscreen->xwinroot = RootWindow(xscreen->xdpy, xscreen->xscreen);
++ xscreen->xgc = XCreateGC(xscreen->xdpy, xscreen->xwinroot, 0, NULL);
++ xscreen->xdepth = DefaultDepth(xscreen->xdpy, xscreen->xscreen);
++ xscreen->xvisual = DefaultVisual(xscreen->xdpy, xscreen->xscreen);
++
++ attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask
++ |KeyPressMask|KeyReleaseMask|ExposureMask
++ |FocusChangeMask|EnterWindowMask|LeaveWindowMask;
++
++ xscreen->xwin = XCreateWindow(xscreen->xdpy,
++ xscreen->xwinroot,
++ 0,0,640,480,
++ 0,
++ CopyFromParent,
++ CopyFromParent,
++ CopyFromParent,
++ CWEventMask,
++ &attr);
++
++ xscreen->have_shm = True;
++
++ if (!XShmQueryExtension(xscreen->xdpy) || getenv("QEMU_X_NO_SHM"))
++ {
++ xscreen->have_shm = False;
++ }
++ else
++ {
++ XShmSegmentInfo shminfo;
++
++ shminfo.shmid=shmget(IPC_PRIVATE, 1, IPC_CREAT|0777);
++ shminfo.shmaddr=shmat(shminfo.shmid,0,0);
++ shminfo.readOnly=True;
++
++ x_errors_trap();
++
++ XShmAttach(xscreen->xdpy, &shminfo);
++ XSync(xscreen->xdpy, False);
++
++ if (x_errors_untrap())
++ {
++ fprintf(stderr, "QEmu unable to use SHM XImages\n");
++ xscreen->have_shm = False;
++ }
++
++ shmdt(shminfo.shmaddr);
++ shmctl(shminfo.shmid, IPC_RMID, 0);
++ }
++
++ if (!kbd_mouse_is_absolute())
++ {
++ /* Only hide cursor if were not a touchscreen */
++ cursor_pxm = XCreatePixmap (xscreen->xdpy, xscreen->xwinroot, 1, 1, 1);
++ memset (&col, 0, sizeof (col));
++ empty_cursor = XCreatePixmapCursor (xscreen->xdpy,
++ cursor_pxm, cursor_pxm,
++ &col, &col, 1, 1);
++ XDefineCursor (xscreen->xdpy, xscreen->xwin, empty_cursor);
++ XFreePixmap (xscreen->xdpy, cursor_pxm);
++ }
++
++ ds->dpy_update = x_update;
++ ds->dpy_resize = x_resize;
++ ds->dpy_refresh = x_refresh;
++
++ if ((qemu_set_fd_handler2 (ConnectionNumber(xscreen->xdpy),
++ x_listen_poll, x_listen_read, NULL, ds)) == -1)
++ exit(-1);
++
++ x_resize(ds, 640, 480);
++}
diff --git a/packages/qemu/qemu-0.8.0/arm_nptl.patch b/packages/qemu/qemu-0.8.0/arm_nptl.patch
deleted file mode 100644
index daf105071c..0000000000
--- a/packages/qemu/qemu-0.8.0/arm_nptl.patch
+++ /dev/null
@@ -1,854 +0,0 @@
-diff -ur qemu-0.8.0.orig/configure qemu-0.8.0/configure
---- qemu-0.8.0.orig/configure 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/configure 2006-07-12 15:26:40.000000000 +0300
-@@ -89,6 +89,7 @@
- cocoa="no"
- check_gfx="yes"
- check_gcc="yes"
-+nptl=yes
-
- # OS specific
- targetos=`uname -s`
-@@ -205,6 +206,8 @@
- ;;
- --disable-gcc-check) check_gcc="no"
- ;;
-+ --disable-nptl) nptl="no"
-+ ;;
- esac
- done
-
-@@ -299,6 +302,23 @@
- fi
- fi
-
-+# check NPTL support
-+cat > $TMPC <<EOF
-+#include <sched.h>
-+void foo()
-+{
-+#ifndef CLONE_SETTLS
-+#error bork
-+#endif
-+}
-+EOF
-+
-+if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
-+ :
-+else
-+ nptl="no"
-+fi
-+
- ##########################################
- # SDL probe
-
-@@ -489,6 +509,7 @@
- fi
- echo ""
- echo "kqemu support $kqemu"
-+echo "NPTL support $nptl"
- if test $kqemu = "yes" -a $linux = "yes" ; then
- echo ""
- echo "KQEMU Linux module configuration:"
-@@ -793,6 +814,14 @@
- fi
- echo "" >> $config_mak
- fi
-+else
-+ if test "$nptl" = "yes" ; then
-+ case "$target_cpu" in
-+ arm | armeb)
-+ echo "#define USE_NPTL 1" >> $config_h
-+ ;;
-+ esac
-+ fi
- fi
-
- if test "$cocoa" = "yes" ; then
-Only in qemu-0.8.0: configure.rej~
-Only in qemu-0.8.0: configure~
-diff -ur qemu-0.8.0.orig/exec-all.h qemu-0.8.0/exec-all.h
---- qemu-0.8.0.orig/exec-all.h 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/exec-all.h 2006-07-12 15:23:46.000000000 +0300
-@@ -347,163 +347,7 @@
- extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
- extern void *io_mem_opaque[IO_MEM_NB_ENTRIES];
-
--#ifdef __powerpc__
--static inline int testandset (int *p)
--{
-- int ret;
-- __asm__ __volatile__ (
-- "0: lwarx %0,0,%1\n"
-- " xor. %0,%3,%0\n"
-- " bne 1f\n"
-- " stwcx. %2,0,%1\n"
-- " bne- 0b\n"
-- "1: "
-- : "=&r" (ret)
-- : "r" (p), "r" (1), "r" (0)
-- : "cr0", "memory");
-- return ret;
--}
--#endif
--
--#ifdef __i386__
--static inline int testandset (int *p)
--{
-- long int readval = 0;
--
-- __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-- : "+m" (*p), "+a" (readval)
-- : "r" (1)
-- : "cc");
-- return readval;
--}
--#endif
--
--#ifdef __x86_64__
--static inline int testandset (int *p)
--{
-- long int readval = 0;
--
-- __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-- : "+m" (*p), "+a" (readval)
-- : "r" (1)
-- : "cc");
-- return readval;
--}
--#endif
--
--#ifdef __s390__
--static inline int testandset (int *p)
--{
-- int ret;
--
-- __asm__ __volatile__ ("0: cs %0,%1,0(%2)\n"
-- " jl 0b"
-- : "=&d" (ret)
-- : "r" (1), "a" (p), "0" (*p)
-- : "cc", "memory" );
-- return ret;
--}
--#endif
--
--#ifdef __alpha__
--static inline int testandset (int *p)
--{
-- int ret;
-- unsigned long one;
--
-- __asm__ __volatile__ ("0: mov 1,%2\n"
-- " ldl_l %0,%1\n"
-- " stl_c %2,%1\n"
-- " beq %2,1f\n"
-- ".subsection 2\n"
-- "1: br 0b\n"
-- ".previous"
-- : "=r" (ret), "=m" (*p), "=r" (one)
-- : "m" (*p));
-- return ret;
--}
--#endif
--
--#ifdef __sparc__
--static inline int testandset (int *p)
--{
-- int ret;
--
-- __asm__ __volatile__("ldstub [%1], %0"
-- : "=r" (ret)
-- : "r" (p)
-- : "memory");
--
-- return (ret ? 1 : 0);
--}
--#endif
--
--#ifdef __arm__
--static inline int testandset (int *spinlock)
--{
-- register unsigned int ret;
-- __asm__ __volatile__("swp %0, %1, [%2]"
-- : "=r"(ret)
-- : "0"(1), "r"(spinlock));
--
-- return ret;
--}
--#endif
--
--#ifdef __mc68000
--static inline int testandset (int *p)
--{
-- char ret;
-- __asm__ __volatile__("tas %1; sne %0"
-- : "=r" (ret)
-- : "m" (p)
-- : "cc","memory");
-- return ret;
--}
--#endif
--
--#ifdef __ia64
--#include <ia64intrin.h>
--
--static inline int testandset (int *p)
--{
-- return __sync_lock_test_and_set (p, 1);
--}
--#endif
--
--typedef int spinlock_t;
--
--#define SPIN_LOCK_UNLOCKED 0
--
--#if defined(CONFIG_USER_ONLY)
--static inline void spin_lock(spinlock_t *lock)
--{
-- while (testandset(lock));
--}
--
--static inline void spin_unlock(spinlock_t *lock)
--{
-- *lock = 0;
--}
--
--static inline int spin_trylock(spinlock_t *lock)
--{
-- return !testandset(lock);
--}
--#else
--static inline void spin_lock(spinlock_t *lock)
--{
--}
--
--static inline void spin_unlock(spinlock_t *lock)
--{
--}
--
--static inline int spin_trylock(spinlock_t *lock)
--{
-- return 1;
--}
--#endif
-+#include "qemu_spinlock.h"
-
- extern spinlock_t tb_lock;
-
-diff -ur qemu-0.8.0.orig/linux-user/arm/syscall.h qemu-0.8.0/linux-user/arm/syscall.h
---- qemu-0.8.0.orig/linux-user/arm/syscall.h 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/linux-user/arm/syscall.h 2006-07-12 15:23:46.000000000 +0300
-@@ -28,7 +28,9 @@
- #define ARM_SYSCALL_BASE 0x900000
- #define ARM_THUMB_SYSCALL 0
-
--#define ARM_NR_cacheflush (ARM_SYSCALL_BASE + 0xf0000 + 2)
-+#define ARM_NR_BASE 0xf0000
-+#define ARM_NR_cacheflush (ARM_NR_BASE + 2)
-+#define ARM_NR_set_tls (ARM_NR_BASE + 5)
-
- #define ARM_NR_semihosting 0x123456
- #define ARM_NR_thumb_semihosting 0xAB
-diff -ur qemu-0.8.0.orig/linux-user/main.c qemu-0.8.0/linux-user/main.c
---- qemu-0.8.0.orig/linux-user/main.c 2006-07-12 15:20:37.000000000 +0300
-+++ qemu-0.8.0/linux-user/main.c 2006-07-12 15:23:46.000000000 +0300
-@@ -326,6 +326,50 @@
- }
- }
-
-+/* Handle a jump to the kernel code page. */
-+static int
-+do_kernel_trap(CPUARMState *env)
-+{
-+ uint32_t addr;
-+ uint32_t *ptr;
-+ uint32_t cpsr;
-+
-+ switch (env->regs[15]) {
-+ case 0xffff0fc0: /* __kernel_cmpxchg */
-+ /* XXX: This only works between threads, not between processes.
-+ Use native atomic operations. */
-+ /* ??? This probably breaks horribly if the access segfaults. */
-+ cpu_lock();
-+ ptr = (uint32_t *)env->regs[2];
-+ cpsr = cpsr_read(env);
-+ if (*ptr == env->regs[0]) {
-+ *ptr = env->regs[1];
-+ env->regs[0] = 0;
-+ cpsr |= CPSR_C;
-+ } else {
-+ env->regs[0] = -1;
-+ cpsr &= ~CPSR_C;
-+ }
-+ cpsr_write(env, cpsr, CPSR_C);
-+ cpu_unlock();
-+ break;
-+ case 0xffff0fe0: /* __kernel_get_tls */
-+ env->regs[0] = env->cp15.c13_tls;
-+ break;
-+ default:
-+ return 1;
-+ }
-+ /* Jump back to the caller. */
-+ addr = env->regs[14];
-+ if (addr & 1) {
-+ env->thumb = 1;
-+ addr &= ~1;
-+ }
-+ env->regs[15] = addr;
-+
-+ return 0;
-+}
-+
- void cpu_loop(CPUARMState *env)
- {
- int trapnr;
-@@ -368,10 +412,8 @@
- n = insn & 0xffffff;
- }
-
-- if (n == ARM_NR_cacheflush) {
-- arm_cache_flush(env->regs[0], env->regs[1]);
-- } else if (n == ARM_NR_semihosting
-- || n == ARM_NR_thumb_semihosting) {
-+ if (n == ARM_NR_semihosting
-+ || n == ARM_NR_thumb_semihosting) {
- env->regs[0] = do_arm_semihosting (env);
- } else if (n >= ARM_SYSCALL_BASE
- || (env->thumb && n == ARM_THUMB_SYSCALL)) {
-@@ -381,14 +423,34 @@
- } else {
- n -= ARM_SYSCALL_BASE;
- }
-- env->regs[0] = do_syscall(env,
-- n,
-- env->regs[0],
-- env->regs[1],
-- env->regs[2],
-- env->regs[3],
-- env->regs[4],
-- env->regs[5]);
-+ if ( n > ARM_NR_BASE) {
-+ switch (n)
-+ {
-+ case ARM_NR_cacheflush:
-+ arm_cache_flush(env->regs[0], env->regs[1]);
-+ break;
-+#ifdef USE_NPTL
-+ case ARM_NR_set_tls:
-+ cpu_set_tls(env, env->regs[0]);
-+ env->regs[0] = 0;
-+ break;
-+#endif
-+ default:
-+ printf ("Error: Bad syscall: %x\n", n);
-+ goto error;
-+ }
-+ }
-+ else
-+ {
-+ env->regs[0] = do_syscall(env,
-+ n,
-+ env->regs[0],
-+ env->regs[1],
-+ env->regs[2],
-+ env->regs[3],
-+ env->regs[4],
-+ env->regs[5]);
-+ }
- } else {
- goto error;
- }
-@@ -427,6 +489,10 @@
- }
- }
- break;
-+ case EXCP_KERNEL_TRAP:
-+ if (do_kernel_trap(env))
-+ goto error;
-+ break;
- default:
- error:
- fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",
-@@ -1602,6 +1668,10 @@
- ts->heap_base = info->brk;
- /* This will be filled in on the first SYS_HEAPINFO call. */
- ts->heap_limit = 0;
-+ /* Register the magic kernel code page. The cpu will generate a
-+ special exception when it tries to execute code here. We can't
-+ put real code here because it may be in use by the host kernel. */
-+ page_set_flags(0xffff0000, 0xffff0fff, 0);
- }
- #elif defined(TARGET_SPARC)
- {
-diff -ur qemu-0.8.0.orig/linux-user/qemu.h qemu-0.8.0/linux-user/qemu.h
---- qemu-0.8.0.orig/linux-user/qemu.h 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/linux-user/qemu.h 2006-07-12 15:23:46.000000000 +0300
-@@ -76,6 +76,9 @@
- uint32_t v86mask;
- #endif
- int used; /* non zero if used */
-+#ifdef USE_NPTL
-+ uint32_t *child_tidptr;
-+#endif
- uint8_t stack[0];
- } __attribute__((aligned(16))) TaskState;
-
-Only in qemu-0.8.0.orig/linux-user: signal.c.orig
-diff -ur qemu-0.8.0.orig/linux-user/syscall.c qemu-0.8.0/linux-user/syscall.c
---- qemu-0.8.0.orig/linux-user/syscall.c 2006-07-12 15:20:37.000000000 +0300
-+++ qemu-0.8.0/linux-user/syscall.c 2006-07-12 15:36:51.000000000 +0300
-@@ -72,9 +72,18 @@
- #include <linux/kd.h>
-
- #include "qemu.h"
-+#include "qemu_spinlock.h"
-
- //#define DEBUG
-
-+#ifdef USE_NPTL
-+#define CLONE_NPTL_FLAGS2 (CLONE_SETTLS | \
-+ CLONE_PARENT_SETTID | CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID)
-+#else
-+/* XXX: Hardcode the above values. */
-+#define CLONE_NPTL_FLAGS2 0
-+#endif
-+
- #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC)
- /* 16 bit uid wrappers emulation */
- #define USE_UID16
-@@ -1527,20 +1536,38 @@
- thread/process */
- #define NEW_STACK_SIZE 8192
-
-+#ifdef USE_NPTL
-+static spinlock_t nptl_lock = SPIN_LOCK_UNLOCKED;
-+#endif
-+
- static int clone_func(void *arg)
- {
- CPUState *env = arg;
-+#ifdef HAVE_NPTL
-+ /* Wait until the parent has finshed initializing the tls state. */
-+ while (!spin_trylock(&nptl_lock))
-+ usleep(1);
-+ spin_unlock(&nptl_lock);
-+#endif
- cpu_loop(env);
- /* never exits */
- return 0;
- }
-
--int do_fork(CPUState *env, unsigned int flags, unsigned long newsp)
-+int do_fork(CPUState *env, unsigned int flags, unsigned long newsp,
-+ uint32_t *parent_tidptr, void *newtls,
-+ uint32_t *child_tidptr)
- {
- int ret;
- TaskState *ts;
- uint8_t *new_stack;
- CPUState *new_env;
-+#ifdef USE_NPTL
-+ unsigned int nptl_flags;
-+
-+ if (flags & CLONE_PARENT_SETTID)
-+ *parent_tidptr = gettid();
-+#endif
-
- if (flags & CLONE_VM) {
- ts = malloc(sizeof(TaskState) + NEW_STACK_SIZE);
-@@ -1576,16 +1603,62 @@
- #error unsupported target CPU
- #endif
- new_env->opaque = ts;
-+#ifdef USE_NPTL
-+ nptl_flags = flags;
-+ flags &= ~CLONE_NPTL_FLAGS2;
-+
-+ if (nptl_flags & CLONE_CHILD_CLEARTID) {
-+ ts->child_tidptr = child_tidptr;
-+ }
-+
-+ if (nptl_flags & CLONE_SETTLS)
-+ cpu_set_tls (new_env, newtls);
-+ /* Grab the global cpu lock so that the thread setup appears
-+ atomic. */
-+ if (nptl_flags & CLONE_CHILD_SETTID)
-+ spin_lock(&nptl_lock);
-+#else
-+ if (flags & CLONE_NPTL_FLAGS2)
-+ return -EINVAL;
-+#endif
-+
- #ifdef __ia64__
- ret = clone2(clone_func, new_stack + NEW_STACK_SIZE, flags, new_env);
- #else
- ret = clone(clone_func, new_stack + NEW_STACK_SIZE, flags, new_env);
- #endif
-+#ifdef USE_NPTL
-+ if (ret != -1) {
-+ if (nptl_flags & CLONE_CHILD_SETTID)
-+ *child_tidptr = ret;
-+ }
-+ /* Allow the child to continue. */
-+ if (nptl_flags & CLONE_CHILD_SETTID)
-+ spin_unlock(&nptl_lock);
-+#endif
- } else {
- /* if no CLONE_VM, we consider it is a fork */
-- if ((flags & ~CSIGNAL) != 0)
-+ if ((flags & ~(CSIGNAL | CLONE_NPTL_FLAGS2)) != 0)
- return -EINVAL;
- ret = fork();
-+#ifdef USE_NPTL
-+ /* There is a race condition here. The parent process could
-+ theoretically read the TID in the child process before the child
-+ tid is set. This would require using either ptrace
-+ (not implemented) or having *_tidptr to point at a shared memory
-+ mapping. We can't repeat the spinlock hack used above because
-+ the child process gets its own copy of the lock. */
-+ if (ret == 0) {
-+ /* Child Process. */
-+ if (flags & CLONE_CHILD_SETTID)
-+ *child_tidptr = gettid();
-+ ts = (TaskState *)env->opaque;
-+ if (flags & CLONE_CHILD_CLEARTID)
-+ ts->child_tidptr = child_tidptr;
-+ if (flags & CLONE_SETTLS)
-+ cpu_set_tls (env, newtls);
-+ }
-+#endif
- }
- return ret;
- }
-@@ -1757,7 +1830,7 @@
- ret = do_brk((char *)arg1);
- break;
- case TARGET_NR_fork:
-- ret = get_errno(do_fork(cpu_env, SIGCHLD, 0));
-+ ret = get_errno(do_fork(cpu_env, SIGCHLD, 0, NULL, NULL, NULL));
- break;
- case TARGET_NR_waitpid:
- {
-@@ -2564,7 +2637,8 @@
- ret = get_errno(fsync(arg1));
- break;
- case TARGET_NR_clone:
-- ret = get_errno(do_fork(cpu_env, arg1, arg2));
-+ ret = get_errno(do_fork(cpu_env, arg1, arg2, (uint32_t *)arg3,
-+ (void *)arg4, (uint32_t *)arg5));
- break;
- #ifdef __NR_exit_group
- /* new thread calls */
-@@ -2925,7 +2999,8 @@
- #endif
- #ifdef TARGET_NR_vfork
- case TARGET_NR_vfork:
-- ret = get_errno(do_fork(cpu_env, CLONE_VFORK | CLONE_VM | SIGCHLD, 0));
-+ ret = get_errno(do_fork(cpu_env, CLONE_VFORK | CLONE_VM | SIGCHLD, 0,
-+ NULL, NULL, NULL));
- break;
- #endif
- #ifdef TARGET_NR_ugetrlimit
-@@ -3347,4 +3422,3 @@
- #endif
- return ret;
- }
--
-Only in qemu-0.8.0.orig/linux-user: syscall.c.orig
-Only in qemu-0.8.0/linux-user: syscall.c.rej~
-Only in qemu-0.8.0/linux-user: syscall.c~
-Only in qemu-0.8.0: qemu_spinlock.h
-diff -ur qemu-0.8.0.orig/target-arm/cpu.h qemu-0.8.0/target-arm/cpu.h
---- qemu-0.8.0.orig/target-arm/cpu.h 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/target-arm/cpu.h 2006-07-12 15:27:28.000000000 +0300
-@@ -34,6 +34,9 @@
- #define EXCP_DATA_ABORT 4
- #define EXCP_IRQ 5
- #define EXCP_FIQ 6
-+#define EXCP_BKPT 7
-+#define EXCP_KERNEL_TRAP 8 /* Jumped to kernel code page. */
-+
-
- /* We currently assume float and double are IEEE single and double
- precision respectively.
-@@ -83,6 +86,7 @@
- uint32_t c9_data;
- uint32_t c13_fcse; /* FCSE PID. */
- uint32_t c13_context; /* Context ID. */
-+ uint32_t c13_tls; /* Paul Brook told me to just add this ;) */
- } cp15;
-
- /* exception/interrupt handling */
-@@ -126,6 +130,15 @@
- int cpu_arm_signal_handler(int host_signum, struct siginfo *info,
- void *puc);
-
-+void cpu_lock(void);
-+void cpu_unlock(void);
-+#if defined(USE_NPTL)
-+static inline void cpu_set_tls(CPUARMState *env, void *newtls)
-+{
-+ env->cp15.c13_tls = (uint32_t)newtls;
-+}
-+#endif
-+
- #define CPSR_M (0x1f)
- #define CPSR_T (1 << 5)
- #define CPSR_F (1 << 6)
-@@ -137,7 +150,11 @@
- #define CPSR_J (1 << 24)
- #define CPSR_IT_0_1 (3 << 25)
- #define CPSR_Q (1 << 27)
--#define CPSR_NZCV (0xf << 28)
-+#define CPSR_V (1 << 28)
-+#define CPSR_C (1 << 29)
-+#define CPSR_Z (1 << 30)
-+#define CPSR_N (1 << 31)
-+#define CPSR_NZCV (CPSR_N | CPSR_Z | CPSR_C | CPSR_V)
-
- #define CACHED_CPSR_BITS (CPSR_T | CPSR_Q | CPSR_NZCV)
- /* Return the current CPSR value. */
-Only in qemu-0.8.0/target-arm: cpu.h~
-diff -ur qemu-0.8.0.orig/target-arm/exec.h qemu-0.8.0/target-arm/exec.h
---- qemu-0.8.0.orig/target-arm/exec.h 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/target-arm/exec.h 2006-07-12 15:23:46.000000000 +0300
-@@ -51,8 +51,6 @@
-
- /* In op_helper.c */
-
--void cpu_lock(void);
--void cpu_unlock(void);
- void helper_set_cp15(CPUState *, uint32_t, uint32_t);
- uint32_t helper_get_cp15(CPUState *, uint32_t);
-
-diff -ur qemu-0.8.0.orig/target-arm/op.c qemu-0.8.0/target-arm/op.c
---- qemu-0.8.0.orig/target-arm/op.c 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/target-arm/op.c 2006-07-12 15:23:46.000000000 +0300
-@@ -885,6 +885,12 @@
- cpu_loop_exit();
- }
-
-+void OPPROTO op_kernel_trap(void)
-+{
-+ env->exception_index = EXCP_KERNEL_TRAP;
-+ cpu_loop_exit();
-+}
-+
- /* VFP support. We follow the convention used for VFP instrunctions:
- Single precition routines have a "s" suffix, double precision a
- "d" suffix. */
-diff -ur qemu-0.8.0.orig/target-arm/translate.c qemu-0.8.0/target-arm/translate.c
---- qemu-0.8.0.orig/target-arm/translate.c 2005-12-20 00:51:53.000000000 +0200
-+++ qemu-0.8.0/target-arm/translate.c 2006-07-12 15:23:46.000000000 +0300
-@@ -2282,6 +2282,7 @@
- s->is_jmp = DISAS_JUMP;
- }
-
-+
- /* generate intermediate code in gen_opc_buf and gen_opparam_buf for
- basic block 'tb'. If search_pc is TRUE, also generate PC
- information for each intermediate instruction. */
-@@ -2316,6 +2317,15 @@
- nb_gen_labels = 0;
- lj = -1;
- do {
-+#ifdef CONFIG_USER_ONLY
-+ /* Intercept jump to the magic kernel page. */
-+ if (dc->pc > 0xffff0000) {
-+ gen_op_kernel_trap();
-+ dc->is_jmp = DISAS_UPDATE;
-+ break;
-+ }
-+#endif
-+
- if (env->nb_breakpoints > 0) {
- for(j = 0; j < env->nb_breakpoints; j++) {
- if (env->breakpoints[j] == dc->pc) {
-diff -urN qemu-0.8.1.orig/qemu_spinlock.h qemu-0.8.1/qemu_spinlock.h
---- qemu-0.8.1.orig/qemu_spinlock.h 1970-01-01 02:00:00.000000000 +0200
-+++ qemu-0.8.1/qemu_spinlock.h 2006-06-04 00:59:23.000000000 +0300
-@@ -0,0 +1,182 @@
-+/*
-+ * internal execution defines for qemu
-+ *
-+ * Copyright (c) 2003 Fabrice Bellard
-+ *
-+ * 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
-+ */
-+
-+#ifndef _QEMU_SPINLOCK_H
-+#define _QEMU_SPINLOCK_H
-+
-+#ifdef __powerpc__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+ __asm__ __volatile__ (
-+ "0: lwarx %0,0,%1\n"
-+ " xor. %0,%3,%0\n"
-+ " bne 1f\n"
-+ " stwcx. %2,0,%1\n"
-+ " bne- 0b\n"
-+ "1: "
-+ : "=&r" (ret)
-+ : "r" (p), "r" (1), "r" (0)
-+ : "cr0", "memory");
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __i386__
-+static inline int testandset (int *p)
-+{
-+ long int readval = 0;
-+
-+ __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-+ : "+m" (*p), "+a" (readval)
-+ : "r" (1)
-+ : "cc");
-+ return readval;
-+}
-+#endif
-+
-+#ifdef __x86_64__
-+static inline int testandset (int *p)
-+{
-+ long int readval = 0;
-+
-+ __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-+ : "+m" (*p), "+a" (readval)
-+ : "r" (1)
-+ : "cc");
-+ return readval;
-+}
-+#endif
-+
-+#ifdef __s390__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+
-+ __asm__ __volatile__ ("0: cs %0,%1,0(%2)\n"
-+ " jl 0b"
-+ : "=&d" (ret)
-+ : "r" (1), "a" (p), "0" (*p)
-+ : "cc", "memory" );
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __alpha__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+ unsigned long one;
-+
-+ __asm__ __volatile__ ("0: mov 1,%2\n"
-+ " ldl_l %0,%1\n"
-+ " stl_c %2,%1\n"
-+ " beq %2,1f\n"
-+ ".subsection 2\n"
-+ "1: br 0b\n"
-+ ".previous"
-+ : "=r" (ret), "=m" (*p), "=r" (one)
-+ : "m" (*p));
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __sparc__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+
-+ __asm__ __volatile__("ldstub [%1], %0"
-+ : "=r" (ret)
-+ : "r" (p)
-+ : "memory");
-+
-+ return (ret ? 1 : 0);
-+}
-+#endif
-+
-+#ifdef __arm__
-+static inline int testandset (int *spinlock)
-+{
-+ register unsigned int ret;
-+ __asm__ __volatile__("swp %0, %1, [%2]"
-+ : "=r"(ret)
-+ : "0"(1), "r"(spinlock));
-+
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __mc68000
-+static inline int testandset (int *p)
-+{
-+ char ret;
-+ __asm__ __volatile__("tas %1; sne %0"
-+ : "=r" (ret)
-+ : "m" (p)
-+ : "cc","memory");
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __ia64
-+#include <ia64intrin.h>
-+
-+static inline int testandset (int *p)
-+{
-+ return __sync_lock_test_and_set (p, 1);
-+}
-+#endif
-+
-+typedef int spinlock_t;
-+
-+#define SPIN_LOCK_UNLOCKED 0
-+
-+#if defined(CONFIG_USER_ONLY)
-+static inline void spin_lock(spinlock_t *lock)
-+{
-+ while (testandset(lock));
-+}
-+
-+static inline void spin_unlock(spinlock_t *lock)
-+{
-+ *lock = 0;
-+}
-+
-+static inline int spin_trylock(spinlock_t *lock)
-+{
-+ return !testandset(lock);
-+}
-+#else
-+static inline void spin_lock(spinlock_t *lock)
-+{
-+}
-+
-+static inline void spin_unlock(spinlock_t *lock)
-+{
-+}
-+
-+static inline int spin_trylock(spinlock_t *lock)
-+{
-+ return 1;
-+}
-+#endif
-+
-+#endif /* ! _QEMU_SPINLOCK_H */
-
diff --git a/packages/qemu/qemu-0.8.2/arm_nptl.patch b/packages/qemu/qemu-0.8.2/arm_nptl.patch
deleted file mode 100644
index f9b10aebc5..0000000000
--- a/packages/qemu/qemu-0.8.2/arm_nptl.patch
+++ /dev/null
@@ -1,857 +0,0 @@
-Index: qemu/configure
-===================================================================
---- qemu.orig/configure 2006-08-26 16:31:53.000000000 +0100
-+++ qemu/configure 2006-08-26 16:31:53.000000000 +0100
-@@ -97,6 +97,7 @@
- build_docs="no"
- build_acpi_tables="no"
- uname_release=""
-+nptl="yes"
-
- # OS specific
- targetos=`uname -s`
-@@ -243,6 +244,8 @@
- ;;
- --enable-iasl) build_acpi_tables="yes"
- ;;
-+ --disable-nptl) nptl="no"
-+ ;;
- esac
- done
-
-@@ -441,6 +444,23 @@
- fi
- fi
-
-+# check NPTL support
-+cat > $TMPC <<EOF
-+#include <sched.h>
-+void foo()
-+{
-+#ifndef CLONE_SETTLS
-+#error bork
-+#endif
-+}
-+EOF
-+
-+if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
-+ :
-+else
-+ nptl="no"
-+fi
-+
- ##########################################
- # SDL probe
-
-@@ -559,6 +579,7 @@
- fi
- echo "FMOD support $fmod $fmod_support"
- echo "kqemu support $kqemu"
-+echo "NPTL support $nptl"
- echo "Documentation $build_docs"
- [ ! -z "$uname_release" ] && \
- echo "uname -r $uname_release"
-@@ -880,6 +901,14 @@
- echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
- fi
- fi
-+else
-+ if test "$nptl" = "yes" ; then
-+ case "$target_cpu" in
-+ arm | armeb)
-+ echo "#define USE_NPTL 1" >> $config_h
-+ ;;
-+ esac
-+ fi
- fi
-
- if test "$cocoa" = "yes" ; then
-Index: qemu/exec-all.h
-===================================================================
---- qemu.orig/exec-all.h 2006-08-26 16:28:32.000000000 +0100
-+++ qemu/exec-all.h 2006-08-26 16:31:53.000000000 +0100
-@@ -347,163 +347,7 @@
- extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
- extern void *io_mem_opaque[IO_MEM_NB_ENTRIES];
-
--#ifdef __powerpc__
--static inline int testandset (int *p)
--{
-- int ret;
-- __asm__ __volatile__ (
-- "0: lwarx %0,0,%1\n"
-- " xor. %0,%3,%0\n"
-- " bne 1f\n"
-- " stwcx. %2,0,%1\n"
-- " bne- 0b\n"
-- "1: "
-- : "=&r" (ret)
-- : "r" (p), "r" (1), "r" (0)
-- : "cr0", "memory");
-- return ret;
--}
--#endif
--
--#ifdef __i386__
--static inline int testandset (int *p)
--{
-- long int readval = 0;
--
-- __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-- : "+m" (*p), "+a" (readval)
-- : "r" (1)
-- : "cc");
-- return readval;
--}
--#endif
--
--#ifdef __x86_64__
--static inline int testandset (int *p)
--{
-- long int readval = 0;
--
-- __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-- : "+m" (*p), "+a" (readval)
-- : "r" (1)
-- : "cc");
-- return readval;
--}
--#endif
--
--#ifdef __s390__
--static inline int testandset (int *p)
--{
-- int ret;
--
-- __asm__ __volatile__ ("0: cs %0,%1,0(%2)\n"
-- " jl 0b"
-- : "=&d" (ret)
-- : "r" (1), "a" (p), "0" (*p)
-- : "cc", "memory" );
-- return ret;
--}
--#endif
--
--#ifdef __alpha__
--static inline int testandset (int *p)
--{
-- int ret;
-- unsigned long one;
--
-- __asm__ __volatile__ ("0: mov 1,%2\n"
-- " ldl_l %0,%1\n"
-- " stl_c %2,%1\n"
-- " beq %2,1f\n"
-- ".subsection 2\n"
-- "1: br 0b\n"
-- ".previous"
-- : "=r" (ret), "=m" (*p), "=r" (one)
-- : "m" (*p));
-- return ret;
--}
--#endif
--
--#ifdef __sparc__
--static inline int testandset (int *p)
--{
-- int ret;
--
-- __asm__ __volatile__("ldstub [%1], %0"
-- : "=r" (ret)
-- : "r" (p)
-- : "memory");
--
-- return (ret ? 1 : 0);
--}
--#endif
--
--#ifdef __arm__
--static inline int testandset (int *spinlock)
--{
-- register unsigned int ret;
-- __asm__ __volatile__("swp %0, %1, [%2]"
-- : "=r"(ret)
-- : "0"(1), "r"(spinlock));
--
-- return ret;
--}
--#endif
--
--#ifdef __mc68000
--static inline int testandset (int *p)
--{
-- char ret;
-- __asm__ __volatile__("tas %1; sne %0"
-- : "=r" (ret)
-- : "m" (p)
-- : "cc","memory");
-- return ret;
--}
--#endif
--
--#ifdef __ia64
--#include <ia64intrin.h>
--
--static inline int testandset (int *p)
--{
-- return __sync_lock_test_and_set (p, 1);
--}
--#endif
--
--typedef int spinlock_t;
--
--#define SPIN_LOCK_UNLOCKED 0
--
--#if defined(CONFIG_USER_ONLY)
--static inline void spin_lock(spinlock_t *lock)
--{
-- while (testandset(lock));
--}
--
--static inline void spin_unlock(spinlock_t *lock)
--{
-- *lock = 0;
--}
--
--static inline int spin_trylock(spinlock_t *lock)
--{
-- return !testandset(lock);
--}
--#else
--static inline void spin_lock(spinlock_t *lock)
--{
--}
--
--static inline void spin_unlock(spinlock_t *lock)
--{
--}
--
--static inline int spin_trylock(spinlock_t *lock)
--{
-- return 1;
--}
--#endif
-+#include "qemu_spinlock.h"
-
- extern spinlock_t tb_lock;
-
-Index: qemu/linux-user/arm/syscall.h
-===================================================================
---- qemu.orig/linux-user/arm/syscall.h 2006-03-09 19:18:11.000000000 +0000
-+++ qemu/linux-user/arm/syscall.h 2006-08-26 16:31:53.000000000 +0100
-@@ -28,7 +28,9 @@
- #define ARM_SYSCALL_BASE 0x900000
- #define ARM_THUMB_SYSCALL 0
-
--#define ARM_NR_cacheflush (ARM_SYSCALL_BASE + 0xf0000 + 2)
-+#define ARM_NR_BASE 0xf0000
-+#define ARM_NR_cacheflush (ARM_NR_BASE + 2)
-+#define ARM_NR_set_tls (ARM_NR_BASE + 5)
-
- #define ARM_NR_semihosting 0x123456
- #define ARM_NR_thumb_semihosting 0xAB
-Index: qemu/linux-user/main.c
-===================================================================
---- qemu.orig/linux-user/main.c 2006-08-26 16:28:40.000000000 +0100
-+++ qemu/linux-user/main.c 2006-08-26 16:31:53.000000000 +0100
-@@ -309,6 +309,50 @@
- }
- }
-
-+/* Handle a jump to the kernel code page. */
-+static int
-+do_kernel_trap(CPUARMState *env)
-+{
-+ uint32_t addr;
-+ uint32_t *ptr;
-+ uint32_t cpsr;
-+
-+ switch (env->regs[15]) {
-+ case 0xffff0fc0: /* __kernel_cmpxchg */
-+ /* XXX: This only works between threads, not between processes.
-+ Use native atomic operations. */
-+ /* ??? This probably breaks horribly if the access segfaults. */
-+ cpu_lock();
-+ ptr = (uint32_t *)env->regs[2];
-+ cpsr = cpsr_read(env);
-+ if (*ptr == env->regs[0]) {
-+ *ptr = env->regs[1];
-+ env->regs[0] = 0;
-+ cpsr |= CPSR_C;
-+ } else {
-+ env->regs[0] = -1;
-+ cpsr &= ~CPSR_C;
-+ }
-+ cpsr_write(env, cpsr, CPSR_C);
-+ cpu_unlock();
-+ break;
-+ case 0xffff0fe0: /* __kernel_get_tls */
-+ env->regs[0] = env->cp15.c13_tls;
-+ break;
-+ default:
-+ return 1;
-+ }
-+ /* Jump back to the caller. */
-+ addr = env->regs[14];
-+ if (addr & 1) {
-+ env->thumb = 1;
-+ addr &= ~1;
-+ }
-+ env->regs[15] = addr;
-+
-+ return 0;
-+}
-+
- void cpu_loop(CPUARMState *env)
- {
- int trapnr;
-@@ -365,10 +409,8 @@
- }
- }
-
-- if (n == ARM_NR_cacheflush) {
-- arm_cache_flush(env->regs[0], env->regs[1]);
-- } else if (n == ARM_NR_semihosting
-- || n == ARM_NR_thumb_semihosting) {
-+ if (n == ARM_NR_semihosting
-+ || n == ARM_NR_thumb_semihosting) {
- env->regs[0] = do_arm_semihosting (env);
- } else if (n == 0 || n >= ARM_SYSCALL_BASE
- || (env->thumb && n == ARM_THUMB_SYSCALL)) {
-@@ -379,14 +421,34 @@
- n -= ARM_SYSCALL_BASE;
- env->eabi = 0;
- }
-- env->regs[0] = do_syscall(env,
-- n,
-- env->regs[0],
-- env->regs[1],
-- env->regs[2],
-- env->regs[3],
-- env->regs[4],
-- env->regs[5]);
-+ if ( n > ARM_NR_BASE) {
-+ switch (n)
-+ {
-+ case ARM_NR_cacheflush:
-+ arm_cache_flush(env->regs[0], env->regs[1]);
-+ break;
-+#ifdef USE_NPTL
-+ case ARM_NR_set_tls:
-+ cpu_set_tls(env, env->regs[0]);
-+ env->regs[0] = 0;
-+ break;
-+#endif
-+ default:
-+ printf ("Error: Bad syscall: %x\n", n);
-+ goto error;
-+ }
-+ }
-+ else
-+ {
-+ env->regs[0] = do_syscall(env,
-+ n,
-+ env->regs[0],
-+ env->regs[1],
-+ env->regs[2],
-+ env->regs[3],
-+ env->regs[4],
-+ env->regs[5]);
-+ }
- } else {
- goto error;
- }
-@@ -425,6 +487,10 @@
- }
- }
- break;
-+ case EXCP_KERNEL_TRAP:
-+ if (do_kernel_trap(env))
-+ goto error;
-+ break;
- default:
- error:
- fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",
-@@ -1639,6 +1705,10 @@
- ts->heap_base = info->brk;
- /* This will be filled in on the first SYS_HEAPINFO call. */
- ts->heap_limit = 0;
-+ /* Register the magic kernel code page. The cpu will generate a
-+ special exception when it tries to execute code here. We can't
-+ put real code here because it may be in use by the host kernel. */
-+ page_set_flags(0xffff0000, 0xffff0fff, 0);
- }
- #elif defined(TARGET_SPARC)
- {
-Index: qemu/linux-user/qemu.h
-===================================================================
---- qemu.orig/linux-user/qemu.h 2006-08-26 16:28:40.000000000 +0100
-+++ qemu/linux-user/qemu.h 2006-08-26 16:33:50.000000000 +0100
-@@ -75,6 +75,9 @@
- uint32_t v86mask;
- #endif
- int used; /* non zero if used */
-+#ifdef USE_NPTL
-+ uint32_t *child_tidptr;
-+#endif
- struct image_info *info;
- uint8_t stack[0];
- } __attribute__((aligned(16))) TaskState;
-Index: qemu/linux-user/syscall.c
-===================================================================
---- qemu.orig/linux-user/syscall.c 2006-08-26 16:28:40.000000000 +0100
-+++ qemu/linux-user/syscall.c 2006-08-26 16:31:53.000000000 +0100
-@@ -66,9 +66,18 @@
- #include <linux/kd.h>
-
- #include "qemu.h"
-+#include "qemu_spinlock.h"
-
- //#define DEBUG
-
-+#ifdef USE_NPTL
-+#define CLONE_NPTL_FLAGS2 (CLONE_SETTLS | \
-+ CLONE_PARENT_SETTID | CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID)
-+#else
-+/* XXX: Hardcode the above values. */
-+#define CLONE_NPTL_FLAGS2 0
-+#endif
-+
- #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC)
- /* 16 bit uid wrappers emulation */
- #define USE_UID16
-@@ -1602,20 +1611,38 @@
- thread/process */
- #define NEW_STACK_SIZE 8192
-
-+#ifdef USE_NPTL
-+static spinlock_t nptl_lock = SPIN_LOCK_UNLOCKED;
-+#endif
-+
- static int clone_func(void *arg)
- {
- CPUState *env = arg;
-+#ifdef HAVE_NPTL
-+ /* Wait until the parent has finshed initializing the tls state. */
-+ while (!spin_trylock(&nptl_lock))
-+ usleep(1);
-+ spin_unlock(&nptl_lock);
-+#endif
- cpu_loop(env);
- /* never exits */
- return 0;
- }
-
--int do_fork(CPUState *env, unsigned int flags, unsigned long newsp)
-+int do_fork(CPUState *env, unsigned int flags, unsigned long newsp,
-+ uint32_t *parent_tidptr, void *newtls,
-+ uint32_t *child_tidptr)
- {
- int ret;
- TaskState *ts;
- uint8_t *new_stack;
- CPUState *new_env;
-+#ifdef USE_NPTL
-+ unsigned int nptl_flags;
-+
-+ if (flags & CLONE_PARENT_SETTID)
-+ *parent_tidptr = gettid();
-+#endif
-
- if (flags & CLONE_VM) {
- ts = malloc(sizeof(TaskState) + NEW_STACK_SIZE);
-@@ -1665,16 +1692,60 @@
- #error unsupported target CPU
- #endif
- new_env->opaque = ts;
-+#ifdef USE_NPTL
-+ nptl_flags = flags;
-+ flags &= ~CLONE_NPTL_FLAGS2;
-+ if (nptl_flags & CLONE_CHILD_CLEARTID) {
-+ ts->child_tidptr = child_tidptr;
-+ }
-+ if (nptl_flags & CLONE_SETTLS)
-+ cpu_set_tls (new_env, newtls);
-+ /* Grab the global cpu lock so that the thread setup appears
-+ atomic. */
-+ if (nptl_flags & CLONE_CHILD_SETTID)
-+ spin_lock(&nptl_lock);
-+#else
-+ if (flags & CLONE_NPTL_FLAGS2)
-+ return -EINVAL;
-+#endif
-+
- #ifdef __ia64__
- ret = __clone2(clone_func, new_stack + NEW_STACK_SIZE, flags, new_env);
- #else
- ret = clone(clone_func, new_stack + NEW_STACK_SIZE, flags, new_env);
- #endif
-+#ifdef USE_NPTL
-+ if (ret != -1) {
-+ if (nptl_flags & CLONE_CHILD_SETTID)
-+ *child_tidptr = ret;
-+ }
-+ /* Allow the child to continue. */
-+ if (nptl_flags & CLONE_CHILD_SETTID)
-+ spin_unlock(&nptl_lock);
-+#endif
- } else {
-- /* if no CLONE_VM, we consider it is a fork */
-- if ((flags & ~CSIGNAL) != 0)
-- return -EINVAL;
-- ret = fork();
-+ /* if no CLONE_VM, we consider it is a fork */
-+ if ((flags & ~(CSIGNAL | CLONE_NPTL_FLAGS2)) != 0)
-+ return -EINVAL;
-+ ret = fork();
-+#ifdef USE_NPTL
-+ /* There is a race condition here. The parent process could
-+ theoretically read the TID in the child process before the child
-+ tid is set. This would require using either ptrace
-+ (not implemented) or having *_tidptr to point at a shared memory
-+ mapping. We can't repeat the spinlock hack used above because
-+ the child process gets its own copy of the lock. */
-+ if (ret == 0) {
-+ /* Child Process. */
-+ if (flags & CLONE_CHILD_SETTID)
-+ *child_tidptr = gettid();
-+ ts = (TaskState *)env->opaque;
-+ if (flags & CLONE_CHILD_CLEARTID)
-+ ts->child_tidptr = child_tidptr;
-+ if (flags & CLONE_SETTLS)
-+ cpu_set_tls (env, newtls);
-+ }
-+#endif
- }
- return ret;
- }
-@@ -1918,7 +1989,7 @@
- ret = do_brk(arg1);
- break;
- case TARGET_NR_fork:
-- ret = get_errno(do_fork(cpu_env, SIGCHLD, 0));
-+ ret = get_errno(do_fork(cpu_env, SIGCHLD, 0, NULL, NULL, NULL));
- break;
- case TARGET_NR_waitpid:
- {
-@@ -2989,7 +3060,8 @@
- ret = get_errno(fsync(arg1));
- break;
- case TARGET_NR_clone:
-- ret = get_errno(do_fork(cpu_env, arg1, arg2));
-+ ret = get_errno(do_fork(cpu_env, arg1, arg2, (uint32_t *)arg3,
-+ (void *)arg4, (uint32_t *)arg5));
- break;
- #ifdef __NR_exit_group
- /* new thread calls */
-@@ -3339,7 +3411,8 @@
- #endif
- #ifdef TARGET_NR_vfork
- case TARGET_NR_vfork:
-- ret = get_errno(do_fork(cpu_env, CLONE_VFORK | CLONE_VM | SIGCHLD, 0));
-+ ret = get_errno(do_fork(cpu_env, CLONE_VFORK | CLONE_VM | SIGCHLD, 0,
-+ NULL, NULL, NULL));
- break;
- #endif
- #ifdef TARGET_NR_ugetrlimit
-@@ -3838,4 +3911,3 @@
- #endif
- return ret;
- }
--
-Index: qemu/target-arm/cpu.h
-===================================================================
---- qemu.orig/target-arm/cpu.h 2006-03-09 19:18:27.000000000 +0000
-+++ qemu/target-arm/cpu.h 2006-08-26 16:31:53.000000000 +0100
-@@ -35,6 +35,9 @@
- #define EXCP_IRQ 5
- #define EXCP_FIQ 6
- #define EXCP_BKPT 7
-+#define EXCP_KERNEL_TRAP 8 /* Jumped to kernel code page. */
-+
-+
-
- /* We currently assume float and double are IEEE single and double
- precision respectively.
-@@ -85,6 +88,7 @@
- uint32_t c9_data;
- uint32_t c13_fcse; /* FCSE PID. */
- uint32_t c13_context; /* Context ID. */
-+ uint32_t c13_tls; /* Paul Brook told me to just add this ;) */
- } cp15;
-
- /* Internal CPU feature flags. */
-@@ -135,6 +139,15 @@
- int cpu_arm_signal_handler(int host_signum, struct siginfo *info,
- void *puc);
-
-+void cpu_lock(void);
-+void cpu_unlock(void);
-+#if defined(USE_NPTL)
-+static inline void cpu_set_tls(CPUARMState *env, void *newtls)
-+{
-+ env->cp15.c13_tls = (uint32_t)newtls;
-+}
-+#endif
-+
- #define CPSR_M (0x1f)
- #define CPSR_T (1 << 5)
- #define CPSR_F (1 << 6)
-@@ -146,7 +159,11 @@
- #define CPSR_J (1 << 24)
- #define CPSR_IT_0_1 (3 << 25)
- #define CPSR_Q (1 << 27)
--#define CPSR_NZCV (0xf << 28)
-+#define CPSR_V (1 << 28)
-+#define CPSR_C (1 << 29)
-+#define CPSR_Z (1 << 30)
-+#define CPSR_N (1 << 31)
-+#define CPSR_NZCV (CPSR_N | CPSR_Z | CPSR_C | CPSR_V)
-
- #define CACHED_CPSR_BITS (CPSR_T | CPSR_Q | CPSR_NZCV)
- /* Return the current CPSR value. */
-Index: qemu/target-arm/exec.h
-===================================================================
---- qemu.orig/target-arm/exec.h 2006-03-09 19:18:27.000000000 +0000
-+++ qemu/target-arm/exec.h 2006-08-26 16:31:53.000000000 +0100
-@@ -51,8 +51,6 @@
-
- /* In op_helper.c */
-
--void cpu_lock(void);
--void cpu_unlock(void);
- void helper_set_cp15(CPUState *, uint32_t, uint32_t);
- uint32_t helper_get_cp15(CPUState *, uint32_t);
-
-Index: qemu/target-arm/op.c
-===================================================================
---- qemu.orig/target-arm/op.c 2006-08-26 16:28:48.000000000 +0100
-+++ qemu/target-arm/op.c 2006-08-26 16:31:53.000000000 +0100
-@@ -891,6 +891,12 @@
- cpu_loop_exit();
- }
-
-+void OPPROTO op_kernel_trap(void)
-+{
-+ env->exception_index = EXCP_KERNEL_TRAP;
-+ cpu_loop_exit();
-+}
-+
- /* VFP support. We follow the convention used for VFP instrunctions:
- Single precition routines have a "s" suffix, double precision a
- "d" suffix. */
-Index: qemu/target-arm/translate.c
-===================================================================
---- qemu.orig/target-arm/translate.c 2006-08-26 16:28:48.000000000 +0100
-+++ qemu/target-arm/translate.c 2006-08-26 16:31:53.000000000 +0100
-@@ -2382,6 +2382,7 @@
- s->is_jmp = DISAS_JUMP;
- }
-
-+
- /* generate intermediate code in gen_opc_buf and gen_opparam_buf for
- basic block 'tb'. If search_pc is TRUE, also generate PC
- information for each intermediate instruction. */
-@@ -2416,6 +2417,15 @@
- nb_gen_labels = 0;
- lj = -1;
- do {
-+#ifdef CONFIG_USER_ONLY
-+ /* Intercept jump to the magic kernel page. */
-+ if (dc->pc > 0xffff0000) {
-+ gen_op_kernel_trap();
-+ dc->is_jmp = DISAS_UPDATE;
-+ break;
-+ }
-+#endif
-+
- if (env->nb_breakpoints > 0) {
- for(j = 0; j < env->nb_breakpoints; j++) {
- if (env->breakpoints[j] == dc->pc) {
-Index: qemu/qemu_spinlock.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ qemu/qemu_spinlock.h 2006-08-26 16:31:53.000000000 +0100
-@@ -0,0 +1,182 @@
-+/*
-+ * internal execution defines for qemu
-+ *
-+ * Copyright (c) 2003 Fabrice Bellard
-+ *
-+ * 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
-+ */
-+
-+#ifndef _QEMU_SPINLOCK_H
-+#define _QEMU_SPINLOCK_H
-+
-+#ifdef __powerpc__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+ __asm__ __volatile__ (
-+ "0: lwarx %0,0,%1\n"
-+ " xor. %0,%3,%0\n"
-+ " bne 1f\n"
-+ " stwcx. %2,0,%1\n"
-+ " bne- 0b\n"
-+ "1: "
-+ : "=&r" (ret)
-+ : "r" (p), "r" (1), "r" (0)
-+ : "cr0", "memory");
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __i386__
-+static inline int testandset (int *p)
-+{
-+ long int readval = 0;
-+
-+ __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-+ : "+m" (*p), "+a" (readval)
-+ : "r" (1)
-+ : "cc");
-+ return readval;
-+}
-+#endif
-+
-+#ifdef __x86_64__
-+static inline int testandset (int *p)
-+{
-+ long int readval = 0;
-+
-+ __asm__ __volatile__ ("lock; cmpxchgl %2, %0"
-+ : "+m" (*p), "+a" (readval)
-+ : "r" (1)
-+ : "cc");
-+ return readval;
-+}
-+#endif
-+
-+#ifdef __s390__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+
-+ __asm__ __volatile__ ("0: cs %0,%1,0(%2)\n"
-+ " jl 0b"
-+ : "=&d" (ret)
-+ : "r" (1), "a" (p), "0" (*p)
-+ : "cc", "memory" );
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __alpha__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+ unsigned long one;
-+
-+ __asm__ __volatile__ ("0: mov 1,%2\n"
-+ " ldl_l %0,%1\n"
-+ " stl_c %2,%1\n"
-+ " beq %2,1f\n"
-+ ".subsection 2\n"
-+ "1: br 0b\n"
-+ ".previous"
-+ : "=r" (ret), "=m" (*p), "=r" (one)
-+ : "m" (*p));
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __sparc__
-+static inline int testandset (int *p)
-+{
-+ int ret;
-+
-+ __asm__ __volatile__("ldstub [%1], %0"
-+ : "=r" (ret)
-+ : "r" (p)
-+ : "memory");
-+
-+ return (ret ? 1 : 0);
-+}
-+#endif
-+
-+#ifdef __arm__
-+static inline int testandset (int *spinlock)
-+{
-+ register unsigned int ret;
-+ __asm__ __volatile__("swp %0, %1, [%2]"
-+ : "=r"(ret)
-+ : "0"(1), "r"(spinlock));
-+
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __mc68000
-+static inline int testandset (int *p)
-+{
-+ char ret;
-+ __asm__ __volatile__("tas %1; sne %0"
-+ : "=r" (ret)
-+ : "m" (p)
-+ : "cc","memory");
-+ return ret;
-+}
-+#endif
-+
-+#ifdef __ia64
-+#include <ia64intrin.h>
-+
-+static inline int testandset (int *p)
-+{
-+ return __sync_lock_test_and_set (p, 1);
-+}
-+#endif
-+
-+typedef int spinlock_t;
-+
-+#define SPIN_LOCK_UNLOCKED 0
-+
-+#if defined(CONFIG_USER_ONLY)
-+static inline void spin_lock(spinlock_t *lock)
-+{
-+ while (testandset(lock));
-+}
-+
-+static inline void spin_unlock(spinlock_t *lock)
-+{
-+ *lock = 0;
-+}
-+
-+static inline int spin_trylock(spinlock_t *lock)
-+{
-+ return !testandset(lock);
-+}
-+#else
-+static inline void spin_lock(spinlock_t *lock)
-+{
-+}
-+
-+static inline void spin_unlock(spinlock_t *lock)
-+{
-+}
-+
-+static inline int spin_trylock(spinlock_t *lock)
-+{
-+ return 1;
-+}
-+#endif
-+
-+#endif /* ! _QEMU_SPINLOCK_H */
diff --git a/packages/qemu/qemu-native.inc b/packages/qemu/qemu-native.inc
index bab02f7ddf..758c81a1a4 100644
--- a/packages/qemu/qemu-native.inc
+++ b/packages/qemu/qemu-native.inc
@@ -1,5 +1,10 @@
FILESPATH =. "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qemu-${PV}:"
-prefix = "${STAGING_DIR}/${BUILD_SYS}"
+# prefix = "${STAGING_DIR}/${BUILD_SYS}"
+DEPENDS = "libsdl-native"
+
+do_configure_prepend() {
+ sed -i -e s,sdl-config,sdl-config-native, configure
+}
python __anonymous() {
from bb import which, data
@@ -11,5 +16,10 @@ python __anonymous() {
data.setVar('EXTRA_OECONF', oldOeConf + " --cc=gcc-3.4", d)
elif len(which(path, 'gcc-3.3')) != 0:
data.setVar('EXTRA_OECONF', oldOeConf + " --cc=gcc-3.3", d)
+ elif len(which(path, 'gcc-3.3.6')) != 0:
+ data.setVar('EXTRA_OECONF', oldOeConf + " --cc=gcc-3.3.6", d)
+}
+do_stage() {
+ find . -name "qemu-*" -type f -perm -755 -exec install -m 0755 {} ${STAGING_BINDIR} \;
}
diff --git a/packages/qemu/qemu-native_0.7.0.bb b/packages/qemu/qemu-native_0.7.0.bb
deleted file mode 100644
index bad8bd7bf4..0000000000
--- a/packages/qemu/qemu-native_0.7.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require qemu_${PV}.bb
-inherit native
-S = "${WORKDIR}/qemu-${PV}"
-require qemu-native.inc
diff --git a/packages/qemu/qemu-native_0.8.0.bb b/packages/qemu/qemu-native_0.8.0.bb
deleted file mode 100644
index 9613f7d614..0000000000
--- a/packages/qemu/qemu-native_0.8.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require qemu_${PV}.bb
-inherit native
-require qemu-native.inc
-S = "${WORKDIR}/qemu-${PV}"
-
diff --git a/packages/qemu/qemu-native_0.8.1.bb b/packages/qemu/qemu-native_0.8.1.bb
deleted file mode 100644
index 9613f7d614..0000000000
--- a/packages/qemu/qemu-native_0.8.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require qemu_${PV}.bb
-inherit native
-require qemu-native.inc
-S = "${WORKDIR}/qemu-${PV}"
-
diff --git a/packages/qemu/qemu-native_0.8.2.bb b/packages/qemu/qemu-native_0.8.2.bb
deleted file mode 100644
index c0b1cd4ee3..0000000000
--- a/packages/qemu/qemu-native_0.8.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require qemu_${PV}.bb
-EXTRA_OECONF = ""
-inherit native
-require qemu-native.inc
-S = "${WORKDIR}/qemu-${PV}"
-
diff --git a/packages/qemu/qemu_0.7.0.bb b/packages/qemu/qemu_0.7.0.bb
deleted file mode 100644
index fd7a892347..0000000000
--- a/packages/qemu/qemu_0.7.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-LICENSE = "GPL"
-
-SRC_URI = "http://fabrice.bellard.free.fr/qemu/qemu-${PV}.tar.gz"
-
-inherit autotools
-
diff --git a/packages/qemu/qemu_0.8.0.bb b/packages/qemu/qemu_0.8.0.bb
deleted file mode 100644
index 38bbcbacad..0000000000
--- a/packages/qemu/qemu_0.8.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-LICENSE = "GPL"
-
-SRC_URI = "http://fabrice.bellard.free.fr/qemu/qemu-${PV}.tar.gz \
- file://configure.patch;patch=1 \
- file://arm_nptl.patch;patch=1"
-PR = "r1"
-
-inherit autotools
-
diff --git a/packages/qemu/qemu_0.8.1.bb b/packages/qemu/qemu_0.8.1.bb
deleted file mode 100644
index fd7a892347..0000000000
--- a/packages/qemu/qemu_0.8.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-LICENSE = "GPL"
-
-SRC_URI = "http://fabrice.bellard.free.fr/qemu/qemu-${PV}.tar.gz"
-
-inherit autotools
-
diff --git a/packages/qemu/qemu_0.8.2.bb b/packages/qemu/qemu_0.8.2.bb
deleted file mode 100644
index 49032fa59d..0000000000
--- a/packages/qemu/qemu_0.8.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-LICENSE = "GPL"
-
-SRC_URI = "http://fabrice.bellard.free.fr/qemu/qemu-${PV}.tar.gz \
- file://configure.patch;patch=1 \
- file://pl110_rgb-r0.patch;patch=1 \
- file://arm_nptl.patch;patch=1"
-
-inherit autotools
-
-EXTRA_OECONF = "--cc=${CC}"
-
diff --git a/packages/qemu/qemu_cvs.bb b/packages/qemu/qemu_cvs.bb
index 0dfe01aa11..8d22a6f1f8 100644
--- a/packages/qemu/qemu_cvs.bb
+++ b/packages/qemu/qemu_cvs.bb
@@ -1,11 +1,20 @@
+DESCRIPTION = "Qemu is an open source processor emulator."
+HOMEPAGE = "http://fabrice.bellard.free.fr/qemu/"
+SECTION = "devel"
LICENSE = "GPL"
PV = "0.8.2+cvs${SRCDATE}"
+PR = "r1"
SRC_URI = "cvs://anonymous@cvs.savannah.nongnu.org/sources/qemu;method=pserver;rsh=ssh;module=qemu \
file://configure.patch;patch=1 \
- file://pl110_rgb-r0.patch;patch=1 \
- file://arm_nptl.patch;patch=1"
-
+ file://qemu-sdl-cursor.patch;patch=1 \
+ file://arm_nptl.patch;patch=1 \
+ file://pl110_rgb-r0.patch;patch=1 \
+ file://qemu-pci-irq-sharing.patch;patch=1 \
+ file://compiler.patch;patch=1 \
+ file://qemu-usb-wacom-0.8.2.patch;patch=1 \
+ file://qemu-usb-wacom-pressure.patch;patch=1 \
+ file://qemu-usb-wacom-buttons.patch;patch=1"
S = "${WORKDIR}/qemu"
inherit autotools
diff --git a/packages/qte/qte-common_2.3.10.inc b/packages/qte/qte-common_2.3.10.inc
index dfecdc3704..2a1ad9686c 100644
--- a/packages/qte/qte-common_2.3.10.inc
+++ b/packages/qte/qte-common_2.3.10.inc
@@ -70,17 +70,7 @@ SRC_URI_append_h1910 = "file://ipaq-keyboard.patch;patch=1 file://ipaq_so
S = "${WORKDIR}/qt-${PV}"
export QTDIR = "${S}"
-def qte_arch(d):
- import bb, re
- arch = bb.data.getVar('TARGET_ARCH', d, 1)
- if re.match("^i.86$", arch):
- arch = "x86"
- elif arch == "x86_64":
- arch = "x86"
- elif arch == "mipsel":
- arch = "mips"
- return arch
-
+require qte-functions.inc
QTE_ARCH := "${@qte_arch(d)}"
#
diff --git a/packages/qte/qte-functions.inc b/packages/qte/qte-functions.inc
new file mode 100644
index 0000000000..f0ffb0e612
--- /dev/null
+++ b/packages/qte/qte-functions.inc
@@ -0,0 +1,11 @@
+def qte_arch(d):
+ import bb, re
+ arch = bb.data.getVar('TARGET_ARCH', d, 1)
+ if re.match("^i.86$", arch):
+ arch = "x86"
+ elif arch == "x86_64":
+ arch = "x86"
+ elif arch == "mipsel":
+ arch = "mips"
+ return arch
+
diff --git a/packages/qte/qtopia-core/.mtn2git_empty b/packages/qte/qtopia-core/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/qte/qtopia-core/.mtn2git_empty
diff --git a/packages/qte/qtopia-core/linux-oe-qmake.conf b/packages/qte/qtopia-core/linux-oe-qmake.conf
new file mode 100644
index 0000000000..fc5ac6dc5c
--- /dev/null
+++ b/packages/qte/qtopia-core/linux-oe-qmake.conf
@@ -0,0 +1,95 @@
+#
+# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
+QMAKE_YACC_HEADER = $base.tab.h
+QMAKE_YACC_SOURCE = $base.tab.c
+QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA)
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall -W
+QMAKE_CFLAGS_WARN_OFF =
+QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
+
+QMAKE_CXX = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA)
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_QTOPIA = $(OE_QMAKE_INCDIR_QTOPIA)
+QMAKE_LIBDIR_QTOPIA = $(OE_QMAKE_LIBDIR_QTOPIA)
+
+
+QMAKE_LINK = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
+QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA)
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
+QMAKE_LFLAGS_THREAD =
+QMAKE_RPATH = -Wl,-rpath-link,
+
+QMAKE_LIBS = $(LIBS_EXTRA)
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 =
+QMAKE_LIBS_X11SM =
+QMAKE_LIBS_QT = -lqte
+QMAKE_LIBS_QT_THREAD = -lqte-mt
+QMAKE_LIBS_QT_OPENGL = -lqgl
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_QTOPIA = -lqpe -lqtopia
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = $(OE_QMAKE_AR) cqs
+QMAKE_RANLIB = $(OE_QMAKE_RANLIB)
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = $(OE_QMAKE_STRIP)
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/packages/qte/qtopia-core_4.2.0.bb b/packages/qte/qtopia-core_4.2.0.bb
new file mode 100644
index 0000000000..ecb5978fed
--- /dev/null
+++ b/packages/qte/qtopia-core_4.2.0.bb
@@ -0,0 +1,177 @@
+DESCRIPTION = "Qtopia Core (aka: Qt/Embedded)"
+SECTION = "libs"
+LICENSE = "GPL"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+DEPENDS = "glib-2.0 dbus-glib tslib"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz \
+ file://linux-oe-qmake.conf"
+
+S = "${WORKDIR}/qtopia-core-opensource-src-${PV}"
+
+PARALLEL_MAKE = ""
+
+inherit pkgconfig
+
+# I'm not sure about the globals QTDIR and QTOPIADIR, or if they're even
+# needed. On the same issue, I'm not sure what the best place for all the
+# Qtopia Core related files is. For now, I've just put the libraries in
+# ${libdir}, the includes in ${includedir} etc. Other possibilities are
+# to sandbox everything (e.g., in /usr/local/Trolltech or /opt/Qtopia oslt),
+# or to put libraries in /usr/lib/qtopia (or /usr/lib/qt4) etc. As said,
+# I'm fine with this, but I'm also fine with another solution.
+
+# set QTDIR and QTOPIADIR globally (change QTOPIA dir to QTDIR?)
+# This should be the default for other packages:
+# export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4"
+# export QTOPIADIR = "${STAGING_DIR}/${HOST_SYS}/qtopia"
+export QTDIR = "${S}"
+export QTOPIADIR = "${S}"
+
+# Qmake gets confused by environment variables, as it builds both HOST
+# and TARGET objects. The correct compiler settings come from the mkspec
+# and are set with the OE_QMAKE_ variables
+EXTRA_OEMAKE = " MAKEFLAGS= "
+
+# This stuff could also be done by inheriting qmake, but I didn't want to
+# bother with the qmake separation from the Qtopia configure. This separation
+# is probably nothing more than a patch on the configure and setting some
+# environment variables to use our own qmake/moc/uic, but that's something
+# to figure out later.
+export OE_QMAKE_CC="${CC}"
+export OE_QMAKE_CFLAGS="${CFLAGS}"
+export OE_QMAKE_CXX="${CXX}"
+export OE_QMAKE_CXXFLAGS="-fno-exceptions ${CXXFLAGS}"
+export OE_QMAKE_LDFLAGS="${LDFLAGS}"
+export OE_QMAKE_LINK="${CXX}"
+export OE_QMAKE_AR="${AR}"
+export OE_QMAKE_RANLIB="${RANLIB}"
+export OE_QMAKE_STRIP="${STRIP}"
+export OE_QMAKE_RPATH="-Wl,-rpath-link,"
+export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
+export OE_QMAKE_INCDIR_QTOPIA="${QTOPIADIR}/include"
+export OE_QMAKE_LIBDIR_QTOPIA="${QTOPIADIR}/lib"
+
+require qte-functions.inc
+QT_ARCH := "${@qte_arch(d)}"
+
+# FIXME use info.bbclass once it has been commited
+QT_ENDIAN = "-little-endian"
+
+# We don't build the examples and demos atm. They're quite big and not used
+# frequently, only for testing maybe. Feel free to change and to package
+# them separately.
+QT_CONFIG_FLAGS = "-release \
+ -no-cups -no-accessibility -no-freetype \
+ -nomake demos -nomake examples -nomake tools \
+ -qt-mouse-tslib"
+
+# We might want to package all the libraries separately, so you can really
+# fine-tune what to install. This is e.g. done in qt4-x11-free_4.1.2.bb.
+# What should these packages be called? I'm tempted to call them the same
+# as in qt4 version, as the API is supposed to be compatible, e.g.
+# libqtcore4 and libqtgui4. This will however conflict if you have QT and
+# Qtopia, but this is something you don't want anyway, I guess.
+# Another solution is making virtual/libqtfoo4, and DEPENDing on that one
+# and let both the PACKAGES in QT and Qtopia PROVIDE these. The packages
+# themselves could then be called libqtopiafoo4.
+# I'll postpone this discussion by not making separate Qtopia packages.
+
+# Also, I don't package the plugins and translations atm, I don't use them
+# and I don't feel like thinking about a sensible separation.
+
+# PACKAGES += "libqtopiacore4 libqtopiagui4 ..."
+# RDEPENDS_${PN} += "..."
+
+# The default included fonts are around 75MB and consist of a number of
+# FreeType-renderable fonts as well as QPF (Qtopia Prerendered Fonts).
+# As FreeType is generally slow on embedded platforms, and 75MB is
+# quite huge, we downsize the fonts dir in the do_install. I've decided
+# to include only the QPF (Helvetica and Fixed), amounting to 500KB. This
+# also results in tremendously faster application startup time.
+# You might want to package the fonts separately, or include all fonts in
+# a separate package.
+FILES_${PN} += " /usr/lib/fonts/* "
+
+do_configure() {
+ # Install the OE build templates (something which might be done
+ # by inheriting qmake)
+ for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
+ do
+ install -d ${S}/mkspecs/$template
+ install -m 0644 ${WORKDIR}/linux-oe-qmake.conf \
+ ${S}/mkspecs/$template/qmake.conf
+ ln -sf ../linux-g++/qplatformdefs.h \
+ ${S}/mkspecs/$template/qplatformdefs.h
+ done
+
+ # The Qmake Makefile generation doesn't like these environment
+ # variables, as they mess up the HOST tools builds
+ unset CC
+ unset CXX
+ unset CFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+
+ # For rationale behind the installation locations, see remark above
+ echo yes | ./configure -v \
+ -prefix ${prefix} \
+ -bindir ${bindir} \
+ -libdir ${libdir} \
+ -docdir ${docdir}/qtopia \
+ -headerdir ${includedir} \
+ -plugindir ${datadir}/qtopia/plugins \
+ -datadir ${datadir} \
+ -translationdir ${datadir}/qtopia/translations \
+ -sysconfdir ${sysconfdir} \
+ -examplesdir ${bindir}/qtopia/examples \
+ -demosdir ${bindir}/qtopia/demos \
+ -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \
+ -xplatform linux-oe-g++ \
+ ${QT_CONFIG_FLAGS} \
+ -L${STAGING_LIBDIR} -I${STAGING_INCDIR}
+}
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+
+ # These are host binaries, we should only use them in staging
+ rm -rf ${D}/${bindir}
+ rm -rf ${D}/${datadir}/mkspecs
+
+ # Downsize on the fonts, we're only packaging the Helvetica and
+ # Fixed, only the QPF versions. Maybe later add an additional
+ # package for all fonts.
+ rm -f ${D}/${libdir}/fonts/*
+ cp -a ${S}/lib/fonts/helvetica*qpf ${D}/${libdir}/fonts
+ cp -a ${S}/lib/fonts/fixed*qpf ${D}/${libdir}/fonts
+ touch ${D}/${libdir}/fonts/fontdir
+}
+
+STAGE_TEMP = "${WORKDIR}/temp-staging"
+do_stage() {
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake install INSTALL_ROOT=${STAGE_TEMP}
+
+ cp -af ${STAGE_TEMP}/$includedir/* ${STAGING_INCDIR}
+
+ for i in ${STAGE_TEMP}/${libdir}/*.la
+ do
+ oe_libinstall -C ${STAGE_TEMP}/${libdir} \
+ -so $(basename $i .la) ${STAGING_LIBDIR}
+ done
+
+ # Install qmake/moc/uic/rcc in staging (is this needed?)
+ install -m 0755 ${STAGE_TEMP}/${bindir}/rcc ${STAGING_BINDIR}
+ install -m 0755 ${STAGE_TEMP}/${bindir}/moc ${STAGING_BINDIR}
+ install -m 0755 ${STAGE_TEMP}/${bindir}/uic ${STAGING_BINDIR}
+ install -m 0755 ${STAGE_TEMP}/${bindir}/qmake ${STAGING_BINDIR}
+ # what about mkspecs?
+
+ rm -rf ${STAGE_TEMP}
+}
+
diff --git a/packages/reaim/.mtn2git_empty b/packages/reaim/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/reaim/.mtn2git_empty
diff --git a/packages/reaim/reaim/.mtn2git_empty b/packages/reaim/reaim/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/reaim/reaim/.mtn2git_empty
diff --git a/packages/reaim/reaim/makefile-fix.patch b/packages/reaim/reaim/makefile-fix.patch
new file mode 100644
index 0000000000..4678d9d83f
--- /dev/null
+++ b/packages/reaim/reaim/makefile-fix.patch
@@ -0,0 +1,23 @@
+From: Marcin Juszkiewicz <hrw@openembedded.org>
+
+1. Link with libaio
+2. Do not show instructions during do_install or bitbake will break
+
+Index: osdl-aim-7/src/Makefile.am
+===================================================================
+--- osdl-aim-7.orig/src/Makefile.am 2004-10-21 01:31:33.000000000 +0200
++++ osdl-aim-7/src/Makefile.am 2006-10-14 19:57:28.000000000 +0200
+@@ -8,7 +8,7 @@
+ LIBADD_READLINE =
+ # endif
+
+-reaim_LDADD = $(top_builddir)/lib/libltp.a $(LIBADD_READLINE)
++reaim_LDADD = $(top_builddir)/lib/libltp.a $(LIBADD_READLINE) -laio
+ reaim_SOURCES = driver.c suite.h files.h ram.c aimlist.h \
+ rand.c times_ms.c testerr.h add.c creat_clo.c drv_funcs.c \
+ div.c disk_funcs.c pipe_test.c mul.c num_fcns.c int_fcns.c \
+@@ -42,4 +42,3 @@
+ if test -f $(srcdir)/README; then \
+ $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(datadir)/reaim; \
+ fi
+- @/bin/sh $(top_srcdir)/scripts/instruct.sh
diff --git a/packages/reaim/reaim_7.0.1.13.bb b/packages/reaim/reaim_7.0.1.13.bb
new file mode 100644
index 0000000000..5694a4364e
--- /dev/null
+++ b/packages/reaim/reaim_7.0.1.13.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "The AIM Multiuser Benchmark - Suite VII \
+tests and measures the performance of Open System multiuser computers."
+HOMEPAGE = "http://re-aim-7.sourceforge.net/"
+SECTION = "console/tests"
+LICENSE = "GPL"
+DEPENDS = "libaio"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/re-aim-7/osdl-aim-${PV}.tar.gz \
+ file://makefile-fix.patch;patch=1"
+
+S = "${WORKDIR}/osdl-aim-7/"
+
+inherit autotools
diff --git a/packages/rng-tools/rng-tools_2.bb b/packages/rng-tools/rng-tools_2.bb
index 083490a42a..a82daaad64 100644
--- a/packages/rng-tools/rng-tools_2.bb
+++ b/packages/rng-tools/rng-tools_2.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Random number generator daemon"
LICENSE = "GPL"
PR = "1"
-SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${PN}-${PV}.tar.gz \
+SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${P}.tar.gz \
file://init"
inherit autotools update-rc.d
@@ -13,4 +13,4 @@ INITSCRIPT_PARAMS = "defaults"
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
-} \ No newline at end of file
+}
diff --git a/packages/rxvt-unicode/rxvt-unicode-7.9/.mtn2git_empty b/packages/rxvt-unicode/rxvt-unicode-7.9/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/rxvt-unicode/rxvt-unicode-7.9/.mtn2git_empty
diff --git a/packages/rxvt-unicode/rxvt-unicode-7.9/xwc.patch b/packages/rxvt-unicode/rxvt-unicode-7.9/xwc.patch
new file mode 100644
index 0000000000..fbab74aa3d
--- /dev/null
+++ b/packages/rxvt-unicode/rxvt-unicode-7.9/xwc.patch
@@ -0,0 +1,23 @@
+--- rxvt-unicode-7.7/src/screen.C.orig 2006-05-11 14:48:12.000000000 +0100
++++ rxvt-unicode-7.7/src/screen.C 2006-05-11 14:49:37.000000000 +0100
+@@ -3061,7 +3061,7 @@
+ return false;
+ }
+
+-#if 0
++#if HAVE_XWC
+ XTextProperty ct;
+
+ if (XwcTextListToTextProperty (dpy, &selection.text, 1, XStringStyle, &ct) >= 0)
+@@ -3628,9 +3628,11 @@
+ }
+ else
+ #endif
++#if HAVE_XWC
+ if (XwcTextListToTextProperty (dpy, &cl, 1, (XICCEncodingStyle) style, &ct) >= 0)
+ freect = 1;
+ else
++#endif
+ {
+ /* if we failed to convert then send it raw */
+ ct.value = (unsigned char *)cl;
diff --git a/packages/rxvt-unicode/rxvt-unicode_7.9.bb b/packages/rxvt-unicode/rxvt-unicode_7.9.bb
new file mode 100644
index 0000000000..8356b0589e
--- /dev/null
+++ b/packages/rxvt-unicode/rxvt-unicode_7.9.bb
@@ -0,0 +1,52 @@
+SECTION = "x11/utils"
+DEPENDS = "virtual/libx11 libxt libxft libxpm"
+DESCRIPTION = "rxvt-unicode is a clone of the well known \
+terminal emulator rxvt, modified to store text in Unicode \
+(either UCS-2 or UCS-4) and to use locale-correct input and \
+output. It also supports mixing multiple fonts at the \
+same time, including Xft fonts."
+LICENSE = "GPL"
+PACKAGES =+ "${PN}-daemon ${PN}-control"
+FILES_${PN}-daemon = "${bindir}/rxvtd"
+FILES_${PN}-control = "${bindir}/rxvtc"
+
+SRC_URI = "http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-${PV}.tar.bz2 \
+ file://xwc.patch;patch=1 \
+ file://signedchar.patch;patch=1"
+PR = "r0"
+
+inherit autotools update-alternatives
+
+PROVIDES = "virtual/x-terminal-emulator"
+ALTERNATIVE_NAME = "x-terminal-emulator"
+ALTERNATIVE_PATH = "${bindir}/rxvt"
+
+CFLAGS_append = " -fpermissive"
+
+EXTRA_OECONF = "--enable-menubar --enable-xim \
+ --enable-utmp --enable-wtmp --enable-lastlog \
+ --disable-strings --with-term=rxvt --enable-keepscrolling \
+ --enable-xft --with-name=rxvt --enable-frills \
+ --enable-swapscreen --enable-transparency \
+ --with-codesets=eu \
+ --enable-cursor-blink --enable-pointer-blank \
+ --enable-text-blink --enable-rxvt-scroll \
+ --enable-combining --enable-shared \
+ --enable-xgetdefault \
+ --with-x=${STAGING_LIBDIR}/.. \
+ --enable-xpm-background \
+ --disable-perl \
+ --with-xpm-includes=${STAGING_INCDIR} \
+ --with-xpm-libs=${STAGING_LIBDIR}"
+
+do_configure_prepend () {
+ cp aclocal.m4 acinclude.m4
+}
+
+do_compile_prepend () {
+ echo '#define UTMP_FILE "${localstatedir}/run/utmp"' >> config.h
+ echo '#define WTMP_FILE "${localstatedir}/log/wtmp"' >> config.h
+ echo '#define LASTLOG_FILE "${localstatedir}/log/lastlog"' >> config.h
+ echo '#define HAVE_XLOCALE 1' >> config.h
+}
+
diff --git a/packages/sdcc/files/.mtn2git_empty b/packages/sdcc/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/sdcc/files/.mtn2git_empty
diff --git a/packages/sdcc/files/gcc4.patch b/packages/sdcc/files/gcc4.patch
new file mode 100644
index 0000000000..31eed50df8
--- /dev/null
+++ b/packages/sdcc/files/gcc4.patch
@@ -0,0 +1,13 @@
+Index: sdcc/sim/ucsim/cmd.src/newcmdcl.h
+===================================================================
+--- sdcc.orig/sim/ucsim/cmd.src/newcmdcl.h
++++ sdcc/sim/ucsim/cmd.src/newcmdcl.h
+@@ -124,7 +124,7 @@ public:
+ cl_console(int portnumber, class cl_app *the_app);
+ #endif
+ virtual ~cl_console(void);
+- virtual class cl_console *cl_console::clone_for_exec(char *fin);
++ virtual class cl_console *clone_for_exec(char *fin);
+ virtual int init(void);
+
+ virtual bool accept_last(void);
diff --git a/packages/sdcc/files/use-native-tools.patch b/packages/sdcc/files/use-native-tools.patch
new file mode 100644
index 0000000000..d3b02c4a44
--- /dev/null
+++ b/packages/sdcc/files/use-native-tools.patch
@@ -0,0 +1,80 @@
+Index: sdcc/device/lib/Makefile.in
+===================================================================
+--- sdcc.orig/device/lib/Makefile.in
++++ sdcc/device/lib/Makefile.in
+@@ -18,8 +18,8 @@ ifndef PORTINCDIR
+ PORTINCDIR = $(INCDIR)/mcs51
+ endif
+
+-CC = $(PRJDIR)/bin/sdcc
+-CPP = $(PRJDIR)/bin/sdcpp
++CC = sdcc
++CPP = sdcpp
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+Index: sdcc/device/lib/mcs51/Makefile
+===================================================================
+--- sdcc.orig/device/lib/mcs51/Makefile
++++ sdcc/device/lib/mcs51/Makefile
+@@ -1,8 +1,8 @@
+
+ TOPDIR = ../../..
+
+-SAS = $(TOPDIR)/bin/asx8051
+-SCC = $(TOPDIR)/bin/sdcc
++SAS = asx8051
++SCC = sdcc
+
+ OBJ = crtstart.rel crtxinit.rel crtxclear.rel crtclear.rel crtxstack.rel \
+ crtpagesfr.rel
+Index: sdcc/device/lib/ds390/Makefile
+===================================================================
+--- sdcc.orig/device/lib/ds390/Makefile
++++ sdcc/device/lib/ds390/Makefile
+@@ -1,4 +1,4 @@
+-CC = ../../../bin/sdcc
++CC = sdcc
+
+ #VERBOSE = --verbose
+
+Index: sdcc/device/lib/ds400/Makefile
+===================================================================
+--- sdcc.orig/device/lib/ds400/Makefile
++++ sdcc/device/lib/ds400/Makefile
+@@ -1,4 +1,4 @@
+-CC = ../../../bin/sdcc
++CC = sdcc
+
+ #VERBOSE = --verbose
+
+Index: sdcc/device/lib/z80/Makefile
+===================================================================
+--- sdcc.orig/device/lib/z80/Makefile
++++ sdcc/device/lib/z80/Makefile
+@@ -2,8 +2,8 @@
+
+ TOPDIR = ../../..
+
+-SCC = $(TOPDIR)/bin/sdcc -mz80
+-SAS = $(TOPDIR)/bin/as-z80
++SCC = sdcc -mz80
++SAS = as-z80
+
+ OBJ = div.o mul.o putchar.o shift.o stubs.o crt0_rle.o heap.o fstubs.o
+
+Index: sdcc/device/lib/gbz80/Makefile
+===================================================================
+--- sdcc.orig/device/lib/gbz80/Makefile
++++ sdcc/device/lib/gbz80/Makefile
+@@ -2,8 +2,8 @@
+
+ TOPDIR = ../../..
+
+-SCC = $(TOPDIR)/bin/sdcc -mgbz80
+-SAS = $(TOPDIR)/bin/as-gbz80
++SCC = sdcc -mgbz80
++SAS = as-gbz80
+
+ OBJ = div.o mul.o putchar.o printf.o shift.o stubs.o crt0_rle.o heap.o fstubs.o
+
diff --git a/packages/sdcc/sdcc-native_2.5.0.bb b/packages/sdcc/sdcc-native_2.5.0.bb
index 85c3d5b0fd..3b41c33930 100644
--- a/packages/sdcc/sdcc-native_2.5.0.bb
+++ b/packages/sdcc/sdcc-native_2.5.0.bb
@@ -1,10 +1,16 @@
require sdcc_${PV}.bb
-
inherit native
+DEPENDS = ""
+
+# don't need native-tools patch here
+SRC_URI = "${SOURCEFORGE_MIRROR}/sdcc/sdcc-${PV}.tar.gz \
+ file://gcc4.patch;patch=1"
-# yes, we usually don't want to do this in order to prevent staging pollution,
-# however sdcc behaves pretty nice here, so we can do an exception here (ML).
do_stage() {
- oe_runmake install
+ oe_runmake install
}
+#do_stage() {
+# find bin -type f -perm -0755 -exec install -m 0755 {} ${STAGING_BINDIR} \;
+#}
+
diff --git a/packages/sdcc/sdcc_2.5.0.bb b/packages/sdcc/sdcc_2.5.0.bb
index 65eaf02d44..3347fb9f6e 100644
--- a/packages/sdcc/sdcc_2.5.0.bb
+++ b/packages/sdcc/sdcc_2.5.0.bb
@@ -2,9 +2,12 @@ DESCRIPTION= "SDCC - Small Device C Compiler"
LICENSE = "GPL"
SECTION = "devel"
HOMEPAGE = "http://sdcc.sourceforge.net"
-PR = "r0"
+DEPENDS = "sdcc-native"
+PR = "r1"
-SRC_URI = "${SOURCEFORGE_MIRROR}/sdcc/sdcc-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/sdcc/sdcc-${PV}.tar.gz \
+ file://gcc4.patch;patch=1 \
+ file://use-native-tools.patch;patch=1"
S = "${WORKDIR}/sdcc"
PARALLEL_MAKE = ""
diff --git a/packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb b/packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb
index e60180e6d8..50227ce9ed 100644
--- a/packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb
+++ b/packages/sharprom-toolchain/sharprom-toolchain-native_1.0.bb
@@ -1,11 +1,20 @@
DESCRIPTION = "Precompiled SharpROM toolchain glue package"
LICENSE = "GPL"
SECTION = "base"
+PROVIDES_sharprom-compatible = "\
+ virtual/arm-linux-gcc-2.95 \
+ virtual/arm-linux-libc-for-gcc \
+ virtual/arm-linux-binutils \
+ virtual/libc \
+ virtual/arm-linux-gcc \
+ virtual/linux-libc-headers \
+ virtual/arm-linux-gcc-initial "
+PR = "r1"
+
# This needs to be extracted to /usr/local/arm :
# SRC_URI = "http://handhelds.org/download/projects/toolchain/archive/cross-2.95.3.tar.bz2"
inherit native
-DEPENDS = ""
COMPATIBLE_HOST = 'i.86.*-linux'
diff --git a/packages/sphinx/.mtn2git_empty b/packages/sphinx/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/sphinx/.mtn2git_empty
diff --git a/packages/sphinx/pocketsphinx/.mtn2git_empty b/packages/sphinx/pocketsphinx/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/sphinx/pocketsphinx/.mtn2git_empty
diff --git a/packages/sphinx/pocketsphinx/cross-compile.patch b/packages/sphinx/pocketsphinx/cross-compile.patch
new file mode 100644
index 0000000000..4392204657
--- /dev/null
+++ b/packages/sphinx/pocketsphinx/cross-compile.patch
@@ -0,0 +1,11 @@
+--- foo/configure.in.org 2006-08-05 15:42:56.000000000 +0000
++++ foo/configure.in 2006-10-11 22:53:44.000000000 +0000
+@@ -59,7 +59,7 @@
+ dnl FIXME: How do we find the installed headers robustly?
+ dnl
+ AC_CHECK_HEADER(sphinxbase/sphinx_config.h,
+-CPPFLAGS="-I/usr/include/sphinxbase -I/usr/local/include/sphinxbase",[
++CPPFLAGS="$CPPFLAGS",[
+ if test x$sphinxbase = x; then
+ # Look for sphinxbase in the parent directory
+ for sb in ../sphinxbase*; do
diff --git a/packages/sphinx/pocketsphinx_0.2.1.bb b/packages/sphinx/pocketsphinx_0.2.1.bb
new file mode 100644
index 0000000000..813146ed86
--- /dev/null
+++ b/packages/sphinx/pocketsphinx_0.2.1.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "CMU PocketSphinx - speech recognition engine for handhelds"
+HOMEPAGE = "http://www.speech.cs.cmu.edu/pocketsphinx/"
+LICENSE = "BSD"
+DEPENDS = "sphinxbase"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/cmusphinx/${PN}-${PV}.tar.bz2 \
+ file://cross-compile.patch;patch=1"
+
+inherit autotools
+
+do_configure () {
+ CPPFLAGS="-I${STAGING_INCDIR}/sphinxbase" oe_runconf
+}
diff --git a/packages/sphinx/sphinxbase_0.1.bb b/packages/sphinx/sphinxbase_0.1.bb
new file mode 100644
index 0000000000..1ee41cc485
--- /dev/null
+++ b/packages/sphinx/sphinxbase_0.1.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Base library for CMU Sphinx speech recognition engines"
+HOMEPAGE = "http://www.speech.cs.cmu.edu/pocketsphinx/"
+LICENSE = "BSD"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/cmusphinx/sphinxbase-0.1.tar.bz2"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-fixed"
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/packages/squashfs-tools/files/002-squashfs_lzma.patch b/packages/squashfs-tools/files/002-squashfs_lzma.patch
new file mode 100644
index 0000000000..a166e84971
--- /dev/null
+++ b/packages/squashfs-tools/files/002-squashfs_lzma.patch
@@ -0,0 +1,886 @@
+diff -Nur linux-2.6.16/fs/squashfs/inode.c linux-2.6.16-owrt/fs/squashfs/inode.c
+--- linux-2.6.16/fs/squashfs/inode.c 2006-03-21 10:55:59.000000000 +0100
++++ linux-2.6.16-owrt/fs/squashfs/inode.c 2006-03-21 12:24:37.000000000 +0100
+@@ -4,6 +4,9 @@
+ * Copyright (c) 2002, 2003, 2004, 2005, 2006
+ * Phillip Lougher <phillip@lougher.org.uk>
+ *
++ * LZMA decompressor support added by Oleg I. Vdovikin
++ * Copyright (c) 2005 Oleg I.Vdovikin <oleg@cs.msu.su>
++ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2,
+@@ -21,6 +24,7 @@
+ * inode.c
+ */
+
++#define SQUASHFS_LZMA
+ #include <linux/types.h>
+ #include <linux/squashfs_fs.h>
+ #include <linux/module.h>
+@@ -44,6 +48,19 @@
+
+ #include "squashfs.h"
+
++#ifdef SQUASHFS_LZMA
++#include "LzmaDecode.h"
++
++/* default LZMA settings, should be in sync with mksquashfs */
++#define LZMA_LC 3
++#define LZMA_LP 0
++#define LZMA_PB 2
++
++#define LZMA_WORKSPACE_SIZE ((LZMA_BASE_SIZE + \
++ (LZMA_LIT_SIZE << (LZMA_LC + LZMA_LP))) * sizeof(CProb))
++
++#endif
++
+ static void squashfs_put_super(struct super_block *);
+ static int squashfs_statfs(struct super_block *, struct kstatfs *);
+ static int squashfs_symlink_readpage(struct file *file, struct page *page);
+@@ -64,7 +81,11 @@
+ const char *, void *);
+
+
++#ifdef SQUASHFS_LZMA
++static unsigned char lzma_workspace[LZMA_WORKSPACE_SIZE];
++#else
+ static z_stream stream;
++#endif
+
+ static struct file_system_type squashfs_fs_type = {
+ .owner = THIS_MODULE,
+@@ -249,6 +270,15 @@
+ if (compressed) {
+ int zlib_err;
+
++#ifdef SQUASHFS_LZMA
++ if ((zlib_err = LzmaDecode(lzma_workspace,
++ LZMA_WORKSPACE_SIZE, LZMA_LC, LZMA_LP, LZMA_PB,
++ c_buffer, c_byte, buffer, msblk->read_size, &bytes)) != LZMA_RESULT_OK)
++ {
++ ERROR("lzma returned unexpected result 0x%x\n", zlib_err);
++ bytes = 0;
++ }
++#else
+ stream.next_in = c_buffer;
+ stream.avail_in = c_byte;
+ stream.next_out = buffer;
+@@ -263,6 +293,7 @@
+ bytes = 0;
+ } else
+ bytes = stream.total_out;
++#endif
+
+ up(&msblk->read_data_mutex);
+ }
+@@ -2046,15 +2077,19 @@
+ printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
+ "Phillip Lougher\n");
+
++#ifndef SQUASHFS_LZMA
+ if (!(stream.workspace = vmalloc(zlib_inflate_workspacesize()))) {
+ ERROR("Failed to allocate zlib workspace\n");
+ destroy_inodecache();
+ err = -ENOMEM;
+ goto out;
+ }
++#endif
+
+ if ((err = register_filesystem(&squashfs_fs_type))) {
++#ifndef SQUASHFS_LZMA
+ vfree(stream.workspace);
++#endif
+ destroy_inodecache();
+ }
+
+@@ -2065,7 +2100,9 @@
+
+ static void __exit exit_squashfs_fs(void)
+ {
++#ifndef SQUASHFS_LZMA
+ vfree(stream.workspace);
++#endif
+ unregister_filesystem(&squashfs_fs_type);
+ destroy_inodecache();
+ }
+diff -Nur linux-2.6.16/fs/squashfs/LzmaDecode.c linux-2.6.16-owrt/fs/squashfs/LzmaDecode.c
+--- linux-2.6.16/fs/squashfs/LzmaDecode.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/fs/squashfs/LzmaDecode.c 2006-03-21 10:56:57.000000000 +0100
+@@ -0,0 +1,663 @@
++/*
++ LzmaDecode.c
++ LZMA Decoder
++
++ LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
++ http://www.7-zip.org/
++
++ LZMA SDK is licensed under two licenses:
++ 1) GNU Lesser General Public License (GNU LGPL)
++ 2) Common Public License (CPL)
++ It means that you can select one of these two licenses and
++ follow rules of that license.
++
++ SPECIAL EXCEPTION:
++ Igor Pavlov, as the author of this code, expressly permits you to
++ statically or dynamically link your code (or bind by name) to the
++ interfaces of this file without subjecting your linked code to the
++ terms of the CPL or GNU LGPL. Any modifications or additions
++ to this file, however, are subject to the LGPL or CPL terms.
++*/
++
++#include "LzmaDecode.h"
++
++#ifndef Byte
++#define Byte unsigned char
++#endif
++
++#define kNumTopBits 24
++#define kTopValue ((UInt32)1 << kNumTopBits)
++
++#define kNumBitModelTotalBits 11
++#define kBitModelTotal (1 << kNumBitModelTotalBits)
++#define kNumMoveBits 5
++
++typedef struct _CRangeDecoder
++{
++ Byte *Buffer;
++ Byte *BufferLim;
++ UInt32 Range;
++ UInt32 Code;
++ #ifdef _LZMA_IN_CB
++ ILzmaInCallback *InCallback;
++ int Result;
++ #endif
++ int ExtraBytes;
++} CRangeDecoder;
++
++Byte RangeDecoderReadByte(CRangeDecoder *rd)
++{
++ if (rd->Buffer == rd->BufferLim)
++ {
++ #ifdef _LZMA_IN_CB
++ UInt32 size;
++ rd->Result = rd->InCallback->Read(rd->InCallback, &rd->Buffer, &size);
++ rd->BufferLim = rd->Buffer + size;
++ if (size == 0)
++ #endif
++ {
++ rd->ExtraBytes = 1;
++ return 0xFF;
++ }
++ }
++ return (*rd->Buffer++);
++}
++
++/* #define ReadByte (*rd->Buffer++) */
++#define ReadByte (RangeDecoderReadByte(rd))
++
++void RangeDecoderInit(CRangeDecoder *rd,
++ #ifdef _LZMA_IN_CB
++ ILzmaInCallback *inCallback
++ #else
++ Byte *stream, UInt32 bufferSize
++ #endif
++ )
++{
++ int i;
++ #ifdef _LZMA_IN_CB
++ rd->InCallback = inCallback;
++ rd->Buffer = rd->BufferLim = 0;
++ #else
++ rd->Buffer = stream;
++ rd->BufferLim = stream + bufferSize;
++ #endif
++ rd->ExtraBytes = 0;
++ rd->Code = 0;
++ rd->Range = (0xFFFFFFFF);
++ for(i = 0; i < 5; i++)
++ rd->Code = (rd->Code << 8) | ReadByte;
++}
++
++#define RC_INIT_VAR UInt32 range = rd->Range; UInt32 code = rd->Code;
++#define RC_FLUSH_VAR rd->Range = range; rd->Code = code;
++#define RC_NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | ReadByte; }
++
++UInt32 RangeDecoderDecodeDirectBits(CRangeDecoder *rd, int numTotalBits)
++{
++ RC_INIT_VAR
++ UInt32 result = 0;
++ int i;
++ for (i = numTotalBits; i > 0; i--)
++ {
++ /* UInt32 t; */
++ range >>= 1;
++
++ result <<= 1;
++ if (code >= range)
++ {
++ code -= range;
++ result |= 1;
++ }
++ /*
++ t = (code - range) >> 31;
++ t &= 1;
++ code -= range & (t - 1);
++ result = (result + result) | (1 - t);
++ */
++ RC_NORMALIZE
++ }
++ RC_FLUSH_VAR
++ return result;
++}
++
++int RangeDecoderBitDecode(CProb *prob, CRangeDecoder *rd)
++{
++ UInt32 bound = (rd->Range >> kNumBitModelTotalBits) * *prob;
++ if (rd->Code < bound)
++ {
++ rd->Range = bound;
++ *prob += (kBitModelTotal - *prob) >> kNumMoveBits;
++ if (rd->Range < kTopValue)
++ {
++ rd->Code = (rd->Code << 8) | ReadByte;
++ rd->Range <<= 8;
++ }
++ return 0;
++ }
++ else
++ {
++ rd->Range -= bound;
++ rd->Code -= bound;
++ *prob -= (*prob) >> kNumMoveBits;
++ if (rd->Range < kTopValue)
++ {
++ rd->Code = (rd->Code << 8) | ReadByte;
++ rd->Range <<= 8;
++ }
++ return 1;
++ }
++}
++
++#define RC_GET_BIT2(prob, mi, A0, A1) \
++ UInt32 bound = (range >> kNumBitModelTotalBits) * *prob; \
++ if (code < bound) \
++ { A0; range = bound; *prob += (kBitModelTotal - *prob) >> kNumMoveBits; mi <<= 1; } \
++ else \
++ { A1; range -= bound; code -= bound; *prob -= (*prob) >> kNumMoveBits; mi = (mi + mi) + 1; } \
++ RC_NORMALIZE
++
++#define RC_GET_BIT(prob, mi) RC_GET_BIT2(prob, mi, ; , ;)
++
++int RangeDecoderBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd)
++{
++ int mi = 1;
++ int i;
++ #ifdef _LZMA_LOC_OPT
++ RC_INIT_VAR
++ #endif
++ for(i = numLevels; i > 0; i--)
++ {
++ #ifdef _LZMA_LOC_OPT
++ CProb *prob = probs + mi;
++ RC_GET_BIT(prob, mi)
++ #else
++ mi = (mi + mi) + RangeDecoderBitDecode(probs + mi, rd);
++ #endif
++ }
++ #ifdef _LZMA_LOC_OPT
++ RC_FLUSH_VAR
++ #endif
++ return mi - (1 << numLevels);
++}
++
++int RangeDecoderReverseBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd)
++{
++ int mi = 1;
++ int i;
++ int symbol = 0;
++ #ifdef _LZMA_LOC_OPT
++ RC_INIT_VAR
++ #endif
++ for(i = 0; i < numLevels; i++)
++ {
++ #ifdef _LZMA_LOC_OPT
++ CProb *prob = probs + mi;
++ RC_GET_BIT2(prob, mi, ; , symbol |= (1 << i))
++ #else
++ int bit = RangeDecoderBitDecode(probs + mi, rd);
++ mi = mi + mi + bit;
++ symbol |= (bit << i);
++ #endif
++ }
++ #ifdef _LZMA_LOC_OPT
++ RC_FLUSH_VAR
++ #endif
++ return symbol;
++}
++
++Byte LzmaLiteralDecode(CProb *probs, CRangeDecoder *rd)
++{
++ int symbol = 1;
++ #ifdef _LZMA_LOC_OPT
++ RC_INIT_VAR
++ #endif
++ do
++ {
++ #ifdef _LZMA_LOC_OPT
++ CProb *prob = probs + symbol;
++ RC_GET_BIT(prob, symbol)
++ #else
++ symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd);
++ #endif
++ }
++ while (symbol < 0x100);
++ #ifdef _LZMA_LOC_OPT
++ RC_FLUSH_VAR
++ #endif
++ return symbol;
++}
++
++Byte LzmaLiteralDecodeMatch(CProb *probs, CRangeDecoder *rd, Byte matchByte)
++{
++ int symbol = 1;
++ #ifdef _LZMA_LOC_OPT
++ RC_INIT_VAR
++ #endif
++ do
++ {
++ int bit;
++ int matchBit = (matchByte >> 7) & 1;
++ matchByte <<= 1;
++ #ifdef _LZMA_LOC_OPT
++ {
++ CProb *prob = probs + ((1 + matchBit) << 8) + symbol;
++ RC_GET_BIT2(prob, symbol, bit = 0, bit = 1)
++ }
++ #else
++ bit = RangeDecoderBitDecode(probs + ((1 + matchBit) << 8) + symbol, rd);
++ symbol = (symbol << 1) | bit;
++ #endif
++ if (matchBit != bit)
++ {
++ while (symbol < 0x100)
++ {
++ #ifdef _LZMA_LOC_OPT
++ CProb *prob = probs + symbol;
++ RC_GET_BIT(prob, symbol)
++ #else
++ symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd);
++ #endif
++ }
++ break;
++ }
++ }
++ while (symbol < 0x100);
++ #ifdef _LZMA_LOC_OPT
++ RC_FLUSH_VAR
++ #endif
++ return symbol;
++}
++
++#define kNumPosBitsMax 4
++#define kNumPosStatesMax (1 << kNumPosBitsMax)
++
++#define kLenNumLowBits 3
++#define kLenNumLowSymbols (1 << kLenNumLowBits)
++#define kLenNumMidBits 3
++#define kLenNumMidSymbols (1 << kLenNumMidBits)
++#define kLenNumHighBits 8
++#define kLenNumHighSymbols (1 << kLenNumHighBits)
++
++#define LenChoice 0
++#define LenChoice2 (LenChoice + 1)
++#define LenLow (LenChoice2 + 1)
++#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
++#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
++#define kNumLenProbs (LenHigh + kLenNumHighSymbols)
++
++int LzmaLenDecode(CProb *p, CRangeDecoder *rd, int posState)
++{
++ if(RangeDecoderBitDecode(p + LenChoice, rd) == 0)
++ return RangeDecoderBitTreeDecode(p + LenLow +
++ (posState << kLenNumLowBits), kLenNumLowBits, rd);
++ if(RangeDecoderBitDecode(p + LenChoice2, rd) == 0)
++ return kLenNumLowSymbols + RangeDecoderBitTreeDecode(p + LenMid +
++ (posState << kLenNumMidBits), kLenNumMidBits, rd);
++ return kLenNumLowSymbols + kLenNumMidSymbols +
++ RangeDecoderBitTreeDecode(p + LenHigh, kLenNumHighBits, rd);
++}
++
++#define kNumStates 12
++
++#define kStartPosModelIndex 4
++#define kEndPosModelIndex 14
++#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
++
++#define kNumPosSlotBits 6
++#define kNumLenToPosStates 4
++
++#define kNumAlignBits 4
++#define kAlignTableSize (1 << kNumAlignBits)
++
++#define kMatchMinLen 2
++
++#define IsMatch 0
++#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
++#define IsRepG0 (IsRep + kNumStates)
++#define IsRepG1 (IsRepG0 + kNumStates)
++#define IsRepG2 (IsRepG1 + kNumStates)
++#define IsRep0Long (IsRepG2 + kNumStates)
++#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
++#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
++#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
++#define LenCoder (Align + kAlignTableSize)
++#define RepLenCoder (LenCoder + kNumLenProbs)
++#define Literal (RepLenCoder + kNumLenProbs)
++
++#if Literal != LZMA_BASE_SIZE
++StopCompilingDueBUG
++#endif
++
++#ifdef _LZMA_OUT_READ
++
++typedef struct _LzmaVarState
++{
++ CRangeDecoder RangeDecoder;
++ Byte *Dictionary;
++ UInt32 DictionarySize;
++ UInt32 DictionaryPos;
++ UInt32 GlobalPos;
++ UInt32 Reps[4];
++ int lc;
++ int lp;
++ int pb;
++ int State;
++ int PreviousIsMatch;
++ int RemainLen;
++} LzmaVarState;
++
++int LzmaDecoderInit(
++ unsigned char *buffer, UInt32 bufferSize,
++ int lc, int lp, int pb,
++ unsigned char *dictionary, UInt32 dictionarySize,
++ #ifdef _LZMA_IN_CB
++ ILzmaInCallback *inCallback
++ #else
++ unsigned char *inStream, UInt32 inSize
++ #endif
++ )
++{
++ LzmaVarState *vs = (LzmaVarState *)buffer;
++ CProb *p = (CProb *)(buffer + sizeof(LzmaVarState));
++ UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp));
++ UInt32 i;
++ if (bufferSize < numProbs * sizeof(CProb) + sizeof(LzmaVarState))
++ return LZMA_RESULT_NOT_ENOUGH_MEM;
++ vs->Dictionary = dictionary;
++ vs->DictionarySize = dictionarySize;
++ vs->DictionaryPos = 0;
++ vs->GlobalPos = 0;
++ vs->Reps[0] = vs->Reps[1] = vs->Reps[2] = vs->Reps[3] = 1;
++ vs->lc = lc;
++ vs->lp = lp;
++ vs->pb = pb;
++ vs->State = 0;
++ vs->PreviousIsMatch = 0;
++ vs->RemainLen = 0;
++ dictionary[dictionarySize - 1] = 0;
++ for (i = 0; i < numProbs; i++)
++ p[i] = kBitModelTotal >> 1;
++ RangeDecoderInit(&vs->RangeDecoder,
++ #ifdef _LZMA_IN_CB
++ inCallback
++ #else
++ inStream, inSize
++ #endif
++ );
++ return LZMA_RESULT_OK;
++}
++
++int LzmaDecode(unsigned char *buffer,
++ unsigned char *outStream, UInt32 outSize,
++ UInt32 *outSizeProcessed)
++{
++ LzmaVarState *vs = (LzmaVarState *)buffer;
++ CProb *p = (CProb *)(buffer + sizeof(LzmaVarState));
++ CRangeDecoder rd = vs->RangeDecoder;
++ int state = vs->State;
++ int previousIsMatch = vs->PreviousIsMatch;
++ Byte previousByte;
++ UInt32 rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3];
++ UInt32 nowPos = 0;
++ UInt32 posStateMask = (1 << (vs->pb)) - 1;
++ UInt32 literalPosMask = (1 << (vs->lp)) - 1;
++ int lc = vs->lc;
++ int len = vs->RemainLen;
++ UInt32 globalPos = vs->GlobalPos;
++
++ Byte *dictionary = vs->Dictionary;
++ UInt32 dictionarySize = vs->DictionarySize;
++ UInt32 dictionaryPos = vs->DictionaryPos;
++
++ if (len == -1)
++ {
++ *outSizeProcessed = 0;
++ return LZMA_RESULT_OK;
++ }
++
++ while(len > 0 && nowPos < outSize)
++ {
++ UInt32 pos = dictionaryPos - rep0;
++ if (pos >= dictionarySize)
++ pos += dictionarySize;
++ outStream[nowPos++] = dictionary[dictionaryPos] = dictionary[pos];
++ if (++dictionaryPos == dictionarySize)
++ dictionaryPos = 0;
++ len--;
++ }
++ if (dictionaryPos == 0)
++ previousByte = dictionary[dictionarySize - 1];
++ else
++ previousByte = dictionary[dictionaryPos - 1];
++#else
++
++int LzmaDecode(
++ Byte *buffer, UInt32 bufferSize,
++ int lc, int lp, int pb,
++ #ifdef _LZMA_IN_CB
++ ILzmaInCallback *inCallback,
++ #else
++ unsigned char *inStream, UInt32 inSize,
++ #endif
++ unsigned char *outStream, UInt32 outSize,
++ UInt32 *outSizeProcessed)
++{
++ UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp));
++ CProb *p = (CProb *)buffer;
++ CRangeDecoder rd;
++ UInt32 i;
++ int state = 0;
++ int previousIsMatch = 0;
++ Byte previousByte = 0;
++ UInt32 rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1;
++ UInt32 nowPos = 0;
++ UInt32 posStateMask = (1 << pb) - 1;
++ UInt32 literalPosMask = (1 << lp) - 1;
++ int len = 0;
++ if (bufferSize < numProbs * sizeof(CProb))
++ return LZMA_RESULT_NOT_ENOUGH_MEM;
++ for (i = 0; i < numProbs; i++)
++ p[i] = kBitModelTotal >> 1;
++ RangeDecoderInit(&rd,
++ #ifdef _LZMA_IN_CB
++ inCallback
++ #else
++ inStream, inSize
++ #endif
++ );
++#endif
++
++ *outSizeProcessed = 0;
++ while(nowPos < outSize)
++ {
++ int posState = (int)(
++ (nowPos
++ #ifdef _LZMA_OUT_READ
++ + globalPos
++ #endif
++ )
++ & posStateMask);
++ #ifdef _LZMA_IN_CB
++ if (rd.Result != LZMA_RESULT_OK)
++ return rd.Result;
++ #endif
++ if (rd.ExtraBytes != 0)
++ return LZMA_RESULT_DATA_ERROR;
++ if (RangeDecoderBitDecode(p + IsMatch + (state << kNumPosBitsMax) + posState, &rd) == 0)
++ {
++ CProb *probs = p + Literal + (LZMA_LIT_SIZE *
++ (((
++ (nowPos
++ #ifdef _LZMA_OUT_READ
++ + globalPos
++ #endif
++ )
++ & literalPosMask) << lc) + (previousByte >> (8 - lc))));
++
++ if (state < 4) state = 0;
++ else if (state < 10) state -= 3;
++ else state -= 6;
++ if (previousIsMatch)
++ {
++ Byte matchByte;
++ #ifdef _LZMA_OUT_READ
++ UInt32 pos = dictionaryPos - rep0;
++ if (pos >= dictionarySize)
++ pos += dictionarySize;
++ matchByte = dictionary[pos];
++ #else
++ matchByte = outStream[nowPos - rep0];
++ #endif
++ previousByte = LzmaLiteralDecodeMatch(probs, &rd, matchByte);
++ previousIsMatch = 0;
++ }
++ else
++ previousByte = LzmaLiteralDecode(probs, &rd);
++ outStream[nowPos++] = previousByte;
++ #ifdef _LZMA_OUT_READ
++ dictionary[dictionaryPos] = previousByte;
++ if (++dictionaryPos == dictionarySize)
++ dictionaryPos = 0;
++ #endif
++ }
++ else
++ {
++ previousIsMatch = 1;
++ if (RangeDecoderBitDecode(p + IsRep + state, &rd) == 1)
++ {
++ if (RangeDecoderBitDecode(p + IsRepG0 + state, &rd) == 0)
++ {
++ if (RangeDecoderBitDecode(p + IsRep0Long + (state << kNumPosBitsMax) + posState, &rd) == 0)
++ {
++ #ifdef _LZMA_OUT_READ
++ UInt32 pos;
++ #endif
++ if (
++ (nowPos
++ #ifdef _LZMA_OUT_READ
++ + globalPos
++ #endif
++ )
++ == 0)
++ return LZMA_RESULT_DATA_ERROR;
++ state = state < 7 ? 9 : 11;
++ #ifdef _LZMA_OUT_READ
++ pos = dictionaryPos - rep0;
++ if (pos >= dictionarySize)
++ pos += dictionarySize;
++ previousByte = dictionary[pos];
++ dictionary[dictionaryPos] = previousByte;
++ if (++dictionaryPos == dictionarySize)
++ dictionaryPos = 0;
++ #else
++ previousByte = outStream[nowPos - rep0];
++ #endif
++ outStream[nowPos++] = previousByte;
++ continue;
++ }
++ }
++ else
++ {
++ UInt32 distance;
++ if(RangeDecoderBitDecode(p + IsRepG1 + state, &rd) == 0)
++ distance = rep1;
++ else
++ {
++ if(RangeDecoderBitDecode(p + IsRepG2 + state, &rd) == 0)
++ distance = rep2;
++ else
++ {
++ distance = rep3;
++ rep3 = rep2;
++ }
++ rep2 = rep1;
++ }
++ rep1 = rep0;
++ rep0 = distance;
++ }
++ len = LzmaLenDecode(p + RepLenCoder, &rd, posState);
++ state = state < 7 ? 8 : 11;
++ }
++ else
++ {
++ int posSlot;
++ rep3 = rep2;
++ rep2 = rep1;
++ rep1 = rep0;
++ state = state < 7 ? 7 : 10;
++ len = LzmaLenDecode(p + LenCoder, &rd, posState);
++ posSlot = RangeDecoderBitTreeDecode(p + PosSlot +
++ ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) <<
++ kNumPosSlotBits), kNumPosSlotBits, &rd);
++ if (posSlot >= kStartPosModelIndex)
++ {
++ int numDirectBits = ((posSlot >> 1) - 1);
++ rep0 = ((2 | ((UInt32)posSlot & 1)) << numDirectBits);
++ if (posSlot < kEndPosModelIndex)
++ {
++ rep0 += RangeDecoderReverseBitTreeDecode(
++ p + SpecPos + rep0 - posSlot - 1, numDirectBits, &rd);
++ }
++ else
++ {
++ rep0 += RangeDecoderDecodeDirectBits(&rd,
++ numDirectBits - kNumAlignBits) << kNumAlignBits;
++ rep0 += RangeDecoderReverseBitTreeDecode(p + Align, kNumAlignBits, &rd);
++ }
++ }
++ else
++ rep0 = posSlot;
++ rep0++;
++ }
++ if (rep0 == (UInt32)(0))
++ {
++ /* it's for stream version */
++ len = -1;
++ break;
++ }
++ if (rep0 > nowPos
++ #ifdef _LZMA_OUT_READ
++ + globalPos
++ #endif
++ )
++ {
++ return LZMA_RESULT_DATA_ERROR;
++ }
++ len += kMatchMinLen;
++ do
++ {
++ #ifdef _LZMA_OUT_READ
++ UInt32 pos = dictionaryPos - rep0;
++ if (pos >= dictionarySize)
++ pos += dictionarySize;
++ previousByte = dictionary[pos];
++ dictionary[dictionaryPos] = previousByte;
++ if (++dictionaryPos == dictionarySize)
++ dictionaryPos = 0;
++ #else
++ previousByte = outStream[nowPos - rep0];
++ #endif
++ outStream[nowPos++] = previousByte;
++ len--;
++ }
++ while(len > 0 && nowPos < outSize);
++ }
++ }
++
++ #ifdef _LZMA_OUT_READ
++ vs->RangeDecoder = rd;
++ vs->DictionaryPos = dictionaryPos;
++ vs->GlobalPos = globalPos + nowPos;
++ vs->Reps[0] = rep0;
++ vs->Reps[1] = rep1;
++ vs->Reps[2] = rep2;
++ vs->Reps[3] = rep3;
++ vs->State = state;
++ vs->PreviousIsMatch = previousIsMatch;
++ vs->RemainLen = len;
++ #endif
++
++ *outSizeProcessed = nowPos;
++ return LZMA_RESULT_OK;
++}
+diff -Nur linux-2.6.16/fs/squashfs/LzmaDecode.h linux-2.6.16-owrt/fs/squashfs/LzmaDecode.h
+--- linux-2.6.16/fs/squashfs/LzmaDecode.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-owrt/fs/squashfs/LzmaDecode.h 2006-03-21 10:56:57.000000000 +0100
+@@ -0,0 +1,100 @@
++/*
++ LzmaDecode.h
++ LZMA Decoder interface
++
++ LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25)
++ http://www.7-zip.org/
++
++ LZMA SDK is licensed under two licenses:
++ 1) GNU Lesser General Public License (GNU LGPL)
++ 2) Common Public License (CPL)
++ It means that you can select one of these two licenses and
++ follow rules of that license.
++
++ SPECIAL EXCEPTION:
++ Igor Pavlov, as the author of this code, expressly permits you to
++ statically or dynamically link your code (or bind by name) to the
++ interfaces of this file without subjecting your linked code to the
++ terms of the CPL or GNU LGPL. Any modifications or additions
++ to this file, however, are subject to the LGPL or CPL terms.
++*/
++
++#ifndef __LZMADECODE_H
++#define __LZMADECODE_H
++
++/* #define _LZMA_IN_CB */
++/* Use callback for input data */
++
++/* #define _LZMA_OUT_READ */
++/* Use read function for output data */
++
++/* #define _LZMA_PROB32 */
++/* It can increase speed on some 32-bit CPUs,
++ but memory usage will be doubled in that case */
++
++/* #define _LZMA_LOC_OPT */
++/* Enable local speed optimizations inside code */
++
++#ifndef UInt32
++#ifdef _LZMA_UINT32_IS_ULONG
++#define UInt32 unsigned long
++#else
++#define UInt32 unsigned int
++#endif
++#endif
++
++#ifdef _LZMA_PROB32
++#define CProb UInt32
++#else
++#define CProb unsigned short
++#endif
++
++#define LZMA_RESULT_OK 0
++#define LZMA_RESULT_DATA_ERROR 1
++#define LZMA_RESULT_NOT_ENOUGH_MEM 2
++
++#ifdef _LZMA_IN_CB
++typedef struct _ILzmaInCallback
++{
++ int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize);
++} ILzmaInCallback;
++#endif
++
++#define LZMA_BASE_SIZE 1846
++#define LZMA_LIT_SIZE 768
++
++/*
++bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb)
++bufferSize += 100 in case of _LZMA_OUT_READ
++by default CProb is unsigned short,
++but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int)
++*/
++
++#ifdef _LZMA_OUT_READ
++int LzmaDecoderInit(
++ unsigned char *buffer, UInt32 bufferSize,
++ int lc, int lp, int pb,
++ unsigned char *dictionary, UInt32 dictionarySize,
++ #ifdef _LZMA_IN_CB
++ ILzmaInCallback *inCallback
++ #else
++ unsigned char *inStream, UInt32 inSize
++ #endif
++);
++#endif
++
++int LzmaDecode(
++ unsigned char *buffer,
++ #ifndef _LZMA_OUT_READ
++ UInt32 bufferSize,
++ int lc, int lp, int pb,
++ #ifdef _LZMA_IN_CB
++ ILzmaInCallback *inCallback,
++ #else
++ unsigned char *inStream, UInt32 inSize,
++ #endif
++ #endif
++ unsigned char *outStream, UInt32 outSize,
++ UInt32 *outSizeProcessed);
++
++#endif
+diff -Nur linux-2.6.16/fs/squashfs/Makefile linux-2.6.16-owrt/fs/squashfs/Makefile
+--- linux-2.6.16/fs/squashfs/Makefile 2006-03-21 10:55:59.000000000 +0100
++++ linux-2.6.16-owrt/fs/squashfs/Makefile 2006-03-21 10:57:08.000000000 +0100
+@@ -5,3 +5,4 @@
+ obj-$(CONFIG_SQUASHFS) += squashfs.o
+ squashfs-y += inode.o
+ squashfs-y += squashfs2_0.o
++squashfs-y += LzmaDecode.o
diff --git a/packages/squashfs-tools/files/Makefile-3.1.patch b/packages/squashfs-tools/files/Makefile-3.1.patch
new file mode 100644
index 0000000000..1b7c49878f
--- /dev/null
+++ b/packages/squashfs-tools/files/Makefile-3.1.patch
@@ -0,0 +1,34 @@
+Modifies the Makefile to work with OpenEmbedded.
+
+I copied the CFLAGS_R approach from the existing 2.0 squashfs-tools,
+without actually knowing why this approach was taken. It works though.
+
+Leon Woestenberg <leonw@mailcan.com>
+
+--- squashfs-tools/Makefile 2006-10-10 13:59:05.000000000 +0200
++++ squashfs-tools/Makefile.oe 2006-10-10 14:06:01.000000000 +0200
+@@ -1,17 +1,22 @@
+ INCLUDEDIR = .
++CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
++LIBS = -lz -lpthread
+
+ CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
+
+ all: mksquashfs unsquashfs
+
+ mksquashfs: mksquashfs.o read_fs.o sort.o
+- $(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -o $@
++ $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
+
+ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
+
+ read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h
+-
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o read_fs.o read_fs.c
++
+ sort.o: sort.c squashfs_fs.h global.h sort.h
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
+
+ unsquashfs: unsquashfs.o
+ $(CC) unsquashfs.o -lz -o $@
diff --git a/packages/squashfs-tools/files/Makefile.patch b/packages/squashfs-tools/files/Makefile.patch
new file mode 100644
index 0000000000..beabea88f9
--- /dev/null
+++ b/packages/squashfs-tools/files/Makefile.patch
@@ -0,0 +1,31 @@
+Index: squashfs-tools/Makefile
+===================================================================
+--- squashfs-tools.orig/Makefile 2006-08-21 01:42:45.000000000 +0200
++++ squashfs-tools/Makefile 2006-09-21 11:42:10.000000000 +0200
+@@ -1,19 +1,24 @@
+ INCLUDEDIR = .
+
+ CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
++CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
++LIBS = -lz
+
+ all: mksquashfs unsquashfs
+
+ mksquashfs: mksquashfs.o read_fs.o sort.o
+- $(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -o $@
++ $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o -lz -lpthread -o $@
+
+ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
+
+ read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o read_fs.o read_fs.c
+
+ sort.o: sort.c squashfs_fs.h global.h sort.h
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
+
+ unsquashfs: unsquashfs.o
+- $(CC) unsquashfs.o -lz -o $@
++ $(CC) $(LDFLAGS) unsquashfs.o -lz -o $@
+
+ unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
diff --git a/packages/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch b/packages/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch
new file mode 100644
index 0000000000..eeb578ab12
--- /dev/null
+++ b/packages/squashfs-tools/files/squashfs3.1r2-tools-lzma_Makefile.patch
@@ -0,0 +1,40 @@
+Modifies the Makefile so that it builds {mk,un}squashfs-lzma instead
+of {mk,un}squashfs. This requires the common (non-lzma) patch called
+Makefile-3.1 to be applied first.
+
+Leon Woestenberg <leonw@mailcan.com>
+
+--- squashfs-tools/Makefile 2006-10-10 16:07:43.000000000 +0200
++++ squashfs-lzma-tools/Makefile 2006-10-10 15:44:57.000000000 +0200
+@@ -1,13 +1,15 @@
+ INCLUDEDIR = .
+ CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+-LIBS = -lz -lpthread
++#LZMAPATH = ./lzma/C/7zip/Compress/LZMA_Lib
++LIBS = -llzma -lz -lpthread
+
+ CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
+
+ all: mksquashfs unsquashfs
+
+-mksquashfs: mksquashfs.o read_fs.o sort.o
+- $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
++mksquashfs-lzma: mksquashfs.o read_fs.o sort.o
++# make -C $(LZMAPATH)
++ $(CXX) $(LDFLAGS) mksquashfs.o read_fs.o sort.o $(LIBS) -o $@
+
+ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
+ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o mksquashfs.o mksquashfs.c
+@@ -18,7 +20,10 @@
+ sort.o: sort.c squashfs_fs.h global.h sort.h
+ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o sort.o sort.c
+
+-unsquashfs: unsquashfs.o
+- $(CC) unsquashfs.o -lz -o $@
++unsquashfs-lzma: unsquashfs.o
++# make -C $(LZMAPATH)
++ $(CXX) unsquashfs.o $(LIBS) -o $@
+
+ unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
++
++clean:
diff --git a/packages/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch b/packages/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch
new file mode 100644
index 0000000000..2947de0858
--- /dev/null
+++ b/packages/squashfs-tools/files/squashfs3.1r2-tools-replace_zlib_with_lzma.patch
@@ -0,0 +1,1785 @@
+Modify the source code to use the lzma {,de}compression routines.
+
+Leon Woestenberg <leonw@mailcan.com>
+
+diff -Nur squashfs-tools/mksquashfs.c squashfs-lzma-tools/mksquashfs.c
+--- squashfs-tools/mksquashfs.c 2006-08-31 00:07:37.000000000 +0200
++++ squashfs-lzma-tools/mksquashfs.c 2006-08-22 09:35:14.000000000 +0200
+@@ -40,16 +40,13 @@
+ #include <signal.h>
+ #include <setjmp.h>
+ #include <sys/mman.h>
+-#include <pthread.h>
+
+ #ifndef linux
+ #define __BYTE_ORDER BYTE_ORDER
+ #define __BIG_ENDIAN BIG_ENDIAN
+ #define __LITTLE_ENDIAN LITTLE_ENDIAN
+-#include <sys/sysctl.h>
+ #else
+ #include <endian.h>
+-#include <sys/sysinfo.h>
+ #endif
+
+ #include <squashfs_fs.h>
+@@ -149,7 +146,7 @@
+ struct inode_info *inode_info[INODE_HASH_SIZE];
+
+ /* hash tables used to do fast duplicate searches in duplicate check */
+-struct file_info *dupl[65536];
++struct file_info *dupl[65536], *frag_dups[65536];
+ int dup_files = 0;
+
+ /* list of exclude dirs/files */
+@@ -165,7 +162,7 @@
+
+ /* fragment block data structures */
+ int fragments = 0;
+-struct file_buffer *fragment_data = NULL;
++char fragment_data[SQUASHFS_FILE_SIZE];
+ int fragment_size = 0;
+ struct fragment {
+ unsigned int index;
+@@ -174,7 +171,6 @@
+ };
+ #define FRAG_SIZE 32768
+ squashfs_fragment_entry *fragment_table = NULL;
+-int fragments_outstanding = 0;
+
+
+ /* current inode number for directories and non directories */
+@@ -198,15 +194,13 @@
+
+ /* in memory file info */
+ struct file_info {
+- long long file_size;
+ long long bytes;
+ unsigned short checksum;
+- unsigned short fragment_checksum;
+ long long start;
+ unsigned int *block_list;
+ struct file_info *next;
+ struct fragment *fragment;
+- char checksum_flag;
++ unsigned short fragment_checksum;
+ };
+
+ /* count of how many times SIGINT or SIGQUIT has been sent */
+@@ -225,7 +219,6 @@
+ sdir_count, sfifo_count, ssock_count, sdup_files;
+ int sfragments;
+ int restore = 0;
+-int threads;
+
+ /* flag whether destination file is a block device */
+ int block_device = 0;
+@@ -236,67 +229,14 @@
+ /* save destination file name for deleting on error */
+ char *destination_file = NULL;
+
+-/* data allocator status struct. Allocators are used to keep
+- track of memory buffers passed between different threads */
+-struct allocator {
+- int max_buffers;
+- int count;
+- int buffer_size;
+- pthread_mutex_t mutex;
+- pthread_cond_t wait;
+-};
+-
+-/* struct describing a memory buffer passed between threads */
+-struct file_buffer {
+- struct allocator *allocator;
+- void (*release)(int);
+- int release_data;
+- long long block;
+- int size;
+- int c_byte;
+- unsigned int block_order;
+- int fragment;
+- int error;
+- struct file_buffer *next;
+- char data[0];
+-};
+-
+-/* struct describing queues used to pass data between threads */
+-struct queue {
+- int size;
+- int readp;
+- int writep;
+- pthread_mutex_t mutex;
+- pthread_cond_t empty;
+- pthread_cond_t full;
+- void **data;
+-};
+-
+-/* describes the list of blocks in a file which is a possible
+- duplicate. For each block, it indicates whether the block is
+- in memory or on disk */
+-struct buffer_list {
+- long long start;
+- int size;
+- struct file_buffer *read_buffer;
++/* structure to used to pass in a pointer or an integer
++ * to duplicate buffer read helper functions.
++ */
++struct duplicate_buffer_handle {
++ char *ptr;
++ long long start;
+ };
+
+-struct allocator *reader_buffer, *writer_buffer, *fragment_buffer;
+-struct queue *to_reader, *from_reader, *to_writer, *from_writer, *from_deflate, *to_frag;
+-pthread_t *thread, *deflator_thread, *frag_deflator_thread;
+-pthread_mutex_t fragment_mutex;
+-pthread_cond_t fragment_waiting;
+-pthread_mutex_t pos_mutex;
+-
+-/* user options that control parallelisation */
+-int processors = -1;
+-/* default size of output buffer in Mbytes */
+-#define WRITER_BUFFER_DEFAULT 512
+-/* default size of input buffer in Mbytes */
+-#define READER_BUFFER_DEFAULT 64
+-int writer_buffer_size;
+-int reader_buffer_size;
+-
+ void add_old_root_entry(char *name, squashfs_inode inode, int inode_number, int type);
+ extern int read_super(int fd, squashfs_super_block *sBlk, int *be, char *source);
+ extern long long read_filesystem(char *root_name, int fd, squashfs_super_block *sBlk, char **cinode_table,
+@@ -309,166 +249,18 @@
+ unsigned int *inode_dir_inode_number, unsigned int *inode_dir_parent_inode,
+ void (push_directory_entry)(char *, squashfs_inode, int, int),
+ squashfs_fragment_entry **fragment_table);
+-extern int read_sort_file(char *filename, int source, char *source_path[]);
+-extern void sort_files_and_write(struct dir_info *dir);
+-struct file_info *duplicate(long long file_size, long long bytes, unsigned int **block_list, long long *start, struct fragment **fragment, struct file_buffer *file_buffer, struct buffer_list *buffer_list, int blocks, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag);
++int get_sorted_inode(squashfs_inode *inode, struct stat *buf);
++int read_sort_file(char *filename, int source, char *source_path[]);
++void sort_files_and_write(struct dir_info *dir);
++struct file_info *duplicate(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *file_start, long long bytes, unsigned int **block_list, long long *start, int blocks, struct fragment **fragment, char *frag_data, int frag_bytes);
+ struct dir_info *dir_scan1(char *, int (_readdir)(char *, char *, struct dir_info *));
+-struct file_info *add_non_dup(long long file_size, long long bytes, unsigned int *block_list, long long start, struct fragment *fragment, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag);
+-extern void generate_file_priorities(struct dir_info *dir, int priority, struct stat *buf);
+-extern struct priority_entry *priority_list[65536];
+-
+-
+-struct allocator *alloc_init(int buffer_size, int max_buffers)
+-{
+- struct allocator *allocator = malloc(sizeof(struct allocator));
+-
+- if(allocator == NULL)
+- return NULL;
+-
+- allocator->max_buffers = max_buffers;
+- allocator->buffer_size = buffer_size;
+- allocator->count = 0;
+- pthread_mutex_init(&allocator->mutex, NULL);
+- pthread_cond_init(&allocator->wait, NULL);
+-
+- return allocator;
+-}
+-
+-
+-struct file_buffer *alloc_get(struct allocator *allocator)
+-{
+- struct file_buffer *file_buffer;
+-
+- pthread_mutex_lock(&allocator->mutex);
+-
+- while(allocator->count == allocator->max_buffers)
+- pthread_cond_wait(&allocator->wait, &allocator->mutex);
+-
+- if((file_buffer = malloc(sizeof(struct file_buffer) + allocator->buffer_size)) == NULL)
+- goto failed;
+-
+- file_buffer->release = NULL;
+- file_buffer->allocator = allocator;
+- allocator->count ++;
+-
+-failed:
+- pthread_mutex_unlock(&allocator->mutex);
+- return file_buffer;
+-}
+-
+-
+-struct file_buffer *alloc_get_2(struct allocator *allocator, void (*release)(int), int release_data)
+-{
+- struct file_buffer *file_buffer = alloc_get(allocator);
+-
+- if(file_buffer) {
+- file_buffer->release = release;
+- file_buffer->release_data = release_data;
+- }
+- return file_buffer;
+-}
+-
+-
+-void alloc_free(struct file_buffer *file_buffer)
+-{
+- struct allocator *allocator;
+-
+- if(file_buffer == NULL)
+- return;
+-
+- allocator = file_buffer->allocator;
+-
+- if(file_buffer->release)
+- file_buffer->release(file_buffer->release_data);
+-
+- pthread_mutex_lock(&allocator->mutex);
+- free(file_buffer);
+- if(allocator->count == 0)
+- ERROR("alloc_free: freeing buffer for empty allocator!\n");
+- else
+- allocator->count --;
+- pthread_cond_signal(&allocator->wait);
+- pthread_mutex_unlock(&allocator->mutex);
+-}
+-
+-
+-struct queue *queue_init(int size)
+-{
+- struct queue *queue = malloc(sizeof(struct queue));
+-
+- if(queue == NULL)
+- return NULL;
+-
+- if((queue->data = malloc(sizeof(void *) * (size + 1))) == NULL) {
+- free(queue);
+- return NULL;
+- }
+-
+- queue->size = size + 1;
+- queue->readp = queue->writep = 0;
+- pthread_mutex_init(&queue->mutex, NULL);
+- pthread_cond_init(&queue->empty, NULL);
+- pthread_cond_init(&queue->full, NULL);
+-
+- return queue;
+-}
+-
+-
+-void queue_put(struct queue *queue, void *data)
+-{
+- int nextp;
+-
+- pthread_mutex_lock(&queue->mutex);
+-
+- while((nextp = (queue->writep + 1) % queue->size) == queue->readp)
+- pthread_cond_wait(&queue->full, &queue->mutex);
+-
+- queue->data[queue->writep] = data;
+- queue->writep = nextp;
+- pthread_cond_signal(&queue->empty);
+- pthread_mutex_unlock(&queue->mutex);
+-}
+-
+-
+-void *queue_get(struct queue *queue)
+-{
+- void *data;
+- pthread_mutex_lock(&queue->mutex);
+-
+- while(queue->readp == queue->writep)
+- pthread_cond_wait(&queue->empty, &queue->mutex);
+-
+- data = queue->data[queue->readp];
+- queue->readp = (queue->readp + 1) % queue->size;
+- pthread_cond_signal(&queue->full);
+- pthread_mutex_unlock(&queue->mutex);
+-
+- return data;
+-}
+-
+
+ #define MKINODE(A) ((squashfs_inode)(((squashfs_inode) inode_bytes << 16) + (((char *)A) - data_cache)))
+
+
+-inline void waitforthread(int i)
+-{
+- TRACE("Waiting for thread %d\n", i);
+- while(thread[i] != 0)
+- sched_yield();
+-}
+-
+-
+ void restorefs()
+ {
+- int i;
+-
+ ERROR("Exiting - restoring original filesystem!\n\n");
+-
+- for(i = 0; i < 2 + processors * 2; i++)
+- pthread_kill(thread[i], SIGUSR1);
+- for(i = 0; i < 2 + processors * 2; i++)
+- waitforthread(i);
+- TRACE("All threads in signal handler\n");
+ bytes = sbytes;
+ memcpy(data_cache, sdata_cache, cache_bytes = scache_bytes);
+ memcpy(directory_data_cache, sdirectory_data_cache, directory_cache_bytes = sdirectory_cache_bytes);
+@@ -495,13 +287,12 @@
+
+ void sighandler()
+ {
+- if(++interrupted > 2)
+- return;
+- if(interrupted == 2)
++ if(interrupted == 1)
+ restorefs();
+ else {
+ ERROR("Interrupting will restore original filesystem!\n");
+ ERROR("Interrupt again to quit\n");
++ interrupted ++;
+ }
+ }
+
+@@ -512,81 +303,22 @@
+ }
+
+
+-void sigusr1_handler()
+-{
+- int i;
+- sigset_t sigmask;
+- pthread_t thread_id = pthread_self();
+-
+- for(i = 0; i < (2 + processors * 2) && thread[i] != thread_id; i++);
+- thread[i] = (pthread_t) 0;
+-
+- TRACE("Thread %d(%p) in sigusr1_handler\n", i, thread_id);
+-
+- sigemptyset(&sigmask);
+- sigaddset(&sigmask, SIGINT);
+- sigaddset(&sigmask, SIGQUIT);
+- sigaddset(&sigmask, SIGUSR1);
+- while(1) {
+- sigsuspend(&sigmask);
+- TRACE("After wait in sigusr1_handler :(\n");
+- }
+-}
+-
+-
+-unsigned int mangle2(z_stream **strm, char *d, char *s, int size, int block_size, int uncompressed, int data_block)
++unsigned int mangle(char *d, char *s, int size, int block_size, int uncompressed, int data_block)
+ {
+- unsigned long c_byte;
++ unsigned long c_byte = block_size << 1;
+ unsigned int res;
+- z_stream *stream = *strm;
+-
+- if(uncompressed)
+- goto notcompressed;
+-
+- if(stream == NULL) {
+- if((stream = *strm = malloc(sizeof(z_stream))) == NULL)
+- BAD_ERROR("mangle::compress failed, not enough memory\n");
+-
+- stream->zalloc = Z_NULL;
+- stream->zfree = Z_NULL;
+- stream->opaque = 0;
+
+- if((res = deflateInit(stream, 9)) != Z_OK) {
+- if(res == Z_MEM_ERROR)
+- BAD_ERROR("zlib::compress failed, not enough memory\n");
+- else if(res == Z_STREAM_ERROR)
+- BAD_ERROR("zlib::compress failed, not a valid compression level\n");
+- else if(res == Z_VERSION_ERROR)
+- BAD_ERROR("zlib::compress failed, incorrect zlib version\n");
+- else
+- BAD_ERROR("zlib::compress failed, unknown error %d\n", res);
+- }
+- } else if((res = deflateReset(stream)) != Z_OK) {
+- if(res == Z_STREAM_ERROR)
+- BAD_ERROR("zlib::compress failed, stream state inconsistent\n");
+- else
+- BAD_ERROR("zlib::compress failed, unknown error %d\n", res);
+- }
+-
+- stream->next_in = (unsigned char *) s;
+- stream->avail_in = size;
+- stream->next_out = (unsigned char *) d;
+- stream->avail_out = block_size;
+-
+- res = deflate(stream, Z_FINISH);
+- if(res != Z_STREAM_END && res != Z_OK) {
+- if(res == Z_STREAM_ERROR)
+- BAD_ERROR("zlib::compress failed, stream state inconsistent\n");
++ if(!uncompressed && (res = compress2((unsigned char *) d, &c_byte, (unsigned char *) s, size, 9)) != Z_OK) {
++ if(res == Z_MEM_ERROR)
++ BAD_ERROR("zlib::compress failed, not enough memory\n");
+ else if(res == Z_BUF_ERROR)
+- BAD_ERROR("zlib::compress failed, no progress possible\n");
++ BAD_ERROR("zlib::compress failed, not enough room in output buffer\n");
+ else
+ BAD_ERROR("zlib::compress failed, unknown error %d\n", res);
++ return 0;
+ }
+
+- c_byte = stream->total_out;
+-
+- if(res != Z_STREAM_END || c_byte >= size) {
+-notcompressed:
++ if(uncompressed || c_byte >= size) {
+ memcpy(d, s, size);
+ return size | (data_block ? SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT);
+ }
+@@ -595,14 +327,6 @@
+ }
+
+
+-unsigned int mangle(char *d, char *s, int size, int block_size, int uncompressed, int data_block)
+-{
+- static z_stream *stream = NULL;
+-
+- return mangle2(&stream, d, s, size, block_size, uncompressed, data_block);
+-}
+-
+-
+ squashfs_base_inode_header *get_inode(int req_size)
+ {
+ int data_space;
+@@ -655,7 +379,6 @@
+ {
+ off_t off = byte;
+
+- pthread_mutex_lock(&pos_mutex);
+ if(lseek(fd, off, SEEK_SET) == -1) {
+ perror("Lseek on destination failed");
+ EXIT_MKSQUASHFS();
+@@ -665,7 +388,6 @@
+ perror("Read on destination failed");
+ EXIT_MKSQUASHFS();
+ }
+- pthread_mutex_unlock(&pos_mutex);
+ }
+
+
+@@ -673,9 +395,6 @@
+ {
+ off_t off = byte;
+
+- if(interrupted < 2)
+- pthread_mutex_lock(&pos_mutex);
+-
+ if(lseek(fd, off, SEEK_SET) == -1) {
+ perror("Lseek on destination failed");
+ EXIT_MKSQUASHFS();
+@@ -685,9 +404,6 @@
+ perror("Write on destination failed");
+ EXIT_MKSQUASHFS();
+ }
+-
+- if(interrupted < 2)
+- pthread_mutex_unlock(&pos_mutex);
+ }
+
+
+@@ -1173,23 +889,10 @@
+ }
+
+
+-char *get_fragment(char *buffer, struct fragment *fragment, int *cached_fragment)
++char *get_fragment(char *buffer, struct fragment *fragment)
+ {
+- squashfs_fragment_entry *disk_fragment;
+- int size;
+-
+- if(fragment->index == *cached_fragment || fragment->index == SQUASHFS_INVALID_FRAG)
+- return buffer + fragment->offset;
+-
+- if(fragment_data && fragment->index == fragments)
+- return fragment_data->data + fragment->offset;
+-
+- pthread_mutex_lock(&fragment_mutex);
+- while(fragment_table[fragment->index].pending)
+- pthread_cond_wait(&fragment_waiting, &fragment_mutex);
+- pthread_mutex_unlock(&fragment_mutex);
+- disk_fragment = &fragment_table[fragment->index];
+- size = SQUASHFS_COMPRESSED_SIZE_BLOCK(disk_fragment->size);
++ squashfs_fragment_entry *disk_fragment = &fragment_table[fragment->index];
++ int size = SQUASHFS_COMPRESSED_SIZE_BLOCK(disk_fragment->size);
+
+ if(SQUASHFS_COMPRESSED_BLOCK(disk_fragment->size)) {
+ int res;
+@@ -1209,74 +912,53 @@
+ } else
+ read_bytes(fd, disk_fragment->start_block, size, buffer);
+
+- *cached_fragment = fragment->index;
+ return buffer + fragment->offset;
+ }
+
+
+-void ensure_fragments_flushed()
+-{
+- pthread_mutex_lock(&fragment_mutex);
+- while(fragments_outstanding)
+- pthread_cond_wait(&fragment_waiting, &fragment_mutex);
+- pthread_mutex_unlock(&fragment_mutex);
+-}
+-
+-
+ void write_fragment()
+ {
++ int compressed_size;
++ char buffer[block_size << 1];
++
+ if(fragment_size == 0)
+ return;
+
+- pthread_mutex_lock(&fragment_mutex);
+- if(fragments % FRAG_SIZE == 0) {
+- if((fragment_table = (squashfs_fragment_entry *) realloc(fragment_table, (fragments + FRAG_SIZE) * sizeof(squashfs_fragment_entry))) == NULL) {
+- pthread_mutex_unlock(&fragment_mutex);
++ if(fragments % FRAG_SIZE == 0)
++ if((fragment_table = (squashfs_fragment_entry *) realloc(fragment_table, (fragments + FRAG_SIZE) * sizeof(squashfs_fragment_entry))) == NULL)
+ BAD_ERROR("Out of memory in fragment table\n");
+- }
+- }
+- fragment_data->size = fragment_size;
+- fragment_data->block = fragments;
+- fragment_table[fragments].pending = TRUE;
+- fragments_outstanding ++;
+- queue_put(to_frag, fragment_data);
++ fragment_table[fragments].size = mangle(buffer, fragment_data, fragment_size, block_size, noF, 1);
++ fragment_table[fragments].start_block = bytes;
++ compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(fragment_table[fragments].size);
++ write_bytes(fd, bytes, compressed_size, buffer);
++ bytes += compressed_size;
++ total_uncompressed += fragment_size;
++ total_compressed += compressed_size;
++ TRACE("Writing fragment %d, uncompressed size %d, compressed size %d\n",fragments, fragment_size, compressed_size);
+ fragments ++;
+ fragment_size = 0;
+- pthread_mutex_unlock(&fragment_mutex);
+-}
+-
+-void frag_release(int block)
+-{
+- pthread_mutex_lock(&fragment_mutex);
+- fragment_table[block].pending = FALSE;
+- pthread_cond_signal(&fragment_waiting);
+- pthread_mutex_unlock(&fragment_mutex);
+ }
+
+
+ static struct fragment empty_fragment = {SQUASHFS_INVALID_FRAG, 0, 0};
+-struct fragment *get_and_fill_fragment(struct file_buffer *file_buffer)
++struct fragment *get_and_fill_fragment(char *buff, int size)
+ {
+ struct fragment *ffrg;
+-
+
+- if(file_buffer == NULL || file_buffer->size == 0)
++ if(size == 0)
+ return &empty_fragment;
+
+- if(fragment_size + file_buffer->size > block_size)
++ if(fragment_size + size > block_size)
+ write_fragment();
+
+ if((ffrg = (struct fragment *) malloc(sizeof(struct fragment))) == NULL)
+ BAD_ERROR("Out of memory in fragment block allocation!\n");
+
+- if(fragment_size == 0)
+- fragment_data = alloc_get(fragment_buffer);
+-
+ ffrg->index = fragments;
+ ffrg->offset = fragment_size;
+- ffrg->size = file_buffer->size;
+- memcpy(fragment_data->data + fragment_size, file_buffer->data, file_buffer->size);
+- fragment_size += file_buffer->size;
++ ffrg->size = size;
++ memcpy(fragment_data + fragment_size, buff, size);
++ fragment_size += size;
+
+ return ffrg;
+ }
+@@ -1333,10 +1015,19 @@
+ }
+
+
++char *read_from_buffer(struct duplicate_buffer_handle *handle, unsigned int avail_bytes)
++{
++ char *v = handle->ptr;
++ handle->ptr += avail_bytes;
++ return v;
++}
++
++
+ char read_from_file_buffer[SQUASHFS_FILE_MAX_SIZE];
+-char *read_from_disk(long long start, unsigned int avail_bytes)
++char *read_from_file(struct duplicate_buffer_handle *handle, unsigned int avail_bytes)
+ {
+- read_bytes(fd, start, avail_bytes, read_from_file_buffer);
++ read_bytes(fd, handle->start, avail_bytes, read_from_file_buffer);
++ handle->start += avail_bytes;
+ return read_from_file_buffer;
+ }
+
+@@ -1344,205 +1035,99 @@
+ /*
+ * Compute 16 bit BSD checksum over the data
+ */
+-unsigned short get_checksum(char *buff, int bytes, unsigned short chksum)
+-{
+- unsigned char *b = (unsigned char *) buff;
+-
+- while(bytes --) {
+- chksum = (chksum & 1) ? (chksum >> 1) | 0x8000 : chksum >> 1;
+- chksum += *b++;
+- }
+-
+- return chksum;
+-}
+-
+-
+-unsigned short get_checksum_disk(long long start, long long l)
++unsigned short get_checksum(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *handle, long long l)
+ {
+ unsigned short chksum = 0;
+- unsigned int bytes;
++ unsigned int bytes = 0;
++ unsigned char *b;
++ struct duplicate_buffer_handle position = *handle;
+
+ while(l) {
+ bytes = l > SQUASHFS_FILE_MAX_SIZE ? SQUASHFS_FILE_MAX_SIZE : l;
+ l -= bytes;
+- chksum = get_checksum(read_from_disk(start, bytes), bytes, chksum);
+- start += bytes;
+- }
+-
+- return chksum;
+-}
+-
+-
+-unsigned short get_checksum_buffer(struct buffer_list *buffer_list, unsigned int blocks)
+-{
+- unsigned short chksum = 0;
+- int block;
+-
+- for(block = 0; block < blocks; block ++) {
+- struct buffer_list *b = &buffer_list[block];
+-
+- if(b->read_buffer)
+- chksum = get_checksum(b->read_buffer->data, b->read_buffer->size, chksum);
+- else
+- chksum = get_checksum(read_from_disk(b->start, b->size), b->size, chksum);
++ b = (unsigned char *) get_next_file_block(&position, bytes);
++ while(bytes--) {
++ chksum = (chksum & 1) ? (chksum >> 1) | 0x8000 : chksum >> 1;
++ chksum += *b++;
++ }
+ }
+
+ return chksum;
+ }
+
+
+-unsigned short get_checksum_mem(char *buff, int bytes)
+-{
+- return get_checksum(buff, bytes, 0);
+-}
+-
+-
+-unsigned short get_checksum_mem_buffer(struct file_buffer *file_buffer)
+-{
+- if(file_buffer == NULL)
+- return 0;
+- else
+- return get_checksum(file_buffer->data, file_buffer->size, 0);
+-}
+-
+-
+ int cached_frag = -1;
+-char fragdata[SQUASHFS_FILE_MAX_SIZE];
+-#define DUP_HASH(a) (a & 0xffff)
+-void add_file(long long start, long long file_size, long long file_bytes, unsigned int *block_listp, int blocks, unsigned int fragment, int offset, int bytes)
++void add_file(long long start, long long file_bytes, unsigned int *block_listp, int blocks, unsigned int fragment, int offset, int bytes)
+ {
+ struct fragment *frg;
++ struct file_info *dupl_ptr;
+ char *datap;
++ struct duplicate_buffer_handle handle;
+ unsigned int *block_list = block_listp;
+- struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
+
+- if(!duplicate_checking || file_size == 0)
++ if(!duplicate_checking)
+ return;
+
+- for(; dupl_ptr; dupl_ptr = dupl_ptr->next) {
+- if(file_size != dupl_ptr->file_size)
+- continue;
+- if(blocks != 0 && start != dupl_ptr->start)
+- continue;
+- if(fragment != dupl_ptr->fragment->index)
+- continue;
+- if(fragment != SQUASHFS_INVALID_FRAG && (offset != dupl_ptr->fragment->offset || bytes != dupl_ptr->fragment->size))
+- continue;
+- return;
+- }
+-
+ if((frg = (struct fragment *) malloc(sizeof(struct fragment))) == NULL)
+ BAD_ERROR("Out of memory in fragment block allocation!\n");
+
+ frg->index = fragment;
+ frg->offset = offset;
+ frg->size = bytes;
+-
+- add_non_dup(file_size, file_bytes, block_list, start, frg, 0, 0, FALSE);
++ if(fragment == cached_frag || fragment == SQUASHFS_INVALID_FRAG)
++ datap = fragment_data + offset;
++ else
++ datap = get_fragment(fragment_data, frg);
++ handle.start = start;
++ if((dupl_ptr = duplicate(read_from_file, &handle, file_bytes, &block_listp, &start, blocks, &frg, datap, bytes)) != NULL)
++ dupl_ptr->fragment = frg;
++ else
++ free(block_list);
++ cached_frag = fragment;
+ }
+
++
+ char cached_fragment[SQUASHFS_FILE_SIZE];
+ int cached_frag1 = -1;
+
+-int pre_duplicate(long long file_size)
+-{
+- struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
+-
+- for(; dupl_ptr; dupl_ptr = dupl_ptr->next)
+- if(dupl_ptr->file_size == file_size)
+- return TRUE;
+-
+- return FALSE;
+-}
+-
+-
+-int pre_duplicate_frag(long long file_size, unsigned short checksum)
++struct file_info *duplicate(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *file_start, long long bytes, unsigned int **block_list, long long *start, int blocks, struct fragment **fragment, char *frag_data, int frag_bytes)
+ {
+- struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
+-
+- for(; dupl_ptr; dupl_ptr = dupl_ptr->next)
+- if(dupl_ptr->file_size == file_size) {
+- if(dupl_ptr->checksum_flag == FALSE) {
+- dupl_ptr->checksum = get_checksum_disk(dupl_ptr->start, dupl_ptr->bytes);
+- dupl_ptr->fragment_checksum = get_checksum_mem(get_fragment(cached_fragment, dupl_ptr->fragment, &cached_frag1), file_size);
+- dupl_ptr->checksum_flag = TRUE;
+- }
+- if(dupl_ptr->fragment_checksum == checksum)
+- return TRUE;
+- }
+-
+- return FALSE;
+-}
+-
+-
+-struct file_info *add_non_dup(long long file_size, long long bytes, unsigned int *block_list, long long start, struct fragment *fragment, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag)
+-{
+- struct file_info *dupl_ptr;
++ unsigned short checksum = get_checksum(get_next_file_block, file_start, bytes);
++ struct duplicate_buffer_handle handle = { frag_data, 0 };
++ unsigned short fragment_checksum = get_checksum(read_from_buffer, &handle, frag_bytes);
++ struct file_info *dupl_ptr = bytes ? dupl[checksum] : frag_dups[fragment_checksum];
+
+- if((dupl_ptr = (struct file_info *) malloc(sizeof(struct file_info))) == NULL) {
+- BAD_ERROR("Out of memory in dup_files allocation!\n");
+- }
+-
+- dupl_ptr->file_size = file_size;
+- dupl_ptr->bytes = bytes;
+- dupl_ptr->block_list = block_list;
+- dupl_ptr->start = start;
+- dupl_ptr->fragment = fragment;
+- dupl_ptr->checksum = checksum;
+- dupl_ptr->fragment_checksum = fragment_checksum;
+- dupl_ptr->checksum_flag = checksum_flag;
+- dupl_ptr->next = dupl[DUP_HASH(file_size)];
+- dupl[DUP_HASH(file_size)] = dupl_ptr;
+- dup_files ++;
+-
+- return dupl_ptr;
+-}
+-
+-
+-struct file_info *duplicate(long long file_size, long long bytes, unsigned int **block_list, long long *start, struct fragment **fragment, struct file_buffer *file_buffer, struct buffer_list *buffer_list, int blocks, unsigned short checksum, unsigned short fragment_checksum, int checksum_flag)
+-{
+- struct file_info *dupl_ptr = dupl[DUP_HASH(file_size)];
+- int frag_bytes = file_buffer ? file_buffer->size : 0;
+
+ for(; dupl_ptr; dupl_ptr = dupl_ptr->next)
+- if(file_size == dupl_ptr->file_size && bytes == dupl_ptr->bytes && frag_bytes == dupl_ptr->fragment->size) {
+- char buffer2[SQUASHFS_FILE_MAX_SIZE];
++ if(bytes == dupl_ptr->bytes && frag_bytes == dupl_ptr->fragment->size && fragment_checksum == dupl_ptr->fragment_checksum) {
++ char buffer1[SQUASHFS_FILE_MAX_SIZE];
++ long long dup_bytes = dupl_ptr->bytes;
+ long long dup_start = dupl_ptr->start;
++ struct duplicate_buffer_handle position = *file_start;
+ char *buffer;
+- int block;
++ while(dup_bytes) {
++ int avail_bytes = dup_bytes > SQUASHFS_FILE_MAX_SIZE ? SQUASHFS_FILE_MAX_SIZE : dup_bytes;
+
+- if(checksum_flag == FALSE) {
+- checksum = get_checksum_buffer(buffer_list, blocks);
+- fragment_checksum = get_checksum_mem_buffer(file_buffer);
+- checksum_flag = TRUE;
+- }
+-
+- if(dupl_ptr->checksum_flag == FALSE) {
+- dupl_ptr->checksum = get_checksum_disk(dupl_ptr->start, dupl_ptr->bytes);
+- dupl_ptr->fragment_checksum = get_checksum_mem(get_fragment(cached_fragment, dupl_ptr->fragment, &cached_frag1), frag_bytes);
+- dupl_ptr->checksum_flag = TRUE;
+- }
+-
+- if(checksum != dupl_ptr->checksum || fragment_checksum != dupl_ptr->fragment_checksum)
+- continue;
+-
+- for(block = 0; block < blocks; block ++) {
+- struct buffer_list *b = &buffer_list[block];
+-
+- if(b->read_buffer)
+- buffer = b->read_buffer->data;
+- else
+- buffer = read_from_disk(b->start, b->size);
+-
+- read_bytes(fd, dup_start, b->size, buffer2);
+- if(memcmp(buffer, buffer2, b->size) != 0)
++ buffer = get_next_file_block(&position, avail_bytes);
++ read_bytes(fd, dup_start, avail_bytes, buffer1);
++ if(memcmp(buffer, buffer1, avail_bytes) != 0)
+ break;
+- dup_start += b->size;
++ dup_bytes -= avail_bytes;
++ dup_start += avail_bytes;
+ }
+- if(block == blocks) {
+- char *fragment_buffer1 = get_fragment(cached_fragment, dupl_ptr->fragment, &cached_frag1);
++ if(dup_bytes == 0) {
++ char *fragment_buffer1;
++
++ if(dupl_ptr->fragment->index == fragments || dupl_ptr->fragment->index == SQUASHFS_INVALID_FRAG)
++ fragment_buffer1 = fragment_data + dupl_ptr->fragment->offset;
++ else if(dupl_ptr->fragment->index == cached_frag1)
++ fragment_buffer1 = cached_fragment + dupl_ptr->fragment->offset;
++ else {
++ fragment_buffer1 = get_fragment(cached_fragment, dupl_ptr->fragment);
++ cached_frag1 = dupl_ptr->fragment->index;
++ }
+
+- if(frag_bytes == 0 || memcmp(file_buffer->data, fragment_buffer1, frag_bytes) == 0) {
++ if(frag_bytes == 0 || memcmp(frag_data, fragment_buffer1, frag_bytes) == 0) {
+ TRACE("Found duplicate file, start 0x%llx, size %lld, checksum 0x%x, fragment %d, size %d, offset %d, checksum 0x%x\n", dupl_ptr->start,
+ dupl_ptr->bytes, dupl_ptr->checksum, dupl_ptr->fragment->index, frag_bytes, dupl_ptr->fragment->offset, fragment_checksum);
+ *block_list = dupl_ptr->block_list;
+@@ -1554,520 +1139,135 @@
+ }
+
+
+- return add_non_dup(file_size, bytes, *block_list, *start, *fragment, checksum, fragment_checksum, checksum_flag);
+-}
+-
+-
+-void reader_read_file(struct dir_ent *dir_ent)
+-{
+- struct stat *buf = &dir_ent->inode->buf;
+- int count;
+- int blocks = (buf->st_size + block_size - 1) >> block_log;
+- int frag_block = !no_fragments && (always_use_fragments ||
+- (buf->st_size < block_size)) ? buf->st_size >> block_log : -1;
+- int file;
+- static int block_order = 0;
+- struct file_buffer *file_buffer;
+-
+- if(buf->st_size == 0 || dir_ent->inode->read)
+- return;
+-
+- if((file = open(dir_ent->pathname, O_RDONLY)) == -1)
+- goto read_err;
+-
+- for(count = 0; count < blocks; count ++) {
+- file_buffer = alloc_get(reader_buffer);
+-
+- if((file_buffer->size = read(file, file_buffer->data, block_size)) == -1) {
+- close(file);
+- goto read_err2;
+- }
+- file_buffer->block = count;
+- file_buffer->block_order = block_order ++;
+- file_buffer->error = FALSE;
+- if(file_buffer->fragment = count == frag_block)
+- queue_put(from_deflate, file_buffer);
+- else
+- queue_put(from_reader, file_buffer);
+- }
+-
+- close(file);
+- dir_ent->inode->read = TRUE;
+-
+- return;
+-
+-read_err:
+- file_buffer = alloc_get(reader_buffer);
+-read_err2:
+- file_buffer->block_order = block_order ++;
+- file_buffer->error = TRUE;
+- queue_put(from_deflate, file_buffer);
+-}
+-
+-
+-void reader_scan(struct dir_info *dir) {
+- int i;
+-
+- for(i = 0; i < dir->count; i++) {
+- struct dir_ent *dir_ent = dir->list[i];
+- struct stat *buf = &dir_ent->inode->buf;
+- if(dir_ent->data)
+- continue;
+-
+- switch(buf->st_mode & S_IFMT) {
+- case S_IFREG:
+- reader_read_file(dir_ent);
+- break;
+- case S_IFDIR:
+- reader_scan(dir_ent->dir);
+- break;
+- }
+- }
+-}
+-
+-
+-void *reader(void *arg)
+-{
+- int oldstate;
+-
+- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
+- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
+-
+- if(!sorted)
+- reader_scan(queue_get(to_reader));
+- else {
+- int i;
+- struct priority_entry *entry;
+-
+- queue_get(to_reader);
+- for(i = 65535; i >= 0; i--)
+- for(entry = priority_list[i]; entry; entry = entry->next)
+- reader_read_file(entry->dir);
+- }
+-}
+-
+-
+-void *writer(void *arg)
+-{
+- int write_error = FALSE;
+- int oldstate;
+-
+- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
+- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
+-
+- while(1) {
+- struct file_buffer *file_buffer = queue_get(to_writer);
+- off_t off;
+-
+- if(file_buffer == NULL) {
+- queue_put(from_writer, write_error ? (void *) &write_error : NULL);
+- continue;
+- }
+-
+- off = file_buffer->block;
+-
+- pthread_mutex_lock(&pos_mutex);
+-
+- if(!write_error && lseek(fd, off, SEEK_SET) == -1) {
+- perror("Lseek on destination failed");
+- write_error = TRUE;
+- }
+-
+- if(!write_error && write(fd, file_buffer->data, file_buffer->size) == -1) {
+- perror("Write on destination failed");
+- write_error = TRUE;
+- }
+- pthread_mutex_unlock(&pos_mutex);
+-
+- alloc_free(file_buffer);
+- }
+-}
+-
+-
+-void *deflator(void *arg)
+-{
+- z_stream *stream = NULL;
+- int oldstate;
+-
+- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
+- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
+-
+- while(1) {
+- struct file_buffer *file_buffer = queue_get(from_reader);
+- struct file_buffer *write_buffer = alloc_get(writer_buffer);
+-
+- write_buffer->c_byte = mangle2(&stream, write_buffer->data, file_buffer->data, file_buffer->size, block_size, noD, 1);
+- write_buffer->block = file_buffer->block;
+- write_buffer->block_order = file_buffer->block_order;
+- write_buffer->size = SQUASHFS_COMPRESSED_SIZE_BLOCK(write_buffer->c_byte);
+- write_buffer->fragment = FALSE;
+- write_buffer->error = FALSE;
+- alloc_free(file_buffer);
+- queue_put(from_deflate, write_buffer);
+- }
+-}
+-
+-
+-void *frag_deflator(void *arg)
+-{
+- z_stream *stream = NULL;
+- int oldstate;
+-
+- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldstate);
+- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
+-
+- while(1) {
+- int c_byte, compressed_size;
+- struct file_buffer *file_buffer = queue_get(to_frag);
+- struct file_buffer *write_buffer = alloc_get_2(writer_buffer, frag_release, file_buffer->block);
+-
+- c_byte = mangle2(&stream, write_buffer->data, file_buffer->data, file_buffer->size, block_size, noF, 1);
+- compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
+- pthread_mutex_lock(&fragment_mutex);
+- fragment_table[file_buffer->block].size = c_byte;
+- fragment_table[file_buffer->block].start_block = bytes;
+- write_buffer->size = compressed_size;
+- write_buffer->block = bytes;
+- queue_put(to_writer, write_buffer);
+- bytes += compressed_size;
+- total_uncompressed += file_buffer->size;
+- total_compressed += compressed_size;
+- TRACE("Writing fragment %d, uncompressed size %d, compressed size %d\n", file_buffer->block, file_buffer->size, compressed_size);
+- fragments_outstanding --;
+- pthread_cond_signal(&fragment_waiting);
+- pthread_mutex_unlock(&fragment_mutex);
+- alloc_free(file_buffer);
++ if((dupl_ptr = (struct file_info *) malloc(sizeof(struct file_info))) == NULL) {
++ BAD_ERROR("Out of memory in dup_files allocation!\n");
+ }
+-}
+-
+-
+-#define HASH_ENTRIES 256
+-#define BLOCK_HASH(a) (a % HASH_ENTRIES)
+-struct file_buffer *block_hash[HASH_ENTRIES];
+
+-void push_buffer(struct file_buffer *file_buffer)
+-{
+- int hash = BLOCK_HASH(file_buffer->block_order);
+-
+- file_buffer->next = block_hash[hash];
+- block_hash[hash] = file_buffer;
+-}
+-
+-
+-struct file_buffer *get_file_buffer(struct queue *queue)
+-{
+- static unsigned int block_order = 0;
+- int hash = BLOCK_HASH(block_order);
+- struct file_buffer *file_buffer = block_hash[hash], *prev = NULL;
+-
+- for(;file_buffer; prev = file_buffer, file_buffer = file_buffer->next)
+- if(file_buffer->block_order == block_order)
+- break;
++ dupl_ptr->bytes = bytes;
++ dupl_ptr->checksum = checksum;
++ dupl_ptr->start = *start;
++ dupl_ptr->fragment_checksum = fragment_checksum;
++ dupl_ptr->block_list = *block_list;
+
+- if(file_buffer) {
+- if(prev)
+- prev->next = file_buffer->next;
+- else
+- block_hash[hash] = file_buffer->next;
++ dup_files ++;
++ if(bytes) {
++ dupl_ptr->next = dupl[checksum];
++ dupl[checksum] = dupl_ptr;
+ } else {
+- while(1) {
+- file_buffer = queue_get(queue);
+- if(file_buffer->block_order == block_order)
+- break;
+- push_buffer(file_buffer);
+- }
++ dupl_ptr->next = frag_dups[fragment_checksum];
++ frag_dups[fragment_checksum] = dupl_ptr;
+ }
+
+- block_order ++;
+-
+- return file_buffer;
+-}
+-
+-
+-int write_file_empty(squashfs_inode *inode, struct dir_ent *dir_ent, int *duplicate_file)
+-{
+- file_count ++;
+- *duplicate_file = FALSE;
+- return dir_ent->inode->nlink == 1 ?
+- create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, 0, 0, 0, NULL, &empty_fragment, NULL) :
+- create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, 0, 0, 0, NULL, &empty_fragment, NULL);
+-}
+-
+-
+-int write_file_frag_dup(squashfs_inode *inode, struct dir_ent *dir_ent, int size, int *duplicate_file, struct file_buffer *file_buffer, unsigned short checksum)
+-{
+- int file;
+- struct file_info *dupl_ptr;
+- struct fragment *fragment;
+- unsigned int *block_listp = NULL;
+- long long start = 0;
+-
+- dupl_ptr = duplicate(size, 0, &block_listp, &start, &fragment, file_buffer, NULL, 0, 0, checksum, TRUE);
+-
+- if(dupl_ptr) {
+- *duplicate_file = FALSE;
+- fragment = get_and_fill_fragment(file_buffer);
+- dupl_ptr->fragment = fragment;
+- } else
+- *duplicate_file = TRUE;
+-
+- alloc_free(file_buffer);
+-
+- total_bytes += size;
+- file_count ++;
+-
+- return dir_ent->inode->nlink == 1 ?
+- create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, size, 0, 0, NULL, fragment, NULL) :
+- create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, size, 0, 0, NULL, fragment, NULL);
+-}
+-
+-
+-int write_file_frag(squashfs_inode *inode, struct dir_ent *dir_ent, int size, int *duplicate_file)
+-{
+- struct fragment *fragment;
+- unsigned short checksum;
+- struct file_buffer *file_buffer = get_file_buffer(from_deflate);
+-
+- if(file_buffer->size != size)
+- printf("bug\n");
+-
+- if(file_buffer->error) {
+- alloc_free(file_buffer);
+- return FALSE;
+- }
+-
+- checksum = get_checksum_mem_buffer(file_buffer);
+-
+- if(pre_duplicate_frag(size, checksum))
+- return write_file_frag_dup(inode, dir_ent, size, duplicate_file, file_buffer, checksum);
+-
+- fragment = get_and_fill_fragment(file_buffer);
+-
+- alloc_free(file_buffer);
+-
+- if(duplicate_checking)
+- add_non_dup(size, 0, NULL, 0, fragment, 0, checksum, TRUE);
+-
+- total_bytes += size;
+- file_count ++;
+-
+- *duplicate_file = FALSE;
+-
+- return dir_ent->inode->nlink == 1 ?
+- create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, size, 0, 0, NULL, fragment, NULL) :
+- create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, size, 0, 0, NULL, fragment, NULL);
++ return dupl_ptr;
+ }
+
+
+-int write_file_blocks(squashfs_inode *inode, struct dir_ent *dir_ent, long long read_size)
++#define MINALLOCBYTES (1024 * 1024)
++int write_file(squashfs_inode *inode, struct dir_ent *dir_ent, long long size, int *duplicate_file)
+ {
+- int block, status;
++ int block = 0, i, file, whole_file = 1, status;
+ unsigned int c_byte, frag_bytes;
+- long long bbytes, file_bytes, start;
++ long long bbytes, file_bytes = 0, start;
++ char buff[block_size], *c_buffer = NULL, *filename = dir_ent->pathname;
+ struct fragment *fragment;
+- struct file_info *dupl_ptr;
+- int blocks = (read_size + block_size - 1) >> block_log;
+- unsigned int *block_list;
+- struct file_buffer *read_buffer;
+-
+- if(!no_fragments && always_use_fragments) {
+- blocks = read_size >> block_log;
+- frag_bytes = read_size % block_size;
+- } else
+- frag_bytes = 0;
++ struct file_info *dupl_ptr = NULL;
++ struct duplicate_buffer_handle handle;
++ long long read_size = (size > SQUASHFS_MAX_FILE_SIZE) ? SQUASHFS_MAX_FILE_SIZE : size;
++ int blocks = (read_size + block_size - 1) >> block_log, allocated_blocks = blocks;
++ unsigned int *block_list, *block_listp;
+
+ if((block_list = malloc(blocks * sizeof(unsigned int))) == NULL)
+ BAD_ERROR("Out of memory allocating block_list\n");
++ block_listp = block_list;
+
+- ensure_fragments_flushed();
+-
+- file_bytes = 0;
+- start = bytes;
+- for(block = 0; block < blocks; block ++) {
+- read_buffer = get_file_buffer(from_deflate);
+- if(read_buffer->error)
+- goto read_err;
+-
+- block_list[block] = read_buffer->c_byte;
+- read_buffer->block = bytes;
+- bytes += read_buffer->size;
+- file_bytes += read_buffer->size;
+- queue_put(to_writer, read_buffer);
+- }
+-
+- if(frag_bytes != 0) {
+- read_buffer = get_file_buffer(from_deflate);
+- if(read_buffer->size != frag_bytes)
+- printf("bug\n");
+- if(read_buffer->error)
+- goto read_err;
+- } else
+- read_buffer = NULL;
+-
+- fragment = get_and_fill_fragment(read_buffer);
+- alloc_free(read_buffer);
+-
+- if(duplicate_checking)
+- add_non_dup(read_size, file_bytes, block_list, start, fragment, 0, 0, FALSE);
+- file_count ++;
+- total_bytes += read_size;
+- if(dir_ent->inode->nlink == 1 && read_size < ((long long) (1<<30) - 1))
+- status = create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, read_size, start, blocks, block_list, fragment, NULL);
+- else
+- status = create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, read_size, start, blocks, block_list, fragment, NULL);
+- if(duplicate_checking == FALSE)
+- free(block_list);
+- return status;
+-
+-read_err:
+- perror("Error in reading file, skipping...");
+- if(block) {
+- queue_put(to_writer, NULL);
+- if(queue_get(from_writer) != 0)
+- EXIT_MKSQUASHFS();
+- bytes = start;
+- if(!block_device)
+- ftruncate(fd, bytes);
+- }
+- free(block_list);
+- alloc_free(read_buffer);
+- return FALSE;
+-}
+-
+-
+-int write_file_blocks_dup(squashfs_inode *inode, struct dir_ent *dir_ent, long long read_size, int *duplicate_file)
+-{
+- int block, status, thresh;
+- unsigned int c_byte, frag_bytes;
+- long long bbytes, file_bytes, start;
+- struct fragment *fragment;
+- struct file_info *dupl_ptr;
+- int blocks = (read_size + block_size - 1) >> block_log;
+- unsigned int *block_list, *block_listp;
+- struct file_buffer *read_buffer;
+- struct file_data *file_data;
+- struct buffer_list *buffer_list;
+-
+- if(!no_fragments && always_use_fragments) {
+- blocks = read_size >> block_log;
++ if(!no_fragments && (read_size < block_size || always_use_fragments)) {
++ allocated_blocks = blocks = read_size >> block_log;
+ frag_bytes = read_size % block_size;
+ } else
+ frag_bytes = 0;
+
+- if((block_list = malloc(blocks * sizeof(unsigned int))) == NULL)
+- BAD_ERROR("Out of memory allocating block_list\n");
+- block_listp = block_list;
+-
+- if((buffer_list = malloc(blocks * sizeof(struct buffer_list))) == NULL)
+- BAD_ERROR("Out of memory allocating file block list\n");
+-
+- ensure_fragments_flushed();
++ if(size > read_size)
++ ERROR("file %s truncated to %lld bytes\n", filename, SQUASHFS_MAX_FILE_SIZE);
+
+- file_bytes = 0;
+- start = bytes;
+- thresh = blocks > (writer_buffer_size - processors) ? blocks - (writer_buffer_size - processors): 0;
+- for(block = 0; block < blocks; block ++) {
+- read_buffer = get_file_buffer(from_deflate);
+- if(read_buffer->error)
+- goto read_err;
++ total_bytes += read_size;
++ if((file = open(filename, O_RDONLY)) == -1)
++ goto read_err;
+
+- block_list[block] = read_buffer->c_byte;
+- read_buffer->block = bytes;
+- bytes += read_buffer->size;
+- file_bytes += read_buffer->size;
+-
+- if(block < thresh) {
+- buffer_list[block].read_buffer = NULL;
+- queue_put(to_writer, read_buffer);
+- } else
+- buffer_list[block].read_buffer = read_buffer;
+- buffer_list[block].start = read_buffer->block;
+- buffer_list[block].size = read_buffer->size;
++ do {
++ long long bytes = (((long long) allocated_blocks) + 1) << block_log;
++ if(bytes != ((size_t) bytes) || (c_buffer = (char *) malloc(bytes)) == NULL) {
++ TRACE("Out of memory allocating write_file buffer, allocated_blocks %ld, blocks %d\n", allocated_blocks, blocks);
++ whole_file = 0;
++ if(bytes < MINALLOCBYTES)
++ BAD_ERROR("Out of memory allocating write_file buffer, could not allocate %ld blocks (%d Kbytes)\n", allocated_blocks, allocated_blocks << (block_log - 10));
++ allocated_blocks >>= 1;
++ }
++ } while(!c_buffer);
++
++ for(start = bytes; block < blocks; file_bytes += bbytes) {
++ for(i = 0, bbytes = 0; (i < allocated_blocks) && (block < blocks); i++) {
++ int available_bytes = read_size - (block * block_size) > block_size ? block_size : read_size - (block * block_size);
++ if(read(file, buff, available_bytes) == -1)
++ goto read_err;
++ c_byte = mangle(c_buffer + bbytes, buff, available_bytes, block_size, noD, 1);
++ block_list[block ++] = c_byte;
++ bbytes += SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
++ }
++ if(!whole_file) {
++ write_bytes(fd, bytes, bbytes, c_buffer);
++ bytes += bbytes;
++ }
+ }
+
+- if(frag_bytes != 0) {
+- read_buffer = get_file_buffer(from_deflate);
+- if(read_buffer->size != frag_bytes)
+- printf("bug\n");
+- if(read_buffer->error)
++ if(frag_bytes != 0)
++ if(read(file, buff, frag_bytes) == -1)
+ goto read_err;
+- } else
+- read_buffer = NULL;
+-
+- queue_put(to_writer, NULL);
+- if(queue_get(from_writer) != 0)
+- EXIT_MKSQUASHFS();
+-
+- dupl_ptr = duplicate(read_size, file_bytes, &block_listp, &start, &fragment, read_buffer, buffer_list, blocks, 0, 0, FALSE);
+
+- if(dupl_ptr) {
+- *duplicate_file = FALSE;
+- for(block = thresh; block < blocks; block ++)
+- queue_put(to_writer, buffer_list[block].read_buffer);
+- fragment = get_and_fill_fragment(read_buffer);
+- dupl_ptr->fragment = fragment;
++ close(file);
++ if(whole_file) {
++ handle.ptr = c_buffer;
++ if(duplicate_checking && (dupl_ptr = duplicate(read_from_buffer, &handle, file_bytes, &block_listp, &start, blocks, &fragment, buff, frag_bytes)) == NULL) {
++ *duplicate_file = TRUE;
++ goto wr_inode;
++ }
++ write_bytes(fd, bytes, file_bytes, c_buffer);
++ bytes += file_bytes;
+ } else {
+- *duplicate_file = TRUE;
+- for(block = thresh; block < blocks; block ++)
+- alloc_free(buffer_list[block].read_buffer);
+- bytes = buffer_list[0].start;
+- if(thresh && !block_device)
+- ftruncate(fd, bytes);
++ handle.start = start;
++ if(duplicate_checking && (dupl_ptr = duplicate(read_from_file, &handle, file_bytes, &block_listp, &start, blocks, &fragment, buff, frag_bytes)) == NULL) {
++ bytes = start;
++ if(!block_device)
++ ftruncate(fd, bytes);
++ *duplicate_file = TRUE;
++ goto wr_inode;
++ }
+ }
+
+- alloc_free(read_buffer);
+- free(buffer_list);
+- file_count ++;
+- total_bytes += read_size;
++ fragment = get_and_fill_fragment(buff, frag_bytes);
++ if(duplicate_checking)
++ dupl_ptr->fragment = fragment;
++
++ *duplicate_file = FALSE;
+
++wr_inode:
++ free(c_buffer);
++ file_count ++;
+ if(dir_ent->inode->nlink == 1 && read_size < ((long long) (1<<30) - 1))
+ status = create_inode(inode, dir_ent, SQUASHFS_FILE_TYPE, read_size, start, blocks, block_listp, fragment, NULL);
+ else
+ status = create_inode(inode, dir_ent, SQUASHFS_LREG_TYPE, read_size, start, blocks, block_listp, fragment, NULL);
+- if(*duplicate_file == TRUE)
++ if(duplicate_checking == FALSE || *duplicate_file == TRUE)
+ free(block_list);
+ return status;
+
+ read_err:
+ perror("Error in reading file, skipping...");
+- if(block && thresh) {
+- queue_put(to_writer, NULL);
+- if(queue_get(from_writer) != 0)
+- EXIT_MKSQUASHFS();
+- bytes = start;
+- if(!block_device)
+- ftruncate(fd, bytes);
+- }
+- for(blocks = thresh; blocks < block; blocks ++)
+- alloc_free(buffer_list[blocks].read_buffer);
+- free(buffer_list);
++ free(c_buffer);
+ free(block_list);
+- alloc_free(read_buffer);
+ return FALSE;
+ }
+
+
+-int write_file(squashfs_inode *inode, struct dir_ent *dir_ent, long long size, int *duplicate_file)
+-{
+- long long read_size = (size > SQUASHFS_MAX_FILE_SIZE) ? SQUASHFS_MAX_FILE_SIZE : size;
+-
+- if(size > read_size)
+- ERROR("file %s truncated to %lld bytes\n", dir_ent->pathname, SQUASHFS_MAX_FILE_SIZE);
+-
+- if(read_size == 0)
+- return write_file_empty(inode, dir_ent, duplicate_file);
+-
+- if(!no_fragments && (read_size < block_size))
+- return write_file_frag(inode, dir_ent, read_size, duplicate_file);
+-
+- if(pre_duplicate(read_size))
+- return write_file_blocks_dup(inode, dir_ent, read_size, duplicate_file);
+-
+- *duplicate_file = FALSE;
+- return write_file_blocks(inode, dir_ent, read_size);
+-}
+-
+-
+ char b_buffer[8192];
+ char *name;
+ char *basename_r();
+@@ -2134,7 +1334,6 @@
+ BAD_ERROR("Out of memory in inode hash table entry allocation\n");
+
+ memcpy(&inode->buf, buf, sizeof(struct stat));
+- inode->read = FALSE;
+ inode->inode = SQUASHFS_INVALID_BLK;
+ inode->nlink = 1;
+ if((buf->st_mode & S_IFMT) == S_IFDIR)
+@@ -2357,9 +1556,6 @@
+ return;
+ }
+ if(sorted)
+- generate_file_priorities(dir_info, 0, &dir_info->dir_ent->inode->buf);
+- queue_put(to_reader, dir_info);
+- if(sorted)
+ sort_files_and_write(dir_info);
+ dir_scan2(inode, dir_info);
+ }
+@@ -2495,7 +1691,7 @@
+ case SQUASHFS_CHRDEV_TYPE:
+ INFO("character device %s inode 0x%llx LINK\n", dir_name, *inode);
+ break;
+- case SQUASHFS_BLKDEV_TYPE:
++ caseSQUASHFS_BLKDEV_TYPE:
+ INFO("block device %s inode 0x%llx LINK\n", dir_name, *inode);
+ break;
+ case SQUASHFS_FIFO_TYPE:
+@@ -2595,76 +1791,8 @@
+ }
+
+
+-void initialise_threads()
+-{
+- int i;
+- sigset_t sigmask, old_mask;
+-
+- sigemptyset(&sigmask);
+- sigaddset(&sigmask, SIGINT);
+- sigaddset(&sigmask, SIGQUIT);
+- if(sigprocmask(SIG_BLOCK, &sigmask, &old_mask) == -1)
+- BAD_ERROR("Failed to set signal mask in intialise_threads\n");
+-
+- signal(SIGUSR1, sigusr1_handler);
+-
+- if(processors == -1) {
+-#ifndef linux
+- int mib[2];
+- size_t len = sizeof(processors);
+-
+- mib[0] = CTL_HW;
+-#ifdef HW_AVAILCPU
+- mib[1] = HW_AVAILCPU;
+-#else
+- mib[1] = HW_NCPU;
+-#endif
+-
+- if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
+- ERROR("Failed to get number of available processors. Defaulting to 1\n");
+- processors = 1;
+- }
+-#else
+- processors = get_nprocs();
+-#endif
+- }
+-
+- if((thread = malloc((2 + processors * 2) * sizeof(pthread_t))) == NULL)
+- BAD_ERROR("Out of memory allocating thread descriptors\n");
+- deflator_thread = &thread[2];
+- frag_deflator_thread = &deflator_thread[processors];
+-
+- to_reader = queue_init(1);
+- from_reader = queue_init(reader_buffer_size);
+- to_writer = queue_init(writer_buffer_size);
+- from_writer = queue_init(1);
+- from_deflate = queue_init(reader_buffer_size);
+- to_frag = queue_init(processors * 2);
+- reader_buffer = alloc_init(SQUASHFS_FILE_MAX_SIZE, reader_buffer_size);
+- writer_buffer = alloc_init(SQUASHFS_FILE_MAX_SIZE, writer_buffer_size);
+- fragment_buffer = alloc_init(SQUASHFS_FILE_MAX_SIZE, processors * 2);
+- pthread_create(&thread[0], NULL, reader, NULL);
+- pthread_create(&thread[1], NULL, writer, NULL);
+- pthread_mutex_init(&fragment_mutex, NULL);
+- pthread_cond_init(&fragment_waiting, NULL);
+-
+- for(i = 0; i < processors; i++) {
+- if(pthread_create(&deflator_thread[i], NULL, deflator, NULL) != 0 )
+- BAD_ERROR("Failed to create thread\n");
+- if(pthread_create(&frag_deflator_thread[i], NULL, frag_deflator, NULL) != 0)
+- BAD_ERROR("Failed to create thread\n");
+- }
+-
+- printf("Parallel mksquashfs: Using %d processor%s\n", processors,
+- processors == 1 ? "" : "s");
+-
+- if(sigprocmask(SIG_SETMASK, &old_mask, NULL) == -1)
+- BAD_ERROR("Failed to set signal mask in intialise_threads\n");
+-}
+-
+-
+ #define VERSION() \
+- printf("mksquashfs version 3.1-r2 (2006/08/30)\n");\
++ printf("mksquashfs version 3.0 (2006/03/15)\n");\
+ printf("copyright (C) 2006 Phillip Lougher <phillip@lougher.org.uk>\n\n"); \
+ printf("This program is free software; you can redistribute it and/or\n");\
+ printf("modify it under the terms of the GNU General Public License\n");\
+@@ -2682,7 +1810,6 @@
+ char *b, *root_name = NULL;
+ int be, nopad = FALSE, keep_as_directory = FALSE, orig_be;
+ squashfs_inode inode;
+- int readb_mbytes = READER_BUFFER_DEFAULT, writeb_mbytes = WRITER_BUFFER_DEFAULT;
+
+ #if __BYTE_ORDER == __BIG_ENDIAN
+ be = TRUE;
+@@ -2701,34 +1828,7 @@
+ source_path = argv + 1;
+ source = i - 2;
+ for(; i < argc; i++) {
+- if(strcmp(argv[i], "-processors") == 0) {
+- if((++i == argc) || (processors = strtol(argv[i], &b, 10), *b != '\0')) {
+- ERROR("%s: -processors missing or invalid processor number\n", argv[0]);
+- exit(1);
+- }
+- if(processors < 1) {
+- ERROR("%s: -processors should be 1 or larger\n", argv[0]);
+- exit(1);
+- }
+- } else if(strcmp(argv[i], "-read_queue") == 0) {
+- if((++i == argc) || (readb_mbytes = strtol(argv[i], &b, 10), *b != '\0')) {
+- ERROR("%s: -read_queue missing or invalid queue size\n", argv[0]);
+- exit(1);
+- }
+- if(readb_mbytes < 1) {
+- ERROR("%s: -read_queue should be 1 megabyte or larger\n", argv[0]);
+- exit(1);
+- }
+- } else if(strcmp(argv[i], "-write_queue") == 0) {
+- if((++i == argc) || (writeb_mbytes = strtol(argv[i], &b, 10), *b != '\0')) {
+- ERROR("%s: -write_queue missing or invalid queue size\n", argv[0]);
+- exit(1);
+- }
+- if(writeb_mbytes < 1) {
+- ERROR("%s: -write_queue should be 1 megabyte or larger\n", argv[0]);
+- exit(1);
+- }
+- } else if(strcmp(argv[i], "-b") == 0) {
++ if(strcmp(argv[i], "-b") == 0) {
+ if((++i == argc) || (block_size = strtol(argv[i], &b, 10), *b !='\0')) {
+ ERROR("%s: -b missing or invalid block size\n", argv[0]);
+ exit(1);
+@@ -2851,9 +1951,6 @@
+ ERROR("-version\t\tprint version, licence and copyright message\n");
+ ERROR("-info\t\t\tprint files written to filesystem\n");
+ ERROR("-b <block_size>\t\tset data block to <block_size>. Default %d bytes\n", SQUASHFS_FILE_SIZE);
+- ERROR("-processors <number>\tUse <number> processors. By default will use number of\n\t\t\tprocessors available\n");
+- ERROR("-read-queue <size>\tSet input queue to <size> Mbytes. Default %d Mbytes\n", READER_BUFFER_DEFAULT);
+- ERROR("-write-queue <size>\tSet output queue to <size> Mbytes. Default %d Mbytes\n", WRITER_BUFFER_DEFAULT);
+ ERROR("-noI\t\t\tdo not compress inode table\n");
+ ERROR("-noD\t\t\tdo not compress data blocks\n");
+ ERROR("-noF\t\t\tdo not compress fragment blocks\n");
+@@ -2887,9 +1984,6 @@
+ }
+ }
+
+- reader_buffer_size = readb_mbytes << (20 - block_log);
+- writer_buffer_size = writeb_mbytes << (20 - block_log);
+-
+ for(i = 0; i < source; i++)
+ if(stat(source_path[i], &source_buf) == -1) {
+ fprintf(stderr, "Cannot stat source directory \"%s\" because %s\n", source_path[i], strerror(errno));
+@@ -2975,8 +2069,6 @@
+ else if(strcmp(argv[i], "-b") == 0 || strcmp(argv[i], "-root-becomes") == 0 || strcmp(argv[i], "-ef") == 0)
+ i++;
+
+- initialise_threads();
+-
+ if(delete) {
+ printf("Creating %s %d.%d filesystem on %s, block size %d.\n",
+ be ? "big endian" : "little endian", SQUASHFS_MAJOR, SQUASHFS_MINOR, argv[source + 1], block_size);
+@@ -3104,13 +2196,6 @@
+ restore_filesystem:
+ write_fragment();
+ sBlk.fragments = fragments;
+- if(interrupted < 2) {
+- ensure_fragments_flushed();
+- queue_put(to_writer, NULL);
+- if(queue_get(from_writer) != 0)
+- EXIT_MKSQUASHFS();
+- }
+-
+ sBlk.inode_table_start = write_inodes();
+ sBlk.directory_table_start = write_directories();
+ sBlk.fragment_table_start = write_fragment_table();
+diff -Nur squashfs-tools/read_fs.c squashfs-lzma-tools/read_fs.c
+--- squashfs-tools/read_fs.c 2006-08-21 01:40:35.000000000 +0200
++++ squashfs-lzma-tools/read_fs.c 2006-08-22 09:39:31.000000000 +0200
+@@ -22,7 +22,7 @@
+ */
+
+ extern void read_bytes(int, long long, int, char *);
+-extern int add_file(long long, long long, long long, unsigned int *, int, unsigned int, int, int);
++extern int add_file(long long, long long, unsigned int *, int, unsigned int, int, int);
+
+ #define TRUE 1
+ #define FALSE 0
+@@ -186,8 +186,7 @@
+ + sBlk->block_size - 1) >> sBlk->block_log : inode.file_size >>
+ sBlk->block_log;
+ long long file_bytes = 0;
+- int i;
+- long long start = inode.start_block;
++ int i, start = inode.start_block;
+ unsigned int *block_list;
+
+ TRACE("scan_inode_table: regular file, file_size %lld, blocks %d\n", inode.file_size, blocks);
+@@ -211,7 +210,7 @@
+ for(i = 0; i < blocks; i++)
+ file_bytes += SQUASHFS_COMPRESSED_SIZE_BLOCK(block_list[i]);
+
+- add_file(start, inode.file_size, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
++ add_file(start, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
+ cur_ptr += blocks * sizeof(unsigned int);
+ break;
+ }
+@@ -220,8 +219,7 @@
+ int frag_bytes;
+ int blocks;
+ long long file_bytes = 0;
+- int i;
+- long long start;
++ int i, start;
+ unsigned int *block_list;
+
+ if(swap) {
+@@ -258,7 +256,7 @@
+ for(i = 0; i < blocks; i++)
+ file_bytes += SQUASHFS_COMPRESSED_SIZE_BLOCK(block_list[i]);
+
+- add_file(start, inode.file_size, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
++ add_file(start, file_bytes, block_list, blocks, inode.fragment, inode.offset, frag_bytes);
+ cur_ptr += blocks * sizeof(unsigned int);
+ break;
+ }
+diff -Nur squashfs-tools/README squashfs-lzma-tools/README
+--- squashfs-tools/README 1970-01-01 01:00:00.000000000 +0100
++++ squashfs-lzma-tools/README 2006-08-22 09:36:18.000000000 +0200
+@@ -0,0 +1,2 @@
++This is mksquashfs patched with LZMA support
++and with the patch for 'fragment_table rounding bug'
+\ No newline at end of file
+diff -Nur squashfs-tools/sort.c squashfs-lzma-tools/sort.c
+--- squashfs-tools/sort.c 2006-08-21 01:40:35.000000000 +0200
++++ squashfs-lzma-tools/sort.c 2006-06-25 05:17:43.000000000 +0200
+@@ -71,6 +71,11 @@
+
+ struct sort_info *sort_info_list[65536];
+
++struct priority_entry {
++ struct dir_ent *dir;
++ struct priority_entry *next;
++};
++
+ struct priority_entry *priority_list[65536];
+
+ extern int silent;
+@@ -230,6 +235,8 @@
+ squashfs_inode inode;
+ int duplicate_file;
+
++ generate_file_priorities(dir, 0, &dir->dir_ent->inode->buf);
++
+ for(i = 65535; i >= 0; i--)
+ for(entry = priority_list[i]; entry; entry = entry->next) {
+ TRACE("%d: %s\n", i - 32768, entry->dir->pathname);
+diff -Nur squashfs-tools/sort.h squashfs-lzma-tools/sort.h
+--- squashfs-tools/sort.h 2006-08-21 01:40:35.000000000 +0200
++++ squashfs-lzma-tools/sort.h 2006-06-25 05:17:43.000000000 +0200
+@@ -51,12 +51,6 @@
+ squashfs_inode inode;
+ unsigned int type;
+ unsigned int inode_number;
+- char read;
+ struct inode_info *next;
+ };
+-
+-struct priority_entry {
+- struct dir_ent *dir;
+- struct priority_entry *next;
+-};
+ #endif
+diff -Nur squashfs-tools/squashfs_fs.h squashfs-lzma-tools/squashfs_fs.h
+--- squashfs-tools/squashfs_fs.h 2006-08-21 02:00:22.000000000 +0200
++++ squashfs-lzma-tools/squashfs_fs.h 2006-06-25 05:17:43.000000000 +0200
+@@ -308,7 +308,7 @@
+ struct squashfs_fragment_entry {
+ long long start_block;
+ unsigned int size;
+- unsigned int pending;
++ unsigned int unused;
+ } __attribute__ ((packed));
+
+ extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
diff --git a/packages/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb b/packages/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb
new file mode 100644
index 0000000000..5520896a5a
--- /dev/null
+++ b/packages/squashfs-tools/squashfs-lzma-tools-native_3.1r2.bb
@@ -0,0 +1,12 @@
+require squashfs-lzma-tools_${PV}.bb
+
+DEPENDS = "lzma-native"
+
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/squashfs-tools-${PV}', '${FILE_DIRNAME}/squashfs-tools', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 mksquashfs-lzma ${STAGING_BINDIR}/
+}
diff --git a/packages/squashfs-tools/squashfs-lzma-tools_3.1r2.bb b/packages/squashfs-tools/squashfs-lzma-tools_3.1r2.bb
new file mode 100644
index 0000000000..109ac95646
--- /dev/null
+++ b/packages/squashfs-tools/squashfs-lzma-tools_3.1r2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
+SECTION = "base"
+LICENSE = "GPLv2"
+DEPENDS = "lzma"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
+ file://Makefile-3.1.patch;patch=1 \
+ file://squashfs3.1r2-tools-replace_zlib_with_lzma.patch;patch=1 \
+ file://squashfs3.1r2-tools-lzma_Makefile.patch;patch=1"
+
+S = "${WORKDIR}/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}/squashfs-tools"
+
+prefix = ""
+
+do_compile() {
+ oe_runmake mksquashfs-lzma
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 mksquashfs-lzma ${D}${sbindir}/
+}
diff --git a/packages/squashfs-tools/squashfs-tools-native_3.1r2.bb b/packages/squashfs-tools/squashfs-tools-native_3.1r2.bb
new file mode 100644
index 0000000000..c35d183a08
--- /dev/null
+++ b/packages/squashfs-tools/squashfs-tools-native_3.1r2.bb
@@ -0,0 +1,10 @@
+require squashfs-tools_${PV}.bb
+
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/squashfs-tools-${PV}', '${FILE_DIRNAME}/squashfs-tools', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 mksquashfs ${STAGING_BINDIR}/
+}
diff --git a/packages/squashfs-tools/squashfs-tools_3.1r2.bb b/packages/squashfs-tools/squashfs-tools_3.1r2.bb
new file mode 100644
index 0000000000..a4edad97b1
--- /dev/null
+++ b/packages/squashfs-tools/squashfs-tools_3.1r2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
+SECTION = "base"
+LICENSE = "GPLv2"
+PR = "r1"
+
+DEPENDS = "zlib"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
+ file://Makefile-3.1.patch;patch=1"
+
+S = "${WORKDIR}/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}/squashfs-tools"
+
+prefix = ""
+
+do_compile() {
+ oe_runmake mksquashfs
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 mksquashfs ${D}${sbindir}/
+}
diff --git a/packages/stage-manager/.mtn2git_empty b/packages/stage-manager/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/stage-manager/.mtn2git_empty
diff --git a/packages/stage-manager/files/.mtn2git_empty b/packages/stage-manager/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/stage-manager/files/.mtn2git_empty
diff --git a/packages/stage-manager/files/stage-manager b/packages/stage-manager/files/stage-manager
new file mode 100755
index 0000000000..c5b6d17a56
--- /dev/null
+++ b/packages/stage-manager/files/stage-manager
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2006 Richard Purdie
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License version 2 as published by the Free
+# Software Foundation;
+#
+# This program 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 General Public License for more details.
+
+import optparse
+import os, sys, stat
+
+__version__ = "0.0.1"
+
+
+def write_cache(cachefile, cachedata):
+ fd = open(cachefile, 'w')
+ for f in cachedata:
+ s = f + '|' + str(cachedata[f]['ts']) + '|' + str(cachedata[f]['size'])
+ fd.write(s + '\n')
+ fd.close()
+
+def read_cache(cachefile):
+ cache = {}
+ f = open(cachefile, 'r')
+ lines = f.readlines()
+ f.close()
+ for l in lines:
+ data = l.split('|')
+ cache[data[0]] = {}
+ cache[data[0]]['ts'] = int(data[1])
+ cache[data[0]]['size'] = int(data[2])
+ return cache
+
+def mkdirhier(dir):
+ """Create a directory like 'mkdir -p', but does not complain if
+ directory already exists like os.makedirs
+ """
+ try:
+ os.makedirs(dir)
+ except OSError, e:
+ if e.errno != 17: raise e
+
+if __name__ == "__main__":
+ parser = optparse.OptionParser( version = "Metadata Stage Manager version %s" % ( __version__ ),
+ usage = """%prog [options]\n\nPerforms mamagement tasks on a metadata staging area.""" )
+
+ parser.add_option( "-p", "--parentdir", help = "the path to the metadata parent directory",
+ action = "store", dest = "parentdir", default = None)
+
+ parser.add_option( "-c", "--cachefile", help = "the cache file to use",
+ action = "store", dest = "cachefile", default = None)
+
+ parser.add_option( "-d", "--copydir", help = "copy changed files to this directory",
+ action = "store", dest = "copydir", default = None)
+
+ parser.add_option( "-u", "--update", help = "update the cache file",
+ action = "store_true", dest = "update", default = False)
+
+ (options, args) = parser.parse_args()
+
+ if options.parentdir is None:
+ print("Error, --parentdir option not supplied")
+ sys.exit(1)
+
+ if options.cachefile is None:
+ print("Error, --cachefile option not supplied")
+ sys.exit(1)
+
+ if not options.parentdir.endswith('/'):
+ options.parentdir = options.parentdir + '/'
+
+ cache = {}
+ if os.access(options.cachefile, os.F_OK):
+ cache = read_cache(options.cachefile)
+
+ found = False
+
+ for root, dirs, files in os.walk(options.parentdir):
+ for f in files:
+ path = os.path.join(root, f)
+ if not os.access(path, os.R_OK):
+ continue
+ fstamp = os.stat(path)
+ if path not in cache:
+ print "new file %s" % path
+ cache[path] = {}
+ cache[path]['ts'] = fstamp[stat.ST_MTIME]
+ cache[path]['size'] = fstamp[stat.ST_SIZE]
+ if options.copydir:
+ copypath = os.path.join(options.copydir, path.replace(options.parentdir, '', 1))
+ mkdirhier(os.path.split(copypath)[0])
+ os.system("mv " + path + " " + copypath)
+ found = True
+ else:
+ if cache[path]['ts'] != fstamp[stat.ST_MTIME] or cache[path]['size'] != fstamp[stat.ST_SIZE]:
+ print "file %s changed" % path
+ cache[path] = {}
+ cache[path]['ts'] = fstamp[stat.ST_MTIME]
+ cache[path]['size'] = fstamp[stat.ST_SIZE]
+ if options.copydir:
+ copypath = os.path.join(options.copydir, path.replace(options.parentdir, '', 1))
+ mkdirhier(os.path.split(copypath)[0])
+ os.system("mv " + path + " " + copypath)
+ found = True
+
+ if options.update:
+ print "Updating"
+ mkdirhier(os.path.split(options.cachefile)[0])
+ write_cache(options.cachefile, cache)
+
+ if found:
+ sys.exit(5)
+ sys.exit(0)
+
+
+
diff --git a/packages/stage-manager/stagemanager-native_0.0.1.bb b/packages/stage-manager/stagemanager-native_0.0.1.bb
new file mode 100644
index 0000000000..7074d37307
--- /dev/null
+++ b/packages/stage-manager/stagemanager-native_0.0.1.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Helper script for packaged-staging.bbclass"
+PR = "r1"
+
+SRC_URI = "file://stage-manager"
+LICENSE = "GPLv2"
+
+PACKAGE_ARCH = "all"
+
+inherit native
+
+DEPENDS = " "
+PACKAGE_DEPENDS = " "
+PATCHTOOL = ""
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_install() {
+ install -d ${STAGING_BINDIR}
+ install -m 0755 ${WORKDIR}/stage-manager ${STAGING_BINDIR}
+}
+
+do_stage() {
+:
+}
diff --git a/packages/strace/strace-4.5.14/glibc-2.5.patch b/packages/strace/strace-4.5.14/glibc-2.5.patch
new file mode 100644
index 0000000000..3ee6b3de75
--- /dev/null
+++ b/packages/strace/strace-4.5.14/glibc-2.5.patch
@@ -0,0 +1,11 @@
+--- strace-4.5.14/strace.c~ 2006-10-14 14:54:54.000000000 +1000
++++ strace-4.5.14/strace.c 2006-10-14 14:54:54.000000000 +1000
+@@ -2251,7 +2251,7 @@
+ if (!cflag
+ && (qual_flags[WSTOPSIG(status)] & QUAL_SIGNAL)) {
+ unsigned long addr = 0, pc = 0;
+-#ifdef PT_GETSIGINFO
++#if defined(PT_GETSIGINFO) && defined(IA64)
+ # define PSR_RI 41
+ struct siginfo si;
+ unsigned long psr;
diff --git a/packages/strace/strace_4.5.14.bb b/packages/strace/strace_4.5.14.bb
index fcfa2b74d0..b301d0100b 100644
--- a/packages/strace/strace_4.5.14.bb
+++ b/packages/strace/strace_4.5.14.bb
@@ -1,15 +1,15 @@
-LICENSE = "GPL"
-SECTION = "console/utils"
-PR = "r3"
-
DESCRIPTION = "strace is a system call tracing tool."
+SECTION = "console/utils"
+LICENSE = "GPL"
+PR = "r4"
SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \
- file://arm-eabi.patch;patch=1 \
- file://drop-ctl-proc.patch;patch=1 \
- file://sh-arch-update.patch;patch=1 \
- file://sh-syscall-update.patch;patch=1 \
- file://strace-fix-arm-bad-syscall.patch;patch=1"
+ file://glibc-2.5.patch;patch=1 \
+ file://arm-eabi.patch;patch=1 \
+ file://drop-ctl-proc.patch;patch=1 \
+ file://sh-arch-update.patch;patch=1 \
+ file://sh-syscall-update.patch;patch=1 \
+ file://strace-fix-arm-bad-syscall.patch;patch=1"
inherit autotools
diff --git a/packages/sylpheed/sylpheed_2.2.9.bb b/packages/sylpheed/sylpheed_2.2.9.bb
new file mode 100644
index 0000000000..6223624fc5
--- /dev/null
+++ b/packages/sylpheed/sylpheed_2.2.9.bb
@@ -0,0 +1,32 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent"
+DEPENDS = "gtk+ gpgme gnutls"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://sylpheed.good-day.net/sylpheed/v2.2/sylpheed-${PV}.tar.bz2 \
+ file://sylpheed-2.2.2-libsylph-Makefile-am.patch;patch=1 \
+ file://sylpheed-2.2.2-src-Makefile-am.patch;patch=1 \
+ file://sylpheed-gnutls_2.2.4.patch;patch=1"
+
+
+FILES_${PN} = "${bindir} ${datadir}/pixmaps ${datadir}/applications"
+FILES_${PN}-doc += "${datadir}"
+
+EXTRA_OECONF = "--disable-ssl --enable-gnutls"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+do_configure_prepend() {
+ mkdir -p m4
+}
+
+inherit autotools
+
+do_install_append() {
+ install -d ${D}${datadir}/applications
+ install -m 0644 sylpheed.desktop ${D}${datadir}/applications/
+ install -d ${D}${datadir}/pixmaps
+ install -m 0644 sylpheed.png ${D}${datadir}/pixmaps/
+}
+
diff --git a/packages/tasks/task-base.bb b/packages/tasks/task-base.bb
index 5b34742c1c..4336f967a3 100644
--- a/packages/tasks/task-base.bb
+++ b/packages/tasks/task-base.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r6"
+PR = "r11"
PACKAGES = "task-base \
task-base-minimal \
@@ -33,6 +33,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
# bluetooth
# ext2
# irda
+# pci
# pcmcia
# usbgadget
# usbhost
@@ -56,6 +57,7 @@ COMBINED_FEATURES = "\
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "ext2", d)} \
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "irda", d)} \
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pcmcia", d)} \
+ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pci", d)} \
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \
${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)}"
@@ -72,6 +74,7 @@ RDEPENDS_task-base = "\
${@base_contains("COMBINED_FEATURES", "alsa", "${task-base-alsa-rdepends}", "",d)} \
${@base_contains("COMBINED_FEATURES", "ext2", "${task-base-ext2-rdepends}", "",d)} \
${@base_contains("COMBINED_FEATURES", "irda", "${task-base-irda-rdepends}", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pci", "${task-base-pci-rdepends}", "",d)} \
${@base_contains("COMBINED_FEATURES", "pcmcia", "${task-base-pcmcia-rdepends}", "",d)} \
${@base_contains("COMBINED_FEATURES", "usbhost", "${task-base-usbhost-rdepends}", "",d)} \
${@base_contains("DISTRO_FEATURES", "nfs", "${task-distro-nfs-rdepends}", "",d)} \
@@ -147,6 +150,9 @@ task-base-kernel26-rdepends = "\
task-base-keyboard-rdepends = "\
keymaps"
+task-base-pci-rdepends = "\
+ pciutils"
+
task-base-kernel26-extras-rrecommends = "\
kernel-module-input \
kernel-module-uinput"
@@ -257,8 +263,9 @@ task-distro-ipsec-rrecommends = "\
task-distro-wifi-rdepends = "\
wireless-tools \
- hostap-utils \
- wpa-supplicant-nossl"
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "hostap-utils", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pci", "hostap-utils", "",d)} \
+ wpa-supplicant"
task-distro-wifi-rrecommends = "\
kernel-module-ieee80211-crypt \
diff --git a/packages/tasks/task-bootstrap-unionroot.bb b/packages/tasks/task-bootstrap-unionroot.bb
index 4efa52e00a..5fa26df7dd 100644
--- a/packages/tasks/task-bootstrap-unionroot.bb
+++ b/packages/tasks/task-bootstrap-unionroot.bb
@@ -13,15 +13,7 @@ PACKAGES = "${PN}"
MODUTILS ?= "24 26"
-def bootstrap_modutils_rdepends(d):
- import bb
- m = bb.data.getVar('MODUTILS', d, 1)
- r = []
- if '24' in m:
- r.append('modutils-depmod')
- if '26' in m:
- r.append('module-init-tools-depmod')
- return ' '.join(r)
+require task-bootstrap.inc
HOTPLUG ?= "linux-hotplug"
diff --git a/packages/tasks/task-bootstrap.bb b/packages/tasks/task-bootstrap.bb
index 5f625354d1..a684714418 100644
--- a/packages/tasks/task-bootstrap.bb
+++ b/packages/tasks/task-bootstrap.bb
@@ -10,15 +10,7 @@ PACKAGES = "${PN}"
MODUTILS ?= "24 26"
-def bootstrap_modutils_rdepends(d):
- import bb
- m = bb.data.getVar('MODUTILS', d, 1)
- r = []
- if '24' in m:
- r.append('modutils-depmod')
- if '26' in m:
- r.append('module-init-tools-depmod')
- return ' '.join(r)
+require task-bootstrap.inc
HOTPLUG ?= "linux-hotplug"
diff --git a/packages/tasks/task-bootstrap.inc b/packages/tasks/task-bootstrap.inc
new file mode 100644
index 0000000000..073da7055f
--- /dev/null
+++ b/packages/tasks/task-bootstrap.inc
@@ -0,0 +1,9 @@
+def bootstrap_modutils_rdepends(d):
+ import bb
+ m = bb.data.getVar('MODUTILS', d, 1)
+ r = []
+ if '24' in m:
+ r.append('modutils-depmod')
+ if '26' in m:
+ r.append('module-init-tools-depmod')
+ return ' '.join(r)
diff --git a/packages/tasks/task-gpe.bb b/packages/tasks/task-gpe.bb
index 80f85238d1..31b00c1680 100644
--- a/packages/tasks/task-gpe.bb
+++ b/packages/tasks/task-gpe.bb
@@ -88,7 +88,7 @@ RDEPENDS_gpe-task-apps := "\
gpe-aerial \
gpe-soundbite \
rosetta \
- gpe-screenshot \
+ gpe-scap \
gpe-windowlist"
RDEPENDS_gpe-task-games := "\
diff --git a/packages/tasks/task-ossie.bb b/packages/tasks/task-ossie.bb
new file mode 100644
index 0000000000..cc14213441
--- /dev/null
+++ b/packages/tasks/task-ossie.bb
@@ -0,0 +1,15 @@
+PACKAGES = task-ossie
+DESCRIPTION = "Meta-package for OSSIE Software Defined Radio (SDR)"
+ALLOW_EMPTY = 1
+PR = "r0"
+
+OSSIE_INSTALL = "screen procps xerces-c omniorb usrp ossiecf ossie-standardinterfaces ossie-nodebooter"
+
+OSSIE_COMPONENTS = "ossie-gpp-device ossie-usrp-device ossie-demo ossie-channeldemo ossie-rxdemo"
+
+
+RDEPENDS = "${OSSIE_INSTALL} ${OSSIE_COMPONENTS}"
+
+IPKG_INSTALL = "${OSSIE_INSTALL}"
+
+LICENSE = MIT
diff --git a/packages/tslib/tslib/qemuarm/.mtn2git_empty b/packages/tslib/tslib/qemuarm/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/tslib/tslib/qemuarm/.mtn2git_empty
diff --git a/packages/tslib/tslib/qemuarm/ts.conf b/packages/tslib/tslib/qemuarm/ts.conf
new file mode 100644
index 0000000000..09309719f2
--- /dev/null
+++ b/packages/tslib/tslib/qemuarm/ts.conf
@@ -0,0 +1,5 @@
+module_raw input
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/packages/tslib/tslib/qemuarm/tslib.sh b/packages/tslib/tslib/qemuarm/tslib.sh
new file mode 100644
index 0000000000..0bc0d454e7
--- /dev/null
+++ b/packages/tslib/tslib/qemuarm/tslib.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/touchscreen0
+TSLIB_TSEVENTTYPE=INPUT
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE
diff --git a/packages/uboot/u-boot-LABEL.2006.06.30.2020/.mtn2git_empty b/packages/uboot/u-boot-LABEL.2006.06.30.2020/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uboot/u-boot-LABEL.2006.06.30.2020/.mtn2git_empty
diff --git a/packages/uboot/u-boot-LABEL.2006.06.30.2020/nohelloworld.patch b/packages/uboot/u-boot-LABEL.2006.06.30.2020/nohelloworld.patch
new file mode 100644
index 0000000000..d98cefe28e
--- /dev/null
+++ b/packages/uboot/u-boot-LABEL.2006.06.30.2020/nohelloworld.patch
@@ -0,0 +1,14 @@
+Index: git/examples/Makefile
+===================================================================
+--- git.orig/examples/Makefile 2006-10-20 09:53:20.000000000 +0200
++++ git/examples/Makefile 2006-10-20 10:17:55.658554000 +0200
+@@ -59,9 +59,6 @@
+
+ include $(TOPDIR)/config.mk
+
+-SREC = hello_world.srec
+-BIN = hello_world.bin hello_world
+-
+ ifeq ($(CPU),mpc8xx)
+ SREC = test_burst.srec
+ BIN = test_burst.bin test_burst
diff --git a/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb b/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb
index 3fb7ee55ea..5bf12bcaa0 100644
--- a/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb
+++ b/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb
@@ -4,21 +4,25 @@ SECTION = "bootloader"
PRIORITY = "optional"
LICENSE = "GPL"
-PR = "r0"
+PR = "r2"
TAG = "${@bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git;tag=${TAG}"
+SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git;tag=${TAG} \
+ file://nohelloworld.patch;patch=1"
# file://config.patch;patch=1"
+SRC_URI_append_navman-icn330 = " http://www.duff.dk/navman/navman-u-boot-2006-30-2020.patch;patch=1"
+
S = "${WORKDIR}/git"
#EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CFLAGS="" CPPFLAGS="" LDFLAGS="""
-EXTRA_OEMAKE = ""
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
UBOOT_MACHINE ?= "${MACHINE}_config"
UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
#inherit base
diff --git a/packages/usrp/files/install_test.patch b/packages/usrp/files/install_test.patch
new file mode 100644
index 0000000000..d24cfb5191
--- /dev/null
+++ b/packages/usrp/files/install_test.patch
@@ -0,0 +1,20 @@
+--- usrp-0.12.orig/host/apps/Makefile.am 2006-04-03 18:52:05.000000000 -0400
++++ usrp-0.12/host/apps/Makefile.am 2006-10-20 16:15:02.000000000 -0400
+@@ -23,13 +23,13 @@
+
+ bin_PROGRAMS = \
+ usrper \
+- usrp_cal_dc_offset
+-
+-noinst_PROGRAMS = \
+- check_order_quickly \
++ usrp_cal_dc_offset \
+ test_usrp_standard_rx \
+ test_usrp_standard_tx
+
++noinst_PROGRAMS = \
++ check_order_quickly
++
+ noinst_HEADERS = \
+ time_stuff.h
+
diff --git a/packages/usrp/usrp_0.8.bb b/packages/usrp/usrp_0.12.bb
index 16059186d0..5fc6969f8c 100644
--- a/packages/usrp/usrp_0.8.bb
+++ b/packages/usrp/usrp_0.12.bb
@@ -2,28 +2,34 @@ DESCRIPTION = "Support software for the Universal Software Radio Peripheral (USR
LICENSE = "GPL"
HOMEPAGE = "http://comsec.com/wiki?UniversalSoftwareRadioPeripheral"
SECTION = "devel"
-DEPENDS = "swig-native sdcc-native libusb"
+DEPENDS = "swig-native sdcc-native libusb python boost"
+RDEPENDS = "python-core"
PR = "r0"
SRC_URI = "ftp://ftp.gnu.org/gnu/gnuradio/usrp-${PV}.tar.gz \
- file://usb11.patch;patch=1"
+ file://usb11.patch;patch=1" \
+ file://install_test.patch;patch=1"
+
S = "${WORKDIR}/usrp-${PV}"
-inherit autotools
+inherit autotools pkgconfig
+
+export BUILD_SYS := "${BUILD_SYS}"
+export HOST_SYS := "${HOST_SYS}"
do_stage () {
oe_libinstall -so -C host/lib/.libs/ libusrp ${STAGING_LIBDIR}
- install -m 644 host/lib/usrp0.h ${STAGING_INCDIR}
install -m 644 host/lib/usrp_basic.h ${STAGING_INCDIR}
install -m 644 host/lib/usrp_bytesex.h ${STAGING_INCDIR}
install -m 644 host/lib/usrp_config.h ${STAGING_INCDIR}
- install -m 644 host/lib/usrp_daughterboards.h ${STAGING_INCDIR}
+ install -m 644 host/lib/usrp_dbid.h ${STAGING_INCDIR}
install -m 644 host/lib/usrp_prims.h ${STAGING_INCDIR}
install -m 644 host/lib/usrp_slots.h ${STAGING_INCDIR}
install -m 644 host/lib/usrp_standard.h ${STAGING_INCDIR}
install -m 644 firmware/include/usrp_i2c_addr.h ${STAGING_INCDIR}
+ install -m 644 firmware/include/usrp_spi_defs.h ${STAGING_INCDIR}
}
PACKAGES += "python-pyursp"
diff --git a/packages/uucp/.mtn2git_empty b/packages/uucp/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uucp/.mtn2git_empty
diff --git a/packages/uucp/uucp_1.07.bb b/packages/uucp/uucp_1.07.bb
new file mode 100644
index 0000000000..948f251e70
--- /dev/null
+++ b/packages/uucp/uucp_1.07.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "UUCP is used to transfer mail, news and random files between systems which are not connected by more modern networks. The communication can be made via modems, direct (hard-wired) serial connections or via an IP connection."
+LICENSE = "GPLv2"
+SECTION = "console"
+
+inherit autotools
+
+SRC_URI = "http://ftp.debian.org/debian/pool/main/u/uucp/uucp_1.07.orig.tar.gz"
+
+do_configure() {
+ libtoolize --force
+ oe_runconf
+}
+
+
+PACKAGES =+ "cu"
+FILES_cu = "${bindir}/cu"
diff --git a/packages/vim/gvim_7.0.bb b/packages/vim/gvim_7.0.bb
index 8511b30a84..3547c89d47 100644
--- a/packages/vim/gvim_7.0.bb
+++ b/packages/vim/gvim_7.0.bb
@@ -3,10 +3,11 @@ VIMVER = "70"
require vim.inc
DEPENDS += "gtk+"
+PR = "r1"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/vim-7.0', '${FILE_DIRNAME}/vim', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
EXTRA_OECONF = "--enable-gui=gtk2 --enable-gtk2-test --disable-gtktest \
- --disable-xim --with-features=normal \
+ --disable-xim --with-features=big \
--disable-gpm --with-x --disable-netbeans \
--with-tlib=ncurses"
diff --git a/packages/vim/vim_7.0.bb b/packages/vim/vim_7.0.bb
index 8a5e91211f..c821f6e974 100644
--- a/packages/vim/vim_7.0.bb
+++ b/packages/vim/vim_7.0.bb
@@ -2,8 +2,9 @@ VIMVER = "70"
require vim.inc
+PR = "r1"
+
EXTRA_OECONF = "--enable-gui=none --disable-gtktest \
- --disable-xim --with-features=normal \
+ --disable-xim --with-features=big \
--disable-gpm --without-x --disable-netbeans \
--with-tlib=ncurses"
-
diff --git a/packages/watchdog/watchdog_5.2.bb b/packages/watchdog/watchdog_5.2.bb
index deb675901b..d61fbe2012 100644
--- a/packages/watchdog/watchdog_5.2.bb
+++ b/packages/watchdog/watchdog_5.2.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Software watchdog"
LICENSE = "GPL"
PR = "r3"
-SRC_URI = "http://www.ibiblio.org/pub/Linux/system/daemons/watchdog/${PN}-${PV}.tar.gz"
+SRC_URI = "http://www.ibiblio.org/pub/Linux/system/daemons/watchdog/${P}.tar.gz"
SRC_URI += "file://mkinstalldirs.patch;patch=1"
inherit autotools
diff --git a/packages/web/web_svn.bb b/packages/web/web_svn.bb
index f067a2f8cc..da4a6f2f9a 100644
--- a/packages/web/web_svn.bb
+++ b/packages/web/web_svn.bb
@@ -3,8 +3,10 @@ SECTION = "x11"
DEPENDS = "libxml2 glib-2.0 gtk+ libglade gtkhtml2 curl gconf js"
DESCRIPTION = "Web is a multi-platform web browsing application."
+PV = "0.0+svn${SRCDATE}"
+PR = "r1"
SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http"
S = "${WORKDIR}/trunk"
-inherit autotools pkgconfig
+inherit autotools pkgconfig gconf
diff --git a/packages/wpa-supplicant/files/wpa-supplicant.sh b/packages/wpa-supplicant/files/wpa-supplicant.sh
new file mode 100644
index 0000000000..5c9e5d33a7
--- /dev/null
+++ b/packages/wpa-supplicant/files/wpa-supplicant.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+
+WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
+WPA_SUP_PNAME="wpa_supplicant"
+WPA_SUP_PIDFILE="/var/run/wpa_supplicant.$IFACE.pid"
+WPA_SUP_OPTIONS="-B -P $WPA_SUP_PIDFILE -i $IFACE"
+
+VERBOSITY=0
+
+
+if [ -s "$IF_WPA_CONF" ]; then
+ WPA_SUP_CONF="-c $IF_WPA_CONF"
+else
+ exit 0
+fi
+
+if [ ! -x "$WPA_SUP_BIN" ]; then
+
+ if [ "$VERBOSITY" = "1" ]; then
+ echo "$WPA_SUP_PNAME: binaries not executable or missing from $WPA_SUP_BIN"
+ fi
+
+ exit 1
+fi
+
+if [ "$MODE" = "start" ] ; then
+ # driver type of interface, defaults to wext when undefined
+ if [ -s "/etc/wpa_supplicant/driver.$IFACE" ]; then
+ IF_WPA_DRIVER=$(cat "/etc/wpa_supplicant/driver.$IFACE")
+ elif [ -z "$IF_WPA_DRIVER" ]; then
+
+ if [ "$VERBOSITY" = "1" ]; then
+ echo "$WPA_SUP_PNAME: wpa-driver not provided, using \"wext\""
+ fi
+
+ IF_WPA_DRIVER="wext"
+ fi
+
+ # if we have passed the criteria, start wpa_supplicant
+ if [ -n "$WPA_SUP_CONF" ]; then
+
+ if [ "$VERBOSITY" = "1" ]; then
+ echo "$WPA_SUP_PNAME: $WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER"
+ fi
+
+ start-stop-daemon --start --quiet \
+ --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
+ -- $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER
+ fi
+
+ # if the interface socket exists, then wpa_supplicant was invoked successfully
+ if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
+
+ if [ "$VERBOSITY" = "1" ]; then
+ echo "$WPA_SUP_PNAME: ctrl_interface socket located at $WPA_COMMON_CTRL_IFACE/$IFACE"
+ fi
+
+ exit 0
+
+ fi
+
+elif [ "$MODE" = "stop" ]; then
+
+ if [ -f "$WPA_SUP_PIDFILE" ]; then
+
+ if [ "$VERBOSITY" = "1" ]; then
+ echo "$WPA_SUP_PNAME: terminating $WPA_SUP_PNAME daemon"
+ fi
+
+ start-stop-daemon --stop --quiet \
+ --name $WPA_SUP_PNAME --pidfile $WPA_SUP_PIDFILE
+
+ if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
+ rm -f $WPA_COMMON_CTRL_IFACE/$IFACE
+ fi
+
+ if [ -f "$WPA_SUP_PIDFILE" ]; then
+ rm -f $WPA_SUP_PIDFILE
+ fi
+ fi
+
+fi
+
+exit 0
diff --git a/packages/wpa-supplicant/wpa-gui_0.4.8.bb b/packages/wpa-supplicant/wpa-gui_0.4.8.bb
index 686545a148..4678ba79a2 100644
--- a/packages/wpa-supplicant/wpa-gui_0.4.8.bb
+++ b/packages/wpa-supplicant/wpa-gui_0.4.8.bb
@@ -5,6 +5,7 @@ edit wpa_supplicant networks."
SECTION = "network"
LICENSE = "GPL BSD"
HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+RDEPENDS = "wpa-supplicant"
PR = "r1"
SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz "
@@ -13,6 +14,8 @@ S = "${WORKDIR}/wpa_supplicant-${PV}/wpa_gui/"
inherit qmake qt3x11
+EXTRA_QMAKEVARS_POST += "CONFIG+=thread"
+
do_install () {
install -d ${D}${sbindir}
install -m 755 wpa_gui ${D}${sbindir}
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.8/.mtn2git_empty b/packages/wpa-supplicant/wpa-supplicant-0.4.8/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.8/.mtn2git_empty
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.8/defconfig b/packages/wpa-supplicant/wpa-supplicant-0.4.8/defconfig
new file mode 100644
index 0000000000..930ef04835
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.8/defconfig
@@ -0,0 +1,160 @@
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD
+
+# for wpa_supplicant, wpa_cli
+LIBS = $(TARGET_LDFLAGS)
+
+# for wpa_passphrase:
+LIBS_p = $(TARGET_LDFLAGS)
+
+
+# Uncomment following two lines and fix the paths if you have installed openssl
+# in non-default location
+#CFLAGS += -I/usr/local/openssl/include
+#LIBS += -L/usr/local/openssl/lib
+
+# Example configuration for various cross-compilation platforms
+
+#### sveasoft (e.g., for Linksys WRT54G) ######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
+#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
+###############################################################################
+
+#### openwrt (e.g., for Linksys WRT54G) #######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
+# -I../WRT54GS/release/src/include
+#LIBS = -lssl
+###############################################################################
+
+
+# Driver interface for Host AP driver
+CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for Agere driver
+CONFIG_DRIVER_HERMES=y
+
+# Driver interface for madwifi driver
+#CONFIG_DRIVER_MADWIFI=y
+# Change include directories to match with the local setup
+#CFLAGS += -I../madwifi/wpa
+
+# Driver interface for Prism54 driver
+#CONFIG_DRIVER_PRISM54=y
+
+# Driver interface for ndiswrapper
+#CONFIG_DRIVER_NDISWRAPPER=y
+
+# Driver interface for Atmel driver
+#CONFIG_DRIVER_ATMEL=y
+
+# Driver interface for Broadcom driver
+#CONFIG_DRIVER_BROADCOM=y
+# Example path for wlioctl.h; change to match your configuration
+#CFLAGS += -I/opt/WRT54GS/release/src/include
+
+# Driver interface for Intel ipw2100 driver
+#CONFIG_DRIVER_IPW2100=y
+
+# Driver interface for the Zydas zd1211 driver
+CONFIG_DRIVER_ZD1211=y
+
+# Driver interface for generic Linux wireless extensions
+CONFIG_DRIVER_WEXT=y
+
+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
+#CONFIG_DRIVER_BSD=y
+#CFLAGS += -I/usr/local/include
+#LIBS += -L/usr/local/lib
+
+# Driver interface for Windows NDIS
+#CONFIG_DRIVER_NDIS=y
+#CFLAGS += -I/usr/include/w32api/ddk
+#LIBS += -L/usr/local/lib
+# For native build using mingw
+#CONFIG_NATIVE_WINDOWS=y
+# Additional directories for cross-compilation on Linux host for mingw target
+#CFLAGS += -I/opt/mingw/mingw32/include/ddk
+#LIBS += -L/opt/mingw/mingw32/lib
+#CC=mingw32-gcc
+
+# Driver interface for development testing
+#CONFIG_DRIVER_TEST=y
+
+# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
+# included)
+CONFIG_IEEE8021X_EAPOL=y
+
+# EAP-MD5 (automatically included if EAP-TTLS is enabled)
+CONFIG_EAP_MD5=y
+
+# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-TLS
+CONFIG_EAP_TLS=y
+
+# EAL-PEAP
+CONFIG_EAP_PEAP=y
+
+# EAP-TTLS
+CONFIG_EAP_TTLS=y
+
+# EAP-GTC
+CONFIG_EAP_GTC=y
+
+# EAP-OTP
+CONFIG_EAP_OTP=y
+
+# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
+#CONFIG_EAP_SIM=y
+
+# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
+#CONFIG_EAP_PSK=y
+
+# LEAP
+CONFIG_EAP_LEAP=y
+
+# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
+#CONFIG_EAP_AKA=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# PC/SC interface for smartcards (USIM, GSM SIM)
+# Enable this if EAP-SIM or EAP-AKA is included
+#CONFIG_PCSC=y
+
+# Development testing
+#CONFIG_EAPOL_TEST=y
+
+# Replace native Linux implementation of packet sockets with libdnet/libpcap.
+# This will be automatically set for non-Linux OS.
+#CONFIG_DNET_PCAP=y
+
+# Include control interface for external programs, e.g, wpa_cli
+CONFIG_CTRL_IFACE=y
+
+# Include interface for using external supplicant (Xsupplicant) for EAP
+# authentication
+#CONFIG_XSUPPLICANT_IFACE=y
+
+# Include support for GNU Readline and History Libraries in wpa_cli.
+# When building a wpa_cli binary for distribution, please note that these
+# libraries are licensed under GPL and as such, BSD license may not apply for
+# the resulting binary.
+#CONFIG_READLINE=y
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-hermes.patch b/packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-hermes.patch
new file mode 100644
index 0000000000..0bf82489ec
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-hermes.patch
@@ -0,0 +1,889 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- /dev/null
++++ wpa_supplicant/driver_hermes.c
+@@ -0,0 +1,705 @@
++/*
++ * WPA Supplicant - testing driver interface
++ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Alternatively, this software may be distributed under the terms of BSD
++ * license.
++ *
++ * See README and COPYING for more details.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <net/if_arp.h>
++
++#include "wireless_copy.h"
++#include "common.h"
++#include "driver.h"
++
++#include "eloop.h"
++#include "wpa_supplicant.h"
++#include "priv_netlink.h"
++
++#include "driver_wext.h"
++#include "driver_hermes.h"
++
++#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
++#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
++
++/* Enumeration for supported Hermes Types */
++enum
++{
++ WL_HERMES_UNKNOWN = 0,
++ WL_HERMES_1 = 1,
++ WL_HERMES_2 = 2,
++ WL_HERMES_25 = 3
++};
++
++
++
++
++struct wpa_driver_hermes_data {
++ void *wext; /* private data for driver_wext */
++ void *ctx;
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++ int type;
++};
++
++
++
++/****************************************************************************/
++/* */
++/* Routines for basic device access to Agere Hermes-I/Hermes-II via the UIL */
++/* */
++/****************************************************************************/
++
++IFBP _connect(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s %d", __FUNCTION__, drv->ifname, drv->sock);
++
++ memset(&urq, 0, sizeof(urq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_CONNECT;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++ if (result == 0 && urq.result == UIL_SUCCESS) {
++ ifbp = urq.hcfCtx;
++ } else {
++ wpa_printf(MSG_DEBUG, "%s: could not set IFBP, result %d", __FUNCTION__, result);
++ }
++
++ return ifbp;
++}
++
++
++void _disconnect(void *priv, IFBP ifbp)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ if (ifbp != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_DISCONNECT;
++ urq.hcfCtx = ifbp;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf( MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno );
++ wpa_printf( MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result );
++ }
++ } else {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): called with NULL ifbp");
++ }
++
++ return;
++}
++
++int _get_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_GET_INFO;
++ urq.len = sizeof(ltv_t);
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result);
++ }
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf( MSG_WARNING, "Could not connect to the device, or LTV NULL");
++ result = -1;
++ }
++
++ return result;
++}
++
++int _put_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_PUT_INFO;
++ urq.len = sizeof( ltv_t );
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "_put_info(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "_put_info(): urq.result: %d", urq.result);
++ }
++
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf(MSG_WARNING, "%s: could not connect to the device, or LTV NULL", __FUNCTION__ );
++ result = -1;
++ }
++
++ return result;
++}
++
++
++static void _detect_hermes_type(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ CFG_FW_IDENTITY_STRCT *fw_id;
++ ltv_t ltv;
++ int result;
++
++ //wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ drv->type = WL_HERMES_UNKNOWN;
++
++ if (drv->sock >= 0) {
++ fw_id = (CFG_FW_IDENTITY_STRCT *)&ltv;
++ fw_id->len = ( sizeof(CFG_FW_IDENTITY_STRCT) / sizeof( hcf_16 )) - 1;
++ fw_id->typ = CFG_FW_IDENTITY;
++
++ result = _get_info(priv, (ltv_t *)fw_id);
++ if (result == HCF_SUCCESS) {
++ //wpa_printf(MSG_DEBUG, "PRI CompID : %d", fw_id->comp_id);
++ //wpa_printf(MSG_DEBUG, "PRI Variant : %d", fw_id->variant);
++ //wpa_printf(MSG_DEBUG, "PRI Version : %d.%02d", fw_id->version_major, fw_id->version_minor);
++
++ switch(fw_id->comp_id) {
++ case COMP_ID_FW_STA:
++ switch (fw_id->variant) {
++ case 1:
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 STA");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 3:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 STA");
++ drv->type = WL_HERMES_2;
++ break;
++ case 4:
++ wpa_printf(MSG_DEBUG, "found Hermes 2.5 STA");
++ drv->type = WL_HERMES_25;
++ break;
++ }
++ break;
++
++ case COMP_ID_FW_AP:
++ switch (fw_id->variant) {
++ case 1:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 AP");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 AP" );
++ drv->type = WL_HERMES_2;
++ break;
++ }
++ break;
++
++ default:
++ wpa_printf(MSG_WARNING, "could not detect Hermes type!");
++ break;
++ }
++ }
++ }
++}
++
++
++
++/****************************************************************************/
++
++
++static int wpa_driver_hermes_set_wpa_ie(void *priv, const char *wpa_ie,
++ size_t wpa_ie_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ ltv.len = 2;
++ ltv.typ = CFG_SET_WPA_AUTH_KEY_MGMT_SUITE;
++
++ switch(drv->type) {
++ case WL_HERMES_1:
++ ltv.u.u16[0] = 2;
++ break;
++
++ case WL_HERMES_2:
++ case WL_HERMES_25:
++ ltv.u.u16[0] = 4;
++ break;
++
++ default:
++ ltv.u.u16[0] = 0;
++ break;
++ }
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_wpa(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __func__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_ENCRYPTION;
++ ltv.u.u16[0] = enabled ? 2 : 0; /* Setting CFG_CNF_ENCRYPTION to 2 sets WPA: TKIP or better */
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int ret = 0;
++ char *alg_name;
++ ltv_t ltv;
++ int count = 0;
++ int buf_idx = 0;
++ hcf_8 tsc[] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 };
++ hcf_8 rsc[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
++
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "none";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > IW_ENCODE_SEQ_MAX_SIZE) {
++ wpa_printf(MSG_DEBUG, "%s: Invalid seq_len %lu", __FUNCTION__, (unsigned long) seq_len);
++ return -2;
++ }
++
++ /* Check the key index here; if 0, load as Pairwise Key, otherwise, load as
++ a group key. Note that for the Hermes, the RIDs for group/pairwise keys
++ are different from each other and different than the default WEP keys as
++ well. */
++ switch (alg) {
++ case WPA_ALG_TKIP:
++ /* Make sure that there is no data queued up in the firmware before
++ setting the TKIP keys. If this check is not performed, some data
++ may be sent out with incorrect MIC and cause synchronizarion
++ errors with the AP */
++ /* Check every 1ms for 100ms */
++ for (count = 0; count < 100; count++) {
++ usleep(1000);
++
++ ltv.len = 2;
++ ltv.typ = 0xFD91; // This RID not defined in HCF yet!!!
++ ltv.u.u16[0] = 0;
++
++ _get_info( priv, &ltv);
++
++ if (ltv.u.u16[0] == 0)
++ break;
++ }
++
++ if (count == 100)
++ wpa_printf(MSG_DEBUG, "%s: Timed out waiting for TxQ!", __FUNCTION__);
++
++
++ switch (key_idx) {
++ case 0:
++ /* Only load key as pairwise key for Hermes-II and II.5. For Hermes-I,
++ fall through to the next case and load the pairwise key as
++ a Group Key at index 0. */
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ ltv.len = 28;
++ ltv.typ = CFG_ADD_TKIP_MAPPED_KEY;
++
++ /* Load the BSSID */
++ memcpy(&ltv.u.u8[buf_idx], addr, ETH_ALEN);
++ buf_idx += ETH_ALEN;
++
++ /* Load the TKIP key */
++ memcpy(&ltv.u.u8[buf_idx], &key[0], 16);
++ buf_idx += 16;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++ buf_idx += 8;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[16], 8);
++ buf_idx += 8;
++
++ /* Load the RxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[24], 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ ltv.len = 26;
++ ltv.typ = CFG_ADD_TKIP_DEFAULT_KEY;
++
++ /* Load the key Index */
++ ltv.u.u16[buf_idx] = key_idx;
++
++ /* If this is a Tx Key, set bit 8000 */
++ if (set_tx)
++ ltv.u.u16[buf_idx] |= 0x8000;
++
++ buf_idx += 2;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TKIP, TxMIC, and RxMIC keys in one shot, because in
++ CFG_ADD_TKIP_DEFAULT_KEY they are back-to-back */
++ memcpy(&ltv.u.u8[buf_idx], key, key_len);
++ buf_idx += key_len;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++
++ break;
++
++ case WPA_ALG_WEP:
++ case WPA_ALG_CCMP:
++ break;
++
++ case WPA_ALG_NONE:
++ switch (key_idx) {
++ case 0:
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ /* Only clear a pairwise key for Hermes-II. For Hermes-I,
++ fall through to the next case and clear the key as a
++ Group Key at index 0. */
++ if (addr) {
++ ltv.len = 7;
++ ltv.typ = CFG_REMOVE_TKIP_MAPPED_KEY;
++
++ memcpy(&ltv.u.u8[0], addr, ETH_ALEN);
++
++ _put_info(priv, &ltv);
++ }
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ /* Clear the Group TKIP keys by index */
++ ltv.len = 2;
++ ltv.typ = CFG_REMOVE_TKIP_DEFAULT_KEY;
++
++ ltv.u.u16[0] = key_idx;
++
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++ break;
++
++ default:
++ break;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_hermes_set_countermeasures(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ /* The supplicant handles all the timers related to MIC failure and
++ countermeasures. When countermeasures are enabled, shut down the card;
++ when disable, re-enable the card. Make sure that the EAPOL message
++ is getting out before card disable */
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_DRIVER_ENABLE;
++ ltv.u.u16[0] = enabled ? 0 : 1;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_drop_unencrypted(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_EXCL_UNENCRYPTED;
++ ltv.u.u16[0] = enabled;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_deauthenticate(void *priv, const u8 *addr,
++ int reason_code)
++{
++ wpa_printf(MSG_DEBUG, "%s: *DUMMY* %d", __FUNCTION__, reason_code);
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_disassociate(void *priv, const u8 *addr, int reason_code)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: reason=%d", __FUNCTION__, reason_code);
++
++ ltv.len = 2;
++ ltv.typ = 0xFCC8; // This RID not defined in HCF yet!!!
++ memcpy( &ltv.u.u8[0], addr, ETH_ALEN );
++ ltv.u.u16[ETH_ALEN / 2] = reason_code;
++
++ return _put_info( priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_associate(
++ void *priv, struct wpa_driver_associate_params *params)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++
++#if 0
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++#else
++ wpa_printf(MSG_DEBUG, "%s: priv=%p freq=%d pairwise_suite=%d "
++ "group_suite=%d key_mgmt_suite=%d auth_alg=%d mode=%d",
++ __func__, priv, params->freq, params->pairwise_suite,
++ params->group_suite, params->key_mgmt_suite,
++ params->auth_alg, params->mode);
++ if (params->bssid) {
++ wpa_printf(MSG_DEBUG, " bssid=" MACSTR,
++ MAC2STR(params->bssid));
++ }
++ if (params->ssid) {
++ wpa_hexdump_ascii(MSG_DEBUG, " ssid",
++ params->ssid, params->ssid_len);
++ }
++ if (params->wpa_ie) {
++ wpa_hexdump(MSG_DEBUG, " wpa_ie",
++ params->wpa_ie, params->wpa_ie_len);
++ }
++#endif
++
++ if (wpa_driver_hermes_set_wpa_ie(priv, params->wpa_ie, params->wpa_ie_len) < 0)
++ return -1;
++ if (wpa_driver_wext_set_freq(drv->wext, params->freq) < 0)
++ return -1;
++ if (wpa_driver_wext_set_ssid(drv->wext, params->ssid, params->ssid_len) < 0)
++ return -1;
++#ifdef UNSUPPORTED_IN_HERMES_DRIVER
++ if (wpa_driver_wext_hermes_bssid(drv->wext, params->bssid) < 0)
++ return -1;
++#endif
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_get_bssid(void *priv, u8 *bssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_bssid(drv->wext, bssid);
++}
++
++
++static int wpa_driver_hermes_get_ssid(void *priv, u8 *ssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_ssid(drv->wext, ssid);
++}
++
++
++static int wpa_driver_hermes_scan(void *priv, const u8 *ssid, size_t ssid_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_scan(drv->wext, ssid, ssid_len);
++}
++
++
++static int wpa_driver_hermes_get_scan_results(void *priv,
++ struct wpa_scan_result *results,
++ size_t max_size)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_scan_results(drv->wext, results, max_size);
++}
++
++
++static void * wpa_driver_hermes_init(void *ctx, const char *ifname)
++{
++ struct wpa_driver_hermes_data *drv;
++
++ wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, ifname);
++
++ drv = malloc(sizeof(*drv));
++ if (drv == NULL)
++ return NULL;
++ memset(drv, 0, sizeof(*drv));
++
++ /* Initialize wireless context */
++ drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (drv->wext == NULL) {
++ perror("no wext context");
++ goto no_wext;
++ }
++
++ drv->ctx = ctx;
++ strncpy(drv->ifname, ifname, sizeof(drv->ifname));
++
++ drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (drv->sock < 0) {
++ perror("socket(PF_INET,SOCK_DGRAM)");
++ goto no_sock;
++ }
++
++ _detect_hermes_type(drv);
++
++ return drv;
++
++no_sock:
++ wpa_driver_wext_deinit(drv->wext);
++no_wext:
++ free(drv);
++ return NULL;
++}
++
++
++static void wpa_driver_hermes_deinit(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ wpa_driver_wext_deinit(drv->wext);
++ close(drv->sock);
++ free(drv);
++}
++
++
++
++
++struct wpa_driver_ops wpa_driver_hermes_ops = {
++ .name = "hermes",
++ .desc = "wpa_supplicant hermes driver",
++
++ .init = wpa_driver_hermes_init,
++ .deinit = wpa_driver_hermes_deinit,
++
++ // from old driver_hermes.c:
++ .get_bssid = wpa_driver_hermes_get_bssid,
++ .get_ssid = wpa_driver_hermes_get_ssid,
++ .set_wpa = wpa_driver_hermes_set_wpa,
++ .set_key = wpa_driver_hermes_set_key,
++ //.events_init = wpa_driver_wext_events_init,
++ //.events_deinit = wpa_driver_wext_events_deinit,
++ .set_countermeasures = wpa_driver_hermes_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_hermes_set_drop_unencrypted,
++ .scan = wpa_driver_hermes_scan,
++ .get_scan_results = wpa_driver_hermes_get_scan_results,
++ .deauthenticate = wpa_driver_hermes_deauthenticate,
++ .disassociate = wpa_driver_hermes_disassociate,
++ .associate = wpa_driver_hermes_associate,
++
++
++#if 0
++ /* Not possible with current Hermes driver:
++ .set_auth_alg = wpa_driver_hermes_set_auth_alg, */
++#endif
++};
+--- /dev/null
++++ wpa_supplicant/driver_hermes.h
+@@ -0,0 +1,173 @@
++#ifndef HERMES_DRIVER_H
++#define HERMES_DRIVER_H
++
++typedef unsigned char hcf_8;
++typedef unsigned short hcf_16;
++typedef unsigned long hcf_32;
++typedef hcf_16 hcf_io;
++typedef hcf_8 *wci_bufp;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ unsigned short * bufp;
++} RID_LOG_STRCT;
++typedef RID_LOG_STRCT *RID_LOGP;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ hcf_16 comp_id;
++ hcf_16 variant;
++ hcf_16 version_major;
++ hcf_16 version_minor;
++} CFG_FW_IDENTITY_STRCT;
++
++typedef struct {
++ hcf_32 TxUnicastFrames;
++ hcf_32 TxMulticastFrames;
++ hcf_32 TxFragments;
++ hcf_32 TxUnicastOctets;
++ hcf_32 TxMulticastOctets;
++ hcf_32 TxDeferredTransmissions;
++ hcf_32 TxSingleRetryFrames;
++ hcf_32 TxMultipleRetryFrames;
++ hcf_32 TxRetryLimitExceeded;
++ hcf_32 TxDiscards;
++ hcf_32 RxUnicastFrames;
++ hcf_32 RxMulticastFrames;
++ hcf_32 RxFragments;
++ hcf_32 RxUnicastOctets;
++ hcf_32 RxMulticastOctets;
++ hcf_32 RxFCSErrors;
++ hcf_32 RxDiscardsNoBuffer;
++ hcf_32 TxDiscardsWrongSA;
++ hcf_32 RxWEPUndecryptable;
++ hcf_32 RxMsgInMsgFragments;
++ hcf_32 RxMsgInBadMsgFragments;
++ hcf_32 RxDiscardsWEPICVError;
++ hcf_32 RxDiscardsWEPExcluded;
++} CFG_HERMES_TALLIES_STRCT;
++
++typedef struct {
++ hcf_32 not_used_NoBufInq;
++ hcf_32 NoBufInfo;
++ hcf_32 NoBufMB;
++ hcf_32 MiscErr;
++ hcf_32 EngCnt;
++} CFG_HCF_TALLIES_STRCT;
++
++typedef struct {
++ hcf_io IFB_IOBase;
++ hcf_16 IFB_IORange;
++
++ hcf_32 IFB_TickIni;
++
++ hcf_16 IFB_Version;
++ hcf_16 IFB_CardStat;
++ hcf_16 IFB_TraceLvl;
++ hcf_16 *IFB_MBp;
++ hcf_16 IFB_MBSize;
++ hcf_16 IFB_MBWp;
++ hcf_16 IFB_MBRp;
++ hcf_16 IFB_MBInfoLen;
++
++ hcf_16 IFB_DLMode;
++ hcf_16 IFB_Magic;
++ hcf_16 IFB_Cmd;
++ hcf_16 IFB_RxFID;
++ RID_LOGP IFB_RIDLogp;
++ hcf_16 IFB_Monitor;
++ hcf_16 IFB_TxFid;
++ hcf_16 IFB_RxLen;
++ hcf_16 IFB_DefunctStat;
++
++ hcf_16 IFB_ErrCmd;
++ hcf_16 IFB_ErrQualifier;
++ hcf_16 IFB_lal;
++ wci_bufp IFB_lap;
++ hcf_16 IFB_LinkStat;
++
++ void (*IFB_MICRxRtn)( hcf_32*, hcf_32 );
++ void (*IFB_MICTxRtn)( hcf_32*, hcf_32 );
++ hcf_16 IFB_rx_tlen;
++ hcf_16 IFB_tx_tlen;
++ hcf_8 IFB_rx_32[4];
++ hcf_8 IFB_tx_32[4];
++ hcf_16 IFB_RscInd;
++ hcf_16 IFB_MB_FID;
++ hcf_16 IFB_DLTarget[2];
++
++ hcf_16 IFB_DLPage;
++ hcf_16 IFB_DLOffset;
++ hcf_16 IFB_DLLen;
++
++ hcf_16 volatile IFB_IntOffCnt;
++ hcf_16 IFB_IntEnMask;
++
++ CFG_FW_IDENTITY_STRCT IFB_FWIdentity;
++ hcf_16 IFB_Tally;
++ hcf_16 IFB_TallyTyp;
++
++ CFG_HERMES_TALLIES_STRCT IFB_NIC_Tallies;
++ CFG_HCF_TALLIES_STRCT IFB_HCF_Tallies;
++
++ void *IFB_MSFSup;
++} IFB_STRCT;
++
++typedef IFB_STRCT* IFBP;
++
++struct uilreq
++{
++ union
++ {
++ char ifrn_name[16];
++ } ifr_ifrn;
++
++ IFBP hcfCtx;
++ __u8 command;
++ __u8 result;
++ __u16 len;
++ void *data;
++};
++
++typedef struct
++{
++ hcf_16 len;
++ hcf_16 typ;
++ union
++ {
++ hcf_8 u8[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_8)];
++ hcf_16 u16[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_16)];
++ hcf_32 u32[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_32)];
++ } u;
++} ltv_t;
++
++
++#define UIL_FUN_CONNECT 0x00
++#define UIL_FUN_DISCONNECT 0x01
++#define UIL_FUN_GET_INFO 0x04
++#define UIL_FUN_PUT_INFO 0x05
++
++#define GENERIC_INFO_ELEM 0xdd
++#define RSN_INFO_ELEM 0x30
++
++#define CFG_DRIVER_ENABLE 0x0902
++#define CFG_CNF_ENCRYPTION 0xFC20
++#define CFG_ADD_TKIP_DEFAULT_KEY 0xFCB4
++#define CFG_SET_WPA_AUTH_KEY_MGMT_SUITE 0xFCB5
++#define CFG_REMOVE_TKIP_DEFAULT_KEY 0xFCB6
++#define CFG_ADD_TKIP_MAPPED_KEY 0xFCB7
++#define CFG_REMOVE_TKIP_MAPPED_KEY 0xFCB8
++#define CFG_FW_IDENTITY 0xFD20
++#define CFG_CNF_EXCL_UNENCRYPTED 0xFC22
++
++#define HCF_SUCCESS 0x00
++#define UIL_SUCCESS 0x00
++
++#define COMP_ID_FW_STA 31
++#define COMP_ID_FW_AP 32
++
++#define WVLAN2_IOCTL_UIL SIOCDEVPRIVATE
++
++#endif
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-zd1211.patch b/packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-zd1211.patch
new file mode 100644
index 0000000000..3c731c1256
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.8/driver-zd1211.patch
@@ -0,0 +1,535 @@
+diff -Nur wpa_supplicant-0.4.7/defconfig wpa_supplicant-0.4.7.new/defconfig
+--- wpa_supplicant-0.4.7/defconfig 2005-09-24 20:30:43.000000000 +0200
++++ wpa_supplicant-0.4.7.new/defconfig 2005-12-26 19:18:14.000000000 +0100
+@@ -68,6 +68,9 @@
+ # Driver interface for Intel ipw2100/2200 driver
+ #CONFIG_DRIVER_IPW=y
+
++# Driver interface for Zydas zd1211 driver
++#CONFIG_DRIVER_ZD1211=y
++
+ # Driver interface for generic Linux wireless extensions
+ CONFIG_DRIVER_WEXT=y
+
+diff -Nur wpa_supplicant-0.4.7/drivers.c wpa_supplicant-0.4.7.new/drivers.c
+--- wpa_supplicant-0.4.7/drivers.c 2005-02-20 01:15:54.000000000 +0100
++++ wpa_supplicant-0.4.7.new/drivers.c 2005-12-26 19:19:16.000000000 +0100
+@@ -55,6 +55,9 @@
+ #ifdef CONFIG_DRIVER_TEST
+ extern struct wpa_driver_ops wpa_driver_test_ops; /* driver_test.c */
+ #endif /* CONFIG_DRIVER_TEST */
++#ifdef CONFIG_DRIVER_ZD1211
++extern struct wpa_driver_ops wpa_driver_zd1211_ops; /* driver_zd1211.c */
++#endif /* CONFIG_DRIVER_ZD1211 */
+
+
+ struct wpa_driver_ops *wpa_supplicant_drivers[] =
+@@ -98,5 +101,8 @@
+ #ifdef CONFIG_DRIVER_TEST
+ &wpa_driver_test_ops,
+ #endif /* CONFIG_DRIVER_TEST */
++#ifdef CONFIG_DRIVER_ZD1211
++ &wpa_driver_zd1211_ops,
++#endif /* CONFIG_DRIVER_ZD1211 */
+ NULL
+ };
+diff -Nur wpa_supplicant-0.4.7/driver_zd1211.c wpa_supplicant-0.4.7.new/driver_zd1211.c
+--- wpa_supplicant-0.4.7/driver_zd1211.c 1970-01-01 01:00:00.000000000 +0100
++++ wpa_supplicant-0.4.7.new/driver_zd1211.c 2005-12-27 16:28:46.000000000 +0100
+@@ -0,0 +1,408 @@
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++
++#include "common.h"
++#include "driver.h"
++#include "driver_wext.h"
++#include "eloop.h"
++#include "wireless_copy.h"
++#include "wpa_supplicant.h"
++
++#include "zd1211_common.h"
++
++
++struct wpa_driver_zd1211_data {
++ void *ctx;
++ void *wext; /* private data for driver_wext */
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++};
++
++
++static int zd1211_ioctl(struct wpa_driver_zd1211_data *zd1211_drv, struct zd1211_wlan_param *param, int len, int show_err) {
++ struct iwreq iwr;
++
++ memset(&iwr, 0, sizeof(iwr));
++ strncpy(iwr.ifr_name, zd1211_drv->ifname, IFNAMSIZ);
++ iwr.u.data.pointer = (caddr_t) param;
++ iwr.u.data.length = len;
++
++ if (ioctl(zd1211_drv->sock, ZD_IOCTL_WPA, &iwr) < 0) {
++ int ret;
++
++ ret = errno;
++ if (show_err)
++ perror("ioctl[ZD_IOCTL_WPA]");
++ return ret;
++ }
++
++ return 0;
++}
++
++
++static int zd1211_set_param(struct wpa_driver_zd1211_data *zd1211_drv, int op, int arg, int show_err) {
++ struct iwreq iwr;
++ int *i, ret = 0;
++
++ memset(&iwr, 0, sizeof(iwr));
++ strncpy(iwr.ifr_name, zd1211_drv->ifname, IFNAMSIZ);
++ i = (int *) iwr.u.name;
++ *i++ = op;
++ *i++ = arg;
++
++ if (ioctl(zd1211_drv->sock, ZD_IOCTL_PARAM, &iwr) < 0) {
++ perror("ioctl[ZD_IOCTL_PARAM]");
++ ret = -1;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_get_scan_results(void *priv, struct wpa_scan_result *results, size_t max_size) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_scan_results(zd1211_drv->wext, results, max_size);
++}
++
++
++static int wpa_driver_zd1211_get_bssid(void *priv, u8 *bssid) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_bssid(zd1211_drv->wext, bssid);
++}
++
++
++static int wpa_driver_zd1211_get_ssid(void *priv, u8 *ssid) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_ssid(zd1211_drv->wext, ssid);
++}
++
++
++static int wpa_driver_zd1211_set_auth_alg(void *priv, int auth_alg) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int algs = 0;
++
++ if (auth_alg & AUTH_ALG_OPEN_SYSTEM)
++ algs = 0;
++ if (auth_alg & AUTH_ALG_SHARED_KEY)
++ algs = 1;
++
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_AUTH_ALGS, algs, 1);
++}
++
++
++static int wpa_driver_zd1211_set_countermeasures(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++
++ /* Enable the countermeasure */
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_COUNTERMEASURES, enabled, 1);
++}
++
++
++static int wpa_driver_zd1211_set_drop_unencrypted(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++
++ /* Enable the countermeasure */
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_DROPUNENCRYPTED, enabled, 1);
++}
++
++
++static int wpa_driver_zd1211_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ struct zd1211_wlan_param *param;
++ u8 *buf;
++ size_t blen;
++ int ret = 0;
++ char *alg_name;
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "NONE";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > 8)
++ return -2;
++
++ blen = sizeof(*param) + key_len;
++ buf = malloc(blen);
++ if (buf == NULL)
++ return -1;
++ memset(buf, 0, blen);
++
++ param = (struct zd1211_wlan_param *) buf;
++ param->cmd = ZD_CMD_SET_ENCRYPT_KEY;
++ /* TODO: In theory, STA in client mode can use five keys; four default
++ * keys for receiving (with keyidx 0..3) and one individual key for
++ * both transmitting and receiving (keyidx 0) _unicast_ packets. Now,
++ * keyidx 0 is reserved for this unicast use and default keys can only
++ * use keyidx 1..3 (i.e., default key with keyidx 0 is not supported).
++ * This should be fine for more or less all cases, but for completeness
++ * sake, the driver could be enhanced to support the missing key. */
++#if 0
++ if (addr == NULL)
++ memset(param->sta_addr, 0xff, ETH_ALEN);
++ else
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++#else
++ memset(param->sta_addr, 0xff, ETH_ALEN);
++#endif
++ strncpy(param->u.crypt.alg, alg_name, ZD_CRYPT_ALG_NAME_LEN);
++ param->u.crypt.flags = set_tx ? ZD_FLAG_SET_TX_KEY : 0;
++ param->u.crypt.idx = key_idx;
++ memcpy(param->u.crypt.seq, seq, seq_len);
++ param->u.crypt.key_len = key_len;
++ memcpy((u8 *) param->u.crypt.key, key, key_len);
++
++ /* Dump key context */
++ if(alg == WPA_ALG_TKIP) {
++ int ii;
++
++ wpa_printf(MSG_DEBUG, "Key Context:");
++ for(ii = 0; ii < key_len; ) {
++ printf("0x%02x ", key[ii]);
++
++ if((++ii % 16) == 0)
++ printf("\n");
++ }
++
++ printf("\n");
++ }
++
++ if (zd1211_ioctl(zd1211_drv, param, blen, 1)) {
++ wpa_printf(MSG_WARNING, "Failed to set encryption.");
++ //show_set_key_error(param);
++ ret = -1;
++ }
++ free(buf);
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_set_wpa_ie(struct wpa_driver_zd1211_data *zd1211_drv, const u8 *wpa_ie, size_t wpa_ie_len) {
++ int res;
++ struct zd1211_wlan_param *param;
++ size_t blen = ZD_GENERIC_ELEMENT_HDR_LEN + wpa_ie_len;
++
++ if (blen < sizeof(*param))
++ blen = sizeof(*param);
++
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_GENERIC_ELEMENT;
++ param->u.generic_elem.len = wpa_ie_len;
++ memcpy(param->u.generic_elem.data, wpa_ie, wpa_ie_len);
++ res = zd1211_ioctl(zd1211_drv, param, blen, 1);
++
++ free(param);
++
++ return res;
++}
++
++
++static int wpa_driver_zd1211_set_wpa(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int ret = 0;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ if (!enabled && wpa_driver_zd1211_set_wpa_ie(zd1211_drv, NULL, 0) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_ROAMING, enabled, 1) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_PRIVACY, enabled, 1) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_WPA, enabled, 1) < 0)
++ ret = -1;
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_associate(void *priv, struct wpa_driver_associate_params *params) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int ret = 0;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ /* Because there might be the case, two or more APs with the same
++ * SSID, in order to identify them, we need to set the BSSID. */
++ if (wpa_driver_zd1211_set_wpa_ie(zd1211_drv, params->wpa_ie, params->wpa_ie_len) < 0)
++ ret = -1;
++ if (wpa_driver_wext_set_ssid(zd1211_drv->wext, params->ssid, params->ssid_len) < 0)
++ ret = -1;
++
++ // Mark for test
++ //if (wpa_driver_wext_set_bssid(ifname, bssid) < 0)
++ // ret = -1;
++
++#if 0
++ /* Allow unencrypted EAPOL messages even if pairwise keys are set when
++ * not using WPA. IEEE 802.1X specifies that these frames are not
++ * encrypted, but WPA encrypts them when pairwise keys are in use. */
++ if (key_mgmt_suite == KEY_MGMT_802_1X ||
++ key_mgmt_suite == KEY_MGMT_PSK)
++ allow_unencrypted_eapol = 0;
++ else
++ allow_unencrypted_eapol = 1;
++
++ if (prism2param(ifname, PRISM2_PARAM_IEEE_802_1X,
++ allow_unencrypted_eapol) < 0) {
++ wpa_printf(MSG_DEBUG, "hostap: Failed to configure "
++ "ieee_802_1x param");
++ /* Ignore this error.. driver_hostap.c can also be used with
++ * other drivers that do not support this prism2_param. */
++ }
++#endif
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_deauthenticate(void *priv, const u8 *addr, int reason_code) {
++ struct zd1211_wlan_param *param;
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int blen;
++ int ret;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ blen = sizeof(*param);
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_MLME;
++ param->u.mlme.cmd = MLME_STA_DEAUTH;
++ param->u.mlme.reason_code = reason_code;
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++ ret = zd1211_ioctl(zd1211_drv, param, blen, 1);
++ usleep(100000);
++ free(param);
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_disassociate(void *priv, const u8 *addr, int reason_code) {
++ struct zd1211_wlan_param *param;
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int blen;
++ int ret;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ blen = sizeof(*param);
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_MLME;
++ param->u.mlme.cmd = MLME_STA_DISASSOC;
++ param->u.mlme.reason_code = reason_code;
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++ ret = zd1211_ioctl(zd1211_drv, param, blen, 1);
++ free(param);
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_scan(void *priv, const u8 *ssid, size_t ssid_len) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_scan(zd1211_drv->wext, ssid, ssid_len);
++}
++
++
++static void * wpa_driver_zd1211_init(void *ctx, const char *ifname) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = malloc(sizeof(*zd1211_drv));
++ if (zd1211_drv == NULL)
++ return NULL;
++ memset(zd1211_drv, 0, sizeof(*zd1211_drv));
++
++ zd1211_drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (zd1211_drv->wext == NULL)
++ goto exit_no_wext;
++
++ zd1211_drv->ctx = ctx;
++ strncpy(zd1211_drv->ifname, ifname, sizeof(zd1211_drv->ifname));
++
++ zd1211_drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (zd1211_drv->sock < 0)
++ goto exit_no_socket;
++
++ return zd1211_drv;
++
++exit_no_socket:
++ wpa_driver_wext_deinit(zd1211_drv->wext);
++exit_no_wext:
++ free(zd1211_drv);
++ return NULL;
++}
++
++
++static void wpa_driver_zd1211_deinit(void *ctx) {
++ struct wpa_driver_zd1211_data *zd1211_drv = ctx;
++
++ wpa_driver_wext_deinit(zd1211_drv->wext);
++ close(zd1211_drv->sock);
++ free(zd1211_drv);
++}
++
++
++struct wpa_driver_ops wpa_driver_zd1211_ops = {
++ .name = "zd1211",
++ .desc = "Zydas zd1211 drivers",
++ .init = wpa_driver_zd1211_init,
++ .deinit = wpa_driver_zd1211_deinit,
++ .associate = wpa_driver_zd1211_associate,
++ .deauthenticate = wpa_driver_zd1211_deauthenticate,
++ .disassociate = wpa_driver_zd1211_disassociate,
++ .get_bssid = wpa_driver_zd1211_get_bssid,
++ .get_scan_results = wpa_driver_zd1211_get_scan_results,
++ .get_ssid = wpa_driver_zd1211_get_ssid,
++// .get_capa = wpa_driver_zd1211_get_capa,
++ .scan = wpa_driver_zd1211_scan,
++ .set_auth_alg = wpa_driver_zd1211_set_auth_alg,
++ .set_countermeasures = wpa_driver_zd1211_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_zd1211_set_drop_unencrypted,
++ .set_key = wpa_driver_zd1211_set_key,
++ .set_wpa = wpa_driver_zd1211_set_wpa,
++};
+diff -Nur wpa_supplicant-0.4.7/Makefile wpa_supplicant-0.4.7.new/Makefile
+--- wpa_supplicant-0.4.7/Makefile 2005-11-21 02:42:12.000000000 +0100
++++ wpa_supplicant-0.4.7.new/Makefile 2005-12-26 19:17:14.000000000 +0100
+@@ -107,6 +107,12 @@
+ CONFIG_WIRELESS_EXTENSION=y
+ endif
+
++ifdef CONFIG_DRIVER_ZD1211
++CFLAGS += -DCONFIG_DRIVER_ZD1211
++OBJS_d += driver_zd1211.o
++CONFIG_WIRELESS_EXTENSION=y
++endif
++
+ ifdef CONFIG_DRIVER_BSD
+ CFLAGS += -DCONFIG_DRIVER_BSD
+ OBJS_d += driver_bsd.o
+diff -Nur wpa_supplicant-0.4.7/zd1211_common.h wpa_supplicant-0.4.7.new/zd1211_common.h
+--- wpa_supplicant-0.4.7/zd1211_common.h 1970-01-01 01:00:00.000000000 +0100
++++ wpa_supplicant-0.4.7.new/zd1211_common.h 2005-12-27 16:00:36.000000000 +0100
+@@ -0,0 +1,68 @@
++#ifndef ZD1211_COMMON_H
++#define ZD1211_COMMON_H
++
++
++#define ZD_IOCTL_WPA (SIOCDEVPRIVATE + 1)
++#define ZD_IOCTL_PARAM (SIOCDEVPRIVATE + 2)
++
++#define ZD_PARAM_ROAMING 0x0001
++#define ZD_PARAM_PRIVACY 0x0002
++#define ZD_PARAM_WPA 0x0003
++#define ZD_PARAM_COUNTERMEASURES 0x0004
++#define ZD_PARAM_DROPUNENCRYPTED 0x0005
++#define ZD_PARAM_AUTH_ALGS 0x0006
++
++#define ZD_CMD_SET_ENCRYPT_KEY 0x0001
++#define ZD_CMD_SET_MLME 0x0002
++//#define ZD_CMD_SCAN_REQ 0x0003
++#define ZD_CMD_SET_GENERIC_ELEMENT 0x0004
++
++#define ZD_FLAG_SET_TX_KEY 0x0001
++
++#define ZD_GENERIC_ELEMENT_HDR_LEN \
++((int) (&((struct zd1211_wlan_param *) 0)->u.generic_elem.data))
++
++#define ZD_CRYPT_ALG_NAME_LEN 16
++#define ZD_MAX_KEY_SIZE 32
++#define ZD_MAX_GENERIC_SIZE 64
++
++/* structure definition */
++
++struct zd1211_wlan_param {
++ u32 cmd;
++ u8 sta_addr[ETH_ALEN];
++ union {
++ struct {
++ u8 alg[ZD_CRYPT_ALG_NAME_LEN];
++ u32 flags;
++ u32 err;
++ u8 idx;
++ u8 seq[8]; /* sequence counter (set: RX, get: TX) */
++ u16 key_len;
++ u8 key[ZD_MAX_KEY_SIZE];
++ } crypt;
++/*
++ struct {
++ u32 flags_and;
++ u32 flags_or;
++ } set_flags_sta;
++*/
++ struct {
++ u8 len;
++ u8 data[ZD_MAX_GENERIC_SIZE];
++ } generic_elem;
++ struct {
++#define MLME_STA_DEAUTH 0
++#define MLME_STA_DISASSOC 1
++ u16 cmd;
++ u16 reason_code;
++ } mlme;
++ struct {
++ u8 ssid_len;
++ u8 ssid[32];
++ } scan_req;
++ } u;
++};
++
++
++#endif
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.8/madwifi-bsd-fix.diff b/packages/wpa-supplicant/wpa-supplicant-0.4.8/madwifi-bsd-fix.diff
new file mode 100644
index 0000000000..974eb39627
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.8/madwifi-bsd-fix.diff
@@ -0,0 +1,12 @@
+--- driver_madwifi.c.orig 2005-03-18 15:12:53.392793216 +0100
++++ driver_madwifi.c 2005-03-18 15:13:09.246383104 +0100
+@@ -25,7 +25,8 @@
+ #include "eloop.h"
+ #include "wpa_supplicant.h"
+
+-#include <include/compat.h>
++#include <net80211/compat.h>
++#include <net80211/_ieee80211.h>
+ #include <net80211/ieee80211.h>
+ #include <net80211/ieee80211_crypto.h>
+ #include <net80211/ieee80211_ioctl.h>
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.8/wpa_supplicant.conf b/packages/wpa-supplicant/wpa-supplicant-0.4.8/wpa_supplicant.conf
new file mode 100644
index 0000000000..da407b5ef3
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.8/wpa_supplicant.conf
@@ -0,0 +1,502 @@
+##### Example wpa_supplicant configuration file ###############################
+# Empty lines and lines starting with # are ignored
+
+# NOTE! This file may contain password information and should probably be made
+# readable only by root user on multiuser systems.
+
+# global configuration (shared by all network blocks)
+#
+# Interface for separate control program. If this is specified, wpa_supplicant
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple wpa_supplicant processes can be run at the same time if more than
+# one interface is used.
+# /var/run/wpa_supplicant is the recommended directory for sockets and by
+# default, wpa_cli will use it when trying to connect with wpa_supplicant.
+ctrl_interface=/var/run/wpa_supplicant
+
+# Access control for the control interface can be configured by setting the
+# directory to allow only members of a group to use sockets. This way, it is
+# possible to run wpa_supplicant as root (since it needs to change network
+# configuration and open raw sockets) and still allow GUI/CLI components to be
+# run as non-root users. However, since the control interface can be used to
+# change the network configuration, this access needs to be protected in many
+# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
+# want to allow non-root users to use the control interface, add a new group
+# and change this value to match with that group. Add users that should have
+# control interface access to this group. If this variable is commented out or
+# not included in the configuration file, group will not be changed from the
+# value it got by default when the directory or socket was created.
+#
+# This variable can be a group name or gid.
+#ctrl_interface_group=wheel
+ctrl_interface_group=0
+
+# IEEE 802.1X/EAPOL version
+# wpa_supplicant was implemented based on IEEE 802-1X-REV-d8 which defines
+# EAPOL version 2. However, there are many APs that do not handle the new
+# version number correctly (they seem to drop the frames completely). In order
+# to make wpa_supplicant interoperate with these APs, the version number is set
+# to 1 by default. This configuration value can be used to set it to the new
+# version (2).
+eapol_version=1
+
+# AP scanning/selection
+# By default, wpa_supplicant requests driver to perform AP scanning and then
+# uses the scan results to select a suitable AP. Another alternative is to
+# allow the driver to take care of AP scanning and selection and use
+# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
+# information from the driver.
+# 1: wpa_supplicant initiates scanning and AP selection
+# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
+# parameters (e.g., WPA IE generation); this mode can also be used with
+# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
+# APs (i.e., external program needs to control association)
+# 2: like 0, but associate with APs using security policy and SSID (but not
+# BSSID); this can be used, e.g., with ndiswrapper and NDIS driver to
+# enable operation with hidden SSIDs and optimized roaming; in this mode,
+# only the first network block in the configuration file is used and this
+# configuration should have explicit security policy (i.e., only one option
+# in the lists) for key_mgmt, pairwise, group, proto variables
+ap_scan=1
+
+# EAP fast re-authentication
+# By default, fast re-authentication is enabled for all EAP methods that
+# support it. This variable can be used to disable fast re-authentication.
+# Normally, there is no need to disable this.
+fast_reauth=1
+
+# network block
+#
+# Each network (usually AP's sharing the same SSID) is configured as a separate
+# block in this configuration file. The network blocks are in preference order
+# (the first match is used).
+#
+# network block fields:
+#
+# ssid: SSID (mandatory); either as an ASCII string with double quotation or
+# as hex string; network name
+#
+# scan_ssid:
+# 0 = do not scan this SSID with specific Probe Request frames (default)
+# 1 = scan with SSID-specific Probe Request frames (this can be used to
+# find APs that do not accept broadcast SSID or use multiple SSIDs;
+# this will add latency to scanning, so enable this only when needed)
+#
+# bssid: BSSID (optional); if set, this network block is used only when
+# associating with the AP using the configured BSSID
+#
+# priority: priority group (integer)
+# By default, all networks will get same priority group (0). If some of the
+# networks are more desirable, this field can be used to change the order in
+# which wpa_supplicant goes through the networks when selecting a BSS. The
+# priority groups will be iterated in decreasing priority (i.e., the larger the
+# priority value, the sooner the network is matched against the scan results).
+# Within each priority group, networks will be selected based on security
+# policy, signal strength, etc.
+# Please note that AP scanning with scan_ssid=1 is not using this priority to
+# select the order for scanning. Instead, it uses the order the networks are in
+# the configuration file.
+#
+# mode: IEEE 802.11 operation mode
+# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
+# 1 = IBSS (ad-hoc, peer-to-peer)
+# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
+# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
+# to be set to 2 for IBSS. WPA-None requires following network block options:
+# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
+# both), and psk must also be set.
+#
+# proto: list of accepted protocols
+# WPA = WPA/IEEE 802.11i/D3.0
+# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
+# If not set, this defaults to: WPA RSN
+#
+# key_mgmt: list of accepted authenticated key management protocols
+# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
+# WPA-EAP = WPA using EAP authentication (this can use an external
+# program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
+# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
+# generated WEP keys
+# NONE = WPA is not used; plaintext or static WEP could be used
+# If not set, this defaults to: WPA-PSK WPA-EAP
+#
+# auth_alg: list of allowed IEEE 802.11 authentication algorithms
+# OPEN = Open System authentication (required for WPA/WPA2)
+# SHARED = Shared Key authentication (requires static WEP keys)
+# LEAP = LEAP/Network EAP (only used with LEAP)
+# If not set, automatic selection is used (Open System with LEAP enabled if
+# LEAP is allowed as one of the EAP methods).
+#
+# pairwise: list of accepted pairwise (unicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# NONE = Use only Group Keys (deprecated, should not be included if APs support
+# pairwise keys)
+# If not set, this defaults to: CCMP TKIP
+#
+# group: list of accepted group (broadcast/multicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
+# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
+# If not set, this defaults to: CCMP TKIP WEP104 WEP40
+#
+# psk: WPA preshared key; 256-bit pre-shared key
+# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
+# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
+# generated using the passphrase and SSID). ASCII passphrase must be between
+# 8 and 63 characters (inclusive).
+# This field is not needed, if WPA-EAP is used.
+# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
+# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
+# startup and reconfiguration time can be optimized by generating the PSK only
+# only when the passphrase or SSID has actually changed.
+#
+# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
+# Dynamic WEP key require for non-WPA mode
+# bit0 (1): require dynamically generated unicast WEP key
+# bit1 (2): require dynamically generated broadcast WEP key
+# (3 = require both keys; default)
+#
+# Following fields are only used with internal EAP implementation.
+# eap: space-separated list of accepted EAP methods
+# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
+# cannot be used with WPA; to be used as a Phase 2 method
+# with EAP-PEAP or EAP-TTLS)
+# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# OTP = EAP-OTP (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# GTC = EAP-GTC (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# TLS = EAP-TLS (client and server certificate)
+# PEAP = EAP-PEAP (with tunnelled EAP authentication)
+# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
+# authentication)
+# If not set, all compiled in methods are allowed.
+#
+# identity: Identity string for EAP
+# anonymous_identity: Anonymous identity string for EAP (to be used as the
+# unencrypted identity with EAP types that support different tunnelled
+# identity, e.g., EAP-TTLS)
+# password: Password string for EAP
+# ca_cert: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert is not included, server certificate
+# will not be verified. This is insecure and the CA file should always be
+# configured.
+# client_cert: File path to client certificate file (PEM/DER)
+# private_key: File path to client private key file (PEM/DER/PFX)
+# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
+# commented out. Both the private key and certificate will be read from
+# the PKCS#12 file in this case.
+# private_key_passwd: Password for private key file
+# dh_file: File path to DH/DSA parameters file (in PEM format)
+# This is an optional configuration file for setting parameters for an
+# ephemeral DH key exchange. In most cases, the default RSA
+# authentication does not use this configuration. However, it is possible
+# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
+# DSA keys always use ephemeral DH keys. This can be used to achieve
+# forward secrecy. If the file is in DSA parameters format, it will be
+# automatically converted into DH params.
+# subject_match: Substring to be matched against the subject of the
+# authentication server certificate. If this string is set, the server
+# sertificate is only accepted if it contains this string in the subject.
+# The subject string is in following format:
+# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
+# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
+# (string with field-value pairs, e.g., "peapver=0" or
+# "peapver=1 peaplabel=1")
+# 'peapver' can be used to force which PEAP version (0 or 1) is used.
+# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
+# to be used during key derivation when PEAPv1 or newer. Most existing
+# PEAPv1 implementation seem to be using the old label, "client EAP
+# encryption", and wpa_supplicant is now using that as the default value.
+# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
+# interoperate with PEAPv1; see eap_testing.txt for more details.
+# 'peap_outer_success=0' can be used to terminate PEAP authentication on
+# tunneled EAP-Success. This is required with some RADIUS servers that
+# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
+# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
+# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
+# challenges (by default, it accepts 2 or 3)
+# phase2: Phase2 (inner authentication with TLS tunnel) parameters
+# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
+# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
+# Following certificate/private key fields are used in inner Phase2
+# authentication when using EAP-TTLS or EAP-PEAP.
+# ca_cert2: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert2 is not included, server
+# certificate will not be verified. This is insecure and the CA file
+# should always be configured.
+# client_cert2: File path to client certificate file
+# private_key2: File path to client private key file
+# private_key2_passwd: Password for private key file
+# dh_file2: File path to DH/DSA parameters file (in PEM format)
+# subject_match2: Substring to be matched against the subject of the
+# authentication server certificate.
+#
+# EAP-PSK variables:
+# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format
+# nai: user NAI
+# server_nai: authentication server NAI
+#
+# EAP-FAST variables:
+# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
+# to create this file and write updates to it when PAC is being
+# provisioned or refreshed.
+# phase1: fast_provisioning=1 option enables in-line provisioning of EAP-FAST
+# credentials (PAC)
+#
+# wpa_supplicant supports number of "EAP workarounds" to work around
+# interoperability issues with incorrectly behaving authentication servers.
+# These are enabled by default because some of the issues are present in large
+# number of authentication servers. Strict EAP conformance mode can be
+# configured by disabling workarounds with eap_workaround=0.
+
+# Example blocks:
+
+# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
+network={
+ ssid="simple"
+ psk="very secret passphrase"
+ priority=5
+}
+
+# Same as previous, but request SSID-specific scanning (for APs that reject
+# broadcast SSID)
+network={
+ ssid="second ssid"
+ scan_ssid=1
+ psk="very secret passphrase"
+ priority=2
+}
+
+# Only WPA-PSK is used. Any valid cipher combination is accepted.
+network={
+ ssid="example"
+ proto=WPA
+ key_mgmt=WPA-PSK
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+ priority=2
+}
+
+# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
+# or WEP40 as the group cipher will not be accepted.
+network={
+ ssid="example"
+ proto=RSN
+ key_mgmt=WPA-EAP
+ pairwise=CCMP TKIP
+ group=CCMP TKIP
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ priority=1
+}
+
+# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
+# (e.g., Radiator)
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=PEAP
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase1="peaplabel=1"
+ phase2="auth=MSCHAPV2"
+ priority=10
+}
+
+# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
+# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ priority=2
+}
+
+# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
+# use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase2="auth=MSCHAPV2"
+}
+
+# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
+# authentication.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ # Phase1 / outer authentication
+ anonymous_identity="anonymous@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ # Phase 2 / inner authentication
+ phase2="autheap=TLS"
+ ca_cert2="/etc/cert/ca2.pem"
+ client_cert2="/etc/cer/user.pem"
+ private_key2="/etc/cer/user.prv"
+ private_key2_passwd="password"
+ priority=2
+}
+
+# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
+# group cipher.
+network={
+ ssid="example"
+ bssid=00:11:22:33:44:55
+ proto=WPA RSN
+ key_mgmt=WPA-PSK WPA-EAP
+ pairwise=CCMP
+ group=CCMP
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+}
+
+# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
+# and all valid ciphers.
+network={
+ ssid=00010203
+ psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+}
+
+
+# EAP-SIM with a GSM SIM or USIM
+network={
+ ssid="eap-sim-test"
+ key_mgmt=WPA-EAP
+ eap=SIM
+ pin="1234"
+ pcsc=""
+}
+
+
+# EAP-PSK
+network={
+ ssid="eap-psk-test"
+ key_mgmt=WPA-EAP
+ eap=PSK
+ identity="eap_psk_user"
+ eappsk=06b4be19da289f475aa46a33cb793029
+ nai="eap_psk_user@example.com"
+ server_nai="as@example.com"
+}
+
+
+# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
+# EAP-TLS for authentication and key generation; require both unicast and
+# broadcast WEP keys.
+network={
+ ssid="1x-test"
+ key_mgmt=IEEE8021X
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ eapol_flags=3
+}
+
+
+# LEAP with dynamic WEP keys
+network={
+ ssid="leap-example"
+ key_mgmt=IEEE8021X
+ eap=LEAP
+ identity="user"
+ password="foobar"
+}
+
+# EAP-FAST with WPA (WPA or WPA2)
+network={
+ ssid="eap-fast-test"
+ key_mgmt=WPA-EAP
+ eap=FAST
+ anonymous_identity="FAST-000102030405"
+ identity="username"
+ password="password"
+ phase1="fast_provisioning=1"
+ pac_file="/etc/wpa_supplicant.eap-fast-pac"
+}
+
+# Plaintext connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="plaintext-test"
+ key_mgmt=NONE
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="static-wep-test"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
+# IEEE 802.11 authentication
+network={
+ ssid="static-wep-test2"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+ auth_alg=SHARED
+}
+
+
+# IBSS/ad-hoc network with WPA-None/TKIP.
+network={
+ ssid="test adhoc"
+ mode=1
+ proto=WPA
+ key_mgmt=WPA-NONE
+ pairwise=NONE
+ group=TKIP
+ psk="secret passphrase"
+}
+
+
+# Catch all example that allows more or less all configuration modes
+network={
+ ssid="example"
+ scan_ssid=1
+ key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk="very secret passphrase"
+ eap=TTLS PEAP TLS
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ phase1="peaplabel=0"
+}
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.9/.mtn2git_empty b/packages/wpa-supplicant/wpa-supplicant-0.4.9/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.9/.mtn2git_empty
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.9/defconfig b/packages/wpa-supplicant/wpa-supplicant-0.4.9/defconfig
new file mode 100644
index 0000000000..930ef04835
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.9/defconfig
@@ -0,0 +1,160 @@
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD
+
+# for wpa_supplicant, wpa_cli
+LIBS = $(TARGET_LDFLAGS)
+
+# for wpa_passphrase:
+LIBS_p = $(TARGET_LDFLAGS)
+
+
+# Uncomment following two lines and fix the paths if you have installed openssl
+# in non-default location
+#CFLAGS += -I/usr/local/openssl/include
+#LIBS += -L/usr/local/openssl/lib
+
+# Example configuration for various cross-compilation platforms
+
+#### sveasoft (e.g., for Linksys WRT54G) ######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
+#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
+###############################################################################
+
+#### openwrt (e.g., for Linksys WRT54G) #######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
+# -I../WRT54GS/release/src/include
+#LIBS = -lssl
+###############################################################################
+
+
+# Driver interface for Host AP driver
+CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for Agere driver
+CONFIG_DRIVER_HERMES=y
+
+# Driver interface for madwifi driver
+#CONFIG_DRIVER_MADWIFI=y
+# Change include directories to match with the local setup
+#CFLAGS += -I../madwifi/wpa
+
+# Driver interface for Prism54 driver
+#CONFIG_DRIVER_PRISM54=y
+
+# Driver interface for ndiswrapper
+#CONFIG_DRIVER_NDISWRAPPER=y
+
+# Driver interface for Atmel driver
+#CONFIG_DRIVER_ATMEL=y
+
+# Driver interface for Broadcom driver
+#CONFIG_DRIVER_BROADCOM=y
+# Example path for wlioctl.h; change to match your configuration
+#CFLAGS += -I/opt/WRT54GS/release/src/include
+
+# Driver interface for Intel ipw2100 driver
+#CONFIG_DRIVER_IPW2100=y
+
+# Driver interface for the Zydas zd1211 driver
+CONFIG_DRIVER_ZD1211=y
+
+# Driver interface for generic Linux wireless extensions
+CONFIG_DRIVER_WEXT=y
+
+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
+#CONFIG_DRIVER_BSD=y
+#CFLAGS += -I/usr/local/include
+#LIBS += -L/usr/local/lib
+
+# Driver interface for Windows NDIS
+#CONFIG_DRIVER_NDIS=y
+#CFLAGS += -I/usr/include/w32api/ddk
+#LIBS += -L/usr/local/lib
+# For native build using mingw
+#CONFIG_NATIVE_WINDOWS=y
+# Additional directories for cross-compilation on Linux host for mingw target
+#CFLAGS += -I/opt/mingw/mingw32/include/ddk
+#LIBS += -L/opt/mingw/mingw32/lib
+#CC=mingw32-gcc
+
+# Driver interface for development testing
+#CONFIG_DRIVER_TEST=y
+
+# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
+# included)
+CONFIG_IEEE8021X_EAPOL=y
+
+# EAP-MD5 (automatically included if EAP-TTLS is enabled)
+CONFIG_EAP_MD5=y
+
+# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-TLS
+CONFIG_EAP_TLS=y
+
+# EAL-PEAP
+CONFIG_EAP_PEAP=y
+
+# EAP-TTLS
+CONFIG_EAP_TTLS=y
+
+# EAP-GTC
+CONFIG_EAP_GTC=y
+
+# EAP-OTP
+CONFIG_EAP_OTP=y
+
+# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
+#CONFIG_EAP_SIM=y
+
+# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
+#CONFIG_EAP_PSK=y
+
+# LEAP
+CONFIG_EAP_LEAP=y
+
+# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
+#CONFIG_EAP_AKA=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# PC/SC interface for smartcards (USIM, GSM SIM)
+# Enable this if EAP-SIM or EAP-AKA is included
+#CONFIG_PCSC=y
+
+# Development testing
+#CONFIG_EAPOL_TEST=y
+
+# Replace native Linux implementation of packet sockets with libdnet/libpcap.
+# This will be automatically set for non-Linux OS.
+#CONFIG_DNET_PCAP=y
+
+# Include control interface for external programs, e.g, wpa_cli
+CONFIG_CTRL_IFACE=y
+
+# Include interface for using external supplicant (Xsupplicant) for EAP
+# authentication
+#CONFIG_XSUPPLICANT_IFACE=y
+
+# Include support for GNU Readline and History Libraries in wpa_cli.
+# When building a wpa_cli binary for distribution, please note that these
+# libraries are licensed under GPL and as such, BSD license may not apply for
+# the resulting binary.
+#CONFIG_READLINE=y
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-hermes.patch b/packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-hermes.patch
new file mode 100644
index 0000000000..0bf82489ec
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-hermes.patch
@@ -0,0 +1,889 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- /dev/null
++++ wpa_supplicant/driver_hermes.c
+@@ -0,0 +1,705 @@
++/*
++ * WPA Supplicant - testing driver interface
++ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Alternatively, this software may be distributed under the terms of BSD
++ * license.
++ *
++ * See README and COPYING for more details.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <net/if_arp.h>
++
++#include "wireless_copy.h"
++#include "common.h"
++#include "driver.h"
++
++#include "eloop.h"
++#include "wpa_supplicant.h"
++#include "priv_netlink.h"
++
++#include "driver_wext.h"
++#include "driver_hermes.h"
++
++#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
++#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
++
++/* Enumeration for supported Hermes Types */
++enum
++{
++ WL_HERMES_UNKNOWN = 0,
++ WL_HERMES_1 = 1,
++ WL_HERMES_2 = 2,
++ WL_HERMES_25 = 3
++};
++
++
++
++
++struct wpa_driver_hermes_data {
++ void *wext; /* private data for driver_wext */
++ void *ctx;
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++ int type;
++};
++
++
++
++/****************************************************************************/
++/* */
++/* Routines for basic device access to Agere Hermes-I/Hermes-II via the UIL */
++/* */
++/****************************************************************************/
++
++IFBP _connect(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s %d", __FUNCTION__, drv->ifname, drv->sock);
++
++ memset(&urq, 0, sizeof(urq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_CONNECT;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++ if (result == 0 && urq.result == UIL_SUCCESS) {
++ ifbp = urq.hcfCtx;
++ } else {
++ wpa_printf(MSG_DEBUG, "%s: could not set IFBP, result %d", __FUNCTION__, result);
++ }
++
++ return ifbp;
++}
++
++
++void _disconnect(void *priv, IFBP ifbp)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ if (ifbp != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_DISCONNECT;
++ urq.hcfCtx = ifbp;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf( MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno );
++ wpa_printf( MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result );
++ }
++ } else {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): called with NULL ifbp");
++ }
++
++ return;
++}
++
++int _get_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_GET_INFO;
++ urq.len = sizeof(ltv_t);
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result);
++ }
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf( MSG_WARNING, "Could not connect to the device, or LTV NULL");
++ result = -1;
++ }
++
++ return result;
++}
++
++int _put_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_PUT_INFO;
++ urq.len = sizeof( ltv_t );
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "_put_info(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "_put_info(): urq.result: %d", urq.result);
++ }
++
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf(MSG_WARNING, "%s: could not connect to the device, or LTV NULL", __FUNCTION__ );
++ result = -1;
++ }
++
++ return result;
++}
++
++
++static void _detect_hermes_type(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ CFG_FW_IDENTITY_STRCT *fw_id;
++ ltv_t ltv;
++ int result;
++
++ //wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ drv->type = WL_HERMES_UNKNOWN;
++
++ if (drv->sock >= 0) {
++ fw_id = (CFG_FW_IDENTITY_STRCT *)&ltv;
++ fw_id->len = ( sizeof(CFG_FW_IDENTITY_STRCT) / sizeof( hcf_16 )) - 1;
++ fw_id->typ = CFG_FW_IDENTITY;
++
++ result = _get_info(priv, (ltv_t *)fw_id);
++ if (result == HCF_SUCCESS) {
++ //wpa_printf(MSG_DEBUG, "PRI CompID : %d", fw_id->comp_id);
++ //wpa_printf(MSG_DEBUG, "PRI Variant : %d", fw_id->variant);
++ //wpa_printf(MSG_DEBUG, "PRI Version : %d.%02d", fw_id->version_major, fw_id->version_minor);
++
++ switch(fw_id->comp_id) {
++ case COMP_ID_FW_STA:
++ switch (fw_id->variant) {
++ case 1:
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 STA");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 3:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 STA");
++ drv->type = WL_HERMES_2;
++ break;
++ case 4:
++ wpa_printf(MSG_DEBUG, "found Hermes 2.5 STA");
++ drv->type = WL_HERMES_25;
++ break;
++ }
++ break;
++
++ case COMP_ID_FW_AP:
++ switch (fw_id->variant) {
++ case 1:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 AP");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 AP" );
++ drv->type = WL_HERMES_2;
++ break;
++ }
++ break;
++
++ default:
++ wpa_printf(MSG_WARNING, "could not detect Hermes type!");
++ break;
++ }
++ }
++ }
++}
++
++
++
++/****************************************************************************/
++
++
++static int wpa_driver_hermes_set_wpa_ie(void *priv, const char *wpa_ie,
++ size_t wpa_ie_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ ltv.len = 2;
++ ltv.typ = CFG_SET_WPA_AUTH_KEY_MGMT_SUITE;
++
++ switch(drv->type) {
++ case WL_HERMES_1:
++ ltv.u.u16[0] = 2;
++ break;
++
++ case WL_HERMES_2:
++ case WL_HERMES_25:
++ ltv.u.u16[0] = 4;
++ break;
++
++ default:
++ ltv.u.u16[0] = 0;
++ break;
++ }
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_wpa(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __func__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_ENCRYPTION;
++ ltv.u.u16[0] = enabled ? 2 : 0; /* Setting CFG_CNF_ENCRYPTION to 2 sets WPA: TKIP or better */
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int ret = 0;
++ char *alg_name;
++ ltv_t ltv;
++ int count = 0;
++ int buf_idx = 0;
++ hcf_8 tsc[] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 };
++ hcf_8 rsc[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
++
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "none";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > IW_ENCODE_SEQ_MAX_SIZE) {
++ wpa_printf(MSG_DEBUG, "%s: Invalid seq_len %lu", __FUNCTION__, (unsigned long) seq_len);
++ return -2;
++ }
++
++ /* Check the key index here; if 0, load as Pairwise Key, otherwise, load as
++ a group key. Note that for the Hermes, the RIDs for group/pairwise keys
++ are different from each other and different than the default WEP keys as
++ well. */
++ switch (alg) {
++ case WPA_ALG_TKIP:
++ /* Make sure that there is no data queued up in the firmware before
++ setting the TKIP keys. If this check is not performed, some data
++ may be sent out with incorrect MIC and cause synchronizarion
++ errors with the AP */
++ /* Check every 1ms for 100ms */
++ for (count = 0; count < 100; count++) {
++ usleep(1000);
++
++ ltv.len = 2;
++ ltv.typ = 0xFD91; // This RID not defined in HCF yet!!!
++ ltv.u.u16[0] = 0;
++
++ _get_info( priv, &ltv);
++
++ if (ltv.u.u16[0] == 0)
++ break;
++ }
++
++ if (count == 100)
++ wpa_printf(MSG_DEBUG, "%s: Timed out waiting for TxQ!", __FUNCTION__);
++
++
++ switch (key_idx) {
++ case 0:
++ /* Only load key as pairwise key for Hermes-II and II.5. For Hermes-I,
++ fall through to the next case and load the pairwise key as
++ a Group Key at index 0. */
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ ltv.len = 28;
++ ltv.typ = CFG_ADD_TKIP_MAPPED_KEY;
++
++ /* Load the BSSID */
++ memcpy(&ltv.u.u8[buf_idx], addr, ETH_ALEN);
++ buf_idx += ETH_ALEN;
++
++ /* Load the TKIP key */
++ memcpy(&ltv.u.u8[buf_idx], &key[0], 16);
++ buf_idx += 16;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++ buf_idx += 8;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[16], 8);
++ buf_idx += 8;
++
++ /* Load the RxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[24], 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ ltv.len = 26;
++ ltv.typ = CFG_ADD_TKIP_DEFAULT_KEY;
++
++ /* Load the key Index */
++ ltv.u.u16[buf_idx] = key_idx;
++
++ /* If this is a Tx Key, set bit 8000 */
++ if (set_tx)
++ ltv.u.u16[buf_idx] |= 0x8000;
++
++ buf_idx += 2;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TKIP, TxMIC, and RxMIC keys in one shot, because in
++ CFG_ADD_TKIP_DEFAULT_KEY they are back-to-back */
++ memcpy(&ltv.u.u8[buf_idx], key, key_len);
++ buf_idx += key_len;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++
++ break;
++
++ case WPA_ALG_WEP:
++ case WPA_ALG_CCMP:
++ break;
++
++ case WPA_ALG_NONE:
++ switch (key_idx) {
++ case 0:
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ /* Only clear a pairwise key for Hermes-II. For Hermes-I,
++ fall through to the next case and clear the key as a
++ Group Key at index 0. */
++ if (addr) {
++ ltv.len = 7;
++ ltv.typ = CFG_REMOVE_TKIP_MAPPED_KEY;
++
++ memcpy(&ltv.u.u8[0], addr, ETH_ALEN);
++
++ _put_info(priv, &ltv);
++ }
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ /* Clear the Group TKIP keys by index */
++ ltv.len = 2;
++ ltv.typ = CFG_REMOVE_TKIP_DEFAULT_KEY;
++
++ ltv.u.u16[0] = key_idx;
++
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++ break;
++
++ default:
++ break;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_hermes_set_countermeasures(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ /* The supplicant handles all the timers related to MIC failure and
++ countermeasures. When countermeasures are enabled, shut down the card;
++ when disable, re-enable the card. Make sure that the EAPOL message
++ is getting out before card disable */
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_DRIVER_ENABLE;
++ ltv.u.u16[0] = enabled ? 0 : 1;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_drop_unencrypted(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_EXCL_UNENCRYPTED;
++ ltv.u.u16[0] = enabled;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_deauthenticate(void *priv, const u8 *addr,
++ int reason_code)
++{
++ wpa_printf(MSG_DEBUG, "%s: *DUMMY* %d", __FUNCTION__, reason_code);
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_disassociate(void *priv, const u8 *addr, int reason_code)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: reason=%d", __FUNCTION__, reason_code);
++
++ ltv.len = 2;
++ ltv.typ = 0xFCC8; // This RID not defined in HCF yet!!!
++ memcpy( &ltv.u.u8[0], addr, ETH_ALEN );
++ ltv.u.u16[ETH_ALEN / 2] = reason_code;
++
++ return _put_info( priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_associate(
++ void *priv, struct wpa_driver_associate_params *params)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++
++#if 0
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++#else
++ wpa_printf(MSG_DEBUG, "%s: priv=%p freq=%d pairwise_suite=%d "
++ "group_suite=%d key_mgmt_suite=%d auth_alg=%d mode=%d",
++ __func__, priv, params->freq, params->pairwise_suite,
++ params->group_suite, params->key_mgmt_suite,
++ params->auth_alg, params->mode);
++ if (params->bssid) {
++ wpa_printf(MSG_DEBUG, " bssid=" MACSTR,
++ MAC2STR(params->bssid));
++ }
++ if (params->ssid) {
++ wpa_hexdump_ascii(MSG_DEBUG, " ssid",
++ params->ssid, params->ssid_len);
++ }
++ if (params->wpa_ie) {
++ wpa_hexdump(MSG_DEBUG, " wpa_ie",
++ params->wpa_ie, params->wpa_ie_len);
++ }
++#endif
++
++ if (wpa_driver_hermes_set_wpa_ie(priv, params->wpa_ie, params->wpa_ie_len) < 0)
++ return -1;
++ if (wpa_driver_wext_set_freq(drv->wext, params->freq) < 0)
++ return -1;
++ if (wpa_driver_wext_set_ssid(drv->wext, params->ssid, params->ssid_len) < 0)
++ return -1;
++#ifdef UNSUPPORTED_IN_HERMES_DRIVER
++ if (wpa_driver_wext_hermes_bssid(drv->wext, params->bssid) < 0)
++ return -1;
++#endif
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_get_bssid(void *priv, u8 *bssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_bssid(drv->wext, bssid);
++}
++
++
++static int wpa_driver_hermes_get_ssid(void *priv, u8 *ssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_ssid(drv->wext, ssid);
++}
++
++
++static int wpa_driver_hermes_scan(void *priv, const u8 *ssid, size_t ssid_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_scan(drv->wext, ssid, ssid_len);
++}
++
++
++static int wpa_driver_hermes_get_scan_results(void *priv,
++ struct wpa_scan_result *results,
++ size_t max_size)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_scan_results(drv->wext, results, max_size);
++}
++
++
++static void * wpa_driver_hermes_init(void *ctx, const char *ifname)
++{
++ struct wpa_driver_hermes_data *drv;
++
++ wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, ifname);
++
++ drv = malloc(sizeof(*drv));
++ if (drv == NULL)
++ return NULL;
++ memset(drv, 0, sizeof(*drv));
++
++ /* Initialize wireless context */
++ drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (drv->wext == NULL) {
++ perror("no wext context");
++ goto no_wext;
++ }
++
++ drv->ctx = ctx;
++ strncpy(drv->ifname, ifname, sizeof(drv->ifname));
++
++ drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (drv->sock < 0) {
++ perror("socket(PF_INET,SOCK_DGRAM)");
++ goto no_sock;
++ }
++
++ _detect_hermes_type(drv);
++
++ return drv;
++
++no_sock:
++ wpa_driver_wext_deinit(drv->wext);
++no_wext:
++ free(drv);
++ return NULL;
++}
++
++
++static void wpa_driver_hermes_deinit(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ wpa_driver_wext_deinit(drv->wext);
++ close(drv->sock);
++ free(drv);
++}
++
++
++
++
++struct wpa_driver_ops wpa_driver_hermes_ops = {
++ .name = "hermes",
++ .desc = "wpa_supplicant hermes driver",
++
++ .init = wpa_driver_hermes_init,
++ .deinit = wpa_driver_hermes_deinit,
++
++ // from old driver_hermes.c:
++ .get_bssid = wpa_driver_hermes_get_bssid,
++ .get_ssid = wpa_driver_hermes_get_ssid,
++ .set_wpa = wpa_driver_hermes_set_wpa,
++ .set_key = wpa_driver_hermes_set_key,
++ //.events_init = wpa_driver_wext_events_init,
++ //.events_deinit = wpa_driver_wext_events_deinit,
++ .set_countermeasures = wpa_driver_hermes_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_hermes_set_drop_unencrypted,
++ .scan = wpa_driver_hermes_scan,
++ .get_scan_results = wpa_driver_hermes_get_scan_results,
++ .deauthenticate = wpa_driver_hermes_deauthenticate,
++ .disassociate = wpa_driver_hermes_disassociate,
++ .associate = wpa_driver_hermes_associate,
++
++
++#if 0
++ /* Not possible with current Hermes driver:
++ .set_auth_alg = wpa_driver_hermes_set_auth_alg, */
++#endif
++};
+--- /dev/null
++++ wpa_supplicant/driver_hermes.h
+@@ -0,0 +1,173 @@
++#ifndef HERMES_DRIVER_H
++#define HERMES_DRIVER_H
++
++typedef unsigned char hcf_8;
++typedef unsigned short hcf_16;
++typedef unsigned long hcf_32;
++typedef hcf_16 hcf_io;
++typedef hcf_8 *wci_bufp;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ unsigned short * bufp;
++} RID_LOG_STRCT;
++typedef RID_LOG_STRCT *RID_LOGP;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ hcf_16 comp_id;
++ hcf_16 variant;
++ hcf_16 version_major;
++ hcf_16 version_minor;
++} CFG_FW_IDENTITY_STRCT;
++
++typedef struct {
++ hcf_32 TxUnicastFrames;
++ hcf_32 TxMulticastFrames;
++ hcf_32 TxFragments;
++ hcf_32 TxUnicastOctets;
++ hcf_32 TxMulticastOctets;
++ hcf_32 TxDeferredTransmissions;
++ hcf_32 TxSingleRetryFrames;
++ hcf_32 TxMultipleRetryFrames;
++ hcf_32 TxRetryLimitExceeded;
++ hcf_32 TxDiscards;
++ hcf_32 RxUnicastFrames;
++ hcf_32 RxMulticastFrames;
++ hcf_32 RxFragments;
++ hcf_32 RxUnicastOctets;
++ hcf_32 RxMulticastOctets;
++ hcf_32 RxFCSErrors;
++ hcf_32 RxDiscardsNoBuffer;
++ hcf_32 TxDiscardsWrongSA;
++ hcf_32 RxWEPUndecryptable;
++ hcf_32 RxMsgInMsgFragments;
++ hcf_32 RxMsgInBadMsgFragments;
++ hcf_32 RxDiscardsWEPICVError;
++ hcf_32 RxDiscardsWEPExcluded;
++} CFG_HERMES_TALLIES_STRCT;
++
++typedef struct {
++ hcf_32 not_used_NoBufInq;
++ hcf_32 NoBufInfo;
++ hcf_32 NoBufMB;
++ hcf_32 MiscErr;
++ hcf_32 EngCnt;
++} CFG_HCF_TALLIES_STRCT;
++
++typedef struct {
++ hcf_io IFB_IOBase;
++ hcf_16 IFB_IORange;
++
++ hcf_32 IFB_TickIni;
++
++ hcf_16 IFB_Version;
++ hcf_16 IFB_CardStat;
++ hcf_16 IFB_TraceLvl;
++ hcf_16 *IFB_MBp;
++ hcf_16 IFB_MBSize;
++ hcf_16 IFB_MBWp;
++ hcf_16 IFB_MBRp;
++ hcf_16 IFB_MBInfoLen;
++
++ hcf_16 IFB_DLMode;
++ hcf_16 IFB_Magic;
++ hcf_16 IFB_Cmd;
++ hcf_16 IFB_RxFID;
++ RID_LOGP IFB_RIDLogp;
++ hcf_16 IFB_Monitor;
++ hcf_16 IFB_TxFid;
++ hcf_16 IFB_RxLen;
++ hcf_16 IFB_DefunctStat;
++
++ hcf_16 IFB_ErrCmd;
++ hcf_16 IFB_ErrQualifier;
++ hcf_16 IFB_lal;
++ wci_bufp IFB_lap;
++ hcf_16 IFB_LinkStat;
++
++ void (*IFB_MICRxRtn)( hcf_32*, hcf_32 );
++ void (*IFB_MICTxRtn)( hcf_32*, hcf_32 );
++ hcf_16 IFB_rx_tlen;
++ hcf_16 IFB_tx_tlen;
++ hcf_8 IFB_rx_32[4];
++ hcf_8 IFB_tx_32[4];
++ hcf_16 IFB_RscInd;
++ hcf_16 IFB_MB_FID;
++ hcf_16 IFB_DLTarget[2];
++
++ hcf_16 IFB_DLPage;
++ hcf_16 IFB_DLOffset;
++ hcf_16 IFB_DLLen;
++
++ hcf_16 volatile IFB_IntOffCnt;
++ hcf_16 IFB_IntEnMask;
++
++ CFG_FW_IDENTITY_STRCT IFB_FWIdentity;
++ hcf_16 IFB_Tally;
++ hcf_16 IFB_TallyTyp;
++
++ CFG_HERMES_TALLIES_STRCT IFB_NIC_Tallies;
++ CFG_HCF_TALLIES_STRCT IFB_HCF_Tallies;
++
++ void *IFB_MSFSup;
++} IFB_STRCT;
++
++typedef IFB_STRCT* IFBP;
++
++struct uilreq
++{
++ union
++ {
++ char ifrn_name[16];
++ } ifr_ifrn;
++
++ IFBP hcfCtx;
++ __u8 command;
++ __u8 result;
++ __u16 len;
++ void *data;
++};
++
++typedef struct
++{
++ hcf_16 len;
++ hcf_16 typ;
++ union
++ {
++ hcf_8 u8[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_8)];
++ hcf_16 u16[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_16)];
++ hcf_32 u32[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_32)];
++ } u;
++} ltv_t;
++
++
++#define UIL_FUN_CONNECT 0x00
++#define UIL_FUN_DISCONNECT 0x01
++#define UIL_FUN_GET_INFO 0x04
++#define UIL_FUN_PUT_INFO 0x05
++
++#define GENERIC_INFO_ELEM 0xdd
++#define RSN_INFO_ELEM 0x30
++
++#define CFG_DRIVER_ENABLE 0x0902
++#define CFG_CNF_ENCRYPTION 0xFC20
++#define CFG_ADD_TKIP_DEFAULT_KEY 0xFCB4
++#define CFG_SET_WPA_AUTH_KEY_MGMT_SUITE 0xFCB5
++#define CFG_REMOVE_TKIP_DEFAULT_KEY 0xFCB6
++#define CFG_ADD_TKIP_MAPPED_KEY 0xFCB7
++#define CFG_REMOVE_TKIP_MAPPED_KEY 0xFCB8
++#define CFG_FW_IDENTITY 0xFD20
++#define CFG_CNF_EXCL_UNENCRYPTED 0xFC22
++
++#define HCF_SUCCESS 0x00
++#define UIL_SUCCESS 0x00
++
++#define COMP_ID_FW_STA 31
++#define COMP_ID_FW_AP 32
++
++#define WVLAN2_IOCTL_UIL SIOCDEVPRIVATE
++
++#endif
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-zd1211.patch b/packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-zd1211.patch
new file mode 100644
index 0000000000..3c731c1256
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.9/driver-zd1211.patch
@@ -0,0 +1,535 @@
+diff -Nur wpa_supplicant-0.4.7/defconfig wpa_supplicant-0.4.7.new/defconfig
+--- wpa_supplicant-0.4.7/defconfig 2005-09-24 20:30:43.000000000 +0200
++++ wpa_supplicant-0.4.7.new/defconfig 2005-12-26 19:18:14.000000000 +0100
+@@ -68,6 +68,9 @@
+ # Driver interface for Intel ipw2100/2200 driver
+ #CONFIG_DRIVER_IPW=y
+
++# Driver interface for Zydas zd1211 driver
++#CONFIG_DRIVER_ZD1211=y
++
+ # Driver interface for generic Linux wireless extensions
+ CONFIG_DRIVER_WEXT=y
+
+diff -Nur wpa_supplicant-0.4.7/drivers.c wpa_supplicant-0.4.7.new/drivers.c
+--- wpa_supplicant-0.4.7/drivers.c 2005-02-20 01:15:54.000000000 +0100
++++ wpa_supplicant-0.4.7.new/drivers.c 2005-12-26 19:19:16.000000000 +0100
+@@ -55,6 +55,9 @@
+ #ifdef CONFIG_DRIVER_TEST
+ extern struct wpa_driver_ops wpa_driver_test_ops; /* driver_test.c */
+ #endif /* CONFIG_DRIVER_TEST */
++#ifdef CONFIG_DRIVER_ZD1211
++extern struct wpa_driver_ops wpa_driver_zd1211_ops; /* driver_zd1211.c */
++#endif /* CONFIG_DRIVER_ZD1211 */
+
+
+ struct wpa_driver_ops *wpa_supplicant_drivers[] =
+@@ -98,5 +101,8 @@
+ #ifdef CONFIG_DRIVER_TEST
+ &wpa_driver_test_ops,
+ #endif /* CONFIG_DRIVER_TEST */
++#ifdef CONFIG_DRIVER_ZD1211
++ &wpa_driver_zd1211_ops,
++#endif /* CONFIG_DRIVER_ZD1211 */
+ NULL
+ };
+diff -Nur wpa_supplicant-0.4.7/driver_zd1211.c wpa_supplicant-0.4.7.new/driver_zd1211.c
+--- wpa_supplicant-0.4.7/driver_zd1211.c 1970-01-01 01:00:00.000000000 +0100
++++ wpa_supplicant-0.4.7.new/driver_zd1211.c 2005-12-27 16:28:46.000000000 +0100
+@@ -0,0 +1,408 @@
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++
++#include "common.h"
++#include "driver.h"
++#include "driver_wext.h"
++#include "eloop.h"
++#include "wireless_copy.h"
++#include "wpa_supplicant.h"
++
++#include "zd1211_common.h"
++
++
++struct wpa_driver_zd1211_data {
++ void *ctx;
++ void *wext; /* private data for driver_wext */
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++};
++
++
++static int zd1211_ioctl(struct wpa_driver_zd1211_data *zd1211_drv, struct zd1211_wlan_param *param, int len, int show_err) {
++ struct iwreq iwr;
++
++ memset(&iwr, 0, sizeof(iwr));
++ strncpy(iwr.ifr_name, zd1211_drv->ifname, IFNAMSIZ);
++ iwr.u.data.pointer = (caddr_t) param;
++ iwr.u.data.length = len;
++
++ if (ioctl(zd1211_drv->sock, ZD_IOCTL_WPA, &iwr) < 0) {
++ int ret;
++
++ ret = errno;
++ if (show_err)
++ perror("ioctl[ZD_IOCTL_WPA]");
++ return ret;
++ }
++
++ return 0;
++}
++
++
++static int zd1211_set_param(struct wpa_driver_zd1211_data *zd1211_drv, int op, int arg, int show_err) {
++ struct iwreq iwr;
++ int *i, ret = 0;
++
++ memset(&iwr, 0, sizeof(iwr));
++ strncpy(iwr.ifr_name, zd1211_drv->ifname, IFNAMSIZ);
++ i = (int *) iwr.u.name;
++ *i++ = op;
++ *i++ = arg;
++
++ if (ioctl(zd1211_drv->sock, ZD_IOCTL_PARAM, &iwr) < 0) {
++ perror("ioctl[ZD_IOCTL_PARAM]");
++ ret = -1;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_get_scan_results(void *priv, struct wpa_scan_result *results, size_t max_size) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_scan_results(zd1211_drv->wext, results, max_size);
++}
++
++
++static int wpa_driver_zd1211_get_bssid(void *priv, u8 *bssid) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_bssid(zd1211_drv->wext, bssid);
++}
++
++
++static int wpa_driver_zd1211_get_ssid(void *priv, u8 *ssid) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_ssid(zd1211_drv->wext, ssid);
++}
++
++
++static int wpa_driver_zd1211_set_auth_alg(void *priv, int auth_alg) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int algs = 0;
++
++ if (auth_alg & AUTH_ALG_OPEN_SYSTEM)
++ algs = 0;
++ if (auth_alg & AUTH_ALG_SHARED_KEY)
++ algs = 1;
++
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_AUTH_ALGS, algs, 1);
++}
++
++
++static int wpa_driver_zd1211_set_countermeasures(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++
++ /* Enable the countermeasure */
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_COUNTERMEASURES, enabled, 1);
++}
++
++
++static int wpa_driver_zd1211_set_drop_unencrypted(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++
++ /* Enable the countermeasure */
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_DROPUNENCRYPTED, enabled, 1);
++}
++
++
++static int wpa_driver_zd1211_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ struct zd1211_wlan_param *param;
++ u8 *buf;
++ size_t blen;
++ int ret = 0;
++ char *alg_name;
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "NONE";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > 8)
++ return -2;
++
++ blen = sizeof(*param) + key_len;
++ buf = malloc(blen);
++ if (buf == NULL)
++ return -1;
++ memset(buf, 0, blen);
++
++ param = (struct zd1211_wlan_param *) buf;
++ param->cmd = ZD_CMD_SET_ENCRYPT_KEY;
++ /* TODO: In theory, STA in client mode can use five keys; four default
++ * keys for receiving (with keyidx 0..3) and one individual key for
++ * both transmitting and receiving (keyidx 0) _unicast_ packets. Now,
++ * keyidx 0 is reserved for this unicast use and default keys can only
++ * use keyidx 1..3 (i.e., default key with keyidx 0 is not supported).
++ * This should be fine for more or less all cases, but for completeness
++ * sake, the driver could be enhanced to support the missing key. */
++#if 0
++ if (addr == NULL)
++ memset(param->sta_addr, 0xff, ETH_ALEN);
++ else
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++#else
++ memset(param->sta_addr, 0xff, ETH_ALEN);
++#endif
++ strncpy(param->u.crypt.alg, alg_name, ZD_CRYPT_ALG_NAME_LEN);
++ param->u.crypt.flags = set_tx ? ZD_FLAG_SET_TX_KEY : 0;
++ param->u.crypt.idx = key_idx;
++ memcpy(param->u.crypt.seq, seq, seq_len);
++ param->u.crypt.key_len = key_len;
++ memcpy((u8 *) param->u.crypt.key, key, key_len);
++
++ /* Dump key context */
++ if(alg == WPA_ALG_TKIP) {
++ int ii;
++
++ wpa_printf(MSG_DEBUG, "Key Context:");
++ for(ii = 0; ii < key_len; ) {
++ printf("0x%02x ", key[ii]);
++
++ if((++ii % 16) == 0)
++ printf("\n");
++ }
++
++ printf("\n");
++ }
++
++ if (zd1211_ioctl(zd1211_drv, param, blen, 1)) {
++ wpa_printf(MSG_WARNING, "Failed to set encryption.");
++ //show_set_key_error(param);
++ ret = -1;
++ }
++ free(buf);
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_set_wpa_ie(struct wpa_driver_zd1211_data *zd1211_drv, const u8 *wpa_ie, size_t wpa_ie_len) {
++ int res;
++ struct zd1211_wlan_param *param;
++ size_t blen = ZD_GENERIC_ELEMENT_HDR_LEN + wpa_ie_len;
++
++ if (blen < sizeof(*param))
++ blen = sizeof(*param);
++
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_GENERIC_ELEMENT;
++ param->u.generic_elem.len = wpa_ie_len;
++ memcpy(param->u.generic_elem.data, wpa_ie, wpa_ie_len);
++ res = zd1211_ioctl(zd1211_drv, param, blen, 1);
++
++ free(param);
++
++ return res;
++}
++
++
++static int wpa_driver_zd1211_set_wpa(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int ret = 0;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ if (!enabled && wpa_driver_zd1211_set_wpa_ie(zd1211_drv, NULL, 0) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_ROAMING, enabled, 1) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_PRIVACY, enabled, 1) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_WPA, enabled, 1) < 0)
++ ret = -1;
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_associate(void *priv, struct wpa_driver_associate_params *params) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int ret = 0;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ /* Because there might be the case, two or more APs with the same
++ * SSID, in order to identify them, we need to set the BSSID. */
++ if (wpa_driver_zd1211_set_wpa_ie(zd1211_drv, params->wpa_ie, params->wpa_ie_len) < 0)
++ ret = -1;
++ if (wpa_driver_wext_set_ssid(zd1211_drv->wext, params->ssid, params->ssid_len) < 0)
++ ret = -1;
++
++ // Mark for test
++ //if (wpa_driver_wext_set_bssid(ifname, bssid) < 0)
++ // ret = -1;
++
++#if 0
++ /* Allow unencrypted EAPOL messages even if pairwise keys are set when
++ * not using WPA. IEEE 802.1X specifies that these frames are not
++ * encrypted, but WPA encrypts them when pairwise keys are in use. */
++ if (key_mgmt_suite == KEY_MGMT_802_1X ||
++ key_mgmt_suite == KEY_MGMT_PSK)
++ allow_unencrypted_eapol = 0;
++ else
++ allow_unencrypted_eapol = 1;
++
++ if (prism2param(ifname, PRISM2_PARAM_IEEE_802_1X,
++ allow_unencrypted_eapol) < 0) {
++ wpa_printf(MSG_DEBUG, "hostap: Failed to configure "
++ "ieee_802_1x param");
++ /* Ignore this error.. driver_hostap.c can also be used with
++ * other drivers that do not support this prism2_param. */
++ }
++#endif
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_deauthenticate(void *priv, const u8 *addr, int reason_code) {
++ struct zd1211_wlan_param *param;
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int blen;
++ int ret;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ blen = sizeof(*param);
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_MLME;
++ param->u.mlme.cmd = MLME_STA_DEAUTH;
++ param->u.mlme.reason_code = reason_code;
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++ ret = zd1211_ioctl(zd1211_drv, param, blen, 1);
++ usleep(100000);
++ free(param);
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_disassociate(void *priv, const u8 *addr, int reason_code) {
++ struct zd1211_wlan_param *param;
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int blen;
++ int ret;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ blen = sizeof(*param);
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_MLME;
++ param->u.mlme.cmd = MLME_STA_DISASSOC;
++ param->u.mlme.reason_code = reason_code;
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++ ret = zd1211_ioctl(zd1211_drv, param, blen, 1);
++ free(param);
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_scan(void *priv, const u8 *ssid, size_t ssid_len) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_scan(zd1211_drv->wext, ssid, ssid_len);
++}
++
++
++static void * wpa_driver_zd1211_init(void *ctx, const char *ifname) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = malloc(sizeof(*zd1211_drv));
++ if (zd1211_drv == NULL)
++ return NULL;
++ memset(zd1211_drv, 0, sizeof(*zd1211_drv));
++
++ zd1211_drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (zd1211_drv->wext == NULL)
++ goto exit_no_wext;
++
++ zd1211_drv->ctx = ctx;
++ strncpy(zd1211_drv->ifname, ifname, sizeof(zd1211_drv->ifname));
++
++ zd1211_drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (zd1211_drv->sock < 0)
++ goto exit_no_socket;
++
++ return zd1211_drv;
++
++exit_no_socket:
++ wpa_driver_wext_deinit(zd1211_drv->wext);
++exit_no_wext:
++ free(zd1211_drv);
++ return NULL;
++}
++
++
++static void wpa_driver_zd1211_deinit(void *ctx) {
++ struct wpa_driver_zd1211_data *zd1211_drv = ctx;
++
++ wpa_driver_wext_deinit(zd1211_drv->wext);
++ close(zd1211_drv->sock);
++ free(zd1211_drv);
++}
++
++
++struct wpa_driver_ops wpa_driver_zd1211_ops = {
++ .name = "zd1211",
++ .desc = "Zydas zd1211 drivers",
++ .init = wpa_driver_zd1211_init,
++ .deinit = wpa_driver_zd1211_deinit,
++ .associate = wpa_driver_zd1211_associate,
++ .deauthenticate = wpa_driver_zd1211_deauthenticate,
++ .disassociate = wpa_driver_zd1211_disassociate,
++ .get_bssid = wpa_driver_zd1211_get_bssid,
++ .get_scan_results = wpa_driver_zd1211_get_scan_results,
++ .get_ssid = wpa_driver_zd1211_get_ssid,
++// .get_capa = wpa_driver_zd1211_get_capa,
++ .scan = wpa_driver_zd1211_scan,
++ .set_auth_alg = wpa_driver_zd1211_set_auth_alg,
++ .set_countermeasures = wpa_driver_zd1211_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_zd1211_set_drop_unencrypted,
++ .set_key = wpa_driver_zd1211_set_key,
++ .set_wpa = wpa_driver_zd1211_set_wpa,
++};
+diff -Nur wpa_supplicant-0.4.7/Makefile wpa_supplicant-0.4.7.new/Makefile
+--- wpa_supplicant-0.4.7/Makefile 2005-11-21 02:42:12.000000000 +0100
++++ wpa_supplicant-0.4.7.new/Makefile 2005-12-26 19:17:14.000000000 +0100
+@@ -107,6 +107,12 @@
+ CONFIG_WIRELESS_EXTENSION=y
+ endif
+
++ifdef CONFIG_DRIVER_ZD1211
++CFLAGS += -DCONFIG_DRIVER_ZD1211
++OBJS_d += driver_zd1211.o
++CONFIG_WIRELESS_EXTENSION=y
++endif
++
+ ifdef CONFIG_DRIVER_BSD
+ CFLAGS += -DCONFIG_DRIVER_BSD
+ OBJS_d += driver_bsd.o
+diff -Nur wpa_supplicant-0.4.7/zd1211_common.h wpa_supplicant-0.4.7.new/zd1211_common.h
+--- wpa_supplicant-0.4.7/zd1211_common.h 1970-01-01 01:00:00.000000000 +0100
++++ wpa_supplicant-0.4.7.new/zd1211_common.h 2005-12-27 16:00:36.000000000 +0100
+@@ -0,0 +1,68 @@
++#ifndef ZD1211_COMMON_H
++#define ZD1211_COMMON_H
++
++
++#define ZD_IOCTL_WPA (SIOCDEVPRIVATE + 1)
++#define ZD_IOCTL_PARAM (SIOCDEVPRIVATE + 2)
++
++#define ZD_PARAM_ROAMING 0x0001
++#define ZD_PARAM_PRIVACY 0x0002
++#define ZD_PARAM_WPA 0x0003
++#define ZD_PARAM_COUNTERMEASURES 0x0004
++#define ZD_PARAM_DROPUNENCRYPTED 0x0005
++#define ZD_PARAM_AUTH_ALGS 0x0006
++
++#define ZD_CMD_SET_ENCRYPT_KEY 0x0001
++#define ZD_CMD_SET_MLME 0x0002
++//#define ZD_CMD_SCAN_REQ 0x0003
++#define ZD_CMD_SET_GENERIC_ELEMENT 0x0004
++
++#define ZD_FLAG_SET_TX_KEY 0x0001
++
++#define ZD_GENERIC_ELEMENT_HDR_LEN \
++((int) (&((struct zd1211_wlan_param *) 0)->u.generic_elem.data))
++
++#define ZD_CRYPT_ALG_NAME_LEN 16
++#define ZD_MAX_KEY_SIZE 32
++#define ZD_MAX_GENERIC_SIZE 64
++
++/* structure definition */
++
++struct zd1211_wlan_param {
++ u32 cmd;
++ u8 sta_addr[ETH_ALEN];
++ union {
++ struct {
++ u8 alg[ZD_CRYPT_ALG_NAME_LEN];
++ u32 flags;
++ u32 err;
++ u8 idx;
++ u8 seq[8]; /* sequence counter (set: RX, get: TX) */
++ u16 key_len;
++ u8 key[ZD_MAX_KEY_SIZE];
++ } crypt;
++/*
++ struct {
++ u32 flags_and;
++ u32 flags_or;
++ } set_flags_sta;
++*/
++ struct {
++ u8 len;
++ u8 data[ZD_MAX_GENERIC_SIZE];
++ } generic_elem;
++ struct {
++#define MLME_STA_DEAUTH 0
++#define MLME_STA_DISASSOC 1
++ u16 cmd;
++ u16 reason_code;
++ } mlme;
++ struct {
++ u8 ssid_len;
++ u8 ssid[32];
++ } scan_req;
++ } u;
++};
++
++
++#endif
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.9/madwifi-bsd-fix.diff b/packages/wpa-supplicant/wpa-supplicant-0.4.9/madwifi-bsd-fix.diff
new file mode 100644
index 0000000000..974eb39627
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.9/madwifi-bsd-fix.diff
@@ -0,0 +1,12 @@
+--- driver_madwifi.c.orig 2005-03-18 15:12:53.392793216 +0100
++++ driver_madwifi.c 2005-03-18 15:13:09.246383104 +0100
+@@ -25,7 +25,8 @@
+ #include "eloop.h"
+ #include "wpa_supplicant.h"
+
+-#include <include/compat.h>
++#include <net80211/compat.h>
++#include <net80211/_ieee80211.h>
+ #include <net80211/ieee80211.h>
+ #include <net80211/ieee80211_crypto.h>
+ #include <net80211/ieee80211_ioctl.h>
diff --git a/packages/wpa-supplicant/wpa-supplicant-0.4.9/wpa_supplicant.conf b/packages/wpa-supplicant/wpa-supplicant-0.4.9/wpa_supplicant.conf
new file mode 100644
index 0000000000..da407b5ef3
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant-0.4.9/wpa_supplicant.conf
@@ -0,0 +1,502 @@
+##### Example wpa_supplicant configuration file ###############################
+# Empty lines and lines starting with # are ignored
+
+# NOTE! This file may contain password information and should probably be made
+# readable only by root user on multiuser systems.
+
+# global configuration (shared by all network blocks)
+#
+# Interface for separate control program. If this is specified, wpa_supplicant
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple wpa_supplicant processes can be run at the same time if more than
+# one interface is used.
+# /var/run/wpa_supplicant is the recommended directory for sockets and by
+# default, wpa_cli will use it when trying to connect with wpa_supplicant.
+ctrl_interface=/var/run/wpa_supplicant
+
+# Access control for the control interface can be configured by setting the
+# directory to allow only members of a group to use sockets. This way, it is
+# possible to run wpa_supplicant as root (since it needs to change network
+# configuration and open raw sockets) and still allow GUI/CLI components to be
+# run as non-root users. However, since the control interface can be used to
+# change the network configuration, this access needs to be protected in many
+# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
+# want to allow non-root users to use the control interface, add a new group
+# and change this value to match with that group. Add users that should have
+# control interface access to this group. If this variable is commented out or
+# not included in the configuration file, group will not be changed from the
+# value it got by default when the directory or socket was created.
+#
+# This variable can be a group name or gid.
+#ctrl_interface_group=wheel
+ctrl_interface_group=0
+
+# IEEE 802.1X/EAPOL version
+# wpa_supplicant was implemented based on IEEE 802-1X-REV-d8 which defines
+# EAPOL version 2. However, there are many APs that do not handle the new
+# version number correctly (they seem to drop the frames completely). In order
+# to make wpa_supplicant interoperate with these APs, the version number is set
+# to 1 by default. This configuration value can be used to set it to the new
+# version (2).
+eapol_version=1
+
+# AP scanning/selection
+# By default, wpa_supplicant requests driver to perform AP scanning and then
+# uses the scan results to select a suitable AP. Another alternative is to
+# allow the driver to take care of AP scanning and selection and use
+# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
+# information from the driver.
+# 1: wpa_supplicant initiates scanning and AP selection
+# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
+# parameters (e.g., WPA IE generation); this mode can also be used with
+# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
+# APs (i.e., external program needs to control association)
+# 2: like 0, but associate with APs using security policy and SSID (but not
+# BSSID); this can be used, e.g., with ndiswrapper and NDIS driver to
+# enable operation with hidden SSIDs and optimized roaming; in this mode,
+# only the first network block in the configuration file is used and this
+# configuration should have explicit security policy (i.e., only one option
+# in the lists) for key_mgmt, pairwise, group, proto variables
+ap_scan=1
+
+# EAP fast re-authentication
+# By default, fast re-authentication is enabled for all EAP methods that
+# support it. This variable can be used to disable fast re-authentication.
+# Normally, there is no need to disable this.
+fast_reauth=1
+
+# network block
+#
+# Each network (usually AP's sharing the same SSID) is configured as a separate
+# block in this configuration file. The network blocks are in preference order
+# (the first match is used).
+#
+# network block fields:
+#
+# ssid: SSID (mandatory); either as an ASCII string with double quotation or
+# as hex string; network name
+#
+# scan_ssid:
+# 0 = do not scan this SSID with specific Probe Request frames (default)
+# 1 = scan with SSID-specific Probe Request frames (this can be used to
+# find APs that do not accept broadcast SSID or use multiple SSIDs;
+# this will add latency to scanning, so enable this only when needed)
+#
+# bssid: BSSID (optional); if set, this network block is used only when
+# associating with the AP using the configured BSSID
+#
+# priority: priority group (integer)
+# By default, all networks will get same priority group (0). If some of the
+# networks are more desirable, this field can be used to change the order in
+# which wpa_supplicant goes through the networks when selecting a BSS. The
+# priority groups will be iterated in decreasing priority (i.e., the larger the
+# priority value, the sooner the network is matched against the scan results).
+# Within each priority group, networks will be selected based on security
+# policy, signal strength, etc.
+# Please note that AP scanning with scan_ssid=1 is not using this priority to
+# select the order for scanning. Instead, it uses the order the networks are in
+# the configuration file.
+#
+# mode: IEEE 802.11 operation mode
+# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
+# 1 = IBSS (ad-hoc, peer-to-peer)
+# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
+# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
+# to be set to 2 for IBSS. WPA-None requires following network block options:
+# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
+# both), and psk must also be set.
+#
+# proto: list of accepted protocols
+# WPA = WPA/IEEE 802.11i/D3.0
+# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
+# If not set, this defaults to: WPA RSN
+#
+# key_mgmt: list of accepted authenticated key management protocols
+# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
+# WPA-EAP = WPA using EAP authentication (this can use an external
+# program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
+# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
+# generated WEP keys
+# NONE = WPA is not used; plaintext or static WEP could be used
+# If not set, this defaults to: WPA-PSK WPA-EAP
+#
+# auth_alg: list of allowed IEEE 802.11 authentication algorithms
+# OPEN = Open System authentication (required for WPA/WPA2)
+# SHARED = Shared Key authentication (requires static WEP keys)
+# LEAP = LEAP/Network EAP (only used with LEAP)
+# If not set, automatic selection is used (Open System with LEAP enabled if
+# LEAP is allowed as one of the EAP methods).
+#
+# pairwise: list of accepted pairwise (unicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# NONE = Use only Group Keys (deprecated, should not be included if APs support
+# pairwise keys)
+# If not set, this defaults to: CCMP TKIP
+#
+# group: list of accepted group (broadcast/multicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
+# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
+# If not set, this defaults to: CCMP TKIP WEP104 WEP40
+#
+# psk: WPA preshared key; 256-bit pre-shared key
+# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
+# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
+# generated using the passphrase and SSID). ASCII passphrase must be between
+# 8 and 63 characters (inclusive).
+# This field is not needed, if WPA-EAP is used.
+# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
+# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
+# startup and reconfiguration time can be optimized by generating the PSK only
+# only when the passphrase or SSID has actually changed.
+#
+# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
+# Dynamic WEP key require for non-WPA mode
+# bit0 (1): require dynamically generated unicast WEP key
+# bit1 (2): require dynamically generated broadcast WEP key
+# (3 = require both keys; default)
+#
+# Following fields are only used with internal EAP implementation.
+# eap: space-separated list of accepted EAP methods
+# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
+# cannot be used with WPA; to be used as a Phase 2 method
+# with EAP-PEAP or EAP-TTLS)
+# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# OTP = EAP-OTP (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# GTC = EAP-GTC (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# TLS = EAP-TLS (client and server certificate)
+# PEAP = EAP-PEAP (with tunnelled EAP authentication)
+# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
+# authentication)
+# If not set, all compiled in methods are allowed.
+#
+# identity: Identity string for EAP
+# anonymous_identity: Anonymous identity string for EAP (to be used as the
+# unencrypted identity with EAP types that support different tunnelled
+# identity, e.g., EAP-TTLS)
+# password: Password string for EAP
+# ca_cert: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert is not included, server certificate
+# will not be verified. This is insecure and the CA file should always be
+# configured.
+# client_cert: File path to client certificate file (PEM/DER)
+# private_key: File path to client private key file (PEM/DER/PFX)
+# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
+# commented out. Both the private key and certificate will be read from
+# the PKCS#12 file in this case.
+# private_key_passwd: Password for private key file
+# dh_file: File path to DH/DSA parameters file (in PEM format)
+# This is an optional configuration file for setting parameters for an
+# ephemeral DH key exchange. In most cases, the default RSA
+# authentication does not use this configuration. However, it is possible
+# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
+# DSA keys always use ephemeral DH keys. This can be used to achieve
+# forward secrecy. If the file is in DSA parameters format, it will be
+# automatically converted into DH params.
+# subject_match: Substring to be matched against the subject of the
+# authentication server certificate. If this string is set, the server
+# sertificate is only accepted if it contains this string in the subject.
+# The subject string is in following format:
+# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
+# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
+# (string with field-value pairs, e.g., "peapver=0" or
+# "peapver=1 peaplabel=1")
+# 'peapver' can be used to force which PEAP version (0 or 1) is used.
+# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
+# to be used during key derivation when PEAPv1 or newer. Most existing
+# PEAPv1 implementation seem to be using the old label, "client EAP
+# encryption", and wpa_supplicant is now using that as the default value.
+# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
+# interoperate with PEAPv1; see eap_testing.txt for more details.
+# 'peap_outer_success=0' can be used to terminate PEAP authentication on
+# tunneled EAP-Success. This is required with some RADIUS servers that
+# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
+# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
+# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
+# challenges (by default, it accepts 2 or 3)
+# phase2: Phase2 (inner authentication with TLS tunnel) parameters
+# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
+# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
+# Following certificate/private key fields are used in inner Phase2
+# authentication when using EAP-TTLS or EAP-PEAP.
+# ca_cert2: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert2 is not included, server
+# certificate will not be verified. This is insecure and the CA file
+# should always be configured.
+# client_cert2: File path to client certificate file
+# private_key2: File path to client private key file
+# private_key2_passwd: Password for private key file
+# dh_file2: File path to DH/DSA parameters file (in PEM format)
+# subject_match2: Substring to be matched against the subject of the
+# authentication server certificate.
+#
+# EAP-PSK variables:
+# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format
+# nai: user NAI
+# server_nai: authentication server NAI
+#
+# EAP-FAST variables:
+# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
+# to create this file and write updates to it when PAC is being
+# provisioned or refreshed.
+# phase1: fast_provisioning=1 option enables in-line provisioning of EAP-FAST
+# credentials (PAC)
+#
+# wpa_supplicant supports number of "EAP workarounds" to work around
+# interoperability issues with incorrectly behaving authentication servers.
+# These are enabled by default because some of the issues are present in large
+# number of authentication servers. Strict EAP conformance mode can be
+# configured by disabling workarounds with eap_workaround=0.
+
+# Example blocks:
+
+# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
+network={
+ ssid="simple"
+ psk="very secret passphrase"
+ priority=5
+}
+
+# Same as previous, but request SSID-specific scanning (for APs that reject
+# broadcast SSID)
+network={
+ ssid="second ssid"
+ scan_ssid=1
+ psk="very secret passphrase"
+ priority=2
+}
+
+# Only WPA-PSK is used. Any valid cipher combination is accepted.
+network={
+ ssid="example"
+ proto=WPA
+ key_mgmt=WPA-PSK
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+ priority=2
+}
+
+# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
+# or WEP40 as the group cipher will not be accepted.
+network={
+ ssid="example"
+ proto=RSN
+ key_mgmt=WPA-EAP
+ pairwise=CCMP TKIP
+ group=CCMP TKIP
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ priority=1
+}
+
+# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
+# (e.g., Radiator)
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=PEAP
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase1="peaplabel=1"
+ phase2="auth=MSCHAPV2"
+ priority=10
+}
+
+# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
+# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ priority=2
+}
+
+# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
+# use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase2="auth=MSCHAPV2"
+}
+
+# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
+# authentication.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ # Phase1 / outer authentication
+ anonymous_identity="anonymous@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ # Phase 2 / inner authentication
+ phase2="autheap=TLS"
+ ca_cert2="/etc/cert/ca2.pem"
+ client_cert2="/etc/cer/user.pem"
+ private_key2="/etc/cer/user.prv"
+ private_key2_passwd="password"
+ priority=2
+}
+
+# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
+# group cipher.
+network={
+ ssid="example"
+ bssid=00:11:22:33:44:55
+ proto=WPA RSN
+ key_mgmt=WPA-PSK WPA-EAP
+ pairwise=CCMP
+ group=CCMP
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+}
+
+# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
+# and all valid ciphers.
+network={
+ ssid=00010203
+ psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+}
+
+
+# EAP-SIM with a GSM SIM or USIM
+network={
+ ssid="eap-sim-test"
+ key_mgmt=WPA-EAP
+ eap=SIM
+ pin="1234"
+ pcsc=""
+}
+
+
+# EAP-PSK
+network={
+ ssid="eap-psk-test"
+ key_mgmt=WPA-EAP
+ eap=PSK
+ identity="eap_psk_user"
+ eappsk=06b4be19da289f475aa46a33cb793029
+ nai="eap_psk_user@example.com"
+ server_nai="as@example.com"
+}
+
+
+# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
+# EAP-TLS for authentication and key generation; require both unicast and
+# broadcast WEP keys.
+network={
+ ssid="1x-test"
+ key_mgmt=IEEE8021X
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ eapol_flags=3
+}
+
+
+# LEAP with dynamic WEP keys
+network={
+ ssid="leap-example"
+ key_mgmt=IEEE8021X
+ eap=LEAP
+ identity="user"
+ password="foobar"
+}
+
+# EAP-FAST with WPA (WPA or WPA2)
+network={
+ ssid="eap-fast-test"
+ key_mgmt=WPA-EAP
+ eap=FAST
+ anonymous_identity="FAST-000102030405"
+ identity="username"
+ password="password"
+ phase1="fast_provisioning=1"
+ pac_file="/etc/wpa_supplicant.eap-fast-pac"
+}
+
+# Plaintext connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="plaintext-test"
+ key_mgmt=NONE
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="static-wep-test"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
+# IEEE 802.11 authentication
+network={
+ ssid="static-wep-test2"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+ auth_alg=SHARED
+}
+
+
+# IBSS/ad-hoc network with WPA-None/TKIP.
+network={
+ ssid="test adhoc"
+ mode=1
+ proto=WPA
+ key_mgmt=WPA-NONE
+ pairwise=NONE
+ group=TKIP
+ psk="secret passphrase"
+}
+
+
+# Catch all example that allows more or less all configuration modes
+network={
+ ssid="example"
+ scan_ssid=1
+ key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk="very secret passphrase"
+ eap=TTLS PEAP TLS
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ phase1="peaplabel=0"
+}
diff --git a/packages/wpa-supplicant/wpa-supplicant_0.4.8.bb b/packages/wpa-supplicant/wpa-supplicant_0.4.8.bb
new file mode 100644
index 0000000000..81dd5f8457
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant_0.4.8.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "openssl"
+RCONFLICTS_${PN} = "wpa-supplicant-nossl"
+RREPLACES_${PN} = "wpa-supplicant-nossl"
+PR = "r8"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://madwifi-bsd-fix.diff;patch=1;pnum=0 \
+ file://defconfig \
+ file://driver-hermes.patch;patch=1 \
+ file://driver-zd1211.patch;patch=1 \
+ file://wpa-supplicant.sh \
+ file://wpa_supplicant.conf"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig .config
+}
+
+do_compile () {
+ make
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 755 wpa_supplicant ${D}${sbindir}
+ install -m 755 wpa_passphrase ${D}${sbindir}
+ install -m 755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${sysconfdir}/network/if-pre-up.d/
+ install -d ${D}${sysconfdir}/network/if-post-down.d/
+ install -d ${D}${sysconfdir}/network/if-down.d/
+ install -m 644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}
+ install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
+ cd ${D}${sysconfdir}/network/ && \
+ ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m 644 ${S}/README ${D}${docdir}/wpa_supplicant
+}
+
+CONFFILES_${PN} = "${sysconfdir}/wpa_supplicant.conf"
diff --git a/packages/wpa-supplicant/wpa-supplicant_0.4.9.bb b/packages/wpa-supplicant/wpa-supplicant_0.4.9.bb
new file mode 100644
index 0000000000..f0f5c48c1c
--- /dev/null
+++ b/packages/wpa-supplicant/wpa-supplicant_0.4.9.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "openssl"
+RCONFLICTS_${PN} = "wpa-supplicant-nossl"
+RREPLACES_${PN} = "wpa-supplicant-nossl"
+PR = "r0"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://madwifi-bsd-fix.diff;patch=1;pnum=0 \
+ file://defconfig \
+ file://driver-hermes.patch;patch=1 \
+ file://driver-zd1211.patch;patch=1 \
+ file://wpa-supplicant.sh \
+ file://wpa_supplicant.conf"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig .config
+}
+
+do_compile () {
+ make
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 755 wpa_supplicant ${D}${sbindir}
+ install -m 755 wpa_passphrase ${D}${sbindir}
+ install -m 755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${sysconfdir}/network/if-pre-up.d/
+ install -d ${D}${sysconfdir}/network/if-post-down.d/
+ install -d ${D}${sysconfdir}/network/if-down.d/
+ install -m 644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}
+ install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
+ cd ${D}${sysconfdir}/network/ && \
+ ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m 644 ${S}/README ${D}${docdir}/wpa_supplicant
+}
+
+CONFFILES_${PN} = "${sysconfdir}/wpa_supplicant.conf"
diff --git a/packages/xextensions/xextensions-native_1.0.1.bb b/packages/xextensions/xextensions-native_1.0.1.bb
deleted file mode 100644
index 732ced4584..0000000000
--- a/packages/xextensions/xextensions-native_1.0.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-SECTION = "unknown"
-require xextensions_${PV}.bb
-inherit native
-PROVIDES = ""
diff --git a/packages/xextensions/xextensions-native_cvs.bb b/packages/xextensions/xextensions-native_cvs.bb
deleted file mode 100644
index 8ccf2ce84f..0000000000
--- a/packages/xextensions/xextensions-native_cvs.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-SECTION = "unknown"
-require xextensions_cvs.bb
-inherit native
-PROVIDES = ""
diff --git a/packages/xextensions/xextensions_1.0.1+cvs20050418.bb b/packages/xextensions/xextensions_1.0.1+cvs20050418.bb
deleted file mode 100644
index 4c6bc4facc..0000000000
--- a/packages/xextensions/xextensions_1.0.1+cvs20050418.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-DESCRIPTION = "various extension headers."
-
-SRC_URI = "${XLIBS_CVS};module=XExtensions;date=20050418"
-S = "${WORKDIR}/XExtensions"
-
-inherit xlibs
diff --git a/packages/xextensions/xextensions_20050610.bb b/packages/xextensions/xextensions_20050610.bb
deleted file mode 100644
index 728a6a0c92..0000000000
--- a/packages/xextensions/xextensions_20050610.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "1.0.3+cvs${FIXEDSRCDATE}"
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-
-LICENSE= "BSD-X"
-SECTION = "x11/libs"
-DESCRIPTION = "various extension headers."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XExtensions;date=${FIXEDSRCDATE}"
-S = "${WORKDIR}/XExtensions"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xextensions/xextensions_cvs.bb b/packages/xextensions/xextensions_cvs.bb
deleted file mode 100644
index 36ced680af..0000000000
--- a/packages/xextensions/xextensions_cvs.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "x11/libs"
-DESCRIPTION = "various extension headers."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XExtensions"
-S = "${WORKDIR}/XExtensions"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xoo/.mtn2git_empty b/packages/xoo/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/xoo/.mtn2git_empty
diff --git a/packages/xoo/xoo_svn.bb b/packages/xoo/xoo_svn.bb
new file mode 100644
index 0000000000..992d918316
--- /dev/null
+++ b/packages/xoo/xoo_svn.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Xoo is a GTK2 based graphical wrapper around a windowed X Server. \
+It is intended for embedded developers that want to simulate a target device \
+(with an accurate display size, working hardware buttons, etc) on a desktop machine."
+HOMEPAGE = "http://projects.o-hand.com/xoo"
+LICENSE = "GPL"
+DEPENDS = "virtual/libx11 libxtst gtk+ libglade"
+PV = "0.7+svn${SRCDATE}"
+PR = "r1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=Xoo;proto=http"
+S = "${WORKDIR}/Xoo"
+
+inherit autotools
diff --git a/packages/xorg-app/xauth_cvs.bb b/packages/xorg-app/xauth_cvs.bb
deleted file mode 100644
index 169de7a797..0000000000
--- a/packages/xorg-app/xauth_cvs.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-DEPENDS = "virtual/libx11 libxau libxmu libxext"
-DESCRIPTION = "X authority file utility"
-SECTION = "x11/base"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xauth \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/xauth"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xdpyinfo_cvs.bb b/packages/xorg-app/xdpyinfo_cvs.bb
deleted file mode 100644
index 9a05f066ce..0000000000
--- a/packages/xorg-app/xdpyinfo_cvs.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-DEPENDS = "virtual/libx11 libxext libxtst"
-DESCRIPTION = "X display information utility"
-SECTION = "x11/base"
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xapps;module=xdpyinfo"
-S = "${WORKDIR}/xdpyinfo"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xev_cvs.bb b/packages/xorg-app/xev_cvs.bb
deleted file mode 100644
index 95520f0e7a..0000000000
--- a/packages/xorg-app/xev_cvs.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-DESCRIPTION = "X Event Viewer"
-HOMEPAGE = "http://freedesktop.org/wiki/Software_2fxapps"
-LICENSE = "MIT"
-SECTION = "x11/base"
-DEPENDS = "virtual/libx11 libxau"
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xapps;module=xev \
- file://diet-x11.patch;patch=1"
-S = "${WORKDIR}/xev"
-
-do_compile() {
- ${CC} -o xev xev.c -lX11 -lXau -I${STAGING_INCDIR} -L${STAGING_LIBDIR}
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 755 ${PN} ${D}${bindir}
-}
diff --git a/packages/xorg-app/xhost_20040413.bb b/packages/xorg-app/xhost_20040413.bb
deleted file mode 100644
index 59e8f32964..0000000000
--- a/packages/xorg-app/xhost_20040413.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-LICENSE = "MIT"
-PV = "0.0+cvs${FIXEDSRCDATE}"
-DEPENDS = "virtual/libx11 libxext libxmu"
-DESCRIPTION = "server access control program for X"
-SECTION = "x11/base"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xhost;date=${FIXEDSRCDATE} \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/xhost"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xmodmap_cvs.bb b/packages/xorg-app/xmodmap_cvs.bb
deleted file mode 100644
index e2b3847e6b..0000000000
--- a/packages/xorg-app/xmodmap_cvs.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-DESCRIPTION = "utility for modifying keymaps and pointer button mappings in X"
-SECTION = "x11/base"
-PR = "r1"
-
-DEPENDS = "virtual/libx11"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xmodmap \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/xmodmap"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xprop_cvs.bb b/packages/xorg-app/xprop_cvs.bb
deleted file mode 100644
index 1e36987358..0000000000
--- a/packages/xorg-app/xprop_cvs.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-DEPENDS = "virtual/libx11 libxmu libxext"
-DESCRIPTION = "property displayer for X"
-SECTION = "x11/base"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xprop;tag=XORG-MAIN \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/xprop"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xrandr_cvs.bb b/packages/xorg-app/xrandr_cvs.bb
deleted file mode 100644
index 30a31e1569..0000000000
--- a/packages/xorg-app/xrandr_cvs.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-DEPENDS = "libxrandr virtual/libx11 libxext"
-DESCRIPTION = "X Resize and Rotate extension command."
-SECTION = "x11/base"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xapps;module=xrandr"
-S = "${WORKDIR}/xrandr"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xrdb_cvs.bb b/packages/xorg-app/xrdb_cvs.bb
deleted file mode 100644
index 1289a8cfce..0000000000
--- a/packages/xorg-app/xrdb_cvs.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-DEPENDS = "virtual/libx11 libxmu libxext"
-DESCRIPTION = "X server resource database utility"
-SECTION = "x11/base"
-LICENSE = "xrdb"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xrdb \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/xrdb"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xset_20040817.bb b/packages/xorg-app/xset_20040817.bb
deleted file mode 100644
index 3b91812b94..0000000000
--- a/packages/xorg-app/xset_20040817.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "user preference utility for X"
-LICENSE = "MIT"
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-PV = "0.0+cvs${FIXEDSRCDATE}"
-PR = "r1"
-
-DEPENDS = "virtual/libx11 libxext xextensions libxmu"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-SECTION = "x11/base"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xset;date=${FIXEDSRCDATE} \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/xset"
-
-inherit autotools pkgconfig
diff --git a/packages/xorg-app/xterm_207.bb b/packages/xorg-app/xterm_207.bb
index 269cccc733..ce84d5dde1 100644
--- a/packages/xorg-app/xterm_207.bb
+++ b/packages/xorg-app/xterm_207.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "xterm app"
SECTION = "x11/apps"
LICENSE = "MIT-X"
-DEPENDS = "libxaw xproto virtual/libx11 xextproto xext xau xpm ncurses"
+DEPENDS = "libxaw xproto virtual/libx11 xextproto xext xau libxpm ncurses"
SRC_URI = "${XORG_MIRROR}/development/X11R7.0-RC4/extras/${PN}-${PV}.tar.gz"
diff --git a/packages/xorg-lib/diet-x11_20050226.bb b/packages/xorg-lib/diet-x11_20050226.bb
deleted file mode 100644
index 1220806052..0000000000
--- a/packages/xorg-lib/diet-x11_20050226.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTION = "x11/base"
-require libx11_${PV}.bb
-
-EXTRA_OECONF = "--disable-xcms --disable-xlocale --disable-xkb"
-
-SRC_URI += "file://fix-utf8-wrong-define.patch;patch=1"
diff --git a/packages/xorg-lib/diet-x11_cvs.bb b/packages/xorg-lib/diet-x11_cvs.bb
deleted file mode 100644
index 968764b500..0000000000
--- a/packages/xorg-lib/diet-x11_cvs.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SECTION = "x11/base"
-require libx11_cvs.bb
-
-EXTRA_OECONF = "--disable-xcms --disable-xlocale --disable-xkb"
-
-SRC_URI += "file://fix-utf8-wrong-define.patch;patch=1 \
- file://xim.patch;patch=1"
diff --git a/packages/xorg-lib/libice_6.3.3.bb b/packages/xorg-lib/libice_6.3.3.bb
deleted file mode 100644
index 3bbea635ee..0000000000
--- a/packages/xorg-lib/libice_6.3.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "libs"
-LICENSE= "MIT"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11"
-PROVIDES = "ice"
-DESCRIPTION = "X11 ICE library"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libICE-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libICE-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libice_cvs.bb b/packages/xorg-lib/libice_cvs.bb
deleted file mode 100644
index 1756a235d7..0000000000
--- a/packages/xorg-lib/libice_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "MIT"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11"
-PROVIDES = "ice"
-DESCRIPTION = "X11 ICE library"
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=ICE"
-S = "${WORKDIR}/ICE"
-
-inherit autotools pkgconfig
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libsm_6.0.3.bb b/packages/xorg-lib/libsm_6.0.3.bb
deleted file mode 100644
index 620e4d8295..0000000000
--- a/packages/xorg-lib/libsm_6.0.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "libs"
-LICENSE = "MIT-X"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libice"
-DESCRIPTION = "Session management library"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libSM-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libSM-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libsm_cvs.bb b/packages/xorg-lib/libsm_cvs.bb
deleted file mode 100644
index 45d6bfa236..0000000000
--- a/packages/xorg-lib/libsm_cvs.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-PV = "6.0.3+cvs${SRCDATE}"
-LICENSE = "MIT-X"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libice"
-DESCRIPTION = "Session management library"
-PR = "r1"
-
-DEFAULT_PREFERENCE="-1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=SM"
-S = "${WORKDIR}/SM"
-
-inherit autotools pkgconfig
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libx11-native_6.2.1.bb b/packages/xorg-lib/libx11-native_6.2.1.bb
deleted file mode 100644
index 54bb4486e7..0000000000
--- a/packages/xorg-lib/libx11-native_6.2.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTION = "x11/base"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
-require libx11_${PV}.bb
-inherit native
-DEPENDS = "xproto-native xextensions-native libxau-native xtrans-native libxdmcp-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libx11-native_cvs.bb b/packages/xorg-lib/libx11-native_cvs.bb
deleted file mode 100644
index c76d4dce8b..0000000000
--- a/packages/xorg-lib/libx11-native_cvs.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-SECTION = "x11/base"
-require libx11_cvs.bb
-inherit native
-DEPENDS = "xproto-native xextensions-native libxau-native xtrans-native libxdmcp-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libx11_20050226.bb b/packages/xorg-lib/libx11_20050226.bb
deleted file mode 100644
index 2fa9e995b8..0000000000
--- a/packages/xorg-lib/libx11_20050226.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SRCDATE = "20050226"
-
-require libx11_cvs.bb
-
-DEFAULT_PREFERENCE = "0"
-
diff --git a/packages/xorg-lib/libx11_cvs.bb b/packages/xorg-lib/libx11_cvs.bb
deleted file mode 100644
index 7b89c668dc..0000000000
--- a/packages/xorg-lib/libx11_cvs.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-PV = "6.2.1+cvs${SRCDATE}"
-LICENSE = "XFree86"
-PR = "r6"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto xextensions libxau xtrans libxdmcp"
-PROVIDES = "virtual/libx11"
-RPROVIDES = "virtual/libx11"
-DESCRIPTION = "Base X libs."
-FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB"
-FILES_${PN}-locale += "${datadir}/X11/locale"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=X11 \
- file://errordb-keysymdb-path-fix.patch;patch=1"
-S = "${WORKDIR}/X11"
-
-inherit autotools pkgconfig
-
-do_compile() {
- (
- unset CC LD CXX CCLD
-# unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake -C src/util 'CFLAGS=' 'LDFLAGS=' 'CXXFLAGS=' 'CPPFLAGS=' makekeys
- )
- rm -f ${STAGING_INCDIR}/X11/Xlib.h
- oe_runmake
-}
-
-do_stage() {
- install -c -m 644 include/X11/XKBlib.h ${STAGING_INCDIR}/X11/XKBlib.h
- install -c -m 644 include/X11/Xcms.h ${STAGING_INCDIR}/X11/Xcms.h
- install -c -m 644 include/X11/Xlib.h ${STAGING_INCDIR}/X11/Xlib.h
- install -c -m 644 include/X11/Xlibint.h ${STAGING_INCDIR}/X11/Xlibint.h
- install -c -m 644 include/X11/Xlocale.h ${STAGING_INCDIR}/X11/Xlocale.h
- install -c -m 644 include/X11/Xresource.h ${STAGING_INCDIR}/X11/Xresource.h
- install -c -m 644 include/X11/Xutil.h ${STAGING_INCDIR}/X11/Xutil.h
- install -c -m 644 include/X11/cursorfont.h ${STAGING_INCDIR}/X11/cursorfont.h
- install -c -m 644 include/X11/region.h ${STAGING_INCDIR}/X11/region.h
-
- oe_libinstall -a -so -C src libX11 ${STAGING_LIBDIR}
-}
diff --git a/packages/xorg-lib/libxau-native_0.1.1.bb b/packages/xorg-lib/libxau-native_0.1.1.bb
deleted file mode 100644
index f5acbee736..0000000000
--- a/packages/xorg-lib/libxau-native_0.1.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTION = "x11/base"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xau"
-require libxau_${PV}.bb
-inherit native
-DEPENDS = "xproto-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libxau-native_cvs.bb b/packages/xorg-lib/libxau-native_cvs.bb
deleted file mode 100644
index 685f849bd5..0000000000
--- a/packages/xorg-lib/libxau-native_cvs.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTION = "x11/base"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xau"
-require libxau_cvs.bb
-inherit native
-DEPENDS = "xproto-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libxau_cvs.bb b/packages/xorg-lib/libxau_cvs.bb
deleted file mode 100644
index 787bc290e7..0000000000
--- a/packages/xorg-lib/libxau_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "MIT"
-PR = "r1"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto"
-PROVIDES = "xau"
-DESCRIPTION = "Authorization Protocol for X."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xau"
-S = "${WORKDIR}/Xau"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxaw_7.0.2.bb b/packages/xorg-lib/libxaw_7.0.2.bb
deleted file mode 100644
index b55f2b8309..0000000000
--- a/packages/xorg-lib/libxaw_7.0.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "MIT"
-PRIORITY = "optional"
-DEPENDS = "xproto virtual/libx11 libxt libxmu libxpm"
-PROVIDES = "xaw"
-DESCRIPTION = "X Athena Widgets library"
-
-SRC_URI = "${XLIBS_MIRROR}/libXaw-${PV}.tar.bz2 \
- file://auxdir.patch;patch=1"
-
-S = "${WORKDIR}/libXaw-${PV}"
-
-inherit autotools pkgconfig
-
-# FIXME: libXaw needs a full x11, not diet
-BROKEN = "1"
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxaw_cvs.bb b/packages/xorg-lib/libxaw_cvs.bb
deleted file mode 100644
index 2c696ceba2..0000000000
--- a/packages/xorg-lib/libxaw_cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto virtual/libx11 libxt libxmu libxpm"
-PROVIDES = "xaw"
-DESCRIPTION = "X Athena Widgets library"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xaw"
-S = "${WORKDIR}/Xaw"
-
-inherit autotools pkgconfig
-
-# FIXME: libXaw needs a full x11, not diet
-BROKEN = "1"
-
-do_stage () {
- oe_runmake install DESTDIR="" mandir=${STAGING_DATADIR}/man bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
-}
diff --git a/packages/xorg-lib/libxcomposite_1.0.1.bb b/packages/xorg-lib/libxcomposite_1.0.1.bb
deleted file mode 100644
index a60f8d5179..0000000000
--- a/packages/xorg-lib/libxcomposite_1.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "BSD-X"
-DEPENDS = "virtual/libx11 compositeext xextensions libxfixes"
-PROVIDES = "xcomposite"
-DESCRIPTION = "X Composite extension library."
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXcomposite-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXcomposite-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxcomposite_cvs.bb b/packages/xorg-lib/libxcomposite_cvs.bb
deleted file mode 100644
index fd31b5dbff..0000000000
--- a/packages/xorg-lib/libxcomposite_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 compositeext xextensions libxfixes"
-PROVIDES = "xcomposite"
-DESCRIPTION = "X Composite extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xcomposite"
-S = "${WORKDIR}/Xcomposite"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxcursor_cvs.bb b/packages/xorg-lib/libxcursor_cvs.bb
deleted file mode 100644
index 5fe2334b85..0000000000
--- a/packages/xorg-lib/libxcursor_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DESCRIPTION = "X Cursor library"
-DEPENDS = "libxfixes"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xcursor"
-S = "${WORKDIR}/Xcursor"
-FILES_${PN} += "${libdir}/libXcursor.so"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxdamage_1.0.1.bb b/packages/xorg-lib/libxdamage_1.0.1.bb
deleted file mode 100644
index a132b751c0..0000000000
--- a/packages/xorg-lib/libxdamage_1.0.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "BSD-X"
-DEPENDS = "virtual/libx11 damageext libxfixes xproto"
-PROVIDES = "xdamage"
-DESCRIPTION = "X Damage extension library."
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXdamage-${PV}.tar.bz2 \
- file://m4.patch;patch=1 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXdamage-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxdamage_cvs.bb b/packages/xorg-lib/libxdamage_cvs.bb
deleted file mode 100644
index a613d0e673..0000000000
--- a/packages/xorg-lib/libxdamage_cvs.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 damageext libxfixes xproto"
-PROVIDES = "xdamage"
-DESCRIPTION = "X Damage extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xdamage \
- file://m4.patch;patch=1"
-S = "${WORKDIR}/Xdamage"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxdmcp-native_0.1.1.bb b/packages/xorg-lib/libxdmcp-native_0.1.1.bb
deleted file mode 100644
index 41b772376e..0000000000
--- a/packages/xorg-lib/libxdmcp-native_0.1.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-SECTION = "x11/libs"
-require libxdmcp_${PV}.bb
-inherit native
-DEPENDS = "xproto-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libxdmcp-native_0.1.3.bb b/packages/xorg-lib/libxdmcp-native_0.1.3.bb
deleted file mode 100644
index 87db29c799..0000000000
--- a/packages/xorg-lib/libxdmcp-native_0.1.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTION = "x11/libs"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libxdmcp"
-require libxdmcp_${PV}.bb
-inherit native
-DEPENDS = "xproto-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libxdmcp_0.1.1.bb b/packages/xorg-lib/libxdmcp_0.1.1.bb
deleted file mode 100644
index 1fa11acaa5..0000000000
--- a/packages/xorg-lib/libxdmcp_0.1.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "MIT"
-PRIORITY = "optional"
-DEPENDS = "xproto"
-PROVIDES = "xdmcp"
-DESCRIPTION = "X Display Manager Control Protocol library."
-PR = "r1"
-S = "${WORKDIR}/libXdmcp-${PV}"
-
-SRC_URI = "${XLIBS_MIRROR}/libXdmcp-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxdmcp_cvs.bb b/packages/xorg-lib/libxdmcp_cvs.bb
deleted file mode 100644
index 8f0833b402..0000000000
--- a/packages/xorg-lib/libxdmcp_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "MIT"
-PR = "r1"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto"
-PROVIDES = "xdmcp"
-DESCRIPTION = "X Display Manager Control Protocol library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xdmcp"
-S = "${WORKDIR}/Xdmcp"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxext-native_cvs.bb b/packages/xorg-lib/libxext-native_cvs.bb
deleted file mode 100644
index 82360db00d..0000000000
--- a/packages/xorg-lib/libxext-native_cvs.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTION = "unknown"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xext"
-require libxext_${PV}.bb
-inherit native
-DEPENDS = "virtual/libx11-native xextensions-native"
-PROVIDES = ""
diff --git a/packages/xorg-lib/libxfixes_cvs.bb b/packages/xorg-lib/libxfixes_cvs.bb
deleted file mode 100644
index 92bad48eeb..0000000000
--- a/packages/xorg-lib/libxfixes_cvs.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 fixesext"
-DESCRIPTION = "X Fixes extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xfixes"
-S = "${WORKDIR}/Xfixes"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxfont_1.4.2.bb b/packages/xorg-lib/libxfont_1.4.2.bb
deleted file mode 100644
index 6053762a4e..0000000000
--- a/packages/xorg-lib/libxfont_1.4.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "BSD-X"
-PRIORITY = "optional"
-DEPENDS = "xproto xtrans zlib"
-PROVIDES = "xfont"
-DESCRIPTION = "X font library (used by the X server)."
-PR = "r2"
-
-SRC_URI = "${XLIBS_MIRROR}/libXfont-${PV}.tar.bz2 \
- file://scalable.patch;patch=1 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXfont-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxfont_cvs.bb b/packages/xorg-lib/libxfont_cvs.bb
deleted file mode 100644
index d96fd87964..0000000000
--- a/packages/xorg-lib/libxfont_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "BSD-X"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto xtrans zlib"
-PROVIDES = "xfont"
-DESCRIPTION = "X font library (used by the X server)."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xfont \
- file://scalable.patch;patch=1"
-S = "${WORKDIR}/Xfont"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxft_cvs.bb b/packages/xorg-lib/libxft_cvs.bb
deleted file mode 100644
index 38ba5a6d5c..0000000000
--- a/packages/xorg-lib/libxft_cvs.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT-X"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 xproto libxrender freetype fontconfig"
-DESCRIPTION = "X FreeType library. Client-side fonts with FreeType."
-PROVIDES = "xft"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xft"
-S = "${WORKDIR}/Xft"
-
-FILES_${PN} = ${libdir}/lib*.so.*
-FILES_${PN}-dev = ${includedir} ${libdir}/lib*.so ${libdir}/*.la \
- ${libdir}/*.a ${libdir}/pkgconfig \
- ${datadir}/aclocal ${bindir} ${sbindir}
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
-python do_package() {
- if bb.data.getVar('DEBIAN_NAMES', d, 1):
- bb.data.setVar('PKG_${PN}', 'libxft2', d)
- bb.build.exec_func('package_do_package', d)
-}
diff --git a/packages/xorg-lib/libxi_6.0.1.bb b/packages/xorg-lib/libxi_6.0.1.bb
deleted file mode 100644
index b9958ea6ac..0000000000
--- a/packages/xorg-lib/libxi_6.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "X Input Extension library"
-LICENSE = "MIT-X"
-SECTION = "x11/libs"
-DEPENDS = "xproto virtual/libx11 xextensions"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXi-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXi-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/xorg-lib/libxi_cvs.bb b/packages/xorg-lib/libxi_cvs.bb
deleted file mode 100644
index f37c78e819..0000000000
--- a/packages/xorg-lib/libxi_cvs.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT-X"
-SECTION = "x11/libs"
-DEPENDS = "xproto virtual/libx11 xextensions"
-DESCRIPTION = "X Input extension library."
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xi \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/Xi"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxinerama_1.0.2+cvs20050505.bb b/packages/xorg-lib/libxinerama_1.0.2+cvs20050505.bb
deleted file mode 100644
index 36d05f77ce..0000000000
--- a/packages/xorg-lib/libxinerama_1.0.2+cvs20050505.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Xinerama library"
-LICENSE = "MIT"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "panoramixext xproto virtual/libx11 libxext"
-PROVIDES = "xinerama"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xinerama;date=20050505"
-S = "${WORKDIR}/Xinerama"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxinerama_1.0.2.bb b/packages/xorg-lib/libxinerama_1.0.2.bb
deleted file mode 100644
index 3a3594c3ed..0000000000
--- a/packages/xorg-lib/libxinerama_1.0.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-LICENSE = "MIT"
-DESCRIPTION = "Xinerama library"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "panoramixext xproto virtual/libx11 libxext"
-PROVIDES = "xinerama"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXinerama-${PV}.tar.bz2"
-S = "${WORKDIR}/libXinerama-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxinerama_cvs.bb b/packages/xorg-lib/libxinerama_cvs.bb
deleted file mode 100644
index 5138367bbf..0000000000
--- a/packages/xorg-lib/libxinerama_cvs.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Xinerama library"
-LICENSE = "MIT"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "panoramixext xproto virtual/libx11 libxext"
-PROVIDES = "xinerama"
-PV = "0.0+cvs${SRCDATE}"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xinerama"
-S = "${WORKDIR}/Xinerama"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxkbfile_cvs.bb b/packages/xorg-lib/libxkbfile_cvs.bb
deleted file mode 100644
index 336caf139a..0000000000
--- a/packages/xorg-lib/libxkbfile_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-LICENSE = "GPL"
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11"
-DESCRIPTION = "X11 keyboard library"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=xkbfile"
-S = "${WORKDIR}/xkbfile"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxmu_cvs.bb b/packages/xorg-lib/libxmu_cvs.bb
deleted file mode 100644
index 500b373c32..0000000000
--- a/packages/xorg-lib/libxmu_cvs.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "libxt libxext"
-PROVIDES = "xmu"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xmu"
-S = "${WORKDIR}/Xmu"
-
-PACKAGES =+ "xmuu xmuu-dev"
-
-FILES_xmuu = "${libdir}/libXmuu.so.*"
-FILES_xmuu-dev = "${libdir}/libXmuu.so"
-
-inherit autotools pkgconfig
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxp_cvs.bb b/packages/xorg-lib/libxp_cvs.bb
deleted file mode 100644
index e434e089cf..0000000000
--- a/packages/xorg-lib/libxp_cvs.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-
-LICENSE = "MIT"
-PV = "0.0+cvs${SRCDATE}"
-
-SECTION = "libs"
-DEPENDS = "virtual/libx11 libxext"
-DESCRIPTION = "X print extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xp"
-S = "${WORKDIR}/Xp"
-
-inherit autotools pkgconfig
-
-CFLAGS_append += " -I ${S}/include/X11/XprintUtil -I ${S}/include/X11/extensions"
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxpm_3.5.1.bb b/packages/xorg-lib/libxpm_3.5.1.bb
deleted file mode 100644
index 4e63c15ef9..0000000000
--- a/packages/xorg-lib/libxpm_3.5.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "X-BSD"
-PRIORITY = "optional"
-DEPENDS = "xproto virtual/libx11"
-PROVIDES = "xpm"
-DESCRIPTION = "X Pixmap library."
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXpm-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXpm-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage () {
- install -m 0644 ${S}/lib/xpm.h ${STAGING_INCDIR}/X11/xpm.h
- oe_libinstall -a -so -C lib libXpm ${STAGING_LIBDIR}
-}
diff --git a/packages/xorg-lib/libxpm_cvs.bb b/packages/xorg-lib/libxpm_cvs.bb
deleted file mode 100644
index df3e5f3c72..0000000000
--- a/packages/xorg-lib/libxpm_cvs.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "X-BSD"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto virtual/libx11"
-PROVIDES = "xpm"
-DESCRIPTION = "X Pixmap library."
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xpm"
-S = "${WORKDIR}/Xpm"
-
-inherit autotools pkgconfig
-
-do_stage () {
- install -m 0644 ${S}/lib/xpm.h ${STAGING_INCDIR}/X11/xpm.h
- oe_libinstall -a -so -C lib libXpm ${STAGING_LIBDIR}
-}
diff --git a/packages/xorg-lib/libxrandr_1.0.2.bb b/packages/xorg-lib/libxrandr_1.0.2.bb
deleted file mode 100644
index d87471af05..0000000000
--- a/packages/xorg-lib/libxrandr_1.0.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "BSD-X"
-DEPENDS = "randrext virtual/libx11 libxrender libxext"
-DESCRIPTION = "X Resize and Rotate extension library."
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXrandr-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXrandr-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxrandr_cvs.bb b/packages/xorg-lib/libxrandr_cvs.bb
deleted file mode 100644
index 12f3b4ef38..0000000000
--- a/packages/xorg-lib/libxrandr_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "BSD-X"
-SECTION = "x11/libs"
-DEPENDS = "randrext virtual/libx11 libxrender libxext"
-DESCRIPTION = "X Resize and Rotate extension library."
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xrandr"
-S = "${WORKDIR}/Xrandr"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxrender_cvs.bb b/packages/xorg-lib/libxrender_cvs.bb
deleted file mode 100644
index 31a710643c..0000000000
--- a/packages/xorg-lib/libxrender_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-PR = "r1"
-SECTION = "libs"
-DEPENDS = "renderext virtual/libx11"
-DESCRIPTION = "X Render extension library."
-LICENSE = "BSD"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xrender"
-S = "${WORKDIR}/Xrender"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxres_1.0.1.bb b/packages/xorg-lib/libxres_1.0.1.bb
deleted file mode 100644
index 58943c467e..0000000000
--- a/packages/xorg-lib/libxres_1.0.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 xextensions libxext resourceext"
-PROVIDES = "xres"
-DESCRIPTION = "X Resource usage library."
-LICENSE = "X-MIT"
-SRC_URI = "${XLIBS_MIRROR}/libXres-${PV}.tar.bz2"
-S = "${WORKDIR}/libXres-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxres_cvs.bb b/packages/xorg-lib/libxres_cvs.bb
deleted file mode 100644
index 02e023ee76..0000000000
--- a/packages/xorg-lib/libxres_cvs.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 xextensions libxext resourceext"
-PROVIDES = "xres"
-DESCRIPTION = "X Resource usage library."
-LICENSE = "X-MIT"
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XRes"
-S = "${WORKDIR}/XRes"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxss_cvs.bb b/packages/xorg-lib/libxss_cvs.bb
deleted file mode 100644
index 614133fce7..0000000000
--- a/packages/xorg-lib/libxss_cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-LICENSE = "GPL"
-
-PV = "0.0+cvs${SRCDATE}"
-PR = "r2"
-
-SECTION = "libs"
-DEPENDS = "virtual/libx11 libxext"
-DESCRIPTION = "X screen saver extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xss"
-S = "${WORKDIR}/Xss"
-
-inherit autotools pkgconfig
-
-#CFLAGS_append += " -I ${S}/include/X11/XprintUtil -I ${S}/include/X11/extensions"
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxt_0.1.5.bb b/packages/xorg-lib/libxt_0.1.5.bb
deleted file mode 100644
index b0d2d230d3..0000000000
--- a/packages/xorg-lib/libxt_0.1.5.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libsm"
-PROVIDES = "xt"
-DESCRIPTION = "X Toolkit Intrinsics"
-LICENSE = "X-MIT"
-PR = "r1"
-SRC_URI = "${XLIBS_MIRROR}/libXt-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXt-${PV}"
-
-PARALLEL_MAKE = ""
-
-inherit autotools pkgconfig
-
-#nasty hack as utils need to be native
-do_compile() {
- (
- unset CC LD CXX CCLD
-# unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake -C util 'CFLAGS=' 'LDFLAGS=' 'CXXFLAGS=' 'CPPFLAGS=' makestrs
- )
- oe_runmake
-}
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxt_cvs.bb b/packages/xorg-lib/libxt_cvs.bb
deleted file mode 100644
index 3fd2eabe67..0000000000
--- a/packages/xorg-lib/libxt_cvs.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libsm"
-PROVIDES = "xt"
-DESCRIPTION = "X Toolkit Intrinsics"
-LICENSE = "X-MIT"
-PR = "r1"
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xt"
-S = "${WORKDIR}/Xt"
-
-inherit autotools pkgconfig
-
-
-do_compile() {
- (
- unset CC LD CXX CCLD
- oe_runmake -C util 'CC=${BUILD_CC}' 'LD=${BUILD_LD}' 'CFLAGS=' 'LDFLAGS=' 'CXXFLAGS=' 'CPPFLAGS=' makestrs
- )
- oe_runmake
-}
-
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxtst_cvs.bb b/packages/xorg-lib/libxtst_cvs.bb
deleted file mode 100644
index dc3e358d64..0000000000
--- a/packages/xorg-lib/libxtst_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-LICENSE = "GPL"
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "virtual/libx11 recordext libxext"
-PROVIDES = "xtst"
-DESCRIPTION = "X Test Extension: client side library"
-PR = "r3"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xtst"
-S = "${WORKDIR}/Xtst"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxv_2.2.2+cvs20040918.bb b/packages/xorg-lib/libxv_2.2.2+cvs20040918.bb
deleted file mode 100644
index 93c41ce126..0000000000
--- a/packages/xorg-lib/libxv_2.2.2+cvs20040918.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-LICENSE = "GPL"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext"
-DESCRIPTION = "X Video extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xv;date=20040918;method=pserver"
-S = "${WORKDIR}/Xv"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxv_2.2.2.bb b/packages/xorg-lib/libxv_2.2.2.bb
deleted file mode 100644
index d42302979e..0000000000
--- a/packages/xorg-lib/libxv_2.2.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-LICENSE = "GPL"
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext"
-DESCRIPTION = "X Video extension library."
-
-SRC_URI = "${XLIBS_MIRROR}/libXv-${PV}.tar.bz2"
-S = "${WORKDIR}/libXv-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/libxvmc_20040919.bb b/packages/xorg-lib/libxvmc_20040919.bb
deleted file mode 100644
index f256211962..0000000000
--- a/packages/xorg-lib/libxvmc_20040919.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "X Video Motion Compensation extension library."
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext libxv drm xserver-xorg"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XvMC;date=${PV};method=pserver \
- cvs://anonymous@cvs.sourceforge.net/cvsroot/unichrome;module=libxvmc;date=${PV};method=pserver \
- file://via.patch;patch=1 \
- file://true.patch"
-S = "${WORKDIR}/XvMC"
-
-CFLAGS += "-I${STAGING_INCDIR}/X11/extensions -I${STAGING_INCDIR}/xserver-xorg"
-
-# this one is for via only atm.
-COMPATIBLE_HOST = 'i.86.*-linux'
-
-inherit autotools pkgconfig
-
-do_configure_prepend() {
- install -d ${S}/hw/via
- cp ${WORKDIR}/libxvmc/*.[ch] ${S}/hw/via/
- ( cd ${S}/hw/via ; patch < ${WORKDIR}/true.patch )
-}
-
-do_compile() {
- oe_runmake
- oe_runmake -C hw/via
-}
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DATADIR}/man
- oe_libinstall -so -C hw/via libviaXvMC ${STAGING_LIBDIR}
- install hw/via/vldXvMC.h ${STAGING_INCDIR}/X11/extensions/
-}
diff --git a/packages/xorg-lib/libxvmc_20041025.bb b/packages/xorg-lib/libxvmc_20041025.bb
deleted file mode 100644
index ff8dda58a6..0000000000
--- a/packages/xorg-lib/libxvmc_20041025.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "X Video Motion Compensation extension library."
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext libxv drm xserver-xorg"
-PR = "r2"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XvMC;date=${PV};method=pserver \
- file://true.patch;patch=1 file://drm.patch;patch=1"
-S = "${WORKDIR}/XvMC"
-
-CFLAGS += "-I${STAGING_INCDIR}/X11/extensions -I${STAGING_INCDIR}/xserver-xorg -D_BSD_SOURCE"
-
-# this one is for via only atm.
-COMPATIBLE_HOST = 'i.86.*-linux'
-
-inherit autotools pkgconfig
-
-do_compile() {
- oe_runmake
- oe_runmake -C hw/via
-}
-
-do_install() {
- oe_runmake DESTDIR='${D}' install
- oe_runmake -C hw/via DESTDIR='${D}' install
-}
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DATADIR}/man
- oe_libinstall -so -C hw/via libviaXvMC ${STAGING_LIBDIR}
- install hw/via/vldXvMC.h ${STAGING_INCDIR}/X11/extensions/
-}
diff --git a/packages/xorg-lib/libxvmc_20050612.bb b/packages/xorg-lib/libxvmc_20050612.bb
deleted file mode 100644
index d9be65baa0..0000000000
--- a/packages/xorg-lib/libxvmc_20050612.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "X Video Motion Compensation extension library."
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext libxv drm xserver-xorg"
-PR = "r0"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XvMC;date=${PV};method=pserver \
- ${FREEDESKTOP_CVS}/xorg;module=xc/lib/XvMC;date=${PV};method=pserver \
- file://true.patch;patch=1 file://drm.patch;patch=1"
-S = "${WORKDIR}/XvMC"
-
-CFLAGS += "-I${STAGING_INCDIR}/X11/extensions -I${STAGING_INCDIR}/xserver-xorg -D_BSD_SOURCE"
-
-# this one is for via only atm.
-COMPATIBLE_HOST = 'i.86.*-linux'
-
-inherit autotools pkgconfig
-
-do_compile() {
- oe_runmake
- oe_runmake -C hw/via
-}
-
-do_install() {
- oe_runmake DESTDIR='${D}' install
- oe_runmake -C hw/via DESTDIR='${D}' install
-}
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DATADIR}/man
- oe_libinstall -so -C hw/via libviaXvMC ${STAGING_LIBDIR}
- install hw/via/vldXvMC.h ${STAGING_INCDIR}/X11/extensions/
-}
diff --git a/packages/xorg-lib/libxxf86dga_cvs.bb b/packages/xorg-lib/libxxf86dga_cvs.bb
deleted file mode 100644
index d110e7e4c0..0000000000
--- a/packages/xorg-lib/libxxf86dga_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "XFree86"
-
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext xxf86dgaext"
-DESCRIPTION = "Xxf86dga extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xxf86dga"
-S = "${WORKDIR}/Xxf86dga"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_libinstall -so -a libXxf86dga ${STAGING_LIBDIR}
-}
diff --git a/packages/xorg-lib/libxxf86vm_cvs.bb b/packages/xorg-lib/libxxf86vm_cvs.bb
deleted file mode 100644
index 5464c4330c..0000000000
--- a/packages/xorg-lib/libxxf86vm_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-
-SECTION = "x11/libs"
-DEPENDS = "virtual/libx11 libxext xxf86vmext"
-DESCRIPTION = "Xxf86vm extension library."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xxf86vm"
-S = "${WORKDIR}/Xxf86vm"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-lib/xorg-headers-native.bb b/packages/xorg-lib/xorg-headers-native.bb
new file mode 100644
index 0000000000..f88bcc7aee
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native.bb
@@ -0,0 +1,9 @@
+inherit native
+
+SRC_URI = "file://X11"
+
+do_stage() {
+ install -d ${STAGING_INCDIR}
+ cp -pPfR ${WORKDIR}/X11 ${STAGING_INCDIR}
+}
+
diff --git a/packages/xorg-lib/xorg-headers-native/.mtn2git_empty b/packages/xorg-lib/xorg-headers-native/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/.mtn2git_empty
diff --git a/packages/xorg-lib/xorg-headers-native/X11/.mtn2git_empty b/packages/xorg-lib/xorg-headers-native/X11/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/.mtn2git_empty
diff --git a/packages/xorg-lib/xorg-headers-native/X11/CallbackI.h b/packages/xorg-lib/xorg-headers-native/X11/CallbackI.h
new file mode 100644
index 0000000000..4ae08ab019
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/CallbackI.h
@@ -0,0 +1,117 @@
+/* $Xorg: CallbackI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86$ */
+
+/****************************************************************
+ *
+ * Callbacks
+ *
+ ****************************************************************/
+
+typedef XrmResource **CallbackTable;
+
+#define _XtCBCalling 1
+#define _XtCBFreeAfterCalling 2
+
+typedef struct internalCallbackRec {
+ unsigned short count;
+ char is_padded; /* contains NULL padding for external form */
+ char call_state; /* combination of _XtCB{FreeAfter}Calling */
+#ifdef LONG64
+ unsigned int align_pad; /* padding to align callback list */
+#endif
+ /* XtCallbackList */
+} InternalCallbackRec, *InternalCallbackList;
+
+typedef Boolean (*_XtConditionProc)(
+ XtPointer /* data */
+);
+
+extern void _XtAddCallback(
+ InternalCallbackList* /* callbacks */,
+ XtCallbackProc /* callback */,
+ XtPointer /* closure */
+);
+
+extern void _XtAddCallbackOnce(
+ InternalCallbackList* /* callbacks */,
+ XtCallbackProc /* callback */,
+ XtPointer /* closure */
+);
+
+extern InternalCallbackList _XtCompileCallbackList(
+ XtCallbackList /* xtcallbacks */
+);
+
+extern XtCallbackList _XtGetCallbackList(
+ InternalCallbackList* /* callbacks */
+);
+
+extern void _XtRemoveAllCallbacks(
+ InternalCallbackList* /* callbacks */
+);
+
+extern void _XtRemoveCallback(
+ InternalCallbackList* /* callbacks */,
+ XtCallbackProc /* callback */,
+ XtPointer /* closure */
+);
+
+extern void _XtPeekCallback(
+ Widget /* widget */,
+ XtCallbackList /* callbacks */,
+ XtCallbackProc * /* callback */,
+ XtPointer * /* closure */
+);
+
+extern void _XtCallConditionalCallbackList(
+ Widget /* widget */,
+ XtCallbackList /* callbacks */,
+ XtPointer /* call_data */,
+ _XtConditionProc /* cond_proc */
+);
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Composite.h b/packages/xorg-lib/xorg-headers-native/X11/Composite.h
new file mode 100644
index 0000000000..0a58332be5
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Composite.h
@@ -0,0 +1,105 @@
+/* $Xorg: Composite.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86$ */
+
+#ifndef _XtComposite_h
+#define _XtComposite_h
+
+typedef struct _CompositeClassRec *CompositeWidgetClass;
+
+typedef Cardinal (*XtOrderProc)(
+ Widget /* child */
+);
+
+_XFUNCPROTOBEGIN
+
+extern void XtManageChildren(
+ WidgetList /* children */,
+ Cardinal /* num_children */
+);
+
+extern void XtManageChild(
+ Widget /* child */
+);
+
+extern void XtUnmanageChildren(
+ WidgetList /* children */,
+ Cardinal /* num_children */
+);
+
+extern void XtUnmanageChild(
+ Widget /* child */
+);
+
+typedef void (*XtDoChangeProc)(
+ Widget /* composite_parent */,
+ WidgetList /* unmanage_children */,
+ Cardinal * /* num_unmanage_children */,
+ WidgetList /* manage_children */,
+ Cardinal * /* num_manage_children */,
+ XtPointer /* client_data */
+);
+
+extern void XtChangeManagedSet(
+ WidgetList /* unmanage_children */,
+ Cardinal /* num_unmanage_children */,
+ XtDoChangeProc /* do_change_proc */,
+ XtPointer /* client_data */,
+ WidgetList /* manage_children */,
+ Cardinal /* num_manage_children */
+);
+
+_XFUNCPROTOEND
+
+#ifndef XT_COMPOSITE
+externalref WidgetClass compositeWidgetClass;
+#endif
+
+#endif /* _XtComposite_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/CompositeP.h b/packages/xorg-lib/xorg-headers-native/X11/CompositeP.h
new file mode 100644
index 0000000000..ed055b21fa
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/CompositeP.h
@@ -0,0 +1,111 @@
+/* $Xorg: CompositeP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtCompositeP_h
+#define _XtCompositeP_h
+
+#include <X11/Composite.h>
+
+/************************************************************************
+ *
+ * Additional instance fields for widgets of (sub)class 'Composite'
+ *
+ ************************************************************************/
+
+typedef struct _CompositePart {
+ WidgetList children; /* array of ALL widget children */
+ Cardinal num_children; /* total number of widget children */
+ Cardinal num_slots; /* number of slots in children array */
+ XtOrderProc insert_position; /* compute position of new child */
+} CompositePart,*CompositePtr;
+
+typedef struct _CompositeRec {
+ CorePart core;
+ CompositePart composite;
+} CompositeRec;
+
+/*********************************************************************
+ *
+ * Additional class fields for widgets of (sub)class 'Composite'
+ *
+ ********************************************************************/
+
+typedef struct _CompositeClassPart {
+ XtGeometryHandler geometry_manager; /* geometry manager for children */
+ XtWidgetProc change_managed; /* change managed state of child */
+ XtWidgetProc insert_child; /* physically add child to parent */
+ XtWidgetProc delete_child; /* physically remove child */
+ XtPointer extension; /* pointer to extension record */
+} CompositeClassPart,*CompositePartPtr;
+
+typedef struct {
+ XtPointer next_extension; /* 1st 4 mandated for all extension records */
+ XrmQuark record_type; /* NULLQUARK; on CompositeClassPart */
+ long version; /* must be XtCompositeExtensionVersion */
+ Cardinal record_size; /* sizeof(CompositeClassExtensionRec) */
+ Boolean accepts_objects;
+ Boolean allows_change_managed_set;
+} CompositeClassExtensionRec, *CompositeClassExtension;
+
+
+typedef struct _CompositeClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+} CompositeClassRec;
+
+externalref CompositeClassRec compositeClassRec;
+
+#define XtCompositeExtensionVersion 2L
+#define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit)
+#define XtInheritChangeManaged ((XtWidgetProc) _XtInherit)
+#define XtInheritInsertChild ((XtWidgetProc) _XtInherit)
+#define XtInheritDeleteChild ((XtWidgetProc) _XtInherit)
+
+#endif /* _XtCompositeP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ConstrainP.h b/packages/xorg-lib/xorg-headers-native/X11/ConstrainP.h
new file mode 100644
index 0000000000..a90d19ac6c
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ConstrainP.h
@@ -0,0 +1,94 @@
+/* $Xorg: ConstrainP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/* $oHeader: ConstrainP.h,v 1.2 88/08/18 15:54:15 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtConstraintP_h
+#define _XtConstraintP_h
+
+#include <X11/Constraint.h>
+
+typedef struct _ConstraintPart {
+ XtPointer mumble; /* No new fields, keep C compiler happy */
+} ConstraintPart;
+
+typedef struct _ConstraintRec {
+ CorePart core;
+ CompositePart composite;
+ ConstraintPart constraint;
+} ConstraintRec, *ConstraintWidget;
+
+typedef struct _ConstraintClassPart {
+ XtResourceList resources; /* constraint resource list */
+ Cardinal num_resources; /* number of constraints in list */
+ Cardinal constraint_size; /* size of constraint record */
+ XtInitProc initialize; /* constraint initialization */
+ XtWidgetProc destroy; /* constraint destroy proc */
+ XtSetValuesFunc set_values; /* constraint set_values proc */
+ XtPointer extension; /* pointer to extension record */
+} ConstraintClassPart;
+
+typedef struct {
+ XtPointer next_extension; /* 1st 4 mandated for all extension records */
+ XrmQuark record_type; /* NULLQUARK; on ConstraintClassPart */
+ long version; /* must be XtConstraintExtensionVersion */
+ Cardinal record_size; /* sizeof(ConstraintClassExtensionRec) */
+ XtArgsProc get_values_hook;
+} ConstraintClassExtensionRec, *ConstraintClassExtension;
+
+typedef struct _ConstraintClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ConstraintClassPart constraint_class;
+} ConstraintClassRec;
+
+externalref ConstraintClassRec constraintClassRec;
+
+#define XtConstraintExtensionVersion 1L
+
+#endif /* _XtConstraintP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Constraint.h b/packages/xorg-lib/xorg-headers-native/X11/Constraint.h
new file mode 100644
index 0000000000..9bb962e0d2
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Constraint.h
@@ -0,0 +1,60 @@
+/* $Xorg: Constraint.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/* $oHeader: Constraint.h,v 1.2 88/08/18 15:54:18 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtConstraint_h
+#define _XtConstraint_h
+
+typedef struct _ConstraintClassRec *ConstraintWidgetClass;
+
+#ifndef CONSTRAINT
+externalref WidgetClass constraintWidgetClass;
+#endif
+
+#endif /* _XtConstraint_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ConvertI.h b/packages/xorg-lib/xorg-headers-native/X11/ConvertI.h
new file mode 100644
index 0000000000..02c0e5ca08
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ConvertI.h
@@ -0,0 +1,96 @@
+/* $Xorg: ConvertI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/ConvertI.h,v 1.3 2001/12/14 19:56:09 dawes Exp $ */
+
+/* Representation types */
+
+extern XrmQuark _XtQString;
+
+/*
+ * Resource conversions
+ */
+
+typedef struct _ConverterRec **ConverterTable;
+
+extern void _XtAddDefaultConverters(
+ ConverterTable /* table */
+);
+
+extern void _XtSetDefaultConverterTable(
+ ConverterTable* /* table */
+);
+
+extern void _XtFreeConverterTable(
+ ConverterTable /* table */
+);
+
+extern void _XtTableAddConverter(
+ ConverterTable /* table */,
+ XrmRepresentation /* from_type */,
+ XrmRepresentation /* to_type */,
+ XtTypeConverter /* converter */,
+ XtConvertArgList /* convert_args */,
+ Cardinal /* num_args */,
+ _XtBoolean /* new_style */,
+ XtCacheType /* cache_type */,
+ XtDestructor /* destructor */,
+ _XtBoolean /* global */
+);
+
+extern Boolean _XtConvert(
+ Widget /* widget */,
+ XrmRepresentation /* from_type */,
+ XrmValuePtr /* from */,
+ XrmRepresentation /* to_type */,
+ XrmValuePtr /* to */,
+ XtCacheRef* /* cache_ref_return */
+);
+
+void _XtConvertInitialize(void);
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Core.h b/packages/xorg-lib/xorg-headers-native/X11/Core.h
new file mode 100644
index 0000000000..ff6cb75356
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Core.h
@@ -0,0 +1,66 @@
+/*
+* $Xorg: Core.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $
+* $oHeader: Core.h,v 1.2 88/08/18 15:54:32 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtCore_h
+#define _XtCore_h
+
+typedef struct _WidgetClassRec *CoreWidgetClass;
+typedef struct _WidgetRec *CoreWidget;
+externalref WidgetClass coreWidgetClass;
+
+#ifndef _XT_CORE_C
+externalref WidgetClass widgetClass;
+
+#endif
+
+#endif /* _XtCore_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/CoreP.h b/packages/xorg-lib/xorg-headers-native/X11/CoreP.h
new file mode 100644
index 0000000000..e07f085e6e
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/CoreP.h
@@ -0,0 +1,171 @@
+/*
+* $Xorg: CoreP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $
+* $oHeader: CoreP.h,v 1.2 88/08/18 15:54:37 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef XtCoreP_h
+#define XtCoreP_h
+
+#include <X11/Core.h>
+
+externalref int _XtInheritTranslations;
+
+#define XtInheritTranslations ((String) &_XtInheritTranslations)
+#define XtInheritRealize ((XtRealizeProc) _XtInherit)
+#define XtInheritResize ((XtWidgetProc) _XtInherit)
+#define XtInheritExpose ((XtExposeProc) _XtInherit)
+#define XtInheritSetValuesAlmost ((XtAlmostProc) _XtInherit)
+#define XtInheritAcceptFocus ((XtAcceptFocusProc) _XtInherit)
+#define XtInheritQueryGeometry ((XtGeometryHandler) _XtInherit)
+#define XtInheritDisplayAccelerator ((XtStringProc) _XtInherit)
+
+/***************************************************************
+ * Widget Core Data Structures
+ *
+ *
+ **************************************************************/
+
+typedef struct _CorePart {
+ Widget self; /* pointer to widget itself */
+ WidgetClass widget_class; /* pointer to Widget's ClassRec */
+ Widget parent; /* parent widget */
+ XrmName xrm_name; /* widget resource name quarkified */
+ Boolean being_destroyed; /* marked for destroy */
+ XtCallbackList destroy_callbacks; /* who to call when widget destroyed */
+ XtPointer constraints; /* constraint record */
+ Position x, y; /* window position */
+ Dimension width, height; /* window dimensions */
+ Dimension border_width; /* window border width */
+ Boolean managed; /* is widget geometry managed? */
+ Boolean sensitive; /* is widget sensitive to user events*/
+ Boolean ancestor_sensitive; /* are all ancestors sensitive? */
+ XtEventTable event_table; /* private to event dispatcher */
+ XtTMRec tm; /* translation management */
+ XtTranslations accelerators; /* accelerator translations */
+ Pixel border_pixel; /* window border pixel */
+ Pixmap border_pixmap; /* window border pixmap or NULL */
+ WidgetList popup_list; /* list of popups */
+ Cardinal num_popups; /* how many popups */
+ String name; /* widget resource name */
+ Screen *screen; /* window's screen */
+ Colormap colormap; /* colormap */
+ Window window; /* window ID */
+ Cardinal depth; /* number of planes in window */
+ Pixel background_pixel; /* window background pixel */
+ Pixmap background_pixmap; /* window background pixmap or NULL */
+ Boolean visible; /* is window mapped and not occluded?*/
+ Boolean mapped_when_managed;/* map window if it's managed? */
+} CorePart;
+
+typedef struct _WidgetRec {
+ CorePart core;
+ } WidgetRec, CoreRec;
+
+
+
+/******************************************************************
+ *
+ * Core Class Structure. Widgets, regardless of their class, will have
+ * these fields. All widgets of a given class will have the same values
+ * for these fields. Widgets of a given class may also have additional
+ * common fields. These additional fields are included in incremental
+ * class structures, such as CommandClass.
+ *
+ * The fields that are specific to this subclass, as opposed to fields that
+ * are part of the superclass, are called "subclass fields" below. Many
+ * procedures are responsible only for the subclass fields, and not for
+ * any superclass fields.
+ *
+ ********************************************************************/
+
+typedef struct _CoreClassPart {
+ WidgetClass superclass; /* pointer to superclass ClassRec */
+ String class_name; /* widget resource class name */
+ Cardinal widget_size; /* size in bytes of widget record */
+ XtProc class_initialize; /* class initialization proc */
+ XtWidgetClassProc class_part_initialize; /* dynamic initialization */
+ XtEnum class_inited; /* has class been initialized? */
+ XtInitProc initialize; /* initialize subclass fields */
+ XtArgsProc initialize_hook; /* notify that initialize called */
+ XtRealizeProc realize; /* XCreateWindow for widget */
+ XtActionList actions; /* widget semantics name to proc map */
+ Cardinal num_actions; /* number of entries in actions */
+ XtResourceList resources; /* resources for subclass fields */
+ Cardinal num_resources; /* number of entries in resources */
+ XrmClass xrm_class; /* resource class quarkified */
+ Boolean compress_motion; /* compress MotionNotify for widget */
+ XtEnum compress_exposure; /* compress Expose events for widget*/
+ Boolean compress_enterleave;/* compress enter and leave events */
+ Boolean visible_interest; /* select for VisibilityNotify */
+ XtWidgetProc destroy; /* free data for subclass pointers */
+ XtWidgetProc resize; /* geom manager changed widget size */
+ XtExposeProc expose; /* rediplay window */
+ XtSetValuesFunc set_values; /* set subclass resource values */
+ XtArgsFunc set_values_hook; /* notify that set_values called */
+ XtAlmostProc set_values_almost; /* set_values got "Almost" geo reply */
+ XtArgsProc get_values_hook; /* notify that get_values called */
+ XtAcceptFocusProc accept_focus; /* assign input focus to widget */
+ XtVersionType version; /* version of intrinsics used */
+ XtPointer callback_private; /* list of callback offsets */
+ String tm_table; /* state machine */
+ XtGeometryHandler query_geometry; /* return preferred geometry */
+ XtStringProc display_accelerator;/* display your accelerator */
+ XtPointer extension; /* pointer to extension record */
+ } CoreClassPart;
+
+typedef struct _WidgetClassRec {
+ CoreClassPart core_class;
+} WidgetClassRec, CoreClassRec;
+
+externalref WidgetClassRec widgetClassRec;
+#define coreClassRec widgetClassRec
+
+#endif /* _XtCoreP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/CreateI.h b/packages/xorg-lib/xorg-headers-native/X11/CreateI.h
new file mode 100644
index 0000000000..87abb1d2d5
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/CreateI.h
@@ -0,0 +1,37 @@
+/* $XFree86$ */
+
+#ifndef _XtcreateI_h
+#define _XtcreateI_h
+
+extern Widget _XtCreateWidget(String name, WidgetClass widget_class,
+ Widget parent, ArgList args, Cardinal num_args,
+ XtTypedArgList typed_args,
+ Cardinal num_typed_args);
+extern Widget _XtCreatePopupShell(String name, WidgetClass widget_class,
+ Widget parent, ArgList args,
+ Cardinal num_args, XtTypedArgList typed_args,
+ Cardinal num_typed_args);
+extern Widget _XtAppCreateShell(String name, String class,
+ WidgetClass widget_class, Display *display,
+ ArgList args, Cardinal num_args,
+ XtTypedArgList typed_args,
+ Cardinal num_typed_args);
+extern Widget _XtCreateHookObj(Screen *screen);
+
+
+#include <stdarg.h>
+
+/* VarCreate.c */
+extern Widget _XtVaOpenApplication(XtAppContext *app_context_return,
+ _Xconst char* application_class,
+ XrmOptionDescList options, Cardinal num_options,
+ int *argc_in_out, String *argv_in_out,
+ String *fallback_resources, WidgetClass widget_class,
+ va_list var_args);
+extern Widget _XtVaAppInitialize(XtAppContext *app_context_return,
+ _Xconst char* application_class,
+ XrmOptionDescList options, Cardinal num_options,
+ int *argc_in_out, String *argv_in_out,
+ String *fallback_resources, va_list var_args);
+
+#endif /* _XtcreateI_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/DECkeysym.h b/packages/xorg-lib/xorg-headers-native/X11/DECkeysym.h
new file mode 100644
index 0000000000..6ab103e5df
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/DECkeysym.h
@@ -0,0 +1,67 @@
+/* $Xorg: DECkeysym.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * DEC private keysyms
+ * (29th bit set)
+ */
+
+/* two-key compose sequence initiators, chosen to map to Latin1 characters */
+
+#define DXK_ring_accent 0x1000FEB0
+#define DXK_circumflex_accent 0x1000FE5E
+#define DXK_cedilla_accent 0x1000FE2C
+#define DXK_acute_accent 0x1000FE27
+#define DXK_grave_accent 0x1000FE60
+#define DXK_tilde 0x1000FE7E
+#define DXK_diaeresis 0x1000FE22
+
+/* special keysym for LK2** "Remove" key on editing keypad */
+
+#define DXK_Remove 0x1000FF00 /* Remove */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/EventI.h b/packages/xorg-lib/xorg-headers-native/X11/EventI.h
new file mode 100644
index 0000000000..00858e71ea
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/EventI.h
@@ -0,0 +1,134 @@
+/* $Xorg: EventI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/* $oHeader: EventI.h,v 1.3 88/08/24 09:21:11 asente Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/EventI.h,v 1.3 2001/12/14 19:56:12 dawes Exp $ */
+
+/*
+ * Event.h - exported types and functions for toolkit event handler
+ *
+ * Author: Charles Haynes
+ * Digital Equipment Corporation
+ * Western Software Laboratory
+ * Date: Sun Dec 6 1987
+ */
+
+#ifndef _Event_h_
+#define _Event_h_
+
+typedef struct _XtGrabRec *XtGrabList;
+
+#include "PassivGraI.h"
+
+extern void _XtEventInitialize(
+ void
+);
+
+typedef struct _XtEventRec {
+ XtEventTable next;
+ EventMask mask; /* also select_data count for RecExt */
+ XtEventHandler proc;
+ XtPointer closure;
+ unsigned int select:1;
+ unsigned int has_type_specifier:1;
+ unsigned int async:1; /* not used, here for Digital extension? */
+} XtEventRec;
+
+typedef struct _XtGrabRec {
+ XtGrabList next;
+ Widget widget;
+ unsigned int exclusive:1;
+ unsigned int spring_loaded:1;
+}XtGrabRec;
+
+typedef struct _BlockHookRec {
+ struct _BlockHookRec* next;
+ XtAppContext app;
+ XtBlockHookProc proc;
+ XtPointer closure;
+} BlockHookRec, *BlockHook;
+
+extern void _XtFreeEventTable(
+ XtEventTable* /* event_table */
+);
+
+extern Boolean _XtOnGrabList(
+ Widget /* widget */,
+ XtGrabRec* /* grabList */
+);
+
+extern void _XtRemoveAllInputs(
+ XtAppContext /* app */
+);
+
+extern void _XtRefreshMapping(
+ XEvent* /* event */,
+ _XtBoolean /* dispatch */
+);
+
+extern void _XtSendFocusEvent(
+ Widget /* child */,
+ int /* type */);
+
+extern EventMask _XtConvertTypeToMask(
+ int /* eventType */
+);
+
+/* EventUtil.c */
+extern Widget _XtFindRemapWidget(XEvent *event, Widget widget,
+ EventMask mask, XtPerDisplayInput pdi);
+extern void _XtUngrabBadGrabs(XEvent *event, Widget widget,
+ EventMask mask, XtPerDisplayInput pdi);
+extern void _XtFillAncestorList(Widget **listPtr, int *maxElemsPtr,
+ int *numElemsPtr, Widget start,
+ Widget breakWidget);
+
+/* NextEvent.c */
+extern Boolean XtAppPeekEvent_SkipTimer;
+
+#endif /* _Event_h_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/HPkeysym.h b/packages/xorg-lib/xorg-headers-native/X11/HPkeysym.h
new file mode 100644
index 0000000000..2d09277d83
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/HPkeysym.h
@@ -0,0 +1,165 @@
+/* $Xorg: HPkeysym.h,v 1.5 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Hewlett Packard
+or Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+*/
+
+#ifndef _HPKEYSYM_H
+
+#define _HPKEYSYM
+
+#define hpXK_ClearLine 0x1000FF6F
+#define hpXK_InsertLine 0x1000FF70
+#define hpXK_DeleteLine 0x1000FF71
+#define hpXK_InsertChar 0x1000FF72
+#define hpXK_DeleteChar 0x1000FF73
+#define hpXK_BackTab 0x1000FF74
+#define hpXK_KP_BackTab 0x1000FF75
+#define hpXK_Modelock1 0x1000FF48
+#define hpXK_Modelock2 0x1000FF49
+#define hpXK_Reset 0x1000FF6C
+#define hpXK_System 0x1000FF6D
+#define hpXK_User 0x1000FF6E
+#define hpXK_mute_acute 0x100000A8
+#define hpXK_mute_grave 0x100000A9
+#define hpXK_mute_asciicircum 0x100000AA
+#define hpXK_mute_diaeresis 0x100000AB
+#define hpXK_mute_asciitilde 0x100000AC
+#define hpXK_lira 0x100000AF
+#define hpXK_guilder 0x100000BE
+#define hpXK_Ydiaeresis 0x100000EE
+#define hpXK_IO 0x100000EE
+#define hpXK_longminus 0x100000F6
+#define hpXK_block 0x100000FC
+
+
+#ifndef _OSF_Keysyms
+#define _OSF_Keysyms
+
+#define osfXK_Copy 0x1004FF02
+#define osfXK_Cut 0x1004FF03
+#define osfXK_Paste 0x1004FF04
+#define osfXK_BackTab 0x1004FF07
+#define osfXK_BackSpace 0x1004FF08
+#define osfXK_Clear 0x1004FF0B
+#define osfXK_Escape 0x1004FF1B
+#define osfXK_AddMode 0x1004FF31
+#define osfXK_PrimaryPaste 0x1004FF32
+#define osfXK_QuickPaste 0x1004FF33
+#define osfXK_PageLeft 0x1004FF40
+#define osfXK_PageUp 0x1004FF41
+#define osfXK_PageDown 0x1004FF42
+#define osfXK_PageRight 0x1004FF43
+#define osfXK_Activate 0x1004FF44
+#define osfXK_MenuBar 0x1004FF45
+#define osfXK_Left 0x1004FF51
+#define osfXK_Up 0x1004FF52
+#define osfXK_Right 0x1004FF53
+#define osfXK_Down 0x1004FF54
+#define osfXK_EndLine 0x1004FF57
+#define osfXK_BeginLine 0x1004FF58
+#define osfXK_EndData 0x1004FF59
+#define osfXK_BeginData 0x1004FF5A
+#define osfXK_PrevMenu 0x1004FF5B
+#define osfXK_NextMenu 0x1004FF5C
+#define osfXK_PrevField 0x1004FF5D
+#define osfXK_NextField 0x1004FF5E
+#define osfXK_Select 0x1004FF60
+#define osfXK_Insert 0x1004FF63
+#define osfXK_Undo 0x1004FF65
+#define osfXK_Menu 0x1004FF67
+#define osfXK_Cancel 0x1004FF69
+#define osfXK_Help 0x1004FF6A
+#define osfXK_SelectAll 0x1004FF71
+#define osfXK_DeselectAll 0x1004FF72
+#define osfXK_Reselect 0x1004FF73
+#define osfXK_Extend 0x1004FF74
+#define osfXK_Restore 0x1004FF78
+#define osfXK_Delete 0x1004FFFF
+
+#endif /* _OSF_Keysyms */
+
+
+/**************************************************************
+ * The use of the following macros is deprecated.
+ * They are listed below only for backwards compatibility.
+ */
+#define XK_Reset 0x1000FF6C
+#define XK_System 0x1000FF6D
+#define XK_User 0x1000FF6E
+#define XK_ClearLine 0x1000FF6F
+#define XK_InsertLine 0x1000FF70
+#define XK_DeleteLine 0x1000FF71
+#define XK_InsertChar 0x1000FF72
+#define XK_DeleteChar 0x1000FF73
+#define XK_BackTab 0x1000FF74
+#define XK_KP_BackTab 0x1000FF75
+#define XK_Ext16bit_L 0x1000FF76
+#define XK_Ext16bit_R 0x1000FF77
+#define XK_mute_acute 0x100000a8
+#define XK_mute_grave 0x100000a9
+#define XK_mute_asciicircum 0x100000aa
+#define XK_mute_diaeresis 0x100000ab
+#define XK_mute_asciitilde 0x100000ac
+#define XK_lira 0x100000af
+#define XK_guilder 0x100000be
+#ifndef XK_Ydiaeresis
+#define XK_Ydiaeresis 0x100000ee
+#endif
+#define XK_IO 0x100000ee
+#define XK_longminus 0x100000f6
+#define XK_block 0x100000fc
+
+#endif /* _HPKEYSYM_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/HookObjI.h b/packages/xorg-lib/xorg-headers-native/X11/HookObjI.h
new file mode 100644
index 0000000000..c9a22a2565
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/HookObjI.h
@@ -0,0 +1,71 @@
+/* $Xorg: HookObjI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/*
+
+Copyright 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XtHookObjI_h
+#define _XtHookObjI_h
+
+/* This object is implementation-dependent and private to the library. */
+
+typedef struct _HookObjRec *HookObject;
+typedef struct _HookObjClassRec *HookObjectClass;
+
+externalref WidgetClass hookObjectClass;
+
+typedef struct _HookObjPart {
+ /* resources */
+ XtCallbackList createhook_callbacks;
+ XtCallbackList changehook_callbacks;
+ XtCallbackList confighook_callbacks;
+ XtCallbackList geometryhook_callbacks;
+ XtCallbackList destroyhook_callbacks;
+ WidgetList shells;
+ Cardinal num_shells;
+ /* private data */
+ Cardinal max_shells;
+ Screen* screen;
+}HookObjPart;
+
+typedef struct _HookObjRec {
+ ObjectPart object;
+ HookObjPart hooks;
+} HookObjRec;
+
+typedef struct _HookObjClassPart {
+ int unused;
+} HookObjClassPart;
+
+typedef struct _HookObjClassRec {
+ ObjectClassPart object_class;
+ HookObjClassPart hook_class;
+} HookObjClassRec;
+
+externalref HookObjClassRec hookObjClassRec;
+
+#endif /* ifndef _Xt_HookObjI_h */
+
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ImUtil.h b/packages/xorg-lib/xorg-headers-native/X11/ImUtil.h
new file mode 100644
index 0000000000..89f0381177
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ImUtil.h
@@ -0,0 +1,31 @@
+/* $XFree86: xc/lib/X11/ImUtil.h,v 1.2 2003/04/15 22:10:07 herrb Exp $ */
+
+#ifndef _IMUTIL_H_
+#define _IMUTIL_H_
+
+extern int
+_XGetScanlinePad(
+ Display *dpy,
+ int depth);
+
+extern int
+_XGetBitsPerPixel(
+ Display *dpy,
+ int depth);
+
+extern int
+_XSetImage(
+ XImage *srcimg,
+ register XImage *dstimg,
+ register int x,
+ register int y);
+
+extern int
+_XReverse_Bytes(
+ register unsigned char *bpt,
+ register int nb);
+extern void
+_XInitImageFuncPtrs(
+ register XImage *image);
+
+#endif /* _IMUTIL_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/InitialI.h b/packages/xorg-lib/xorg-headers-native/X11/InitialI.h
new file mode 100644
index 0000000000..c2fe47c1ba
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/InitialI.h
@@ -0,0 +1,429 @@
+/* $Xorg: InitialI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/InitialI.h,v 3.10 2001/12/14 19:56:18 dawes Exp $ */
+
+#ifndef _XtinitialI_h
+#define _XtinitialI_h
+
+/****************************************************************
+ *
+ * Displays
+ *
+ ****************************************************************/
+
+#ifndef X_NOT_POSIX
+#ifdef _POSIX_SOURCE
+#include <limits.h>
+#else
+#define _POSIX_SOURCE
+#include <limits.h>
+#undef _POSIX_SOURCE
+#endif
+#endif
+#ifndef PATH_MAX
+#ifdef WIN32
+#define PATH_MAX 512
+#else
+#include <sys/param.h>
+#endif
+#ifndef PATH_MAX
+#ifdef MAXPATHLEN
+#define PATH_MAX MAXPATHLEN
+#else
+#define PATH_MAX 1024
+#endif
+#endif
+#endif
+
+#include <X11/Xos.h>
+#include <X11/Xpoll.h>
+
+typedef struct _TimerEventRec {
+ struct timeval te_timer_value;
+ struct _TimerEventRec *te_next;
+ XtTimerCallbackProc te_proc;
+ XtAppContext app;
+ XtPointer te_closure;
+} TimerEventRec;
+
+typedef struct _InputEvent {
+ XtInputCallbackProc ie_proc;
+ XtPointer ie_closure;
+ struct _InputEvent *ie_next;
+ struct _InputEvent *ie_oq;
+ XtAppContext app;
+ int ie_source;
+ XtInputMask ie_condition;
+} InputEvent;
+
+typedef struct _SignalEventRec {
+ XtSignalCallbackProc se_proc;
+ XtPointer se_closure;
+ struct _SignalEventRec *se_next;
+ XtAppContext app;
+ Boolean se_notice;
+} SignalEventRec;
+
+typedef struct _WorkProcRec {
+ XtWorkProc proc;
+ XtPointer closure;
+ struct _WorkProcRec *next;
+ XtAppContext app;
+} WorkProcRec;
+
+
+typedef struct
+{
+#ifndef USE_POLL
+ fd_set rmask;
+ fd_set wmask;
+ fd_set emask;
+#endif
+ int nfds;
+} FdStruct;
+
+typedef struct _LangProcRec {
+ XtLanguageProc proc;
+ XtPointer closure;
+} LangProcRec;
+
+typedef struct _ProcessContextRec {
+ XtAppContext defaultAppContext;
+ XtAppContext appContextList;
+ ConverterTable globalConverterTable;
+ LangProcRec globalLangProcRec;
+} ProcessContextRec, *ProcessContext;
+
+typedef struct {
+ char* start;
+ char* current;
+ int bytes_remaining;
+} Heap;
+
+typedef struct _DestroyRec DestroyRec;
+
+
+typedef struct _XtAppStruct {
+ XtAppContext next; /* link to next app in process context */
+ ProcessContext process; /* back pointer to our process context */
+ InternalCallbackList destroy_callbacks;
+ Display **list;
+ TimerEventRec *timerQueue;
+ WorkProcRec *workQueue;
+ InputEvent **input_list;
+ InputEvent *outstandingQueue;
+ SignalEventRec *signalQueue;
+ XrmDatabase errorDB;
+ XtErrorMsgHandler errorMsgHandler, warningMsgHandler;
+ XtErrorHandler errorHandler, warningHandler;
+ struct _ActionListRec *action_table;
+ ConverterTable converterTable;
+ unsigned long selectionTimeout;
+ FdStruct fds;
+ short count; /* num of assigned entries in list */
+ short max; /* allocate size of list */
+ short last;
+ short input_count;
+ short input_max; /* elts input_list init'd with */
+ Boolean sync, being_destroyed, error_inited;
+#ifndef NO_IDENTIFY_WINDOWS
+ Boolean identify_windows; /* debugging hack */
+#endif
+ Heap heap;
+ String * fallback_resources; /* Set by XtAppSetFallbackResources. */
+ struct _ActionHookRec* action_hook_list;
+ struct _BlockHookRec* block_hook_list;
+ int destroy_list_size; /* state data for 2-phase destroy */
+ int destroy_count;
+ int dispatch_level;
+ DestroyRec* destroy_list;
+ Widget in_phase2_destroy;
+ LangProcRec langProcRec;
+ struct _TMBindCacheRec * free_bindings;
+ String display_name_tried;
+ Display **dpy_destroy_list;
+ int dpy_destroy_count;
+ Boolean exit_flag;
+ Boolean rebuild_fdlist;
+#ifdef XTHREADS
+ LockPtr lock_info;
+ ThreadAppProc lock;
+ ThreadAppProc unlock;
+ ThreadAppYieldLockProc yield_lock;
+ ThreadAppRestoreLockProc restore_lock;
+ ThreadAppProc free_lock;
+#endif
+} XtAppStruct;
+
+extern void _XtHeapInit(Heap* heap);
+extern void _XtHeapFree(Heap* heap);
+
+#ifdef XTTRACEMEMORY
+
+
+extern char *_XtHeapMalloc(
+ Heap* /* heap */,
+ Cardinal /* size */,
+ char * /* file */,
+ int /* line */
+);
+
+#define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__)
+
+#else /* XTTRACEMEMORY */
+
+extern char* _XtHeapAlloc(
+ Heap* /* heap */,
+ Cardinal /* size */
+);
+
+#endif /* XTTRACEMEMORY */
+
+extern void _XtSetDefaultErrorHandlers(
+ XtErrorMsgHandler* /* errMsg */,
+ XtErrorMsgHandler* /* warnMsg */,
+ XtErrorHandler* /* err */,
+ XtErrorHandler* /* warn */
+);
+
+extern void _XtSetDefaultSelectionTimeout(
+ unsigned long* /* timeout */
+);
+
+extern XtAppContext _XtDefaultAppContext(
+ void
+);
+
+extern ProcessContext _XtGetProcessContext(
+ void
+);
+
+Display *
+_XtAppInit(
+ XtAppContext* /* app_context_return */,
+ String /* application_class */,
+ XrmOptionDescRec* /* options */,
+ Cardinal /* num_options */,
+ int* /* argc_in_out */,
+ String** /* argv_in_out */,
+ String* /* fallback_resources */
+);
+
+extern void _XtDestroyAppContexts(
+ void
+);
+
+extern void _XtCloseDisplays(
+ XtAppContext /* app */
+);
+
+extern int _XtAppDestroyCount;
+
+extern int _XtWaitForSomething(
+ XtAppContext /* app */,
+ _XtBoolean /* ignoreEvents */,
+ _XtBoolean /* ignoreTimers */,
+ _XtBoolean /* ignoreInputs */,
+ _XtBoolean /* ignoreSignals */,
+ _XtBoolean /* block */,
+#ifdef XTHREADS
+ _XtBoolean /* drop_lock */,
+#endif
+ unsigned long* /* howlong */
+);
+
+typedef struct _CaseConverterRec *CaseConverterPtr;
+typedef struct _CaseConverterRec {
+ KeySym start; /* first KeySym valid in converter */
+ KeySym stop; /* last KeySym valid in converter */
+ XtCaseProc proc; /* case converter function */
+ CaseConverterPtr next; /* next converter record */
+} CaseConverterRec;
+
+typedef struct _ExtensionSelectorRec {
+ XtExtensionSelectProc proc;
+ int min, max;
+ XtPointer client_data;
+} ExtSelectRec;
+
+typedef struct _XtPerDisplayStruct {
+ InternalCallbackList destroy_callbacks;
+ Region region;
+ CaseConverterPtr case_cvt; /* user-registered case converters */
+ XtKeyProc defaultKeycodeTranslator;
+ XtAppContext appContext;
+ unsigned long keysyms_serial; /* for tracking MappingNotify events */
+ KeySym *keysyms; /* keycode to keysym table */
+ int keysyms_per_keycode; /* number of keysyms for each keycode*/
+ int min_keycode, max_keycode; /* range of keycodes */
+ KeySym *modKeysyms; /* keysym values for modToKeysysm */
+ ModToKeysymTable *modsToKeysyms; /* modifiers to Keysysms index table*/
+ unsigned char isModifier[32]; /* key-is-modifier-p bit table */
+ KeySym lock_meaning; /* Lock modifier meaning */
+ Modifiers mode_switch; /* keyboard group modifiers */
+ Modifiers num_lock; /* keyboard numlock modifiers */
+ Boolean being_destroyed;
+ Boolean rv; /* reverse_video resource */
+ XrmName name; /* resolved app name */
+ XrmClass class; /* application class */
+ Heap heap;
+ struct _GCrec *GClist; /* support for XtGetGC */
+ Drawable **pixmap_tab; /* ditto for XtGetGC */
+ String language; /* XPG language string */
+ XEvent last_event; /* last event dispatched */
+ Time last_timestamp; /* from last event dispatched */
+ int multi_click_time; /* for XtSetMultiClickTime */
+ struct _TMKeyContextRec* tm_context; /* for XtGetActionKeysym */
+ InternalCallbackList mapping_callbacks; /* special case for TM */
+ XtPerDisplayInputRec pdi; /* state for modal grabs & kbd focus */
+ struct _WWTable *WWtable; /* window to widget table */
+ XrmDatabase *per_screen_db; /* per screen resource databases */
+ XrmDatabase cmd_db; /* db from command line, if needed */
+ XrmDatabase server_db; /* resource property else .Xdefaults */
+ XtEventDispatchProc* dispatcher_list;
+ ExtSelectRec* ext_select_list;
+ int ext_select_count;
+ Widget hook_object;
+#ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT
+ Atom rcm_init; /* ResConfig - initialize */
+ Atom rcm_data; /* ResConfig - data atom */
+#endif
+} XtPerDisplayStruct, *XtPerDisplay;
+
+typedef struct _PerDisplayTable {
+ Display *dpy;
+ XtPerDisplayStruct perDpy;
+ struct _PerDisplayTable *next;
+} PerDisplayTable, *PerDisplayTablePtr;
+
+extern PerDisplayTablePtr _XtperDisplayList;
+
+extern XtPerDisplay _XtSortPerDisplayList(
+ Display* /* dpy */
+);
+
+extern XtPerDisplay _XtGetPerDisplay(
+ Display* /* dpy */
+);
+
+extern XtPerDisplayInputRec* _XtGetPerDisplayInput(
+ Display* /* dpy */
+);
+
+#if 0
+#ifdef DEBUG
+#define _XtGetPerDisplay(display) \
+ ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \
+ ? &_XtperDisplayList->perDpy \
+ : _XtSortPerDisplayList(display))
+#define _XtGetPerDisplayInput(display) \
+ ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \
+ ? &_XtperDisplayList->perDpy.pdi \
+ : &_XtSortPerDisplayList(display)->pdi)
+#else
+#define _XtGetPerDisplay(display) \
+ ((_XtperDisplayList->dpy == (display)) \
+ ? &_XtperDisplayList->perDpy \
+ : _XtSortPerDisplayList(display))
+#define _XtGetPerDisplayInput(display) \
+ ((_XtperDisplayList->dpy == (display)) \
+ ? &_XtperDisplayList->perDpy.pdi \
+ : &_XtSortPerDisplayList(display)->pdi)
+#endif /*DEBUG*/
+#endif
+
+extern void _XtDisplayInitialize(
+ Display* /* dpy */,
+ XtPerDisplay /* pd */,
+ _Xconst char* /* name */,
+ XrmOptionDescRec* /* urlist */,
+ Cardinal /* num_urs */,
+ int* /* argc */,
+ char** /* argv */
+);
+
+extern void _XtCacheFlushTag(
+ XtAppContext /* app */,
+ XtPointer /* tag */
+);
+
+extern void _XtFreeActions(
+ struct _ActionListRec* /* action_table */
+);
+
+extern void _XtDoPhase2Destroy(
+ XtAppContext /* app */,
+ int /* dispatch_level */
+);
+
+extern void _XtDoFreeBindings(
+ XtAppContext /* app */
+);
+
+extern void _XtExtensionSelect(
+ Widget /* widget */
+);
+
+#define _XtSafeToDestroy(app) ((app)->dispatch_level == 0)
+
+extern void _XtAllocWWTable(
+ XtPerDisplay pd
+);
+
+extern void _XtFreeWWTable(
+ XtPerDisplay pd
+);
+
+extern String _XtGetUserName(String dest, int len);
+extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist,
+ Cardinal num_urs, int argc, String *argv,
+ String *applName, String *displayName,
+ String *language);
+
+#endif /* _XtinitialI_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Intrinsic.h b/packages/xorg-lib/xorg-headers-native/X11/Intrinsic.h
new file mode 100644
index 0000000000..0461b842f4
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Intrinsic.h
@@ -0,0 +1,2589 @@
+/* $Xorg: Intrinsic.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/Intrinsic.h,v 3.8 2001/12/14 19:56:22 dawes Exp $ */
+
+#ifndef _XtIntrinsic_h
+#define _XtIntrinsic_h
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xresource.h>
+#include <X11/Xfuncproto.h>
+#ifdef XT_BC
+#include <X11/Xos.h> /* for R4 compatibility */
+#else
+#include <X11/Xosdefs.h>
+#include <string.h> /* for XtNewString */
+#endif /* XT_BC else */
+
+#define XtSpecificationRelease 6
+
+typedef char *String;
+
+/* We do this in order to get "const" declarations to work right. We
+ * use _XtString instead of String so that C++ applications can
+ * #define String to something else if they choose, to avoid conflicts
+ * with other C++ libraries.
+ */
+#define _XtString char*
+
+/* _Xt names are private to Xt implementation, do not use in client code */
+#if NeedWidePrototypes
+#define _XtBoolean int
+#define _XtDimension unsigned int
+#define _XtKeyCode unsigned int
+#define _XtPosition int
+#define _XtXtEnum unsigned int
+#else
+#define _XtBoolean Boolean
+#define _XtDimension Dimension
+#define _XtKeyCode KeyCode
+#define _XtPosition Position
+#define _XtXtEnum XtEnum
+#endif /* NeedWidePrototypes */
+
+#include <stddef.h>
+
+#ifdef VMS
+#define externalref globalref
+#define externaldef(psect) globaldef {"psect"} noshare
+#else
+#define externalref extern
+#define externaldef(psect)
+#endif /* VMS */
+
+#ifndef FALSE
+#define FALSE 0
+#define TRUE 1
+#endif
+
+#define XtNumber(arr) ((Cardinal) (sizeof(arr) / sizeof(arr[0])))
+
+typedef struct _WidgetRec *Widget;
+typedef Widget *WidgetList;
+typedef struct _WidgetClassRec *WidgetClass;
+typedef struct _CompositeRec *CompositeWidget;
+typedef struct _XtActionsRec *XtActionList;
+typedef struct _XtEventRec *XtEventTable;
+
+typedef struct _XtAppStruct *XtAppContext;
+typedef unsigned long XtValueMask;
+typedef unsigned long XtIntervalId;
+typedef unsigned long XtInputId;
+typedef unsigned long XtWorkProcId;
+typedef unsigned long XtSignalId;
+typedef unsigned int XtGeometryMask;
+typedef unsigned long XtGCMask; /* Mask of values that are used by widget*/
+typedef unsigned long Pixel; /* Index into colormap */
+typedef int XtCacheType;
+#define XtCacheNone 0x001
+#define XtCacheAll 0x002
+#define XtCacheByDisplay 0x003
+#define XtCacheRefCount 0x100
+
+/****************************************************************
+ *
+ * System Dependent Definitions; see spec for specific range
+ * requirements. Do not assume every implementation uses the
+ * same base types!
+ *
+ *
+ * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc *
+ * but casting to union types is not really supported.
+ *
+ * So the typedef for XtArgVal should be chosen such that
+ *
+ * sizeof (XtArgVal) >= sizeof(XtPointer)
+ * sizeof(char *)
+ * sizeof(long)
+ * sizeof(int *)
+ * sizeof(proc *)
+ *
+ * ArgLists rely heavily on the above typedef.
+ *
+ ****************************************************************/
+#ifdef CRAY
+typedef long Boolean;
+typedef char* XtArgVal;
+typedef long XtEnum;
+#else
+typedef char Boolean;
+typedef long XtArgVal;
+typedef unsigned char XtEnum;
+#endif
+
+typedef unsigned int Cardinal;
+typedef unsigned short Dimension; /* Size in pixels */
+typedef short Position; /* Offset from 0 coordinate */
+
+typedef void* XtPointer;
+
+/* The type Opaque is NOT part of the Xt standard, do NOT use it. */
+/* (It remains here only for backward compatibility.) */
+typedef XtPointer Opaque;
+
+#include <X11/Core.h>
+#include <X11/Composite.h>
+#include <X11/Constraint.h>
+#include <X11/Object.h>
+#include <X11/RectObj.h>
+
+typedef struct _TranslationData *XtTranslations;
+typedef struct _TranslationData *XtAccelerators;
+typedef unsigned int Modifiers;
+
+typedef void (*XtActionProc)(
+ Widget /* widget */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+typedef XtActionProc* XtBoundActions;
+
+typedef struct _XtActionsRec{
+ String string;
+ XtActionProc proc;
+} XtActionsRec;
+
+typedef enum {
+/* address mode parameter representation */
+/* ------------ ------------------------ */
+ XtAddress, /* address */
+ XtBaseOffset, /* offset */
+ XtImmediate, /* constant */
+ XtResourceString, /* resource name string */
+ XtResourceQuark, /* resource name quark */
+ XtWidgetBaseOffset, /* offset from ancestor */
+ XtProcedureArg /* procedure to invoke */
+} XtAddressMode;
+
+typedef struct {
+ XtAddressMode address_mode;
+ XtPointer address_id;
+ Cardinal size;
+} XtConvertArgRec, *XtConvertArgList;
+
+typedef void (*XtConvertArgProc)(
+ Widget /* widget */,
+ Cardinal* /* size */,
+ XrmValue* /* value */
+);
+
+typedef struct {
+ XtGeometryMask request_mode;
+ Position x, y;
+ Dimension width, height, border_width;
+ Widget sibling;
+ int stack_mode; /* Above, Below, TopIf, BottomIf, Opposite, DontChange */
+} XtWidgetGeometry;
+
+/* Additions to Xlib geometry requests: ask what would happen, don't do it */
+#define XtCWQueryOnly (1 << 7)
+
+/* Additions to Xlib stack modes: don't change stack order */
+#define XtSMDontChange 5
+
+typedef void (*XtConverter)( /* obsolete */
+ XrmValue* /* args */,
+ Cardinal* /* num_args */,
+ XrmValue* /* from */,
+ XrmValue* /* to */
+);
+
+typedef Boolean (*XtTypeConverter)(
+ Display* /* dpy */,
+ XrmValue* /* args */,
+ Cardinal* /* num_args */,
+ XrmValue* /* from */,
+ XrmValue* /* to */,
+ XtPointer* /* converter_data */
+);
+
+typedef void (*XtDestructor)(
+ XtAppContext /* app */,
+ XrmValue* /* to */,
+ XtPointer /* converter_data */,
+ XrmValue* /* args */,
+ Cardinal* /* num_args */
+);
+
+typedef Opaque XtCacheRef;
+
+typedef Opaque XtActionHookId;
+
+typedef void (*XtActionHookProc)(
+ Widget /* w */,
+ XtPointer /* client_data */,
+ String /* action_name */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+typedef unsigned long XtBlockHookId;
+
+typedef void (*XtBlockHookProc)(
+ XtPointer /* client_data */
+);
+
+typedef void (*XtKeyProc)(
+ Display* /* dpy */,
+ _XtKeyCode /* keycode */,
+ Modifiers /* modifiers */,
+ Modifiers* /* modifiers_return */,
+ KeySym* /* keysym_return */
+);
+
+typedef void (*XtCaseProc)(
+ Display* /* display */,
+ KeySym /* keysym */,
+ KeySym* /* lower_return */,
+ KeySym* /* upper_return */
+);
+
+typedef void (*XtEventHandler)(
+ Widget /* widget */,
+ XtPointer /* closure */,
+ XEvent* /* event */,
+ Boolean* /* continue_to_dispatch */
+);
+typedef unsigned long EventMask;
+
+typedef enum {XtListHead, XtListTail } XtListPosition;
+
+typedef unsigned long XtInputMask;
+#define XtInputNoneMask 0L
+#define XtInputReadMask (1L<<0)
+#define XtInputWriteMask (1L<<1)
+#define XtInputExceptMask (1L<<2)
+
+typedef void (*XtTimerCallbackProc)(
+ XtPointer /* closure */,
+ XtIntervalId* /* id */
+);
+
+typedef void (*XtInputCallbackProc)(
+ XtPointer /* closure */,
+ int* /* source */,
+ XtInputId* /* id */
+);
+
+typedef void (*XtSignalCallbackProc)(
+ XtPointer /* closure */,
+ XtSignalId* /* id */
+);
+
+typedef struct {
+ String name;
+ XtArgVal value;
+} Arg, *ArgList;
+
+typedef XtPointer XtVarArgsList;
+
+typedef void (*XtCallbackProc)(
+ Widget /* widget */,
+ XtPointer /* closure */, /* data the application registered */
+ XtPointer /* call_data */ /* callback specific data */
+);
+
+typedef struct _XtCallbackRec {
+ XtCallbackProc callback;
+ XtPointer closure;
+} XtCallbackRec, *XtCallbackList;
+
+typedef enum {
+ XtCallbackNoList,
+ XtCallbackHasNone,
+ XtCallbackHasSome
+} XtCallbackStatus;
+
+typedef enum {
+ XtGeometryYes, /* Request accepted. */
+ XtGeometryNo, /* Request denied. */
+ XtGeometryAlmost, /* Request denied, but willing to take replyBox. */
+ XtGeometryDone /* Request accepted and done. */
+} XtGeometryResult;
+
+typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;
+
+typedef struct {
+ Widget shell_widget;
+ Widget enable_widget;
+} XtPopdownIDRec, *XtPopdownID;
+
+typedef struct _XtResource {
+ String resource_name; /* Resource name */
+ String resource_class; /* Resource class */
+ String resource_type; /* Representation type desired */
+ Cardinal resource_size; /* Size in bytes of representation */
+ Cardinal resource_offset;/* Offset from base to put resource value */
+ String default_type; /* representation type of specified default */
+ XtPointer default_addr; /* Address of default resource */
+} XtResource, *XtResourceList;
+
+typedef void (*XtResourceDefaultProc)(
+ Widget /* widget */,
+ int /* offset */,
+ XrmValue* /* value */
+);
+
+typedef String (*XtLanguageProc)(
+ Display* /* dpy */,
+ String /* xnl */,
+ XtPointer /* client_data */
+);
+
+typedef void (*XtErrorMsgHandler)(
+ String /* name */,
+ String /* type */,
+ String /* class */,
+ String /* default */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+typedef void (*XtErrorHandler)(
+ String /* msg */
+);
+
+typedef void (*XtCreatePopupChildProc)(
+ Widget /* shell */
+);
+
+typedef Boolean (*XtWorkProc)(
+ XtPointer /* closure */ /* data the application registered */
+);
+
+typedef struct {
+ char match;
+ String substitution;
+} SubstitutionRec, *Substitution;
+
+typedef Boolean (*XtFilePredicate)(
+ String /* filename */
+);
+
+typedef XtPointer XtRequestId;
+
+typedef Boolean (*XtConvertSelectionProc)(
+ Widget /* widget */,
+ Atom* /* selection */,
+ Atom* /* target */,
+ Atom* /* type_return */,
+ XtPointer* /* value_return */,
+ unsigned long* /* length_return */,
+ int* /* format_return */
+);
+
+typedef void (*XtLoseSelectionProc)(
+ Widget /* widget */,
+ Atom* /* selection */
+);
+
+typedef void (*XtSelectionDoneProc)(
+ Widget /* widget */,
+ Atom* /* selection */,
+ Atom* /* target */
+);
+
+typedef void (*XtSelectionCallbackProc)(
+ Widget /* widget */,
+ XtPointer /* closure */,
+ Atom* /* selection */,
+ Atom* /* type */,
+ XtPointer /* value */,
+ unsigned long* /* length */,
+ int* /* format */
+);
+
+typedef void (*XtLoseSelectionIncrProc)(
+ Widget /* widget */,
+ Atom* /* selection */,
+ XtPointer /* client_data */
+);
+
+typedef void (*XtSelectionDoneIncrProc)(
+ Widget /* widget */,
+ Atom* /* selection */,
+ Atom* /* target */,
+ XtRequestId* /* receiver_id */,
+ XtPointer /* client_data */
+);
+
+typedef Boolean (*XtConvertSelectionIncrProc)(
+ Widget /* widget */,
+ Atom* /* selection */,
+ Atom* /* target */,
+ Atom* /* type */,
+ XtPointer* /* value */,
+ unsigned long* /* length */,
+ int* /* format */,
+ unsigned long* /* max_length */,
+ XtPointer /* client_data */,
+ XtRequestId* /* receiver_id */
+);
+
+typedef void (*XtCancelConvertSelectionProc)(
+ Widget /* widget */,
+ Atom* /* selection */,
+ Atom* /* target */,
+ XtRequestId* /* receiver_id */,
+ XtPointer /* client_data */
+);
+
+typedef Boolean (*XtEventDispatchProc)(
+ XEvent* /* event */
+);
+
+typedef void (*XtExtensionSelectProc)(
+ Widget /* widget */,
+ int* /* event_types */,
+ XtPointer* /* select_data */,
+ int /* count */,
+ XtPointer /* client_data */
+);
+
+/***************************************************************
+ *
+ * Exported Interfaces
+ *
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+extern Boolean XtConvertAndStore(
+ Widget /* widget */,
+ _Xconst _XtString /* from_type */,
+ XrmValue* /* from */,
+ _Xconst _XtString /* to_type */,
+ XrmValue* /* to_in_out */
+);
+
+extern Boolean XtCallConverter(
+ Display* /* dpy */,
+ XtTypeConverter /* converter */,
+ XrmValuePtr /* args */,
+ Cardinal /* num_args */,
+ XrmValuePtr /* from */,
+ XrmValue* /* to_in_out */,
+ XtCacheRef* /* cache_ref_return */
+);
+
+extern Boolean XtDispatchEvent(
+ XEvent* /* event */
+);
+
+extern Boolean XtCallAcceptFocus(
+ Widget /* widget */,
+ Time* /* time */
+);
+
+extern Boolean XtPeekEvent( /* obsolete */
+ XEvent* /* event_return */
+);
+
+extern Boolean XtAppPeekEvent(
+ XtAppContext /* app_context */,
+ XEvent* /* event_return */
+);
+
+extern Boolean XtIsSubclass(
+ Widget /* widget */,
+ WidgetClass /* widgetClass */
+);
+
+extern Boolean XtIsObject(
+ Widget /* object */
+);
+
+extern Boolean _XtCheckSubclassFlag( /* implementation-private */
+ Widget /* object */,
+ _XtXtEnum /* type_flag */
+);
+
+extern Boolean _XtIsSubclassOf( /* implementation-private */
+ Widget /* object */,
+ WidgetClass /* widget_class */,
+ WidgetClass /* flag_class */,
+ _XtXtEnum /* type_flag */
+);
+
+extern Boolean XtIsManaged(
+ Widget /* rectobj */
+);
+
+extern Boolean XtIsRealized(
+ Widget /* widget */
+);
+
+extern Boolean XtIsSensitive(
+ Widget /* widget */
+);
+
+extern Boolean XtOwnSelection(
+ Widget /* widget */,
+ Atom /* selection */,
+ Time /* time */,
+ XtConvertSelectionProc /* convert */,
+ XtLoseSelectionProc /* lose */,
+ XtSelectionDoneProc /* done */
+);
+
+extern Boolean XtOwnSelectionIncremental(
+ Widget /* widget */,
+ Atom /* selection */,
+ Time /* time */,
+ XtConvertSelectionIncrProc /* convert_callback */,
+ XtLoseSelectionIncrProc /* lose_callback */,
+ XtSelectionDoneIncrProc /* done_callback */,
+ XtCancelConvertSelectionProc /* cancel_callback */,
+ XtPointer /* client_data */
+);
+
+extern XtGeometryResult XtMakeResizeRequest(
+ Widget /* widget */,
+ _XtDimension /* width */,
+ _XtDimension /* height */,
+ Dimension* /* width_return */,
+ Dimension* /* height_return */
+);
+
+extern void XtTranslateCoords(
+ Widget /* widget */,
+ _XtPosition /* x */,
+ _XtPosition /* y */,
+ Position* /* rootx_return */,
+ Position* /* rooty_return */
+);
+
+extern KeySym* XtGetKeysymTable(
+ Display* /* dpy */,
+ KeyCode* /* min_keycode_return */,
+ int* /* keysyms_per_keycode_return */
+);
+
+extern void XtKeysymToKeycodeList(
+ Display* /* dpy */,
+ KeySym /* keysym */,
+ KeyCode** /* keycodes_return */,
+ Cardinal* /* keycount_return */
+);
+
+extern void XtStringConversionWarning( /* obsolete */
+ _Xconst _XtString /* from_value */,
+ _Xconst _XtString /* to_type */
+);
+
+extern void XtDisplayStringConversionWarning(
+ Display* /* dpy */,
+ _Xconst _XtString /* from_value */,
+ _Xconst _XtString /* to_type */
+);
+
+externalref XtConvertArgRec const colorConvertArgs[];
+externalref XtConvertArgRec const screenConvertArg[];
+
+extern void XtAppAddConverter( /* obsolete */
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* from_type */,
+ _Xconst _XtString /* to_type */,
+ XtConverter /* converter */,
+ XtConvertArgList /* convert_args */,
+ Cardinal /* num_args */
+);
+
+extern void XtAddConverter( /* obsolete */
+ _Xconst _XtString /* from_type */,
+ _Xconst _XtString /* to_type */,
+ XtConverter /* converter */,
+ XtConvertArgList /* convert_args */,
+ Cardinal /* num_args */
+);
+
+extern void XtSetTypeConverter(
+ _Xconst _XtString /* from_type */,
+ _Xconst _XtString /* to_type */,
+ XtTypeConverter /* converter */,
+ XtConvertArgList /* convert_args */,
+ Cardinal /* num_args */,
+ XtCacheType /* cache_type */,
+ XtDestructor /* destructor */
+);
+
+extern void XtAppSetTypeConverter(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* from_type */,
+ _Xconst _XtString /* to_type */,
+ XtTypeConverter /* converter */,
+ XtConvertArgList /* convert_args */,
+ Cardinal /* num_args */,
+ XtCacheType /* cache_type */,
+ XtDestructor /* destructor */
+);
+
+extern void XtConvert( /* obsolete */
+ Widget /* widget */,
+ _Xconst _XtString /* from_type */,
+ XrmValue* /* from */,
+ _Xconst _XtString /* to_type */,
+ XrmValue* /* to_return */
+);
+
+extern void XtDirectConvert( /* obsolete */
+ XtConverter /* converter */,
+ XrmValuePtr /* args */,
+ Cardinal /* num_args */,
+ XrmValuePtr /* from */,
+ XrmValue* /* to_return */
+);
+
+/****************************************************************
+ *
+ * Translation Management
+ *
+ ****************************************************************/
+
+extern XtTranslations XtParseTranslationTable(
+ _Xconst _XtString /* table */
+);
+
+extern XtAccelerators XtParseAcceleratorTable(
+ _Xconst _XtString /* source */
+);
+
+extern void XtOverrideTranslations(
+ Widget /* widget */,
+ XtTranslations /* translations */
+);
+
+extern void XtAugmentTranslations(
+ Widget /* widget */,
+ XtTranslations /* translations */
+);
+
+extern void XtInstallAccelerators(
+ Widget /* destination */,
+ Widget /* source */
+);
+
+extern void XtInstallAllAccelerators(
+ Widget /* destination */,
+ Widget /* source */
+);
+
+extern void XtUninstallTranslations(
+ Widget /* widget */
+);
+
+extern void XtAppAddActions(
+ XtAppContext /* app_context */,
+ XtActionList /* actions */,
+ Cardinal /* num_actions */
+);
+
+extern void XtAddActions( /* obsolete */
+ XtActionList /* actions */,
+ Cardinal /* num_actions */
+);
+
+extern XtActionHookId XtAppAddActionHook(
+ XtAppContext /* app_context */,
+ XtActionHookProc /* proc */,
+ XtPointer /* client_data */
+);
+
+extern void XtRemoveActionHook(
+ XtActionHookId /* id */
+);
+
+extern void XtGetActionList(
+ WidgetClass /* widget_class */,
+ XtActionList* /* actions_return */,
+ Cardinal* /* num_actions_return */
+);
+
+extern void XtCallActionProc(
+ Widget /* widget */,
+ _Xconst _XtString /* action */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal /* num_params */
+);
+
+extern void XtRegisterGrabAction(
+ XtActionProc /* action_proc */,
+ _XtBoolean /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */
+);
+
+extern void XtSetMultiClickTime(
+ Display* /* dpy */,
+ int /* milliseconds */
+);
+
+extern int XtGetMultiClickTime(
+ Display* /* dpy */
+);
+
+extern KeySym XtGetActionKeysym(
+ XEvent* /* event */,
+ Modifiers* /* modifiers_return */
+);
+
+/***************************************************************
+ *
+ * Keycode and Keysym procedures for translation management
+ *
+ ****************************************************************/
+
+extern void XtTranslateKeycode(
+ Display* /* dpy */,
+ _XtKeyCode /* keycode */,
+ Modifiers /* modifiers */,
+ Modifiers* /* modifiers_return */,
+ KeySym* /* keysym_return */
+);
+
+extern void XtTranslateKey(
+ Display* /* dpy */,
+ _XtKeyCode /* keycode */,
+ Modifiers /* modifiers */,
+ Modifiers* /* modifiers_return */,
+ KeySym* /* keysym_return */
+);
+
+extern void XtSetKeyTranslator(
+ Display* /* dpy */,
+ XtKeyProc /* proc */
+);
+
+extern void XtRegisterCaseConverter(
+ Display* /* dpy */,
+ XtCaseProc /* proc */,
+ KeySym /* start */,
+ KeySym /* stop */
+);
+
+extern void XtConvertCase(
+ Display* /* dpy */,
+ KeySym /* keysym */,
+ KeySym* /* lower_return */,
+ KeySym* /* upper_return */
+);
+
+/****************************************************************
+ *
+ * Event Management
+ *
+ ****************************************************************/
+
+/* XtAllEvents is valid only for XtRemoveEventHandler and
+ * XtRemoveRawEventHandler; don't use it to select events!
+ */
+#define XtAllEvents ((EventMask) -1L)
+
+extern void XtAddEventHandler(
+ Widget /* widget */,
+ EventMask /* event_mask */,
+ _XtBoolean /* nonmaskable */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveEventHandler(
+ Widget /* widget */,
+ EventMask /* event_mask */,
+ _XtBoolean /* nonmaskable */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtAddRawEventHandler(
+ Widget /* widget */,
+ EventMask /* event_mask */,
+ _XtBoolean /* nonmaskable */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveRawEventHandler(
+ Widget /* widget */,
+ EventMask /* event_mask */,
+ _XtBoolean /* nonmaskable */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtInsertEventHandler(
+ Widget /* widget */,
+ EventMask /* event_mask */,
+ _XtBoolean /* nonmaskable */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */,
+ XtListPosition /* position */
+);
+
+extern void XtInsertRawEventHandler(
+ Widget /* widget */,
+ EventMask /* event_mask */,
+ _XtBoolean /* nonmaskable */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */,
+ XtListPosition /* position */
+);
+
+extern XtEventDispatchProc XtSetEventDispatcher(
+ Display* /* dpy */,
+ int /* event_type */,
+ XtEventDispatchProc /* proc */
+);
+
+extern Boolean XtDispatchEventToWidget(
+ Widget /* widget */,
+ XEvent* /* event */
+);
+
+extern void XtInsertEventTypeHandler(
+ Widget /* widget */,
+ int /* type */,
+ XtPointer /* select_data */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */,
+ XtListPosition /* position */
+);
+
+extern void XtRemoveEventTypeHandler(
+ Widget /* widget */,
+ int /* type */,
+ XtPointer /* select_data */,
+ XtEventHandler /* proc */,
+ XtPointer /* closure */
+);
+
+extern EventMask XtBuildEventMask(
+ Widget /* widget */
+);
+
+extern void XtRegisterExtensionSelector(
+ Display* /* dpy */,
+ int /* min_event_type */,
+ int /* max_event_type */,
+ XtExtensionSelectProc /* proc */,
+ XtPointer /* client_data */
+);
+
+extern void XtAddGrab(
+ Widget /* widget */,
+ _XtBoolean /* exclusive */,
+ _XtBoolean /* spring_loaded */
+);
+
+extern void XtRemoveGrab(
+ Widget /* widget */
+);
+
+extern void XtProcessEvent( /* obsolete */
+ XtInputMask /* mask */
+);
+
+extern void XtAppProcessEvent(
+ XtAppContext /* app_context */,
+ XtInputMask /* mask */
+);
+
+extern void XtMainLoop( /* obsolete */
+ void
+);
+
+extern void XtAppMainLoop(
+ XtAppContext /* app_context */
+);
+
+extern void XtAddExposureToRegion(
+ XEvent* /* event */,
+ Region /* region */
+);
+
+extern void XtSetKeyboardFocus(
+ Widget /* subtree */,
+ Widget /* descendent */
+);
+
+extern Widget XtGetKeyboardFocusWidget(
+ Widget /* widget */
+);
+
+extern XEvent* XtLastEventProcessed(
+ Display* /* dpy */
+);
+
+extern Time XtLastTimestampProcessed(
+ Display* /* dpy */
+);
+
+/****************************************************************
+ *
+ * Event Gathering Routines
+ *
+ ****************************************************************/
+
+extern XtIntervalId XtAddTimeOut( /* obsolete */
+ unsigned long /* interval */,
+ XtTimerCallbackProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern XtIntervalId XtAppAddTimeOut(
+ XtAppContext /* app_context */,
+ unsigned long /* interval */,
+ XtTimerCallbackProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveTimeOut(
+ XtIntervalId /* timer */
+);
+
+extern XtInputId XtAddInput( /* obsolete */
+ int /* source */,
+ XtPointer /* condition */,
+ XtInputCallbackProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern XtInputId XtAppAddInput(
+ XtAppContext /* app_context */,
+ int /* source */,
+ XtPointer /* condition */,
+ XtInputCallbackProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveInput(
+ XtInputId /* id */
+);
+
+extern XtSignalId XtAddSignal(
+ XtSignalCallbackProc /* proc */,
+ XtPointer /* closure */);
+
+extern XtSignalId XtAppAddSignal(
+ XtAppContext /* app_context */,
+ XtSignalCallbackProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveSignal(
+ XtSignalId /* id */
+);
+
+extern void XtNoticeSignal(
+ XtSignalId /* id */
+);
+
+extern void XtNextEvent( /* obsolete */
+ XEvent* /* event */
+);
+
+extern void XtAppNextEvent(
+ XtAppContext /* app_context */,
+ XEvent* /* event_return */
+);
+
+#define XtIMXEvent 1
+#define XtIMTimer 2
+#define XtIMAlternateInput 4
+#define XtIMSignal 8
+#define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal)
+
+extern Boolean XtPending( /* obsolete */
+ void
+);
+
+extern XtInputMask XtAppPending(
+ XtAppContext /* app_context */
+);
+
+extern XtBlockHookId XtAppAddBlockHook(
+ XtAppContext /* app_context */,
+ XtBlockHookProc /* proc */,
+ XtPointer /* client_data */
+);
+
+extern void XtRemoveBlockHook(
+ XtBlockHookId /* id */
+);
+
+/****************************************************************
+ *
+ * Random utility routines
+ *
+ ****************************************************************/
+
+#define XtIsRectObj(object) (_XtCheckSubclassFlag(object, (XtEnum)0x02))
+#define XtIsWidget(object) (_XtCheckSubclassFlag(object, (XtEnum)0x04))
+#define XtIsComposite(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x08))
+#define XtIsConstraint(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x10))
+#define XtIsShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x20))
+
+#undef XtIsOverrideShell
+extern Boolean XtIsOverrideShell(Widget /* object */);
+#define XtIsOverrideShell(widget) \
+ (_XtIsSubclassOf(widget, (WidgetClass)overrideShellWidgetClass, \
+ (WidgetClass)shellWidgetClass, (XtEnum)0x20))
+
+#define XtIsWMShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x40))
+
+#undef XtIsVendorShell
+extern Boolean XtIsVendorShell(Widget /* object */);
+#define XtIsVendorShell(widget) \
+ (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \
+ (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
+
+#undef XtIsTransientShell
+extern Boolean XtIsTransientShell(Widget /* object */);
+#define XtIsTransientShell(widget) \
+ (_XtIsSubclassOf(widget, (WidgetClass)transientShellWidgetClass, \
+ (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
+#define XtIsTopLevelShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x80))
+
+#undef XtIsApplicationShell
+extern Boolean XtIsApplicationShell(Widget /* object */);
+#define XtIsApplicationShell(widget) \
+ (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \
+ (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
+
+#undef XtIsSessionShell
+extern Boolean XtIsSessionShell(Widget /* object */);
+#define XtIsSessionShell(widget) \
+ (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \
+ (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
+
+extern void XtRealizeWidget(
+ Widget /* widget */
+);
+
+void XtUnrealizeWidget(
+ Widget /* widget */
+);
+
+extern void XtDestroyWidget(
+ Widget /* widget */
+);
+
+extern void XtSetSensitive(
+ Widget /* widget */,
+ _XtBoolean /* sensitive */
+);
+
+extern void XtSetMappedWhenManaged(
+ Widget /* widget */,
+ _XtBoolean /* mapped_when_managed */
+);
+
+extern Widget XtNameToWidget(
+ Widget /* reference */,
+ _Xconst _XtString /* names */
+);
+
+extern Widget XtWindowToWidget(
+ Display* /* display */,
+ Window /* window */
+);
+
+extern XtPointer XtGetClassExtension(
+ WidgetClass /* object_class */,
+ Cardinal /* byte_offset */,
+ XrmQuark /* type */,
+ long /* version */,
+ Cardinal /* record_size */
+);
+
+/***************************************************************
+ *
+ * Arg lists
+ *
+ ****************************************************************/
+
+
+#define XtSetArg(arg, n, d) \
+ ((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) ))
+
+extern ArgList XtMergeArgLists(
+ ArgList /* args1 */,
+ Cardinal /* num_args1 */,
+ ArgList /* args2 */,
+ Cardinal /* num_args2 */
+);
+
+/***************************************************************
+ *
+ * Vararg lists
+ *
+ ****************************************************************/
+
+#define XtVaNestedList "XtVaNestedList"
+#define XtVaTypedArg "XtVaTypedArg"
+
+extern XtVarArgsList XtVaCreateArgsList(
+ XtPointer /*unused*/, ...
+) _X_SENTINEL(0);
+
+/*************************************************************
+ *
+ * Information routines
+ *
+ ************************************************************/
+
+#ifndef _XtIntrinsicP_h
+
+/* We're not included from the private file, so define these */
+
+extern Display *XtDisplay(
+ Widget /* widget */
+);
+
+extern Display *XtDisplayOfObject(
+ Widget /* object */
+);
+
+extern Screen *XtScreen(
+ Widget /* widget */
+);
+
+extern Screen *XtScreenOfObject(
+ Widget /* object */
+);
+
+extern Window XtWindow(
+ Widget /* widget */
+);
+
+extern Window XtWindowOfObject(
+ Widget /* object */
+);
+
+extern String XtName(
+ Widget /* object */
+);
+
+extern WidgetClass XtSuperclass(
+ Widget /* object */
+);
+
+extern WidgetClass XtClass(
+ Widget /* object */
+);
+
+extern Widget XtParent(
+ Widget /* widget */
+);
+
+#endif /*_XtIntrinsicP_h*/
+
+#undef XtMapWidget
+extern void XtMapWidget(Widget /* w */);
+#define XtMapWidget(widget) XMapWindow(XtDisplay(widget), XtWindow(widget))
+
+#undef XtUnmapWidget
+extern void XtUnmapWidget(Widget /* w */);
+#define XtUnmapWidget(widget) \
+ XUnmapWindow(XtDisplay(widget), XtWindow(widget))
+
+extern void XtAddCallback(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */,
+ XtCallbackProc /* callback */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveCallback(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */,
+ XtCallbackProc /* callback */,
+ XtPointer /* closure */
+);
+
+extern void XtAddCallbacks(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */,
+ XtCallbackList /* callbacks */
+);
+
+extern void XtRemoveCallbacks(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */,
+ XtCallbackList /* callbacks */
+);
+
+extern void XtRemoveAllCallbacks(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */
+);
+
+
+extern void XtCallCallbacks(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */,
+ XtPointer /* call_data */
+);
+
+extern void XtCallCallbackList(
+ Widget /* widget */,
+ XtCallbackList /* callbacks */,
+ XtPointer /* call_data */
+);
+
+extern XtCallbackStatus XtHasCallbacks(
+ Widget /* widget */,
+ _Xconst _XtString /* callback_name */
+);
+
+/****************************************************************
+ *
+ * Geometry Management
+ *
+ ****************************************************************/
+
+
+extern XtGeometryResult XtMakeGeometryRequest(
+ Widget /* widget */,
+ XtWidgetGeometry* /* request */,
+ XtWidgetGeometry* /* reply_return */
+);
+
+extern XtGeometryResult XtQueryGeometry(
+ Widget /* widget */,
+ XtWidgetGeometry* /* intended */,
+ XtWidgetGeometry* /* preferred_return */
+);
+
+extern Widget XtCreatePopupShell(
+ _Xconst _XtString /* name */,
+ WidgetClass /* widgetClass */,
+ Widget /* parent */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtVaCreatePopupShell(
+ _Xconst _XtString /* name */,
+ WidgetClass /* widgetClass */,
+ Widget /* parent */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtPopup(
+ Widget /* popup_shell */,
+ XtGrabKind /* grab_kind */
+);
+
+extern void XtPopupSpringLoaded(
+ Widget /* popup_shell */
+);
+
+extern void XtCallbackNone(
+ Widget /* widget */,
+ XtPointer /* closure */,
+ XtPointer /* call_data */
+);
+
+extern void XtCallbackNonexclusive(
+ Widget /* widget */,
+ XtPointer /* closure */,
+ XtPointer /* call_data */
+);
+
+extern void XtCallbackExclusive(
+ Widget /* widget */,
+ XtPointer /* closure */,
+ XtPointer /* call_data */
+);
+
+extern void XtPopdown(
+ Widget /* popup_shell */
+);
+
+extern void XtCallbackPopdown(
+ Widget /* widget */,
+ XtPointer /* closure */,
+ XtPointer /* call_data */
+);
+
+extern void XtMenuPopupAction(
+ Widget /* widget */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern Widget XtCreateWidget(
+ _Xconst _XtString /* name */,
+ WidgetClass /* widget_class */,
+ Widget /* parent */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtCreateManagedWidget(
+ _Xconst _XtString /* name */,
+ WidgetClass /* widget_class */,
+ Widget /* parent */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtVaCreateWidget(
+ _Xconst _XtString /* name */,
+ WidgetClass /* widget */,
+ Widget /* parent */,
+ ...
+) _X_SENTINEL(0);
+
+extern Widget XtVaCreateManagedWidget(
+ _Xconst _XtString /* name */,
+ WidgetClass /* widget_class */,
+ Widget /* parent */,
+ ...
+) _X_SENTINEL(0);
+
+extern Widget XtCreateApplicationShell( /* obsolete */
+ _Xconst _XtString /* name */,
+ WidgetClass /* widget_class */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtAppCreateShell(
+ _Xconst _XtString /* application_name */,
+ _Xconst _XtString /* application_class */,
+ WidgetClass /* widget_class */,
+ Display* /* display */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtVaAppCreateShell(
+ _Xconst _XtString /* application_name */,
+ _Xconst _XtString /* application_class */,
+ WidgetClass /* widget_class */,
+ Display* /* display */,
+ ...
+) _X_SENTINEL(0);
+
+/****************************************************************
+ *
+ * Toolkit initialization
+ *
+ ****************************************************************/
+
+extern void XtToolkitInitialize(
+ void
+);
+
+extern XtLanguageProc XtSetLanguageProc(
+ XtAppContext /* app_context */,
+ XtLanguageProc /* proc */,
+ XtPointer /* client_data */
+);
+
+extern void XtDisplayInitialize(
+ XtAppContext /* app_context */,
+ Display* /* dpy */,
+ _Xconst _XtString /* application_name */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescRec* /* options */,
+ Cardinal /* num_options */,
+ int* /* argc */,
+ char** /* argv */
+);
+
+extern Widget XtOpenApplication(
+ XtAppContext* /* app_context_return */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescList /* options */,
+ Cardinal /* num_options */,
+ int* /* argc_in_out */,
+ String* /* argv_in_out */,
+ String* /* fallback_resources */,
+ WidgetClass /* widget_class */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtVaOpenApplication(
+ XtAppContext* /* app_context_return */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescList /* options */,
+ Cardinal /* num_options */,
+ int* /* argc_in_out */,
+ String* /* argv_in_out */,
+ String* /* fallback_resources */,
+ WidgetClass /* widget_class */,
+ ...
+) _X_SENTINEL(0);
+
+extern Widget XtAppInitialize( /* obsolete */
+ XtAppContext* /* app_context_return */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescList /* options */,
+ Cardinal /* num_options */,
+ int* /* argc_in_out */,
+ String* /* argv_in_out */,
+ String* /* fallback_resources */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern Widget XtVaAppInitialize( /* obsolete */
+ XtAppContext* /* app_context_return */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescList /* options */,
+ Cardinal /* num_options */,
+ int* /* argc_in_out */,
+ String* /* argv_in_out */,
+ String* /* fallback_resources */,
+ ...
+) _X_SENTINEL(0);
+
+extern Widget XtInitialize( /* obsolete */
+ _Xconst _XtString /* shell_name */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescRec* /* options */,
+ Cardinal /* num_options */,
+ int* /* argc */,
+ char** /* argv */
+);
+
+extern Display *XtOpenDisplay(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* display_string */,
+ _Xconst _XtString /* application_name */,
+ _Xconst _XtString /* application_class */,
+ XrmOptionDescRec* /* options */,
+ Cardinal /* num_options */,
+ int* /* argc */,
+ char** /* argv */
+);
+
+extern XtAppContext XtCreateApplicationContext(
+ void
+);
+
+extern void XtAppSetFallbackResources(
+ XtAppContext /* app_context */,
+ String* /* specification_list */
+);
+
+extern void XtDestroyApplicationContext(
+ XtAppContext /* app_context */
+);
+
+extern void XtInitializeWidgetClass(
+ WidgetClass /* widget_class */
+);
+
+extern XtAppContext XtWidgetToApplicationContext(
+ Widget /* widget */
+);
+
+extern XtAppContext XtDisplayToApplicationContext(
+ Display* /* dpy */
+);
+
+extern XrmDatabase XtDatabase(
+ Display* /* dpy */
+);
+
+extern XrmDatabase XtScreenDatabase(
+ Screen* /* screen */
+);
+
+extern void XtCloseDisplay(
+ Display* /* dpy */
+);
+
+extern void XtGetApplicationResources(
+ Widget /* widget */,
+ XtPointer /* base */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern void XtVaGetApplicationResources(
+ Widget /* widget */,
+ XtPointer /* base */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtGetSubresources(
+ Widget /* widget */,
+ XtPointer /* base */,
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* class */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern void XtVaGetSubresources(
+ Widget /* widget */,
+ XtPointer /* base */,
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* class */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtSetValues(
+ Widget /* widget */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern void XtVaSetValues(
+ Widget /* widget */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtGetValues(
+ Widget /* widget */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern void XtVaGetValues(
+ Widget /* widget */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtSetSubvalues(
+ XtPointer /* base */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern void XtVaSetSubvalues(
+ XtPointer /* base */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtGetSubvalues(
+ XtPointer /* base */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ArgList /* args */,
+ Cardinal /* num_args */
+);
+
+extern void XtVaGetSubvalues(
+ XtPointer /* base */,
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XtGetResourceList(
+ WidgetClass /* widget_class */,
+ XtResourceList* /* resources_return */,
+ Cardinal* /* num_resources_return */
+);
+
+extern void XtGetConstraintResourceList(
+ WidgetClass /* widget_class */,
+ XtResourceList* /* resources_return */,
+ Cardinal* /* num_resources_return */
+);
+
+#define XtUnspecifiedPixmap ((Pixmap)2)
+#define XtUnspecifiedShellInt (-1)
+#define XtUnspecifiedWindow ((Window)2)
+#define XtUnspecifiedWindowGroup ((Window)3)
+#define XtCurrentDirectory "XtCurrentDirectory"
+#define XtDefaultForeground "XtDefaultForeground"
+#define XtDefaultBackground "XtDefaultBackground"
+#define XtDefaultFont "XtDefaultFont"
+#define XtDefaultFontSet "XtDefaultFontSet"
+
+#if defined(CRAY)
+#define XtOffset(p_type,field) _Offsetof(p_type,field)
+#else /* ! CRAY */
+#define XtOffset(p_type,field) \
+ ((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
+#endif /* !CRAY */
+
+#ifdef offsetof
+#define XtOffsetOf(s_type,field) offsetof(s_type,field)
+#else
+#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
+#endif
+
+/*************************************************************
+ *
+ * Session Management
+ *
+ ************************************************************/
+
+typedef struct _XtCheckpointTokenRec {
+ int save_type;
+ int interact_style;
+ Boolean shutdown;
+ Boolean fast;
+ Boolean cancel_shutdown;
+ int phase;
+ int interact_dialog_type; /* return */
+ Boolean request_cancel; /* return */
+ Boolean request_next_phase; /* return */
+ Boolean save_success; /* return */
+ int type; /* implementation private */
+ Widget widget; /* implementation private */
+} XtCheckpointTokenRec, *XtCheckpointToken;
+
+XtCheckpointToken XtSessionGetToken(
+ Widget /* widget */
+);
+
+void XtSessionReturnToken(
+ XtCheckpointToken /* token */
+);
+
+/*************************************************************
+ *
+ * Error Handling
+ *
+ ************************************************************/
+
+extern XtErrorMsgHandler XtAppSetErrorMsgHandler(
+ XtAppContext /* app_context */,
+ XtErrorMsgHandler /* handler */
+);
+
+extern void XtSetErrorMsgHandler( /* obsolete */
+ XtErrorMsgHandler /* handler */
+);
+
+extern XtErrorMsgHandler XtAppSetWarningMsgHandler(
+ XtAppContext /* app_context */,
+ XtErrorMsgHandler /* handler */
+);
+
+extern void XtSetWarningMsgHandler( /* obsolete */
+ XtErrorMsgHandler /* handler */
+);
+
+extern void XtAppErrorMsg(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* class */,
+ _Xconst _XtString /* default */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern void XtErrorMsg( /* obsolete */
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* class */,
+ _Xconst _XtString /* default */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern void XtAppWarningMsg(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* class */,
+ _Xconst _XtString /* default */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern void XtWarningMsg( /* obsolete */
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* class */,
+ _Xconst _XtString /* default */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern XtErrorHandler XtAppSetErrorHandler(
+ XtAppContext /* app_context */,
+ XtErrorHandler /* handler */
+);
+
+extern void XtSetErrorHandler( /* obsolete */
+ XtErrorHandler /* handler */
+);
+
+extern XtErrorHandler XtAppSetWarningHandler(
+ XtAppContext /* app_context */,
+ XtErrorHandler /* handler */
+);
+
+extern void XtSetWarningHandler( /* obsolete */
+ XtErrorHandler /* handler */
+);
+
+extern void XtAppError(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* message */
+);
+
+extern void XtError( /* obsolete */
+ _Xconst _XtString /* message */
+);
+
+extern void XtAppWarning(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* message */
+);
+
+extern void XtWarning( /* obsolete */
+ _Xconst _XtString /* message */
+);
+
+extern XrmDatabase *XtAppGetErrorDatabase(
+ XtAppContext /* app_context */
+);
+
+extern XrmDatabase *XtGetErrorDatabase( /* obsolete */
+ void
+);
+
+extern void XtAppGetErrorDatabaseText(
+ XtAppContext /* app_context */,
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* class */,
+ _Xconst _XtString /* default */,
+ String /* buffer_return */,
+ int /* nbytes */,
+ XrmDatabase /* database */
+);
+
+extern void XtGetErrorDatabaseText( /* obsolete */
+ _Xconst _XtString /* name */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* class */,
+ _Xconst _XtString /* default */,
+ String /* buffer_return */,
+ int /* nbytes */
+);
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *XtMalloc(
+ Cardinal /* size */
+);
+
+extern char *XtCalloc(
+ Cardinal /* num */,
+ Cardinal /* size */
+);
+
+extern char *XtRealloc(
+ char* /* ptr */,
+ Cardinal /* num */
+);
+
+extern void XtFree(
+ char* /* ptr */
+);
+
+#ifdef XTTRACEMEMORY
+
+extern char *_XtMalloc( /* implementation-private */
+ Cardinal /* size */,
+ char * /* file */,
+ int /* line */
+);
+
+extern char *_XtRealloc( /* implementation-private */
+ char * /* ptr */,
+ Cardinal /* size */,
+ char * /* file */,
+ int /* line */
+);
+
+extern char *_XtCalloc( /* implementation-private */
+ Cardinal /* num */,
+ Cardinal /* size */,
+ char * /* file */,
+ int /* line */
+);
+
+extern void _XtFree( /* implementation-private */
+ char * /* ptr */
+);
+
+#define XtMalloc(size) _XtMalloc(size, __FILE__, __LINE__)
+#define XtRealloc(ptr,size) _XtRealloc(ptr, size, __FILE__, __LINE__)
+#define XtCalloc(num,size) _XtCalloc(num, size, __FILE__, __LINE__)
+#define XtFree(ptr) _XtFree(ptr)
+
+#endif /* ifdef XTTRACEMEMORY */
+
+#define XtNew(type) ((type *) XtMalloc((unsigned) sizeof(type)))
+
+#undef XtNewString
+extern String XtNewString(String /* str */);
+#define XtNewString(str) \
+ ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
+
+/*************************************************************
+ *
+ * Work procs
+ *
+ **************************************************************/
+
+extern XtWorkProcId XtAddWorkProc( /* obsolete */
+ XtWorkProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern XtWorkProcId XtAppAddWorkProc(
+ XtAppContext /* app_context */,
+ XtWorkProc /* proc */,
+ XtPointer /* closure */
+);
+
+extern void XtRemoveWorkProc(
+ XtWorkProcId /* id */
+);
+
+
+/****************************************************************
+ *
+ * Graphic Context Management
+ *****************************************************************/
+
+extern GC XtGetGC(
+ Widget /* widget */,
+ XtGCMask /* valueMask */,
+ XGCValues* /* values */
+);
+
+extern GC XtAllocateGC(
+ Widget /* widget */,
+ Cardinal /* depth */,
+ XtGCMask /* valueMask */,
+ XGCValues* /* values */,
+ XtGCMask /* dynamicMask */,
+ XtGCMask /* unusedMask */
+);
+
+/* This implementation of XtDestroyGC differs from the formal specification
+ * for historic backwards compatibility reasons. As other implementations
+ * may conform to the spec, use of XtReleaseGC is strongly encouraged.
+ */
+extern void XtDestroyGC( /* obsolete */
+ GC /* gc */
+);
+
+extern void XtReleaseGC(
+ Widget /* object */,
+ GC /* gc */
+);
+
+
+
+extern void XtAppReleaseCacheRefs(
+ XtAppContext /* app_context */,
+ XtCacheRef* /* cache_ref */
+);
+
+extern void XtCallbackReleaseCacheRef(
+ Widget /* widget */,
+ XtPointer /* closure */, /* XtCacheRef */
+ XtPointer /* call_data */
+);
+
+extern void XtCallbackReleaseCacheRefList(
+ Widget /* widget */,
+ XtPointer /* closure */, /* XtCacheRef* */
+ XtPointer /* call_data */
+);
+
+extern void XtSetWMColormapWindows(
+ Widget /* widget */,
+ Widget* /* list */,
+ Cardinal /* count */
+);
+
+extern String XtFindFile(
+ _Xconst _XtString /* path */,
+ Substitution /* substitutions */,
+ Cardinal /* num_substitutions */,
+ XtFilePredicate /* predicate */
+);
+
+extern String XtResolvePathname(
+ Display* /* dpy */,
+ _Xconst _XtString /* type */,
+ _Xconst _XtString /* filename */,
+ _Xconst _XtString /* suffix */,
+ _Xconst _XtString /* path */,
+ Substitution /* substitutions */,
+ Cardinal /* num_substitutions */,
+ XtFilePredicate /* predicate */
+);
+
+/****************************************************************
+ *
+ * Selections
+ *
+ *****************************************************************/
+
+#define XT_CONVERT_FAIL (Atom)0x80000001
+
+extern void XtDisownSelection(
+ Widget /* widget */,
+ Atom /* selection */,
+ Time /* time */
+);
+
+extern void XtGetSelectionValue(
+ Widget /* widget */,
+ Atom /* selection */,
+ Atom /* target */,
+ XtSelectionCallbackProc /* callback */,
+ XtPointer /* closure */,
+ Time /* time */
+);
+
+extern void XtGetSelectionValues(
+ Widget /* widget */,
+ Atom /* selection */,
+ Atom* /* targets */,
+ int /* count */,
+ XtSelectionCallbackProc /* callback */,
+ XtPointer* /* closures */,
+ Time /* time */
+);
+
+extern void XtAppSetSelectionTimeout(
+ XtAppContext /* app_context */,
+ unsigned long /* timeout */
+);
+
+extern void XtSetSelectionTimeout( /* obsolete */
+ unsigned long /* timeout */
+);
+
+extern unsigned long XtAppGetSelectionTimeout(
+ XtAppContext /* app_context */
+);
+
+extern unsigned long XtGetSelectionTimeout( /* obsolete */
+ void
+);
+
+extern XSelectionRequestEvent *XtGetSelectionRequest(
+ Widget /* widget */,
+ Atom /* selection */,
+ XtRequestId /* request_id */
+);
+
+extern void XtGetSelectionValueIncremental(
+ Widget /* widget */,
+ Atom /* selection */,
+ Atom /* target */,
+ XtSelectionCallbackProc /* selection_callback */,
+ XtPointer /* client_data */,
+ Time /* time */
+);
+
+extern void XtGetSelectionValuesIncremental(
+ Widget /* widget */,
+ Atom /* selection */,
+ Atom* /* targets */,
+ int /* count */,
+ XtSelectionCallbackProc /* callback */,
+ XtPointer* /* client_data */,
+ Time /* time */
+);
+
+extern void XtSetSelectionParameters(
+ Widget /* requestor */,
+ Atom /* selection */,
+ Atom /* type */,
+ XtPointer /* value */,
+ unsigned long /* length */,
+ int /* format */
+);
+
+extern void XtGetSelectionParameters(
+ Widget /* owner */,
+ Atom /* selection */,
+ XtRequestId /* request_id */,
+ Atom* /* type_return */,
+ XtPointer* /* value_return */,
+ unsigned long* /* length_return */,
+ int* /* format_return */
+);
+
+extern void XtCreateSelectionRequest(
+ Widget /* requestor */,
+ Atom /* selection */
+);
+
+extern void XtSendSelectionRequest(
+ Widget /* requestor */,
+ Atom /* selection */,
+ Time /* time */
+);
+
+extern void XtCancelSelectionRequest(
+ Widget /* requestor */,
+ Atom /* selection */
+);
+
+extern Atom XtReservePropertyAtom(
+ Widget /* widget */
+);
+
+extern void XtReleasePropertyAtom(
+ Widget /* widget */,
+ Atom /* selection */
+);
+
+extern void XtGrabKey(
+ Widget /* widget */,
+ _XtKeyCode /* keycode */,
+ Modifiers /* modifiers */,
+ _XtBoolean /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */
+);
+
+extern void XtUngrabKey(
+ Widget /* widget */,
+ _XtKeyCode /* keycode */,
+ Modifiers /* modifiers */
+);
+
+extern int XtGrabKeyboard(
+ Widget /* widget */,
+ _XtBoolean /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Time /* time */
+);
+
+extern void XtUngrabKeyboard(
+ Widget /* widget */,
+ Time /* time */
+);
+
+extern void XtGrabButton(
+ Widget /* widget */,
+ int /* button */,
+ Modifiers /* modifiers */,
+ _XtBoolean /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */
+);
+
+extern void XtUngrabButton(
+ Widget /* widget */,
+ unsigned int /* button */,
+ Modifiers /* modifiers */
+);
+
+extern int XtGrabPointer(
+ Widget /* widget */,
+ _XtBoolean /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern void XtUngrabPointer(
+ Widget /* widget */,
+ Time /* time */
+);
+
+extern void XtGetApplicationNameAndClass(
+ Display* /* dpy */,
+ String* /* name_return */,
+ String* /* class_return */
+);
+
+extern void XtRegisterDrawable(
+ Display* /* dpy */,
+ Drawable /* drawable */,
+ Widget /* widget */
+);
+
+extern void XtUnregisterDrawable(
+ Display* /* dpy */,
+ Drawable /* drawable */
+);
+
+extern Widget XtHooksOfDisplay(
+ Display* /* dpy */
+);
+
+typedef struct {
+ String type;
+ Widget widget;
+ ArgList args;
+ Cardinal num_args;
+} XtCreateHookDataRec, *XtCreateHookData;
+
+typedef struct {
+ String type;
+ Widget widget;
+ XtPointer event_data;
+ Cardinal num_event_data;
+} XtChangeHookDataRec, *XtChangeHookData;
+
+typedef struct {
+ Widget old, req;
+ ArgList args;
+ Cardinal num_args;
+} XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData;
+
+typedef struct {
+ String type;
+ Widget widget;
+ XtGeometryMask changeMask;
+ XWindowChanges changes;
+} XtConfigureHookDataRec, *XtConfigureHookData;
+
+typedef struct {
+ String type;
+ Widget widget;
+ XtWidgetGeometry* request;
+ XtWidgetGeometry* reply;
+ XtGeometryResult result;
+} XtGeometryHookDataRec, *XtGeometryHookData;
+
+typedef struct {
+ String type;
+ Widget widget;
+} XtDestroyHookDataRec, *XtDestroyHookData;
+
+extern void XtGetDisplays(
+ XtAppContext /* app_context */,
+ Display*** /* dpy_return */,
+ Cardinal* /* num_dpy_return */
+);
+
+extern Boolean XtToolkitThreadInitialize(
+ void
+);
+
+extern void XtAppSetExitFlag(
+ XtAppContext /* app_context */
+);
+
+extern Boolean XtAppGetExitFlag(
+ XtAppContext /* app_context */
+);
+
+extern void XtAppLock(
+ XtAppContext /* app_context */
+);
+
+extern void XtAppUnlock(
+ XtAppContext /* app_context */
+);
+
+/*
+ * Predefined Resource Converters
+ */
+
+
+/* String converters */
+
+extern Boolean XtCvtStringToAcceleratorTable(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToAtom(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Display */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToBool(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToBoolean(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToCommandArgArray(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToCursor(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Display */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToDimension(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToDirectoryString(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToDisplay(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFile(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFloat(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFont(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Display */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFontSet(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Display, locale */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFontStruct(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Display */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToGravity(
+ Display* /* dpy */,
+ XrmValuePtr /* args */,
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToInitialState(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToInt(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToPixel(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Screen, Colormap */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+#define XtCvtStringToPosition XtCvtStringToShort
+
+extern Boolean XtCvtStringToRestartStyle(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToShort(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToTranslationTable(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToUnsignedChar(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToVisual(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Screen, depth */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+/* int converters */
+
+extern Boolean XtCvtIntToBool(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToBoolean(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToColor(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* Screen, Colormap */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+#define XtCvtIntToDimension XtCvtIntToShort
+
+extern Boolean XtCvtIntToFloat(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToFont(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToPixel(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToPixmap(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+#define XtCvtIntToPosition XtCvtIntToShort
+
+extern Boolean XtCvtIntToShort(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToUnsignedChar(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+/* Color converter */
+
+extern Boolean XtCvtColorToPixel(
+ Display* /* dpy */,
+ XrmValuePtr /* args */, /* none */
+ Cardinal* /* num_args */,
+ XrmValuePtr /* fromVal */,
+ XrmValuePtr /* toVal */,
+ XtPointer* /* closure_ret */
+);
+
+/* Pixel converter */
+
+#define XtCvtPixelToColor XtCvtIntToColor
+
+
+_XFUNCPROTOEND
+
+#endif /*_XtIntrinsic_h*/
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/IntrinsicI.h b/packages/xorg-lib/xorg-headers-native/X11/IntrinsicI.h
new file mode 100644
index 0000000000..d749867b85
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/IntrinsicI.h
@@ -0,0 +1,261 @@
+/* $Xorg: IntrinsicI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/IntrinsicI.h,v 3.8 2001/12/14 19:56:25 dawes Exp $ */
+
+#ifndef _XtintrinsicI_h
+#define _XtintrinsicI_h
+
+#include "Xtos.h"
+#include "IntrinsicP.h"
+#ifdef WIN32
+#define _WILLWINSOCK_
+#endif
+#include <X11/Xos.h>
+
+#include "Object.h"
+#include "RectObj.h"
+#include "ObjectP.h"
+#include "RectObjP.h"
+
+#include "ConvertI.h"
+#include "TranslateI.h"
+
+#define RectObjClassFlag 0x02
+#define WidgetClassFlag 0x04
+#define CompositeClassFlag 0x08
+#define ConstraintClassFlag 0x10
+#define ShellClassFlag 0x20
+#define WMShellClassFlag 0x40
+#define TopLevelClassFlag 0x80
+
+/*
+ * The following macros, though very handy, are not suitable for
+ * IntrinsicP.h as they violate the rule that arguments are to
+ * be evaluated exactly once.
+ */
+
+#define XtDisplayOfObject(object) \
+ (XtIsWidget(object) ? (object)->core.screen->display : \
+ _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen->display : \
+ _XtWindowedAncestor(object)->core.screen->display)
+
+#define XtScreenOfObject(object) \
+ (XtIsWidget(object) ? (object)->core.screen : \
+ _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen : \
+ _XtWindowedAncestor(object)->core.screen)
+
+#define XtWindowOfObject(object) \
+ ((XtIsWidget(object) ? (object) : _XtWindowedAncestor(object)) \
+ ->core.window)
+
+#define XtIsManaged(object) \
+ (XtIsRectObj(object) ? (object)->core.managed : False)
+
+#define XtIsSensitive(object) \
+ (XtIsRectObj(object) ? ((object)->core.sensitive && \
+ (object)->core.ancestor_sensitive) : False)
+
+
+/****************************************************************
+ *
+ * Byte utilities
+ *
+ ****************************************************************/
+
+#define _XBCOPYFUNC _XtBcopy
+#include <X11/Xfuncs.h>
+
+/* If the alignment characteristics of your machine are right, these may be
+ faster */
+
+#ifdef UNALIGNED
+
+#define XtMemmove(dst, src, size) \
+ if ((char *)(dst) != (char *)(src)) { \
+ if (size == sizeof(int)) \
+ *((int *) (dst)) = *((int *) (src)); \
+ else if (size == sizeof(char)) \
+ *((char *) (dst)) = *((char *) (src)); \
+ else if (size == sizeof(short)) \
+ *((short *) (dst)) = *((short *) (src)); \
+ else \
+ (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \
+ }
+
+#define XtBZero(dst, size) \
+ if (size == sizeof(int)) \
+ *((int *) (dst)) = 0; \
+ else \
+ bzero((char *) (dst), (int) (size))
+
+#define XtMemcmp(b1, b2, size) \
+ (size == sizeof(int) ? \
+ *((int *) (b1)) != *((int *) (b2)) \
+ : memcmp((char *) (b1), (char *) (b2), (int) (size)) \
+ )
+
+#else
+
+#define XtMemmove(dst, src, size) \
+ if ((char *)(dst) != (char *)(src)) { \
+ (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \
+ }
+
+#define XtBZero(dst, size) \
+ bzero((char *) (dst), (int) (size))
+
+#define XtMemcmp(b1, b2, size) \
+ memcmp((char *) (b1), (char *) (b2), (int) (size))
+
+#endif
+
+
+/****************************************************************
+ *
+ * Stack cache allocation/free
+ *
+ ****************************************************************/
+
+#define XtStackAlloc(size, stack_cache_array) \
+ ((size) <= sizeof(stack_cache_array) \
+ ? (XtPointer)(stack_cache_array) \
+ : XtMalloc((unsigned)(size)))
+
+#define XtStackFree(pointer, stack_cache_array) \
+ { if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); }
+
+/***************************************************************
+ *
+ * Filename defines
+ *
+ **************************************************************/
+
+/* used by XtResolvePathname */
+#ifndef XFILESEARCHPATHDEFAULT
+#define XFILESEARCHPATHDEFAULT "/usr/lib/X11/%L/%T/%N%S:/usr/lib/X11/%l/%T/%N%S:/usr/lib/X11/%T/%N%S"
+#endif
+
+/* the following two were both "X Toolkit " prior to R4 */
+#ifndef XTERROR_PREFIX
+#define XTERROR_PREFIX ""
+#endif
+
+#ifndef XTWARNING_PREFIX
+#define XTWARNING_PREFIX ""
+#endif
+
+#ifndef ERRORDB
+#define ERRORDB "/usr/lib/X11/XtErrorDB"
+#endif
+
+extern String XtCXtToolkitError;
+
+extern void _XtAllocError(
+ String /* alloc_type */
+);
+
+extern void _XtCompileResourceList(
+ XtResourceList /* resources */,
+ Cardinal /* num_resources */
+);
+
+extern XtGeometryResult _XtMakeGeometryRequest(
+ Widget /* widget */,
+ XtWidgetGeometry* /* request */,
+ XtWidgetGeometry* /* reply_return */,
+ Boolean* /* clear_rect_obj */
+);
+
+extern Boolean _XtIsHookObject(
+ Widget /* widget */
+);
+
+extern void _XtAddShellToHookObj(
+ Widget /* widget */
+);
+
+/* GCManager.c */
+extern void _XtGClistFree(Display *dpy, XtPerDisplay pd);
+
+/** GeoTattler stuff */
+
+#ifdef XT_GEO_TATTLER
+
+extern void _XtGeoTab (int);
+extern void _XtGeoTrace (
+ Widget widget,
+ ...
+) _X_ATTRIBUTE_PRINTF(2,3);
+
+#define CALLGEOTAT(f) f
+
+#else /* XT_GEO_TATTLER */
+
+#define CALLGEOTAT(f)
+
+#endif /* XT_GEO_TATTLER */
+
+#ifndef XTTRACEMEMORY
+
+extern char* __XtMalloc (
+ unsigned /* size */
+);
+extern char* __XtCalloc (
+ unsigned /* num */,
+ unsigned /* size */
+);
+
+#else
+
+#define __XtMalloc XtMalloc
+#define __XtCalloc XtCalloc
+#endif
+
+#endif /* _XtintrinsicI_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/IntrinsicP.h b/packages/xorg-lib/xorg-headers-native/X11/IntrinsicP.h
new file mode 100644
index 0000000000..517c55d2b9
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/IntrinsicP.h
@@ -0,0 +1,327 @@
+/* $Xorg: IntrinsicP.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86$ */
+
+#ifndef _XtintrinsicP_h
+#define _XtintrinsicP_h
+
+#include <X11/Intrinsic.h>
+
+/*
+ * Field sizes and offsets of XrmResource must match those of XtResource.
+ * Type long is used instead of XrmQuark here because XrmQuark and String
+ * are not the same size on all systems.
+ */
+typedef struct {
+ long xrm_name; /* Resource name quark */
+ long xrm_class; /* Resource class quark */
+ long xrm_type; /* Resource representation type quark */
+ Cardinal xrm_size; /* Size in bytes of representation */
+ int xrm_offset; /* -offset-1 */
+ long xrm_default_type; /* Default representation type quark */
+ XtPointer xrm_default_addr; /* Default resource address */
+} XrmResource, *XrmResourceList;
+
+typedef unsigned long XtVersionType;
+
+#define XT_VERSION 11
+#ifndef XT_REVISION
+#define XT_REVISION 6
+#endif
+#define XtVersion (XT_VERSION * 1000 + XT_REVISION)
+#define XtVersionDontCheck 0
+
+typedef void (*XtProc)(
+ void
+);
+
+typedef void (*XtWidgetClassProc)(
+ WidgetClass /* class */
+);
+
+typedef void (*XtWidgetProc)(
+ Widget /* widget */
+);
+
+typedef Boolean (*XtAcceptFocusProc)(
+ Widget /* widget */,
+ Time* /* time */
+);
+
+typedef void (*XtArgsProc)(
+ Widget /* widget */,
+ ArgList /* args */,
+ Cardinal* /* num_args */
+);
+
+typedef void (*XtInitProc)(
+ Widget /* request */,
+ Widget /* new */,
+ ArgList /* args */,
+ Cardinal* /* num_args */
+);
+
+typedef Boolean (*XtSetValuesFunc)(
+ Widget /* old */,
+ Widget /* request */,
+ Widget /* new */,
+ ArgList /* args */,
+ Cardinal* /* num_args */
+);
+
+typedef Boolean (*XtArgsFunc)(
+ Widget /* widget */,
+ ArgList /* args */,
+ Cardinal* /* num_args */
+);
+
+typedef void (*XtAlmostProc)(
+ Widget /* old */,
+ Widget /* new */,
+ XtWidgetGeometry* /* request */,
+ XtWidgetGeometry* /* reply */
+);
+
+typedef void (*XtExposeProc)(
+ Widget /* widget */,
+ XEvent* /* event */,
+ Region /* region */
+);
+
+/* compress_exposure options*/
+#define XtExposeNoCompress ((XtEnum)False)
+#define XtExposeCompressSeries ((XtEnum)True)
+#define XtExposeCompressMultiple 2
+#define XtExposeCompressMaximal 3
+
+/* modifiers */
+#define XtExposeGraphicsExpose 0x10
+#define XtExposeGraphicsExposeMerged 0x20
+#define XtExposeNoExpose 0x40
+#define XtExposeNoRegion 0x80
+
+typedef void (*XtRealizeProc)(
+ Widget /* widget */,
+ XtValueMask* /* mask */,
+ XSetWindowAttributes* /* attributes */
+);
+
+typedef XtGeometryResult (*XtGeometryHandler)(
+ Widget /* widget */,
+ XtWidgetGeometry* /* request */,
+ XtWidgetGeometry* /* reply */
+);
+
+typedef void (*XtStringProc)(
+ Widget /* widget */,
+ String /* str */
+);
+
+typedef struct {
+ String name; /* resource name */
+ String type; /* representation type name */
+ XtArgVal value; /* representation */
+ int size; /* size of representation */
+} XtTypedArg, *XtTypedArgList;
+
+typedef void (*XtAllocateProc)(
+ WidgetClass /* widget_class */,
+ Cardinal * /* constraint_size */,
+ Cardinal * /* more_bytes */,
+ ArgList /* args */,
+ Cardinal * /* num_args */,
+ XtTypedArgList /* typed_args */,
+ Cardinal * /* num_typed_args */,
+ Widget * /* widget_return */,
+ XtPointer * /* more_bytes_return */
+);
+
+typedef void (*XtDeallocateProc)(
+ Widget /* widget */,
+ XtPointer /* more_bytes */
+);
+
+struct _XtStateRec; /* Forward declare before use for C++ */
+
+typedef struct _XtTMRec {
+ XtTranslations translations; /* private to Translation Manager */
+ XtBoundActions proc_table; /* procedure bindings for actions */
+ struct _XtStateRec *current_state; /* Translation Manager state ptr */
+ unsigned long lastEventTime;
+} XtTMRec, *XtTM;
+
+#include <X11/CoreP.h>
+#include <X11/CompositeP.h>
+#include <X11/ConstrainP.h>
+#include <X11/ObjectP.h>
+#include <X11/RectObjP.h>
+
+#define XtDisplay(widget) DisplayOfScreen((widget)->core.screen)
+#define XtScreen(widget) ((widget)->core.screen)
+#define XtWindow(widget) ((widget)->core.window)
+
+#define XtClass(widget) ((widget)->core.widget_class)
+#define XtSuperclass(widget) (XtClass(widget)->core_class.superclass)
+#define XtIsRealized(object) (XtWindowOfObject(object) != None)
+#define XtParent(widget) ((widget)->core.parent)
+
+#undef XtIsRectObj
+extern Boolean XtIsRectObj(Widget);
+#define XtIsRectObj(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x02)
+
+#undef XtIsWidget
+extern Boolean XtIsWidget(Widget);
+#define XtIsWidget(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x04)
+
+#undef XtIsComposite
+extern Boolean XtIsComposite(Widget);
+#define XtIsComposite(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x08)
+
+#undef XtIsConstraint
+extern Boolean XtIsConstraint(Widget);
+#define XtIsConstraint(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x10)
+
+#undef XtIsShell
+extern Boolean XtIsShell(Widget);
+#define XtIsShell(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x20)
+
+#undef XtIsWMShell
+extern Boolean XtIsWMShell(Widget);
+#define XtIsWMShell(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x40)
+
+#undef XtIsTopLevelShell
+extern Boolean XtIsTopLevelShell(Widget);
+#define XtIsTopLevelShell(obj) \
+ (((Object)(obj))->object.widget_class->core_class.class_inited & 0x80)
+
+#ifdef DEBUG
+#define XtCheckSubclass(w, widget_class_ptr, message) \
+ if (!XtIsSubclass(((Widget)(w)), (widget_class_ptr))) { \
+ String params[3]; \
+ Cardinal num_params = 3; \
+ params[0] = ((Widget)(w))->core.widget_class->core_class.class_name;\
+ params[1] = (widget_class_ptr)->core_class.class_name; \
+ params[2] = (message); \
+ XtAppErrorMsg(XtWidgetToApplicationContext((Widget)(w)), \
+ "subclassMismatch", "xtCheckSubclass", "XtToolkitError", \
+ "Widget class %s found when subclass of %s expected: %s",\
+ params, &num_params); \
+ }
+#else
+#define XtCheckSubclass(w, widget_class, message) /* nothing */
+#endif
+
+_XFUNCPROTOBEGIN
+
+extern Widget _XtWindowedAncestor( /* internal; implementation-dependent */
+ Widget /* object */
+);
+
+extern void _XtInherit(
+ void
+);
+
+extern void _XtHandleFocus(
+ Widget /* widget */,
+ XtPointer /* client_data */,
+ XEvent * /* event */,
+ Boolean * /* cont */);
+
+extern void XtCreateWindow(
+ Widget /* widget */,
+ unsigned int /* window_class */,
+ Visual* /* visual */,
+ XtValueMask /* value_mask */,
+ XSetWindowAttributes* /* attributes */
+);
+
+extern void XtResizeWidget(
+ Widget /* widget */,
+ _XtDimension /* width */,
+ _XtDimension /* height */,
+ _XtDimension /* border_width */
+);
+
+extern void XtMoveWidget(
+ Widget /* widget */,
+ _XtPosition /* x */,
+ _XtPosition /* y */
+);
+
+extern void XtConfigureWidget(
+ Widget /* widget */,
+ _XtPosition /* x */,
+ _XtPosition /* y */,
+ _XtDimension /* width */,
+ _XtDimension /* height */,
+ _XtDimension /* border_width */
+);
+
+extern void XtResizeWindow(
+ Widget /* widget */
+);
+
+extern void XtProcessLock(
+ void
+);
+
+extern void XtProcessUnlock(
+ void
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XtIntrinsicP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Object.h b/packages/xorg-lib/xorg-headers-native/X11/Object.h
new file mode 100644
index 0000000000..96723b16e5
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Object.h
@@ -0,0 +1,60 @@
+/* $Xorg: Object.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+/* $oHeader: Object.h,v 1.2 88/08/18 15:55:32 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtObject_h
+#define _XtObject_h
+
+typedef struct _ObjectRec *Object;
+typedef struct _ObjectClassRec *ObjectClass;
+
+#ifndef OBJECT
+externalref WidgetClass objectClass;
+#endif
+#endif /* _XtObject_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ObjectP.h b/packages/xorg-lib/xorg-headers-native/X11/ObjectP.h
new file mode 100644
index 0000000000..a24564ef29
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ObjectP.h
@@ -0,0 +1,139 @@
+/* $Xorg: ObjectP.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _Xt_ObjectP_h_
+#define _Xt_ObjectP_h_
+
+#include <X11/Object.h>
+
+/**********************************************************
+ * Object Instance Data Structures
+ *
+ **********************************************************/
+/* these fields match CorePart and can not be changed */
+
+typedef struct _ObjectPart {
+ Widget self; /* pointer to widget itself */
+ WidgetClass widget_class; /* pointer to Widget's ClassRec */
+ Widget parent; /* parent widget */
+ XrmName xrm_name; /* widget resource name quarkified */
+ Boolean being_destroyed; /* marked for destroy */
+ XtCallbackList destroy_callbacks; /* who to call when widget destroyed */
+ XtPointer constraints; /* constraint record */
+} ObjectPart;
+
+typedef struct _ObjectRec {
+ ObjectPart object;
+} ObjectRec;
+
+/********************************************************
+ * Object Class Data Structures
+ *
+ ********************************************************/
+/* these fields match CoreClassPart and can not be changed */
+/* ideally these structures would only contain the fields required;
+ but because the CoreClassPart cannot be changed at this late date
+ extraneous fields are necessary to make the field offsets match */
+
+typedef struct _ObjectClassPart {
+
+ WidgetClass superclass; /* pointer to superclass ClassRec */
+ String class_name; /* widget resource class name */
+ Cardinal widget_size; /* size in bytes of widget record */
+ XtProc class_initialize; /* class initialization proc */
+ XtWidgetClassProc class_part_initialize; /* dynamic initialization */
+ XtEnum class_inited; /* has class been initialized? */
+ XtInitProc initialize; /* initialize subclass fields */
+ XtArgsProc initialize_hook; /* notify that initialize called */
+ XtProc obj1; /* NULL */
+ XtPointer obj2; /* NULL */
+ Cardinal obj3; /* NULL */
+ XtResourceList resources; /* resources for subclass fields */
+ Cardinal num_resources; /* number of entries in resources */
+ XrmClass xrm_class; /* resource class quarkified */
+ Boolean obj4; /* NULL */
+ XtEnum obj5; /* NULL */
+ Boolean obj6; /* NULL */
+ Boolean obj7; /* NULL */
+ XtWidgetProc destroy; /* free data for subclass pointers */
+ XtProc obj8; /* NULL */
+ XtProc obj9; /* NULL */
+ XtSetValuesFunc set_values; /* set subclass resource values */
+ XtArgsFunc set_values_hook; /* notify that set_values called */
+ XtProc obj10; /* NULL */
+ XtArgsProc get_values_hook; /* notify that get_values called */
+ XtProc obj11; /* NULL */
+ XtVersionType version; /* version of intrinsics used */
+ XtPointer callback_private; /* list of callback offsets */
+ String obj12; /* NULL */
+ XtProc obj13; /* NULL */
+ XtProc obj14; /* NULL */
+ XtPointer extension; /* pointer to extension record */
+}ObjectClassPart;
+
+typedef struct {
+ XtPointer next_extension; /* 1st 4 required for all extension records */
+ XrmQuark record_type; /* NULLQUARK; when on ObjectClassPart */
+ long version; /* must be XtObjectExtensionVersion */
+ Cardinal record_size; /* sizeof(ObjectClassExtensionRec) */
+ XtAllocateProc allocate;
+ XtDeallocateProc deallocate;
+} ObjectClassExtensionRec, *ObjectClassExtension;
+
+typedef struct _ObjectClassRec {
+ ObjectClassPart object_class;
+} ObjectClassRec;
+
+externalref ObjectClassRec objectClassRec;
+
+#define XtObjectExtensionVersion 1L
+#define XtInheritAllocate ((XtAllocateProc) _XtInherit)
+#define XtInheritDeallocate ((XtDeallocateProc) _XtInherit)
+
+#endif /*_Xt_ObjectP_h_*/
diff --git a/packages/xorg-lib/xorg-headers-native/X11/PassivGraI.h b/packages/xorg-lib/xorg-headers-native/X11/PassivGraI.h
new file mode 100644
index 0000000000..02e2964845
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/PassivGraI.h
@@ -0,0 +1,186 @@
+/*
+* $Xorg: PassivGraI.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $
+*/
+
+/********************************************************
+
+Copyright 1988 by Hewlett-Packard Company
+Copyright 1987, 1988, 1989 by Digital Equipment Corporation, Maynard
+
+Permission to use, copy, modify, and distribute this software
+and its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation, and that the names of
+Hewlett-Packard or Digital not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+/*
+
+Copyright 1987, 1988, 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/PassivGraI.h,v 1.3 2001/12/14 19:56:27 dawes Exp $ */
+
+#ifndef _PDI_h_
+#define _PDI_h_
+
+
+#define KEYBOARD TRUE
+#define POINTER FALSE
+
+typedef enum {
+ XtNoServerGrab,
+ XtPassiveServerGrab,
+ XtActiveServerGrab,
+ XtPseudoPassiveServerGrab,
+ XtPseudoActiveServerGrab
+}XtServerGrabType;
+
+typedef struct _XtServerGrabRec {
+ struct _XtServerGrabRec *next;
+ Widget widget;
+ unsigned int ownerEvents:1;
+ unsigned int pointerMode:1;
+ unsigned int keyboardMode:1;
+ unsigned int hasExt:1;
+ unsigned int confineToIsWidgetWin:1;
+ KeyCode keybut;
+ unsigned short modifiers;
+ unsigned short eventMask;
+} XtServerGrabRec, *XtServerGrabPtr;
+
+typedef struct _XtGrabExtRec {
+ Mask *pKeyButMask;
+ Mask *pModifiersMask;
+ Window confineTo;
+ Cursor cursor;
+} XtServerGrabExtRec, *XtServerGrabExtPtr;
+
+#define GRABEXT(p) ((XtServerGrabExtPtr)((p)+1))
+
+typedef struct _XtDeviceRec{
+ XtServerGrabRec grab; /* need copy in order to protect
+ during grab */
+ XtServerGrabType grabType;
+}XtDeviceRec, *XtDevice;
+
+#define XtMyAncestor 0
+#define XtMyDescendant 1
+#define XtMyCousin 2
+#define XtMySelf 3
+#define XtUnrelated 4
+typedef char XtGeneology; /* do not use an enum makes PerWidgetInput larger */
+
+typedef struct {
+ Widget focusKid;
+ XtServerGrabPtr keyList, ptrList;
+ Widget queryEventDescendant;
+ unsigned int map_handler_added:1;
+ unsigned int realize_handler_added:1;
+ unsigned int active_handler_added:1;
+ unsigned int haveFocus:1;
+ XtGeneology focalPoint;
+}XtPerWidgetInputRec, *XtPerWidgetInput;
+
+typedef struct XtPerDisplayInputRec{
+ XtGrabList grabList;
+ XtDeviceRec keyboard, pointer;
+ KeyCode activatingKey;
+ Widget *trace;
+ int traceDepth, traceMax;
+ Widget focusWidget;
+}XtPerDisplayInputRec, *XtPerDisplayInput;
+
+#define IsServerGrab(g) ((g == XtPassiveServerGrab) ||\
+ (g == XtActiveServerGrab))
+
+#define IsAnyGrab(g) ((g == XtPassiveServerGrab) ||\
+ (g == XtActiveServerGrab) ||\
+ (g == XtPseudoPassiveServerGrab))
+
+#define IsEitherPassiveGrab(g) ((g == XtPassiveServerGrab) ||\
+ (g == XtPseudoPassiveServerGrab))
+
+#define IsPseudoGrab(g) ((g == XtPseudoPassiveServerGrab))
+
+extern void _XtDestroyServerGrabs(
+ Widget /* w */,
+ XtPointer /* pwi */, /*XtPerWidgetInput*/
+ XtPointer /* call_data */
+);
+
+extern XtPerWidgetInput _XtGetPerWidgetInput(
+ Widget /* widget */,
+ _XtBoolean /* create */
+);
+
+extern XtServerGrabPtr _XtCheckServerGrabsOnWidget(
+ XEvent* /* event */,
+ Widget /* widget */,
+ _XtBoolean /* isKeyboard */
+);
+
+/*
+extern XtGrabList* _XtGetGrabList( XtPerDisplayInput );
+*/
+
+#define _XtGetGrabList(pdi) (&(pdi)->grabList)
+
+extern void _XtFreePerWidgetInput(
+ Widget /* w */,
+ XtPerWidgetInput /* pwi */
+);
+
+extern Widget _XtProcessKeyboardEvent(
+ XKeyEvent* /* event */,
+ Widget /* widget */,
+ XtPerDisplayInput /* pdi */
+);
+
+extern Widget _XtProcessPointerEvent(
+ XButtonEvent* /* event */,
+ Widget /* widget */,
+ XtPerDisplayInput /* pdi */
+);
+
+extern void _XtRegisterPassiveGrabs(
+ Widget /* widget */
+);
+
+extern void _XtClearAncestorCache(
+ Widget /* widget */
+);
+
+#endif /* _PDI_h_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/RectObj.h b/packages/xorg-lib/xorg-headers-native/X11/RectObj.h
new file mode 100644
index 0000000000..07615fab74
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/RectObj.h
@@ -0,0 +1,60 @@
+/* $Xorg: RectObj.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+/* $oHeader: RectObj.h,v 1.2 88/08/18 17:39:17 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtRect_h
+#define _XtRect_h
+
+typedef struct _RectObjRec *RectObj;
+typedef struct _RectObjClassRec *RectObjClass;
+
+#ifndef RECTOBJ
+externalref WidgetClass rectObjClass;
+#endif
+#endif /* _XtRect_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/RectObjP.h b/packages/xorg-lib/xorg-headers-native/X11/RectObjP.h
new file mode 100644
index 0000000000..ca3b8ade78
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/RectObjP.h
@@ -0,0 +1,129 @@
+/* $Xorg: RectObjP.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+/* $oHeader: RectObjP.h,v 1.2 88/08/18 15:55:52 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _Xt_RectObjP_h_
+#define _Xt_RectObjP_h_
+
+#include <X11/RectObj.h>
+#include <X11/ObjectP.h>
+
+/**********************************************************
+ * Rectangle Object Instance Data Structures
+ *
+ **********************************************************/
+/* these fields match CorePart and can not be changed */
+
+typedef struct _RectObjPart {
+ Position x, y; /* rectangle position */
+ Dimension width, height; /* rectangle dimensions */
+ Dimension border_width; /* rectangle border width */
+ Boolean managed; /* is widget geometry managed? */
+ Boolean sensitive; /* is widget sensitive to user events*/
+ Boolean ancestor_sensitive; /* are all ancestors sensitive? */
+}RectObjPart;
+
+typedef struct _RectObjRec {
+ ObjectPart object;
+ RectObjPart rectangle;
+} RectObjRec;
+
+
+
+/********************************************************
+ * Rectangle Object Class Data Structures
+ *
+ ********************************************************/
+/* these fields match CoreClassPart and can not be changed */
+/* ideally these structures would only contain the fields required;
+ but because the CoreClassPart cannot be changed at this late date
+ extraneous fields are necessary to make the field offsets match */
+
+typedef struct _RectObjClassPart {
+
+ WidgetClass superclass; /* pointer to superclass ClassRec */
+ String class_name; /* widget resource class name */
+ Cardinal widget_size; /* size in bytes of widget record */
+ XtProc class_initialize; /* class initialization proc */
+ XtWidgetClassProc class_part_initialize; /* dynamic initialization */
+ XtEnum class_inited; /* has class been initialized? */
+ XtInitProc initialize; /* initialize subclass fields */
+ XtArgsProc initialize_hook; /* notify that initialize called */
+ XtProc rect1; /* NULL */
+ XtPointer rect2; /* NULL */
+ Cardinal rect3; /* NULL */
+ XtResourceList resources; /* resources for subclass fields */
+ Cardinal num_resources; /* number of entries in resources */
+ XrmClass xrm_class; /* resource class quarkified */
+ Boolean rect4; /* NULL */
+ XtEnum rect5; /* NULL */
+ Boolean rect6; /* NULL */
+ Boolean rect7; /* NULL */
+ XtWidgetProc destroy; /* free data for subclass pointers */
+ XtWidgetProc resize; /* geom manager changed widget size */
+ XtExposeProc expose; /* rediplay rectangle */
+ XtSetValuesFunc set_values; /* set subclass resource values */
+ XtArgsFunc set_values_hook; /* notify that set_values called */
+ XtAlmostProc set_values_almost; /* set values almost for geometry */
+ XtArgsProc get_values_hook; /* notify that get_values called */
+ XtProc rect9; /* NULL */
+ XtVersionType version; /* version of intrinsics used */
+ XtPointer callback_private; /* list of callback offsets */
+ String rect10; /* NULL */
+ XtGeometryHandler query_geometry; /* return preferred geometry */
+ XtProc rect11; /* NULL */
+ XtPointer extension; /* pointer to extension record */
+} RectObjClassPart;
+
+typedef struct _RectObjClassRec {
+ RectObjClassPart rect_class;
+} RectObjClassRec;
+
+externalref RectObjClassRec rectObjClassRec;
+
+#endif /*_Xt_RectObjP_h_*/
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ResConfigP.h b/packages/xorg-lib/xorg-headers-native/X11/ResConfigP.h
new file mode 100644
index 0000000000..a06cda715d
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ResConfigP.h
@@ -0,0 +1,78 @@
+/* $Xorg: ResConfigP.h,v 1.5 2001/02/09 02:03:56 xorgcvs Exp $ */
+/*
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/*****************************************************************
+
+(C) COPYRIGHT International Business Machines Corp. 1992,1997
+ All Rights Reserved
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE IBM CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the IBM Corporation shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from the IBM
+Corporation.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/ResConfigP.h,v 3.7 2001/12/20 19:40:59 tsi Exp $ */
+
+#ifndef _RESCONFIGP_H
+#define _RESCONFIGP_H
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/*
+ * Atom names for resource configuration management customization tool.
+ */
+#define RCM_DATA "Custom Data"
+#define RCM_INIT "Custom Init"
+
+extern void _XtResourceConfigurationEH(
+ Widget /* w */,
+ XtPointer /* client_data */,
+ XEvent * /* event */
+);
+
+_XFUNCPROTOEND
+
+#endif
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ResourceI.h b/packages/xorg-lib/xorg-headers-native/X11/ResourceI.h
new file mode 100644
index 0000000000..d6ed1df237
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ResourceI.h
@@ -0,0 +1,100 @@
+/* $Xorg: ResourceI.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/ResourceI.h,v 1.5 2001/12/14 19:56:28 dawes Exp $ */
+
+/****************************************************************
+ *
+ * Resources
+ *
+ ****************************************************************/
+
+#ifndef _XtresourceI_h
+#define _XtresourceI_h
+
+#define StringToQuark(string) XrmStringToQuark(string)
+#define StringToName(string) XrmStringToName(string)
+#define StringToClass(string) XrmStringToClass(string)
+
+extern void _XtDependencies(
+ XtResourceList * /* class_resp */,
+ Cardinal * /* class_num_resp */,
+ XrmResourceList * /* super_res */,
+ Cardinal /* super_num_res */,
+ Cardinal /* super_widget_size */);
+
+extern void _XtResourceDependencies(
+ WidgetClass /* wc */
+);
+
+extern void _XtConstraintResDependencies(
+ ConstraintWidgetClass /* wc */
+);
+
+extern XtCacheRef* _XtGetResources(
+ Widget /* w */,
+ ArgList /* args */,
+ Cardinal /* num_args */,
+ XtTypedArgList /* typed_args */,
+ Cardinal* /* num_typed_args */
+);
+
+extern void _XtCopyFromParent(
+ Widget /* widget */,
+ int /* offset */,
+ XrmValue* /* value */
+);
+
+extern void _XtCopyToArg(char *src, XtArgVal *dst, unsigned int size);
+extern void _XtCopyFromArg(XtArgVal src, char *dst, unsigned int size);
+extern XrmResourceList* _XtCreateIndirectionTable(XtResourceList resources,
+ Cardinal num_resources);
+extern void _XtResourceListInitialize(void);
+
+
+#endif /* _XtresourceI_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/SelectionI.h b/packages/xorg-lib/xorg-headers-native/X11/SelectionI.h
new file mode 100644
index 0000000000..e589aece54
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/SelectionI.h
@@ -0,0 +1,170 @@
+/* $Xorg: SelectionI.h,v 1.4 2001/02/09 02:03:58 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtselectionI_h
+#define _XtselectionI_h
+
+#include "Intrinsic.h"
+
+typedef struct _RequestRec *Request;
+typedef struct _SelectRec *Select;
+
+typedef struct _RequestRec {
+ Select ctx; /* logical owner */
+ Widget widget; /* widget actually receiving Selection events */
+ Window requestor;
+ Atom property;
+ Atom target;
+ Atom type;
+ int format;
+ XtPointer value;
+ unsigned long bytelength;
+ unsigned long offset;
+ XtIntervalId timeout;
+ XSelectionRequestEvent event; /* for XtGetSelectionRequest */
+ Boolean allSent;
+} RequestRec;
+
+typedef struct {
+ Atom prop;
+ Boolean avail;
+} SelectionPropRec, *SelectionProp;
+
+typedef struct {
+ Display *dpy;
+ Atom incr_atom, indirect_atom, timestamp_atom;
+ int propCount;
+ SelectionProp list;
+} PropListRec, *PropList;
+
+typedef struct _SelectRec {
+ Atom selection; /* constant */
+ Display *dpy; /* constant */
+ Widget widget;
+ Time time;
+ unsigned long serial;
+ XtConvertSelectionProc convert;
+ XtLoseSelectionProc loses;
+ XtSelectionDoneProc notify;
+ XtCancelConvertSelectionProc owner_cancel;
+ XtPointer owner_closure;
+ PropList prop_list;
+ Request req; /* state for local non-incr xfer */
+ int ref_count; /* of active transfers */
+ unsigned int incremental:1;
+ unsigned int free_when_done:1;
+ unsigned int was_disowned:1;
+} SelectRec;
+
+typedef struct _ParamRec {
+ Atom selection;
+ Atom param;
+} ParamRec, *Param;
+
+typedef struct _ParamInfoRec {
+ unsigned int count;
+ Param paramlist;
+} ParamInfoRec, *ParamInfo;
+
+typedef struct _QueuedRequestRec {
+ Atom selection;
+ Atom target;
+ Atom param;
+ XtSelectionCallbackProc callback;
+ XtPointer closure;
+ Time time;
+ Boolean incremental;
+} QueuedRequestRec, *QueuedRequest;
+
+typedef struct _QueuedRequestInfoRec {
+ int count;
+ Atom *selections;
+ QueuedRequest *requests;
+} QueuedRequestInfoRec, *QueuedRequestInfo;
+
+typedef struct {
+ XtSelectionCallbackProc *callbacks;
+ XtPointer *req_closure;
+ Atom property;
+ Atom *target;
+ Atom type;
+ int format;
+ char *value;
+ int bytelength;
+ int offset;
+ XtIntervalId timeout;
+ XtEventHandler proc;
+ Widget widget;
+ Time time;
+ Select ctx;
+ Boolean *incremental;
+ int current;
+} CallBackInfoRec, *CallBackInfo;
+
+typedef struct {
+ Atom target;
+ Atom property;
+} IndirectPair;
+
+#define IndirectPairWordSize 2
+
+typedef struct {
+ int active_transfer_count;
+} RequestWindowRec;
+
+#define MAX_SELECTION_INCR(dpy) (((65536 < XMaxRequestSize(dpy)) ? \
+ (65536 << 2) : (XMaxRequestSize(dpy) << 2))-100)
+
+#define MATCH_SELECT(event, info) ((event->time == info->time) && \
+ (event->requestor == XtWindow(info->widget)) && \
+ (event->selection == info->ctx->selection) && \
+ (event->target == *info->target))
+
+#endif /* _XtselectionI_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Shell.h b/packages/xorg-lib/xorg-headers-native/X11/Shell.h
new file mode 100644
index 0000000000..5075ae2b81
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Shell.h
@@ -0,0 +1,567 @@
+/* $Xorg: Shell.ht,v 1.5 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/util/Shell.ht,v 3.4 2001/07/29 05:01:12 tsi Exp $ */
+
+#ifndef _XtShell_h
+#define _XtShell_h
+
+#include <X11/SM/SMlib.h>
+#include <X11/Intrinsic.h>
+
+/***********************************************************************
+ *
+ * Shell Widget
+ *
+ ***********************************************************************/
+/*
+ * Shell-specific resources names, classes, and a representation type.
+ */
+
+#ifndef XTSTRINGDEFINES
+#define _XtShell_h_Const const
+#endif
+
+/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* This file is automatically generated. */
+/* Default ABI version -- Do not edit */
+/* Xorg: string.list,v 1.3 2000/08/17 19:46:22 cpqbld Exp */
+
+#ifdef XTSTRINGDEFINES
+#define XtNiconName "iconName"
+#define XtCIconName "IconName"
+#define XtNiconPixmap "iconPixmap"
+#define XtCIconPixmap "IconPixmap"
+#define XtNiconWindow "iconWindow"
+#define XtCIconWindow "IconWindow"
+#define XtNiconMask "iconMask"
+#define XtCIconMask "IconMask"
+#define XtNwindowGroup "windowGroup"
+#define XtCWindowGroup "WindowGroup"
+#define XtNvisual "visual"
+#define XtCVisual "Visual"
+#define XtNtitleEncoding "titleEncoding"
+#define XtCTitleEncoding "TitleEncoding"
+#define XtNsaveUnder "saveUnder"
+#define XtCSaveUnder "SaveUnder"
+#define XtNtransient "transient"
+#define XtCTransient "Transient"
+#define XtNoverrideRedirect "overrideRedirect"
+#define XtCOverrideRedirect "OverrideRedirect"
+#define XtNtransientFor "transientFor"
+#define XtCTransientFor "TransientFor"
+#define XtNiconNameEncoding "iconNameEncoding"
+#define XtCIconNameEncoding "IconNameEncoding"
+#define XtNallowShellResize "allowShellResize"
+#define XtCAllowShellResize "AllowShellResize"
+#define XtNcreatePopupChildProc "createPopupChildProc"
+#define XtCCreatePopupChildProc "CreatePopupChildProc"
+#define XtNtitle "title"
+#define XtCTitle "Title"
+#ifndef XtRAtom
+#define XtRAtom "Atom"
+#endif
+#define XtNargc "argc"
+#define XtCArgc "Argc"
+#define XtNargv "argv"
+#define XtCArgv "Argv"
+#define XtNiconX "iconX"
+#define XtCIconX "IconX"
+#define XtNiconY "iconY"
+#define XtCIconY "IconY"
+#define XtNinput "input"
+#define XtCInput "Input"
+#define XtNiconic "iconic"
+#define XtCIconic "Iconic"
+#define XtNinitialState "initialState"
+#define XtCInitialState "InitialState"
+#define XtNgeometry "geometry"
+#define XtCGeometry "Geometry"
+#define XtNbaseWidth "baseWidth"
+#define XtCBaseWidth "BaseWidth"
+#define XtNbaseHeight "baseHeight"
+#define XtCBaseHeight "BaseHeight"
+#define XtNwinGravity "winGravity"
+#define XtCWinGravity "WinGravity"
+#define XtNminWidth "minWidth"
+#define XtCMinWidth "MinWidth"
+#define XtNminHeight "minHeight"
+#define XtCMinHeight "MinHeight"
+#define XtNmaxWidth "maxWidth"
+#define XtCMaxWidth "MaxWidth"
+#define XtNmaxHeight "maxHeight"
+#define XtCMaxHeight "MaxHeight"
+#define XtNwidthInc "widthInc"
+#define XtCWidthInc "WidthInc"
+#define XtNheightInc "heightInc"
+#define XtCHeightInc "HeightInc"
+#define XtNminAspectY "minAspectY"
+#define XtCMinAspectY "MinAspectY"
+#define XtNmaxAspectY "maxAspectY"
+#define XtCMaxAspectY "MaxAspectY"
+#define XtNminAspectX "minAspectX"
+#define XtCMinAspectX "MinAspectX"
+#define XtNmaxAspectX "maxAspectX"
+#define XtCMaxAspectX "MaxAspectX"
+#define XtNwmTimeout "wmTimeout"
+#define XtCWmTimeout "WmTimeout"
+#define XtNwaitForWm "waitforwm"
+#define XtCWaitForWm "Waitforwm"
+#define XtNwaitforwm "waitforwm"
+#define XtCWaitforwm "Waitforwm"
+#define XtNclientLeader "clientLeader"
+#define XtCClientLeader "ClientLeader"
+#define XtNwindowRole "windowRole"
+#define XtCWindowRole "WindowRole"
+#define XtNurgency "urgency"
+#define XtCUrgency "Urgency"
+#define XtNcancelCallback "cancelCallback"
+#define XtNcloneCommand "cloneCommand"
+#define XtCCloneCommand "CloneCommand"
+#define XtNconnection "connection"
+#define XtCConnection "Connection"
+#define XtNcurrentDirectory "currentDirectory"
+#define XtCCurrentDirectory "CurrentDirectory"
+#define XtNdieCallback "dieCallback"
+#define XtNdiscardCommand "discardCommand"
+#define XtCDiscardCommand "DiscardCommand"
+#define XtNenvironment "environment"
+#define XtCEnvironment "Environment"
+#define XtNinteractCallback "interactCallback"
+#define XtNjoinSession "joinSession"
+#define XtCJoinSession "JoinSession"
+#define XtNprogramPath "programPath"
+#define XtCProgramPath "ProgramPath"
+#define XtNresignCommand "resignCommand"
+#define XtCResignCommand "ResignCommand"
+#define XtNrestartCommand "restartCommand"
+#define XtCRestartCommand "RestartCommand"
+#define XtNrestartStyle "restartStyle"
+#define XtCRestartStyle "RestartStyle"
+#define XtNsaveCallback "saveCallback"
+#define XtNsaveCompleteCallback "saveCompleteCallback"
+#define XtNsessionID "sessionID"
+#define XtCSessionID "SessionID"
+#define XtNshutdownCommand "shutdownCommand"
+#define XtCShutdownCommand "ShutdownCommand"
+#define XtNerrorCallback "errorCallback"
+#else
+extern _XtShell_h_Const char XtShellStrings[];
+#ifndef XtNiconName
+#define XtNiconName ((char*)&XtShellStrings[0])
+#endif
+#ifndef XtCIconName
+#define XtCIconName ((char*)&XtShellStrings[9])
+#endif
+#ifndef XtNiconPixmap
+#define XtNiconPixmap ((char*)&XtShellStrings[18])
+#endif
+#ifndef XtCIconPixmap
+#define XtCIconPixmap ((char*)&XtShellStrings[29])
+#endif
+#ifndef XtNiconWindow
+#define XtNiconWindow ((char*)&XtShellStrings[40])
+#endif
+#ifndef XtCIconWindow
+#define XtCIconWindow ((char*)&XtShellStrings[51])
+#endif
+#ifndef XtNiconMask
+#define XtNiconMask ((char*)&XtShellStrings[62])
+#endif
+#ifndef XtCIconMask
+#define XtCIconMask ((char*)&XtShellStrings[71])
+#endif
+#ifndef XtNwindowGroup
+#define XtNwindowGroup ((char*)&XtShellStrings[80])
+#endif
+#ifndef XtCWindowGroup
+#define XtCWindowGroup ((char*)&XtShellStrings[92])
+#endif
+#ifndef XtNvisual
+#define XtNvisual ((char*)&XtShellStrings[104])
+#endif
+#ifndef XtCVisual
+#define XtCVisual ((char*)&XtShellStrings[111])
+#endif
+#ifndef XtNtitleEncoding
+#define XtNtitleEncoding ((char*)&XtShellStrings[118])
+#endif
+#ifndef XtCTitleEncoding
+#define XtCTitleEncoding ((char*)&XtShellStrings[132])
+#endif
+#ifndef XtNsaveUnder
+#define XtNsaveUnder ((char*)&XtShellStrings[146])
+#endif
+#ifndef XtCSaveUnder
+#define XtCSaveUnder ((char*)&XtShellStrings[156])
+#endif
+#ifndef XtNtransient
+#define XtNtransient ((char*)&XtShellStrings[166])
+#endif
+#ifndef XtCTransient
+#define XtCTransient ((char*)&XtShellStrings[176])
+#endif
+#ifndef XtNoverrideRedirect
+#define XtNoverrideRedirect ((char*)&XtShellStrings[186])
+#endif
+#ifndef XtCOverrideRedirect
+#define XtCOverrideRedirect ((char*)&XtShellStrings[203])
+#endif
+#ifndef XtNtransientFor
+#define XtNtransientFor ((char*)&XtShellStrings[220])
+#endif
+#ifndef XtCTransientFor
+#define XtCTransientFor ((char*)&XtShellStrings[233])
+#endif
+#ifndef XtNiconNameEncoding
+#define XtNiconNameEncoding ((char*)&XtShellStrings[246])
+#endif
+#ifndef XtCIconNameEncoding
+#define XtCIconNameEncoding ((char*)&XtShellStrings[263])
+#endif
+#ifndef XtNallowShellResize
+#define XtNallowShellResize ((char*)&XtShellStrings[280])
+#endif
+#ifndef XtCAllowShellResize
+#define XtCAllowShellResize ((char*)&XtShellStrings[297])
+#endif
+#ifndef XtNcreatePopupChildProc
+#define XtNcreatePopupChildProc ((char*)&XtShellStrings[314])
+#endif
+#ifndef XtCCreatePopupChildProc
+#define XtCCreatePopupChildProc ((char*)&XtShellStrings[335])
+#endif
+#ifndef XtNtitle
+#define XtNtitle ((char*)&XtShellStrings[356])
+#endif
+#ifndef XtCTitle
+#define XtCTitle ((char*)&XtShellStrings[362])
+#endif
+#ifndef XtRAtom
+#define XtRAtom ((char*)&XtShellStrings[368])
+#endif
+#ifndef XtNargc
+#define XtNargc ((char*)&XtShellStrings[373])
+#endif
+#ifndef XtCArgc
+#define XtCArgc ((char*)&XtShellStrings[378])
+#endif
+#ifndef XtNargv
+#define XtNargv ((char*)&XtShellStrings[383])
+#endif
+#ifndef XtCArgv
+#define XtCArgv ((char*)&XtShellStrings[388])
+#endif
+#ifndef XtNiconX
+#define XtNiconX ((char*)&XtShellStrings[393])
+#endif
+#ifndef XtCIconX
+#define XtCIconX ((char*)&XtShellStrings[399])
+#endif
+#ifndef XtNiconY
+#define XtNiconY ((char*)&XtShellStrings[405])
+#endif
+#ifndef XtCIconY
+#define XtCIconY ((char*)&XtShellStrings[411])
+#endif
+#ifndef XtNinput
+#define XtNinput ((char*)&XtShellStrings[417])
+#endif
+#ifndef XtCInput
+#define XtCInput ((char*)&XtShellStrings[423])
+#endif
+#ifndef XtNiconic
+#define XtNiconic ((char*)&XtShellStrings[429])
+#endif
+#ifndef XtCIconic
+#define XtCIconic ((char*)&XtShellStrings[436])
+#endif
+#ifndef XtNinitialState
+#define XtNinitialState ((char*)&XtShellStrings[443])
+#endif
+#ifndef XtCInitialState
+#define XtCInitialState ((char*)&XtShellStrings[456])
+#endif
+#ifndef XtNgeometry
+#define XtNgeometry ((char*)&XtShellStrings[469])
+#endif
+#ifndef XtCGeometry
+#define XtCGeometry ((char*)&XtShellStrings[478])
+#endif
+#ifndef XtNbaseWidth
+#define XtNbaseWidth ((char*)&XtShellStrings[487])
+#endif
+#ifndef XtCBaseWidth
+#define XtCBaseWidth ((char*)&XtShellStrings[497])
+#endif
+#ifndef XtNbaseHeight
+#define XtNbaseHeight ((char*)&XtShellStrings[507])
+#endif
+#ifndef XtCBaseHeight
+#define XtCBaseHeight ((char*)&XtShellStrings[518])
+#endif
+#ifndef XtNwinGravity
+#define XtNwinGravity ((char*)&XtShellStrings[529])
+#endif
+#ifndef XtCWinGravity
+#define XtCWinGravity ((char*)&XtShellStrings[540])
+#endif
+#ifndef XtNminWidth
+#define XtNminWidth ((char*)&XtShellStrings[551])
+#endif
+#ifndef XtCMinWidth
+#define XtCMinWidth ((char*)&XtShellStrings[560])
+#endif
+#ifndef XtNminHeight
+#define XtNminHeight ((char*)&XtShellStrings[569])
+#endif
+#ifndef XtCMinHeight
+#define XtCMinHeight ((char*)&XtShellStrings[579])
+#endif
+#ifndef XtNmaxWidth
+#define XtNmaxWidth ((char*)&XtShellStrings[589])
+#endif
+#ifndef XtCMaxWidth
+#define XtCMaxWidth ((char*)&XtShellStrings[598])
+#endif
+#ifndef XtNmaxHeight
+#define XtNmaxHeight ((char*)&XtShellStrings[607])
+#endif
+#ifndef XtCMaxHeight
+#define XtCMaxHeight ((char*)&XtShellStrings[617])
+#endif
+#ifndef XtNwidthInc
+#define XtNwidthInc ((char*)&XtShellStrings[627])
+#endif
+#ifndef XtCWidthInc
+#define XtCWidthInc ((char*)&XtShellStrings[636])
+#endif
+#ifndef XtNheightInc
+#define XtNheightInc ((char*)&XtShellStrings[645])
+#endif
+#ifndef XtCHeightInc
+#define XtCHeightInc ((char*)&XtShellStrings[655])
+#endif
+#ifndef XtNminAspectY
+#define XtNminAspectY ((char*)&XtShellStrings[665])
+#endif
+#ifndef XtCMinAspectY
+#define XtCMinAspectY ((char*)&XtShellStrings[676])
+#endif
+#ifndef XtNmaxAspectY
+#define XtNmaxAspectY ((char*)&XtShellStrings[687])
+#endif
+#ifndef XtCMaxAspectY
+#define XtCMaxAspectY ((char*)&XtShellStrings[698])
+#endif
+#ifndef XtNminAspectX
+#define XtNminAspectX ((char*)&XtShellStrings[709])
+#endif
+#ifndef XtCMinAspectX
+#define XtCMinAspectX ((char*)&XtShellStrings[720])
+#endif
+#ifndef XtNmaxAspectX
+#define XtNmaxAspectX ((char*)&XtShellStrings[731])
+#endif
+#ifndef XtCMaxAspectX
+#define XtCMaxAspectX ((char*)&XtShellStrings[742])
+#endif
+#ifndef XtNwmTimeout
+#define XtNwmTimeout ((char*)&XtShellStrings[753])
+#endif
+#ifndef XtCWmTimeout
+#define XtCWmTimeout ((char*)&XtShellStrings[763])
+#endif
+#ifndef XtNwaitForWm
+#define XtNwaitForWm ((char*)&XtShellStrings[773])
+#endif
+#ifndef XtCWaitForWm
+#define XtCWaitForWm ((char*)&XtShellStrings[783])
+#endif
+#ifndef XtNwaitforwm
+#define XtNwaitforwm ((char*)&XtShellStrings[793])
+#endif
+#ifndef XtCWaitforwm
+#define XtCWaitforwm ((char*)&XtShellStrings[803])
+#endif
+#ifndef XtNclientLeader
+#define XtNclientLeader ((char*)&XtShellStrings[813])
+#endif
+#ifndef XtCClientLeader
+#define XtCClientLeader ((char*)&XtShellStrings[826])
+#endif
+#ifndef XtNwindowRole
+#define XtNwindowRole ((char*)&XtShellStrings[839])
+#endif
+#ifndef XtCWindowRole
+#define XtCWindowRole ((char*)&XtShellStrings[850])
+#endif
+#ifndef XtNurgency
+#define XtNurgency ((char*)&XtShellStrings[861])
+#endif
+#ifndef XtCUrgency
+#define XtCUrgency ((char*)&XtShellStrings[869])
+#endif
+#ifndef XtNcancelCallback
+#define XtNcancelCallback ((char*)&XtShellStrings[877])
+#endif
+#ifndef XtNcloneCommand
+#define XtNcloneCommand ((char*)&XtShellStrings[892])
+#endif
+#ifndef XtCCloneCommand
+#define XtCCloneCommand ((char*)&XtShellStrings[905])
+#endif
+#ifndef XtNconnection
+#define XtNconnection ((char*)&XtShellStrings[918])
+#endif
+#ifndef XtCConnection
+#define XtCConnection ((char*)&XtShellStrings[929])
+#endif
+#ifndef XtNcurrentDirectory
+#define XtNcurrentDirectory ((char*)&XtShellStrings[940])
+#endif
+#ifndef XtCCurrentDirectory
+#define XtCCurrentDirectory ((char*)&XtShellStrings[957])
+#endif
+#ifndef XtNdieCallback
+#define XtNdieCallback ((char*)&XtShellStrings[974])
+#endif
+#ifndef XtNdiscardCommand
+#define XtNdiscardCommand ((char*)&XtShellStrings[986])
+#endif
+#ifndef XtCDiscardCommand
+#define XtCDiscardCommand ((char*)&XtShellStrings[1001])
+#endif
+#ifndef XtNenvironment
+#define XtNenvironment ((char*)&XtShellStrings[1016])
+#endif
+#ifndef XtCEnvironment
+#define XtCEnvironment ((char*)&XtShellStrings[1028])
+#endif
+#ifndef XtNinteractCallback
+#define XtNinteractCallback ((char*)&XtShellStrings[1040])
+#endif
+#ifndef XtNjoinSession
+#define XtNjoinSession ((char*)&XtShellStrings[1057])
+#endif
+#ifndef XtCJoinSession
+#define XtCJoinSession ((char*)&XtShellStrings[1069])
+#endif
+#ifndef XtNprogramPath
+#define XtNprogramPath ((char*)&XtShellStrings[1081])
+#endif
+#ifndef XtCProgramPath
+#define XtCProgramPath ((char*)&XtShellStrings[1093])
+#endif
+#ifndef XtNresignCommand
+#define XtNresignCommand ((char*)&XtShellStrings[1105])
+#endif
+#ifndef XtCResignCommand
+#define XtCResignCommand ((char*)&XtShellStrings[1119])
+#endif
+#ifndef XtNrestartCommand
+#define XtNrestartCommand ((char*)&XtShellStrings[1133])
+#endif
+#ifndef XtCRestartCommand
+#define XtCRestartCommand ((char*)&XtShellStrings[1148])
+#endif
+#ifndef XtNrestartStyle
+#define XtNrestartStyle ((char*)&XtShellStrings[1163])
+#endif
+#ifndef XtCRestartStyle
+#define XtCRestartStyle ((char*)&XtShellStrings[1176])
+#endif
+#ifndef XtNsaveCallback
+#define XtNsaveCallback ((char*)&XtShellStrings[1189])
+#endif
+#ifndef XtNsaveCompleteCallback
+#define XtNsaveCompleteCallback ((char*)&XtShellStrings[1202])
+#endif
+#ifndef XtNsessionID
+#define XtNsessionID ((char*)&XtShellStrings[1223])
+#endif
+#ifndef XtCSessionID
+#define XtCSessionID ((char*)&XtShellStrings[1233])
+#endif
+#ifndef XtNshutdownCommand
+#define XtNshutdownCommand ((char*)&XtShellStrings[1243])
+#endif
+#ifndef XtCShutdownCommand
+#define XtCShutdownCommand ((char*)&XtShellStrings[1259])
+#endif
+#ifndef XtNerrorCallback
+#define XtNerrorCallback ((char*)&XtShellStrings[1275])
+#endif
+#endif /* XTSTRINGDEFINES */
+
+#ifndef XTSTRINGDEFINES
+#undef _XtShell_h_Const
+#endif
+
+/* Class record constants */
+
+typedef struct _ShellClassRec *ShellWidgetClass;
+typedef struct _OverrideShellClassRec *OverrideShellWidgetClass;
+typedef struct _WMShellClassRec *WMShellWidgetClass;
+typedef struct _TransientShellClassRec *TransientShellWidgetClass;
+typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass;
+typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass;
+typedef struct _SessionShellClassRec *SessionShellWidgetClass;
+
+#ifndef SHELL
+externalref WidgetClass shellWidgetClass;
+externalref WidgetClass overrideShellWidgetClass;
+externalref WidgetClass wmShellWidgetClass;
+externalref WidgetClass transientShellWidgetClass;
+externalref WidgetClass topLevelShellWidgetClass;
+externalref WidgetClass applicationShellWidgetClass;
+externalref WidgetClass sessionShellWidgetClass;
+#endif
+
+#endif /* _XtShell_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ShellI.h b/packages/xorg-lib/xorg-headers-native/X11/ShellI.h
new file mode 100644
index 0000000000..6a093d791a
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ShellI.h
@@ -0,0 +1,12 @@
+/* $XFree86$ */
+
+#ifndef _XtShellInternal_h
+#define _XtShellInternal_h
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+extern void _XtShellGetCoordinates(Widget widget, Position *x, Position *y);
+
+#endif /* _XtShellInternal_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ShellP.h b/packages/xorg-lib/xorg-headers-native/X11/ShellP.h
new file mode 100644
index 0000000000..2b08c3f5ce
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ShellP.h
@@ -0,0 +1,428 @@
+/* $Xorg: ShellP.h,v 1.4 2001/02/09 02:03:58 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * ShellP.h - Private definitions for Shell widget
+ *
+ * Author: Paul Asente
+ * Digital Equipment Corporation
+ * Western Software Laboratory
+ * Date: Thu Dec 3, 1987
+ */
+
+#ifndef _XtShellPrivate_h
+#define _XtShellPrivate_h
+
+#include <X11/Shell.h>
+
+/* *****
+ * ***** VendorP.h is included later on; it needs fields defined in the first
+ * ***** part of this header file
+ * *****
+ */
+
+/***********************************************************************
+ *
+ * Shell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the Shell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} ShellClassPart;
+
+typedef struct {
+ XtPointer next_extension; /* 1st 4 mandated for all extension records */
+ XrmQuark record_type; /* NULLQUARK; on ShellClassPart */
+ long version; /* must be XtShellExtensionVersion */
+ Cardinal record_size; /* sizeof(ShellClassExtensionRec) */
+ XtGeometryHandler root_geometry_manager;
+} ShellClassExtensionRec, *ShellClassExtension;
+
+#define XtShellExtensionVersion 1L
+#define XtInheritRootGeometryManager ((XtGeometryHandler)_XtInherit)
+
+typedef struct _ShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+} ShellClassRec;
+
+externalref ShellClassRec shellClassRec;
+
+/* New fields for the shell widget */
+
+typedef struct {
+ char *geometry;
+ XtCreatePopupChildProc create_popup_child_proc;
+ XtGrabKind grab_kind;
+ Boolean spring_loaded;
+ Boolean popped_up;
+ Boolean allow_shell_resize;
+ Boolean client_specified; /* re-using old name */
+#define _XtShellPositionValid ((Boolean)(1<<0))
+#define _XtShellNotReparented ((Boolean)(1<<1))
+#define _XtShellPPositionOK ((Boolean)(1<<2))
+#define _XtShellGeometryParsed ((Boolean)(1<<3))
+ Boolean save_under;
+ Boolean override_redirect;
+
+ XtCallbackList popup_callback;
+ XtCallbackList popdown_callback;
+ Visual* visual;
+} ShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+} ShellRec, *ShellWidget;
+
+/***********************************************************************
+ *
+ * OverrideShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the OverrideShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} OverrideShellClassPart;
+
+typedef struct _OverrideShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ OverrideShellClassPart override_shell_class;
+} OverrideShellClassRec;
+
+externalref OverrideShellClassRec overrideShellClassRec;
+
+/* No new fields for the override shell widget */
+
+typedef struct {int frabjous;} OverrideShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ OverrideShellPart override;
+} OverrideShellRec, *OverrideShellWidget;
+
+/***********************************************************************
+ *
+ * WMShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the WMShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} WMShellClassPart;
+
+typedef struct _WMShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ WMShellClassPart wm_shell_class;
+} WMShellClassRec;
+
+externalref WMShellClassRec wmShellClassRec;
+
+/* New fields for the WM shell widget */
+
+typedef struct {
+ char *title;
+ int wm_timeout;
+ Boolean wait_for_wm;
+ Boolean transient;
+ Boolean urgency;
+ Widget client_leader;
+ String window_role;
+ struct _OldXSizeHints { /* pre-R4 Xlib structure */
+ long flags;
+ int x, y;
+ int width, height;
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+ struct {
+ int x;
+ int y;
+ } min_aspect, max_aspect;
+ } size_hints;
+ XWMHints wm_hints;
+ int base_width, base_height;
+ int win_gravity;
+ Atom title_encoding;
+} WMShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ WMShellPart wm;
+} WMShellRec, *WMShellWidget;
+
+#include <X11/VendorP.h>
+
+/***********************************************************************
+ *
+ * TransientShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the TransientShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} TransientShellClassPart;
+
+typedef struct _TransientShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ WMShellClassPart wm_shell_class;
+ VendorShellClassPart vendor_shell_class;
+ TransientShellClassPart transient_shell_class;
+} TransientShellClassRec;
+
+externalref TransientShellClassRec transientShellClassRec;
+
+/* New fields for the transient shell widget */
+
+typedef struct {
+ Widget transient_for;
+} TransientShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ WMShellPart wm;
+ VendorShellPart vendor;
+ TransientShellPart transient;
+} TransientShellRec, *TransientShellWidget;
+
+/***********************************************************************
+ *
+ * TopLevelShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the TopLevelShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} TopLevelShellClassPart;
+
+typedef struct _TopLevelShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ WMShellClassPart wm_shell_class;
+ VendorShellClassPart vendor_shell_class;
+ TopLevelShellClassPart top_level_shell_class;
+} TopLevelShellClassRec;
+
+externalref TopLevelShellClassRec topLevelShellClassRec;
+
+/* New fields for the top level shell widget */
+
+typedef struct {
+ char *icon_name;
+ Boolean iconic;
+ Atom icon_name_encoding;
+} TopLevelShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ WMShellPart wm;
+ VendorShellPart vendor;
+ TopLevelShellPart topLevel;
+} TopLevelShellRec, *TopLevelShellWidget;
+
+/***********************************************************************
+ *
+ * ApplicationShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the ApplicationShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} ApplicationShellClassPart;
+
+typedef struct _ApplicationShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ WMShellClassPart wm_shell_class;
+ VendorShellClassPart vendor_shell_class;
+ TopLevelShellClassPart top_level_shell_class;
+ ApplicationShellClassPart application_shell_class;
+} ApplicationShellClassRec;
+
+externalref ApplicationShellClassRec applicationShellClassRec;
+
+/* New fields for the application shell widget */
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ char *c_class;
+#else
+ char *class;
+#endif
+ XrmClass xrm_class;
+ int argc;
+ char **argv;
+} ApplicationShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ WMShellPart wm;
+ VendorShellPart vendor;
+ TopLevelShellPart topLevel;
+ ApplicationShellPart application;
+} ApplicationShellRec, *ApplicationShellWidget;
+
+/***********************************************************************
+ *
+ * SessionShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the SessionShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} SessionShellClassPart;
+
+typedef struct _SessionShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ WMShellClassPart wm_shell_class;
+ VendorShellClassPart vendor_shell_class;
+ TopLevelShellClassPart top_level_shell_class;
+ ApplicationShellClassPart application_shell_class;
+ SessionShellClassPart session_shell_class;
+} SessionShellClassRec;
+
+externalref SessionShellClassRec sessionShellClassRec;
+
+typedef struct _XtSaveYourselfRec *XtSaveYourself; /* implementation-private */
+
+/* New fields for the session shell widget */
+
+typedef struct {
+ SmcConn connection;
+ String session_id;
+ String* restart_command;
+ String* clone_command;
+ String* discard_command;
+ String* resign_command;
+ String* shutdown_command;
+ String* environment;
+ String current_dir;
+ String program_path;
+ unsigned char restart_style;
+ unsigned char checkpoint_state;
+ Boolean join_session;
+ XtCallbackList save_callbacks;
+ XtCallbackList interact_callbacks;
+ XtCallbackList cancel_callbacks;
+ XtCallbackList save_complete_callbacks;
+ XtCallbackList die_callbacks;
+ XtCallbackList error_callbacks;
+ XtSaveYourself save;
+ XtInputId input_id;
+ XtPointer ses20;
+ XtPointer ses19;
+ XtPointer ses18;
+ XtPointer ses17;
+ XtPointer ses16;
+ XtPointer ses15;
+ XtPointer ses14;
+ XtPointer ses13;
+ XtPointer ses12;
+ XtPointer ses11;
+ XtPointer ses10;
+ XtPointer ses9;
+ XtPointer ses8;
+ XtPointer ses7;
+ XtPointer ses6;
+ XtPointer ses5;
+ XtPointer ses4;
+ XtPointer ses3;
+ XtPointer ses2;
+ XtPointer ses1;
+} SessionShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ WMShellPart wm;
+ VendorShellPart vendor;
+ TopLevelShellPart topLevel;
+ ApplicationShellPart application;
+ SessionShellPart session;
+} SessionShellRec, *SessionShellWidget;
+
+#endif /* _XtShellPrivate_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/StringDefs.h b/packages/xorg-lib/xorg-headers-native/X11/StringDefs.h
new file mode 100644
index 0000000000..3841d73a17
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/StringDefs.h
@@ -0,0 +1,1090 @@
+/* $Xorg: StrDefs.ht,v 1.4 2001/02/09 02:04:00 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/util/StrDefs.ht,v 3.4 2001/07/29 05:01:12 tsi Exp $ */
+
+#ifndef _XtStringDefs_h_
+#define _XtStringDefs_h_
+
+#ifndef XTSTRINGDEFINES
+#define _XtStringDefs_h_Const const
+#endif
+
+/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* This file is automatically generated. */
+/* Default ABI version -- Do not edit */
+/* Xorg: string.list,v 1.3 2000/08/17 19:46:22 cpqbld Exp */
+
+#ifdef XTSTRINGDEFINES
+#define XtNaccelerators "accelerators"
+#define XtNallowHoriz "allowHoriz"
+#define XtNallowVert "allowVert"
+#define XtNancestorSensitive "ancestorSensitive"
+#define XtNbackground "background"
+#define XtNbackgroundPixmap "backgroundPixmap"
+#define XtNbitmap "bitmap"
+#define XtNborderColor "borderColor"
+#define XtNborder "borderColor"
+#define XtNborderPixmap "borderPixmap"
+#define XtNborderWidth "borderWidth"
+#define XtNcallback "callback"
+#define XtNchildren "children"
+#define XtNcolormap "colormap"
+#define XtNdepth "depth"
+#define XtNdestroyCallback "destroyCallback"
+#define XtNeditType "editType"
+#define XtNfile "file"
+#define XtNfont "font"
+#define XtNforceBars "forceBars"
+#define XtNforeground "foreground"
+#define XtNfunction "function"
+#define XtNheight "height"
+#define XtNhighlight "highlight"
+#define XtNhSpace "hSpace"
+#define XtNindex "index"
+#define XtNinitialResourcesPersistent "initialResourcesPersistent"
+#define XtNinnerHeight "innerHeight"
+#define XtNinnerWidth "innerWidth"
+#define XtNinnerWindow "innerWindow"
+#define XtNinsertPosition "insertPosition"
+#define XtNinternalHeight "internalHeight"
+#define XtNinternalWidth "internalWidth"
+#define XtNjumpProc "jumpProc"
+#define XtNjustify "justify"
+#define XtNknobHeight "knobHeight"
+#define XtNknobIndent "knobIndent"
+#define XtNknobPixel "knobPixel"
+#define XtNknobWidth "knobWidth"
+#define XtNlabel "label"
+#define XtNlength "length"
+#define XtNlowerRight "lowerRight"
+#define XtNmappedWhenManaged "mappedWhenManaged"
+#define XtNmenuEntry "menuEntry"
+#define XtNname "name"
+#define XtNnotify "notify"
+#define XtNnumChildren "numChildren"
+#define XtNorientation "orientation"
+#define XtNparameter "parameter"
+#define XtNpixmap "pixmap"
+#define XtNpopupCallback "popupCallback"
+#define XtNpopdownCallback "popdownCallback"
+#define XtNresize "resize"
+#define XtNreverseVideo "reverseVideo"
+#define XtNscreen "screen"
+#define XtNscrollProc "scrollProc"
+#define XtNscrollDCursor "scrollDCursor"
+#define XtNscrollHCursor "scrollHCursor"
+#define XtNscrollLCursor "scrollLCursor"
+#define XtNscrollRCursor "scrollRCursor"
+#define XtNscrollUCursor "scrollUCursor"
+#define XtNscrollVCursor "scrollVCursor"
+#define XtNselection "selection"
+#define XtNselectionArray "selectionArray"
+#define XtNsensitive "sensitive"
+#define XtNshown "shown"
+#define XtNspace "space"
+#define XtNstring "string"
+#define XtNtextOptions "textOptions"
+#define XtNtextSink "textSink"
+#define XtNtextSource "textSource"
+#define XtNthickness "thickness"
+#define XtNthumb "thumb"
+#define XtNthumbProc "thumbProc"
+#define XtNtop "top"
+#define XtNtranslations "translations"
+#define XtNunrealizeCallback "unrealizeCallback"
+#define XtNupdate "update"
+#define XtNuseBottom "useBottom"
+#define XtNuseRight "useRight"
+#define XtNvalue "value"
+#define XtNvSpace "vSpace"
+#define XtNwidth "width"
+#define XtNwindow "window"
+#define XtNx "x"
+#define XtNy "y"
+#define XtCAccelerators "Accelerators"
+#define XtCBackground "Background"
+#define XtCBitmap "Bitmap"
+#define XtCBoolean "Boolean"
+#define XtCBorderColor "BorderColor"
+#define XtCBorderWidth "BorderWidth"
+#define XtCCallback "Callback"
+#define XtCColormap "Colormap"
+#define XtCColor "Color"
+#define XtCCursor "Cursor"
+#define XtCDepth "Depth"
+#define XtCEditType "EditType"
+#define XtCEventBindings "EventBindings"
+#define XtCFile "File"
+#define XtCFont "Font"
+#define XtCForeground "Foreground"
+#define XtCFraction "Fraction"
+#define XtCFunction "Function"
+#define XtCHeight "Height"
+#define XtCHSpace "HSpace"
+#define XtCIndex "Index"
+#define XtCInitialResourcesPersistent "InitialResourcesPersistent"
+#define XtCInsertPosition "InsertPosition"
+#define XtCInterval "Interval"
+#define XtCJustify "Justify"
+#define XtCKnobIndent "KnobIndent"
+#define XtCKnobPixel "KnobPixel"
+#define XtCLabel "Label"
+#define XtCLength "Length"
+#define XtCMappedWhenManaged "MappedWhenManaged"
+#define XtCMargin "Margin"
+#define XtCMenuEntry "MenuEntry"
+#define XtCNotify "Notify"
+#define XtCOrientation "Orientation"
+#define XtCParameter "Parameter"
+#define XtCPixmap "Pixmap"
+#define XtCPosition "Position"
+#define XtCReadOnly "ReadOnly"
+#define XtCResize "Resize"
+#define XtCReverseVideo "ReverseVideo"
+#define XtCScreen "Screen"
+#define XtCScrollProc "ScrollProc"
+#define XtCScrollDCursor "ScrollDCursor"
+#define XtCScrollHCursor "ScrollHCursor"
+#define XtCScrollLCursor "ScrollLCursor"
+#define XtCScrollRCursor "ScrollRCursor"
+#define XtCScrollUCursor "ScrollUCursor"
+#define XtCScrollVCursor "ScrollVCursor"
+#define XtCSelection "Selection"
+#define XtCSensitive "Sensitive"
+#define XtCSelectionArray "SelectionArray"
+#define XtCSpace "Space"
+#define XtCString "String"
+#define XtCTextOptions "TextOptions"
+#define XtCTextPosition "TextPosition"
+#define XtCTextSink "TextSink"
+#define XtCTextSource "TextSource"
+#define XtCThickness "Thickness"
+#define XtCThumb "Thumb"
+#define XtCTranslations "Translations"
+#define XtCValue "Value"
+#define XtCVSpace "VSpace"
+#define XtCWidth "Width"
+#define XtCWindow "Window"
+#define XtCX "X"
+#define XtCY "Y"
+#define XtRAcceleratorTable "AcceleratorTable"
+#ifndef XtRAtom
+#define XtRAtom "Atom"
+#endif
+#define XtRBitmap "Bitmap"
+#define XtRBool "Bool"
+#define XtRBoolean "Boolean"
+#define XtRCallback "Callback"
+#define XtRCallProc "CallProc"
+#define XtRCardinal "Cardinal"
+#define XtRColor "Color"
+#define XtRColormap "Colormap"
+#define XtRCursor "Cursor"
+#define XtRDimension "Dimension"
+#define XtRDisplay "Display"
+#define XtREditMode "EditMode"
+#define XtREnum "Enum"
+#define XtRFile "File"
+#define XtRFloat "Float"
+#define XtRFont "Font"
+#define XtRFontStruct "FontStruct"
+#define XtRFunction "Function"
+#define XtRGeometry "Geometry"
+#define XtRImmediate "Immediate"
+#define XtRInitialState "InitialState"
+#define XtRInt "Int"
+#define XtRJustify "Justify"
+#define XtRLongBoolean "Bool"
+#define XtRObject "Object"
+#define XtROrientation "Orientation"
+#define XtRPixel "Pixel"
+#define XtRPixmap "Pixmap"
+#define XtRPointer "Pointer"
+#define XtRPosition "Position"
+#define XtRScreen "Screen"
+#define XtRShort "Short"
+#define XtRString "String"
+#define XtRStringArray "StringArray"
+#define XtRStringTable "StringTable"
+#define XtRUnsignedChar "UnsignedChar"
+#define XtRTranslationTable "TranslationTable"
+#define XtRVisual "Visual"
+#define XtRWidget "Widget"
+#define XtRWidgetClass "WidgetClass"
+#define XtRWidgetList "WidgetList"
+#define XtRWindow "Window"
+#define XtEoff "off"
+#define XtEfalse "false"
+#define XtEno "no"
+#define XtEon "on"
+#define XtEtrue "true"
+#define XtEyes "yes"
+#define XtEvertical "vertical"
+#define XtEhorizontal "horizontal"
+#define XtEtextRead "read"
+#define XtEtextAppend "append"
+#define XtEtextEdit "edit"
+#define XtExtdefaultbackground "xtdefaultbackground"
+#define XtExtdefaultforeground "xtdefaultforeground"
+#define XtExtdefaultfont "xtdefaultfont"
+#define XtNfontSet "fontSet"
+#define XtRFontSet "FontSet"
+#define XtCFontSet "FontSet"
+#define XtRGravity "Gravity"
+#define XtNcreateHook "createHook"
+#define XtNchangeHook "changeHook"
+#define XtNconfigureHook "configureHook"
+#define XtNgeometryHook "geometryHook"
+#define XtNdestroyHook "destroyHook"
+#define XtNshells "shells"
+#define XtNnumShells "numShells"
+#define XtRCommandArgArray "CommandArgArray"
+#define XtRDirectoryString "DirectoryString"
+#define XtREnvironmentArray "EnvironmentArray"
+#define XtRRestartStyle "RestartStyle"
+#define XtRSmcConn "SmcConn"
+#define XtHcreate "Xtcreate"
+#define XtHsetValues "XtsetValues"
+#define XtHmanageChildren "XtmanageChildren"
+#define XtHunmanageChildren "XtunmanageChildren"
+#define XtHmanageSet "XtmanageSet"
+#define XtHunmanageSet "XtunmanageSet"
+#define XtHrealizeWidget "XtrealizeWidget"
+#define XtHunrealizeWidget "XtunrealizeWidget"
+#define XtHaddCallback "XtaddCallback"
+#define XtHaddCallbacks "XtaddCallbacks"
+#define XtHremoveCallback "XtremoveCallback"
+#define XtHremoveCallbacks "XtremoveCallbacks"
+#define XtHremoveAllCallbacks "XtremoveAllCallbacks"
+#define XtHaugmentTranslations "XtaugmentTranslations"
+#define XtHoverrideTranslations "XtoverrideTranslations"
+#define XtHuninstallTranslations "XtuninstallTranslations"
+#define XtHsetKeyboardFocus "XtsetKeyboardFocus"
+#define XtHsetWMColormapWindows "XtsetWMColormapWindows"
+#define XtHsetMappedWhenManaged "XtsetMappedWhenManaged"
+#define XtHmapWidget "XtmapWidget"
+#define XtHunmapWidget "XtunmapWidget"
+#define XtHpopup "Xtpopup"
+#define XtHpopupSpringLoaded "XtpopupSpringLoaded"
+#define XtHpopdown "Xtpopdown"
+#define XtHconfigure "Xtconfigure"
+#define XtHpreGeometry "XtpreGeometry"
+#define XtHpostGeometry "XtpostGeometry"
+#define XtHdestroy "Xtdestroy"
+#else
+extern _XtStringDefs_h_Const char XtStrings[];
+#ifndef XtNaccelerators
+#define XtNaccelerators ((char*)&XtStrings[0])
+#endif
+#ifndef XtNallowHoriz
+#define XtNallowHoriz ((char*)&XtStrings[13])
+#endif
+#ifndef XtNallowVert
+#define XtNallowVert ((char*)&XtStrings[24])
+#endif
+#ifndef XtNancestorSensitive
+#define XtNancestorSensitive ((char*)&XtStrings[34])
+#endif
+#ifndef XtNbackground
+#define XtNbackground ((char*)&XtStrings[52])
+#endif
+#ifndef XtNbackgroundPixmap
+#define XtNbackgroundPixmap ((char*)&XtStrings[63])
+#endif
+#ifndef XtNbitmap
+#define XtNbitmap ((char*)&XtStrings[80])
+#endif
+#ifndef XtNborderColor
+#define XtNborderColor ((char*)&XtStrings[87])
+#endif
+#ifndef XtNborder
+#define XtNborder ((char*)&XtStrings[99])
+#endif
+#ifndef XtNborderPixmap
+#define XtNborderPixmap ((char*)&XtStrings[111])
+#endif
+#ifndef XtNborderWidth
+#define XtNborderWidth ((char*)&XtStrings[124])
+#endif
+#ifndef XtNcallback
+#define XtNcallback ((char*)&XtStrings[136])
+#endif
+#ifndef XtNchildren
+#define XtNchildren ((char*)&XtStrings[145])
+#endif
+#ifndef XtNcolormap
+#define XtNcolormap ((char*)&XtStrings[154])
+#endif
+#ifndef XtNdepth
+#define XtNdepth ((char*)&XtStrings[163])
+#endif
+#ifndef XtNdestroyCallback
+#define XtNdestroyCallback ((char*)&XtStrings[169])
+#endif
+#ifndef XtNeditType
+#define XtNeditType ((char*)&XtStrings[185])
+#endif
+#ifndef XtNfile
+#define XtNfile ((char*)&XtStrings[194])
+#endif
+#ifndef XtNfont
+#define XtNfont ((char*)&XtStrings[199])
+#endif
+#ifndef XtNforceBars
+#define XtNforceBars ((char*)&XtStrings[204])
+#endif
+#ifndef XtNforeground
+#define XtNforeground ((char*)&XtStrings[214])
+#endif
+#ifndef XtNfunction
+#define XtNfunction ((char*)&XtStrings[225])
+#endif
+#ifndef XtNheight
+#define XtNheight ((char*)&XtStrings[234])
+#endif
+#ifndef XtNhighlight
+#define XtNhighlight ((char*)&XtStrings[241])
+#endif
+#ifndef XtNhSpace
+#define XtNhSpace ((char*)&XtStrings[251])
+#endif
+#ifndef XtNindex
+#define XtNindex ((char*)&XtStrings[258])
+#endif
+#ifndef XtNinitialResourcesPersistent
+#define XtNinitialResourcesPersistent ((char*)&XtStrings[264])
+#endif
+#ifndef XtNinnerHeight
+#define XtNinnerHeight ((char*)&XtStrings[291])
+#endif
+#ifndef XtNinnerWidth
+#define XtNinnerWidth ((char*)&XtStrings[303])
+#endif
+#ifndef XtNinnerWindow
+#define XtNinnerWindow ((char*)&XtStrings[314])
+#endif
+#ifndef XtNinsertPosition
+#define XtNinsertPosition ((char*)&XtStrings[326])
+#endif
+#ifndef XtNinternalHeight
+#define XtNinternalHeight ((char*)&XtStrings[341])
+#endif
+#ifndef XtNinternalWidth
+#define XtNinternalWidth ((char*)&XtStrings[356])
+#endif
+#ifndef XtNjumpProc
+#define XtNjumpProc ((char*)&XtStrings[370])
+#endif
+#ifndef XtNjustify
+#define XtNjustify ((char*)&XtStrings[379])
+#endif
+#ifndef XtNknobHeight
+#define XtNknobHeight ((char*)&XtStrings[387])
+#endif
+#ifndef XtNknobIndent
+#define XtNknobIndent ((char*)&XtStrings[398])
+#endif
+#ifndef XtNknobPixel
+#define XtNknobPixel ((char*)&XtStrings[409])
+#endif
+#ifndef XtNknobWidth
+#define XtNknobWidth ((char*)&XtStrings[419])
+#endif
+#ifndef XtNlabel
+#define XtNlabel ((char*)&XtStrings[429])
+#endif
+#ifndef XtNlength
+#define XtNlength ((char*)&XtStrings[435])
+#endif
+#ifndef XtNlowerRight
+#define XtNlowerRight ((char*)&XtStrings[442])
+#endif
+#ifndef XtNmappedWhenManaged
+#define XtNmappedWhenManaged ((char*)&XtStrings[453])
+#endif
+#ifndef XtNmenuEntry
+#define XtNmenuEntry ((char*)&XtStrings[471])
+#endif
+#ifndef XtNname
+#define XtNname ((char*)&XtStrings[481])
+#endif
+#ifndef XtNnotify
+#define XtNnotify ((char*)&XtStrings[486])
+#endif
+#ifndef XtNnumChildren
+#define XtNnumChildren ((char*)&XtStrings[493])
+#endif
+#ifndef XtNorientation
+#define XtNorientation ((char*)&XtStrings[505])
+#endif
+#ifndef XtNparameter
+#define XtNparameter ((char*)&XtStrings[517])
+#endif
+#ifndef XtNpixmap
+#define XtNpixmap ((char*)&XtStrings[527])
+#endif
+#ifndef XtNpopupCallback
+#define XtNpopupCallback ((char*)&XtStrings[534])
+#endif
+#ifndef XtNpopdownCallback
+#define XtNpopdownCallback ((char*)&XtStrings[548])
+#endif
+#ifndef XtNresize
+#define XtNresize ((char*)&XtStrings[564])
+#endif
+#ifndef XtNreverseVideo
+#define XtNreverseVideo ((char*)&XtStrings[571])
+#endif
+#ifndef XtNscreen
+#define XtNscreen ((char*)&XtStrings[584])
+#endif
+#ifndef XtNscrollProc
+#define XtNscrollProc ((char*)&XtStrings[591])
+#endif
+#ifndef XtNscrollDCursor
+#define XtNscrollDCursor ((char*)&XtStrings[602])
+#endif
+#ifndef XtNscrollHCursor
+#define XtNscrollHCursor ((char*)&XtStrings[616])
+#endif
+#ifndef XtNscrollLCursor
+#define XtNscrollLCursor ((char*)&XtStrings[630])
+#endif
+#ifndef XtNscrollRCursor
+#define XtNscrollRCursor ((char*)&XtStrings[644])
+#endif
+#ifndef XtNscrollUCursor
+#define XtNscrollUCursor ((char*)&XtStrings[658])
+#endif
+#ifndef XtNscrollVCursor
+#define XtNscrollVCursor ((char*)&XtStrings[672])
+#endif
+#ifndef XtNselection
+#define XtNselection ((char*)&XtStrings[686])
+#endif
+#ifndef XtNselectionArray
+#define XtNselectionArray ((char*)&XtStrings[696])
+#endif
+#ifndef XtNsensitive
+#define XtNsensitive ((char*)&XtStrings[711])
+#endif
+#ifndef XtNshown
+#define XtNshown ((char*)&XtStrings[721])
+#endif
+#ifndef XtNspace
+#define XtNspace ((char*)&XtStrings[727])
+#endif
+#ifndef XtNstring
+#define XtNstring ((char*)&XtStrings[733])
+#endif
+#ifndef XtNtextOptions
+#define XtNtextOptions ((char*)&XtStrings[740])
+#endif
+#ifndef XtNtextSink
+#define XtNtextSink ((char*)&XtStrings[752])
+#endif
+#ifndef XtNtextSource
+#define XtNtextSource ((char*)&XtStrings[761])
+#endif
+#ifndef XtNthickness
+#define XtNthickness ((char*)&XtStrings[772])
+#endif
+#ifndef XtNthumb
+#define XtNthumb ((char*)&XtStrings[782])
+#endif
+#ifndef XtNthumbProc
+#define XtNthumbProc ((char*)&XtStrings[788])
+#endif
+#ifndef XtNtop
+#define XtNtop ((char*)&XtStrings[798])
+#endif
+#ifndef XtNtranslations
+#define XtNtranslations ((char*)&XtStrings[802])
+#endif
+#ifndef XtNunrealizeCallback
+#define XtNunrealizeCallback ((char*)&XtStrings[815])
+#endif
+#ifndef XtNupdate
+#define XtNupdate ((char*)&XtStrings[833])
+#endif
+#ifndef XtNuseBottom
+#define XtNuseBottom ((char*)&XtStrings[840])
+#endif
+#ifndef XtNuseRight
+#define XtNuseRight ((char*)&XtStrings[850])
+#endif
+#ifndef XtNvalue
+#define XtNvalue ((char*)&XtStrings[859])
+#endif
+#ifndef XtNvSpace
+#define XtNvSpace ((char*)&XtStrings[865])
+#endif
+#ifndef XtNwidth
+#define XtNwidth ((char*)&XtStrings[872])
+#endif
+#ifndef XtNwindow
+#define XtNwindow ((char*)&XtStrings[878])
+#endif
+#ifndef XtNx
+#define XtNx ((char*)&XtStrings[885])
+#endif
+#ifndef XtNy
+#define XtNy ((char*)&XtStrings[887])
+#endif
+#ifndef XtCAccelerators
+#define XtCAccelerators ((char*)&XtStrings[889])
+#endif
+#ifndef XtCBackground
+#define XtCBackground ((char*)&XtStrings[902])
+#endif
+#ifndef XtCBitmap
+#define XtCBitmap ((char*)&XtStrings[913])
+#endif
+#ifndef XtCBoolean
+#define XtCBoolean ((char*)&XtStrings[920])
+#endif
+#ifndef XtCBorderColor
+#define XtCBorderColor ((char*)&XtStrings[928])
+#endif
+#ifndef XtCBorderWidth
+#define XtCBorderWidth ((char*)&XtStrings[940])
+#endif
+#ifndef XtCCallback
+#define XtCCallback ((char*)&XtStrings[952])
+#endif
+#ifndef XtCColormap
+#define XtCColormap ((char*)&XtStrings[961])
+#endif
+#ifndef XtCColor
+#define XtCColor ((char*)&XtStrings[970])
+#endif
+#ifndef XtCCursor
+#define XtCCursor ((char*)&XtStrings[976])
+#endif
+#ifndef XtCDepth
+#define XtCDepth ((char*)&XtStrings[983])
+#endif
+#ifndef XtCEditType
+#define XtCEditType ((char*)&XtStrings[989])
+#endif
+#ifndef XtCEventBindings
+#define XtCEventBindings ((char*)&XtStrings[998])
+#endif
+#ifndef XtCFile
+#define XtCFile ((char*)&XtStrings[1012])
+#endif
+#ifndef XtCFont
+#define XtCFont ((char*)&XtStrings[1017])
+#endif
+#ifndef XtCForeground
+#define XtCForeground ((char*)&XtStrings[1022])
+#endif
+#ifndef XtCFraction
+#define XtCFraction ((char*)&XtStrings[1033])
+#endif
+#ifndef XtCFunction
+#define XtCFunction ((char*)&XtStrings[1042])
+#endif
+#ifndef XtCHeight
+#define XtCHeight ((char*)&XtStrings[1051])
+#endif
+#ifndef XtCHSpace
+#define XtCHSpace ((char*)&XtStrings[1058])
+#endif
+#ifndef XtCIndex
+#define XtCIndex ((char*)&XtStrings[1065])
+#endif
+#ifndef XtCInitialResourcesPersistent
+#define XtCInitialResourcesPersistent ((char*)&XtStrings[1071])
+#endif
+#ifndef XtCInsertPosition
+#define XtCInsertPosition ((char*)&XtStrings[1098])
+#endif
+#ifndef XtCInterval
+#define XtCInterval ((char*)&XtStrings[1113])
+#endif
+#ifndef XtCJustify
+#define XtCJustify ((char*)&XtStrings[1122])
+#endif
+#ifndef XtCKnobIndent
+#define XtCKnobIndent ((char*)&XtStrings[1130])
+#endif
+#ifndef XtCKnobPixel
+#define XtCKnobPixel ((char*)&XtStrings[1141])
+#endif
+#ifndef XtCLabel
+#define XtCLabel ((char*)&XtStrings[1151])
+#endif
+#ifndef XtCLength
+#define XtCLength ((char*)&XtStrings[1157])
+#endif
+#ifndef XtCMappedWhenManaged
+#define XtCMappedWhenManaged ((char*)&XtStrings[1164])
+#endif
+#ifndef XtCMargin
+#define XtCMargin ((char*)&XtStrings[1182])
+#endif
+#ifndef XtCMenuEntry
+#define XtCMenuEntry ((char*)&XtStrings[1189])
+#endif
+#ifndef XtCNotify
+#define XtCNotify ((char*)&XtStrings[1199])
+#endif
+#ifndef XtCOrientation
+#define XtCOrientation ((char*)&XtStrings[1206])
+#endif
+#ifndef XtCParameter
+#define XtCParameter ((char*)&XtStrings[1218])
+#endif
+#ifndef XtCPixmap
+#define XtCPixmap ((char*)&XtStrings[1228])
+#endif
+#ifndef XtCPosition
+#define XtCPosition ((char*)&XtStrings[1235])
+#endif
+#ifndef XtCReadOnly
+#define XtCReadOnly ((char*)&XtStrings[1244])
+#endif
+#ifndef XtCResize
+#define XtCResize ((char*)&XtStrings[1253])
+#endif
+#ifndef XtCReverseVideo
+#define XtCReverseVideo ((char*)&XtStrings[1260])
+#endif
+#ifndef XtCScreen
+#define XtCScreen ((char*)&XtStrings[1273])
+#endif
+#ifndef XtCScrollProc
+#define XtCScrollProc ((char*)&XtStrings[1280])
+#endif
+#ifndef XtCScrollDCursor
+#define XtCScrollDCursor ((char*)&XtStrings[1291])
+#endif
+#ifndef XtCScrollHCursor
+#define XtCScrollHCursor ((char*)&XtStrings[1305])
+#endif
+#ifndef XtCScrollLCursor
+#define XtCScrollLCursor ((char*)&XtStrings[1319])
+#endif
+#ifndef XtCScrollRCursor
+#define XtCScrollRCursor ((char*)&XtStrings[1333])
+#endif
+#ifndef XtCScrollUCursor
+#define XtCScrollUCursor ((char*)&XtStrings[1347])
+#endif
+#ifndef XtCScrollVCursor
+#define XtCScrollVCursor ((char*)&XtStrings[1361])
+#endif
+#ifndef XtCSelection
+#define XtCSelection ((char*)&XtStrings[1375])
+#endif
+#ifndef XtCSensitive
+#define XtCSensitive ((char*)&XtStrings[1385])
+#endif
+#ifndef XtCSelectionArray
+#define XtCSelectionArray ((char*)&XtStrings[1395])
+#endif
+#ifndef XtCSpace
+#define XtCSpace ((char*)&XtStrings[1410])
+#endif
+#ifndef XtCString
+#define XtCString ((char*)&XtStrings[1416])
+#endif
+#ifndef XtCTextOptions
+#define XtCTextOptions ((char*)&XtStrings[1423])
+#endif
+#ifndef XtCTextPosition
+#define XtCTextPosition ((char*)&XtStrings[1435])
+#endif
+#ifndef XtCTextSink
+#define XtCTextSink ((char*)&XtStrings[1448])
+#endif
+#ifndef XtCTextSource
+#define XtCTextSource ((char*)&XtStrings[1457])
+#endif
+#ifndef XtCThickness
+#define XtCThickness ((char*)&XtStrings[1468])
+#endif
+#ifndef XtCThumb
+#define XtCThumb ((char*)&XtStrings[1478])
+#endif
+#ifndef XtCTranslations
+#define XtCTranslations ((char*)&XtStrings[1484])
+#endif
+#ifndef XtCValue
+#define XtCValue ((char*)&XtStrings[1497])
+#endif
+#ifndef XtCVSpace
+#define XtCVSpace ((char*)&XtStrings[1503])
+#endif
+#ifndef XtCWidth
+#define XtCWidth ((char*)&XtStrings[1510])
+#endif
+#ifndef XtCWindow
+#define XtCWindow ((char*)&XtStrings[1516])
+#endif
+#ifndef XtCX
+#define XtCX ((char*)&XtStrings[1523])
+#endif
+#ifndef XtCY
+#define XtCY ((char*)&XtStrings[1525])
+#endif
+#ifndef XtRAcceleratorTable
+#define XtRAcceleratorTable ((char*)&XtStrings[1527])
+#endif
+#ifndef XtRAtom
+#define XtRAtom ((char*)&XtStrings[1544])
+#endif
+#ifndef XtRBitmap
+#define XtRBitmap ((char*)&XtStrings[1549])
+#endif
+#ifndef XtRBool
+#define XtRBool ((char*)&XtStrings[1556])
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean ((char*)&XtStrings[1561])
+#endif
+#ifndef XtRCallback
+#define XtRCallback ((char*)&XtStrings[1569])
+#endif
+#ifndef XtRCallProc
+#define XtRCallProc ((char*)&XtStrings[1578])
+#endif
+#ifndef XtRCardinal
+#define XtRCardinal ((char*)&XtStrings[1587])
+#endif
+#ifndef XtRColor
+#define XtRColor ((char*)&XtStrings[1596])
+#endif
+#ifndef XtRColormap
+#define XtRColormap ((char*)&XtStrings[1602])
+#endif
+#ifndef XtRCursor
+#define XtRCursor ((char*)&XtStrings[1611])
+#endif
+#ifndef XtRDimension
+#define XtRDimension ((char*)&XtStrings[1618])
+#endif
+#ifndef XtRDisplay
+#define XtRDisplay ((char*)&XtStrings[1628])
+#endif
+#ifndef XtREditMode
+#define XtREditMode ((char*)&XtStrings[1636])
+#endif
+#ifndef XtREnum
+#define XtREnum ((char*)&XtStrings[1645])
+#endif
+#ifndef XtRFile
+#define XtRFile ((char*)&XtStrings[1650])
+#endif
+#ifndef XtRFloat
+#define XtRFloat ((char*)&XtStrings[1655])
+#endif
+#ifndef XtRFont
+#define XtRFont ((char*)&XtStrings[1661])
+#endif
+#ifndef XtRFontStruct
+#define XtRFontStruct ((char*)&XtStrings[1666])
+#endif
+#ifndef XtRFunction
+#define XtRFunction ((char*)&XtStrings[1677])
+#endif
+#ifndef XtRGeometry
+#define XtRGeometry ((char*)&XtStrings[1686])
+#endif
+#ifndef XtRImmediate
+#define XtRImmediate ((char*)&XtStrings[1695])
+#endif
+#ifndef XtRInitialState
+#define XtRInitialState ((char*)&XtStrings[1705])
+#endif
+#ifndef XtRInt
+#define XtRInt ((char*)&XtStrings[1718])
+#endif
+#ifndef XtRJustify
+#define XtRJustify ((char*)&XtStrings[1722])
+#endif
+#ifndef XtRLongBoolean
+#define XtRLongBoolean ((char*)&XtStrings[1730])
+#endif
+#ifndef XtRObject
+#define XtRObject ((char*)&XtStrings[1735])
+#endif
+#ifndef XtROrientation
+#define XtROrientation ((char*)&XtStrings[1742])
+#endif
+#ifndef XtRPixel
+#define XtRPixel ((char*)&XtStrings[1754])
+#endif
+#ifndef XtRPixmap
+#define XtRPixmap ((char*)&XtStrings[1760])
+#endif
+#ifndef XtRPointer
+#define XtRPointer ((char*)&XtStrings[1767])
+#endif
+#ifndef XtRPosition
+#define XtRPosition ((char*)&XtStrings[1775])
+#endif
+#ifndef XtRScreen
+#define XtRScreen ((char*)&XtStrings[1784])
+#endif
+#ifndef XtRShort
+#define XtRShort ((char*)&XtStrings[1791])
+#endif
+#ifndef XtRString
+#define XtRString ((char*)&XtStrings[1797])
+#endif
+#ifndef XtRStringArray
+#define XtRStringArray ((char*)&XtStrings[1804])
+#endif
+#ifndef XtRStringTable
+#define XtRStringTable ((char*)&XtStrings[1816])
+#endif
+#ifndef XtRUnsignedChar
+#define XtRUnsignedChar ((char*)&XtStrings[1828])
+#endif
+#ifndef XtRTranslationTable
+#define XtRTranslationTable ((char*)&XtStrings[1841])
+#endif
+#ifndef XtRVisual
+#define XtRVisual ((char*)&XtStrings[1858])
+#endif
+#ifndef XtRWidget
+#define XtRWidget ((char*)&XtStrings[1865])
+#endif
+#ifndef XtRWidgetClass
+#define XtRWidgetClass ((char*)&XtStrings[1872])
+#endif
+#ifndef XtRWidgetList
+#define XtRWidgetList ((char*)&XtStrings[1884])
+#endif
+#ifndef XtRWindow
+#define XtRWindow ((char*)&XtStrings[1895])
+#endif
+#ifndef XtEoff
+#define XtEoff ((char*)&XtStrings[1902])
+#endif
+#ifndef XtEfalse
+#define XtEfalse ((char*)&XtStrings[1906])
+#endif
+#ifndef XtEno
+#define XtEno ((char*)&XtStrings[1912])
+#endif
+#ifndef XtEon
+#define XtEon ((char*)&XtStrings[1915])
+#endif
+#ifndef XtEtrue
+#define XtEtrue ((char*)&XtStrings[1918])
+#endif
+#ifndef XtEyes
+#define XtEyes ((char*)&XtStrings[1923])
+#endif
+#ifndef XtEvertical
+#define XtEvertical ((char*)&XtStrings[1927])
+#endif
+#ifndef XtEhorizontal
+#define XtEhorizontal ((char*)&XtStrings[1936])
+#endif
+#ifndef XtEtextRead
+#define XtEtextRead ((char*)&XtStrings[1947])
+#endif
+#ifndef XtEtextAppend
+#define XtEtextAppend ((char*)&XtStrings[1952])
+#endif
+#ifndef XtEtextEdit
+#define XtEtextEdit ((char*)&XtStrings[1959])
+#endif
+#ifndef XtExtdefaultbackground
+#define XtExtdefaultbackground ((char*)&XtStrings[1964])
+#endif
+#ifndef XtExtdefaultforeground
+#define XtExtdefaultforeground ((char*)&XtStrings[1984])
+#endif
+#ifndef XtExtdefaultfont
+#define XtExtdefaultfont ((char*)&XtStrings[2004])
+#endif
+#ifndef XtNfontSet
+#define XtNfontSet ((char*)&XtStrings[2018])
+#endif
+#ifndef XtRFontSet
+#define XtRFontSet ((char*)&XtStrings[2026])
+#endif
+#ifndef XtCFontSet
+#define XtCFontSet ((char*)&XtStrings[2034])
+#endif
+#ifndef XtRGravity
+#define XtRGravity ((char*)&XtStrings[2042])
+#endif
+#ifndef XtNcreateHook
+#define XtNcreateHook ((char*)&XtStrings[2050])
+#endif
+#ifndef XtNchangeHook
+#define XtNchangeHook ((char*)&XtStrings[2061])
+#endif
+#ifndef XtNconfigureHook
+#define XtNconfigureHook ((char*)&XtStrings[2072])
+#endif
+#ifndef XtNgeometryHook
+#define XtNgeometryHook ((char*)&XtStrings[2086])
+#endif
+#ifndef XtNdestroyHook
+#define XtNdestroyHook ((char*)&XtStrings[2099])
+#endif
+#ifndef XtNshells
+#define XtNshells ((char*)&XtStrings[2111])
+#endif
+#ifndef XtNnumShells
+#define XtNnumShells ((char*)&XtStrings[2118])
+#endif
+#ifndef XtRCommandArgArray
+#define XtRCommandArgArray ((char*)&XtStrings[2128])
+#endif
+#ifndef XtRDirectoryString
+#define XtRDirectoryString ((char*)&XtStrings[2144])
+#endif
+#ifndef XtREnvironmentArray
+#define XtREnvironmentArray ((char*)&XtStrings[2160])
+#endif
+#ifndef XtRRestartStyle
+#define XtRRestartStyle ((char*)&XtStrings[2177])
+#endif
+#ifndef XtRSmcConn
+#define XtRSmcConn ((char*)&XtStrings[2190])
+#endif
+#ifndef XtHcreate
+#define XtHcreate ((char*)&XtStrings[2198])
+#endif
+#ifndef XtHsetValues
+#define XtHsetValues ((char*)&XtStrings[2207])
+#endif
+#ifndef XtHmanageChildren
+#define XtHmanageChildren ((char*)&XtStrings[2219])
+#endif
+#ifndef XtHunmanageChildren
+#define XtHunmanageChildren ((char*)&XtStrings[2236])
+#endif
+#ifndef XtHmanageSet
+#define XtHmanageSet ((char*)&XtStrings[2255])
+#endif
+#ifndef XtHunmanageSet
+#define XtHunmanageSet ((char*)&XtStrings[2267])
+#endif
+#ifndef XtHrealizeWidget
+#define XtHrealizeWidget ((char*)&XtStrings[2281])
+#endif
+#ifndef XtHunrealizeWidget
+#define XtHunrealizeWidget ((char*)&XtStrings[2297])
+#endif
+#ifndef XtHaddCallback
+#define XtHaddCallback ((char*)&XtStrings[2315])
+#endif
+#ifndef XtHaddCallbacks
+#define XtHaddCallbacks ((char*)&XtStrings[2329])
+#endif
+#ifndef XtHremoveCallback
+#define XtHremoveCallback ((char*)&XtStrings[2344])
+#endif
+#ifndef XtHremoveCallbacks
+#define XtHremoveCallbacks ((char*)&XtStrings[2361])
+#endif
+#ifndef XtHremoveAllCallbacks
+#define XtHremoveAllCallbacks ((char*)&XtStrings[2379])
+#endif
+#ifndef XtHaugmentTranslations
+#define XtHaugmentTranslations ((char*)&XtStrings[2400])
+#endif
+#ifndef XtHoverrideTranslations
+#define XtHoverrideTranslations ((char*)&XtStrings[2422])
+#endif
+#ifndef XtHuninstallTranslations
+#define XtHuninstallTranslations ((char*)&XtStrings[2445])
+#endif
+#ifndef XtHsetKeyboardFocus
+#define XtHsetKeyboardFocus ((char*)&XtStrings[2469])
+#endif
+#ifndef XtHsetWMColormapWindows
+#define XtHsetWMColormapWindows ((char*)&XtStrings[2488])
+#endif
+#ifndef XtHsetMappedWhenManaged
+#define XtHsetMappedWhenManaged ((char*)&XtStrings[2511])
+#endif
+#ifndef XtHmapWidget
+#define XtHmapWidget ((char*)&XtStrings[2534])
+#endif
+#ifndef XtHunmapWidget
+#define XtHunmapWidget ((char*)&XtStrings[2546])
+#endif
+#ifndef XtHpopup
+#define XtHpopup ((char*)&XtStrings[2560])
+#endif
+#ifndef XtHpopupSpringLoaded
+#define XtHpopupSpringLoaded ((char*)&XtStrings[2568])
+#endif
+#ifndef XtHpopdown
+#define XtHpopdown ((char*)&XtStrings[2588])
+#endif
+#ifndef XtHconfigure
+#define XtHconfigure ((char*)&XtStrings[2598])
+#endif
+#ifndef XtHpreGeometry
+#define XtHpreGeometry ((char*)&XtStrings[2610])
+#endif
+#ifndef XtHpostGeometry
+#define XtHpostGeometry ((char*)&XtStrings[2624])
+#endif
+#ifndef XtHdestroy
+#define XtHdestroy ((char*)&XtStrings[2639])
+#endif
+#endif /* XTSTRINGDEFINES */
+
+#ifndef XTSTRINGDEFINES
+#undef _XtStringDefs_h_Const
+#endif
+
+#endif /* _XtStringDefs_h_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Sunkeysym.h b/packages/xorg-lib/xorg-headers-native/X11/Sunkeysym.h
new file mode 100644
index 0000000000..e723444406
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Sunkeysym.h
@@ -0,0 +1,112 @@
+/* $Xorg: Sunkeysym.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/************************************************************
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1991 by Sun Microsystems, Inc. Mountain View, CA.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright no-
+tice appear in all copies and that both that copyright no-
+tice and this permission notice appear in supporting docu-
+mentation, and that the name of Sun not be used in
+advertising or publicity pertaining to distribution of the
+software without specific prior written permission. Sun
+makes no representations about the suitability of this
+software for any purpose. It is provided "as is" without any
+express or implied warranty.
+
+SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
+NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI-
+ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+***********************************************************/
+
+/*
+ * Floating Accent
+ */
+
+#define SunXK_FA_Grave 0x1005FF00
+#define SunXK_FA_Circum 0x1005FF01
+#define SunXK_FA_Tilde 0x1005FF02
+#define SunXK_FA_Acute 0x1005FF03
+#define SunXK_FA_Diaeresis 0x1005FF04
+#define SunXK_FA_Cedilla 0x1005FF05
+
+/*
+ * Miscellaneous Functions
+ */
+
+#define SunXK_F36 0x1005FF10 /* Labeled F11 */
+#define SunXK_F37 0x1005FF11 /* Labeled F12 */
+
+#define SunXK_Sys_Req 0x1005FF60
+#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */
+
+/*
+ * International & Multi-Key Character Composition
+ */
+
+#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */
+#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */
+
+/*
+ * Cursor Control
+ */
+
+#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */
+#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */
+
+/*
+ * Open Look Functions
+ */
+
+#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */
+#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */
+#define SunXK_Find 0x0000FF68 /* Same as XK_Find */
+#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */
+#define SunXK_Props 0x1005FF70
+#define SunXK_Front 0x1005FF71
+#define SunXK_Copy 0x1005FF72
+#define SunXK_Open 0x1005FF73
+#define SunXK_Paste 0x1005FF74
+#define SunXK_Cut 0x1005FF75
+
+#define SunXK_PowerSwitch 0x1005FF76
+#define SunXK_AudioLowerVolume 0x1005FF77
+#define SunXK_AudioMute 0x1005FF78
+#define SunXK_AudioRaiseVolume 0x1005FF79
+#define SunXK_VideoDegauss 0x1005FF7A
+#define SunXK_VideoLowerBrightness 0x1005FF7B
+#define SunXK_VideoRaiseBrightness 0x1005FF7C
+#define SunXK_PowerSwitchShift 0x1005FF7D
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ThreadsI.h b/packages/xorg-lib/xorg-headers-native/X11/ThreadsI.h
new file mode 100644
index 0000000000..1492d7711b
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ThreadsI.h
@@ -0,0 +1,130 @@
+/* $Xorg: ThreadsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/************************************************************
+Copyright 1993 by Sun Microsystems, Inc. Mountain View, CA.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright no-
+tice appear in all copies and that both that copyright no-
+tice and this permission notice appear in supporting docu-
+mentation, and that the name Sun not be used in advertising
+or publicity pertaining to distribution of the software
+without specific prior written permission. Sun makes no
+representations about the suitability of this software for
+any purpose. It is provided "as is" without any express or
+implied warranty.
+
+SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
+NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI-
+ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+/*
+
+Copyright 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/ThreadsI.h,v 3.5 2001/12/14 19:56:31 dawes Exp $ */
+
+#ifndef _XtThreadsI_h
+#define _XtThreadsI_h
+
+#include <X11/XlibConf.h>
+
+#ifdef XTHREADS
+
+typedef struct _LockRec *LockPtr;
+
+typedef void (*ThreadAppProc)(
+ XtAppContext /* app */
+);
+
+typedef void (*ThreadAppYieldLockProc)(
+ XtAppContext, /* app */
+ Boolean*, /* push_thread */
+ Boolean*, /* pushed_thread */
+ int* /* level */
+);
+
+typedef void (*ThreadAppRestoreLockProc)(
+ XtAppContext /* app */,
+ int, /* level */
+ Boolean* /* pushed_thread */
+);
+
+extern void (*_XtProcessLock)(
+ void
+);
+
+extern void (*_XtProcessUnlock)(
+ void
+);
+
+extern void (*_XtInitAppLock)(
+ XtAppContext /* app */
+);
+
+#define INIT_APP_LOCK(app) if(_XtInitAppLock) (*_XtInitAppLock)(app)
+#define FREE_APP_LOCK(app) if(app && app->free_lock)(*app->free_lock)(app)
+
+#define LOCK_PROCESS if(_XtProcessLock)(*_XtProcessLock)()
+#define UNLOCK_PROCESS if(_XtProcessUnlock)(*_XtProcessUnlock)()
+#define LOCK_APP(app) if(app && app->lock)(*app->lock)(app)
+#define UNLOCK_APP(app) if(app && app->unlock)(*app->unlock)(app)
+
+#define YIELD_APP_LOCK(app,push,pushed,level)\
+ if(app && app->yield_lock) (*app->yield_lock)(app,push,pushed,level)
+#define RESTORE_APP_LOCK(app,level,pushed)\
+ if(app && app->restore_lock) (*app->restore_lock)(app,level,pushed)
+
+#define WIDGET_TO_APPCON(w) \
+ XtAppContext app = (w && _XtProcessLock ? \
+ XtWidgetToApplicationContext(w) : NULL)
+
+#define DPY_TO_APPCON(d) \
+ XtAppContext app = (_XtProcessLock ? XtDisplayToApplicationContext(d): 0)
+
+#else /* defined(XTHREADS) */
+
+#define LOCK_PROCESS
+#define UNLOCK_PROCESS
+#define LOCK_APP(app)
+#define UNLOCK_APP(app)
+
+#define INIT_APP_LOCK(app)
+#define FREE_APP_LOCK(app)
+
+#define WIDGET_TO_APPCON(w)
+#define DPY_TO_APPCON(d)
+
+#endif /* !defined(XTHREADS) */
+#endif /* _XtThreadsI_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/TranslateI.h b/packages/xorg-lib/xorg-headers-native/X11/TranslateI.h
new file mode 100644
index 0000000000..122487523c
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/TranslateI.h
@@ -0,0 +1,606 @@
+/* $Xorg: TranslateI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/TranslateI.h,v 1.3 2001/12/14 19:56:32 dawes Exp $ */
+
+/*
+ * TranslateI.h - Header file private to translation management
+ *
+ * Author: Gabe Beged-Dov, HP
+ *
+ * Former Author: Charles Haynes
+ * Digital Equipment Corporation
+ * Western Research Laboratory
+ * Date: Sat Aug 29 1987
+ */
+
+/*#define REFCNT_TRANSLATIONS*/
+#define CACHE_TRANSLATIONS
+
+#define TM_NO_MATCH (-2)
+
+#define _XtRStateTablePair "_XtStateTablePair"
+
+typedef unsigned char TMByteCard;
+typedef unsigned short TMShortCard;
+typedef unsigned long TMLongCard;
+typedef short TMShortInt;
+
+typedef struct _TMTypeMatchRec *TMTypeMatch;
+typedef struct _TMModifierMatchRec *TMModifierMatch;
+typedef struct _TMEventRec *TMEventPtr;
+
+typedef Boolean (*MatchProc)(TMTypeMatch typeMatch,
+ TMModifierMatch modMatch,
+ TMEventPtr eventSeq);
+
+typedef struct _ModToKeysymTable {
+ Modifiers mask;
+ int count;
+ int idx;
+} ModToKeysymTable;
+
+typedef struct _LateBindings {
+ unsigned int knot:1;
+ unsigned int pair:1;
+ unsigned short ref_count; /* garbage collection */
+ KeySym keysym;
+} LateBindings, *LateBindingsPtr;
+
+typedef short ModifierMask;
+
+typedef struct _ActionsRec *ActionPtr;
+typedef struct _ActionsRec {
+ int idx; /* index into quarkTable to find proc */
+ String *params; /* pointer to array of params */
+ Cardinal num_params; /* number of params */
+ ActionPtr next; /* next action to perform */
+} ActionRec;
+
+typedef struct _XtStateRec *StatePtr;
+typedef struct _XtStateRec {
+ unsigned int isCycleStart:1;
+ unsigned int isCycleEnd:1;
+ TMShortCard typeIndex;
+ TMShortCard modIndex;
+ ActionPtr actions; /* rhs list of actions to perform */
+ StatePtr nextLevel;
+}StateRec;
+
+
+#define XtTableReplace 0
+#define XtTableAugment 1
+#define XtTableOverride 2
+#define XtTableUnmerge 3
+
+typedef unsigned int _XtTranslateOp;
+
+/*
+ * New Definitions
+ */
+typedef struct _TMModifierMatchRec{
+ TMLongCard modifiers;
+ TMLongCard modifierMask;
+ LateBindingsPtr lateModifiers;
+ Boolean standard;
+}TMModifierMatchRec;
+
+typedef struct _TMTypeMatchRec{
+ TMLongCard eventType;
+ TMLongCard eventCode;
+ TMLongCard eventCodeMask;
+ MatchProc matchEvent;
+}TMTypeMatchRec;
+
+typedef struct _TMBranchHeadRec {
+ unsigned int isSimple:1;
+ unsigned int hasActions:1;
+ unsigned int hasCycles:1;
+ unsigned int more:13;
+ TMShortCard typeIndex;
+ TMShortCard modIndex;
+}TMBranchHeadRec, *TMBranchHead;
+
+/* NOTE: elements of this structure must match those of
+ * TMComplexStateTreeRec and TMParseStateTreeRec.
+ */
+typedef struct _TMSimpleStateTreeRec{
+ unsigned int isSimple:1;
+ unsigned int isAccelerator:1;
+ unsigned int mappingNotifyInterest:1;
+ unsigned int refCount:13;
+ TMShortCard numBranchHeads;
+ TMShortCard numQuarks; /* # of entries in quarkTbl */
+ TMShortCard unused; /* to ensure same alignment */
+ TMBranchHeadRec *branchHeadTbl;
+ XrmQuark *quarkTbl; /* table of quarkified rhs*/
+}TMSimpleStateTreeRec, *TMSimpleStateTree;
+
+/* NOTE: elements of this structure must match those of
+ * TMSimpleStateTreeRec and TMParseStateTreeRec.
+ */
+typedef struct _TMComplexStateTreeRec{
+ unsigned int isSimple:1;
+ unsigned int isAccelerator:1;
+ unsigned int mappingNotifyInterest:1;
+ unsigned int refCount:13;
+ TMShortCard numBranchHeads;
+ TMShortCard numQuarks; /* # of entries in quarkTbl */
+ TMShortCard numComplexBranchHeads;
+ TMBranchHeadRec *branchHeadTbl;
+ XrmQuark *quarkTbl; /* table of quarkified rhs*/
+ StatePtr *complexBranchHeadTbl;
+}TMComplexStateTreeRec, *TMComplexStateTree;
+
+/* NOTE: elements of this structure must match those of
+ * TMSimpleStateTreeRec and TMComplexStateTreeRec.
+ */
+typedef struct _TMParseStateTreeRec{
+ unsigned int isSimple:1;
+ unsigned int isAccelerator:1;
+ unsigned int mappingNotifyInterest:1;
+ unsigned int isStackQuarks:1;
+ unsigned int isStackBranchHeads:1;
+ unsigned int isStackComplexBranchHeads:1;
+ unsigned int unused:10; /* to ensure correct alignment */
+ TMShortCard numBranchHeads;
+ TMShortCard numQuarks; /* # of entries in quarkTbl */
+ TMShortCard numComplexBranchHeads;
+ TMBranchHeadRec *branchHeadTbl;
+ XrmQuark *quarkTbl; /* table of quarkified rhs*/
+ StatePtr *complexBranchHeadTbl;
+ TMShortCard branchHeadTblSize;
+ TMShortCard quarkTblSize; /*total size of quarkTbl */
+ TMShortCard complexBranchHeadTblSize;
+ StatePtr head;
+}TMParseStateTreeRec, *TMParseStateTree;
+
+typedef union _TMStateTreeRec{
+ TMSimpleStateTreeRec simple;
+ TMParseStateTreeRec parse;
+ TMComplexStateTreeRec complex;
+}*TMStateTree, **TMStateTreePtr, **TMStateTreeList;
+
+typedef struct _TMSimpleBindProcsRec {
+ XtActionProc *procs;
+}TMSimpleBindProcsRec, *TMSimpleBindProcs;
+
+typedef struct _TMComplexBindProcsRec {
+ Widget widget; /*widgetID to pass to action Proc*/
+ XtTranslations aXlations;
+ XtActionProc *procs;
+}TMComplexBindProcsRec, *TMComplexBindProcs;
+
+typedef struct _TMSimpleBindDataRec {
+ unsigned int isComplex:1; /* must be first */
+ TMSimpleBindProcsRec bindTbl[1]; /* variable length */
+}TMSimpleBindDataRec, *TMSimpleBindData;
+
+typedef struct _TMComplexBindDataRec {
+ unsigned int isComplex:1; /* must be first */
+ struct _ATranslationData *accel_context; /* for GetValues */
+ TMComplexBindProcsRec bindTbl[1]; /* variable length */
+}TMComplexBindDataRec, *TMComplexBindData;
+
+typedef union _TMBindDataRec{
+ TMSimpleBindDataRec simple;
+ TMComplexBindDataRec complex;
+}*TMBindData;
+
+typedef struct _TranslationData{
+ unsigned char hasBindings; /* must be first */
+ unsigned char operation; /*replace,augment,override*/
+ TMShortCard numStateTrees;
+ struct _TranslationData *composers[2];
+ EventMask eventMask;
+ TMStateTree stateTreeTbl[1]; /* variable length */
+}TranslationData;
+
+/*
+ * ATranslations is returned by GetValues for translations that contain
+ * accelerators. The TM can differentiate between this and TranslationData
+ * (that don't have a bindTbl) by looking at the first field (hasBindings)
+ * of either structure. All ATranslationData structures associated with a
+ * widget are chained off the BindData record of the widget.
+ */
+typedef struct _ATranslationData{
+ unsigned char hasBindings; /* must be first */
+ unsigned char operation;
+ struct _TranslationData *xlations; /* actual translations */
+ struct _ATranslationData *next; /* chain the contexts together */
+ TMComplexBindProcsRec bindTbl[1]; /* accelerator bindings */
+}ATranslationData, *ATranslations;
+
+typedef struct _TMConvertRec {
+ XtTranslations old; /* table to merge into */
+ XtTranslations new; /* table to merge from */
+} TMConvertRec;
+
+#define _XtEventTimerEventType ((TMLongCard)~0L)
+#define KeysymModMask (1L<<27) /* private to TM */
+#define AnyButtonMask (1L<<28) /* private to TM */
+
+typedef struct _EventRec {
+ TMLongCard modifiers;
+ TMLongCard modifierMask;
+ LateBindingsPtr lateModifiers;
+ TMLongCard eventType;
+ TMLongCard eventCode;
+ TMLongCard eventCodeMask;
+ MatchProc matchEvent;
+ Boolean standard;
+} Event;
+
+typedef struct _EventSeqRec *EventSeqPtr;
+typedef struct _EventSeqRec {
+ Event event; /* X event description */
+ StatePtr state; /* private to state table builder */
+ EventSeqPtr next; /* next event on line */
+ ActionPtr actions; /* r.h.s. list of actions to perform */
+} EventSeqRec;
+
+typedef EventSeqRec EventRec;
+typedef EventSeqPtr EventPtr;
+
+typedef struct _TMEventRec {
+ XEvent *xev;
+ Event event;
+}TMEventRec;
+
+typedef struct _ActionHookRec {
+ struct _ActionHookRec* next; /* must remain first */
+ XtAppContext app;
+ XtActionHookProc proc;
+ XtPointer closure;
+} ActionHookRec, *ActionHook;
+
+/* choose a number between 2 and 8 */
+#define TMKEYCACHELOG2 6
+#define TMKEYCACHESIZE (1<<TMKEYCACHELOG2)
+
+typedef struct _KeyCacheRec {
+ unsigned char modifiers_return[256]; /* constant per KeyCode, key proc */
+ KeyCode keycode[TMKEYCACHESIZE];
+ unsigned char modifiers[TMKEYCACHESIZE];
+ KeySym keysym[TMKEYCACHESIZE];
+} TMKeyCache;
+
+typedef struct _TMKeyContextRec {
+ XEvent *event;
+ unsigned long serial;
+ KeySym keysym;
+ Modifiers modifiers;
+ TMKeyCache keycache; /* keep this last, to keep offsets to others small */
+} TMKeyContextRec, *TMKeyContext;
+
+typedef struct _TMGlobalRec{
+ TMTypeMatchRec **typeMatchSegmentTbl;
+ TMShortCard numTypeMatches;
+ TMShortCard numTypeMatchSegments;
+ TMShortCard typeMatchSegmentTblSize;
+ TMModifierMatchRec **modMatchSegmentTbl;
+ TMShortCard numModMatches;
+ TMShortCard numModMatchSegments;
+ TMShortCard modMatchSegmentTblSize;
+ Boolean newMatchSemantics;
+#ifdef TRACE_TM
+ XtTranslations *tmTbl;
+ TMShortCard numTms;
+ TMShortCard tmTblSize;
+ struct _TMBindCacheRec **bindCacheTbl;
+ TMShortCard numBindCache;
+ TMShortCard bindCacheTblSize;
+ TMShortCard numLateBindings;
+ TMShortCard numBranchHeads;
+ TMShortCard numComplexStates;
+ TMShortCard numComplexActions;
+#endif /* TRACE_TM */
+}TMGlobalRec;
+
+extern TMGlobalRec _XtGlobalTM;
+
+#define TM_MOD_SEGMENT_SIZE 16
+#define TM_TYPE_SEGMENT_SIZE 16
+
+#define TMGetTypeMatch(idx) \
+ ((TMTypeMatch) \
+ &((_XtGlobalTM.typeMatchSegmentTbl[((idx) >> 4)])[(idx) & 15]))
+#define TMGetModifierMatch(idx) \
+ ((TMModifierMatch) \
+ &((_XtGlobalTM.modMatchSegmentTbl[(idx) >> 4])[(idx) & 15]))
+
+/* Useful Access Macros */
+#define TMNewMatchSemantics() (_XtGlobalTM.newMatchSemantics)
+#define TMBranchMore(branch) (branch->more)
+#define TMComplexBranchHead(tree, br) \
+ (((TMComplexStateTree)tree)->complexBranchHeadTbl[TMBranchMore(br)])
+
+#define TMGetComplexBindEntry(bindData, idx) \
+ ((TMComplexBindProcs)&(((TMComplexBindData)bindData)->bindTbl[idx]))
+
+#define TMGetSimpleBindEntry(bindData, idx) \
+ ((TMSimpleBindProcs)&(((TMSimpleBindData)bindData)->bindTbl[idx]))
+
+
+#define _InitializeKeysymTables(dpy, pd) \
+ if (pd->keysyms == NULL) \
+ _XtBuildKeysymTables(dpy, pd)
+
+/*
+ * Internal Functions
+ */
+
+extern void _XtPopup(
+ Widget /* widget */,
+ XtGrabKind /* grab_kind */,
+ _XtBoolean /* spring_loaded */
+);
+
+extern String _XtPrintXlations(
+ Widget /* w */,
+ XtTranslations /* xlations */,
+ Widget /* accelWidget */,
+ _XtBoolean /* includeRHS */
+);
+
+extern void _XtRegisterGrabs(
+ Widget /* widget */
+);
+
+extern XtPointer _XtInitializeActionData(
+ struct _XtActionsRec * /* actions */,
+ Cardinal /* count */,
+ _XtBoolean /* inPlace */
+);
+
+extern void _XtAddEventSeqToStateTree(
+ EventSeqPtr /* eventSeq */,
+ TMParseStateTree /* stateTree */
+);
+
+extern Boolean _XtMatchUsingStandardMods(
+ TMTypeMatch /* typeMatch */,
+ TMModifierMatch /* modMatch */,
+ TMEventPtr /* eventSeq */
+);
+
+extern Boolean _XtMatchUsingDontCareMods(
+ TMTypeMatch /* typeMatch */,
+ TMModifierMatch /* modMatch */,
+ TMEventPtr /* eventSeq */
+);
+
+extern Boolean _XtRegularMatch(
+ TMTypeMatch /* typeMatch */,
+ TMModifierMatch /* modMatch */,
+ TMEventPtr /* eventSeq */
+);
+
+extern Boolean _XtMatchAtom(
+ TMTypeMatch /* typeMatch */,
+ TMModifierMatch /* modMatch */,
+ TMEventPtr /* eventSeq */
+);
+
+extern void _XtTranslateEvent(
+ Widget /* widget */,
+ XEvent* /* event */
+);
+
+#include "CallbackI.h"
+#include "EventI.h"
+#include "HookObjI.h"
+#include "PassivGraI.h"
+#include "ThreadsI.h"
+#include "InitialI.h"
+#include "ResourceI.h"
+#include "StringDefs.h"
+
+extern void _XtBuildKeysymTables(Display *dpy, XtPerDisplay pd);
+
+#ifndef NO_MIT_HACKS
+extern void _XtDisplayTranslations(
+ Widget /* widget */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern void _XtDisplayAccelerators(
+ Widget /* widget */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+
+extern void _XtDisplayInstalledAccelerators(
+ Widget /* widget */,
+ XEvent* /* event */,
+ String* /* params */,
+ Cardinal* /* num_params */
+);
+#endif /* ifndef NO_MIT_HACKS */
+
+extern void _XtPopupInitialize(
+ XtAppContext /* app_context */
+);
+
+extern void _XtBindActions(
+ Widget /* widget */,
+ XtTM /* tm_rec */
+);
+
+extern Boolean _XtComputeLateBindings(
+ Display* /* dpy */,
+ LateBindingsPtr /* lateModifiers */,
+ Modifiers* /* computed */,
+ Modifiers* /* computedMask */
+);
+
+extern XtTranslations _XtCreateXlations(
+ TMStateTree * /* stateTrees */,
+ TMShortCard /* numStateTrees */,
+ XtTranslations /* first */,
+ XtTranslations /* second */
+);
+
+extern Boolean _XtCvtMergeTranslations(
+ Display* /* dpy */,
+ XrmValuePtr /* args */,
+ Cardinal* /* num_args */,
+ XrmValuePtr /* from */,
+ XrmValuePtr /* to */,
+ XtPointer* /* closure_ret */
+);
+
+void _XtRemoveStateTreeByIndex(
+ XtTranslations /* xlations */,
+ TMShortCard /* i */);
+
+void _XtFreeTranslations(
+ XtAppContext /* app */,
+ XrmValuePtr /* toVal */,
+ XtPointer /* closure */,
+ XrmValuePtr /* args */,
+ Cardinal* /* num_args */
+);
+
+extern TMShortCard _XtGetModifierIndex(
+ Event* /* event */
+);
+
+extern TMShortCard _XtGetQuarkIndex(
+ TMParseStateTree /* stateTreePtr */,
+ XrmQuark /* quark */
+);
+
+extern XtTranslations _XtGetTranslationValue(
+ Widget /* widget */
+);
+
+extern TMShortCard _XtGetTypeIndex(
+ Event* /* event */
+);
+
+extern void _XtGrabInitialize(
+ XtAppContext /* app */
+);
+
+extern void _XtInstallTranslations(
+ Widget /* widget */
+);
+
+extern void _XtRemoveTranslations(
+ Widget /* widget */
+);
+
+extern void _XtDestroyTMData(
+ Widget /* widget */
+);
+
+extern void _XtMergeTranslations(
+ Widget /* widget */,
+ XtTranslations /* newXlations */,
+ _XtTranslateOp /* operation */
+);
+
+extern void _XtActionInitialize(
+ XtAppContext /* app */
+);
+
+extern TMStateTree _XtParseTreeToStateTree(
+ TMParseStateTree /* parseTree */
+);
+
+extern String _XtPrintActions(
+ ActionRec* /* actions */,
+ XrmQuark* /* quarkTbl */
+);
+
+extern String _XtPrintState(
+ TMStateTree /* stateTree */,
+ TMBranchHead /* branchHead */);
+
+extern String _XtPrintEventSeq(
+ EventSeqPtr /* eventSeq */,
+ Display* /* dpy */
+);
+
+typedef Boolean (*_XtTraversalProc)(
+ StatePtr /* state */,
+ XtPointer /* data */
+);
+
+extern void _XtTraverseStateTree(
+ TMStateTree /* tree */,
+ _XtTraversalProc /* func */,
+ XtPointer /* data */
+);
+
+extern void _XtTranslateInitialize(
+ void
+);
+
+extern void _XtAddTMConverters(
+ ConverterTable /* table */
+);
+
+extern void _XtUnbindActions(
+ Widget /* widget */,
+ XtTranslations /* xlations */,
+ TMBindData /* bindData */
+);
+
+extern void _XtUnmergeTranslations(
+ Widget /* widget */,
+ XtTranslations /* xlations */
+);
+
+/* TMKey.c */
+extern void _XtAllocTMContext(XtPerDisplay pd);
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/VarargsI.h b/packages/xorg-lib/xorg-headers-native/X11/VarargsI.h
new file mode 100644
index 0000000000..e15404aab5
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/VarargsI.h
@@ -0,0 +1,65 @@
+/* $Xorg: VarargsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/*
+
+Copyright 1985, 1986, 1987, 1988, 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/VarargsI.h,v 3.6 2001/12/14 19:56:32 dawes Exp $ */
+
+#ifndef _VarargsI_h_
+#define _VarargsI_h_
+
+#include <stdarg.h>
+
+/* private routines */
+
+extern void _XtCountVaList(
+ va_list /*var*/, int* /*total_count*/, int* /*typed_count*/
+);
+
+extern void _XtVaToArgList(
+ Widget /*widget*/, va_list /*var*/, int /*max_count*/, ArgList* /*args_return*/, Cardinal* /*num_args_return*/
+);
+
+extern void _XtVaToTypedArgList(
+ va_list /*var*/, int /*count*/, XtTypedArgList* /*args_return*/, Cardinal* /*num_args_return*/
+);
+
+extern XtTypedArgList _XtVaCreateTypedArgList(
+ va_list /*var*/, int /*count*/
+);
+
+extern void _XtFreeArgList(
+ ArgList /*args*/, int /*total_count*/, int /*typed_count*/
+);
+
+extern void _XtGetApplicationResources(
+ Widget /*w*/, XtPointer /*base*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/
+);
+
+extern void _XtGetSubresources(
+ Widget /*w*/, XtPointer /*base*/, const char* /*name*/, const char* /*class*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/
+);
+
+#endif /* _VarargsI_h_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Vendor.h b/packages/xorg-lib/xorg-headers-native/X11/Vendor.h
new file mode 100644
index 0000000000..65e7c38b09
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Vendor.h
@@ -0,0 +1,71 @@
+/*
+* $Xorg: Vendor.h,v 1.5 2001/02/09 02:03:59 xorgcvs Exp $
+* $oHeader: Vendor.h,v 1.2 88/08/18 15:56:44 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtVendor_h
+#define _XtVendor_h
+
+#include <X11/Intrinsic.h>
+
+/***********************************************************************
+ *
+ * VendorShell Widget
+ *
+ ***********************************************************************/
+
+/* Class record constants */
+
+typedef struct _VendorShellClassRec *VendorShellWidgetClass;
+
+externalref WidgetClass vendorShellWidgetClass;
+
+#endif /* _XtVendor_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/VendorP.h b/packages/xorg-lib/xorg-headers-native/X11/VendorP.h
new file mode 100644
index 0000000000..2e5a9759e6
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/VendorP.h
@@ -0,0 +1,111 @@
+/*
+* $Xorg: VendorP.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $
+* $oHeader: VendorP.h,v 1.2 88/08/18 15:56:48 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * VendorP.h - Private definitions for VendorShell widget
+ *
+ * Author: Paul Asente
+ * Digital Equipment Corporation
+ * Western Software Laboratory
+ * Date: Thu Dec 3, 1987
+ */
+
+/***********************************************************************
+ *
+ * VendorShell Widget Private Data
+ *
+ ***********************************************************************/
+
+#ifndef _XtVendorPrivate_h
+#define _XtVendorPrivate_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <X11/Vendor.h>
+
+/* New fields for the VendorShell widget class record */
+
+typedef struct {
+ XtPointer extension; /* pointer to extension record */
+} VendorShellClassPart;
+
+typedef struct _VendorShellClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ WMShellClassPart wm_shell_class;
+ VendorShellClassPart vendor_shell_class;
+} VendorShellClassRec;
+
+externalref VendorShellClassRec vendorShellClassRec;
+
+/* New fields for the vendor shell widget. */
+
+typedef struct {
+ int vendor_specific;
+} VendorShellPart;
+
+typedef struct {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ WMShellPart wm;
+ VendorShellPart vendor;
+} VendorShellRec, *VendorShellWidget;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _XtVendorPrivate_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/X.h b/packages/xorg-lib/xorg-headers-native/X11/X.h
new file mode 100644
index 0000000000..0a9c501fb2
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/X.h
@@ -0,0 +1,721 @@
+/*
+ * $Xorg: X.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $
+ */
+
+/* Definitions for the X window system likely to be used by applications */
+
+#ifndef X_H
+#define X_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/include/X.h,v 1.6 2003/07/09 15:27:28 tsi Exp $ */
+
+#define X_PROTOCOL 11 /* current protocol version */
+#define X_PROTOCOL_REVISION 0 /* current minor version */
+
+/* Resources */
+
+/*
+ * _XSERVER64 must ONLY be defined when compiling X server sources on
+ * systems where unsigned long is not 32 bits, must NOT be used in
+ * client or library code.
+ */
+#ifndef _XSERVER64
+# ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+typedef unsigned long XID;
+# endif
+# ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+typedef unsigned long Mask;
+# endif
+# ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+typedef unsigned long Atom; /* Also in Xdefs.h */
+# endif
+typedef unsigned long VisualID;
+typedef unsigned long Time;
+#else
+# include <X11/Xmd.h>
+# ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+typedef CARD32 XID;
+# endif
+# ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+typedef CARD32 Mask;
+# endif
+# ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+typedef CARD32 Atom;
+# endif
+typedef CARD32 VisualID;
+typedef CARD32 Time;
+#endif
+
+typedef XID Window;
+typedef XID Drawable;
+#ifndef _XTYPEDEF_FONT
+# define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+typedef XID Pixmap;
+typedef XID Cursor;
+typedef XID Colormap;
+typedef XID GContext;
+typedef XID KeySym;
+
+typedef unsigned char KeyCode;
+
+/*****************************************************************
+ * RESERVED RESOURCE AND CONSTANT DEFINITIONS
+ *****************************************************************/
+
+#ifndef None
+#define None 0L /* universal null resource or null atom */
+#endif
+
+#define ParentRelative 1L /* background pixmap in CreateWindow
+ and ChangeWindowAttributes */
+
+#define CopyFromParent 0L /* border pixmap in CreateWindow
+ and ChangeWindowAttributes
+ special VisualID and special window
+ class passed to CreateWindow */
+
+#define PointerWindow 0L /* destination window in SendEvent */
+#define InputFocus 1L /* destination window in SendEvent */
+
+#define PointerRoot 1L /* focus window in SetInputFocus */
+
+#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
+
+#define AnyKey 0L /* special Key Code, passed to GrabKey */
+
+#define AnyButton 0L /* special Button Code, passed to GrabButton */
+
+#define AllTemporary 0L /* special Resource ID passed to KillClient */
+
+#define CurrentTime 0L /* special Time */
+
+#define NoSymbol 0L /* special KeySym */
+
+/*****************************************************************
+ * EVENT DEFINITIONS
+ *****************************************************************/
+
+/* Input Event Masks. Used as event-mask window attribute and as arguments
+ to Grab requests. Not to be confused with event names. */
+
+#define NoEventMask 0L
+#define KeyPressMask (1L<<0)
+#define KeyReleaseMask (1L<<1)
+#define ButtonPressMask (1L<<2)
+#define ButtonReleaseMask (1L<<3)
+#define EnterWindowMask (1L<<4)
+#define LeaveWindowMask (1L<<5)
+#define PointerMotionMask (1L<<6)
+#define PointerMotionHintMask (1L<<7)
+#define Button1MotionMask (1L<<8)
+#define Button2MotionMask (1L<<9)
+#define Button3MotionMask (1L<<10)
+#define Button4MotionMask (1L<<11)
+#define Button5MotionMask (1L<<12)
+#define ButtonMotionMask (1L<<13)
+#define KeymapStateMask (1L<<14)
+#define ExposureMask (1L<<15)
+#define VisibilityChangeMask (1L<<16)
+#define StructureNotifyMask (1L<<17)
+#define ResizeRedirectMask (1L<<18)
+#define SubstructureNotifyMask (1L<<19)
+#define SubstructureRedirectMask (1L<<20)
+#define FocusChangeMask (1L<<21)
+#define PropertyChangeMask (1L<<22)
+#define ColormapChangeMask (1L<<23)
+#define OwnerGrabButtonMask (1L<<24)
+
+/* Event names. Used in "type" field in XEvent structures. Not to be
+confused with event masks above. They start from 2 because 0 and 1
+are reserved in the protocol for errors and replies. */
+
+#define KeyPress 2
+#define KeyRelease 3
+#define ButtonPress 4
+#define ButtonRelease 5
+#define MotionNotify 6
+#define EnterNotify 7
+#define LeaveNotify 8
+#define FocusIn 9
+#define FocusOut 10
+#define KeymapNotify 11
+#define Expose 12
+#define GraphicsExpose 13
+#define NoExpose 14
+#define VisibilityNotify 15
+#define CreateNotify 16
+#define DestroyNotify 17
+#define UnmapNotify 18
+#define MapNotify 19
+#define MapRequest 20
+#define ReparentNotify 21
+#define ConfigureNotify 22
+#define ConfigureRequest 23
+#define GravityNotify 24
+#define ResizeRequest 25
+#define CirculateNotify 26
+#define CirculateRequest 27
+#define PropertyNotify 28
+#define SelectionClear 29
+#define SelectionRequest 30
+#define SelectionNotify 31
+#define ColormapNotify 32
+#define ClientMessage 33
+#define MappingNotify 34
+#define LASTEvent 35 /* must be bigger than any event # */
+
+
+/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
+ state in various key-, mouse-, and button-related events. */
+
+#define ShiftMask (1<<0)
+#define LockMask (1<<1)
+#define ControlMask (1<<2)
+#define Mod1Mask (1<<3)
+#define Mod2Mask (1<<4)
+#define Mod3Mask (1<<5)
+#define Mod4Mask (1<<6)
+#define Mod5Mask (1<<7)
+
+/* modifier names. Used to build a SetModifierMapping request or
+ to read a GetModifierMapping request. These correspond to the
+ masks defined above. */
+#define ShiftMapIndex 0
+#define LockMapIndex 1
+#define ControlMapIndex 2
+#define Mod1MapIndex 3
+#define Mod2MapIndex 4
+#define Mod3MapIndex 5
+#define Mod4MapIndex 6
+#define Mod5MapIndex 7
+
+
+/* button masks. Used in same manner as Key masks above. Not to be confused
+ with button names below. */
+
+#define Button1Mask (1<<8)
+#define Button2Mask (1<<9)
+#define Button3Mask (1<<10)
+#define Button4Mask (1<<11)
+#define Button5Mask (1<<12)
+
+#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
+
+
+/* button names. Used as arguments to GrabButton and as detail in ButtonPress
+ and ButtonRelease events. Not to be confused with button masks above.
+ Note that 0 is already defined above as "AnyButton". */
+
+#define Button1 1
+#define Button2 2
+#define Button3 3
+#define Button4 4
+#define Button5 5
+
+/* Notify modes */
+
+#define NotifyNormal 0
+#define NotifyGrab 1
+#define NotifyUngrab 2
+#define NotifyWhileGrabbed 3
+
+#define NotifyHint 1 /* for MotionNotify events */
+
+/* Notify detail */
+
+#define NotifyAncestor 0
+#define NotifyVirtual 1
+#define NotifyInferior 2
+#define NotifyNonlinear 3
+#define NotifyNonlinearVirtual 4
+#define NotifyPointer 5
+#define NotifyPointerRoot 6
+#define NotifyDetailNone 7
+
+/* Visibility notify */
+
+#define VisibilityUnobscured 0
+#define VisibilityPartiallyObscured 1
+#define VisibilityFullyObscured 2
+
+/* Circulation request */
+
+#define PlaceOnTop 0
+#define PlaceOnBottom 1
+
+/* protocol families */
+
+#define FamilyInternet 0 /* IPv4 */
+#define FamilyDECnet 1
+#define FamilyChaos 2
+#define FamilyInternet6 6 /* IPv6 */
+
+/* authentication families not tied to a specific protocol */
+#define FamilyServerInterpreted 5
+
+/* Property notification */
+
+#define PropertyNewValue 0
+#define PropertyDelete 1
+
+/* Color Map notification */
+
+#define ColormapUninstalled 0
+#define ColormapInstalled 1
+
+/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
+
+#define GrabModeSync 0
+#define GrabModeAsync 1
+
+/* GrabPointer, GrabKeyboard reply status */
+
+#define GrabSuccess 0
+#define AlreadyGrabbed 1
+#define GrabInvalidTime 2
+#define GrabNotViewable 3
+#define GrabFrozen 4
+
+/* AllowEvents modes */
+
+#define AsyncPointer 0
+#define SyncPointer 1
+#define ReplayPointer 2
+#define AsyncKeyboard 3
+#define SyncKeyboard 4
+#define ReplayKeyboard 5
+#define AsyncBoth 6
+#define SyncBoth 7
+
+/* Used in SetInputFocus, GetInputFocus */
+
+#define RevertToNone (int)None
+#define RevertToPointerRoot (int)PointerRoot
+#define RevertToParent 2
+
+/*****************************************************************
+ * ERROR CODES
+ *****************************************************************/
+
+#define Success 0 /* everything's okay */
+#define BadRequest 1 /* bad request code */
+#define BadValue 2 /* int parameter out of range */
+#define BadWindow 3 /* parameter not a Window */
+#define BadPixmap 4 /* parameter not a Pixmap */
+#define BadAtom 5 /* parameter not an Atom */
+#define BadCursor 6 /* parameter not a Cursor */
+#define BadFont 7 /* parameter not a Font */
+#define BadMatch 8 /* parameter mismatch */
+#define BadDrawable 9 /* parameter not a Pixmap or Window */
+#define BadAccess 10 /* depending on context:
+ - key/button already grabbed
+ - attempt to free an illegal
+ cmap entry
+ - attempt to store into a read-only
+ color map entry.
+ - attempt to modify the access control
+ list from other than the local host.
+ */
+#define BadAlloc 11 /* insufficient resources */
+#define BadColor 12 /* no such colormap */
+#define BadGC 13 /* parameter not a GC */
+#define BadIDChoice 14 /* choice not in range or already used */
+#define BadName 15 /* font or color name doesn't exist */
+#define BadLength 16 /* Request length incorrect */
+#define BadImplementation 17 /* server is defective */
+
+#define FirstExtensionError 128
+#define LastExtensionError 255
+
+/*****************************************************************
+ * WINDOW DEFINITIONS
+ *****************************************************************/
+
+/* Window classes used by CreateWindow */
+/* Note that CopyFromParent is already defined as 0 above */
+
+#define InputOutput 1
+#define InputOnly 2
+
+/* Window attributes for CreateWindow and ChangeWindowAttributes */
+
+#define CWBackPixmap (1L<<0)
+#define CWBackPixel (1L<<1)
+#define CWBorderPixmap (1L<<2)
+#define CWBorderPixel (1L<<3)
+#define CWBitGravity (1L<<4)
+#define CWWinGravity (1L<<5)
+#define CWBackingStore (1L<<6)
+#define CWBackingPlanes (1L<<7)
+#define CWBackingPixel (1L<<8)
+#define CWOverrideRedirect (1L<<9)
+#define CWSaveUnder (1L<<10)
+#define CWEventMask (1L<<11)
+#define CWDontPropagate (1L<<12)
+#define CWColormap (1L<<13)
+#define CWCursor (1L<<14)
+
+/* ConfigureWindow structure */
+
+#define CWX (1<<0)
+#define CWY (1<<1)
+#define CWWidth (1<<2)
+#define CWHeight (1<<3)
+#define CWBorderWidth (1<<4)
+#define CWSibling (1<<5)
+#define CWStackMode (1<<6)
+
+
+/* Bit Gravity */
+
+#define ForgetGravity 0
+#define NorthWestGravity 1
+#define NorthGravity 2
+#define NorthEastGravity 3
+#define WestGravity 4
+#define CenterGravity 5
+#define EastGravity 6
+#define SouthWestGravity 7
+#define SouthGravity 8
+#define SouthEastGravity 9
+#define StaticGravity 10
+
+/* Window gravity + bit gravity above */
+
+#define UnmapGravity 0
+
+/* Used in CreateWindow for backing-store hint */
+
+#define NotUseful 0
+#define WhenMapped 1
+#define Always 2
+
+/* Used in GetWindowAttributes reply */
+
+#define IsUnmapped 0
+#define IsUnviewable 1
+#define IsViewable 2
+
+/* Used in ChangeSaveSet */
+
+#define SetModeInsert 0
+#define SetModeDelete 1
+
+/* Used in ChangeCloseDownMode */
+
+#define DestroyAll 0
+#define RetainPermanent 1
+#define RetainTemporary 2
+
+/* Window stacking method (in configureWindow) */
+
+#define Above 0
+#define Below 1
+#define TopIf 2
+#define BottomIf 3
+#define Opposite 4
+
+/* Circulation direction */
+
+#define RaiseLowest 0
+#define LowerHighest 1
+
+/* Property modes */
+
+#define PropModeReplace 0
+#define PropModePrepend 1
+#define PropModeAppend 2
+
+/*****************************************************************
+ * GRAPHICS DEFINITIONS
+ *****************************************************************/
+
+/* graphics functions, as in GC.alu */
+
+#define GXclear 0x0 /* 0 */
+#define GXand 0x1 /* src AND dst */
+#define GXandReverse 0x2 /* src AND NOT dst */
+#define GXcopy 0x3 /* src */
+#define GXandInverted 0x4 /* NOT src AND dst */
+#define GXnoop 0x5 /* dst */
+#define GXxor 0x6 /* src XOR dst */
+#define GXor 0x7 /* src OR dst */
+#define GXnor 0x8 /* NOT src AND NOT dst */
+#define GXequiv 0x9 /* NOT src XOR dst */
+#define GXinvert 0xa /* NOT dst */
+#define GXorReverse 0xb /* src OR NOT dst */
+#define GXcopyInverted 0xc /* NOT src */
+#define GXorInverted 0xd /* NOT src OR dst */
+#define GXnand 0xe /* NOT src OR NOT dst */
+#define GXset 0xf /* 1 */
+
+/* LineStyle */
+
+#define LineSolid 0
+#define LineOnOffDash 1
+#define LineDoubleDash 2
+
+/* capStyle */
+
+#define CapNotLast 0
+#define CapButt 1
+#define CapRound 2
+#define CapProjecting 3
+
+/* joinStyle */
+
+#define JoinMiter 0
+#define JoinRound 1
+#define JoinBevel 2
+
+/* fillStyle */
+
+#define FillSolid 0
+#define FillTiled 1
+#define FillStippled 2
+#define FillOpaqueStippled 3
+
+/* fillRule */
+
+#define EvenOddRule 0
+#define WindingRule 1
+
+/* subwindow mode */
+
+#define ClipByChildren 0
+#define IncludeInferiors 1
+
+/* SetClipRectangles ordering */
+
+#define Unsorted 0
+#define YSorted 1
+#define YXSorted 2
+#define YXBanded 3
+
+/* CoordinateMode for drawing routines */
+
+#define CoordModeOrigin 0 /* relative to the origin */
+#define CoordModePrevious 1 /* relative to previous point */
+
+/* Polygon shapes */
+
+#define Complex 0 /* paths may intersect */
+#define Nonconvex 1 /* no paths intersect, but not convex */
+#define Convex 2 /* wholly convex */
+
+/* Arc modes for PolyFillArc */
+
+#define ArcChord 0 /* join endpoints of arc */
+#define ArcPieSlice 1 /* join endpoints to center of arc */
+
+/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
+ GC.stateChanges */
+
+#define GCFunction (1L<<0)
+#define GCPlaneMask (1L<<1)
+#define GCForeground (1L<<2)
+#define GCBackground (1L<<3)
+#define GCLineWidth (1L<<4)
+#define GCLineStyle (1L<<5)
+#define GCCapStyle (1L<<6)
+#define GCJoinStyle (1L<<7)
+#define GCFillStyle (1L<<8)
+#define GCFillRule (1L<<9)
+#define GCTile (1L<<10)
+#define GCStipple (1L<<11)
+#define GCTileStipXOrigin (1L<<12)
+#define GCTileStipYOrigin (1L<<13)
+#define GCFont (1L<<14)
+#define GCSubwindowMode (1L<<15)
+#define GCGraphicsExposures (1L<<16)
+#define GCClipXOrigin (1L<<17)
+#define GCClipYOrigin (1L<<18)
+#define GCClipMask (1L<<19)
+#define GCDashOffset (1L<<20)
+#define GCDashList (1L<<21)
+#define GCArcMode (1L<<22)
+
+#define GCLastBit 22
+/*****************************************************************
+ * FONTS
+ *****************************************************************/
+
+/* used in QueryFont -- draw direction */
+
+#define FontLeftToRight 0
+#define FontRightToLeft 1
+
+#define FontChange 255
+
+/*****************************************************************
+ * IMAGING
+ *****************************************************************/
+
+/* ImageFormat -- PutImage, GetImage */
+
+#define XYBitmap 0 /* depth 1, XYFormat */
+#define XYPixmap 1 /* depth == drawable depth */
+#define ZPixmap 2 /* depth == drawable depth */
+
+/*****************************************************************
+ * COLOR MAP STUFF
+ *****************************************************************/
+
+/* For CreateColormap */
+
+#define AllocNone 0 /* create map with no entries */
+#define AllocAll 1 /* allocate entire map writeable */
+
+
+/* Flags used in StoreNamedColor, StoreColors */
+
+#define DoRed (1<<0)
+#define DoGreen (1<<1)
+#define DoBlue (1<<2)
+
+/*****************************************************************
+ * CURSOR STUFF
+ *****************************************************************/
+
+/* QueryBestSize Class */
+
+#define CursorShape 0 /* largest size that can be displayed */
+#define TileShape 1 /* size tiled fastest */
+#define StippleShape 2 /* size stippled fastest */
+
+/*****************************************************************
+ * KEYBOARD/POINTER STUFF
+ *****************************************************************/
+
+#define AutoRepeatModeOff 0
+#define AutoRepeatModeOn 1
+#define AutoRepeatModeDefault 2
+
+#define LedModeOff 0
+#define LedModeOn 1
+
+/* masks for ChangeKeyboardControl */
+
+#define KBKeyClickPercent (1L<<0)
+#define KBBellPercent (1L<<1)
+#define KBBellPitch (1L<<2)
+#define KBBellDuration (1L<<3)
+#define KBLed (1L<<4)
+#define KBLedMode (1L<<5)
+#define KBKey (1L<<6)
+#define KBAutoRepeatMode (1L<<7)
+
+#define MappingSuccess 0
+#define MappingBusy 1
+#define MappingFailed 2
+
+#define MappingModifier 0
+#define MappingKeyboard 1
+#define MappingPointer 2
+
+/*****************************************************************
+ * SCREEN SAVER STUFF
+ *****************************************************************/
+
+#define DontPreferBlanking 0
+#define PreferBlanking 1
+#define DefaultBlanking 2
+
+#define DisableScreenSaver 0
+#define DisableScreenInterval 0
+
+#define DontAllowExposures 0
+#define AllowExposures 1
+#define DefaultExposures 2
+
+/* for ForceScreenSaver */
+
+#define ScreenSaverReset 0
+#define ScreenSaverActive 1
+
+/*****************************************************************
+ * HOSTS AND CONNECTIONS
+ *****************************************************************/
+
+/* for ChangeHosts */
+
+#define HostInsert 0
+#define HostDelete 1
+
+/* for ChangeAccessControl */
+
+#define EnableAccess 1
+#define DisableAccess 0
+
+/* Display classes used in opening the connection
+ * Note that the statically allocated ones are even numbered and the
+ * dynamically changeable ones are odd numbered */
+
+#define StaticGray 0
+#define GrayScale 1
+#define StaticColor 2
+#define PseudoColor 3
+#define TrueColor 4
+#define DirectColor 5
+
+
+/* Byte order used in imageByteOrder and bitmapBitOrder */
+
+#define LSBFirst 0
+#define MSBFirst 1
+
+#endif /* X_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/X10.h b/packages/xorg-lib/xorg-headers-native/X11/X10.h
new file mode 100644
index 0000000000..afdb80d6bd
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/X10.h
@@ -0,0 +1,89 @@
+/* $Xorg: X10.h,v 1.4 2001/02/09 02:04:05 xorgcvs Exp $ */
+/*
+ *
+Copyright 1985, 1986, 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+
+
+/*
+ * X10.h - Header definition and support file for the C subroutine
+ * interface library for V10 support routines.
+ */
+#ifndef _X10_H_
+#define _X10_H_
+
+/* Used in XDraw and XDrawFilled */
+
+typedef struct {
+ short x, y;
+ unsigned short flags;
+} Vertex;
+
+/* The meanings of the flag bits. If the bit is 1 the predicate is true */
+
+#define VertexRelative 0x0001 /* else absolute */
+#define VertexDontDraw 0x0002 /* else draw */
+#define VertexCurved 0x0004 /* else straight */
+#define VertexStartClosed 0x0008 /* else not */
+#define VertexEndClosed 0x0010 /* else not */
+/*#define VertexDrawLastPoint 0x0020 */ /* else don't */
+
+/*
+The VertexDrawLastPoint option has not been implemented in XDraw and
+XDrawFilled so it shouldn't be defined.
+*/
+
+/*
+ * XAssoc - Associations used in the XAssocTable data structure. The
+ * associations are used as circular queue entries in the association table
+ * which is contains an array of circular queues (buckets).
+ */
+typedef struct _XAssoc {
+ struct _XAssoc *next; /* Next object in this bucket. */
+ struct _XAssoc *prev; /* Previous obejct in this bucket. */
+ Display *display; /* Display which ownes the id. */
+ XID x_id; /* X Window System id. */
+ char *data; /* Pointer to untyped memory. */
+} XAssoc;
+
+/*
+ * XAssocTable - X Window System id to data structure pointer association
+ * table. An XAssocTable is a hash table whose buckets are circular
+ * queues of XAssoc's. The XAssocTable is constructed from an array of
+ * XAssoc's which are the circular queue headers (bucket headers).
+ * An XAssocTable consists an XAssoc pointer that points to the first
+ * bucket in the bucket array and an integer that indicates the number
+ * of buckets in the array.
+ */
+typedef struct {
+ XAssoc *buckets; /* Pointer to first bucket in bucket array.*/
+ int size; /* Table size (number of buckets). */
+} XAssocTable;
+
+XAssocTable *XCreateAssocTable();
+char *XLookUpAssoc();
+
+#endif /* _X10_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/XF86keysym.h b/packages/xorg-lib/xorg-headers-native/X11/XF86keysym.h
new file mode 100644
index 0000000000..fdb8fd6d2b
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/XF86keysym.h
@@ -0,0 +1,188 @@
+/* $XFree86: xc/include/XF86keysym.h,v 1.16 2003/02/11 02:51:10 dawes Exp $ */
+
+/*
+ * XFree86 vendor specific keysyms.
+ *
+ * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
+ *
+ * When adding new entries, the xc/lib/XKeysymDB file should also be
+ * updated to make the new entries visible to Xlib.
+ */
+
+/*
+ * ModeLock
+ *
+ * This one is old, and not really used any more since XKB offers this
+ * functionality.
+ */
+
+#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
+
+/*
+ * Note, 0x1008FF02 - 0x1008FF0F are free and should be used for misc new
+ * keysyms that don't fit into any of the groups below.
+ *
+ * 0x1008FF64, 0x1008FF6F, 0x1008FF71, 0x1008FF83 are no longer used,
+ * and should be used first for new keysyms.
+ *
+ * Check in keysymdef.h for generic symbols before adding new XFree86-specific
+ * symbols here.
+ */
+
+
+/*
+ * Keys found on some "Internet" keyboards.
+ */
+#define XF86XK_Standby 0x1008FF10
+#define XF86XK_AudioLowerVolume 0x1008FF11
+#define XF86XK_AudioMute 0x1008FF12
+#define XF86XK_AudioRaiseVolume 0x1008FF13
+#define XF86XK_AudioPlay 0x1008FF14
+#define XF86XK_AudioStop 0x1008FF15
+#define XF86XK_AudioPrev 0x1008FF16
+#define XF86XK_AudioNext 0x1008FF17
+#define XF86XK_HomePage 0x1008FF18
+#define XF86XK_Mail 0x1008FF19
+#define XF86XK_Start 0x1008FF1A
+#define XF86XK_Search 0x1008FF1B
+#define XF86XK_AudioRecord 0x1008FF1C
+
+/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
+#define XF86XK_Calculator 0x1008FF1D
+#define XF86XK_Memo 0x1008FF1E
+#define XF86XK_ToDoList 0x1008FF1F
+#define XF86XK_Calendar 0x1008FF20
+#define XF86XK_PowerDown 0x1008FF21
+#define XF86XK_ContrastAdjust 0x1008FF22
+#define XF86XK_RockerUp 0x1008FF23
+#define XF86XK_RockerDown 0x1008FF24
+#define XF86XK_RockerEnter 0x1008FF25
+
+/* Some more "Internet" keyboard symbols */
+#define XF86XK_Back 0x1008FF26
+#define XF86XK_Forward 0x1008FF27
+#define XF86XK_Stop 0x1008FF28
+#define XF86XK_Refresh 0x1008FF29
+#define XF86XK_PowerOff 0x1008FF2A
+#define XF86XK_WakeUp 0x1008FF2B
+#define XF86XK_Eject 0x1008FF2C
+#define XF86XK_ScreenSaver 0x1008FF2D
+#define XF86XK_WWW 0x1008FF2E
+#define XF86XK_Sleep 0x1008FF2F
+#define XF86XK_Favorites 0x1008FF30
+#define XF86XK_AudioPause 0x1008FF31
+#define XF86XK_AudioMedia 0x1008FF32
+#define XF86XK_MyComputer 0x1008FF33
+#define XF86XK_VendorHome 0x1008FF34
+#define XF86XK_LightBulb 0x1008FF35
+#define XF86XK_Shop 0x1008FF36
+#define XF86XK_History 0x1008FF37
+#define XF86XK_OpenURL 0x1008FF38
+#define XF86XK_AddFavorite 0x1008FF39
+#define XF86XK_HotLinks 0x1008FF3A
+#define XF86XK_BrightnessAdjust 0x1008FF3B
+#define XF86XK_Finance 0x1008FF3C
+#define XF86XK_Community 0x1008FF3D
+#define XF86XK_AudioRewind 0x1008FF3E
+#define XF86XK_XF86BackForward 0x1008FF3F
+#define XF86XK_Launch0 0x1008FF40
+#define XF86XK_Launch1 0x1008FF41
+#define XF86XK_Launch2 0x1008FF42
+#define XF86XK_Launch3 0x1008FF43
+#define XF86XK_Launch4 0x1008FF44
+#define XF86XK_Launch5 0x1008FF45
+#define XF86XK_Launch6 0x1008FF46
+#define XF86XK_Launch7 0x1008FF47
+#define XF86XK_Launch8 0x1008FF48
+#define XF86XK_Launch9 0x1008FF49
+#define XF86XK_LaunchA 0x1008FF4A
+#define XF86XK_LaunchB 0x1008FF4B
+#define XF86XK_LaunchC 0x1008FF4C
+#define XF86XK_LaunchD 0x1008FF4D
+#define XF86XK_LaunchE 0x1008FF4E
+#define XF86XK_LaunchF 0x1008FF4F
+
+#define XF86XK_ApplicationLeft 0x1008FF50
+#define XF86XK_ApplicationRight 0x1008FF51
+#define XF86XK_Book 0x1008FF52
+#define XF86XK_CD 0x1008FF53
+#define XF86XK_Calculater 0x1008FF54
+#define XF86XK_Clear 0x1008FF55
+#define XF86XK_Close 0x1008FF56
+#define XF86XK_Copy 0x1008FF57
+#define XF86XK_Cut 0x1008FF58
+#define XF86XK_Display 0x1008FF59
+#define XF86XK_DOS 0x1008FF5A
+#define XF86XK_Documents 0x1008FF5B
+#define XF86XK_Excel 0x1008FF5C
+#define XF86XK_Explorer 0x1008FF5D
+#define XF86XK_Game 0x1008FF5E
+#define XF86XK_Go 0x1008FF5F
+#define XF86XK_iTouch 0x1008FF60
+#define XF86XK_LogOff 0x1008FF61
+#define XF86XK_Market 0x1008FF62
+#define XF86XK_Meeting 0x1008FF63
+#define XF86XK_MenuKB 0x1008FF65
+#define XF86XK_MenuPB 0x1008FF66
+#define XF86XK_MySites 0x1008FF67
+#define XF86XK_New 0x1008FF68
+#define XF86XK_News 0x1008FF69
+#define XF86XK_OfficeHome 0x1008FF6A
+#define XF86XK_Open 0x1008FF6B
+#define XF86XK_Option 0x1008FF6C
+#define XF86XK_Paste 0x1008FF6D
+#define XF86XK_Phone 0x1008FF6E
+#define XF86XK_Q 0x1008FF70
+#define XF86XK_Reply 0x1008FF72
+#define XF86XK_Reload 0x1008FF73
+#define XF86XK_RotateWindows 0x1008FF74
+#define XF86XK_RotationPB 0x1008FF75
+#define XF86XK_RotationKB 0x1008FF76
+#define XF86XK_Save 0x1008FF77
+#define XF86XK_ScrollUp 0x1008FF78
+#define XF86XK_ScrollDown 0x1008FF79
+#define XF86XK_ScrollClick 0x1008FF7A
+#define XF86XK_Send 0x1008FF7B
+#define XF86XK_Spell 0x1008FF7C
+#define XF86XK_SplitScreen 0x1008FF7D
+#define XF86XK_Support 0x1008FF7E
+#define XF86XK_TaskPane 0x1008FF7F
+#define XF86XK_Terminal 0x1008FF80
+#define XF86XK_Tools 0x1008FF81
+#define XF86XK_Travel 0x1008FF82
+#define XF86XK_UserPB 0x1008FF84
+#define XF86XK_User1KB 0x1008FF85
+#define XF86XK_User2KB 0x1008FF86
+#define XF86XK_Video 0x1008FF87
+#define XF86XK_WheelButton 0x1008FF88
+#define XF86XK_Word 0x1008FF89
+#define XF86XK_Xfer 0x1008FF8A
+#define XF86XK_ZoomIn 0x1008FF8B
+#define XF86XK_ZoomOut 0x1008FF8C
+
+#define XF86XK_Away 0x1008FF8D
+#define XF86XK_Messenger 0x1008FF8E
+#define XF86XK_WebCam 0x1008FF8F
+#define XF86XK_MailForward 0x1008FF90
+#define XF86XK_Pictures 0x1008FF91
+#define XF86XK_Music 0x1008FF92
+
+/* Keys for special action keys (hot keys) */
+#define XF86XK_Switch_VT_1 0x1008FE01
+#define XF86XK_Switch_VT_2 0x1008FE02
+#define XF86XK_Switch_VT_3 0x1008FE03
+#define XF86XK_Switch_VT_4 0x1008FE04
+#define XF86XK_Switch_VT_5 0x1008FE05
+#define XF86XK_Switch_VT_6 0x1008FE06
+#define XF86XK_Switch_VT_7 0x1008FE07
+#define XF86XK_Switch_VT_8 0x1008FE08
+#define XF86XK_Switch_VT_9 0x1008FE09
+#define XF86XK_Switch_VT_10 0x1008FE0A
+#define XF86XK_Switch_VT_11 0x1008FE0B
+#define XF86XK_Switch_VT_12 0x1008FE0C
+
+#define XF86XK_Ungrab 0x1008FE20
+#define XF86XK_ClearGrab 0x1008FE21
+#define XF86XK_Next_VMode 0x1008FE22
+#define XF86XK_Prev_VMode 0x1008FE23
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/XKBlib.h b/packages/xorg-lib/xorg-headers-native/X11/XKBlib.h
new file mode 100644
index 0000000000..6a5dc8a7c6
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/XKBlib.h
@@ -0,0 +1,1151 @@
+/* $Xorg: XKBlib.h,v 1.6 2000/08/17 19:45:03 cpqbld Exp $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+/* $XFree86: xc/lib/X11/XKBlib.h,v 3.5 2003/04/17 02:06:31 dawes Exp $ */
+
+#ifndef _XKBLIB_H_
+#define _XKBLIB_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XKBstr.h>
+
+typedef struct _XkbAnyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XKB event minor code */
+ unsigned int device; /* device ID */
+} XkbAnyEvent;
+
+typedef struct _XkbNewKeyboardNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNewKeyboardNotify */
+ int device; /* device ID */
+ int old_device; /* device ID of previous keyboard */
+ int min_key_code; /* minimum key code */
+ int max_key_code; /* maximum key code */
+ int old_min_key_code;/* min key code of previous kbd */
+ int old_max_key_code;/* max key code of previous kbd */
+ unsigned int changed; /* changed aspects of the keyboard */
+ char req_major; /* major and minor opcode of req */
+ char req_minor; /* that caused change, if applicable */
+} XkbNewKeyboardNotifyEvent;
+
+typedef struct _XkbMapNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbMapNotify */
+ int device; /* device ID */
+ unsigned int changed; /* fields which have been changed */
+ unsigned int flags; /* reserved */
+ int first_type; /* first changed key type */
+ int num_types; /* number of changed key types */
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+ KeyCode first_key_sym;
+ KeyCode first_key_act;
+ KeyCode first_key_behavior;
+ KeyCode first_key_explicit;
+ KeyCode first_modmap_key;
+ KeyCode first_vmodmap_key;
+ int num_key_syms;
+ int num_key_acts;
+ int num_key_behaviors;
+ int num_key_explicit;
+ int num_modmap_keys;
+ int num_vmodmap_keys;
+ unsigned int vmods; /* mask of changed virtual mods */
+} XkbMapNotifyEvent;
+
+typedef struct _XkbStateNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbStateNotify */
+ int device; /* device ID */
+ unsigned int changed; /* mask of changed state components */
+ int group; /* keyboard group */
+ int base_group; /* base keyboard group */
+ int latched_group; /* latched keyboard group */
+ int locked_group; /* locked keyboard group */
+ unsigned int mods; /* modifier state */
+ unsigned int base_mods; /* base modifier state */
+ unsigned int latched_mods; /* latched modifiers */
+ unsigned int locked_mods; /* locked modifiers */
+ int compat_state; /* compatibility state */
+ unsigned char grab_mods; /* mods used for grabs */
+ unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
+ unsigned char lookup_mods; /* mods sent to clients */
+ unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
+ int ptr_buttons; /* pointer button state */
+ KeyCode keycode; /* keycode that caused the change */
+ char event_type; /* KeyPress or KeyRelease */
+ char req_major; /* Major opcode of request */
+ char req_minor; /* Minor opcode of request */
+} XkbStateNotifyEvent;
+
+typedef struct _XkbControlsNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbControlsNotify */
+ int device; /* device ID */
+ unsigned int changed_ctrls; /* controls with changed sub-values */
+ unsigned int enabled_ctrls; /* controls currently enabled */
+ unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
+ int num_groups; /* total groups on keyboard */
+ KeyCode keycode; /* key that caused change or 0 */
+ char event_type; /* type of event that caused change */
+ char req_major; /* if keycode==0, major and minor */
+ char req_minor; /* opcode of req that caused change */
+} XkbControlsNotifyEvent;
+
+typedef struct _XkbIndicatorNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbIndicatorNotify */
+ int device; /* device ID */
+ unsigned int changed; /* indicators with new state or map */
+ unsigned int state; /* current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+typedef struct _XkbNamesNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNamesNotify */
+ int device; /* device ID */
+ unsigned int changed; /* names that have changed */
+ int first_type; /* first key type with new name */
+ int num_types; /* number of key types with new names */
+ int first_lvl; /* first key type new new level names */
+ int num_lvls; /* # of key types w/new level names */
+ int num_aliases; /* total number of key aliases*/
+ int num_radio_groups;/* total number of radio groups */
+ unsigned int changed_vmods; /* virtual modifiers with new names */
+ unsigned int changed_groups; /* groups with new names */
+ unsigned int changed_indicators;/* indicators with new names */
+ int first_key; /* first key with new name */
+ int num_keys; /* number of keys with new names */
+} XkbNamesNotifyEvent;
+
+typedef struct _XkbCompatMapNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbCompatMapNotify */
+ int device; /* device ID */
+ unsigned int changed_groups; /* groups with new compat maps */
+ int first_si; /* first new symbol interp */
+ int num_si; /* number of new symbol interps */
+ int num_total_si; /* total # of symbol interps */
+} XkbCompatMapNotifyEvent;
+
+typedef struct _XkbBellNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbBellNotify */
+ int device; /* device ID */
+ int percent; /* requested volume as a % of maximum */
+ int pitch; /* requested pitch in Hz */
+ int duration; /* requested duration in useconds */
+ int bell_class; /* (input extension) feedback class */
+ int bell_id; /* (input extension) ID of feedback */
+ Atom name; /* "name" of requested bell */
+ Window window; /* window associated with event */
+ Bool event_only; /* "event only" requested */
+} XkbBellNotifyEvent;
+
+typedef struct _XkbActionMessage {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbActionMessage */
+ int device; /* device ID */
+ KeyCode keycode; /* key that generated the event */
+ Bool press; /* true if act caused by key press */
+ Bool key_event_follows;/* true if key event also generated */
+ int group; /* effective group */
+ unsigned int mods; /* effective mods */
+ char message[XkbActionMessageLength+1];
+ /* message -- leave space for NUL */
+} XkbActionMessageEvent;
+
+typedef struct _XkbAccessXNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbAccessXNotify */
+ int device; /* device ID */
+ int detail; /* XkbAXN_* */
+ int keycode; /* key of event */
+ int sk_delay; /* current slow keys delay */
+ int debounce_delay; /* current debounce delay */
+} XkbAccessXNotifyEvent;
+
+typedef struct _XkbExtensionDeviceNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbExtensionDeviceNotify */
+ int device; /* device ID */
+ unsigned int reason; /* reason for the event */
+ unsigned int supported; /* mask of supported features */
+ unsigned int unsupported; /* mask of unsupported features */
+ /* that some app tried to use */
+ int first_btn; /* first button that changed */
+ int num_btns; /* range of buttons changed */
+ unsigned int leds_defined; /* indicators with names or maps */
+ unsigned int led_state; /* current state of the indicators */
+ int led_class; /* feedback class for led changes */
+ int led_id; /* feedback id for led changes */
+} XkbExtensionDeviceNotifyEvent;
+
+typedef union _XkbEvent {
+ int type;
+ XkbAnyEvent any;
+ XkbNewKeyboardNotifyEvent new_kbd;
+ XkbMapNotifyEvent map;
+ XkbStateNotifyEvent state;
+ XkbControlsNotifyEvent ctrls;
+ XkbIndicatorNotifyEvent indicators;
+ XkbNamesNotifyEvent names;
+ XkbCompatMapNotifyEvent compat;
+ XkbBellNotifyEvent bell;
+ XkbActionMessageEvent message;
+ XkbAccessXNotifyEvent accessx;
+ XkbExtensionDeviceNotifyEvent device;
+ XEvent core;
+} XkbEvent;
+
+typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
+
+ /* XkbOpenDisplay error codes */
+#define XkbOD_Success 0
+#define XkbOD_BadLibraryVersion 1
+#define XkbOD_ConnectionRefused 2
+#define XkbOD_NonXkbServer 3
+#define XkbOD_BadServerVersion 4
+
+ /* Values for XlibFlags */
+#define XkbLC_ForceLatin1Lookup (1<<0)
+#define XkbLC_ConsumeLookupMods (1<<1)
+#define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
+#define XkbLC_IgnoreNewKeyboards (1<<3)
+#define XkbLC_ControlFallback (1<<4)
+#define XkbLC_ConsumeKeysOnComposeFail (1<<29)
+#define XkbLC_ComposeLED (1<<30)
+#define XkbLC_BeepOnComposeFail (1<<31)
+
+#define XkbLC_AllComposeControls (0xc0000000)
+#define XkbLC_AllControls (0xc000001f)
+
+_XFUNCPROTOBEGIN
+
+extern Bool XkbIgnoreExtension(
+ Bool /* ignore */
+);
+
+extern Display *XkbOpenDisplay(
+ char * /* name */,
+ int * /* ev_rtrn */,
+ int * /* err_rtrn */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */,
+ int * /* reason */
+);
+
+extern Bool XkbQueryExtension(
+ Display * /* dpy */,
+ int * /* opcodeReturn */,
+ int * /* eventBaseReturn */,
+ int * /* errorBaseReturn */,
+ int * /* majorRtrn */,
+ int * /* minorRtrn */
+);
+
+extern Bool XkbUseExtension(
+ Display * /* dpy */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */
+);
+
+extern Bool XkbLibraryVersion(
+ int * /* libMajorRtrn */,
+ int * /* libMinorRtrn */
+);
+
+extern unsigned int XkbSetXlibControls(
+ Display* /* dpy */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern unsigned int XkbGetXlibControls(
+ Display* /* dpy */
+);
+
+extern unsigned int XkbXlibControlsImplemented(void);
+
+typedef Atom (*XkbInternAtomFunc)(
+ Display * /* dpy */,
+ _Xconst char * /* name */,
+ Bool /* only_if_exists */
+);
+
+typedef char * (*XkbGetAtomNameFunc)(
+ Display * /* dpy */,
+ Atom /* atom */
+);
+
+extern void XkbSetAtomFuncs(
+ XkbInternAtomFunc /* getAtom */,
+ XkbGetAtomNameFunc /* getName */
+);
+
+extern KeySym XkbKeycodeToKeysym(
+ Display * /* dpy */,
+#if NeedWidePrototypes
+ unsigned int /* kc */,
+#else
+ KeyCode /* kc */,
+#endif
+ int /* group */,
+ int /* level */
+);
+
+extern unsigned int XkbKeysymToModifiers(
+ Display * /* dpy */,
+ KeySym /* ks */
+);
+
+extern Bool XkbLookupKeySym(
+ Display * /* dpy */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbLookupKeyBinding(
+ Display * /* dpy */,
+ KeySym /* sym_rtrn */,
+ unsigned int /* mods */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbTranslateKeyCode(
+ XkbDescPtr /* xkb */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbTranslateKeySym(
+ Display * /* dpy */,
+ register KeySym * /* sym_return */,
+ unsigned int /* modifiers */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbSetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* delay */,
+ unsigned int /* interval */
+);
+
+extern Bool XkbGetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* delayRtrn */,
+ unsigned int * /* intervalRtrn */
+);
+
+extern Bool XkbChangeEnabledControls(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbDeviceBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceDeviceBell(
+ Display * /* dpy */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */
+);
+
+extern Bool XkbDeviceBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceBell(
+ Display * /* dpy */,
+ int /* percent */
+);
+
+extern Bool XkbBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbSelectEvents(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbSelectEventDetails(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* eventType */,
+ unsigned long /* affect */,
+ unsigned long /* details */
+);
+
+extern void XkbNoteMapChanges(
+ XkbMapChangesPtr /* old */,
+ XkbMapNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern void XkbNoteNameChanges(
+ XkbNameChangesPtr /* old */,
+ XkbNamesNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern Status XkbGetIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetDeviceIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+#define XkbNoteIndicatorMapChanges(o,n,w) \
+ ((o)->map_changes|=((n)->map_changes&(w)))
+#define XkbNoteIndicatorStateChanges(o,n,w)\
+ ((o)->state_changes|=((n)->state_changes&(w)))
+#define XkbGetIndicatorMapChanges(d,x,c) \
+ (XkbGetIndicatorMap((d),(c)->map_changes,x)
+#define XkbChangeIndicatorMaps(d,x,c) \
+ (XkbSetIndicatorMap((d),(c)->map_changes,x))
+
+extern Bool XkbGetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbGetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbSetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbSetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbLockModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLatchModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLockGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbLatchGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbSetServerInternalMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+extern Bool XkbSetIgnoreLockMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+
+extern Bool XkbVirtualModsToReal(
+ XkbDescPtr /* xkb */,
+ unsigned int /* virtual_mask */,
+ unsigned int * /* mask_rtrn */
+);
+
+extern Bool XkbComputeEffectiveMap(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned char * /* map_rtrn */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* keypadVMod */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+ void
+);
+
+extern void XkbFreeKeyboard(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeDesc */
+);
+
+extern Status XkbAllocClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nActions */
+);
+
+extern void XkbFreeClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern XkbKeyTypePtr XkbAddKeyType(
+ XkbDescPtr /* xkb */,
+ Atom /* name */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* num_lvls */
+);
+
+extern Status XkbAllocIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern void XkbFreeIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern XkbDescPtr XkbGetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern Status XkbGetUpdatedMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetMapChanges(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbMapChangesPtr /* changes */
+);
+
+
+extern Status XkbRefreshKeyboardMapping(
+ XkbMapNotifyEvent * /* event */
+);
+
+extern Status XkbGetKeyTypes(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeySyms(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyActions(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyBehaviors(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetVirtualMods(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyExplicitComponents(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyModifierMap(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyVirtualModMap(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbAllocControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which*/
+);
+
+extern void XkbFreeControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern void XkbNoteControlsChanges(
+ XkbControlsChangesPtr /* old */,
+ XkbControlsNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
+#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
+
+extern Status XkbAllocCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nInterpret */
+);
+
+extern void XkbFreeCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbSetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */,
+ Bool /* updateActions */
+);
+
+extern XkbSymInterpretPtr XkbAddSymInterpret(
+ XkbDescPtr /* xkb */,
+ XkbSymInterpretPtr /* si */,
+ Bool /* updateMap */,
+ XkbChangesPtr /* changes */
+);
+
+extern Status XkbAllocNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* nTotalRG */,
+ int /* nTotalAliases */
+);
+
+extern Status XkbGetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* firstType */,
+ unsigned int /* nTypes */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeNames(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbNameChangesPtr /* changes */
+);
+
+extern void XkbFreeNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+
+extern Status XkbGetState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbStatePtr /* rtrnState */
+);
+
+extern Bool XkbSetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeMap(
+ Display* /* dpy */,
+ XkbDescPtr /* desc */,
+ XkbMapChangesPtr /* changes */
+);
+
+extern Bool XkbSetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool /* detectable */,
+ Bool * /* supported */
+);
+
+extern Bool XkbGetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool * /* supported */
+);
+
+extern Bool XkbSetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int /* changes */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_values */
+);
+
+extern Bool XkbGetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_ctrl_values */
+);
+
+extern Bool XkbSetPerClientControls(
+ Display * /* dpy */,
+ unsigned int /* change */,
+ unsigned int * /* values */
+);
+
+extern Bool XkbGetPerClientControls(
+ Display * /* dpy */,
+ unsigned int * /* ctrls */
+);
+
+extern Status XkbCopyKeyType(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */,
+ int /* num_types */
+);
+
+extern Status XkbResizeKeyType(
+ XkbDescPtr /* xkb */,
+ int /* type_ndx */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* new_num_lvls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* symsNeeded */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* actsNeeded */
+);
+
+extern Status XkbChangeTypesOfKey(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* num_groups */,
+ unsigned int /* groups */,
+ int * /* newTypes */,
+ XkbMapChangesPtr /* pChanges */
+);
+
+extern Status XkbChangeKeycodeRange(
+ XkbDescPtr /* xkb */,
+ int /* minKC */,
+ int /* maxKC */,
+ XkbChangesPtr /* changes */
+);
+
+/***====================================================================***/
+
+extern XkbComponentListPtr XkbListComponents(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* ptrns */,
+ int * /* max_inout */
+);
+
+extern void XkbFreeComponentList(
+ XkbComponentListPtr /* list */
+);
+
+extern XkbDescPtr XkbGetKeyboard(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern XkbDescPtr XkbGetKeyboardByName(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* names */,
+ unsigned int /* want */,
+ unsigned int /* need */,
+ Bool /* load */
+);
+
+/***====================================================================***/
+
+extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
+ XkbDescPtr /* xkb */, /* keyboard device */
+ int /* map_width */, /* width of core KeySym array */
+ KeySym * /* core_syms */, /* always mapWidth symbols */
+ unsigned int /* protected */, /* explicit key types */
+ int * /* types_inout */, /* always four type indices */
+ KeySym * /* xkb_syms_rtrn */ /* must have enough space */
+);
+
+extern Bool XkbApplyCompatMapToKey( /* False only on error */
+ XkbDescPtr /* xkb */, /* keymap to be edited */
+ KeyCode /* key */, /* key to be updated */
+ XkbChangesPtr /* changes */ /* resulting changes to map */
+);
+
+extern Bool XkbUpdateMapFromCore( /* False only on error */
+ XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
+ KeyCode /* first_key */, /* first changed key */
+ int /* num_keys */, /* number of changed keys */
+ int /* map_width */, /* width of core keymap */
+ KeySym * /* core_keysyms */, /* symbols from core keymap */
+ XkbChangesPtr /* changes */ /* resulting changes */
+);
+
+/***====================================================================***/
+
+extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledId */
+);
+
+extern Status XkbResizeDeviceButtonActions(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* newTotal */
+);
+
+extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
+ unsigned int /* deviceSpec */,
+ unsigned int /* nButtons */,
+ unsigned int /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* which */,
+ Bool /* freeDevI */
+);
+
+extern void XkbNoteDeviceChanges(
+ XkbDeviceChangesPtr /* old */,
+ XkbExtensionDeviceNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern XkbDeviceInfoPtr XkbGetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */
+);
+
+extern Status XkbGetDeviceInfoChanges(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Status XkbGetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ Bool /* all */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+extern Status XkbGetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass (class, XIDflt, XIAll) */,
+ unsigned int /* ledId (id, XIDflt, XIAll) */,
+ unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
+);
+
+extern Bool XkbSetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDeviceInfoPtr /* devi */
+);
+
+extern Bool XkbChangeDeviceInfo(
+ Display* /* dpy */,
+ XkbDeviceInfoPtr /* desc */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Bool XkbSetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int /* which */
+);
+
+extern Bool XkbSetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+/***====================================================================***/
+
+extern char XkbToControl(
+ char /* c */
+);
+
+/***====================================================================***/
+
+extern Bool XkbSetDebuggingFlags(
+ Display * /* dpy */,
+ unsigned int /* mask */,
+ unsigned int /* flags */,
+ char * /* msg */,
+ unsigned int /* ctrls_mask */,
+ unsigned int /* ctrls */,
+ unsigned int * /* rtrn_flags */,
+ unsigned int * /* rtrn_ctrls */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XKBLIB_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/XWDFile.h b/packages/xorg-lib/xorg-headers-native/X11/XWDFile.h
new file mode 100644
index 0000000000..0ce22e1a8d
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/XWDFile.h
@@ -0,0 +1,114 @@
+/* $Xorg: XWDFile.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+
+Copyright 1985, 1986, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/*
+ * XWDFile.h MIT Project Athena, X Window system window raster
+ * image dumper, dump file format header file.
+ *
+ * Author: Tony Della Fera, DEC
+ * 27-Jun-85
+ *
+ * Modifier: William F. Wyatt, SAO
+ * 18-Nov-86 - version 6 for saving/restoring color maps
+ */
+
+#ifndef XWDFILE_H
+#define XWDFILE_H
+
+#include <X11/Xmd.h>
+
+#define XWD_FILE_VERSION 7
+#define sz_XWDheader 100
+#define sz_XWDColor 12
+
+typedef CARD32 xwdval; /* for old broken programs */
+
+/* Values in the file are most significant byte first. */
+
+typedef struct _xwd_file_header {
+ /* header_size = SIZEOF(XWDheader) + length of null-terminated
+ * window name. */
+ CARD32 header_size B32;
+
+ CARD32 file_version B32; /* = XWD_FILE_VERSION above */
+ CARD32 pixmap_format B32; /* ZPixmap or XYPixmap */
+ CARD32 pixmap_depth B32; /* Pixmap depth */
+ CARD32 pixmap_width B32; /* Pixmap width */
+ CARD32 pixmap_height B32; /* Pixmap height */
+ CARD32 xoffset B32; /* Bitmap x offset, normally 0 */
+ CARD32 byte_order B32; /* of image data: MSBFirst, LSBFirst */
+
+ /* bitmap_unit applies to bitmaps (depth 1 format XY) only.
+ * It is the number of bits that each scanline is padded to. */
+ CARD32 bitmap_unit B32;
+
+ CARD32 bitmap_bit_order B32; /* bitmaps only: MSBFirst, LSBFirst */
+
+ /* bitmap_pad applies to pixmaps (non-bitmaps) only.
+ * It is the number of bits that each scanline is padded to. */
+ CARD32 bitmap_pad B32;
+
+ CARD32 bits_per_pixel B32; /* Bits per pixel */
+
+ /* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps)
+ * or bitmap_pad (pixmaps). It is the delta (in bytes) to get
+ * to the same x position on an adjacent row. */
+ CARD32 bytes_per_line B32;
+ CARD32 visual_class B32; /* Class of colormap */
+ CARD32 red_mask B32; /* Z red mask */
+ CARD32 green_mask B32; /* Z green mask */
+ CARD32 blue_mask B32; /* Z blue mask */
+ CARD32 bits_per_rgb B32; /* Log2 of distinct color values */
+ CARD32 colormap_entries B32; /* Number of entries in colormap; not used? */
+ CARD32 ncolors B32; /* Number of XWDColor structures */
+ CARD32 window_width B32; /* Window width */
+ CARD32 window_height B32; /* Window height */
+ CARD32 window_x B32; /* Window upper left X coordinate */
+ CARD32 window_y B32; /* Window upper left Y coordinate */
+ CARD32 window_bdrwidth B32; /* Window border width */
+} XWDFileHeader;
+
+/* Null-terminated window name follows the above structure. */
+
+/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in
+ * the file. XWDFileHeader.ncolors tells how many XWDColor structures
+ * there are.
+ */
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16;
+ CARD16 green B16;
+ CARD16 blue B16;
+ CARD8 flags;
+ CARD8 pad;
+} XWDColor;
+
+/* Last comes the image data in the format described by XWDFileHeader. */
+
+#endif /* XWDFILE_H */
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xalloca.h b/packages/xorg-lib/xorg-headers-native/X11/Xalloca.h
new file mode 100644
index 0000000000..67f2671e94
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xalloca.h
@@ -0,0 +1,145 @@
+/* $Xorg: Xalloca.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/*
+
+Copyright 1995, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/include/Xalloca.h,v 3.10 2001/12/14 19:53:25 dawes Exp $ */
+
+/*
+ * The purpose of this header is to define the macros ALLOCATE_LOCAL and
+ * DEALLOCATE_LOCAL appropriately for the platform being compiled on.
+ * These macros are used to make fast, function-local memory allocations.
+ * Their characteristics are as follows:
+ *
+ * void *ALLOCATE_LOCAL(int size)
+ * Returns a pointer to size bytes of memory, or NULL if the allocation
+ * failed. The memory must be freed with DEALLOCATE_LOCAL before the
+ * function that made the allocation returns. You should not ask for
+ * large blocks of memory with this function, since on many platforms
+ * the memory comes from the stack, which may have limited size.
+ *
+ * void DEALLOCATE_LOCAL(void *)
+ * Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
+ * step may be harmless on some platforms, but will result in
+ * memory leaks or worse on others.
+ *
+ * Before including this file, you should define two macros,
+ * ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
+ * same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
+ * header uses the fallbacks if it doesn't know a "better" way to define
+ * ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
+ *
+ * #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
+ * #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
+ * #include "Xalloca.h"
+ */
+
+#ifndef XALLOCA_H
+#define XALLOCA_H 1
+
+#ifndef INCLUDE_ALLOCA_H
+# if defined(__SUNPRO_C) /* Need to add more here to match Imake *.cf's */
+# define INCLUDE_ALLOCA_H
+# endif
+#endif
+
+#ifdef INCLUDE_ALLOCA_H
+# include <alloca.h>
+#endif
+
+#ifndef NO_ALLOCA
+/*
+ * os-dependent definition of local allocation and deallocation
+ * If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
+ * for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
+ */
+# if defined(__HIGHC__)
+# ifndef NCR
+ extern char *alloca();
+# if HCVERSION < 21003
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+ pragma on(alloca);
+# else /* HCVERSION >= 21003 */
+# define ALLOCATE_LOCAL(size) _Alloca((int)(size))
+# endif /* HCVERSION < 21003 */
+# else /* NCR */
+# define ALLOCATE_LOCAL(size) alloca(size)
+# endif
+# endif /* defined(__HIGHC__) */
+
+
+# ifdef __GNUC__
+# ifndef alloca
+# define alloca __builtin_alloca
+# endif /* !alloca */
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# else /* ! __GNUC__ */
+
+/*
+ * warning: old mips alloca (pre 2.10) is unusable, new one is built in
+ * Test is easy, the new one is named __builtin_alloca and comes
+ * from alloca.h which #defines alloca.
+ */
+# ifndef NCR
+# if defined(vax) || defined(sun) || defined(apollo) || defined(stellar) || defined(alloca)
+/*
+ * Some System V boxes extract alloca.o from /lib/libPW.a; if you
+ * decide that you don't want to use alloca, you might want to fix it here.
+ */
+/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
+# ifndef __sgi /* IRIX 5/6 has definition */
+# ifndef __QNX__
+# define __Xnullarg /* as nothing */
+# ifndef X_NOT_STDC_ENV
+ extern void *alloca(__Xnullarg);
+# else
+ extern char *alloca(__Xnullarg);
+# endif
+# endif /* __QNX__ */
+# endif /* __sgi */
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# endif /* who does alloca */
+# endif /* NCR */
+# endif /* __GNUC__ */
+
+#endif /* NO_ALLOCA */
+
+#if !defined(ALLOCATE_LOCAL)
+# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
+# else /* no fallbacks supplied; error */
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
+# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
+#else
+# if !defined(DEALLOCATE_LOCAL)
+# define DEALLOCATE_LOCAL(_ptr) do {} while(0)
+# endif
+#endif /* defined(ALLOCATE_LOCAL) */
+
+#endif /* XALLOCA_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xarch.h b/packages/xorg-lib/xorg-headers-native/X11/Xarch.h
new file mode 100644
index 0000000000..6e04e53f6f
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xarch.h
@@ -0,0 +1,126 @@
+#ifndef _XARCH_H_
+#define _XARCH_H_
+
+/*
+ * Copyright 1997 Metro Link Incorporated
+ *
+ * All Rights Reserved
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of the above listed copyright holder(s)
+ * not be used in advertising or publicity pertaining to distribution of
+ * the software without specific, written prior permission. The above listed
+ * copyright holder(s) make(s) no representations about the suitability of
+ * this software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
+ * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+ * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/* $XFree86: xc/include/Xarch.h,v 1.10tsi Exp $ */
+
+
+/*
+ * Determine the machine's byte order.
+ */
+
+/* See if it is set in the imake config first */
+#ifdef X_BYTE_ORDER
+
+#define X_BIG_ENDIAN 4321
+#define X_LITTLE_ENDIAN 1234
+
+#else
+
+#ifdef SVR4
+#if defined(NCR) || defined(Mips) || defined(__sgi)
+#include <sys/endian.h>
+#else
+#if !defined(sun)
+#include <sys/byteorder.h>
+#endif
+#endif
+#elif defined(CSRG_BASED)
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+#include <sys/types.h>
+#endif
+#include <machine/endian.h>
+#elif defined(linux)
+#if defined __STRICT_ANSI__
+#undef __STRICT_ANSI__
+#include <endian.h>
+#define __STRICT_ANSI__
+#else
+#include <endian.h>
+#endif
+/* 'endian.h' might have been included before 'Xarch.h' */
+#if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
+#define LITTLE_ENDIAN __LITTLE_ENDIAN
+#endif
+#if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
+#define BIG_ENDIAN __BIG_ENDIAN
+#endif
+#if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
+#define PDP_ENDIAN __PDP_ENDIAN
+#endif
+#if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
+#define BYTE_ORDER __BYTE_ORDER
+#endif
+#elif defined(Lynx)
+#if 0
+/* LynxOS 2.4.0 has wrong defines in bsd/ip.h */
+#include <bsd/in.h>
+#include <bsd/in_systm.h>
+#include <bsd/ip.h>
+#endif
+#endif
+
+#ifndef BYTE_ORDER
+#define LITTLE_ENDIAN 1234
+#define BIG_ENDIAN 4321
+
+#if defined(__QNX__) && !defined(__QNXNTO__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
+
+#if defined(__QNXNTO__)
+#if defined(i386) || defined(__i386__) || defined(__x86__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+#endif
+
+#ifdef Lynx
+#if defined(i386) || defined(__i386__) || defined(__x86__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+#endif
+#if (defined(sun) && defined(SVR4)) && !defined(Lynx)
+#include <sys/isa_defs.h>
+#ifdef _LITTLE_ENDIAN
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
+#ifdef _BIG_ENDIAN
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+#endif /* sun */
+#endif /* BYTE_ORDER */
+
+#define X_BYTE_ORDER BYTE_ORDER
+#define X_BIG_ENDIAN BIG_ENDIAN
+#define X_LITTLE_ENDIAN LITTLE_ENDIAN
+
+#endif /* not in imake config */
+
+#endif /* _XARCH_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xatom.h b/packages/xorg-lib/xorg-headers-native/X11/Xatom.h
new file mode 100644
index 0000000000..485a4236db
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xatom.h
@@ -0,0 +1,79 @@
+#ifndef XATOM_H
+#define XATOM_H 1
+
+/* THIS IS A GENERATED FILE
+ *
+ * Do not change! Changing this file implies a protocol change!
+ */
+
+#define XA_PRIMARY ((Atom) 1)
+#define XA_SECONDARY ((Atom) 2)
+#define XA_ARC ((Atom) 3)
+#define XA_ATOM ((Atom) 4)
+#define XA_BITMAP ((Atom) 5)
+#define XA_CARDINAL ((Atom) 6)
+#define XA_COLORMAP ((Atom) 7)
+#define XA_CURSOR ((Atom) 8)
+#define XA_CUT_BUFFER0 ((Atom) 9)
+#define XA_CUT_BUFFER1 ((Atom) 10)
+#define XA_CUT_BUFFER2 ((Atom) 11)
+#define XA_CUT_BUFFER3 ((Atom) 12)
+#define XA_CUT_BUFFER4 ((Atom) 13)
+#define XA_CUT_BUFFER5 ((Atom) 14)
+#define XA_CUT_BUFFER6 ((Atom) 15)
+#define XA_CUT_BUFFER7 ((Atom) 16)
+#define XA_DRAWABLE ((Atom) 17)
+#define XA_FONT ((Atom) 18)
+#define XA_INTEGER ((Atom) 19)
+#define XA_PIXMAP ((Atom) 20)
+#define XA_POINT ((Atom) 21)
+#define XA_RECTANGLE ((Atom) 22)
+#define XA_RESOURCE_MANAGER ((Atom) 23)
+#define XA_RGB_COLOR_MAP ((Atom) 24)
+#define XA_RGB_BEST_MAP ((Atom) 25)
+#define XA_RGB_BLUE_MAP ((Atom) 26)
+#define XA_RGB_DEFAULT_MAP ((Atom) 27)
+#define XA_RGB_GRAY_MAP ((Atom) 28)
+#define XA_RGB_GREEN_MAP ((Atom) 29)
+#define XA_RGB_RED_MAP ((Atom) 30)
+#define XA_STRING ((Atom) 31)
+#define XA_VISUALID ((Atom) 32)
+#define XA_WINDOW ((Atom) 33)
+#define XA_WM_COMMAND ((Atom) 34)
+#define XA_WM_HINTS ((Atom) 35)
+#define XA_WM_CLIENT_MACHINE ((Atom) 36)
+#define XA_WM_ICON_NAME ((Atom) 37)
+#define XA_WM_ICON_SIZE ((Atom) 38)
+#define XA_WM_NAME ((Atom) 39)
+#define XA_WM_NORMAL_HINTS ((Atom) 40)
+#define XA_WM_SIZE_HINTS ((Atom) 41)
+#define XA_WM_ZOOM_HINTS ((Atom) 42)
+#define XA_MIN_SPACE ((Atom) 43)
+#define XA_NORM_SPACE ((Atom) 44)
+#define XA_MAX_SPACE ((Atom) 45)
+#define XA_END_SPACE ((Atom) 46)
+#define XA_SUPERSCRIPT_X ((Atom) 47)
+#define XA_SUPERSCRIPT_Y ((Atom) 48)
+#define XA_SUBSCRIPT_X ((Atom) 49)
+#define XA_SUBSCRIPT_Y ((Atom) 50)
+#define XA_UNDERLINE_POSITION ((Atom) 51)
+#define XA_UNDERLINE_THICKNESS ((Atom) 52)
+#define XA_STRIKEOUT_ASCENT ((Atom) 53)
+#define XA_STRIKEOUT_DESCENT ((Atom) 54)
+#define XA_ITALIC_ANGLE ((Atom) 55)
+#define XA_X_HEIGHT ((Atom) 56)
+#define XA_QUAD_WIDTH ((Atom) 57)
+#define XA_WEIGHT ((Atom) 58)
+#define XA_POINT_SIZE ((Atom) 59)
+#define XA_RESOLUTION ((Atom) 60)
+#define XA_COPYRIGHT ((Atom) 61)
+#define XA_NOTICE ((Atom) 62)
+#define XA_FONT_NAME ((Atom) 63)
+#define XA_FAMILY_NAME ((Atom) 64)
+#define XA_FULL_NAME ((Atom) 65)
+#define XA_CAP_HEIGHT ((Atom) 66)
+#define XA_WM_CLASS ((Atom) 67)
+#define XA_WM_TRANSIENT_FOR ((Atom) 68)
+
+#define XA_LAST_PREDEFINED ((Atom) 68)
+#endif /* XATOM_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xauth.h b/packages/xorg-lib/xorg-headers-native/X11/Xauth.h
new file mode 100644
index 0000000000..181618ac2b
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xauth.h
@@ -0,0 +1,158 @@
+/* $Xorg: Xauth.h,v 1.4 2001/02/09 02:03:42 xorgcvs Exp $ */
+
+/*
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/* $XFree86: xc/lib/Xau/Xauth.h,v 1.5 2001/12/14 19:54:36 dawes Exp $ */
+
+#ifndef _Xauth_h
+#define _Xauth_h
+
+typedef struct xauth {
+ unsigned short family;
+ unsigned short address_length;
+ char *address;
+ unsigned short number_length;
+ char *number;
+ unsigned short name_length;
+ char *name;
+ unsigned short data_length;
+ char *data;
+} Xauth;
+
+#ifndef _XAUTH_STRUCT_ONLY
+
+# include <X11/Xfuncproto.h>
+# include <X11/Xfuncs.h>
+
+# include <stdio.h>
+
+# define FamilyLocal (256) /* not part of X standard (i.e. X.h) */
+# define FamilyWild (65535)
+# define FamilyNetname (254) /* not part of X standard */
+# define FamilyKrb5Principal (253) /* Kerberos 5 principal name */
+# define FamilyLocalHost (252) /* for local non-net authentication */
+
+
+_XFUNCPROTOBEGIN
+
+char *XauFileName(void);
+
+Xauth *XauReadAuth(
+FILE* /* auth_file */
+);
+
+int XauLockAuth(
+_Xconst char* /* file_name */,
+int /* retries */,
+int /* timeout */,
+long /* dead */
+);
+
+int XauUnlockAuth(
+_Xconst char* /* file_name */
+);
+
+int XauWriteAuth(
+FILE* /* auth_file */,
+Xauth* /* auth */
+);
+
+Xauth *XauGetAuthByAddr(
+#if NeedWidePrototypes
+unsigned int /* family */,
+unsigned int /* address_length */,
+#else
+unsigned short /* family */,
+unsigned short /* address_length */,
+#endif
+_Xconst char* /* address */,
+#if NeedWidePrototypes
+unsigned int /* number_length */,
+#else
+unsigned short /* number_length */,
+#endif
+_Xconst char* /* number */,
+#if NeedWidePrototypes
+unsigned int /* name_length */,
+#else
+unsigned short /* name_length */,
+#endif
+_Xconst char* /* name */
+);
+
+Xauth *XauGetBestAuthByAddr(
+#if NeedWidePrototypes
+unsigned int /* family */,
+unsigned int /* address_length */,
+#else
+unsigned short /* family */,
+unsigned short /* address_length */,
+#endif
+_Xconst char* /* address */,
+#if NeedWidePrototypes
+unsigned int /* number_length */,
+#else
+unsigned short /* number_length */,
+#endif
+_Xconst char* /* number */,
+int /* types_length */,
+char** /* type_names */,
+_Xconst int* /* type_lengths */
+);
+
+void XauDisposeAuth(
+Xauth* /* auth */
+);
+
+#ifdef K5AUTH
+#include <krb5/krb5.h>
+/* 9/93: krb5.h leaks some symbols */
+#undef BITS32
+#undef xfree
+
+int XauKrb5Encode(
+ krb5_principal /* princ */,
+ krb5_data * /* outbuf */
+);
+
+int XauKrb5Decode(
+ krb5_data /* inbuf */,
+ krb5_principal * /* princ */
+);
+#endif /* K5AUTH */
+
+_XFUNCPROTOEND
+
+/* Return values from XauLockAuth */
+
+# define LOCK_SUCCESS 0 /* lock succeeded */
+# define LOCK_ERROR 1 /* lock unexpectely failed, check errno */
+# define LOCK_TIMEOUT 2 /* lock failed, timeouts expired */
+
+#endif /* _XAUTH_STRUCT_ONLY */
+
+#endif /* _Xauth_h */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xcms.h b/packages/xorg-lib/xorg-headers-native/X11/Xcms.h
new file mode 100644
index 0000000000..779bc52ffd
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xcms.h
@@ -0,0 +1,805 @@
+/* $Xorg: Xcms.h,v 1.6 2000/08/17 19:45:04 cpqbld Exp $ */
+
+/*
+ * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
+ * All Rights Reserved
+ *
+ * This file is a component of an X Window System-specific implementation
+ * of Xcms based on the TekColor Color Management System. Permission is
+ * hereby granted to use, copy, modify, sell, and otherwise distribute this
+ * software and its documentation for any purpose and without fee, provided
+ * that this copyright, permission, and disclaimer notice is reproduced in
+ * all copies of this software and in supporting documentation. TekColor
+ * is a trademark of Tektronix, Inc.
+ *
+ * Tektronix makes no representation about the suitability of this software
+ * for any purpose. It is provided "as is" and with all faults.
+ *
+ * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
+ * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ * DESCRIPTION
+ * Public include file for X Color Management System
+ */
+/* $XFree86: xc/lib/X11/Xcms.h,v 1.7 2003/11/03 03:46:26 dawes Exp $ */
+#ifndef _XCMS_H_
+#define _XCMS_H_
+
+#include <X11/Xlib.h>
+
+ /*
+ * XCMS Status Values
+ */
+#define XcmsFailure 0
+#define XcmsSuccess 1
+#define XcmsSuccessWithCompression 2
+
+ /*
+ * Color Space Format ID's
+ * Color Space ID's are of XcmsColorFormat type.
+ *
+ * bit 31
+ * 0 == Device-Independent
+ * 1 == Device-Dependent
+ *
+ * bit 30:
+ * 0 == Registered with X Consortium
+ * 1 == Unregistered
+ */
+#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
+#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
+#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
+#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
+#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
+#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
+#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
+#define XcmsRGBFormat (XcmsColorFormat)0x80000000
+#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
+
+ /*
+ * State of XcmsPerScrnInfo
+ */
+#define XcmsInitNone 0x00 /* no initialization attempted */
+#define XcmsInitSuccess 0x01 /* initialization successful */
+#define XcmsInitFailure 0xff /* failure, use defaults */
+
+#define DisplayOfCCC(ccc) ((ccc)->dpy)
+#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
+#define VisualOfCCC(ccc) ((ccc)->visual)
+#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
+#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
+#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
+
+typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
+
+typedef double XcmsFloat;
+
+ /*
+ * Device RGB
+ */
+typedef struct {
+ unsigned short red; /* scaled from 0x0000 to 0xffff */
+ unsigned short green; /* scaled from 0x0000 to 0xffff */
+ unsigned short blue; /* scaled from 0x0000 to 0xffff */
+} XcmsRGB;
+
+ /*
+ * RGB Intensity
+ */
+typedef struct {
+ XcmsFloat red; /* 0.0 - 1.0 */
+ XcmsFloat green; /* 0.0 - 1.0 */
+ XcmsFloat blue; /* 0.0 - 1.0 */
+} XcmsRGBi;
+
+ /*
+ * CIE XYZ
+ */
+typedef struct {
+ XcmsFloat X;
+ XcmsFloat Y;
+ XcmsFloat Z;
+} XcmsCIEXYZ;
+
+ /*
+ * CIE u'v'Y
+ */
+typedef struct {
+ XcmsFloat u_prime; /* 0.0 - 1.0 */
+ XcmsFloat v_prime; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIEuvY;
+
+ /*
+ * CIE xyY
+ */
+typedef struct {
+ XcmsFloat x; /* 0.0 - 1.0 */
+ XcmsFloat y; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIExyY;
+
+ /*
+ * CIE L*a*b*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat a_star;
+ XcmsFloat b_star;
+} XcmsCIELab;
+
+ /*
+ * CIE L*u*v*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat u_star;
+ XcmsFloat v_star;
+} XcmsCIELuv;
+
+ /*
+ * TekHVC
+ */
+typedef struct {
+ XcmsFloat H; /* 0.0 - 360.0 */
+ XcmsFloat V; /* 0.0 - 100.0 */
+ XcmsFloat C; /* 0.0 - 100.0 */
+} XcmsTekHVC;
+
+ /*
+ * PAD
+ */
+typedef struct {
+ XcmsFloat pad0;
+ XcmsFloat pad1;
+ XcmsFloat pad2;
+ XcmsFloat pad3;
+} XcmsPad;
+
+
+ /*
+ * XCMS Color Structure
+ */
+typedef struct {
+ union {
+ XcmsRGB RGB;
+ XcmsRGBi RGBi;
+ XcmsCIEXYZ CIEXYZ;
+ XcmsCIEuvY CIEuvY;
+ XcmsCIExyY CIExyY;
+ XcmsCIELab CIELab;
+ XcmsCIELuv CIELuv;
+ XcmsTekHVC TekHVC;
+ XcmsPad Pad;
+ } spec; /* the color specification */
+ unsigned long pixel; /* pixel value (as needed) */
+ XcmsColorFormat format; /* the specification format */
+} XcmsColor;
+
+
+ /*
+ * XCMS Per Screen related data
+ */
+
+typedef struct _XcmsPerScrnInfo {
+ XcmsColor screenWhitePt; /* Screen White point */
+ XPointer functionSet; /* pointer to Screen Color Characterization */
+ /* Function Set structure */
+ XPointer screenData; /* pointer to corresponding Screen Color*/
+ /* Characterization Data */
+ unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
+ char pad[3];
+} XcmsPerScrnInfo;
+
+typedef struct _XcmsCCC *XcmsCCC;
+
+typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+ /*
+ * XCMS Color Conversion Context
+ */
+typedef struct _XcmsCCC {
+ Display *dpy; /* X Display */
+ int screenNumber; /* X screen number */
+ Visual *visual; /* X Visual */
+ XcmsColor clientWhitePt; /* Client White Point */
+ XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
+ XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
+ XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
+ XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
+ XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
+ /* associated with the above display */
+ /* screenNumber */
+} XcmsCCCRec;
+
+typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
+ Display* /* dpy */,
+ int /* screen_number */,
+ XcmsPerScrnInfo* /* screen_info */
+);
+
+typedef void (*XcmsScreenFreeProc)(
+ XPointer /* screenData */
+);
+
+ /*
+ * Function List Pointer -- pointer to an array of function pointers.
+ * The end of list is indicated by a NULL pointer.
+ */
+/*
+ * XXX: The use of the XcmsConversionProc type is broken. The
+ * device-independent colour conversion code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
+ unsigned int);
+
+ * while the device-dependent code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
+ Bool *);
+
+ * Until this is reworked, it's probably best to leave it unprotoized.
+ * The code works regardless.
+ */
+typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* pCompressed */
+ );
+
+typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */
+ );
+
+typedef XcmsDIConversionProc XcmsConversionProc;
+typedef XcmsConversionProc *XcmsFuncListPtr;
+
+typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
+ char* /* color_string */,
+ XcmsColor* /* color_return */
+);
+
+ /*
+ * Color Space -- per Color Space related data (Device-Independent
+ * or Device-Dependent)
+ */
+typedef struct _XcmsColorSpace {
+ const char *prefix; /* Prefix of string format. */
+ XcmsColorFormat id; /* Format ID number. */
+ XcmsParseStringProc parseString;
+ /* String format parsing function */
+ XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from this color space to CIEXYZ */
+ /* space. */
+ XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from CIEXYZ space to this color */
+ /* space. */
+ int inverse_flag; /* If 1, indicates that for 0 <= i < n */
+ /* where n is the number of function */
+ /* pointers in the lists to_CIEXYZ */
+ /* and from_CIEXYZ; for each function */
+ /* to_CIEXYZ[i] its inverse function */
+ /* is from_CIEXYZ[n - i]. */
+
+} XcmsColorSpace;
+
+ /*
+ * Screen Color Characterization Function Set -- per device class
+ * color space conversion functions.
+ */
+typedef struct _XcmsFunctionSet {
+ XcmsColorSpace **DDColorSpaces;
+ /* Pointer to an array of pointers to */
+ /* Device-DEPENDENT color spaces */
+ /* understood by this SCCFuncSet. */
+ XcmsScreenInitProc screenInitProc;
+ /* Screen initialization function that */
+ /* reads Screen Color Characterization*/
+ /* Data off properties on the screen's*/
+ /* root window. */
+ XcmsScreenFreeProc screenFreeProc;
+ /* Function that frees the SCCData */
+ /* structures. */
+} XcmsFunctionSet;
+
+_XFUNCPROTOBEGIN
+
+extern Status XcmsAddColorSpace (
+ XcmsColorSpace* /* pColorSpace */
+);
+
+extern Status XcmsAddFunctionSet (
+ XcmsFunctionSet* /* functionSet */
+);
+
+extern Status XcmsAllocColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* color_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsAllocNamedColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* color_scrn_return */,
+ XcmsColor* /* color_exact_return */,
+ XcmsColorFormat /* result_format */
+);
+
+extern XcmsCCC XcmsCCCOfColormap (
+ Display* /* dpy */,
+ Colormap /* colormap */
+);
+
+extern Status XcmsCIELabClipab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipLab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELabWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipLuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELuvWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEXYZToCIELab (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIExyY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEuvYToCIELuv (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToTekHVC (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIExyYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern XcmsColor *XcmsClientWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsConvertColors (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* targetFormat */,
+ Bool* /* compArry_return */
+);
+
+extern XcmsCCC XcmsCreateCCC (
+ Display* /* dpy */,
+ int /* screenNumber */,
+ Visual* /* visual */,
+ XcmsColor* /* clientWhitePt */,
+ XcmsCompressionProc /* gamutCompProc */,
+ XPointer /* gamutCompClientData */,
+ XcmsWhiteAdjustProc /* whitePtAdjProc */,
+ XPointer /* whitePtAdjClientData */
+);
+
+extern XcmsCCC XcmsDefaultCCC (
+ Display* /* dpy */,
+ int /* screenNumber */
+);
+
+extern Display *XcmsDisplayOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColorFormat XcmsFormatOfPrefix (
+ char* /* prefix */
+);
+
+extern void XcmsFreeCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsLookupColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* pColor_exact_in_out */,
+ XcmsColor* /* pColor_scrn_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern char *XcmsPrefixOfFormat (
+ XcmsColorFormat /* id */
+);
+
+extern Status XcmsQueryBlack (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryBlue (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryGreen (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryRed (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryWhite (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsRGBiToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBiToRGB (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern int XcmsScreenNumberOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColor *XcmsScreenWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCCC XcmsSetCCCOfColormap(
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCompressionProc XcmsSetCompressionProc (
+ XcmsCCC /* ccc */,
+ XcmsCompressionProc /* compression_proc */,
+ XPointer /* client_data */
+);
+
+extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
+ XcmsCCC /* ccc */,
+ XcmsWhiteAdjustProc /* white_adjust_proc */,
+ XPointer /* client_data */
+);
+
+extern Status XcmsSetWhitePoint (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* color */
+);
+
+extern Status XcmsStoreColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in */
+);
+
+extern Status XcmsStoreColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in */,
+ unsigned int /* nColors */,
+ Bool* /* compArry_return */
+);
+
+extern Status XcmsTekHVCClipC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipV(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipVC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* value */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVSamples (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* colors_return */,
+ unsigned int /* nsamples */
+);
+
+extern Status XcmsTekHVCQueryMinV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsTekHVCWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Visual *XcmsVisualOfCCC (
+ XcmsCCC /* ccc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XCMS_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xdefs.h b/packages/xorg-lib/xorg-headers-native/X11/Xdefs.h
new file mode 100644
index 0000000000..5ee2d8949f
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xdefs.h
@@ -0,0 +1,110 @@
+/* $XFree86: xc/include/Xdefs.h,v 1.2 1999/08/22 06:21:20 dawes Exp $ */
+
+/***********************************************************
+
+Copyright (c) 1999 The XFree86 Project Inc.
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The XFree86 Project
+Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from The XFree86 Project Inc..
+
+*/
+
+/**
+ ** Types definitions shared between server and clients
+ **/
+
+#ifndef _XDEFS_H
+#define _XDEFS_H
+
+#ifdef _XSERVER64
+#include <X11/Xmd.h>
+#endif
+
+#ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+# ifndef _XSERVER64
+typedef unsigned long Atom;
+# else
+typedef CARD32 Atom;
+# endif
+#endif
+
+#ifndef Bool
+# ifndef _XTYPEDEF_BOOL
+# define _XTYPEDEF_BOOL
+typedef int Bool;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_POINTER
+# define _XTYPEDEF_POINTER
+typedef void *pointer;
+#endif
+
+#ifndef _XTYPEDEF_CLIENTPTR
+typedef struct _Client *ClientPtr;
+# define _XTYPEDEF_CLIENTPTR
+#endif
+
+#ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+# ifndef _XSERVER64
+typedef unsigned long XID;
+# else
+typedef CARD32 XID;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+# ifndef _XSERVER64
+typedef unsigned long Mask;
+# else
+typedef CARD32 Mask;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_FONTPTR
+# define _XTYPEDEF_FONTPTR
+typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
+#endif
+
+#ifndef _XTYPEDEF_FONT
+# define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+
+#ifndef _XTYPEDEF_FSID
+# ifndef _XSERVER64
+typedef unsigned long FSID;
+# else
+typedef CARD32 FSID;
+# endif
+#endif
+
+typedef FSID AccContext;
+
+/* OS independent time value
+ XXX Should probably go in Xos.h */
+typedef struct timeval **OSTimePtr;
+
+
+typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+ OSTimePtr /* pTimeout */,
+ pointer /* pReadmask */);
+
+#endif
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xdmcp.h b/packages/xorg-lib/xorg-headers-native/X11/Xdmcp.h
new file mode 100644
index 0000000000..6d7619a902
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xdmcp.h
@@ -0,0 +1,190 @@
+/* $XdotOrg: lib/Xdmcp/include/X11/Xdmcp.h,v 1.3 2005/07/03 07:00:56 daniels Exp $ */
+/* $Xorg: Xdmcp.h,v 1.7 2001/04/13 14:43:00 steve Exp $ */
+/*
+ * Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of N.C.D. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. N.C.D. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ */
+/* $XFree86: xc/lib/Xdmcp/Xdmcp.h,v 3.7 2003/07/09 15:27:29 tsi Exp $ */
+
+#ifndef _XDMCP_H_
+#define _XDMCP_H_
+
+#include <X11/Xmd.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+#define XDM_PROTOCOL_VERSION 1
+#define XDM_UDP_PORT 177
+
+/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned
+ * multicast addresses for XDMCP, where X in the prefix may be replaced
+ * by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local,
+ * 5 for Site-Local, and so on. We set the default here to the Link-Local
+ * version to most closely match the old IPv4 subnet broadcast behavior.
+ * Both xdm and X -query allow specifying a different address if a different
+ * scope is defined.
+ */
+#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b"
+
+#define XDM_MAX_MSGLEN 8192
+#define XDM_MIN_RTX 2
+#define XDM_MAX_RTX 32
+#define XDM_RTX_LIMIT 7
+#define XDM_KA_RTX_LIMIT 4
+#define XDM_DEF_DORMANCY (3 * 60) /* 3 minutes */
+#define XDM_MAX_DORMANCY (24 * 60 * 60) /* 24 hours */
+
+typedef enum {
+ BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY,
+ WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE,
+ FAILED, KEEPALIVE, ALIVE
+} xdmOpCode;
+
+typedef enum {
+ XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY,
+ XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY,
+ XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE,
+ XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF,
+ XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE,
+#if defined(IPv6) && defined(AF_INET6)
+ XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY,
+#endif
+ XDM_KEEP_ME_LAST
+} xdmcp_states;
+
+#ifdef NOTDEF
+/* table of hosts */
+
+#define XDM_MAX_STR_LEN 21
+#define XDM_MAX_HOSTS 20
+struct xdm_host_table {
+ struct sockaddr_in sockaddr;
+ char name[XDM_MAX_STR_LEN];
+ char status[XDM_MAX_STR_LEN];
+};
+#endif /* NOTDEF */
+
+typedef CARD8 *CARD8Ptr;
+typedef CARD16 *CARD16Ptr;
+typedef CARD32 *CARD32Ptr;
+
+typedef struct _ARRAY8 {
+ CARD16 length;
+ CARD8Ptr data;
+} ARRAY8, *ARRAY8Ptr;
+
+typedef struct _ARRAY16 {
+ CARD8 length;
+ CARD16Ptr data;
+} ARRAY16, *ARRAY16Ptr;
+
+typedef struct _ARRAY32 {
+ CARD8 length;
+ CARD32Ptr data;
+} ARRAY32, *ARRAY32Ptr;
+
+typedef struct _ARRAYofARRAY8 {
+ CARD8 length;
+ ARRAY8Ptr data;
+} ARRAYofARRAY8, *ARRAYofARRAY8Ptr;
+
+typedef struct _XdmcpHeader {
+ CARD16 version, opcode, length;
+} XdmcpHeader, *XdmcpHeaderPtr;
+
+typedef struct _XdmcpBuffer {
+ BYTE *data;
+ int size; /* size of buffer pointed by to data */
+ int pointer; /* current index into data */
+ int count; /* bytes read from network into data */
+} XdmcpBuffer, *XdmcpBufferPtr;
+
+typedef struct _XdmAuthKey {
+ BYTE data[8];
+} XdmAuthKeyRec, *XdmAuthKeyPtr;
+
+
+/* implementation-independent network address structure.
+ Equiv to sockaddr* for sockets and netbuf* for STREAMS. */
+
+typedef char *XdmcpNetaddr;
+
+extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
+extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
+extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
+extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
+extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value);
+extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value);
+extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value);
+extern int XdmcpWriteHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
+
+extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen);
+
+extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
+extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
+extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
+extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
+extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep);
+extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep);
+extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep);
+extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
+
+extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen);
+
+extern int XdmcpReadRemaining(XdmcpBufferPtr buffer);
+
+extern void XdmcpDisposeARRAY8(ARRAY8Ptr array);
+extern void XdmcpDisposeARRAY16(ARRAY16Ptr array);
+extern void XdmcpDisposeARRAY32(ARRAY32Ptr array);
+extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array);
+
+extern int XdmcpCopyARRAY8(ARRAY8Ptr src, ARRAY8Ptr dst);
+
+extern int XdmcpARRAY8Equal(ARRAY8Ptr array1, ARRAY8Ptr array2);
+
+extern void XdmcpGenerateKey (XdmAuthKeyPtr key);
+extern void XdmcpIncrementKey (XdmAuthKeyPtr key);
+extern void XdmcpDecrementKey (XdmAuthKeyPtr key);
+#ifdef HASXDMAUTH
+extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
+extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
+#endif
+
+#ifndef TRUE
+#define TRUE 1
+#define FALSE 0
+#endif
+
+#if !defined(Xalloc) && !defined(xalloc) && !defined(Xrealloc)
+extern void *Xalloc (unsigned long amount);
+extern void *Xrealloc (void *old, unsigned long amount);
+extern void Xfree(void *old);
+#endif
+
+extern int XdmcpCompareKeys (XdmAuthKeyPtr a, XdmAuthKeyPtr b);
+
+extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length);
+extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length);
+extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length);
+extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
+
+extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length);
+extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length);
+extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length);
+extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
+
+_XFUNCPROTOEND
+
+#endif /* _XDMCP_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xfuncproto.h b/packages/xorg-lib/xorg-headers-native/X11/Xfuncproto.h
new file mode 100644
index 0000000000..7b2b7ca98e
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xfuncproto.h
@@ -0,0 +1,109 @@
+/* Xfuncproto.h. Generated by configure. */
+/* $Xorg: Xfuncproto.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+ *
+Copyright 1989, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+/* $XFree86: xc/include/Xfuncproto.h,v 3.4 2001/12/14 19:53:25 dawes Exp $ */
+
+/* Definitions to make function prototypes manageable */
+
+#ifndef _XFUNCPROTO_H_
+#define _XFUNCPROTO_H_
+
+#ifndef NeedFunctionPrototypes
+#define NeedFunctionPrototypes 1
+#endif /* NeedFunctionPrototypes */
+
+#ifndef NeedVarargsPrototypes
+#define NeedVarargsPrototypes 1
+#endif /* NeedVarargsPrototypes */
+
+#if NeedFunctionPrototypes
+
+#ifndef NeedNestedPrototypes
+#define NeedNestedPrototypes 1
+#endif /* NeedNestedPrototypes */
+
+#ifndef _Xconst
+#define _Xconst const
+#endif /* _Xconst */
+
+/* Function prototype configuration (see configure for more info) */
+#ifndef NARROWPROTO
+#define NARROWPROTO
+#endif
+#ifndef FUNCPROTO
+#define FUNCPROTO 15
+#endif
+
+#ifndef NeedWidePrototypes
+#ifdef NARROWPROTO
+#define NeedWidePrototypes 0
+#else
+#define NeedWidePrototypes 1 /* default to make interropt. easier */
+#endif
+#endif /* NeedWidePrototypes */
+
+#endif /* NeedFunctionPrototypes */
+
+#ifndef _XFUNCPROTOBEGIN
+#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
+#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
+#define _XFUNCPROTOEND }
+#else
+#define _XFUNCPROTOBEGIN
+#define _XFUNCPROTOEND
+#endif
+#endif /* _XFUNCPROTOBEGIN */
+
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else
+# define _X_SENTINEL(x)
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif /* GNUC >= 4 */
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
+# define _X_EXPORT __attribute__((visibility("default")))
+# define _X_HIDDEN __attribute__((visibility("hidden")))
+# define _X_INTERNAL __attribute__((visibility("internal")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+# define _X_EXPORT __global
+# define _X_HIDDEN __hidden
+# define _X_INTERNAL __hidden
+#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
+# define _X_EXPORT
+# define _X_HIDDEN
+# define _X_INTERNAL
+#endif
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
+# define _X_DEPRECATED __attribute__((deprecated))
+#else /* not gcc >= 3.1 */
+# define _X_DEPRECATED
+#endif
+
+#endif /* _XFUNCPROTO_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xfuncs.h b/packages/xorg-lib/xorg-headers-native/X11/Xfuncs.h
new file mode 100644
index 0000000000..ca9d29e34e
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xfuncs.h
@@ -0,0 +1,94 @@
+/*
+ * $XdotOrg: proto/X11/Xfuncs.h,v 1.4 2005/11/08 06:33:25 jkj Exp $
+ * $Xorg: Xfuncs.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $
+ *
+ *
+Copyright 1990, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+/* $XFree86: xc/include/Xfuncs.h,v 3.10 2002/05/31 18:45:38 dawes Exp $ */
+
+#ifndef _XFUNCS_H_
+#define _XFUNCS_H_
+
+#include <X11/Xosdefs.h>
+
+/* the old Xfuncs.h, for pre-R6 */
+#if !(defined(XFree86LOADER) && defined(IN_MODULE))
+
+#ifdef X_USEBFUNCS
+void bcopy();
+void bzero();
+int bcmp();
+#else
+#if defined(SYSV) && !defined(__SCO__) && !defined(sun) && !defined(__UNIXWARE__)
+#include <memory.h>
+void bcopy();
+#define bzero(b,len) memset(b, 0, len)
+#define bcmp(b1,b2,len) memcmp(b1, b2, len)
+#else
+#include <string.h>
+#if defined(__SCO__) || defined(sun) || defined(__UNIXWARE__)
+#include <strings.h>
+#endif
+#define _XFUNCS_H_INCLUDED_STRING_H
+#if defined(sun)
+#define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
+#define bzero(b,len) memset(b, 0, (size_t)(len))
+#define bcmp(b1,b2,len) memcmp(b1, b2, (size_t)(len))
+#endif
+#endif
+#endif /* X_USEBFUNCS */
+
+/* the new Xfuncs.h */
+
+#if !defined(X_NOT_STDC_ENV) && (!defined(sun) || defined(SVR4))
+/* the ANSI C way */
+#ifndef _XFUNCS_H_INCLUDED_STRING_H
+#include <string.h>
+#endif
+#undef bzero
+#define bzero(b,len) memset(b,0,len)
+#else /* else X_NOT_STDC_ENV or SunOS 4 */
+#if defined(SYSV) || defined(luna) || defined(sun) || defined(__sxg__)
+#include <memory.h>
+#define memmove(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
+#if defined(SYSV) && defined(_XBCOPYFUNC)
+#undef memmove
+#define memmove(dst,src,len) _XBCOPYFUNC((char *)(src),(char *)(dst),(int)(len))
+#define _XNEEDBCOPYFUNC
+#endif
+#else /* else vanilla BSD */
+#define memmove(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
+#define memcpy(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
+#define memcmp(b1,b2,len) bcmp((char *)(b1),(char *)(b2),(int)(len))
+#endif /* SYSV else */
+#endif /* ! X_NOT_STDC_ENV else */
+
+#if defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4))
+#define atexit(f) on_exit(f, 0)
+#endif
+
+#endif /* !(defined(XFree86LOADER) && defined(IN_MODULE)) */
+
+#endif /* _XFUNCS_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xlib.h b/packages/xorg-lib/xorg-headers-native/X11/Xlib.h
new file mode 100644
index 0000000000..a26789b1d0
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xlib.h
@@ -0,0 +1,4008 @@
+/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.6 2005-11-08 06:33:25 jkj Exp $ */
+/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
+/*
+
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/X11/Xlib.h,v 3.25 2003/11/17 22:20:10 dawes Exp $ */
+
+
+/*
+ * Xlib.h - Header definition and support file for the C subroutine
+ * interface library (Xlib) to the X Window System Protocol (V11).
+ * Structures and symbols starting with "_" are private to the library.
+ */
+#ifndef _XLIB_H_
+#define _XLIB_H_
+
+#define XlibSpecificationRelease 6
+
+#ifdef USG
+#ifndef __TYPES__
+#include <sys/types.h> /* forgot to protect it... */
+#define __TYPES__
+#endif /* __TYPES__ */
+#else
+#if defined(_POSIX_SOURCE) && defined(MOTOROLA)
+#undef _POSIX_SOURCE
+#include <sys/types.h>
+#define _POSIX_SOURCE
+#else
+#include <sys/types.h>
+#endif
+#endif /* USG */
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+
+#include <X11/X.h>
+
+/* applications should not depend on these two headers being included! */
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_WCHAR
+#ifdef X_NOT_STDC_ENV
+#ifndef ISC
+#define X_WCHAR
+#endif
+#endif
+#endif
+
+#ifndef X_WCHAR
+#include <stddef.h>
+#else
+#ifdef __UNIXOS2__
+#include <stdlib.h>
+#else
+/* replace this with #include or typedef appropriate for your system */
+typedef unsigned long wchar_t;
+#endif
+#endif
+
+#if defined(ISC) && defined(USE_XMBTOWC)
+#define wctomb(a,b) _Xwctomb(a,b)
+#define mblen(a,b) _Xmblen(a,b)
+#ifndef USE_XWCHAR_STRING
+#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
+#endif
+#endif
+
+extern int
+_Xmblen(
+#ifdef ISC
+ char const *str,
+ size_t len
+#else
+ char *str,
+ int len
+#endif
+ );
+
+/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+ November 2000. Its presence is indicated through the following macro. */
+#define X_HAVE_UTF8_STRING 1
+
+typedef char *XPointer;
+
+#define Bool int
+#define Status int
+#define True 1
+#define False 0
+
+#define QueuedAlready 0
+#define QueuedAfterReading 1
+#define QueuedAfterFlush 2
+
+#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
+#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
+#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
+#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
+#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
+#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
+#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
+#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
+#define AllPlanes ((unsigned long)~0L)
+#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
+#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
+#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
+#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
+#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
+#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
+#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
+#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
+#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
+#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
+#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
+#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
+#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
+#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
+#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
+#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
+#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
+#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
+#define NextRequest(dpy) XNextRequest(dpy)
+#else
+#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
+#endif
+#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
+
+/* macros for screen oriented applications (toolkit) */
+#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
+#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
+#define DisplayOfScreen(s) ((s)->display)
+#define RootWindowOfScreen(s) ((s)->root)
+#define BlackPixelOfScreen(s) ((s)->black_pixel)
+#define WhitePixelOfScreen(s) ((s)->white_pixel)
+#define DefaultColormapOfScreen(s)((s)->cmap)
+#define DefaultDepthOfScreen(s) ((s)->root_depth)
+#define DefaultGCOfScreen(s) ((s)->default_gc)
+#define DefaultVisualOfScreen(s)((s)->root_visual)
+#define WidthOfScreen(s) ((s)->width)
+#define HeightOfScreen(s) ((s)->height)
+#define WidthMMOfScreen(s) ((s)->mwidth)
+#define HeightMMOfScreen(s) ((s)->mheight)
+#define PlanesOfScreen(s) ((s)->root_depth)
+#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
+#define MinCmapsOfScreen(s) ((s)->min_maps)
+#define MaxCmapsOfScreen(s) ((s)->max_maps)
+#define DoesSaveUnders(s) ((s)->save_unders)
+#define DoesBackingStore(s) ((s)->backing_store)
+#define EventMaskOfScreen(s) ((s)->root_input_mask)
+
+/*
+ * Extensions need a way to hang private data on some structures.
+ */
+typedef struct _XExtData {
+ int number; /* number returned by XRegisterExtension */
+ struct _XExtData *next; /* next item on list of data for structure */
+ int (*free_private)( /* called to free private storage */
+ struct _XExtData *extension
+ );
+ XPointer private_data; /* data private to this extension. */
+} XExtData;
+
+/*
+ * This file contains structures used by the extension mechanism.
+ */
+typedef struct { /* public to extension, cannot be changed */
+ int extension; /* extension number */
+ int major_opcode; /* major op-code assigned by server */
+ int first_event; /* first event number for the extension */
+ int first_error; /* first error number for the extension */
+} XExtCodes;
+
+/*
+ * Data structure for retrieving info about pixmap formats.
+ */
+
+typedef struct {
+ int depth;
+ int bits_per_pixel;
+ int scanline_pad;
+} XPixmapFormatValues;
+
+
+/*
+ * Data structure for setting graphics context.
+ */
+typedef struct {
+ int function; /* logical operation */
+ unsigned long plane_mask;/* plane mask */
+ unsigned long foreground;/* foreground pixel */
+ unsigned long background;/* background pixel */
+ int line_width; /* line width */
+ int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
+ int cap_style; /* CapNotLast, CapButt,
+ CapRound, CapProjecting */
+ int join_style; /* JoinMiter, JoinRound, JoinBevel */
+ int fill_style; /* FillSolid, FillTiled,
+ FillStippled, FillOpaeueStippled */
+ int fill_rule; /* EvenOddRule, WindingRule */
+ int arc_mode; /* ArcChord, ArcPieSlice */
+ Pixmap tile; /* tile pixmap for tiling operations */
+ Pixmap stipple; /* stipple 1 plane pixmap for stipping */
+ int ts_x_origin; /* offset for tile or stipple operations */
+ int ts_y_origin;
+ Font font; /* default text font for text operations */
+ int subwindow_mode; /* ClipByChildren, IncludeInferiors */
+ Bool graphics_exposures;/* boolean, should exposures be generated */
+ int clip_x_origin; /* origin for clipping */
+ int clip_y_origin;
+ Pixmap clip_mask; /* bitmap clipping; other calls for rects */
+ int dash_offset; /* patterned/dashed line information */
+ char dashes;
+} XGCValues;
+
+/*
+ * Graphics context. The contents of this structure are implementation
+ * dependent. A GC should be treated as opaque by application code.
+ */
+
+typedef struct _XGC
+#ifdef XLIB_ILLEGAL_ACCESS
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#endif
+*GC;
+
+/*
+ * Visual structure; contains information about colormapping possible.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ VisualID visualid; /* visual id of this visual */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ class of screen (monochrome, etc.) */
+#else
+ int class; /* class of screen (monochrome, etc.) */
+#endif
+ unsigned long red_mask, green_mask, blue_mask; /* mask values */
+ int bits_per_rgb; /* log base 2 of distinct color values */
+ int map_entries; /* color map entries */
+} Visual;
+
+/*
+ * Depth structure; contains information for each possible depth.
+ */
+typedef struct {
+ int depth; /* this depth (Z) of the depth */
+ int nvisuals; /* number of Visual types at this depth */
+ Visual *visuals; /* list of visuals possible at this depth */
+} Depth;
+
+/*
+ * Information about the screen. The contents of this structure are
+ * implementation dependent. A Screen should be treated as opaque
+ * by application code.
+ */
+
+struct _XDisplay; /* Forward declare before use for C++ */
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XDisplay *display;/* back pointer to display structure */
+ Window root; /* Root window id. */
+ int width, height; /* width and height of screen */
+ int mwidth, mheight; /* width and height of in millimeters */
+ int ndepths; /* number of depths possible */
+ Depth *depths; /* list of allowable depths on the screen */
+ int root_depth; /* bits per pixel */
+ Visual *root_visual; /* root visual */
+ GC default_gc; /* GC for the root root visual */
+ Colormap cmap; /* default color map */
+ unsigned long white_pixel;
+ unsigned long black_pixel; /* White and Black pixel values */
+ int max_maps, min_maps; /* max and min color maps */
+ int backing_store; /* Never, WhenMapped, Always */
+ Bool save_unders;
+ long root_input_mask; /* initial root input mask */
+} Screen;
+
+/*
+ * Format structure; describes ZFormat data the screen will understand.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ int depth; /* depth of this image format */
+ int bits_per_pixel; /* bits/pixel at this depth */
+ int scanline_pad; /* scanline must padded to this multiple */
+} ScreenFormat;
+
+/*
+ * Data structure for setting window attributes.
+ */
+typedef struct {
+ Pixmap background_pixmap; /* background or None or ParentRelative */
+ unsigned long background_pixel; /* background pixel */
+ Pixmap border_pixmap; /* border of the window */
+ unsigned long border_pixel; /* border pixel value */
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preseved if possible */
+ unsigned long backing_pixel;/* value to use in restoring planes */
+ Bool save_under; /* should bits under be saved? (popups) */
+ long event_mask; /* set of events that should be saved */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Colormap colormap; /* color map to be associated with window */
+ Cursor cursor; /* cursor to be displayed (or None) */
+} XSetWindowAttributes;
+
+typedef struct {
+ int x, y; /* location of window */
+ int width, height; /* width and height of window */
+ int border_width; /* border width of window */
+ int depth; /* depth of window */
+ Visual *visual; /* the associated visual structure */
+ Window root; /* root of screen containing window */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ InputOutput, InputOnly*/
+#else
+ int class; /* InputOutput, InputOnly*/
+#endif
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preserved if possible */
+ unsigned long backing_pixel;/* value to be used when restoring planes */
+ Bool save_under; /* boolean, should bits under be saved? */
+ Colormap colormap; /* color map to be associated with window */
+ Bool map_installed; /* boolean, is color map currently installed*/
+ int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
+ long all_event_masks; /* set of events all people have interest in*/
+ long your_event_mask; /* my event mask */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Screen *screen; /* back pointer to correct screen */
+} XWindowAttributes;
+
+/*
+ * Data structure for host setting; getting routines.
+ *
+ */
+
+typedef struct {
+ int family; /* for example FamilyInternet */
+ int length; /* length of address, in bytes */
+ char *address; /* pointer to where to find the bytes */
+} XHostAddress;
+
+/*
+ * Data structure for ServerFamilyInterpreted addresses in host routines
+ */
+typedef struct {
+ int typelength; /* length of type string, in bytes */
+ int valuelength; /* length of value string, in bytes */
+ char *type; /* pointer to where to find the type string */
+ char *value; /* pointer to where to find the address */
+} XServerInterpretedAddress;
+
+/*
+ * Data structure for "image" data, used by image manipulation routines.
+ */
+typedef struct _XImage {
+ int width, height; /* size of image */
+ int xoffset; /* number of pixels offset in X direction */
+ int format; /* XYBitmap, XYPixmap, ZPixmap */
+ char *data; /* pointer to image data */
+ int byte_order; /* data byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* quant. of scanline 8, 16, 32 */
+ int bitmap_bit_order; /* LSBFirst, MSBFirst */
+ int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
+ int depth; /* depth of image */
+ int bytes_per_line; /* accelarator to next line */
+ int bits_per_pixel; /* bits per pixel (ZPixmap) */
+ unsigned long red_mask; /* bits in z arrangment */
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ XPointer obdata; /* hook for the object routines to hang on */
+ struct funcs { /* image manipulation routines */
+ struct _XImage *(*create_image)(
+ struct _XDisplay* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */);
+ int (*destroy_image) (struct _XImage *);
+ unsigned long (*get_pixel) (struct _XImage *, int, int);
+ int (*put_pixel) (struct _XImage *, int, int, unsigned long);
+ struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
+ int (*add_pixel) (struct _XImage *, long);
+ } f;
+} XImage;
+
+/*
+ * Data structure for XReconfigureWindow
+ */
+typedef struct {
+ int x, y;
+ int width, height;
+ int border_width;
+ Window sibling;
+ int stack_mode;
+} XWindowChanges;
+
+/*
+ * Data structure used by color operations
+ */
+typedef struct {
+ unsigned long pixel;
+ unsigned short red, green, blue;
+ char flags; /* do_red, do_green, do_blue */
+ char pad;
+} XColor;
+
+/*
+ * Data structures for graphics operations. On most machines, these are
+ * congruent with the wire protocol structures, so reformatting the data
+ * can be avoided on these architectures.
+ */
+typedef struct {
+ short x1, y1, x2, y2;
+} XSegment;
+
+typedef struct {
+ short x, y;
+} XPoint;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+} XRectangle;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ short angle1, angle2;
+} XArc;
+
+
+/* Data structure for XChangeKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ int bell_pitch;
+ int bell_duration;
+ int led;
+ int led_mode;
+ int key;
+ int auto_repeat_mode; /* On, Off, Default */
+} XKeyboardControl;
+
+/* Data structure for XGetKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ unsigned int bell_pitch, bell_duration;
+ unsigned long led_mask;
+ int global_auto_repeat;
+ char auto_repeats[32];
+} XKeyboardState;
+
+/* Data structure for XGetMotionEvents. */
+
+typedef struct {
+ Time time;
+ short x, y;
+} XTimeCoord;
+
+/* Data structure for X{Set,Get}ModifierMapping */
+
+typedef struct {
+ int max_keypermod; /* The server's max # of keys per modifier */
+ KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
+} XModifierKeymap;
+
+
+/*
+ * Display datatype maintaining display specific data.
+ * The contents of this structure are implementation dependent.
+ * A Display should be treated as opaque by application code.
+ */
+#ifndef XLIB_ILLEGAL_ACCESS
+typedef struct _XDisplay Display;
+#endif
+
+struct _XPrivate; /* Forward declare before use for C++ */
+struct _XrmHashBucketRec;
+
+typedef struct
+#ifdef XLIB_ILLEGAL_ACCESS
+_XDisplay
+#endif
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XPrivate *private1;
+ int fd; /* Network socket. */
+ int private2;
+ int proto_major_version;/* major version of server's X protocol */
+ int proto_minor_version;/* minor version of servers X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID private3;
+ XID private4;
+ XID private5;
+ int private6;
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int private8;
+ int release; /* release of the server */
+ struct _XPrivate *private9, *private10;
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ XPointer private11;
+ XPointer private12;
+ XPointer private13;
+ XPointer private14;
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*private15)(
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ unsigned long private16;
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ XPointer private17;
+ XPointer private18;
+ int private19;
+ char *xdefaults; /* contents of defaults from server */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#ifdef XLIB_ILLEGAL_ACCESS
+Display,
+#endif
+*_XPrivDisplay;
+
+#undef _XEVENT_
+#ifndef _XEVENT_
+/*
+ * Definitions of specific events.
+ */
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int keycode; /* detail */
+ Bool same_screen; /* same screen flag */
+} XKeyEvent;
+typedef XKeyEvent XKeyPressedEvent;
+typedef XKeyEvent XKeyReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int button; /* detail */
+ Bool same_screen; /* same screen flag */
+} XButtonEvent;
+typedef XButtonEvent XButtonPressedEvent;
+typedef XButtonEvent XButtonReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ char is_hint; /* detail */
+ Bool same_screen; /* same screen flag */
+} XMotionEvent;
+typedef XMotionEvent XPointerMovedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual
+ */
+ Bool same_screen; /* same screen flag */
+ Bool focus; /* boolean focus */
+ unsigned int state; /* key or button mask */
+} XCrossingEvent;
+typedef XCrossingEvent XEnterWindowEvent;
+typedef XCrossingEvent XLeaveWindowEvent;
+
+typedef struct {
+ int type; /* FocusIn or FocusOut */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ int mode; /* NotifyNormal, NotifyWhileGrabbed,
+ NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
+ * NotifyPointerRoot, NotifyDetailNone
+ */
+} XFocusChangeEvent;
+typedef XFocusChangeEvent XFocusInEvent;
+typedef XFocusChangeEvent XFocusOutEvent;
+
+/* generated on EnterWindow and FocusIn when KeyMapState selected */
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ char key_vector[32];
+} XKeymapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+} XExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XGraphicsExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XNoExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int state; /* Visibility state */
+} XVisibilityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent; /* parent of the window */
+ Window window; /* window id of window created */
+ int x, y; /* window location */
+ int width, height; /* size of window */
+ int border_width; /* border width */
+ Bool override_redirect; /* creation should be overridden */
+} XCreateWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+} XDestroyWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool from_configure;
+} XUnmapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool override_redirect; /* boolean, is override set... */
+} XMapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+} XMapRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Window parent;
+ int x, y;
+ Bool override_redirect;
+} XReparentEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ Bool override_redirect;
+} XConfigureEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+} XGravityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int width, height;
+} XResizeRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ int detail; /* Above, Below, TopIf, BottomIf, Opposite */
+ unsigned long value_mask;
+} XConfigureRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom atom;
+ Time time;
+ int state; /* NewValue, Deleted */
+} XPropertyEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom selection;
+ Time time;
+} XSelectionClearEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window owner;
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property;
+ Time time;
+} XSelectionRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property; /* ATOM or None */
+ Time time;
+} XSelectionEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Colormap colormap; /* COLORMAP or None */
+#if defined(__cplusplus) || defined(c_plusplus)
+ Bool c_new; /* C++ */
+#else
+ Bool new;
+#endif
+ int state; /* ColormapInstalled, ColormapUninstalled */
+} XColormapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom message_type;
+ int format;
+ union {
+ char b[20];
+ short s[10];
+ long l[5];
+ } data;
+} XClientMessageEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ int request; /* one of MappingModifier, MappingKeyboard,
+ MappingPointer */
+ int first_keycode; /* first keycode */
+ int count; /* defines range of change w. first_keycode*/
+} XMappingEvent;
+
+typedef struct {
+ int type;
+ Display *display; /* Display the event was read from */
+ XID resourceid; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error code of failed request */
+ unsigned char request_code; /* Major op-code of failed request */
+ unsigned char minor_code; /* Minor op-code of failed request */
+} XErrorEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display;/* Display the event was read from */
+ Window window; /* window on which event was requested in event mask */
+} XAnyEvent;
+
+/*
+ * this union is defined so Xlib can always use the same sized
+ * event structure internally, to avoid memory fragmentation.
+ */
+typedef union _XEvent {
+ int type; /* must not be changed; first element */
+ XAnyEvent xany;
+ XKeyEvent xkey;
+ XButtonEvent xbutton;
+ XMotionEvent xmotion;
+ XCrossingEvent xcrossing;
+ XFocusChangeEvent xfocus;
+ XExposeEvent xexpose;
+ XGraphicsExposeEvent xgraphicsexpose;
+ XNoExposeEvent xnoexpose;
+ XVisibilityEvent xvisibility;
+ XCreateWindowEvent xcreatewindow;
+ XDestroyWindowEvent xdestroywindow;
+ XUnmapEvent xunmap;
+ XMapEvent xmap;
+ XMapRequestEvent xmaprequest;
+ XReparentEvent xreparent;
+ XConfigureEvent xconfigure;
+ XGravityEvent xgravity;
+ XResizeRequestEvent xresizerequest;
+ XConfigureRequestEvent xconfigurerequest;
+ XCirculateEvent xcirculate;
+ XCirculateRequestEvent xcirculaterequest;
+ XPropertyEvent xproperty;
+ XSelectionClearEvent xselectionclear;
+ XSelectionRequestEvent xselectionrequest;
+ XSelectionEvent xselection;
+ XColormapEvent xcolormap;
+ XClientMessageEvent xclient;
+ XMappingEvent xmapping;
+ XErrorEvent xerror;
+ XKeymapEvent xkeymap;
+ long pad[24];
+} XEvent;
+#endif
+
+#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
+
+/*
+ * per character font metric information.
+ */
+typedef struct {
+ short lbearing; /* origin to left edge of raster */
+ short rbearing; /* origin to right edge of raster */
+ short width; /* advance to next char's origin */
+ short ascent; /* baseline to top edge of raster */
+ short descent; /* baseline to bottom edge of raster */
+ unsigned short attributes; /* per char flags (not predefined) */
+} XCharStruct;
+
+/*
+ * To allow arbitrary information with fonts, there are additional properties
+ * returned.
+ */
+typedef struct {
+ Atom name;
+ unsigned long card32;
+} XFontProp;
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ Font fid; /* Font id for this font */
+ unsigned direction; /* hint about direction the font is painted */
+ unsigned min_char_or_byte2;/* first character */
+ unsigned max_char_or_byte2;/* last character */
+ unsigned min_byte1; /* first row that exists */
+ unsigned max_byte1; /* last row that exists */
+ Bool all_chars_exist;/* flag if all characters have non-zero size*/
+ unsigned default_char; /* char to print for undefined character */
+ int n_properties; /* how many properties there are */
+ XFontProp *properties; /* pointer to array of additional properties*/
+ XCharStruct min_bounds; /* minimum bounds over all existing char*/
+ XCharStruct max_bounds; /* maximum bounds over all existing char*/
+ XCharStruct *per_char; /* first_char to last_char information */
+ int ascent; /* log. extent above baseline for spacing */
+ int descent; /* log. descent below baseline for spacing */
+} XFontStruct;
+
+/*
+ * PolyText routines take these as arguments.
+ */
+typedef struct {
+ char *chars; /* pointer to string */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem;
+
+typedef struct { /* normal 16 bit characters are two bytes */
+ unsigned char byte1;
+ unsigned char byte2;
+} XChar2b;
+
+typedef struct {
+ XChar2b *chars; /* two byte characters */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem16;
+
+
+typedef union { Display *display;
+ GC gc;
+ Visual *visual;
+ Screen *screen;
+ ScreenFormat *pixmap_format;
+ XFontStruct *font; } XEDataObject;
+
+typedef struct {
+ XRectangle max_ink_extent;
+ XRectangle max_logical_extent;
+} XFontSetExtents;
+
+/* unused:
+typedef void (*XOMProc)();
+ */
+
+typedef struct _XOM *XOM;
+typedef struct _XOC *XOC, *XFontSet;
+
+typedef struct {
+ char *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XmbTextItem;
+
+typedef struct {
+ wchar_t *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XwcTextItem;
+
+#define XNRequiredCharSet "requiredCharSet"
+#define XNQueryOrientation "queryOrientation"
+#define XNBaseFontName "baseFontName"
+#define XNOMAutomatic "omAutomatic"
+#define XNMissingCharSet "missingCharSet"
+#define XNDefaultString "defaultString"
+#define XNOrientation "orientation"
+#define XNDirectionalDependentDrawing "directionalDependentDrawing"
+#define XNContextualDrawing "contextualDrawing"
+#define XNFontInfo "fontInfo"
+
+typedef struct {
+ int charset_count;
+ char **charset_list;
+} XOMCharSetList;
+
+typedef enum {
+ XOMOrientation_LTR_TTB,
+ XOMOrientation_RTL_TTB,
+ XOMOrientation_TTB_LTR,
+ XOMOrientation_TTB_RTL,
+ XOMOrientation_Context
+} XOrientation;
+
+typedef struct {
+ int num_orientation;
+ XOrientation *orientation; /* Input Text description */
+} XOMOrientation;
+
+typedef struct {
+ int num_font;
+ XFontStruct **font_struct_list;
+ char **font_name_list;
+} XOMFontInfo;
+
+typedef struct _XIM *XIM;
+typedef struct _XIC *XIC;
+
+typedef void (*XIMProc)(
+ XIM,
+ XPointer,
+ XPointer
+);
+
+typedef Bool (*XICProc)(
+ XIC,
+ XPointer,
+ XPointer
+);
+
+typedef void (*XIDProc)(
+ Display*,
+ XPointer,
+ XPointer
+);
+
+typedef unsigned long XIMStyle;
+
+typedef struct {
+ unsigned short count_styles;
+ XIMStyle *supported_styles;
+} XIMStyles;
+
+#define XIMPreeditArea 0x0001L
+#define XIMPreeditCallbacks 0x0002L
+#define XIMPreeditPosition 0x0004L
+#define XIMPreeditNothing 0x0008L
+#define XIMPreeditNone 0x0010L
+#define XIMStatusArea 0x0100L
+#define XIMStatusCallbacks 0x0200L
+#define XIMStatusNothing 0x0400L
+#define XIMStatusNone 0x0800L
+
+#define XNVaNestedList "XNVaNestedList"
+#define XNQueryInputStyle "queryInputStyle"
+#define XNClientWindow "clientWindow"
+#define XNInputStyle "inputStyle"
+#define XNFocusWindow "focusWindow"
+#define XNResourceName "resourceName"
+#define XNResourceClass "resourceClass"
+#define XNGeometryCallback "geometryCallback"
+#define XNDestroyCallback "destroyCallback"
+#define XNFilterEvents "filterEvents"
+#define XNPreeditStartCallback "preeditStartCallback"
+#define XNPreeditDoneCallback "preeditDoneCallback"
+#define XNPreeditDrawCallback "preeditDrawCallback"
+#define XNPreeditCaretCallback "preeditCaretCallback"
+#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
+#define XNPreeditAttributes "preeditAttributes"
+#define XNStatusStartCallback "statusStartCallback"
+#define XNStatusDoneCallback "statusDoneCallback"
+#define XNStatusDrawCallback "statusDrawCallback"
+#define XNStatusAttributes "statusAttributes"
+#define XNArea "area"
+#define XNAreaNeeded "areaNeeded"
+#define XNSpotLocation "spotLocation"
+#define XNColormap "colorMap"
+#define XNStdColormap "stdColorMap"
+#define XNForeground "foreground"
+#define XNBackground "background"
+#define XNBackgroundPixmap "backgroundPixmap"
+#define XNFontSet "fontSet"
+#define XNLineSpace "lineSpace"
+#define XNCursor "cursor"
+
+#define XNQueryIMValuesList "queryIMValuesList"
+#define XNQueryICValuesList "queryICValuesList"
+#define XNVisiblePosition "visiblePosition"
+#define XNR6PreeditCallback "r6PreeditCallback"
+#define XNStringConversionCallback "stringConversionCallback"
+#define XNStringConversion "stringConversion"
+#define XNResetState "resetState"
+#define XNHotKey "hotKey"
+#define XNHotKeyState "hotKeyState"
+#define XNPreeditState "preeditState"
+#define XNSeparatorofNestedList "separatorofNestedList"
+
+#define XBufferOverflow -1
+#define XLookupNone 1
+#define XLookupChars 2
+#define XLookupKeySym 3
+#define XLookupBoth 4
+
+typedef void *XVaNestedList;
+
+typedef struct {
+ XPointer client_data;
+ XIMProc callback;
+} XIMCallback;
+
+typedef struct {
+ XPointer client_data;
+ XICProc callback;
+} XICCallback;
+
+typedef unsigned long XIMFeedback;
+
+#define XIMReverse 1L
+#define XIMUnderline (1L<<1)
+#define XIMHighlight (1L<<2)
+#define XIMPrimary (1L<<5)
+#define XIMSecondary (1L<<6)
+#define XIMTertiary (1L<<7)
+#define XIMVisibleToForward (1L<<8)
+#define XIMVisibleToBackword (1L<<9)
+#define XIMVisibleToCenter (1L<<10)
+
+typedef struct _XIMText {
+ unsigned short length;
+ XIMFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *multi_byte;
+ wchar_t *wide_char;
+ } string;
+} XIMText;
+
+typedef unsigned long XIMPreeditState;
+
+#define XIMPreeditUnKnown 0L
+#define XIMPreeditEnable 1L
+#define XIMPreeditDisable (1L<<1)
+
+typedef struct _XIMPreeditStateNotifyCallbackStruct {
+ XIMPreeditState state;
+} XIMPreeditStateNotifyCallbackStruct;
+
+typedef unsigned long XIMResetState;
+
+#define XIMInitialState 1L
+#define XIMPreserveState (1L<<1)
+
+typedef unsigned long XIMStringConversionFeedback;
+
+#define XIMStringConversionLeftEdge (0x00000001)
+#define XIMStringConversionRightEdge (0x00000002)
+#define XIMStringConversionTopEdge (0x00000004)
+#define XIMStringConversionBottomEdge (0x00000008)
+#define XIMStringConversionConcealed (0x00000010)
+#define XIMStringConversionWrapped (0x00000020)
+
+typedef struct _XIMStringConversionText {
+ unsigned short length;
+ XIMStringConversionFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *mbs;
+ wchar_t *wcs;
+ } string;
+} XIMStringConversionText;
+
+typedef unsigned short XIMStringConversionPosition;
+
+typedef unsigned short XIMStringConversionType;
+
+#define XIMStringConversionBuffer (0x0001)
+#define XIMStringConversionLine (0x0002)
+#define XIMStringConversionWord (0x0003)
+#define XIMStringConversionChar (0x0004)
+
+typedef unsigned short XIMStringConversionOperation;
+
+#define XIMStringConversionSubstitution (0x0001)
+#define XIMStringConversionRetrieval (0x0002)
+
+typedef enum {
+ XIMForwardChar, XIMBackwardChar,
+ XIMForwardWord, XIMBackwardWord,
+ XIMCaretUp, XIMCaretDown,
+ XIMNextLine, XIMPreviousLine,
+ XIMLineStart, XIMLineEnd,
+ XIMAbsolutePosition,
+ XIMDontChange
+} XIMCaretDirection;
+
+typedef struct _XIMStringConversionCallbackStruct {
+ XIMStringConversionPosition position;
+ XIMCaretDirection direction;
+ XIMStringConversionOperation operation;
+ unsigned short factor;
+ XIMStringConversionText *text;
+} XIMStringConversionCallbackStruct;
+
+typedef struct _XIMPreeditDrawCallbackStruct {
+ int caret; /* Cursor offset within pre-edit string */
+ int chg_first; /* Starting change position */
+ int chg_length; /* Length of the change in character count */
+ XIMText *text;
+} XIMPreeditDrawCallbackStruct;
+
+typedef enum {
+ XIMIsInvisible, /* Disable caret feedback */
+ XIMIsPrimary, /* UI defined caret feedback */
+ XIMIsSecondary /* UI defined caret feedback */
+} XIMCaretStyle;
+
+typedef struct _XIMPreeditCaretCallbackStruct {
+ int position; /* Caret offset within pre-edit string */
+ XIMCaretDirection direction; /* Caret moves direction */
+ XIMCaretStyle style; /* Feedback of the caret */
+} XIMPreeditCaretCallbackStruct;
+
+typedef enum {
+ XIMTextType,
+ XIMBitmapType
+} XIMStatusDataType;
+
+typedef struct _XIMStatusDrawCallbackStruct {
+ XIMStatusDataType type;
+ union {
+ XIMText *text;
+ Pixmap bitmap;
+ } data;
+} XIMStatusDrawCallbackStruct;
+
+typedef struct _XIMHotKeyTrigger {
+ KeySym keysym;
+ int modifier;
+ int modifier_mask;
+} XIMHotKeyTrigger;
+
+typedef struct _XIMHotKeyTriggers {
+ int num_hot_key;
+ XIMHotKeyTrigger *key;
+} XIMHotKeyTriggers;
+
+typedef unsigned long XIMHotKeyState;
+
+#define XIMHotKeyStateON (0x0001L)
+#define XIMHotKeyStateOFF (0x0002L)
+
+typedef struct {
+ unsigned short count_values;
+ char **supported_values;
+} XIMValuesList;
+
+_XFUNCPROTOBEGIN
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _Xdebug (*_Xdebug_p)
+#endif
+
+extern int _Xdebug;
+
+extern XFontStruct *XLoadQueryFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XFontStruct *XQueryFont(
+ Display* /* display */,
+ XID /* font_ID */
+);
+
+
+extern XTimeCoord *XGetMotionEvents(
+ Display* /* display */,
+ Window /* w */,
+ Time /* start */,
+ Time /* stop */,
+ int* /* nevents_return */
+);
+
+extern XModifierKeymap *XDeleteModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XGetModifierMapping(
+ Display* /* display */
+);
+
+extern XModifierKeymap *XInsertModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XNewModifiermap(
+ int /* max_keys_per_mod */
+);
+
+extern XImage *XCreateImage(
+ Display* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */
+);
+extern Status XInitImage(
+ XImage* /* image */
+);
+extern XImage *XGetImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */
+);
+extern XImage *XGetSubImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */,
+ XImage* /* dest_image */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+/*
+ * X function declarations.
+ */
+extern Display *XOpenDisplay(
+ _Xconst char* /* display_name */
+);
+
+extern void XrmInitialize(
+ void
+);
+
+extern char *XFetchBytes(
+ Display* /* display */,
+ int* /* nbytes_return */
+);
+extern char *XFetchBuffer(
+ Display* /* display */,
+ int* /* nbytes_return */,
+ int /* buffer */
+);
+extern char *XGetAtomName(
+ Display* /* display */,
+ Atom /* atom */
+);
+extern Status XGetAtomNames(
+ Display* /* dpy */,
+ Atom* /* atoms */,
+ int /* count */,
+ char** /* names_return */
+);
+extern char *XGetDefault(
+ Display* /* display */,
+ _Xconst char* /* program */,
+ _Xconst char* /* option */
+);
+extern char *XDisplayName(
+ _Xconst char* /* string */
+);
+extern char *XKeysymToString(
+ KeySym /* keysym */
+);
+
+extern int (*XSynchronize(
+ Display* /* display */,
+ Bool /* onoff */
+))(
+ Display* /* display */
+);
+extern int (*XSetAfterFunction(
+ Display* /* display */,
+ int (*) (
+ Display* /* display */
+ ) /* procedure */
+))(
+ Display* /* display */
+);
+extern Atom XInternAtom(
+ Display* /* display */,
+ _Xconst char* /* atom_name */,
+ Bool /* only_if_exists */
+);
+extern Status XInternAtoms(
+ Display* /* dpy */,
+ char** /* names */,
+ int /* count */,
+ Bool /* onlyIfExists */,
+ Atom* /* atoms_return */
+);
+extern Colormap XCopyColormapAndFree(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+extern Colormap XCreateColormap(
+ Display* /* display */,
+ Window /* w */,
+ Visual* /* visual */,
+ int /* alloc */
+);
+extern Cursor XCreatePixmapCursor(
+ Display* /* display */,
+ Pixmap /* source */,
+ Pixmap /* mask */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */,
+ unsigned int /* x */,
+ unsigned int /* y */
+);
+extern Cursor XCreateGlyphCursor(
+ Display* /* display */,
+ Font /* source_font */,
+ Font /* mask_font */,
+ unsigned int /* source_char */,
+ unsigned int /* mask_char */,
+ XColor _Xconst * /* foreground_color */,
+ XColor _Xconst * /* background_color */
+);
+extern Cursor XCreateFontCursor(
+ Display* /* display */,
+ unsigned int /* shape */
+);
+extern Font XLoadFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+extern GC XCreateGC(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+extern GContext XGContextFromGC(
+ GC /* gc */
+);
+extern void XFlushGC(
+ Display* /* display */,
+ GC /* gc */
+);
+extern Pixmap XCreatePixmap(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* depth */
+);
+extern Pixmap XCreateBitmapFromData(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+extern Pixmap XCreatePixmapFromBitmapData(
+ Display* /* display */,
+ Drawable /* d */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* fg */,
+ unsigned long /* bg */,
+ unsigned int /* depth */
+);
+extern Window XCreateSimpleWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ unsigned long /* border */,
+ unsigned long /* background */
+);
+extern Window XGetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */
+);
+extern Window XCreateWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ int /* depth */,
+ unsigned int /* class */,
+ Visual* /* visual */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+extern Colormap *XListInstalledColormaps(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_return */
+);
+extern char **XListFonts(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* actual_count_return */
+);
+extern char **XListFontsWithInfo(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* count_return */,
+ XFontStruct** /* info_return */
+);
+extern char **XGetFontPath(
+ Display* /* display */,
+ int* /* npaths_return */
+);
+extern char **XListExtensions(
+ Display* /* display */,
+ int* /* nextensions_return */
+);
+extern Atom *XListProperties(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_prop_return */
+);
+extern XHostAddress *XListHosts(
+ Display* /* display */,
+ int* /* nhosts_return */,
+ Bool* /* state_return */
+);
+extern KeySym XKeycodeToKeysym(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* keycode */,
+#else
+ KeyCode /* keycode */,
+#endif
+ int /* index */
+);
+extern KeySym XLookupKeysym(
+ XKeyEvent* /* key_event */,
+ int /* index */
+);
+extern KeySym *XGetKeyboardMapping(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* first_keycode */,
+#else
+ KeyCode /* first_keycode */,
+#endif
+ int /* keycode_count */,
+ int* /* keysyms_per_keycode_return */
+);
+extern KeySym XStringToKeysym(
+ _Xconst char* /* string */
+);
+extern long XMaxRequestSize(
+ Display* /* display */
+);
+extern long XExtendedMaxRequestSize(
+ Display* /* display */
+);
+extern char *XResourceManagerString(
+ Display* /* display */
+);
+extern char *XScreenResourceString(
+ Screen* /* screen */
+);
+extern unsigned long XDisplayMotionBufferSize(
+ Display* /* display */
+);
+extern VisualID XVisualIDFromVisual(
+ Visual* /* visual */
+);
+
+/* multithread routines */
+
+extern Status XInitThreads(
+ void
+);
+
+extern void XLockDisplay(
+ Display* /* display */
+);
+
+extern void XUnlockDisplay(
+ Display* /* display */
+);
+
+/* routines for dealing with extensions */
+
+extern XExtCodes *XInitExtension(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XExtCodes *XAddExtension(
+ Display* /* display */
+);
+extern XExtData *XFindOnExtensionList(
+ XExtData** /* structure */,
+ int /* number */
+);
+extern XExtData **XEHeadOfExtensionList(
+ XEDataObject /* object */
+);
+
+/* these are routines for which there are also macros */
+extern Window XRootWindow(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Window XDefaultRootWindow(
+ Display* /* display */
+);
+extern Window XRootWindowOfScreen(
+ Screen* /* screen */
+);
+extern Visual *XDefaultVisual(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Visual *XDefaultVisualOfScreen(
+ Screen* /* screen */
+);
+extern GC XDefaultGC(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern GC XDefaultGCOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XBlackPixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XWhitePixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XAllPlanes(
+ void
+);
+extern unsigned long XBlackPixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XWhitePixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XNextRequest(
+ Display* /* display */
+);
+extern unsigned long XLastKnownRequestProcessed(
+ Display* /* display */
+);
+extern char *XServerVendor(
+ Display* /* display */
+);
+extern char *XDisplayString(
+ Display* /* display */
+);
+extern Colormap XDefaultColormap(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Colormap XDefaultColormapOfScreen(
+ Screen* /* screen */
+);
+extern Display *XDisplayOfScreen(
+ Screen* /* screen */
+);
+extern Screen *XScreenOfDisplay(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Screen *XDefaultScreenOfDisplay(
+ Display* /* display */
+);
+extern long XEventMaskOfScreen(
+ Screen* /* screen */
+);
+
+extern int XScreenNumberOfScreen(
+ Screen* /* screen */
+);
+
+typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */,
+ XErrorEvent* /* error_event */
+);
+
+extern XErrorHandler XSetErrorHandler (
+ XErrorHandler /* handler */
+);
+
+
+typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */
+);
+
+extern XIOErrorHandler XSetIOErrorHandler (
+ XIOErrorHandler /* handler */
+);
+
+
+extern XPixmapFormatValues *XListPixmapFormats(
+ Display* /* display */,
+ int* /* count_return */
+);
+extern int *XListDepths(
+ Display* /* display */,
+ int /* screen_number */,
+ int* /* count_return */
+);
+
+/* ICCCM routines for things that don't require special include files; */
+/* other declarations are given in Xutil.h */
+extern Status XReconfigureWMWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */,
+ unsigned int /* mask */,
+ XWindowChanges* /* changes */
+);
+
+extern Status XGetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom** /* protocols_return */,
+ int* /* count_return */
+);
+extern Status XSetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* protocols */,
+ int /* count */
+);
+extern Status XIconifyWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XWithdrawWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XGetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char*** /* argv_return */,
+ int* /* argc_return */
+);
+extern Status XGetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window** /* windows_return */,
+ int* /* count_return */
+);
+extern Status XSetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* colormap_windows */,
+ int /* count */
+);
+extern void XFreeStringList(
+ char** /* list */
+);
+extern int XSetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window /* prop_window */
+);
+
+/* The following are given in alphabetical order */
+
+extern int XActivateScreenSaver(
+ Display* /* display */
+);
+
+extern int XAddHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XAddHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XAddToExtensionList(
+ struct _XExtData** /* structure */,
+ XExtData* /* ext_data */
+);
+
+extern int XAddToSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XAllocColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* screen_in_out */
+);
+
+extern Status XAllocColorCells(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* plane_masks_return */,
+ unsigned int /* nplanes */,
+ unsigned long* /* pixels_return */,
+ unsigned int /* npixels */
+);
+
+extern Status XAllocColorPlanes(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* pixels_return */,
+ int /* ncolors */,
+ int /* nreds */,
+ int /* ngreens */,
+ int /* nblues */,
+ unsigned long* /* rmask_return */,
+ unsigned long* /* gmask_return */,
+ unsigned long* /* bmask_return */
+);
+
+extern Status XAllocNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* screen_def_return */,
+ XColor* /* exact_def_return */
+);
+
+extern int XAllowEvents(
+ Display* /* display */,
+ int /* event_mode */,
+ Time /* time */
+);
+
+extern int XAutoRepeatOff(
+ Display* /* display */
+);
+
+extern int XAutoRepeatOn(
+ Display* /* display */
+);
+
+extern int XBell(
+ Display* /* display */,
+ int /* percent */
+);
+
+extern int XBitmapBitOrder(
+ Display* /* display */
+);
+
+extern int XBitmapPad(
+ Display* /* display */
+);
+
+extern int XBitmapUnit(
+ Display* /* display */
+);
+
+extern int XCellsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XChangeActivePointerGrab(
+ Display* /* display */,
+ unsigned int /* event_mask */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XChangeGC(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+
+extern int XChangeKeyboardControl(
+ Display* /* display */,
+ unsigned long /* value_mask */,
+ XKeyboardControl* /* values */
+);
+
+extern int XChangeKeyboardMapping(
+ Display* /* display */,
+ int /* first_keycode */,
+ int /* keysyms_per_keycode */,
+ KeySym* /* keysyms */,
+ int /* num_codes */
+);
+
+extern int XChangePointerControl(
+ Display* /* display */,
+ Bool /* do_accel */,
+ Bool /* do_threshold */,
+ int /* accel_numerator */,
+ int /* accel_denominator */,
+ int /* threshold */
+);
+
+extern int XChangeProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format */,
+ int /* mode */,
+ _Xconst unsigned char* /* data */,
+ int /* nelements */
+);
+
+extern int XChangeSaveSet(
+ Display* /* display */,
+ Window /* w */,
+ int /* change_mode */
+);
+
+extern int XChangeWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+
+extern Bool XCheckIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern Bool XCheckMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedEvent(
+ Display* /* display */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XCirculateSubwindows(
+ Display* /* display */,
+ Window /* w */,
+ int /* direction */
+);
+
+extern int XCirculateSubwindowsDown(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCirculateSubwindowsUp(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XClearArea(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ Bool /* exposures */
+);
+
+extern int XClearWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCloseDisplay(
+ Display* /* display */
+);
+
+extern int XConfigureWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* value_mask */,
+ XWindowChanges* /* values */
+);
+
+extern int XConnectionNumber(
+ Display* /* display */
+);
+
+extern int XConvertSelection(
+ Display* /* display */,
+ Atom /* selection */,
+ Atom /* target */,
+ Atom /* property */,
+ Window /* requestor */,
+ Time /* time */
+);
+
+extern int XCopyArea(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XCopyGC(
+ Display* /* display */,
+ GC /* src */,
+ unsigned long /* valuemask */,
+ GC /* dest */
+);
+
+extern int XCopyPlane(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned long /* plane */
+);
+
+extern int XDefaultDepth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDefaultDepthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XDefaultScreen(
+ Display* /* display */
+);
+
+extern int XDefineCursor(
+ Display* /* display */,
+ Window /* w */,
+ Cursor /* cursor */
+);
+
+extern int XDeleteProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */
+);
+
+extern int XDestroyWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDestroySubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDoesBackingStore(
+ Screen* /* screen */
+);
+
+extern Bool XDoesSaveUnders(
+ Screen* /* screen */
+);
+
+extern int XDisableAccessControl(
+ Display* /* display */
+);
+
+
+extern int XDisplayCells(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeight(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeightMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayKeycodes(
+ Display* /* display */,
+ int* /* min_keycodes_return */,
+ int* /* max_keycodes_return */
+);
+
+extern int XDisplayPlanes(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidthMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDrawArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XDrawArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawImageString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawLine(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x1 */,
+ int /* y1 */,
+ int /* x2 */,
+ int /* y2 */
+);
+
+extern int XDrawLines(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawPoint(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XDrawPoints(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XDrawRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XDrawSegments(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XSegment* /* segments */,
+ int /* nsegments */
+);
+
+extern int XDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem* /* items */,
+ int /* nitems */
+);
+
+extern int XDrawText16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem16* /* items */,
+ int /* nitems */
+);
+
+extern int XEnableAccessControl(
+ Display* /* display */
+);
+
+extern int XEventsQueued(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern Status XFetchName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* window_name_return */
+);
+
+extern int XFillArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XFillArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XFillPolygon(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* shape */,
+ int /* mode */
+);
+
+extern int XFillRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XFillRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XFlush(
+ Display* /* display */
+);
+
+extern int XForceScreenSaver(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XFree(
+ void* /* data */
+);
+
+extern int XFreeColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XFreeColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ unsigned long* /* pixels */,
+ int /* npixels */,
+ unsigned long /* planes */
+);
+
+extern int XFreeCursor(
+ Display* /* display */,
+ Cursor /* cursor */
+);
+
+extern int XFreeExtensionList(
+ char** /* list */
+);
+
+extern int XFreeFont(
+ Display* /* display */,
+ XFontStruct* /* font_struct */
+);
+
+extern int XFreeFontInfo(
+ char** /* names */,
+ XFontStruct* /* free_info */,
+ int /* actual_count */
+);
+
+extern int XFreeFontNames(
+ char** /* list */
+);
+
+extern int XFreeFontPath(
+ char** /* list */
+);
+
+extern int XFreeGC(
+ Display* /* display */,
+ GC /* gc */
+);
+
+extern int XFreeModifiermap(
+ XModifierKeymap* /* modmap */
+);
+
+extern int XFreePixmap(
+ Display* /* display */,
+ Pixmap /* pixmap */
+);
+
+extern int XGeometry(
+ Display* /* display */,
+ int /* screen */,
+ _Xconst char* /* position */,
+ _Xconst char* /* default_position */,
+ unsigned int /* bwidth */,
+ unsigned int /* fwidth */,
+ unsigned int /* fheight */,
+ int /* xadder */,
+ int /* yadder */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */
+);
+
+extern int XGetErrorDatabaseText(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ _Xconst char* /* message */,
+ _Xconst char* /* default_string */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern int XGetErrorText(
+ Display* /* display */,
+ int /* code */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern Bool XGetFontProperty(
+ XFontStruct* /* font_struct */,
+ Atom /* atom */,
+ unsigned long* /* value_return */
+);
+
+extern Status XGetGCValues(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values_return */
+);
+
+extern Status XGetGeometry(
+ Display* /* display */,
+ Drawable /* d */,
+ Window* /* root_return */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned int* /* border_width_return */,
+ unsigned int* /* depth_return */
+);
+
+extern Status XGetIconName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* icon_name_return */
+);
+
+extern int XGetInputFocus(
+ Display* /* display */,
+ Window* /* focus_return */,
+ int* /* revert_to_return */
+);
+
+extern int XGetKeyboardControl(
+ Display* /* display */,
+ XKeyboardState* /* values_return */
+);
+
+extern int XGetPointerControl(
+ Display* /* display */,
+ int* /* accel_numerator_return */,
+ int* /* accel_denominator_return */,
+ int* /* threshold_return */
+);
+
+extern int XGetPointerMapping(
+ Display* /* display */,
+ unsigned char* /* map_return */,
+ int /* nmap */
+);
+
+extern int XGetScreenSaver(
+ Display* /* display */,
+ int* /* timeout_return */,
+ int* /* interval_return */,
+ int* /* prefer_blanking_return */,
+ int* /* allow_exposures_return */
+);
+
+extern Status XGetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* prop_window_return */
+);
+
+extern int XGetWindowProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ long /* long_offset */,
+ long /* long_length */,
+ Bool /* delete */,
+ Atom /* req_type */,
+ Atom* /* actual_type_return */,
+ int* /* actual_format_return */,
+ unsigned long* /* nitems_return */,
+ unsigned long* /* bytes_after_return */,
+ unsigned char** /* prop_return */
+);
+
+extern Status XGetWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ XWindowAttributes* /* window_attributes_return */
+);
+
+extern int XGrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */
+);
+
+extern int XGrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */
+);
+
+extern int XGrabKeyboard(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Time /* time */
+);
+
+extern int XGrabPointer(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XGrabServer(
+ Display* /* display */
+);
+
+extern int XHeightMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XHeightOfScreen(
+ Screen* /* screen */
+);
+
+extern int XIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XImageByteOrder(
+ Display* /* display */
+);
+
+extern int XInstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern KeyCode XKeysymToKeycode(
+ Display* /* display */,
+ KeySym /* keysym */
+);
+
+extern int XKillClient(
+ Display* /* display */,
+ XID /* resource */
+);
+
+extern Status XLookupColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* exact_def_return */,
+ XColor* /* screen_def_return */
+);
+
+extern int XLowerWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapRaised(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XMaxCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMinCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMoveResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XMoveWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XNextEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XNoOp(
+ Display* /* display */
+);
+
+extern Status XParseColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* spec */,
+ XColor* /* exact_def_return */
+);
+
+extern int XParseGeometry(
+ _Xconst char* /* parsestring */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XPeekEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XPeekIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XPending(
+ Display* /* display */
+);
+
+extern int XPlanesOfScreen(
+ Screen* /* screen */
+);
+
+extern int XProtocolRevision(
+ Display* /* display */
+);
+
+extern int XProtocolVersion(
+ Display* /* display */
+);
+
+
+extern int XPutBackEvent(
+ Display* /* display */,
+ XEvent* /* event */
+);
+
+extern int XPutImage(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XImage* /* image */,
+ int /* src_x */,
+ int /* src_y */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XQLength(
+ Display* /* display */
+);
+
+extern Status XQueryBestCursor(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestSize(
+ Display* /* display */,
+ int /* class */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestStipple(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestTile(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XQueryColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* def_in_out */
+);
+
+extern int XQueryColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* defs_in_out */,
+ int /* ncolors */
+);
+
+extern Bool XQueryExtension(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ int* /* major_opcode_return */,
+ int* /* first_event_return */,
+ int* /* first_error_return */
+);
+
+extern int XQueryKeymap(
+ Display* /* display */,
+ char [32] /* keys_return */
+);
+
+extern Bool XQueryPointer(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* child_return */,
+ int* /* root_x_return */,
+ int* /* root_y_return */,
+ int* /* win_x_return */,
+ int* /* win_y_return */,
+ unsigned int* /* mask_return */
+);
+
+extern int XQueryTextExtents(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XQueryTextExtents16(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern Status XQueryTree(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* parent_return */,
+ Window** /* children_return */,
+ unsigned int* /* nchildren_return */
+);
+
+extern int XRaiseWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XReadBitmapFile(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ Pixmap* /* bitmap_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XReadBitmapFileData(
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned char** /* data_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XRebindKeysym(
+ Display* /* display */,
+ KeySym /* keysym */,
+ KeySym* /* list */,
+ int /* mod_count */,
+ _Xconst unsigned char* /* string */,
+ int /* bytes_string */
+);
+
+extern int XRecolorCursor(
+ Display* /* display */,
+ Cursor /* cursor */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */
+);
+
+extern int XRefreshKeyboardMapping(
+ XMappingEvent* /* event_map */
+);
+
+extern int XRemoveFromSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XRemoveHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XRemoveHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XReparentWindow(
+ Display* /* display */,
+ Window /* w */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XResetScreenSaver(
+ Display* /* display */
+);
+
+extern int XResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XRestackWindows(
+ Display* /* display */,
+ Window* /* windows */,
+ int /* nwindows */
+);
+
+extern int XRotateBuffers(
+ Display* /* display */,
+ int /* rotate */
+);
+
+extern int XRotateWindowProperties(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* properties */,
+ int /* num_prop */,
+ int /* npositions */
+);
+
+extern int XScreenCount(
+ Display* /* display */
+);
+
+extern int XSelectInput(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */
+);
+
+extern Status XSendEvent(
+ Display* /* display */,
+ Window /* w */,
+ Bool /* propagate */,
+ long /* event_mask */,
+ XEvent* /* event_send */
+);
+
+extern int XSetAccessControl(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XSetArcMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* arc_mode */
+);
+
+extern int XSetBackground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* background */
+);
+
+extern int XSetClipMask(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* pixmap */
+);
+
+extern int XSetClipOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */
+);
+
+extern int XSetClipRectangles(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */,
+ XRectangle* /* rectangles */,
+ int /* n */,
+ int /* ordering */
+);
+
+extern int XSetCloseDownMode(
+ Display* /* display */,
+ int /* close_mode */
+);
+
+extern int XSetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char** /* argv */,
+ int /* argc */
+);
+
+extern int XSetDashes(
+ Display* /* display */,
+ GC /* gc */,
+ int /* dash_offset */,
+ _Xconst char* /* dash_list */,
+ int /* n */
+);
+
+extern int XSetFillRule(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_rule */
+);
+
+extern int XSetFillStyle(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_style */
+);
+
+extern int XSetFont(
+ Display* /* display */,
+ GC /* gc */,
+ Font /* font */
+);
+
+extern int XSetFontPath(
+ Display* /* display */,
+ char** /* directories */,
+ int /* ndirs */
+);
+
+extern int XSetForeground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */
+);
+
+extern int XSetFunction(
+ Display* /* display */,
+ GC /* gc */,
+ int /* function */
+);
+
+extern int XSetGraphicsExposures(
+ Display* /* display */,
+ GC /* gc */,
+ Bool /* graphics_exposures */
+);
+
+extern int XSetIconName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* icon_name */
+);
+
+extern int XSetInputFocus(
+ Display* /* display */,
+ Window /* focus */,
+ int /* revert_to */,
+ Time /* time */
+);
+
+extern int XSetLineAttributes(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned int /* line_width */,
+ int /* line_style */,
+ int /* cap_style */,
+ int /* join_style */
+);
+
+extern int XSetModifierMapping(
+ Display* /* display */,
+ XModifierKeymap* /* modmap */
+);
+
+extern int XSetPlaneMask(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetPointerMapping(
+ Display* /* display */,
+ _Xconst unsigned char* /* map */,
+ int /* nmap */
+);
+
+extern int XSetScreenSaver(
+ Display* /* display */,
+ int /* timeout */,
+ int /* interval */,
+ int /* prefer_blanking */,
+ int /* allow_exposures */
+);
+
+extern int XSetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */,
+ Window /* owner */,
+ Time /* time */
+);
+
+extern int XSetState(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */,
+ unsigned long /* background */,
+ int /* function */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetStipple(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* stipple */
+);
+
+extern int XSetSubwindowMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* subwindow_mode */
+);
+
+extern int XSetTSOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* ts_x_origin */,
+ int /* ts_y_origin */
+);
+
+extern int XSetTile(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* tile */
+);
+
+extern int XSetWindowBackground(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* background_pixel */
+);
+
+extern int XSetWindowBackgroundPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* background_pixmap */
+);
+
+extern int XSetWindowBorder(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* border_pixel */
+);
+
+extern int XSetWindowBorderPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* border_pixmap */
+);
+
+extern int XSetWindowBorderWidth(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */
+);
+
+extern int XSetWindowColormap(
+ Display* /* display */,
+ Window /* w */,
+ Colormap /* colormap */
+);
+
+extern int XStoreBuffer(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */,
+ int /* buffer */
+);
+
+extern int XStoreBytes(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */
+);
+
+extern int XStoreColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */
+);
+
+extern int XStoreColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */,
+ int /* ncolors */
+);
+
+extern int XStoreName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */
+);
+
+extern int XStoreNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color */,
+ unsigned long /* pixel */,
+ int /* flags */
+);
+
+extern int XSync(
+ Display* /* display */,
+ Bool /* discard */
+);
+
+extern int XTextExtents(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextExtents16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextWidth(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int XTextWidth16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+extern Bool XTranslateCoordinates(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ int* /* dest_x_return */,
+ int* /* dest_y_return */,
+ Window* /* child_return */
+);
+
+extern int XUndefineCursor(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUngrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKeyboard(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabPointer(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabServer(
+ Display* /* display */
+);
+
+extern int XUninstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XUnloadFont(
+ Display* /* display */,
+ Font /* font */
+);
+
+extern int XUnmapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUnmapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XVendorRelease(
+ Display* /* display */
+);
+
+extern int XWarpPointer(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* src_width */,
+ unsigned int /* src_height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XWidthMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWidthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XWriteBitmapFile(
+ Display* /* display */,
+ _Xconst char* /* filename */,
+ Pixmap /* bitmap */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* x_hot */,
+ int /* y_hot */
+);
+
+extern Bool XSupportsLocale (void);
+
+extern char *XSetLocaleModifiers(
+ const char* /* modifier_list */
+);
+
+extern XOM XOpenOM(
+ Display* /* display */,
+ struct _XrmHashBucketRec* /* rdb */,
+ _Xconst char* /* res_name */,
+ _Xconst char* /* res_class */
+);
+
+extern Status XCloseOM(
+ XOM /* om */
+);
+
+extern char *XSetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfOM(
+ XOM /* om */
+);
+
+extern char *XLocaleOfOM(
+ XOM /* om */
+);
+
+extern XOC XCreateOC(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XDestroyOC(
+ XOC /* oc */
+);
+
+extern XOM XOMOfOC(
+ XOC /* oc */
+);
+
+extern char *XSetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern XFontSet XCreateFontSet(
+ Display* /* display */,
+ _Xconst char* /* base_font_name_list */,
+ char*** /* missing_charset_list */,
+ int* /* missing_charset_count */,
+ char** /* def_string */
+);
+
+extern void XFreeFontSet(
+ Display* /* display */,
+ XFontSet /* font_set */
+);
+
+extern int XFontsOfFontSet(
+ XFontSet /* font_set */,
+ XFontStruct*** /* font_struct_list */,
+ char*** /* font_name_list */
+);
+
+extern char *XBaseFontNameListOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern char *XLocaleOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XDirectionalDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextualDrawing(
+ XFontSet /* font_set */
+);
+
+extern XFontSetExtents *XExtentsOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern int XmbTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XwcTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern int Xutf8TextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XmbTextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int XwcTextExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int Xutf8TextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XmbTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XwcTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status Xutf8TextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern void XmbDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XwcDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XwcTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void Xutf8DrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XmbDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XmbDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern XIM XOpenIM(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */
+);
+
+extern Status XCloseIM(
+ XIM /* im */
+);
+
+extern char *XGetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern char *XSetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfIM(
+ XIM /* im */
+);
+
+extern char *XLocaleOfIM(
+ XIM /* im*/
+);
+
+extern XIC XCreateIC(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern void XDestroyIC(
+ XIC /* ic */
+);
+
+extern void XSetICFocus(
+ XIC /* ic */
+);
+
+extern void XUnsetICFocus(
+ XIC /* ic */
+);
+
+extern wchar_t *XwcResetIC(
+ XIC /* ic */
+);
+
+extern char *XmbResetIC(
+ XIC /* ic */
+);
+
+extern char *Xutf8ResetIC(
+ XIC /* ic */
+);
+
+extern char *XSetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern char *XGetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern XIM XIMOfIC(
+ XIC /* ic */
+);
+
+extern Bool XFilterEvent(
+ XEvent* /* event */,
+ Window /* window */
+);
+
+extern int XmbLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int XwcLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ wchar_t* /* buffer_return */,
+ int /* wchars_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int Xutf8LookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern XVaNestedList XVaCreateNestedList(
+ int /*unused*/, ...
+) _X_SENTINEL(0);
+
+/* internal connections for IMs */
+
+extern Bool XRegisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern Bool XUnregisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+typedef void (*XConnectionWatchProc)(
+ Display* /* dpy */,
+ XPointer /* client_data */,
+ int /* fd */,
+ Bool /* opening */, /* open or close flag */
+ XPointer* /* watch_data */ /* open sets, close uses */
+);
+
+
+extern Status XInternalConnectionNumbers(
+ Display* /* dpy */,
+ int** /* fd_return */,
+ int* /* count_return */
+);
+
+extern void XProcessInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+extern Status XAddConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XRemoveConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XSetAuthorization(
+ char * /* name */,
+ int /* namelen */,
+ char * /* data */,
+ int /* datalen */
+);
+
+extern int _Xmbtowc(
+ wchar_t * /* wstr */,
+#ifdef ISC
+ char const * /* str */,
+ size_t /* len */
+#else
+ char * /* str */,
+ int /* len */
+#endif
+);
+
+extern int _Xwctomb(
+ char * /* str */,
+ wchar_t /* wc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XLIB_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/XlibConf.h b/packages/xorg-lib/xorg-headers-native/X11/XlibConf.h
new file mode 100644
index 0000000000..c6c180a5ed
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/XlibConf.h
@@ -0,0 +1,40 @@
+/* include/X11/XlibConf.h. Generated by configure. */
+/*
+ * $Id: $
+ *
+ * Copyright © 2005 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XLIBCONF_H_
+#define _XLIBCONF_H_
+/*
+ * This header file exports defines necessary to correctly
+ * use Xlibint.h both inside Xlib and by external libraries
+ * such as extensions.
+ */
+
+/* Threading support? */
+#define XTHREADS
+
+/* Use multi-threaded libc functions? */
+#define XUSE_MTSAFE_API
+
+#endif /* _XLIBCONF_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xlibint.h b/packages/xorg-lib/xorg-headers-native/X11/Xlibint.h
new file mode 100644
index 0000000000..6b1e0c918c
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xlibint.h
@@ -0,0 +1,1320 @@
+/* $Xorg: Xlibint.h,v 1.5 2001/02/09 02:03:38 xorgcvs Exp $ */
+
+/*
+
+Copyright 1984, 1985, 1987, 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/lib/X11/Xlibint.h,v 3.27 2003/05/27 22:26:26 tsi Exp $ */
+
+#ifndef _XLIBINT_H_
+#define _XLIBINT_H_ 1
+
+/*
+ * Xlibint.h - Header definition and support file for the internal
+ * support routines used by the C subroutine interface
+ * library (Xlib) to the X Window System.
+ *
+ * Warning, there be dragons here....
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xproto.h> /* to declare xEvent */
+#include <X11/XlibConf.h> /* for configured options like XTHREADS */
+
+#ifdef WIN32
+#define _XFlush _XFlushIt
+#endif
+
+/*
+ * If your BytesReadable correctly detects broken connections, then
+ * you should NOT define XCONN_CHECK_FREQ.
+ */
+#ifndef XCONN_CHECK_FREQ
+#define XCONN_CHECK_FREQ 256
+#endif
+
+struct _XGC
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ Bool rects; /* boolean: TRUE if clipmask is list of rectangles */
+ Bool dashes; /* boolean: TRUE if dash-list is really a list */
+ unsigned long dirty;/* cache dirty bits */
+ XGCValues values; /* shadow structure of values */
+};
+
+struct _XDisplay
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XFreeFuncs *free_funcs; /* internal free functions */
+ int fd; /* Network socket. */
+ int conn_checker; /* ugly thing used by _XEventsQueued */
+ int proto_major_version;/* maj. version of server's X protocol */
+ int proto_minor_version;/* minor version of server's X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID resource_base; /* resource ID base */
+ XID resource_mask; /* resource ID mask bits */
+ XID resource_id; /* allocator current ID */
+ int resource_shift; /* allocator shift to correct bits */
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int vnumber; /* Xlib's X protocol version number. */
+ int release; /* release of the server */
+ struct _XSQEvent *head, *tail; /* Input event queue. */
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ char *last_req; /* beginning of last request, or dummy */
+ char *buffer; /* Output buffer starting address. */
+ char *bufptr; /* Output buffer index pointer. */
+ char *bufmax; /* Output buffer maximum+1 address. */
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*synchandler)( /* Synchronization handler */
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ unsigned long flags; /* internal connection flags */
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ KeySym *keysyms; /* This server's keysyms */
+ XModifierKeymap *modifiermap; /* This server's modifier keymap */
+ int keysyms_per_keycode;/* number of rows */
+ char *xdefaults; /* contents of defaults from server */
+ char *scratch_buffer; /* place to hang scratch buffer */
+ unsigned long scratch_length; /* length of scratch buffer */
+ int ext_number; /* extension number on this display */
+ struct _XExten *ext_procs; /* extensions initialized on this display */
+ /*
+ * the following can be fixed size, as the protocol defines how
+ * much address space is available.
+ * While this could be done using the extension vector, there
+ * may be MANY events processed, so a search through the extension
+ * list to find the right procedure for each event might be
+ * expensive if many extensions are being used.
+ */
+ Bool (*event_vec[128])( /* vector for wire to event */
+ Display * /* dpy */,
+ XEvent * /* re */,
+ xEvent * /* event */
+ );
+ Status (*wire_vec[128])( /* vector for event to wire */
+ Display * /* dpy */,
+ XEvent * /* re */,
+ xEvent * /* event */
+ );
+ KeySym lock_meaning; /* for XLookupString */
+ struct _XLockInfo *lock; /* multi-thread state, display lock */
+ struct _XInternalAsync *async_handlers; /* for internal async */
+ unsigned long bigreq_size; /* max size of big requests */
+ struct _XLockPtrs *lock_fns; /* pointers to threads functions */
+ void (*idlist_alloc)( /* XID list allocator function */
+ Display * /* dpy */,
+ XID * /* ids */,
+ int /* count */
+ );
+ /* things above this line should not move, for binary compatibility */
+ struct _XKeytrans *key_bindings; /* for XLookupString */
+ Font cursor_font; /* for XCreateFontCursor */
+ struct _XDisplayAtoms *atoms; /* for XInternAtom */
+ unsigned int mode_switch; /* keyboard group modifiers */
+ unsigned int num_lock; /* keyboard numlock modifiers */
+ struct _XContextDB *context_db; /* context database */
+ Bool (**error_vec)( /* vector for wire to error */
+ Display * /* display */,
+ XErrorEvent * /* he */,
+ xError * /* we */
+ );
+ /*
+ * Xcms information
+ */
+ struct {
+ XPointer defaultCCCs; /* pointer to an array of default XcmsCCC */
+ XPointer clientCmaps; /* pointer to linked list of XcmsCmapRec */
+ XPointer perVisualIntensityMaps;
+ /* linked list of XcmsIntensityMap */
+ } cms;
+ struct _XIMFilter *im_filters;
+ struct _XSQEvent *qfree; /* unallocated event queue elements */
+ unsigned long next_event_serial_num; /* inserted into next queue elt */
+ struct _XExten *flushes; /* Flush hooks */
+ struct _XConnectionInfo *im_fd_info; /* _XRegisterInternalConnection */
+ int im_fd_length; /* number of im_fd_info */
+ struct _XConnWatchInfo *conn_watchers; /* XAddConnectionWatch */
+ int watcher_count; /* number of conn_watchers */
+ XPointer filedes; /* struct pollfd cache for _XWaitForReadable */
+ int (*savedsynchandler)( /* user synchandler when Xlib usurps */
+ Display * /* dpy */
+ );
+ XID resource_max; /* allocator max ID */
+ int xcmisc_opcode; /* major opcode for XC-MISC */
+ struct _XkbInfoRec *xkb_info; /* XKB info */
+ struct _XtransConnInfo *trans_conn; /* transport connection object */
+};
+
+#define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n)
+
+/*
+ * define the following if you want the Data macro to be a procedure instead
+ */
+#ifdef CRAY
+#define DataRoutineIsProcedure
+#endif /* CRAY */
+
+#ifndef _XEVENT_
+/*
+ * _QEvent datatype for use in input queueing.
+ */
+typedef struct _XSQEvent
+{
+ struct _XSQEvent *next;
+ XEvent event;
+ unsigned long qserial_num; /* so multi-threaded code can find new ones */
+} _XQEvent;
+#endif
+
+#ifdef XTHREADS /* for xReply */
+#define NEED_REPLIES
+#endif
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+#include <X11/Xproto.h>
+#ifdef __sgi
+#define _SGI_MP_SOURCE /* turn this on to get MP safe errno */
+#endif
+#include <errno.h>
+#define _XBCOPYFUNC _Xbcopy
+#include <X11/Xfuncs.h>
+#include <X11/Xosdefs.h>
+
+/* Utek leaves kernel macros around in include files (bleah) */
+#ifdef dirty
+#undef dirty
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/*
+ * The following definitions can be used for locking requests in multi-threaded
+ * address spaces.
+ */
+#ifdef XTHREADS
+/* Author: Stephen Gildea, MIT X Consortium
+ *
+ * declarations for C Threads locking
+ */
+
+typedef struct _LockInfoRec *LockInfoPtr;
+
+/* interfaces for locking.c */
+struct _XLockPtrs {
+ /* used by all, including extensions; do not move */
+ void (*lock_display)(
+ Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char *file
+ , int line
+#endif
+ );
+ void (*unlock_display)(
+ Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char *file
+ , int line
+#endif
+ );
+};
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _XCreateMutex_fn (*_XCreateMutex_fn_p)
+#define _XFreeMutex_fn (*_XFreeMutex_fn_p)
+#define _XLockMutex_fn (*_XLockMutex_fn_p)
+#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p)
+#define _Xglobal_lock (*_Xglobal_lock_p)
+#endif
+
+/* in XlibInt.c */
+extern void (*_XCreateMutex_fn)(
+ LockInfoPtr /* lock */
+);
+extern void (*_XFreeMutex_fn)(
+ LockInfoPtr /* lock */
+);
+extern void (*_XLockMutex_fn)(
+ LockInfoPtr /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char * /* file */
+ , int /* line */
+#endif
+);
+extern void (*_XUnlockMutex_fn)(
+ LockInfoPtr /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char * /* file */
+ , int /* line */
+#endif
+);
+
+extern LockInfoPtr _Xglobal_lock;
+
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__)
+#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)((d),__FILE__,__LINE__)
+#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock,__FILE__,__LINE__)
+#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock,__FILE__,__LINE__)
+#else
+/* used everywhere, so must be fast if not using threads */
+#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d)
+#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d)
+#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock)
+#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock)
+#endif
+#define _XCreateMutex(lock) if (_XCreateMutex_fn) (*_XCreateMutex_fn)(lock);
+#define _XFreeMutex(lock) if (_XFreeMutex_fn) (*_XFreeMutex_fn)(lock);
+
+#else /* XTHREADS */
+#define LockDisplay(dis)
+#define _XLockMutex(lock)
+#define _XUnlockMutex(lock)
+#define UnlockDisplay(dis)
+#define _XCreateMutex(lock)
+#define _XFreeMutex(lock)
+#endif
+
+#define Xfree(ptr) free((ptr))
+
+/*
+ * Note that some machines do not return a valid pointer for malloc(0), in
+ * which case we provide an alternate under the control of the
+ * define MALLOC_0_RETURNS_NULL. This is necessary because some
+ * Xlib code expects malloc(0) to return a valid pointer to storage.
+ */
+#ifdef MALLOC_0_RETURNS_NULL
+
+# define Xmalloc(size) malloc(((size) == 0 ? 1 : (size)))
+# define Xrealloc(ptr, size) realloc((ptr), ((size) == 0 ? 1 : (size)))
+# define Xcalloc(nelem, elsize) calloc(((nelem) == 0 ? 1 : (nelem)), (elsize))
+
+#else
+
+# define Xmalloc(size) malloc((size))
+# define Xrealloc(ptr, size) realloc((ptr), (size))
+# define Xcalloc(nelem, elsize) calloc((nelem), (elsize))
+
+#endif
+
+#include <stddef.h>
+
+#define LOCKED 1
+#define UNLOCKED 0
+
+#ifndef BUFSIZE
+#define BUFSIZE 2048 /* X output buffer size. */
+#endif
+#ifndef PTSPERBATCH
+#define PTSPERBATCH 1024 /* point batching */
+#endif
+#ifndef WLNSPERBATCH
+#define WLNSPERBATCH 50 /* wide line batching */
+#endif
+#ifndef ZLNSPERBATCH
+#define ZLNSPERBATCH 1024 /* thin line batching */
+#endif
+#ifndef WRCTSPERBATCH
+#define WRCTSPERBATCH 10 /* wide line rectangle batching */
+#endif
+#ifndef ZRCTSPERBATCH
+#define ZRCTSPERBATCH 256 /* thin line rectangle batching */
+#endif
+#ifndef FRCTSPERBATCH
+#define FRCTSPERBATCH 256 /* filled rectangle batching */
+#endif
+#ifndef FARCSPERBATCH
+#define FARCSPERBATCH 256 /* filled arc batching */
+#endif
+#ifndef CURSORFONT
+#define CURSORFONT "cursor" /* standard cursor fonts */
+#endif
+
+/*
+ * Display flags
+ */
+#define XlibDisplayIOError (1L << 0)
+#define XlibDisplayClosing (1L << 1)
+#define XlibDisplayNoXkb (1L << 2)
+#define XlibDisplayPrivSync (1L << 3)
+#define XlibDisplayProcConni (1L << 4) /* in _XProcessInternalConnection */
+#define XlibDisplayReadEvents (1L << 5) /* in _XReadEvents */
+#define XlibDisplayReply (1L << 5) /* in _XReply */
+#define XlibDisplayWriting (1L << 6) /* in _XFlushInt, _XSend */
+#define XlibDisplayDfltRMDB (1L << 7) /* mark if RM db from XGetDefault */
+
+/*
+ * X Protocol packetizing macros.
+ */
+
+/* Need to start requests on 64 bit word boundaries
+ * on a CRAY computer so add a NoOp (127) if needed.
+ * A character pointer on a CRAY computer will be non-zero
+ * after shifting right 61 bits of it is not pointing to
+ * a word boundary.
+ */
+#ifdef WORD64
+#define WORD64ALIGN if ((long)dpy->bufptr >> 61) {\
+ dpy->last_req = dpy->bufptr;\
+ *(dpy->bufptr) = X_NoOperation;\
+ *(dpy->bufptr+1) = 0;\
+ *(dpy->bufptr+2) = 0;\
+ *(dpy->bufptr+3) = 1;\
+ dpy->request++;\
+ dpy->bufptr += 4;\
+ }
+#else /* else does not require alignment on 64-bit boundaries */
+#define WORD64ALIGN
+#endif /* WORD64 */
+
+
+/*
+ * GetReq - Get the next available X request packet in the buffer and
+ * return it.
+ *
+ * "name" is the name of the request, e.g. CreatePixmap, OpenFont, etc.
+ * "req" is the name of the request pointer.
+ *
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x##name##Req)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = (SIZEOF(x##name##Req))>>2;\
+ dpy->bufptr += SIZEOF(x##name##Req);\
+ dpy->request++
+
+#else /* non-ANSI C uses empty comment instead of "##" for token concatenation */
+#define GetReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x/**/name/**/Req)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = (SIZEOF(x/**/name/**/Req))>>2;\
+ dpy->bufptr += SIZEOF(x/**/name/**/Req);\
+ dpy->request++
+#endif
+
+/* GetReqExtra is the same as GetReq, but allocates "n" additional
+ bytes after the request. "n" must be a multiple of 4! */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReqExtra(name, n, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x##name##Req) + n) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = (SIZEOF(x##name##Req) + n)>>2;\
+ dpy->bufptr += SIZEOF(x##name##Req) + n;\
+ dpy->request++
+#else
+#define GetReqExtra(name, n, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(x/**/name/**/Req) + n) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = (SIZEOF(x/**/name/**/Req) + n)>>2;\
+ dpy->bufptr += SIZEOF(x/**/name/**/Req) + n;\
+ dpy->request++
+#endif
+
+
+/*
+ * GetResReq is for those requests that have a resource ID
+ * (Window, Pixmap, GContext, etc.) as their single argument.
+ * "rid" is the name of the resource.
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetResReq(name, rid, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xResourceReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = 2;\
+ req->id = (rid);\
+ dpy->bufptr += SIZEOF(xResourceReq);\
+ dpy->request++
+#else
+#define GetResReq(name, rid, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xResourceReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = 2;\
+ req->id = (rid);\
+ dpy->bufptr += SIZEOF(xResourceReq);\
+ dpy->request++
+#endif
+
+/*
+ * GetEmptyReq is for those requests that have no arguments
+ * at all.
+ */
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetEmptyReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_##name;\
+ req->length = 1;\
+ dpy->bufptr += SIZEOF(xReq);\
+ dpy->request++
+#else
+#define GetEmptyReq(name, req) \
+ WORD64ALIGN\
+ if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
+ _XFlush(dpy);\
+ req = (xReq *) (dpy->last_req = dpy->bufptr);\
+ req->reqType = X_/**/name;\
+ req->length = 1;\
+ dpy->bufptr += SIZEOF(xReq);\
+ dpy->request++
+#endif
+
+#ifdef WORD64
+#define MakeBigReq(req,n) \
+ { \
+ char _BRdat[4]; \
+ unsigned long _BRlen = req->length - 1; \
+ req->length = 0; \
+ memcpy(_BRdat, ((char *)req) + (_BRlen << 2), 4); \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ memcpy(((char *)req) + 4, _BRdat, 4); \
+ Data32(dpy, (long *)&_BRdat, 4); \
+ }
+#else
+#ifdef LONG64
+#define MakeBigReq(req,n) \
+ { \
+ CARD64 _BRdat; \
+ CARD32 _BRlen = req->length - 1; \
+ req->length = 0; \
+ _BRdat = ((CARD32 *)req)[_BRlen]; \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ ((CARD32 *)req)[1] = _BRlen + n + 2; \
+ Data32(dpy, &_BRdat, 4); \
+ }
+#else
+#define MakeBigReq(req,n) \
+ { \
+ CARD32 _BRdat; \
+ CARD32 _BRlen = req->length - 1; \
+ req->length = 0; \
+ _BRdat = ((CARD32 *)req)[_BRlen]; \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ ((CARD32 *)req)[1] = _BRlen + n + 2; \
+ Data32(dpy, &_BRdat, 4); \
+ }
+#endif
+#endif
+
+#define SetReqLen(req,n,badlen) \
+ if ((req->length + n) > (unsigned)65535) { \
+ if (dpy->bigreq_size) { \
+ MakeBigReq(req,n) \
+ } else { \
+ n = badlen; \
+ req->length += n; \
+ } \
+ } else \
+ req->length += n
+
+#define SyncHandle() \
+ if (dpy->synchandler) (*dpy->synchandler)(dpy)
+
+extern void _XFlushGCCache(Display *dpy, GC gc);
+#define FlushGC(dpy, gc) \
+ if ((gc)->dirty) _XFlushGCCache((dpy), (gc))
+/*
+ * Data - Place data in the buffer and pad the end to provide
+ * 32 bit word alignment. Transmit if the buffer fills.
+ *
+ * "dpy" is a pointer to a Display.
+ * "data" is a pinter to a data buffer.
+ * "len" is the length of the data buffer.
+ */
+#ifndef DataRoutineIsProcedure
+#define Data(dpy, data, len) {\
+ if (dpy->bufptr + (len) <= dpy->bufmax) {\
+ memcpy(dpy->bufptr, data, (int)len);\
+ dpy->bufptr += ((len) + 3) & ~3;\
+ } else\
+ _XSend(dpy, data, len);\
+ }
+#endif /* DataRoutineIsProcedure */
+
+
+/* Allocate bytes from the buffer. No padding is done, so if
+ * the length is not a multiple of 4, the caller must be
+ * careful to leave the buffer aligned after sending the
+ * current request.
+ *
+ * "type" is the type of the pointer being assigned to.
+ * "ptr" is the pointer being assigned to.
+ * "n" is the number of bytes to allocate.
+ *
+ * Example:
+ * xTextElt *elt;
+ * BufAlloc (xTextElt *, elt, nbytes)
+ */
+
+#define BufAlloc(type, ptr, n) \
+ if (dpy->bufptr + (n) > dpy->bufmax) \
+ _XFlush (dpy); \
+ ptr = (type) dpy->bufptr; \
+ (void)ptr; \
+ dpy->bufptr += (n);
+
+#ifdef WORD64
+#define Data16(dpy, data, len) _XData16(dpy, (short *)data, len)
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+#else
+#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len))
+#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#ifdef LONG64
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+extern int _XData32(
+ Display *dpy,
+ register long *data,
+ unsigned len
+);
+extern void _XRead32(
+ Display *dpy,
+ register long *data,
+ long len
+);
+#else
+#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#endif
+#endif /* not WORD64 */
+
+#define PackData16(dpy,data,len) Data16 (dpy, data, len)
+#define PackData32(dpy,data,len) Data32 (dpy, data, len)
+
+/* Xlib manual is bogus */
+#define PackData(dpy,data,len) PackData16 (dpy, data, len)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+#define max(a,b) (((a) > (b)) ? (a) : (b))
+
+#define CI_NONEXISTCHAR(cs) (((cs)->width == 0) && \
+ (((cs)->rbearing|(cs)->lbearing| \
+ (cs)->ascent|(cs)->descent) == 0))
+
+/*
+ * CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
+ * character. If the character is in the column and exists, then return the
+ * appropriate metrics (note that fonts with common per-character metrics will
+ * return min_bounds). If none of these hold true, try again with the default
+ * char.
+ */
+#define CI_GET_CHAR_INFO_1D(fs,col,def,cs) \
+{ \
+ cs = def; \
+ if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+ if (fs->per_char == NULL) { \
+ cs = &fs->min_bounds; \
+ } else { \
+ cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \
+ if (CI_NONEXISTCHAR(cs)) cs = def; \
+ } \
+ } \
+}
+
+#define CI_GET_DEFAULT_INFO_1D(fs,cs) \
+ CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs)
+
+
+
+/*
+ * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and
+ * column. This is used for fonts that have more than row zero.
+ */
+#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs) \
+{ \
+ cs = def; \
+ if (row >= fs->min_byte1 && row <= fs->max_byte1 && \
+ col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+ if (fs->per_char == NULL) { \
+ cs = &fs->min_bounds; \
+ } else { \
+ cs = &fs->per_char[((row - fs->min_byte1) * \
+ (fs->max_char_or_byte2 - \
+ fs->min_char_or_byte2 + 1)) + \
+ (col - fs->min_char_or_byte2)]; \
+ if (CI_NONEXISTCHAR(cs)) cs = def; \
+ } \
+ } \
+}
+
+#define CI_GET_DEFAULT_INFO_2D(fs,cs) \
+{ \
+ unsigned int r = (fs->default_char >> 8); \
+ unsigned int c = (fs->default_char & 0xff); \
+ CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); \
+}
+
+
+#ifdef MUSTCOPY
+
+/* for when 32-bit alignment is not good enough */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+ { dpy->bufptr -= 4; Data32 (dpy, (char *) &(srcvar), 4); }
+
+#else
+
+/* srcvar must be a variable for large architecture version */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+ { *(CARD32 *)(dstaddr) = (srcvar); }
+
+#endif /* MUSTCOPY */
+
+typedef struct _XInternalAsync {
+ struct _XInternalAsync *next;
+ /*
+ * handler arguments:
+ * rep is the generic reply that caused this handler
+ * to be invoked. It must also be passed to _XGetAsyncReply.
+ * buf and len are opaque values that must be passed to
+ * _XGetAsyncReply or _XGetAsyncData.
+ * data is the closure stored in this struct.
+ * The handler returns True iff it handled this reply.
+ */
+ Bool (*handler)(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ XPointer /* data */
+ );
+ XPointer data;
+} _XAsyncHandler;
+
+typedef struct _XAsyncEState {
+ unsigned long min_sequence_number;
+ unsigned long max_sequence_number;
+ unsigned char error_code;
+ unsigned char major_opcode;
+ unsigned short minor_opcode;
+ unsigned char last_error_received;
+ int error_count;
+} _XAsyncErrorState;
+
+extern void _XDeqAsyncHandler(Display *dpy, _XAsyncHandler *handler);
+#define DeqAsyncHandler(dpy,handler) { \
+ if (dpy->async_handlers == (handler)) \
+ dpy->async_handlers = (handler)->next; \
+ else \
+ _XDeqAsyncHandler(dpy, handler); \
+ }
+
+typedef void (*FreeFuncType) (
+ Display* /* display */
+);
+
+typedef int (*FreeModmapType) (
+ XModifierKeymap* /* modmap */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XFreeFuncs {
+ FreeFuncType atoms; /* _XFreeAtomTable */
+ FreeModmapType modifiermap; /* XFreeModifierMap */
+ FreeFuncType key_bindings; /* _XFreeKeyBindings */
+ FreeFuncType context_db; /* _XFreeContextDB */
+ FreeFuncType defaultCCCs; /* _XcmsFreeDefaultCCCs */
+ FreeFuncType clientCmaps; /* _XcmsFreeClientCmaps */
+ FreeFuncType intensityMaps; /* _XcmsFreeIntensityMaps */
+ FreeFuncType im_filters; /* _XFreeIMFilters */
+ FreeFuncType xkb; /* _XkbFreeInfo */
+} _XFreeFuncRec;
+
+/* types for InitExt.c */
+typedef int (*CreateGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CopyGCType)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FlushGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FreeGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CreateFontType) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FreeFontType) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CloseDisplayType) (
+ Display* /* display */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*ErrorType) (
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+);
+
+typedef char* (*ErrorStringType) (
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+);
+
+typedef void (*PrintErrorType)(
+ Display* /* display */,
+ XErrorEvent* /* ev */,
+ void* /* fp */
+);
+
+typedef void (*BeforeFlushType)(
+ Display* /* display */,
+ XExtCodes* /* codes */,
+ _Xconst char* /* data */,
+ long /* len */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XExten { /* private to extension mechanism */
+ struct _XExten *next; /* next in list */
+ XExtCodes codes; /* public information, all extension told */
+ CreateGCType create_GC; /* routine to call when GC created */
+ CopyGCType copy_GC; /* routine to call when GC copied */
+ FlushGCType flush_GC; /* routine to call when GC flushed */
+ FreeGCType free_GC; /* routine to call when GC freed */
+ CreateFontType create_Font; /* routine to call when Font created */
+ FreeFontType free_Font; /* routine to call when Font freed */
+ CloseDisplayType close_display; /* routine to call when connection closed */
+ ErrorType error; /* who to call when an error occurs */
+ ErrorStringType error_string; /* routine to supply error string */
+ char *name; /* name of this extension */
+ PrintErrorType error_values; /* routine to supply error values */
+ BeforeFlushType before_flush; /* routine to call when sending data */
+ struct _XExten *next_flush; /* next in list of those with flushes */
+} _XExtension;
+
+/* extension hooks */
+
+#ifdef DataRoutineIsProcedure
+extern void Data(Display *dpy, char *data, long len);
+#endif
+extern int _XError(
+ Display* /* dpy */,
+ xError* /* rep */
+);
+extern int _XIOError(
+ Display* /* dpy */
+);
+extern int (*_XIOErrorFunction)(
+ Display* /* dpy */
+);
+extern int (*_XErrorFunction)(
+ Display* /* dpy */,
+ XErrorEvent* /* error_event */
+);
+extern void _XEatData(
+ Display* /* dpy */,
+ unsigned long /* n */
+);
+extern char *_XAllocScratch(
+ Display* /* dpy */,
+ unsigned long /* nbytes */
+);
+extern char *_XAllocTemp(
+ Display* /* dpy */,
+ unsigned long /* nbytes */
+);
+extern void _XFreeTemp(
+ Display* /* dpy */,
+ char* /* buf */,
+ unsigned long /* nbytes */
+);
+extern Visual *_XVIDtoVisual(
+ Display* /* dpy */,
+ VisualID /* id */
+);
+extern unsigned long _XSetLastRequestRead(
+ Display* /* dpy */,
+ xGenericReply* /* rep */
+);
+extern int _XGetHostname(
+ char* /* buf */,
+ int /* maxlen */
+);
+extern Screen *_XScreenOfWindow(
+ Display* /* dpy */,
+ Window /* w */
+);
+extern Bool _XAsyncErrorHandler(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ XPointer /* data */
+);
+extern char *_XGetAsyncReply(
+ Display* /* dpy */,
+ char* /* replbuf */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ int /* extra */,
+ Bool /* discard */
+);
+extern void _XGetAsyncData(
+ Display* /* dpy */,
+ char * /* data */,
+ char * /* buf */,
+ int /* len */,
+ int /* skip */,
+ int /* datalen */,
+ int /* discardtotal */
+);
+extern void _XFlush(
+ Display* /* dpy */
+);
+extern int _XEventsQueued(
+ Display* /* dpy */,
+ int /* mode */
+);
+extern void _XReadEvents(
+ Display* /* dpy */
+);
+extern int _XRead(
+ Display* /* dpy */,
+ char* /* data */,
+ long /* size */
+);
+extern void _XReadPad(
+ Display* /* dpy */,
+ char* /* data */,
+ long /* size */
+);
+extern void _XSend(
+ Display* /* dpy */,
+ _Xconst char* /* data */,
+ long /* size */
+);
+extern Status _XReply(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ int /* extra */,
+ Bool /* discard */
+);
+extern void _XEnq(
+ Display* /* dpy */,
+ xEvent* /* event */
+);
+extern void _XDeq(
+ Display* /* dpy */,
+ _XQEvent* /* prev */,
+ _XQEvent* /* qelt */
+);
+
+extern Bool _XUnknownWireEvent(
+ Display* /* dpy */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+extern Status _XUnknownNativeEvent(
+ Display* /* dpy */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XWireToEvent(Display *dpy, XEvent *re, xEvent *event);
+extern Bool _XDefaultWireError(Display *display, XErrorEvent *he, xError *we);
+extern Bool _XPollfdCacheInit(Display *dpy);
+extern void _XPollfdCacheAdd(Display *dpy, int fd);
+extern void _XPollfdCacheDel(Display *dpy, int fd);
+extern XID _XAllocID(Display *dpy);
+extern void _XAllocIDs(Display *dpy, XID *ids, int count);
+
+extern int _XFreeExtData(
+ XExtData* /* extension */
+);
+
+extern int (*XESetCreateGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCopyGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFlushGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFreeGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCreateFont(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetFreeFont(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetCloseDisplay(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XExtCodes*
+);
+
+extern int (*XESetError(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+ ) /* proc */
+))(
+ Display*, xError*, XExtCodes*, int*
+);
+
+extern char* (*XESetErrorString(
+ Display* /* display */,
+ int /* extension */,
+ char* (*) (
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+ ) /* proc */
+))(
+ Display*, int, XExtCodes*, char*, int
+);
+
+extern void (*XESetPrintErrorValues (
+ Display* /* display */,
+ int /* extension */,
+ void (*)(
+ Display* /* display */,
+ XErrorEvent* /* ev */,
+ void* /* fp */
+ ) /* proc */
+))(
+ Display*, XErrorEvent*, void*
+);
+
+extern Bool (*XESetWireToEvent(
+ Display* /* display */,
+ int /* event_number */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XEvent*, xEvent*
+);
+
+extern Status (*XESetEventToWire(
+ Display* /* display */,
+ int /* event_number */,
+ Status (*) (
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XEvent*, xEvent*
+);
+
+extern Bool (*XESetWireToError(
+ Display* /* display */,
+ int /* error_number */,
+ Bool (*) (
+ Display* /* display */,
+ XErrorEvent* /* he */,
+ xError* /* we */
+ ) /* proc */
+))(
+ Display*, XErrorEvent*, xError*
+);
+
+extern void (*XESetBeforeFlush(
+ Display* /* display */,
+ int /* error_number */,
+ void (*) (
+ Display* /* display */,
+ XExtCodes* /* codes */,
+ _Xconst char* /* data */,
+ long /* len */
+ ) /* proc */
+))(
+ Display*, XExtCodes*, _Xconst char*, long
+);
+
+/* internal connections for IMs */
+
+typedef void (*_XInternalConnectionProc)(
+ Display* /* dpy */,
+ int /* fd */,
+ XPointer /* call_data */
+);
+
+
+extern Status _XRegisterInternalConnection(
+ Display* /* dpy */,
+ int /* fd */,
+ _XInternalConnectionProc /* callback */,
+ XPointer /* call_data */
+);
+
+extern void _XUnregisterInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+/* Display structure has pointers to these */
+
+struct _XConnectionInfo { /* info from _XRegisterInternalConnection */
+ int fd;
+ _XInternalConnectionProc read_callback;
+ XPointer call_data;
+ XPointer *watch_data; /* set/used by XConnectionWatchProc */
+ struct _XConnectionInfo *next;
+};
+
+struct _XConnWatchInfo { /* info from XAddConnectionWatch */
+ XConnectionWatchProc fn;
+ XPointer client_data;
+ struct _XConnWatchInfo *next;
+};
+
+#ifdef __UNIXOS2__
+extern char* __XOS2RedirRoot(
+ char*
+);
+#endif
+
+extern int _XTextHeight(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int _XTextHeight16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+#if defined(WIN32)
+
+extern int _XOpenFile(
+ _Xconst char* /* path */,
+ int /* flags */
+);
+
+extern int _XOpenFileMode(
+ _Xconst char* /* path */,
+ int /* flags */,
+ mode_t /* mode */
+);
+
+extern void* _XFopenFile(
+ _Xconst char* /* path */,
+ _Xconst char* /* mode */
+);
+
+extern int _XAccessFile(
+ _Xconst char* /* path */
+);
+#else
+#define _XOpenFile(path,flags) open(path,flags)
+#define _XOpenFileMode(path,flags,mode) open(path,flags,mode)
+#define _XFopenFile(path,mode) fopen(path,mode)
+#endif
+
+/* EvToWire.c */
+extern Status _XEventToWire(Display *dpy, XEvent *re, xEvent *event);
+
+extern int _XF86LoadQueryLocaleFont(
+ Display* /* dpy */,
+ _Xconst char* /* name*/,
+ XFontStruct** /* xfp*/,
+ Font* /* fidp */
+);
+
+extern void _XProcessWindowAttributes (
+ register Display *dpy,
+ xChangeWindowAttributesReq *req,
+ register unsigned long valuemask,
+ register XSetWindowAttributes *attributes);
+
+extern int _XDefaultError(
+ Display *dpy,
+ XErrorEvent *event);
+
+extern int _XDefaultIOError(
+ Display *dpy);
+
+extern void _XSetClipRectangles (
+ register Display *dpy,
+ GC gc,
+ int clip_x_origin, int clip_y_origin,
+ XRectangle *rectangles,
+ int n,
+ int ordering);
+
+Status _XGetWindowAttributes(
+ register Display *dpy,
+ Window w,
+ XWindowAttributes *attr);
+
+int _XPutBackEvent (
+ register Display *dpy,
+ register XEvent *event);
+
+_XFUNCPROTOEND
+
+#endif /* _XLIBINT_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xlocale.h b/packages/xorg-lib/xorg-headers-native/X11/Xlocale.h
new file mode 100644
index 0000000000..61d2f7a846
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xlocale.h
@@ -0,0 +1,61 @@
+/* $Xorg: Xlocale.h,v 1.4 2001/02/09 02:03:38 xorgcvs Exp $ */
+/*
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/lib/X11/Xlocale.h,v 1.4 2001/12/14 19:54:09 dawes Exp $ */
+
+#ifndef _XLOCALE_H_
+#define _XLOCALE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_LOCALE
+#include <locale.h>
+#else
+
+#define LC_ALL 0
+#define LC_COLLATE 1
+#define LC_CTYPE 2
+#define LC_MONETARY 3
+#define LC_NUMERIC 4
+#define LC_TIME 5
+
+_XFUNCPROTOBEGIN
+extern char *_Xsetlocale(
+ int /* category */,
+ _Xconst char* /* name */
+);
+_XFUNCPROTOEND
+
+#define setlocale _Xsetlocale
+
+#include <stddef.h>
+
+#endif /* X_LOCALE */
+
+#endif /* _XLOCALE_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xmd.h b/packages/xorg-lib/xorg-headers-native/X11/Xmd.h
new file mode 100644
index 0000000000..06fd2bf300
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xmd.h
@@ -0,0 +1,208 @@
+/* $XdotOrg: proto/X11/Xmd.h,v 1.4 2006/04/20 01:24:25 alanc Exp $ */
+/* $XFree86: xc/include/Xmd.h,v 3.18tsi Exp $ */
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#ifndef XMD_H
+#define XMD_H 1
+/* $Xorg: Xmd.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+ * Xmd.h: MACHINE DEPENDENT DECLARATIONS.
+ */
+
+/*
+ * Special per-machine configuration flags.
+ */
+#if defined(sun) && defined(__SVR4)
+# include <sys/isa_defs.h> /* Solaris: defines _LP64 if necessary */
+#endif
+
+#ifdef CRAY
+#define WORD64 /* 64-bit architecture */
+#endif
+#if defined (_LP64) || \
+ defined(__alpha) || defined(__alpha__) || \
+ defined(__ia64__) || defined(ia64) || \
+ defined(__sparc64__) || \
+ defined(__s390x__) || \
+ (defined(__hppa__) && defined(__LP64__)) || \
+ defined(__amd64__) || defined(amd64) || \
+ defined(__powerpc64__) || \
+ (defined(sgi) && (_MIPS_SZLONG == 64))
+#define LONG64 /* 32/64-bit architecture */
+#endif
+
+/*
+ * Stuff to handle large architecture machines; the constants were generated
+ * on a 32-bit machine and must correspond to the protocol.
+ */
+#ifdef WORD64
+#define MUSTCOPY
+#endif /* WORD64 */
+
+
+/*
+ * Definition of macro used to set constants for size of network structures;
+ * machines with preprocessors that can't handle all of the sz_ symbols
+ * can define this macro to be sizeof(x) if and only if their compiler doesn't
+ * pad out structures (esp. the xTextElt structure which contains only two
+ * one-byte fields). Network structures should always define sz_symbols.
+ *
+ * The sz_ prefix is used instead of something more descriptive so that the
+ * symbols are no more than 32 characters long (which causes problems for some
+ * compilers and preprocessors).
+ *
+ * The extra indirection in the __STDC__ case is to get macro arguments to
+ * expand correctly before the concatenation, rather than afterward.
+ */
+#if ((defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)) && !defined(UNIXCPP)) || defined(ANSICPP)
+#define _SIZEOF(x) sz_##x
+#define SIZEOF(x) _SIZEOF(x)
+#else
+#define SIZEOF(x) sz_/**/x
+#endif /* if ANSI C compiler else not */
+
+/*
+ * Bitfield suffixes for the protocol structure elements, if you
+ * need them. Note that bitfields are not guaranteed to be signed
+ * (or even unsigned) according to ANSI C.
+ */
+#ifdef WORD64
+typedef long INT64;
+typedef unsigned long CARD64;
+#define B32 :32
+#define B16 :16
+#ifdef UNSIGNEDBITFIELDS
+typedef unsigned int INT32;
+typedef unsigned int INT16;
+#else
+#ifdef __STDC__
+typedef signed int INT32;
+typedef signed int INT16;
+#else
+typedef int INT32;
+typedef int INT16;
+#endif
+#endif
+#else
+#define B32
+#define B16
+#ifdef LONG64
+typedef long INT64;
+typedef int INT32;
+#else
+typedef long INT32;
+#endif
+typedef short INT16;
+#endif
+
+#if defined(__STDC__) || defined(sgi) || defined(AIXV3)
+typedef signed char INT8;
+#else
+typedef char INT8;
+#endif
+
+#ifdef LONG64
+typedef unsigned long CARD64;
+typedef unsigned int CARD32;
+#else
+typedef unsigned long CARD32;
+#endif
+typedef unsigned short CARD16;
+typedef unsigned char CARD8;
+
+typedef CARD32 BITS32;
+typedef CARD16 BITS16;
+
+#ifndef I_NEED_OS2_H
+typedef CARD8 BYTE;
+typedef CARD8 BOOL;
+#else
+#define BYTE CARD8
+#define BOOL CARD8
+#endif
+
+/*
+ * definitions for sign-extending bitfields on 64-bit architectures
+ */
+#if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
+#define cvtINT8toInt(val) (((val) & 0x00000080) ? ((val) | 0xffffffffffffff00) : (val))
+#define cvtINT16toInt(val) (((val) & 0x00008000) ? ((val) | 0xffffffffffff0000) : (val))
+#define cvtINT32toInt(val) (((val) & 0x80000000) ? ((val) | 0xffffffff00000000) : (val))
+#define cvtINT8toShort(val) cvtINT8toInt(val)
+#define cvtINT16toShort(val) cvtINT16toInt(val)
+#define cvtINT32toShort(val) cvtINT32toInt(val)
+#define cvtINT8toLong(val) cvtINT8toInt(val)
+#define cvtINT16toLong(val) cvtINT16toInt(val)
+#define cvtINT32toLong(val) cvtINT32toInt(val)
+#else
+#define cvtINT8toInt(val) (val)
+#define cvtINT16toInt(val) (val)
+#define cvtINT32toInt(val) (val)
+#define cvtINT8toShort(val) (val)
+#define cvtINT16toShort(val) (val)
+#define cvtINT32toShort(val) (val)
+#define cvtINT8toLong(val) (val)
+#define cvtINT16toLong(val) (val)
+#define cvtINT32toLong(val) (val)
+#endif /* WORD64 and UNSIGNEDBITFIELDS */
+
+
+
+#ifdef MUSTCOPY
+/*
+ * This macro must not cast or else pointers will get aligned and be wrong
+ */
+#define NEXTPTR(p,t) (((char *) p) + SIZEOF(t))
+#else /* else not MUSTCOPY, this is used for 32-bit machines */
+/*
+ * this version should leave result of type (t *), but that should only be
+ * used when not in MUSTCOPY
+ */
+#define NEXTPTR(p,t) (((t *)(p)) + 1)
+#endif /* MUSTCOPY - used machines whose C structs don't line up with proto */
+
+#endif /* XMD_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xos.h b/packages/xorg-lib/xorg-headers-native/X11/Xos.h
new file mode 100644
index 0000000000..83be4c638b
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xos.h
@@ -0,0 +1,296 @@
+/*
+ * $XdotOrg: proto/X11/Xos.h,v 1.9 2006/04/20 01:24:25 alanc Exp $
+ * $Xorg: Xos.h,v 1.6 2001/02/09 02:03:22 xorgcvs Exp $
+ *
+ *
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+/* $XFree86: xc/include/Xos.h,v 3.41tsi Exp $ */
+
+/* This is a collection of things to try and minimize system dependencies
+ * in a "significant" number of source files.
+ */
+
+#ifndef _XOS_H_
+#define _XOS_H_
+
+#include <X11/Xosdefs.h>
+
+/*
+ * Get major data types (esp. caddr_t)
+ */
+
+#ifdef USG
+#ifndef __TYPES__
+#ifdef CRAY
+#define word word_t
+#endif /* CRAY */
+#include <sys/types.h> /* forgot to protect it... */
+#define __TYPES__
+#endif /* __TYPES__ */
+#else /* USG */
+#if defined(_POSIX_SOURCE) && defined(MOTOROLA)
+#undef _POSIX_SOURCE
+#include <sys/types.h>
+#define _POSIX_SOURCE
+#else
+# include <sys/types.h>
+#endif
+#endif /* USG */
+
+#ifndef sgi
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+#endif
+
+#ifdef _SEQUENT_
+/*
+ * in_systm.h compatibility between SysV and BSD types u_char u_short u_long
+ * select.h for typedef of args to select, fd_set, may use SVR4 later
+ */
+#include <netinet/in_systm.h>
+#include <sys/select.h>
+#endif /* _SEQUENT_ */
+
+/*
+ * Just about everyone needs the strings routines. We provide both forms here,
+ * index/rindex and strchr/strrchr, so any systems that don't provide them all
+ * need to have #defines here.
+ *
+ * These macros are defined this way, rather than, e.g.:
+ * #defined index(s,c) strchr(s,c)
+ * because someone might be using them as function pointers, and such
+ * a change would break compatibility for anyone who's relying on them
+ * being the way they currently are. So we're stuck with them this way,
+ * which can be really inconvenient. :-(
+ */
+
+#ifndef X_NOT_STDC_ENV
+
+#include <string.h>
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <strings.h>
+#else
+#if (defined(sun) && defined(__SVR4))
+#include <strings.h>
+#endif
+#ifdef __STDC__
+#ifndef index
+#define index(s,c) (strchr((s),(c)))
+#endif
+#ifndef rindex
+#define rindex(s,c) (strrchr((s),(c)))
+#endif
+#else
+#ifndef index
+#define index strchr
+#endif
+#ifndef rindex
+#define rindex strrchr
+#endif
+#endif
+#endif
+
+#else
+
+#ifdef SYSV
+#if defined(clipper) || defined(__clipper__)
+#include <malloc.h>
+#endif
+#include <string.h>
+#define index strchr
+#define rindex strrchr
+#else
+#include <strings.h>
+#define strchr index
+#define strrchr rindex
+#endif
+
+#endif /* X_NOT_STDC_ENV */
+
+/*
+ * strerror()
+ */
+#if (defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4)) || defined(macII)) && !defined(__GLIBC__)
+#ifndef strerror
+extern char *sys_errlist[];
+extern int sys_nerr;
+#define strerror(n) \
+ (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error")
+#endif
+#endif
+
+/*
+ * Get open(2) constants
+ */
+#if defined(X_NOT_POSIX)
+#include <fcntl.h>
+#if defined(USL) || defined(CRAY) || defined(MOTOROLA) || (defined(i386) && (defined(SYSV) || defined(SVR4))) || defined(__sxg__)
+#include <unistd.h>
+#endif
+#ifdef WIN32
+#include <X11/Xw32defs.h>
+#else
+#include <sys/file.h>
+#endif
+#else /* X_NOT_POSIX */
+#if !defined(_POSIX_SOURCE) && defined(macII)
+#define _POSIX_SOURCE
+#include <fcntl.h>
+#include <unistd.h>
+#undef _POSIX_SOURCE
+#else
+#include <fcntl.h>
+#include <unistd.h>
+#endif
+#endif /* X_NOT_POSIX else */
+
+/*
+ * Get struct timeval and struct tm
+ */
+
+#if defined(SYSV) && !defined(_SEQUENT_)
+
+#ifndef USL
+#include <sys/time.h>
+#endif
+#include <time.h>
+#ifdef CRAY
+#undef word
+#endif /* CRAY */
+#if defined(USG) && !defined(CRAY) && !defined(MOTOROLA) && !defined(uniosu) && !defined(__sxg__) && !defined(clipper) && !defined(__clipper__)
+struct timeval {
+ long tv_sec;
+ long tv_usec;
+};
+#ifndef USL_SHARELIB
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+#endif /* USL_SHARELIB */
+#endif /* USG */
+
+#ifdef _SEQUENT_
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+#endif /* _SEQUENT_ */
+
+#else /* not SYSV */
+
+#if defined(_POSIX_SOURCE) && defined(SVR4)
+/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
+#undef _POSIX_SOURCE
+#include <sys/time.h>
+#define _POSIX_SOURCE
+#elif defined(WIN32)
+#include <time.h>
+#if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+#define _TIMEVAL_DEFINED
+#endif
+#include <sys/timeb.h>
+#define gettimeofday(t) \
+{ \
+ struct _timeb _gtodtmp; \
+ _ftime (&_gtodtmp); \
+ (t)->tv_sec = _gtodtmp.time; \
+ (t)->tv_usec = _gtodtmp.millitm * 1000; \
+}
+#elif defined(_SEQUENT_) || defined(Lynx)
+#include <time.h>
+#elif defined (__QNX__)
+typedef unsigned long fd_mask;
+/* Make sure we get 256 bit select masks */
+#define FD_SETSIZE 256
+#include <sys/select.h>
+#include <sys/time.h>
+#include <time.h>
+#else
+#include <sys/time.h>
+#include <time.h>
+#endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
+
+#endif /* SYSV */
+
+/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
+#if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
+#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+#else
+#if defined(SVR4) || defined(VMS) || defined(WIN32)
+#define X_GETTIMEOFDAY(t) gettimeofday(t)
+#else
+#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+#endif
+#endif /* XPG4 else */
+
+#ifdef __UNIXOS2__
+typedef unsigned long fd_mask;
+#include <limits.h>
+#define MAX_PATH _POSIX_PATH_MAX
+#endif
+
+#ifdef __GNU__
+#define PATH_MAX 4096
+#define MAXPATHLEN 4096
+#define OPEN_MAX 256 /* We define a reasonable limit. */
+#endif
+
+/* use POSIX name for signal */
+#if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) && !defined(ISC)
+#define SIGCHLD SIGCLD
+#endif
+
+#ifdef ISC
+#include <sys/bsdtypes.h>
+#include <sys/limits.h>
+#define NGROUPS 16
+#endif
+
+#if defined(ISC) || defined(__UNIXOS2__) || \
+ (defined(__linux__) && !defined(__GLIBC__)) || \
+ (defined(__QNX__) && !defined(UNIXCONN))
+/*
+ * Some OS's may not have this
+ */
+
+#define X_NO_SYS_UN 1
+
+struct sockaddr_un {
+ short sun_family;
+ char sun_path[108];
+};
+#endif
+
+#include <X11/Xarch.h>
+
+#endif /* _XOS_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xos_r.h b/packages/xorg-lib/xorg-headers-native/X11/Xos_r.h
new file mode 100644
index 0000000000..694f7a0efa
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xos_r.h
@@ -0,0 +1,1160 @@
+/* $Xorg: Xos_r.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/* $XdotOrg: proto/X11/Xos_r.h,v 1.6 2006/04/20 01:24:25 alanc Exp $ */
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+*/
+/* $XFree86: xc/include/Xos_r.h,v 1.18tsi Exp $ */
+
+/*
+ * Various and sundry Thread-Safe functions used by X11, Motif, and CDE.
+ *
+ * Use this file in MT-safe code where you would have included
+ * <dirent.h> for readdir()
+ * <grp.h> for getgrgid() or getgrnam()
+ * <netdb.h> for gethostbyname(), gethostbyaddr(), or getservbyname()
+ * <pwd.h> for getpwnam() or getpwuid()
+ * <string.h> for strtok()
+ * <time.h> for asctime(), ctime(), localtime(), or gmtime()
+ * <unistd.h> for getlogin() or ttyname()
+ * or their thread-safe analogs.
+ *
+ * If you are on a platform that defines XTHREADS but does not have
+ * MT-safe system API (e.g. UnixWare) you must define _Xos_processLock
+ * and _Xos_processUnlock macros before including this header. If
+ * you are on OSF/1 V3.2 and plan to use readdir(), you must also define
+ * _Xos_isThreadInitialized. For convenience XOS_USE_XLIB_LOCKING or
+ * XOS_USE_XT_LOCKING may be defined to obtain either Xlib-only or
+ * Xt-based versions of these macros. These macros won't result in
+ * truly thread-safe calls, but they are better than nothing. If you
+ * do not want locking in this situation define XOS_USE_NO_LOCKING.
+ *
+ * NOTE: On systems lacking appropriate _r functions Gethostbyname(),
+ * Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ * protocol lists!
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ * Getgrnam() do NOT copy the list of group members!
+ *
+ * This header is nominally intended to simplify porting X11, Motif, and
+ * CDE; it may be useful to other people too. The structure below is
+ * complicated, mostly because P1003.1c (the IEEE POSIX Threads spec)
+ * went through lots of drafts, and some vendors shipped systems based
+ * on draft API that were changed later. Unfortunately POSIX did not
+ * provide a feature-test macro for distinguishing each of the drafts.
+ */
+
+/*
+ * This header has several parts. Search for "Effective prototypes"
+ * to locate the beginning of a section.
+ */
+
+/* This header can be included multiple times with different defines! */
+#ifndef _XOS_R_H_
+# define _XOS_R_H_
+
+# include <X11/Xos.h>
+# include <X11/Xfuncs.h>
+
+# ifndef X_NOT_POSIX
+# ifdef _POSIX_SOURCE
+# include <limits.h>
+# else
+# define _POSIX_SOURCE
+# include <limits.h>
+# undef _POSIX_SOURCE
+# endif
+# ifndef LINE_MAX
+# define X_LINE_MAX 2048
+# else
+# define X_LINE_MAX LINE_MAX
+# endif
+# endif
+#endif /* _XOS_R_H */
+
+#ifndef WIN32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+# if defined(XOS_USE_XLIB_LOCKING)
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+typedef struct _LockInfoRec *LockInfoPtr;
+extern LockInfoPtr _Xglobal_lock;
+# endif
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized (_Xglobal_lock)
+# endif
+# if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */, char * /* file */, int /* line */
+# endif
+);
+extern void (*_XUnlockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */, char * /* file */, int /* line */
+# endif
+);
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock \
+ (_XLockMutex_fn ? (*_XLockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock \
+ (_XUnlockMutex_fn ? (*_XUnlockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+# endif
+# else
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */
+# endif
+);
+extern void (*_XUnlockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */
+# endif
+);
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock \
+ (_XLockMutex_fn ? ((*_XLockMutex_fn)(_Xglobal_lock), 0) : 0)
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock \
+ (_XUnlockMutex_fn ? ((*_XUnlockMutex_fn)(_Xglobal_lock), 0) : 0)
+# endif
+# endif
+# elif defined(XOS_USE_XT_LOCKING)
+# ifndef _XtThreadsI_h
+extern void (*_XtProcessLock)(void);
+# endif
+# ifndef _XtintrinsicP_h
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void XtProcessLock(
+# if NeedFunctionPrototypes
+ void
+# endif
+);
+extern void XtProcessUnlock(
+# if NeedFunctionPrototypes
+ void
+# endif
+);
+# endif
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized _XtProcessLock
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock XtProcessLock()
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock XtProcessUnlock()
+# endif
+# elif defined(XOS_USE_NO_LOCKING)
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized 0
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock 0
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock 0
+# endif
+# endif
+
+#endif /* !defined WIN32 */
+
+/*
+ * Solaris defines the POSIX thread-safe feature test macro, but
+ * uses the older SVR4 thread-safe functions unless the POSIX ones
+ * are specifically requested. Fix the feature test macro.
+ */
+#if defined(sun) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && \
+ (_POSIX_C_SOURCE - 0 < 199506L) && !defined(_POSIX_PTHREAD_SEMANTICS)
+# undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+/*
+ * LynxOS 3.1 defines _POSIX_THREAD_SAFE_FUNCTIONS but
+ * getpwuid_r has different semantics than defined by POSIX
+ */
+#if defined(Lynx) && defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+# undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+
+/***** <pwd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <pwd.h> wrappers:
+ *
+ * #define X_INCLUDE_PWD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetpwparams;
+ *
+ * struct passwd* _XGetpwnam(const char *name, _Xgetpwparams);
+ * struct passwd* _XGetpwuid(uid_t uid, _Xgetpwparams);
+ */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# include <pwd.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_PWDAPI)
+# define XOS_USE_MTSAFE_PWDAPI 1
+# endif
+#endif
+
+#undef X_NEEDS_PWPARAMS
+#if !defined(X_INCLUDE_PWD_H) || defined(_XOS_INCLUDED_PWD_H)
+/* Do nothing */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+# if defined(X_NOT_POSIX) && !defined(i386) && !defined(SYSV)
+extern struct passwd *getpwuid(), *getpwnam();
+# endif
+typedef int _Xgetpwparams; /* dummy */
+# define _XGetpwuid(u,p) getpwuid((u))
+# define _XGetpwnam(u,p) getpwnam((u))
+
+#elif !defined(XOS_USE_MTSAFE_PWDAPI) || defined(XNO_MTSAFE_PWDAPI)
+/* UnixWare 2.0, or other systems with thread support but no _r API. */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[1024];
+ struct passwd* pwp;
+ size_t len;
+} _Xgetpwparams;
+
+/*
+ * NetBSD and FreeBSD, at least, are missing several of the unixware passwd
+ * fields.
+ */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+ defined(__APPLE__) || defined(__DragonFly__)
+static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
+{
+ memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));
+
+ (p).pws.pw_name = (p).pwbuf;
+ (p).len = strlen((p).pwp->pw_name);
+ strcpy((p).pws.pw_name, (p).pwp->pw_name);
+
+ (p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_passwd);
+ strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd);
+
+ (p).pws.pw_class = (p).pws.pw_passwd + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_class);
+ strcpy((p).pws.pw_class, (p).pwp->pw_class);
+
+ (p).pws.pw_gecos = (p).pws.pw_class + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_gecos);
+ strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos);
+
+ (p).pws.pw_dir = (p).pws.pw_gecos + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_dir);
+ strcpy((p).pws.pw_dir, (p).pwp->pw_dir);
+
+ (p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_shell);
+ strcpy((p).pws.pw_shell, (p).pwp->pw_shell);
+
+ (p).pwp = &(p).pws;
+}
+
+#else
+# define _Xpw_copyPasswd(p) \
+ (memcpy(&(p).pws, (p).pwp, sizeof(struct passwd)), \
+ ((p).pws.pw_name = (p).pwbuf), \
+ ((p).len = strlen((p).pwp->pw_name)), \
+ strcpy((p).pws.pw_name, (p).pwp->pw_name), \
+ ((p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_passwd)), \
+ strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd), \
+ ((p).pws.pw_age = (p).pws.pw_passwd + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_age)), \
+ strcpy((p).pws.pw_age, (p).pwp->pw_age), \
+ ((p).pws.pw_comment = (p).pws.pw_age + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_comment)), \
+ strcpy((p).pws.pw_comment, (p).pwp->pw_comment), \
+ ((p).pws.pw_gecos = (p).pws.pw_comment + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_gecos)), \
+ strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos), \
+ ((p).pws.pw_dir = (p).pws.pw_comment + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_dir)), \
+ strcpy((p).pws.pw_dir, (p).pwp->pw_dir), \
+ ((p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_shell)), \
+ strcpy((p).pws.pw_shell, (p).pwp->pw_shell), \
+ ((p).pwp = &(p).pws), \
+ 0 )
+#endif
+# define _XGetpwuid(u,p) \
+( (_Xos_processLock), \
+ (((p).pwp = getpwuid((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+ (_Xos_processUnlock), \
+ (p).pwp )
+# define _XGetpwnam(u,p) \
+( (_Xos_processLock), \
+ (((p).pwp = getpwnam((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+ (_Xos_processUnlock), \
+ (p).pwp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__)
+/* SVR4 threads, AIX 4.2.0 and earlier and OSF/1 3.2 and earlier pthreads */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[X_LINE_MAX];
+} _Xgetpwparams;
+# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4) || defined(Lynx)
+# ifndef Lynx
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# else /* Lynx */
+# define _XGetpwuid(u,p) \
+((getpwuid_r(&(p).pws,(u),(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r(&(p).pws,(u),(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# endif
+# else /* SVR4 */
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# endif /* SVR4 */
+
+#else /* _POSIX_THREAD_SAFE_FUNCTIONS */
+/* Digital UNIX 4.0, but not (beta) T4.0-1 */
+# if defined(__osf__)
+/* OSF/1 V4.0 <pwd.h> doesn't declare the _P routines, breaking under C++. */
+extern int _Pgetpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **);
+extern int _Pgetpwnam_r(const char *, struct passwd *, char *, size_t, struct passwd **);
+# endif
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[X_LINE_MAX];
+ struct passwd* pwp;
+} _Xgetpwparams;
+typedef int _Xgetpwret;
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+#endif /* X_INCLUDE_PWD_H */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# define _XOS_INCLUDED_PWD_H
+#endif
+
+
+/***** <netdb.h> wrappers *****/
+
+/*
+ * Effective prototypes for <netdb.h> wrappers:
+ *
+ * NOTE: On systems lacking the appropriate _r functions Gethostbyname(),
+ * Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ * protocol lists!
+ *
+ * #define X_INCLUDE_NETDB_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgethostbynameparams;
+ * typedef ... _Xgetservbynameparams;
+ *
+ * struct hostent* _XGethostbyname(const char* name,_Xgethostbynameparams);
+ * struct hostent* _XGethostbyaddr(const char* addr, int len, int type,
+ * _Xgethostbynameparams);
+ * struct servent* _XGetservbyname(const char* name, const char* proto,
+ * _Xgetservbynameparams);
+ */
+
+#undef XTHREADS_NEEDS_BYNAMEPARAMS
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) \
+ && !defined(WIN32)
+# include <netdb.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_NETDBAPI)
+# define XOS_USE_MTSAFE_NETDBAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_NETDB_H) || defined(_XOS_INCLUDED_NETDB_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp) gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
+
+#elif !defined(XOS_USE_MTSAFE_NETDBAPI) || defined(XNO_MTSAFE_NETDBAPI)
+/* UnixWare 2.0, or other systems with thread support but no _r API. */
+/* WARNING: The h_addr_list and s_aliases values are *not* copied! */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+#include <sys/param.h>
+#endif
+
+typedef struct {
+ struct hostent hent;
+ char h_name[MAXHOSTNAMELEN];
+ struct hostent *hptr;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ char s_name[255];
+ char s_proto[255];
+ struct servent *sptr;
+} _Xgetservbynameparams;
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# define _Xg_copyHostent(hp) \
+ (memcpy(&(hp).hent, (hp).hptr, sizeof(struct hostent)), \
+ strcpy((hp).h_name, (hp).hptr->h_name), \
+ ((hp).hent.h_name = (hp).h_name), \
+ ((hp).hptr = &(hp).hent), \
+ 0 )
+# define _Xg_copyServent(sp) \
+ (memcpy(&(sp).sent, (sp).sptr, sizeof(struct servent)), \
+ strcpy((sp).s_name, (sp).sptr->s_name), \
+ ((sp).sent.s_name = (sp).s_name), \
+ strcpy((sp).s_proto, (sp).sptr->s_proto), \
+ ((sp).sent.s_proto = (sp).s_proto), \
+ ((sp).sptr = &(sp).sent), \
+ 0 )
+# define _XGethostbyname(h,hp) \
+ ((_Xos_processLock), \
+ (((hp).hptr = gethostbyname((h))) ? _Xg_copyHostent(hp) : 0), \
+ (_Xos_processUnlock), \
+ (hp).hptr )
+# define _XGethostbyaddr(a,al,t,hp) \
+ ((_Xos_processLock), \
+ (((hp).hptr = gethostbyaddr((a),(al),(t))) ? _Xg_copyHostent(hp) : 0), \
+ (_Xos_processUnlock), \
+ (hp).hptr )
+# define _XGetservbyname(s,p,sp) \
+ ((_Xos_processLock), \
+ (((sp).sptr = getservbyname((s),(p))) ? _Xg_copyServent(sp) : 0), \
+ (_Xos_processUnlock), \
+ (sp).sptr )
+
+#elif defined(XUSE_NETDB_R_API)
+/*
+ * POSIX does not specify _r equivalents for <netdb.h> API, but some
+ * vendors provide them anyway. Use them only when explicitly asked.
+ */
+# ifdef _POSIX_REENTRANT_FUNCTIONS
+# ifndef _POSIX_THREAD_SAFE_FUNCTIONS
+# if defined(AIXV3) || defined(AIXV4) || defined(__osf__)
+# define X_POSIX_THREAD_SAFE_FUNCTIONS 1
+# endif
+# endif
+# endif
+# ifdef _POSIX_THREAD_SAFE_FUNCTIONS
+# define X_POSIX_THREAD_SAFE_FUNCTIONS 1
+# endif
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# ifndef X_POSIX_THREAD_SAFE_FUNCTIONS
+typedef struct {
+ struct hostent hent;
+ char hbuf[X_LINE_MAX];
+ int herr;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ char sbuf[X_LINE_MAX];
+} _Xgetservbynameparams;
+# define _XGethostbyname(h,hp) \
+ gethostbyname_r((h),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+# define _XGethostbyaddr(a,al,t,hp) \
+ gethostbyaddr_r((a),(al),(t),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+# define _XGetservbyname(s,p,sp) \
+ getservbyname_r((s),(p),&(sp).sent,(sp).sbuf,sizeof((sp).sbuf))
+# else
+typedef struct {
+ struct hostent hent;
+ struct hostent_data hdata;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ struct servent_data sdata;
+} _Xgetservbynameparams;
+# define _XGethostbyname(h,hp) \
+ (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \
+ ((gethostbyname_r((h),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+# define _XGethostbyaddr(a,al,t,hp) \
+ (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \
+ ((gethostbyaddr_r((a),(al),(t),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+# define _XGetservbyname(s,p,sp) \
+ (bzero((char*)&(sp).sdata,sizeof((sp).sdata)), \
+ ((getservbyname_r((s),(p),&(sp).sent,&(sp).sdata) == -1) ? NULL : &(sp).sent) )
+# endif
+# ifdef X_POSIX_THREAD_SAFE_FUNCTIONS
+# undef X_POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+
+#else
+/* The regular API is assumed to be MT-safe under POSIX. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp) gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
+#endif /* X_INCLUDE_NETDB_H */
+
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H)
+# define _XOS_INCLUDED_NETDB_H
+#endif
+
+
+/***** <dirent.h> wrappers *****/
+
+/*
+ * Effective prototypes for <dirent.h> wrappers:
+ *
+ * #define X_INCLUDE_DIRENT_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xreaddirparams;
+ *
+ * struct dirent *_XReaddir(DIR *dir_pointer, _Xreaddirparams);
+ */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# include <sys/types.h>
+# if !defined(X_NOT_POSIX) || defined(SYSV) || defined(USG)
+# include <dirent.h>
+# else
+# include <sys/dir.h>
+# ifndef dirent
+# define dirent direct
+# endif
+# endif
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_DIRENTAPI)
+# define XOS_USE_MTSAFE_DIRENTAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_DIRENT_H) || defined(_XOS_INCLUDED_DIRENT_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xreaddirparams; /* dummy */
+# define _XReaddir(d,p) readdir(d)
+
+#elif !defined(XOS_USE_MTSAFE_DIRENTAPI) || defined(XNO_MTSAFE_DIRENTAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+ struct dirent *result;
+ struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+ char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+ char buf[NAME_MAX];
+# else
+ char buf[255];
+# endif
+} _Xreaddirparams;
+
+# define _XReaddir(d,p) \
+ ( (_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#else
+typedef struct {
+ struct dirent *result;
+ struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+ char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+ char buf[NAME_MAX];
+# else
+ char buf[255];
+# endif
+} _Xreaddirparams;
+
+# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(AIXV3) || \
+ defined(AIXV4) || defined(__APPLE__)
+/* AIX defines the draft POSIX symbol, but uses the final API. */
+/* POSIX final API, returns (int)0 on success. */
+# if defined(__osf__)
+/* OSF/1 V4.0 <dirent.h> doesn't declare _Preaddir_r, breaking under C++. */
+extern int _Preaddir_r(DIR *, struct dirent *, struct dirent **);
+# endif
+# define _XReaddir(d,p) \
+ (readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result)
+# elif defined(_POSIX_REENTRANT_FUNCTIONS) && defined(__osf__)
+/*
+ * OSF/1 V3.2 readdir_r() will SEGV if the main program is not
+ * explicitly linked with -lc_r. The library REQUIREDLIBS don't help.
+ * Assume that if threads have been initialized we're linked properly.
+ */
+# define _XReaddir(d,p) \
+ ( (_Xos_isThreadInitialized) ? \
+ (readdir_r((d), &((p).dir_entry)) ? NULL : &((p).dir_entry)) : \
+ ((_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result) )
+# elif defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX draft API, returns (int)0 on success. */
+# define _XReaddir(d,p) \
+ (readdir_r((d),&((p).dir_entry)) ? NULL : &((p).dir_entry))
+# elif defined(SVR4)
+/* Pre-POSIX API, returns non-NULL on success. */
+# define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry))
+# else
+/* We have no idea what is going on. Fake it all using process locks. */
+# define _XReaddir(d,p) \
+ ( (_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# endif
+#endif /* X_INCLUDE_DIRENT_H */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# define _XOS_INCLUDED_DIRENT_H
+#endif
+
+
+/***** <unistd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <unistd.h> wrappers:
+ *
+ * #define X_INCLUDE_UNISTD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetloginparams;
+ * typedef ... _Xttynameparams;
+ *
+ * char *_XGetlogin(_Xgetloginparams);
+ * char *_XTtyname(int, _Xttynameparams);
+ */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+/* <unistd.h> already included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_UNISTDAPI)
+# define XOS_USE_MTSAFE_UNISTDAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_UNISTD_H) || defined(_XOS_INCLUDED_UNISTD_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetloginparams; /* dummy */
+typedef int _Xttynameparams; /* dummy */
+# define _XGetlogin(p) getlogin()
+# define _XTtyname(f) ttyname((f))
+
+#elif !defined(XOS_USE_MTSAFE_UNISTDAPI) || defined(XNO_MTSAFE_UNISTDAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+ char *result;
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+ char *result;
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) \
+ ( (_Xos_processLock), \
+ (((p).result = getlogin()) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+ ((p).buf[sizeof((p).buf)-1] = '\0'), \
+ ((p).result = (p).buf), 0) : 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+#define _XTtyname(f,p) \
+ ( (_Xos_processLock), \
+ (((p).result = ttyname(f)) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+ ((p).buf[sizeof((p).buf)-1] = '\0'), \
+ ((p).result = (p).buf), 0) : 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX API.
+ *
+ * extern int getlogin_r(char *, size_t);
+ * extern int ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) (getlogin_r((p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+# define _XTtyname(f,p) \
+ (ttyname_r((f), (p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+
+#else
+/* Pre-POSIX API.
+ *
+ * extern char *getlogin_r(char *, size_t);
+ * extern char *ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) getlogin_r((p).buf, sizeof((p).buf))
+# define _XTtyname(f,p) ttyname_r((f), (p).buf, sizeof((p).buf))
+#endif /* X_INCLUDE_UNISTD_H */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+# define _XOS_INCLUDED_UNISTD_H
+#endif
+
+
+/***** <string.h> wrappers *****/
+
+/*
+ * Effective prototypes for <string.h> wrappers:
+ *
+ * #define X_INCLUDE_STRING_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xstrtokparams;
+ *
+ * char *_XStrtok(char *, const char*, _Xstrtokparams);
+ */
+
+#if defined(X_INCLUDE_STRING_H) && !defined(_XOS_INCLUDED_STRING_H)
+/* <string.h> has already been included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_STRINGAPI)
+# define XOS_USE_MTSAFE_STRINGAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_STRING_H) || defined(_XOS_INCLUDED_STRING_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xstrtokparams; /* dummy */
+# define _XStrtok(s1,s2,p) \
+ ( p = 0, (void)p, strtok((s1),(s2)) )
+
+#elif !defined(XOS_USE_MTSAFE_STRINGAPI) || defined(XNO_MTSAFE_STRINGAPI)
+/* Systems with thread support but no _r API. */
+typedef char *_Xstrtokparams;
+# define _XStrtok(s1,s2,p) \
+ ( (_Xos_processLock), \
+ ((p) = strtok((s1),(s2))), \
+ (_Xos_processUnlock), \
+ (p) )
+
+#else
+/* POSIX or pre-POSIX API. */
+typedef char * _Xstrtokparams;
+# define _XStrtok(s1,s2,p) strtok_r((s1),(s2),&(p))
+#endif /* X_INCLUDE_STRING_H */
+
+
+/***** <time.h> wrappers *****/
+
+/*
+ * Effective prototypes for <time.h> wrappers:
+ *
+ * #define X_INCLUDE_TIME_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xatimeparams;
+ * typedef ... _Xctimeparams;
+ * typedef ... _Xgtimeparams;
+ * typedef ... _Xltimeparams;
+ *
+ * char *_XAsctime(const struct tm *, _Xatimeparams);
+ * char *_XCtime(const time_t *, _Xctimeparams);
+ * struct tm *_XGmtime(const time_t *, _Xgtimeparams);
+ * struct tm *_XLocaltime(const time_t *, _Xltimeparams);
+ */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# include <time.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_TIMEAPI)
+# define XOS_USE_MTSAFE_TIMEAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_TIME_H) || defined(_XOS_INCLUDED_TIME_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xatimeparams; /* dummy */
+# define _XAsctime(t,p) asctime((t))
+typedef int _Xctimeparams; /* dummy */
+# define _XCtime(t,p) ctime((t))
+typedef int _Xgtimeparams; /* dummy */
+# define _XGmtime(t,p) gmtime((t))
+typedef int _Xltimeparams; /* dummy */
+# define _XLocaltime(t,p) localtime((t))
+
+#elif !defined(XOS_USE_MTSAFE_TIMEAPI) || defined(XNO_MTSAFE_TIMEAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+# ifdef TIMELEN
+ char buf[TIMELEN];
+# else
+ char buf[26];
+# endif
+ char *result;
+} _Xctimeparams, _Xatimeparams;
+typedef struct {
+ struct tm buf;
+ struct tm *result;
+} _Xgtimeparams, _Xltimeparams;
+# define _XAsctime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = asctime((t))) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XCtime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = ctime((t))) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XGmtime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = gmtime(t)) ? \
+ (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XLocaltime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = localtime(t)) ? \
+ (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (defined(__osf__) || defined(hpV4))
+/* Returns (int)0 on success. OSF/1 v3.2, HP/UX 10
+ *
+ * extern int asctime_r(const struct tm *timeptr, char *buffer, int buflen);
+ * extern int ctime_r(const time_t *timer, char *buffer, int buflen);
+ * extern int gmtime_r(const time_t *timer, struct tm *result);
+ * extern int localtime_r(const time_t *timer, struct tm *result);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) (asctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XCtime(t,p) (ctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XGmtime(t,p) (gmtime_r((t),&(p)) ? NULL : &(p))
+# define _XLocaltime(t,p) (localtime_r((t),&(p)) ? NULL : &(p))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(sun)
+/* Returns NULL on failure. Solaris 2.5
+ *
+ * extern char *asctime_r(const struct tm *tm,char *buf, int buflen);
+ * extern char *ctime_r(const time_t *clock, char *buf, int buflen);
+ * extern struct tm *gmtime_r(const time_t *clock, struct tm *res);
+ * extern struct tm *localtime_r(const time_t *clock, struct tm *res);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) asctime_r((t),(p),sizeof((p)))
+# define _XCtime(t,p) ctime_r((t),(p),sizeof((p)))
+# define _XGmtime(t,p) gmtime_r((t),&(p))
+# define _XLocaltime(t,p) localtime_r((t),&(p))
+
+#else /* defined(_POSIX_THREAD_SAFE_FUNCTIONS) */
+/* POSIX final API. OSF/1 v4.0, AIX, etc.
+ *
+ * extern char *asctime_r(const struct tm *timeptr, char *buffer);
+ * extern char *ctime_r(const time_t *timer, char *buffer);
+ * extern struct tm *gmtime_r(const time_t *timer, struct tm *result);
+ * extern struct tm *localtime_r(const time_t *timer, struct tm *result);
+ */
+# if defined(__osf__)
+/* OSF/1 V4.0 <time.h> doesn't declare the _P routines, breaking under C++. */
+extern char *_Pasctime_r(const struct tm *, char *);
+extern char *_Pctime_r(const time_t *, char *);
+extern struct tm *_Plocaltime_r(const time_t *, struct tm *);
+# endif
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) asctime_r((t),(p))
+# define _XCtime(t,p) ctime_r((t),(p))
+# define _XGmtime(t,p) gmtime_r((t),&(p))
+# define _XLocaltime(t,p) localtime_r((t),&(p))
+#endif /* X_INCLUDE_TIME_H */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# define _XOS_INCLUDED_TIME_H
+#endif
+
+
+/***** <grp.h> wrappers *****/
+
+/*
+ * Effective prototypes for <grp.h> wrappers:
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ * Getgrnam() do NOT copy the list of group members!
+ *
+ * Remember that fgetgrent(), setgrent(), getgrent(), and endgrent()
+ * are not included in POSIX.
+ *
+ * #define X_INCLUDE_GRP_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetgrparams;
+ *
+ * struct group *_XGetgrgid(gid_t, _Xgetgrparams);
+ * struct group *_XGetgrnam(const char *, _Xgetgrparams);
+ */
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# include <grp.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_GRPAPI)
+# define XOS_USE_MTSAFE_GRPAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_GRP_H) || defined(_XOS_INCLUDED_GRP_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetgrparams; /* dummy */
+#define _XGetgrgid(g,p) getgrgid((g))
+#define _XGetgrnam(n,p) getgrnam((n))
+
+#elif !defined(XOS_USE_MTSAFE_GRPAPI) || defined(XNO_MTSAFE_GRPAPI)
+/* Systems with thread support but no _r API. UnixWare 2.0. */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+ struct group *pgrp;
+ size_t len;
+} _Xgetgrparams;
+#ifdef SVR4
+/* Copy the gr_passwd field too. */
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+ ((p).grp.gr_name = (p).buf), \
+ ((p).len = strlen((p).pgrp->gr_name)), \
+ strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+ ((p).grp.gr_passwd = (p).grp.gr_name + (p).len + 1), \
+ ((p).pgrp = &(p).grp), \
+ 0 )
+#else
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+ ((p).grp.gr_name = (p).buf), \
+ strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+ ((p).pgrp = &(p).grp), \
+ 0 )
+#endif
+#define _XGetgrgid(g,p) \
+ ( (_Xos_processLock), \
+ (((p).pgrp = getgrgid((g))) ? _Xgrp_copyGroup(p) : 0), \
+ (_Xos_processUnlock), \
+ (p).pgrp )
+#define _XGetgrnam(n,p) \
+ ( (_Xos_processLock), \
+ (((p).pgrp = getgrnam((n))) ? _Xgrp_copyGroup(p) : 0), \
+ (_Xos_processUnlock), \
+ (p).pgrp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (defined(sun) || defined(__osf__))
+/* Non-POSIX API. Solaris, DEC v3.2.
+ *
+ * extern struct group *getgrgid_r(gid_t, struct group *, char *, int);
+ * extern struct group *getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p) getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf))
+#define _XGetgrnam(n,p) getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+/* Non-POSIX API. HP/UX 10, AIX 4.
+ *
+ * extern int getgrgid_r(gid_t, struct group *, char *, int);
+ * extern int getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p) \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+#define _XGetgrnam(n,p) \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+
+#else
+/* POSIX final API. DEC v4.0, IRIX 6.2.
+ *
+ * int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
+ * int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
+ */
+# if defined(__osf__)
+/* OSF/1 V4.0 <grp.h> doesn't declare the _P routines, breaking under C++. */
+extern int _Pgetgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
+extern int _Pgetgrnam_r(const char *, struct group *, char *, size_t, struct group **);
+# endif
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+ struct group *result;
+} _Xgetgrparams;
+
+#define _XGetgrgid(g,p) \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+ NULL : (p).result))
+#define _XGetgrnam(n,p) \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+ NULL : (p).result))
+#endif
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# define _XOS_INCLUDED_GRP_H
+#endif
+
+
+#ifdef __cplusplus
+} /* Close scope of 'extern "C"' declaration which encloses file. */
+#endif
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xosdefs.h b/packages/xorg-lib/xorg-headers-native/X11/Xosdefs.h
new file mode 100644
index 0000000000..d6c76826db
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xosdefs.h
@@ -0,0 +1,166 @@
+/*
+ * O/S-dependent (mis)feature macro definitions
+ *
+ * $XdotOrg: proto/X11/Xosdefs.h,v 1.7 2005/11/08 06:33:25 jkj Exp $
+ * $Xorg: Xosdefs.h,v 1.5 2001/02/09 02:03:23 xorgcvs Exp $
+ *
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+/* $XFree86: xc/include/Xosdefs.h,v 3.20 2002/05/31 18:45:39 dawes Exp $ */
+
+#ifndef _XOSDEFS_H_
+#define _XOSDEFS_H_
+
+/*
+ * X_NOT_STDC_ENV means does not have ANSI C header files. Lack of this
+ * symbol does NOT mean that the system has stdarg.h.
+ *
+ * X_NOT_POSIX means does not have POSIX header files. Lack of this
+ * symbol does NOT mean that the POSIX environment is the default.
+ * You may still have to define _POSIX_SOURCE to get it.
+ */
+
+#ifdef NOSTDHDRS
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef sony
+#if !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV)
+#define X_NOT_POSIX
+#endif
+#endif
+
+#ifdef UTEK
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef vax
+#ifndef ultrix /* assume vanilla BSD */
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+#endif
+
+#ifdef luna
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef Mips
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef USL
+#ifdef SYSV /* (release 3.2) */
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+#endif
+
+#ifdef _SCO_DS
+#ifndef __SCO__
+#define __SCO__
+#endif
+#endif
+
+#ifdef i386
+#ifdef SYSV
+#if !defined(ISC) && !defined(__SCO__) && !defined(_SEQUENT_) && \
+ !defined(__UNIXWARE__) && !defined(sun)
+#if !defined(_POSIX_SOURCE)
+#define X_NOT_POSIX
+#endif
+#define X_NOT_STDC_ENV
+#endif
+#endif
+#endif
+
+#ifdef MOTOROLA
+#ifdef SYSV
+#define X_NOT_STDC_ENV
+#endif
+#endif
+
+#ifdef sun
+/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
+ * This check allows non-Imake configured programs to build correctly.
+ */
+#if defined(__SVR4) && !defined(SVR4)
+#define SVR4 1
+#endif
+#ifdef SVR4
+/* define this to whatever it needs to be */
+#define X_POSIX_C_SOURCE 199300L
+#endif
+#endif
+
+#ifdef WIN32
+#ifndef _POSIX_
+#define X_NOT_POSIX
+#endif
+#endif
+
+#if defined(nec_ews_svr2) || defined(SX) || defined(PC_UX)
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef __UNIXOS2__
+#define USGISH
+#define NULL_NOT_ZERO
+#endif
+
+#ifdef __DARWIN__
+#define NULL_NOT_ZERO
+#endif
+
+#ifdef __GNU__
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+#endif
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+# ifndef PATH_MAX
+# define PATH_MAX 1024
+# endif
+# ifndef MAXPATHLEN
+# define MAXPATHLEN 1024
+# endif
+#endif
+
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
+ || defined(__Darwin__) || defined(__DragonFly__)
+# ifndef CSRG_BASED
+# define CSRG_BASED
+# endif
+#endif
+
+#endif /* _XOSDEFS_H_ */
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xpoll.h b/packages/xorg-lib/xorg-headers-native/X11/Xpoll.h
new file mode 100644
index 0000000000..e483c21e13
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xpoll.h
@@ -0,0 +1,255 @@
+/* $Xorg: Xpoll.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+
+/*
+
+Copyright 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+/*
+ * Copyright © 2005 Daniel Stone
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Daniel Stone not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission. Daniel Stone makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ * DANIEL STONE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+/* $XFree86: xc/include/Xpoll.h,v 3.8 2001/01/17 17:53:11 dawes Exp $ */
+
+#ifndef _XPOLL_H_
+#define _XPOLL_H_
+
+#ifndef WIN32
+
+#ifndef USE_POLL
+
+#include <X11/Xos.h>
+
+/* Below is the monster branch from hell. Basically, most systems will drop to
+ * 'the branch below is the fallthrough for halfway modern systems', and include
+ * <sys/select.h>, so we get the FD_* macros. */
+#if !defined(DGUX)
+# if (defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
+# include <sys/select.h>
+# ifdef luna
+# include <sysent.h>
+# endif
+# else /* not SVR4/CRAY/AIXv3 */
+# if defined(AIXV4) /* AIX 4.2 fubar-ed <sys/select.h>, so try really hard. */
+# if !defined(NFDBITS)
+# include <sys/select.h>
+# endif
+# else /* the branch below is the fallthrough for halfway modern systems */
+# ifdef __QNX__ /* Make sure we get 256 bit select masks */
+# define FD_SETSIZE 256
+# endif
+# include <sys/select.h>
+# endif
+# endif
+#else /* DGUX -- No sys/select in Intel DG/ux */
+# include <sys/time.h>
+# include <sys/types.h>
+# include <unistd.h>
+#endif
+
+#include <X11/Xmd.h>
+
+#ifdef CSRG_BASED
+#include <sys/param.h>
+# if BSD < 199103
+typedef long fd_mask;
+# endif
+#endif
+
+#define XFD_SETSIZE 256
+
+#ifndef FD_SETSIZE
+#define FD_SETSIZE XFD_SETSIZE
+#endif
+
+#ifndef NBBY
+#define NBBY 8 /* number of bits in a byte */
+#endif
+
+#ifndef NFDBITS
+#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
+#endif
+
+#ifndef howmany
+#define howmany(x,y) (((x)+((y)-1))/(y))
+#endif
+
+#if defined(BSD) && BSD < 198911 && !defined(luna)
+typedef struct fd_set {
+ fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
+#endif
+
+#ifndef hpux /* and perhaps old BSD ??? */
+# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+#else
+# ifndef _XPG4_EXTENDED /* HPUX 9.x and earlier */
+# define Select(n,r,w,e,t) select(n,(int*)r,(int*)w,(int*)e,(struct timeval*)t)
+# else
+# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+# endif
+#endif
+
+#define __X_FDS_BITS __fds_bits
+
+#ifndef __FDS_BITS
+# define __FDS_BITS(p) ((p)->__X_FDS_BITS)
+#endif
+
+#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n]
+
+#ifndef FD_SET
+#define FD_SET(n, p) (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_CLR
+#define FD_CLR(n, p) (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ISSET
+#define FD_ISSET(n, p) ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ZERO
+#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
+#endif
+
+/*
+ * The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the
+ * array. before accessing an element in the array we check it exists.
+ * If it does not exist then the compiler discards the code to access it.
+ */
+#define XFD_ANYSET(p) \
+ ((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7))))
+
+#define XFD_COPYSET(src,dst) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \
+ }
+#define XFD_ANDSET(dst,b1,b2) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \
+ }
+#define XFD_ORSET(dst,b1,b2) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \
+ }
+#define XFD_UNSET(dst,b1) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \
+ }
+
+#else /* USE_POLL */
+#include <sys/poll.h>
+#endif /* USE_POLL */
+
+#else /* WIN32 */
+
+#define XFD_SETSIZE 256
+#ifndef FD_SETSIZE
+#define FD_SETSIZE XFD_SETSIZE
+#endif
+#include <X11/Xwinsock.h>
+
+#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+
+#define XFD_SETCOUNT(p) (((fd_set FAR *)(p))->fd_count)
+#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i])
+#define XFD_ANYSET(p) XFD_SETCOUNT(p)
+
+#define XFD_COPYSET(src,dst) { \
+ u_int __i; \
+ FD_ZERO(dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \
+ XFD_FD(dst,__i) = XFD_FD(src,__i); \
+ } \
+ XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \
+}
+
+#define XFD_ANDSET(dst,b1,b2) { \
+ u_int __i; \
+ FD_ZERO(dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+ if (FD_ISSET(XFD_FD(b1,__i), b2)) \
+ FD_SET(XFD_FD(b1,__i), dst); \
+ } \
+}
+
+#define XFD_ORSET(dst,b1,b2) { \
+ u_int __i; \
+ if (dst != b1) XFD_COPYSET(b1,dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \
+ if (!FD_ISSET(XFD_FD(b2,__i), dst)) \
+ FD_SET(XFD_FD(b2,__i), dst); \
+ } \
+}
+
+/* this one is really sub-optimal */
+#define XFD_UNSET(dst,b1) { \
+ u_int __i; \
+ for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+ FD_CLR(XFD_FD(b1,__i), dst); \
+ } \
+}
+
+/* we have to pay the price of having an array here, unlike with bitmasks
+ calling twice FD_SET with the same fd is not transparent, so be careful */
+#undef FD_SET
+#define FD_SET(fd,set) do { \
+ if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \
+ XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \
+} while(0)
+
+#define getdtablesize() FD_SETSIZE
+
+#endif /* WIN32 */
+
+#endif /* _XPOLL_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xproto.h b/packages/xorg-lib/xorg-headers-native/X11/Xproto.h
new file mode 100644
index 0000000000..e5bba70082
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xproto.h
@@ -0,0 +1,2129 @@
+/*
+ * $Xorg: Xproto.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $
+ */
+
+/* Definitions for the X window system used by server and c bindings */
+
+/*
+ * This packet-construction scheme makes the following assumptions:
+ *
+ * 1. The compiler is able
+ * to generate code which addresses one- and two-byte quantities.
+ * In the worst case, this would be done with bit-fields. If bit-fields
+ * are used it may be necessary to reorder the request fields in this file,
+ * depending on the order in which the machine assigns bit fields to
+ * machine words. There may also be a problem with sign extension,
+ * as K+R specify that bitfields are always unsigned.
+ *
+ * 2. 2- and 4-byte fields in packet structures must be ordered by hand
+ * such that they are naturally-aligned, so that no compiler will ever
+ * insert padding bytes.
+ *
+ * 3. All packets are hand-padded to a multiple of 4 bytes, for
+ * the same reason.
+ */
+
+#ifndef XPROTO_H
+#define XPROTO_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#include <X11/Xmd.h>
+#include <X11/Xprotostr.h>
+
+/*
+ * Define constants for the sizes of the network packets. The sz_ prefix is
+ * used instead of something more descriptive so that the symbols are no more
+ * than 32 characters in length (which causes problems for some compilers).
+ */
+#define sz_xSegment 8
+#define sz_xPoint 4
+#define sz_xRectangle 8
+#define sz_xArc 12
+#define sz_xConnClientPrefix 12
+#define sz_xConnSetupPrefix 8
+#define sz_xConnSetup 32
+#define sz_xPixmapFormat 8
+#define sz_xDepth 8
+#define sz_xVisualType 24
+#define sz_xWindowRoot 40
+#define sz_xTimecoord 8
+#define sz_xHostEntry 4
+#define sz_xCharInfo 12
+#define sz_xFontProp 8
+#define sz_xTextElt 2
+#define sz_xColorItem 12
+#define sz_xrgb 8
+#define sz_xGenericReply 32
+#define sz_xGetWindowAttributesReply 44
+#define sz_xGetGeometryReply 32
+#define sz_xQueryTreeReply 32
+#define sz_xInternAtomReply 32
+#define sz_xGetAtomNameReply 32
+#define sz_xGetPropertyReply 32
+#define sz_xListPropertiesReply 32
+#define sz_xGetSelectionOwnerReply 32
+#define sz_xGrabPointerReply 32
+#define sz_xQueryPointerReply 32
+#define sz_xGetMotionEventsReply 32
+#define sz_xTranslateCoordsReply 32
+#define sz_xGetInputFocusReply 32
+#define sz_xQueryKeymapReply 40
+#define sz_xQueryFontReply 60
+#define sz_xQueryTextExtentsReply 32
+#define sz_xListFontsReply 32
+#define sz_xGetFontPathReply 32
+#define sz_xGetImageReply 32
+#define sz_xListInstalledColormapsReply 32
+#define sz_xAllocColorReply 32
+#define sz_xAllocNamedColorReply 32
+#define sz_xAllocColorCellsReply 32
+#define sz_xAllocColorPlanesReply 32
+#define sz_xQueryColorsReply 32
+#define sz_xLookupColorReply 32
+#define sz_xQueryBestSizeReply 32
+#define sz_xQueryExtensionReply 32
+#define sz_xListExtensionsReply 32
+#define sz_xSetMappingReply 32
+#define sz_xGetKeyboardControlReply 52
+#define sz_xGetPointerControlReply 32
+#define sz_xGetScreenSaverReply 32
+#define sz_xListHostsReply 32
+#define sz_xSetModifierMappingReply 32
+#define sz_xError 32
+#define sz_xEvent 32
+#define sz_xKeymapEvent 32
+#define sz_xReq 4
+#define sz_xResourceReq 8
+#define sz_xCreateWindowReq 32
+#define sz_xChangeWindowAttributesReq 12
+#define sz_xChangeSaveSetReq 8
+#define sz_xReparentWindowReq 16
+#define sz_xConfigureWindowReq 12
+#define sz_xCirculateWindowReq 8
+#define sz_xInternAtomReq 8
+#define sz_xChangePropertyReq 24
+#define sz_xDeletePropertyReq 12
+#define sz_xGetPropertyReq 24
+#define sz_xSetSelectionOwnerReq 16
+#define sz_xConvertSelectionReq 24
+#define sz_xSendEventReq 44
+#define sz_xGrabPointerReq 24
+#define sz_xGrabButtonReq 24
+#define sz_xUngrabButtonReq 12
+#define sz_xChangeActivePointerGrabReq 16
+#define sz_xGrabKeyboardReq 16
+#define sz_xGrabKeyReq 16
+#define sz_xUngrabKeyReq 12
+#define sz_xAllowEventsReq 8
+#define sz_xGetMotionEventsReq 16
+#define sz_xTranslateCoordsReq 16
+#define sz_xWarpPointerReq 24
+#define sz_xSetInputFocusReq 12
+#define sz_xOpenFontReq 12
+#define sz_xQueryTextExtentsReq 8
+#define sz_xListFontsReq 8
+#define sz_xSetFontPathReq 8
+#define sz_xCreatePixmapReq 16
+#define sz_xCreateGCReq 16
+#define sz_xChangeGCReq 12
+#define sz_xCopyGCReq 16
+#define sz_xSetDashesReq 12
+#define sz_xSetClipRectanglesReq 12
+#define sz_xCopyAreaReq 28
+#define sz_xCopyPlaneReq 32
+#define sz_xPolyPointReq 12
+#define sz_xPolySegmentReq 12
+#define sz_xFillPolyReq 16
+#define sz_xPutImageReq 24
+#define sz_xGetImageReq 20
+#define sz_xPolyTextReq 16
+#define sz_xImageTextReq 16
+#define sz_xCreateColormapReq 16
+#define sz_xCopyColormapAndFreeReq 12
+#define sz_xAllocColorReq 16
+#define sz_xAllocNamedColorReq 12
+#define sz_xAllocColorCellsReq 12
+#define sz_xAllocColorPlanesReq 16
+#define sz_xFreeColorsReq 12
+#define sz_xStoreColorsReq 8
+#define sz_xStoreNamedColorReq 16
+#define sz_xQueryColorsReq 8
+#define sz_xLookupColorReq 12
+#define sz_xCreateCursorReq 32
+#define sz_xCreateGlyphCursorReq 32
+#define sz_xRecolorCursorReq 20
+#define sz_xQueryBestSizeReq 12
+#define sz_xQueryExtensionReq 8
+#define sz_xChangeKeyboardControlReq 8
+#define sz_xBellReq 4
+#define sz_xChangePointerControlReq 12
+#define sz_xSetScreenSaverReq 12
+#define sz_xChangeHostsReq 8
+#define sz_xListHostsReq 4
+#define sz_xChangeModeReq 4
+#define sz_xRotatePropertiesReq 12
+#define sz_xReply 32
+#define sz_xGrabKeyboardReply 32
+#define sz_xListFontsWithInfoReply 60
+#define sz_xSetPointerMappingReply 32
+#define sz_xGetKeyboardMappingReply 32
+#define sz_xGetPointerMappingReply 32
+#define sz_xGetModifierMappingReply 32
+#define sz_xListFontsWithInfoReq 8
+#define sz_xPolyLineReq 12
+#define sz_xPolyArcReq 12
+#define sz_xPolyRectangleReq 12
+#define sz_xPolyFillRectangleReq 12
+#define sz_xPolyFillArcReq 12
+#define sz_xPolyText8Req 16
+#define sz_xPolyText16Req 16
+#define sz_xImageText8Req 16
+#define sz_xImageText16Req 16
+#define sz_xSetPointerMappingReq 4
+#define sz_xForceScreenSaverReq 4
+#define sz_xSetCloseDownModeReq 4
+#define sz_xClearAreaReq 16
+#define sz_xSetAccessControlReq 4
+#define sz_xGetKeyboardMappingReq 8
+#define sz_xSetModifierMappingReq 4
+#define sz_xPropIconSize 24
+#define sz_xChangeKeyboardMappingReq 8
+
+
+/* For the purpose of the structure definitions in this file,
+we must redefine the following types in terms of Xmd.h's types, which may
+include bit fields. All of these are #undef'd at the end of this file,
+restoring the definitions in X.h. */
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define X_TCP_PORT 6000 /* add display number */
+
+#define xTrue 1
+#define xFalse 0
+
+
+typedef CARD16 KeyButMask;
+
+/*****************
+ connection setup structure. This is followed by
+ numRoots xWindowRoot structs.
+*****************/
+
+typedef struct {
+ CARD8 byteOrder;
+ BYTE pad;
+ CARD16 majorVersion B16, minorVersion B16;
+ CARD16 nbytesAuthProto B16; /* Authorization protocol */
+ CARD16 nbytesAuthString B16; /* Authorization string */
+ CARD16 pad2 B16;
+} xConnClientPrefix;
+
+typedef struct {
+ CARD8 success;
+ BYTE lengthReason; /*num bytes in string following if failure */
+ CARD16 majorVersion B16,
+ minorVersion B16;
+ CARD16 length B16; /* 1/4 additional bytes in setup info */
+} xConnSetupPrefix;
+
+
+typedef struct {
+ CARD32 release B32;
+ CARD32 ridBase B32,
+ ridMask B32;
+ CARD32 motionBufferSize B32;
+ CARD16 nbytesVendor B16; /* number of bytes in vendor string */
+ CARD16 maxRequestSize B16;
+ CARD8 numRoots; /* number of roots structs to follow */
+ CARD8 numFormats; /* number of pixmap formats */
+ CARD8 imageByteOrder; /* LSBFirst, MSBFirst */
+ CARD8 bitmapBitOrder; /* LeastSignificant, MostSign...*/
+ CARD8 bitmapScanlineUnit, /* 8, 16, 32 */
+ bitmapScanlinePad; /* 8, 16, 32 */
+ KeyCode minKeyCode, maxKeyCode;
+ CARD32 pad2 B32;
+} xConnSetup;
+
+typedef struct {
+ CARD8 depth;
+ CARD8 bitsPerPixel;
+ CARD8 scanLinePad;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+} xPixmapFormat;
+
+/* window root */
+
+typedef struct {
+ CARD8 depth;
+ CARD8 pad1;
+ CARD16 nVisuals B16; /* number of xVisualType structures following */
+ CARD32 pad2 B32;
+ } xDepth;
+
+typedef struct {
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 bitsPerRGB;
+ CARD16 colormapEntries B16;
+ CARD32 redMask B32, greenMask B32, blueMask B32;
+ CARD32 pad B32;
+ } xVisualType;
+
+typedef struct {
+ Window windowId B32;
+ Colormap defaultColormap B32;
+ CARD32 whitePixel B32, blackPixel B32;
+ CARD32 currentInputMask B32;
+ CARD16 pixWidth B16, pixHeight B16;
+ CARD16 mmWidth B16, mmHeight B16;
+ CARD16 minInstalledMaps B16, maxInstalledMaps B16;
+ VisualID rootVisualID B32;
+ CARD8 backingStore;
+ BOOL saveUnders;
+ CARD8 rootDepth;
+ CARD8 nDepths; /* number of xDepth structures following */
+} xWindowRoot;
+
+
+/*****************************************************************
+ * Structure Defns
+ * Structures needed for replies
+ *****************************************************************/
+
+/* Used in GetMotionEvents */
+
+typedef struct {
+ CARD32 time B32;
+ INT16 x B16, y B16;
+} xTimecoord;
+
+typedef struct {
+ CARD8 family;
+ BYTE pad;
+ CARD16 length B16;
+} xHostEntry;
+
+typedef struct {
+ INT16 leftSideBearing B16,
+ rightSideBearing B16,
+ characterWidth B16,
+ ascent B16,
+ descent B16;
+ CARD16 attributes B16;
+} xCharInfo;
+
+typedef struct {
+ Atom name B32;
+ CARD32 value B32;
+} xFontProp;
+
+/*
+ * non-aligned big-endian font ID follows this struct
+ */
+typedef struct { /* followed by string */
+ CARD8 len; /* number of *characters* in string, or FontChange (255)
+ for font change, or 0 if just delta given */
+ INT8 delta;
+} xTextElt;
+
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD8 flags; /* DoRed, DoGreen, DoBlue booleans */
+ CARD8 pad;
+} xColorItem;
+
+
+typedef struct {
+ CARD16 red B16, green B16, blue B16, pad B16;
+} xrgb;
+
+typedef CARD8 KEYCODE;
+
+
+/*****************
+ * XRep:
+ * meant to be 32 byte quantity
+ *****************/
+
+/* GenericReply is the common format of all replies. The "data" items
+ are specific to each individual reply type. */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE data1; /* depends on reply type */
+ CARD16 sequenceNumber B16; /* of last request received by server */
+ CARD32 length B32; /* 4 byte quantities beyond size of GenericReply */
+ CARD32 data00 B32;
+ CARD32 data01 B32;
+ CARD32 data02 B32;
+ CARD32 data03 B32;
+ CARD32 data04 B32;
+ CARD32 data05 B32;
+ } xGenericReply;
+
+/* Individual reply formats. */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 backingStore;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* NOT 0; this is an extra-large reply */
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ CARD8 bitGravity;
+ CARD8 winGravity;
+ CARD32 backingBitPlanes B32;
+ CARD32 backingPixel B32;
+ BOOL saveUnder;
+ BOOL mapInstalled;
+ CARD8 mapState;
+ BOOL override;
+ Colormap colormap B32;
+ CARD32 allEventMasks B32;
+ CARD32 yourEventMask B32;
+ CARD16 doNotPropagateMask B16;
+ CARD16 pad B16;
+ } xGetWindowAttributesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window root B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD16 borderWidth B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xGetGeometryReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window root B32, parent B32;
+ CARD16 nChildren B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xQueryTreeReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Atom atom B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xInternAtomReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* of additional bytes */
+ CARD16 nameLength B16; /* # of characters in name */
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetAtomNameReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 format;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* of additional bytes */
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xGetPropertyReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nProperties B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListPropertiesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window owner B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetSelectionOwnerReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGrabPointerReply;
+
+typedef xGrabPointerReply xGrabKeyboardReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sameScreen;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window root B32, child B32;
+ INT16 rootX B16, rootY B16, winX B16, winY B16;
+ CARD16 mask B16;
+ CARD16 pad1 B16;
+ CARD32 pad B32;
+ } xQueryPointerReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 nEvents B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetMotionEventsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sameScreen;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window child B32;
+ INT16 dstX B16, dstY B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xTranslateCoordsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 revertTo;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window focus B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xGetInputFocusReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 2, NOT 0; this is an extra-large reply */
+ BYTE map[32];
+ } xQueryKeymapReply;
+
+/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
+typedef struct _xQueryFontReply {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* definitely > 0, even if "nCharInfos" is 0 */
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
+} xQueryFontReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 drawDirection;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ INT16 fontAscent B16, fontDescent B16;
+ INT16 overallAscent B16, overallDescent B16;
+ INT32 overallWidth B32, overallLeft B32, overallRight B32;
+ CARD32 pad B32;
+ } xQueryTextExtentsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nFonts B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListFontsReply;
+
+/* Warning: this MUST match (up to component renaming) xQueryFontReply */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nameLength; /* 0 indicates end-of-reply-sequence */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* definitely > 0, even if "nameLength" is 0 */
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nReplies B32; /* hint as to how many more replies might be coming */
+} xListFontsWithInfoReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPaths B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetFontPathReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ VisualID visual B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetImageReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nColormaps B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListInstalledColormapsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad2 B16;
+ CARD32 pixel B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xAllocColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pixel B32;
+ CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+ CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xAllocNamedColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPixels B16, nMasks B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xAllocColorCellsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPixels B16;
+ CARD16 pad2 B16;
+ CARD32 redMask B32, greenMask B32, blueMask B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ } xAllocColorPlanesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nColors B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryColorsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+ CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xLookupColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 width B16, height B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryBestSizeReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ BOOL present;
+ CARD8 major_opcode;
+ CARD8 first_event;
+ CARD8 first_error;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryExtensionReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nExtensions;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListExtensionsReply;
+
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 success;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xSetMappingReply;
+typedef xSetMappingReply xSetPointerMappingReply;
+typedef xSetMappingReply xSetModifierMappingReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nElts; /* how many elements does the map have */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetPointerMappingReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 keySymsPerKeyCode;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGetKeyboardMappingReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 numKeyPerModifier;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetModifierMappingReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL globalAutoRepeat;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 5 */
+ CARD32 ledMask B32;
+ CARD8 keyClickPercent, bellPercent;
+ CARD16 bellPitch B16, bellDuration B16;
+ CARD16 pad B16;
+ BYTE map[32]; /* bit masks start here */
+ } xGetKeyboardControlReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 accelNumerator B16, accelDenominator B16;
+ CARD16 threshold B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetPointerControlReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 timeout B16, interval B16;
+ BOOL preferBlanking;
+ BOOL allowExposures;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetScreenSaverReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL enabled;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nHosts B16;
+ CARD16 pad1 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListHostsReply;
+
+
+
+
+/*****************************************************************
+ * Xerror
+ * All errors are 32 bytes
+ *****************************************************************/
+
+typedef struct {
+ BYTE type; /* X_Error */
+ BYTE errorCode;
+ CARD16 sequenceNumber B16; /* the nth request from this client */
+ CARD32 resourceID B32;
+ CARD16 minorCode B16;
+ CARD8 majorCode;
+ BYTE pad1;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xError;
+
+/*****************************************************************
+ * xEvent
+ * All events are 32 bytes
+ *****************************************************************/
+
+typedef struct _xEvent {
+ union {
+ struct {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ } u;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window root B32, event B32, child B32;
+ INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+ KeyButMask state B16;
+ BOOL sameScreen;
+ BYTE pad1;
+ } keyButtonPointer;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window root B32, event B32, child B32;
+ INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+ KeyButMask state B16;
+ BYTE mode; /* really XMode */
+ BYTE flags; /* sameScreen and focus booleans, packed together */
+#define ELFlagFocus (1<<0)
+#define ELFlagSameScreen (1<<1)
+ } enterLeave;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ BYTE mode; /* really XMode */
+ BYTE pad1, pad2, pad3;
+ } focus;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD16 x B16, y B16, width B16, height B16;
+ CARD16 count B16;
+ CARD16 pad2 B16;
+ } expose;
+ struct {
+ CARD32 pad00 B32;
+ Drawable drawable B32;
+ CARD16 x B16, y B16, width B16, height B16;
+ CARD16 minorEvent B16;
+ CARD16 count B16;
+ BYTE majorEvent;
+ BYTE pad1, pad2, pad3;
+ } graphicsExposure;
+ struct {
+ CARD32 pad00 B32;
+ Drawable drawable B32;
+ CARD16 minorEvent B16;
+ BYTE majorEvent;
+ BYTE bpad;
+ } noExposure;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD8 state;
+ BYTE pad1, pad2, pad3;
+ } visibility;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BOOL override;
+ BYTE bpad;
+ } createNotify;
+/*
+ * The event fields in the structures for DestroyNotify, UnmapNotify,
+ * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify,
+ * must be at the same offset because server internal code is depending upon
+ * this to patch up the events before they are delivered.
+ * Also note that MapRequest, ConfigureRequest and CirculateRequest have
+ * the same offset for the event window.
+ */
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ } destroyNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ BOOL fromConfigure;
+ BYTE pad1, pad2, pad3;
+ } unmapNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ BOOL override;
+ BYTE pad1, pad2, pad3;
+ } mapNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32;
+ } mapRequest;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32, parent B32;
+ INT16 x B16, y B16;
+ BOOL override;
+ BYTE pad1, pad2, pad3;
+ } reparent;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32, aboveSibling B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BOOL override;
+ BYTE bpad;
+ } configureNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32, sibling B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ CARD16 valueMask B16;
+ CARD32 pad1 B32;
+ } configureRequest;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ INT16 x B16, y B16;
+ CARD32 pad1 B32, pad2 B32, pad3 B32, pad4 B32;
+ } gravity;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD16 width B16, height B16;
+ } resizeRequest;
+ struct {
+/* The event field in the circulate record is really the parent when this
+ is used as a CirculateRequest instead of a CirculateNotify */
+ CARD32 pad00 B32;
+ Window event B32, window B32, parent B32;
+ BYTE place; /* Top or Bottom */
+ BYTE pad1, pad2, pad3;
+ } circulate;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ Atom atom B32;
+ Time time B32;
+ BYTE state; /* NewValue or Deleted */
+ BYTE pad1;
+ CARD16 pad2 B16;
+ } property;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window window B32;
+ Atom atom B32;
+ } selectionClear;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window owner B32, requestor B32;
+ Atom selection B32, target B32, property B32;
+ } selectionRequest;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window requestor B32;
+ Atom selection B32, target B32, property B32;
+ } selectionNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ Colormap colormap B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_new;
+#else
+ BOOL new;
+#endif
+ BYTE state; /* Installed or UnInstalled */
+ BYTE pad1, pad2;
+ } colormap;
+ struct {
+ CARD32 pad00 B32;
+ CARD8 request;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+ } mappingNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ union {
+ struct {
+ Atom type B32;
+ INT32 longs0 B32;
+ INT32 longs1 B32;
+ INT32 longs2 B32;
+ INT32 longs3 B32;
+ INT32 longs4 B32;
+ } l;
+ struct {
+ Atom type B32;
+ INT16 shorts0 B16;
+ INT16 shorts1 B16;
+ INT16 shorts2 B16;
+ INT16 shorts3 B16;
+ INT16 shorts4 B16;
+ INT16 shorts5 B16;
+ INT16 shorts6 B16;
+ INT16 shorts7 B16;
+ INT16 shorts8 B16;
+ INT16 shorts9 B16;
+ } s;
+ struct {
+ Atom type B32;
+ INT8 bytes[20];
+ } b;
+ } u;
+ } clientMessage;
+ } u;
+} xEvent;
+
+/* KeymapNotify events are not included in the above union because they
+ are different from all other events: they do not have a "detail"
+ or "sequenceNumber", so there is room for a 248-bit key mask. */
+
+typedef struct {
+ BYTE type;
+ BYTE map[31];
+ } xKeymapEvent;
+
+#define XEventSize (sizeof(xEvent))
+
+/* XReply is the union of all the replies above whose "fixed part"
+fits in 32 bytes. It does NOT include GetWindowAttributesReply,
+QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
+ListFontsWithInfoReply */
+
+typedef union {
+ xGenericReply generic;
+ xGetGeometryReply geom;
+ xQueryTreeReply tree;
+ xInternAtomReply atom;
+ xGetAtomNameReply atomName;
+ xGetPropertyReply property;
+ xListPropertiesReply listProperties;
+ xGetSelectionOwnerReply selection;
+ xGrabPointerReply grabPointer;
+ xGrabKeyboardReply grabKeyboard;
+ xQueryPointerReply pointer;
+ xGetMotionEventsReply motionEvents;
+ xTranslateCoordsReply coords;
+ xGetInputFocusReply inputFocus;
+ xQueryTextExtentsReply textExtents;
+ xListFontsReply fonts;
+ xGetFontPathReply fontPath;
+ xGetImageReply image;
+ xListInstalledColormapsReply colormaps;
+ xAllocColorReply allocColor;
+ xAllocNamedColorReply allocNamedColor;
+ xAllocColorCellsReply colorCells;
+ xAllocColorPlanesReply colorPlanes;
+ xQueryColorsReply colors;
+ xLookupColorReply lookupColor;
+ xQueryBestSizeReply bestSize;
+ xQueryExtensionReply extension;
+ xListExtensionsReply extensions;
+ xSetModifierMappingReply setModifierMapping;
+ xGetModifierMappingReply getModifierMapping;
+ xSetPointerMappingReply setPointerMapping;
+ xGetKeyboardMappingReply getKeyboardMapping;
+ xGetPointerMappingReply getPointerMapping;
+ xGetPointerControlReply pointerControl;
+ xGetScreenSaverReply screenSaver;
+ xListHostsReply hosts;
+ xError error;
+ xEvent event;
+} xReply;
+
+
+
+/*****************************************************************
+ * REQUESTS
+ *****************************************************************/
+
+
+/* Request structure */
+
+typedef struct _xReq {
+ CARD8 reqType;
+ CARD8 data; /* meaning depends on request type */
+ CARD16 length B16; /* length in 4 bytes quantities
+ of whole request, including this header */
+} xReq;
+
+/*****************************************************************
+ * structures that follow request.
+ *****************************************************************/
+
+/* ResourceReq is used for any request which has a resource ID
+ (or Atom or Time) as its one and only argument. */
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 id B32; /* a Window, Drawable, Font, GContext, Pixmap, etc. */
+ } xResourceReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 depth;
+ CARD16 length B16;
+ Window wid B32, parent B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ VisualID visual B32;
+ CARD32 mask B32;
+} xCreateWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD32 valueMask B32;
+} xChangeWindowAttributesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ Window window B32;
+} xChangeSaveSetReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32, parent B32;
+ INT16 x B16, y B16;
+} xReparentWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 mask B16;
+ CARD16 pad2 B16;
+} xConfigureWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 direction;
+ CARD16 length B16;
+ Window window B32;
+} xCirculateWindowReq;
+
+typedef struct { /* followed by padded string */
+ CARD8 reqType;
+ BOOL onlyIfExists;
+ CARD16 length B16;
+ CARD16 nbytes B16; /* number of bytes in string */
+ CARD16 pad B16;
+} xInternAtomReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 mode;
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32, type B32;
+ CARD8 format;
+ BYTE pad[3];
+ CARD32 nUnits B32; /* length of stuff following, depends on format */
+} xChangePropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+} xDeletePropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_delete;
+#else
+ BOOL delete;
+#endif
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32, type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+} xGetPropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Atom selection B32;
+ Time time B32;
+} xSetSelectionOwnerReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window requestor B32;
+ Atom selection B32, target B32, property B32;
+ Time time B32;
+ } xConvertSelectionReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL propagate;
+ CARD16 length B16;
+ Window destination B32;
+ CARD32 eventMask B32;
+#ifdef WORD64
+ /* the structure should have been quad-aligned */
+ BYTE eventdata[SIZEOF(xEvent)];
+#else
+ xEvent event;
+#endif /* WORD64 */
+} xSendEventReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 eventMask B16;
+ BYTE pointerMode, keyboardMode;
+ Window confineTo B32;
+ Cursor cursor B32;
+ Time time B32;
+} xGrabPointerReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 eventMask B16;
+ BYTE pointerMode, keyboardMode;
+ Window confineTo B32;
+ Cursor cursor B32;
+ CARD8 button;
+ BYTE pad;
+ CARD16 modifiers B16;
+} xGrabButtonReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 button;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD16 pad B16;
+} xUngrabButtonReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cursor B32;
+ Time time B32;
+ CARD16 eventMask B16;
+ CARD16 pad2 B16;
+} xChangeActivePointerGrabReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ Time time B32;
+ BYTE pointerMode, keyboardMode;
+ CARD16 pad B16;
+} xGrabKeyboardReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 key;
+ BYTE pointerMode, keyboardMode;
+ BYTE pad1, pad2, pad3;
+} xGrabKeyReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 key;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD16 pad B16;
+} xUngrabKeyReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 mode;
+ CARD16 length B16;
+ Time time B32;
+} xAllowEventsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Time start B32, stop B32;
+} xGetMotionEventsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window srcWid B32, dstWid B32;
+ INT16 srcX B16, srcY B16;
+} xTranslateCoordsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window srcWid B32, dstWid B32;
+ INT16 srcX B16, srcY B16;
+ CARD16 srcWidth B16, srcHeight B16;
+ INT16 dstX B16, dstY B16;
+} xWarpPointerReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 revertTo;
+ CARD16 length B16;
+ Window focus B32;
+ Time time B32;
+} xSetInputFocusReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Font fid B32;
+ CARD16 nbytes B16;
+ BYTE pad1, pad2; /* string follows on word boundary */
+} xOpenFontReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL oddLength;
+ CARD16 length B16;
+ Font fid B32;
+ } xQueryTextExtentsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 maxNames B16;
+ CARD16 nbytes B16; /* followed immediately by string bytes */
+} xListFontsReq;
+
+typedef xListFontsReq xListFontsWithInfoReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 nFonts B16;
+ BYTE pad1, pad2; /* LISTofSTRING8 follows on word boundary */
+} xSetFontPathReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 depth;
+ CARD16 length B16;
+ Pixmap pid B32;
+ Drawable drawable B32;
+ CARD16 width B16, height B16;
+} xCreatePixmapReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ Drawable drawable B32;
+ CARD32 mask B32;
+} xCreateGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ CARD32 mask B32;
+} xChangeGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext srcGC B32, dstGC B32;
+ CARD32 mask B32;
+} xCopyGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ CARD16 dashOffset B16;
+ CARD16 nDashes B16; /* length LISTofCARD8 of values following */
+} xSetDashesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE ordering;
+ CARD16 length B16;
+ GContext gc B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xSetClipRectanglesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL exposures;
+ CARD16 length B16;
+ Window window B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+} xClearAreaReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable srcDrawable B32, dstDrawable B32;
+ GContext gc B32;
+ INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+ CARD16 width B16, height B16;
+} xCopyAreaReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable srcDrawable B32, dstDrawable B32;
+ GContext gc B32;
+ INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+ CARD16 width B16, height B16;
+ CARD32 bitPlane B32;
+} xCopyPlaneReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE coordMode;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xPolyPointReq;
+
+typedef xPolyPointReq xPolyLineReq; /* same request structure */
+
+/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xPolySegmentReq;
+
+typedef xPolySegmentReq xPolyArcReq;
+typedef xPolySegmentReq xPolyRectangleReq;
+typedef xPolySegmentReq xPolyFillRectangleReq;
+typedef xPolySegmentReq xPolyFillArcReq;
+
+typedef struct _FillPolyReq {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ BYTE shape;
+ BYTE coordMode;
+ CARD16 pad1 B16;
+} xFillPolyReq;
+
+
+typedef struct _PutImageReq {
+ CARD8 reqType;
+ CARD8 format;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ CARD16 width B16, height B16;
+ INT16 dstX B16, dstY B16;
+ CARD8 leftPad;
+ CARD8 depth;
+ CARD16 pad B16;
+} xPutImageReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 format;
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 planeMask B32;
+} xGetImageReq;
+
+/* the following used by PolyText8 and PolyText16 */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 x B16, y B16; /* items (xTextElt) start after struct */
+} xPolyTextReq;
+
+typedef xPolyTextReq xPolyText8Req;
+typedef xPolyTextReq xPolyText16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE nChars;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 x B16, y B16;
+} xImageTextReq;
+
+typedef xImageTextReq xImageText8Req;
+typedef xImageTextReq xImageText16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE alloc;
+ CARD16 length B16;
+ Colormap mid B32;
+ Window window B32;
+ VisualID visual B32;
+} xCreateColormapReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap mid B32;
+ Colormap srcCmap B32;
+} xCopyColormapAndFreeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad2 B16;
+} xAllocColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 nbytes B16; /* followed by structure */
+ BYTE pad1, pad2;
+} xAllocNamedColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL contiguous;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 colors B16, planes B16;
+} xAllocColorCellsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL contiguous;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 colors B16, red B16, green B16, blue B16;
+} xAllocColorPlanesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 planeMask B32;
+} xFreeColorsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+} xStoreColorsReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 flags; /* DoRed, DoGreen, DoBlue, as in xColorItem */
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 pixel B32;
+ CARD16 nbytes B16; /* number of name string bytes following structure */
+ BYTE pad1, pad2;
+ } xStoreNamedColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+} xQueryColorsReq;
+
+typedef struct { /* followed by string of length len */
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 nbytes B16; /* number of string bytes following structure*/
+ BYTE pad1, pad2;
+} xLookupColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cid B32;
+ Pixmap source B32, mask B32;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+ CARD16 x B16, y B16;
+} xCreateCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cid B32;
+ Font source B32, mask B32;
+ CARD16 sourceChar B16, maskChar B16;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+} xCreateGlyphCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cursor B32;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+} xRecolorCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD16 length B16;
+ Drawable drawable B32;
+ CARD16 width B16, height B16;
+} xQueryBestSizeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 nbytes B16; /* number of string bytes following structure */
+ BYTE pad1, pad2;
+} xQueryExtensionReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 numKeyPerModifier;
+ CARD16 length B16;
+} xSetModifierMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 nElts; /* how many elements in the map */
+ CARD16 length B16;
+} xSetPointerMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ CARD16 pad1 B16;
+} xGetKeyboardMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 keyCodes;
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 keySymsPerKeyCode;
+ CARD16 pad1 B16;
+} xChangeKeyboardMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 mask B32;
+} xChangeKeyboardControlReq;
+
+typedef struct {
+ CARD8 reqType;
+ INT8 percent; /* -100 to 100 */
+ CARD16 length B16;
+} xBellReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ INT16 accelNum B16, accelDenum B16;
+ INT16 threshold B16;
+ BOOL doAccel, doThresh;
+} xChangePointerControlReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ INT16 timeout B16, interval B16;
+ BYTE preferBlank, allowExpose;
+ CARD16 pad2 B16;
+} xSetScreenSaverReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ CARD8 hostFamily;
+ BYTE pad;
+ CARD16 hostLength B16;
+} xChangeHostsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ } xListHostsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ } xChangeModeReq;
+
+typedef xChangeModeReq xSetAccessControlReq;
+typedef xChangeModeReq xSetCloseDownModeReq;
+typedef xChangeModeReq xForceScreenSaverReq;
+
+typedef struct { /* followed by LIST of ATOM */
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 nAtoms B16;
+ INT16 nPositions B16;
+ } xRotatePropertiesReq;
+
+
+
+/* Reply codes */
+
+#define X_Reply 1 /* Normal reply */
+#define X_Error 0 /* Error */
+
+/* Request codes */
+
+#define X_CreateWindow 1
+#define X_ChangeWindowAttributes 2
+#define X_GetWindowAttributes 3
+#define X_DestroyWindow 4
+#define X_DestroySubwindows 5
+#define X_ChangeSaveSet 6
+#define X_ReparentWindow 7
+#define X_MapWindow 8
+#define X_MapSubwindows 9
+#define X_UnmapWindow 10
+#define X_UnmapSubwindows 11
+#define X_ConfigureWindow 12
+#define X_CirculateWindow 13
+#define X_GetGeometry 14
+#define X_QueryTree 15
+#define X_InternAtom 16
+#define X_GetAtomName 17
+#define X_ChangeProperty 18
+#define X_DeleteProperty 19
+#define X_GetProperty 20
+#define X_ListProperties 21
+#define X_SetSelectionOwner 22
+#define X_GetSelectionOwner 23
+#define X_ConvertSelection 24
+#define X_SendEvent 25
+#define X_GrabPointer 26
+#define X_UngrabPointer 27
+#define X_GrabButton 28
+#define X_UngrabButton 29
+#define X_ChangeActivePointerGrab 30
+#define X_GrabKeyboard 31
+#define X_UngrabKeyboard 32
+#define X_GrabKey 33
+#define X_UngrabKey 34
+#define X_AllowEvents 35
+#define X_GrabServer 36
+#define X_UngrabServer 37
+#define X_QueryPointer 38
+#define X_GetMotionEvents 39
+#define X_TranslateCoords 40
+#define X_WarpPointer 41
+#define X_SetInputFocus 42
+#define X_GetInputFocus 43
+#define X_QueryKeymap 44
+#define X_OpenFont 45
+#define X_CloseFont 46
+#define X_QueryFont 47
+#define X_QueryTextExtents 48
+#define X_ListFonts 49
+#define X_ListFontsWithInfo 50
+#define X_SetFontPath 51
+#define X_GetFontPath 52
+#define X_CreatePixmap 53
+#define X_FreePixmap 54
+#define X_CreateGC 55
+#define X_ChangeGC 56
+#define X_CopyGC 57
+#define X_SetDashes 58
+#define X_SetClipRectangles 59
+#define X_FreeGC 60
+#define X_ClearArea 61
+#define X_CopyArea 62
+#define X_CopyPlane 63
+#define X_PolyPoint 64
+#define X_PolyLine 65
+#define X_PolySegment 66
+#define X_PolyRectangle 67
+#define X_PolyArc 68
+#define X_FillPoly 69
+#define X_PolyFillRectangle 70
+#define X_PolyFillArc 71
+#define X_PutImage 72
+#define X_GetImage 73
+#define X_PolyText8 74
+#define X_PolyText16 75
+#define X_ImageText8 76
+#define X_ImageText16 77
+#define X_CreateColormap 78
+#define X_FreeColormap 79
+#define X_CopyColormapAndFree 80
+#define X_InstallColormap 81
+#define X_UninstallColormap 82
+#define X_ListInstalledColormaps 83
+#define X_AllocColor 84
+#define X_AllocNamedColor 85
+#define X_AllocColorCells 86
+#define X_AllocColorPlanes 87
+#define X_FreeColors 88
+#define X_StoreColors 89
+#define X_StoreNamedColor 90
+#define X_QueryColors 91
+#define X_LookupColor 92
+#define X_CreateCursor 93
+#define X_CreateGlyphCursor 94
+#define X_FreeCursor 95
+#define X_RecolorCursor 96
+#define X_QueryBestSize 97
+#define X_QueryExtension 98
+#define X_ListExtensions 99
+#define X_ChangeKeyboardMapping 100
+#define X_GetKeyboardMapping 101
+#define X_ChangeKeyboardControl 102
+#define X_GetKeyboardControl 103
+#define X_Bell 104
+#define X_ChangePointerControl 105
+#define X_GetPointerControl 106
+#define X_SetScreenSaver 107
+#define X_GetScreenSaver 108
+#define X_ChangeHosts 109
+#define X_ListHosts 110
+#define X_SetAccessControl 111
+#define X_SetCloseDownMode 112
+#define X_KillClient 113
+#define X_RotateProperties 114
+#define X_ForceScreenSaver 115
+#define X_SetPointerMapping 116
+#define X_GetPointerMapping 117
+#define X_SetModifierMapping 118
+#define X_GetModifierMapping 119
+#define X_NoOperation 127
+
+/* restore these definitions back to the typedefs in X.h */
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* XPROTO_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xprotostr.h b/packages/xorg-lib/xorg-headers-native/X11/Xprotostr.h
new file mode 100644
index 0000000000..f343d98498
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xprotostr.h
@@ -0,0 +1,78 @@
+/* $Xorg: Xprotostr.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+#ifndef XPROTOSTRUCTS_H
+#define XPROTOSTRUCTS_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#include <X11/Xmd.h>
+
+/* Used by PolySegment */
+
+typedef struct _xSegment {
+ INT16 x1 B16, y1 B16, x2 B16, y2 B16;
+} xSegment;
+
+/* POINT */
+
+typedef struct _xPoint {
+ INT16 x B16, y B16;
+} xPoint;
+
+typedef struct _xRectangle {
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+} xRectangle;
+
+/* ARC */
+
+typedef struct _xArc {
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ INT16 angle1 B16, angle2 B16;
+} xArc;
+
+#endif /* XPROTOSTRUCTS_H */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xregion.h b/packages/xorg-lib/xorg-headers-native/X11/Xregion.h
new file mode 100644
index 0000000000..2ddf12caca
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xregion.h
@@ -0,0 +1,190 @@
+/* $Xorg: region.h,v 1.4 2001/02/09 02:03:40 xorgcvs Exp $ */
+/************************************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+************************************************************************/
+
+#ifndef _XREGION_H
+#define _XREGION_H
+
+typedef struct {
+ short x1, x2, y1, y2;
+} Box, BOX, BoxRec, *BoxPtr;
+
+typedef struct {
+ short x, y, width, height;
+}RECTANGLE, RectangleRec, *RectanglePtr;
+
+#define TRUE 1
+#define FALSE 0
+#define MAXSHORT 32767
+#define MINSHORT -MAXSHORT
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+
+/*
+ * clip region
+ */
+
+typedef struct _XRegion {
+ long size;
+ long numRects;
+ BOX *rects;
+ BOX extents;
+} REGION;
+
+/* Xutil.h contains the declaration:
+ * typedef struct _XRegion *Region;
+ */
+
+/* 1 if two BOXs overlap.
+ * 0 if two BOXs do not overlap.
+ * Remember, x2 and y2 are not in the region
+ */
+#define EXTENTCHECK(r1, r2) \
+ ((r1)->x2 > (r2)->x1 && \
+ (r1)->x1 < (r2)->x2 && \
+ (r1)->y2 > (r2)->y1 && \
+ (r1)->y1 < (r2)->y2)
+
+/*
+ * update region extents
+ */
+#define EXTENTS(r,idRect){\
+ if((r)->x1 < (idRect)->extents.x1)\
+ (idRect)->extents.x1 = (r)->x1;\
+ if((r)->y1 < (idRect)->extents.y1)\
+ (idRect)->extents.y1 = (r)->y1;\
+ if((r)->x2 > (idRect)->extents.x2)\
+ (idRect)->extents.x2 = (r)->x2;\
+ if((r)->y2 > (idRect)->extents.y2)\
+ (idRect)->extents.y2 = (r)->y2;\
+ }
+
+/*
+ * Check to see if there is enough memory in the present region.
+ */
+#define MEMCHECK(reg, rect, firstrect){\
+ if ((reg)->numRects >= ((reg)->size - 1)){\
+ (firstrect) = (BOX *) Xrealloc \
+ ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
+ if ((firstrect) == 0)\
+ return(0);\
+ (reg)->size *= 2;\
+ (rect) = &(firstrect)[(reg)->numRects];\
+ }\
+ }
+
+/* this routine checks to see if the previous rectangle is the same
+ * or subsumes the new rectangle to add.
+ */
+
+#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
+ (!(((Reg)->numRects > 0)&&\
+ ((R-1)->y1 == (Ry1)) &&\
+ ((R-1)->y2 == (Ry2)) &&\
+ ((R-1)->x1 <= (Rx1)) &&\
+ ((R-1)->x2 >= (Rx2))))
+
+/* add a rectangle to the given Region */
+#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
+ if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ EXTENTS((r), (reg));\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+
+
+/* add a rectangle to the given Region */
+#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
+ if ((rx1 < rx2) && (ry1 < ry2) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+#define EMPTY_REGION(pReg) pReg->numRects = 0
+
+#define REGION_NOT_EMPTY(pReg) pReg->numRects
+
+#define INBOX(r, x, y) \
+ ( ( ((r).x2 > x)) && \
+ ( ((r).x1 <= x)) && \
+ ( ((r).y2 > y)) && \
+ ( ((r).y1 <= y)) )
+
+/*
+ * number of points to buffer before sending them off
+ * to scanlines() : Must be an even number
+ */
+#define NUMPTSTOBUFFER 200
+
+/*
+ * used to allocate buffers for points and link
+ * the buffers together
+ */
+typedef struct _POINTBLOCK {
+ XPoint pts[NUMPTSTOBUFFER];
+ struct _POINTBLOCK *next;
+} POINTBLOCK;
+
+#endif
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xresource.h b/packages/xorg-lib/xorg-headers-native/X11/Xresource.h
new file mode 100644
index 0000000000..ce1213748c
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xresource.h
@@ -0,0 +1,360 @@
+/* $Xorg: Xresource.h,v 1.7 2001/02/09 02:03:39 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/X11/Xresource.h,v 3.8 2001/12/14 19:54:10 dawes Exp $ */
+
+#ifndef _XRESOURCE_H_
+#define _XRESOURCE_H_
+
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#endif
+
+/****************************************************************
+ ****************************************************************
+ *** ***
+ *** ***
+ *** X Resource Manager Intrinsics ***
+ *** ***
+ *** ***
+ ****************************************************************
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *Xpermalloc(
+ unsigned int /* size */
+);
+
+/****************************************************************
+ *
+ * Quark Management
+ *
+ ****************************************************************/
+
+typedef int XrmQuark, *XrmQuarkList;
+#define NULLQUARK ((XrmQuark) 0)
+
+typedef char *XrmString;
+#define NULLSTRING ((XrmString) 0)
+
+/* find quark for string, create new quark if none already exists */
+extern XrmQuark XrmStringToQuark(
+ _Xconst char* /* string */
+);
+
+extern XrmQuark XrmPermStringToQuark(
+ _Xconst char* /* string */
+);
+
+/* find string for quark */
+extern XrmString XrmQuarkToString(
+ XrmQuark /* quark */
+);
+
+extern XrmQuark XrmUniqueQuark(
+ void
+);
+
+#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
+
+
+/****************************************************************
+ *
+ * Conversion of Strings to Lists
+ *
+ ****************************************************************/
+
+typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
+
+extern void XrmStringToQuarkList(
+ _Xconst char* /* string */,
+ XrmQuarkList /* quarks_return */
+);
+
+extern void XrmStringToBindingQuarkList(
+ _Xconst char* /* string */,
+ XrmBindingList /* bindings_return */,
+ XrmQuarkList /* quarks_return */
+);
+
+/****************************************************************
+ *
+ * Name and Class lists.
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmName;
+typedef XrmQuarkList XrmNameList;
+#define XrmNameToString(name) XrmQuarkToString(name)
+#define XrmStringToName(string) XrmStringToQuark(string)
+#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
+
+typedef XrmQuark XrmClass;
+typedef XrmQuarkList XrmClassList;
+#define XrmClassToString(c_class) XrmQuarkToString(c_class)
+#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
+#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
+
+
+
+/****************************************************************
+ *
+ * Resource Representation Types and Values
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmRepresentation;
+#define XrmStringToRepresentation(string) XrmStringToQuark(string)
+#define XrmRepresentationToString(type) XrmQuarkToString(type)
+
+typedef struct {
+ unsigned int size;
+ XPointer addr;
+} XrmValue, *XrmValuePtr;
+
+
+/****************************************************************
+ *
+ * Resource Manager Functions
+ *
+ ****************************************************************/
+
+typedef struct _XrmHashBucketRec *XrmHashBucket;
+typedef XrmHashBucket *XrmHashTable;
+typedef XrmHashTable XrmSearchList[];
+typedef struct _XrmHashBucketRec *XrmDatabase;
+
+
+extern void XrmDestroyDatabase(
+ XrmDatabase /* database */
+);
+
+extern void XrmQPutResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmPutResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmQPutStringResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutStringResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutLineResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* line */
+);
+
+extern Bool XrmQGetResource(
+ XrmDatabase /* database */,
+ XrmNameList /* quark_name */,
+ XrmClassList /* quark_class */,
+ XrmRepresentation* /* quark_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmGetResource(
+ XrmDatabase /* database */,
+ _Xconst char* /* str_name */,
+ _Xconst char* /* str_class */,
+ char** /* str_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmQGetSearchList(
+ XrmDatabase /* database */,
+ XrmNameList /* names */,
+ XrmClassList /* classes */,
+ XrmSearchList /* list_return */,
+ int /* list_length */
+);
+
+extern Bool XrmQGetSearchResource(
+ XrmSearchList /* list */,
+ XrmName /* name */,
+ XrmClass /* class */,
+ XrmRepresentation* /* type_return */,
+ XrmValue* /* value_return */
+);
+
+/****************************************************************
+ *
+ * Resource Database Management
+ *
+ ****************************************************************/
+
+#ifndef _XP_PRINT_SERVER_
+
+extern void XrmSetDatabase(
+ Display* /* display */,
+ XrmDatabase /* database */
+);
+
+extern XrmDatabase XrmGetDatabase(
+ Display* /* display */
+);
+
+#endif /* !_XP_PRINT_SERVER_ */
+
+extern XrmDatabase XrmGetFileDatabase(
+ _Xconst char* /* filename */
+);
+
+extern Status XrmCombineFileDatabase(
+ _Xconst char* /* filename */,
+ XrmDatabase* /* target */,
+ Bool /* override */
+);
+
+extern XrmDatabase XrmGetStringDatabase(
+ _Xconst char* /* data */ /* null terminated string */
+);
+
+extern void XrmPutFileDatabase(
+ XrmDatabase /* database */,
+ _Xconst char* /* filename */
+);
+
+extern void XrmMergeDatabases(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */
+);
+
+extern void XrmCombineDatabase(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */,
+ Bool /* override */
+);
+
+#define XrmEnumAllLevels 0
+#define XrmEnumOneLevel 1
+
+extern Bool XrmEnumerateDatabase(
+ XrmDatabase /* db */,
+ XrmNameList /* name_prefix */,
+ XrmClassList /* class_prefix */,
+ int /* mode */,
+ Bool (*)(
+ XrmDatabase* /* db */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation* /* type */,
+ XrmValue* /* value */,
+ XPointer /* closure */
+ ) /* proc */,
+ XPointer /* closure */
+);
+
+extern const char *XrmLocaleOfDatabase(
+ XrmDatabase /* database */
+);
+
+
+/****************************************************************
+ *
+ * Command line option mapping to resource entries
+ *
+ ****************************************************************/
+
+typedef enum {
+ XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
+ XrmoptionIsArg, /* Value is the option string itself */
+ XrmoptionStickyArg, /* Value is characters immediately following option */
+ XrmoptionSepArg, /* Value is next argument in argv */
+ XrmoptionResArg, /* Resource and value in next argument in argv */
+ XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
+ XrmoptionSkipLine, /* Ignore this option and the rest of argv */
+ XrmoptionSkipNArgs /* Ignore this option and the next
+ OptionDescRes.value arguments in argv */
+} XrmOptionKind;
+
+typedef struct {
+ char *option; /* Option abbreviation in argv */
+ char *specifier; /* Resource specifier */
+ XrmOptionKind argKind; /* Which style of option it is */
+ XPointer value; /* Value to provide if XrmoptionNoArg */
+} XrmOptionDescRec, *XrmOptionDescList;
+
+
+extern void XrmParseCommand(
+ XrmDatabase* /* database */,
+ XrmOptionDescList /* table */,
+ int /* table_count */,
+ _Xconst char* /* name */,
+ int* /* argc_in_out */,
+ char** /* argv_in_out */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XRESOURCE_H_ */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xthreads.h b/packages/xorg-lib/xorg-headers-native/X11/Xthreads.h
new file mode 100644
index 0000000000..54b5440ad8
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xthreads.h
@@ -0,0 +1,316 @@
+/*
+ * $Xorg: Xthreads.h,v 1.5 2001/02/09 02:03:23 xorgcvs Exp $
+ *
+ *
+Copyright 1993, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ * *
+ */
+/* $XFree86: Xthreads.h,v 3.10 2001/12/14 19:53:26 dawes Exp $ */
+
+#ifndef _XTHREADS_H_
+#define _XTHREADS_H_
+
+/* Redefine these to XtMalloc/XtFree or whatever you want before including
+ * this header file.
+ */
+#ifndef xmalloc
+#define xmalloc malloc
+#endif
+#ifndef xfree
+#define xfree free
+#endif
+
+#ifdef CTHREADS
+#include <cthreads.h>
+typedef cthread_t xthread_t;
+typedef struct condition xcondition_rec;
+typedef struct mutex xmutex_rec;
+#define xthread_init() cthread_init()
+#define xthread_self cthread_self
+#define xthread_fork(func,closure) cthread_fork(func,closure)
+#define xthread_yield() cthread_yield()
+#define xthread_exit(v) cthread_exit(v)
+#define xthread_set_name(t,str) cthread_set_name(t,str)
+#define xmutex_init(m) mutex_init(m)
+#define xmutex_clear(m) mutex_clear(m)
+#define xmutex_lock(m) mutex_lock(m)
+#define xmutex_unlock(m) mutex_unlock(m)
+#define xmutex_set_name(m,str) mutex_set_name(m,str)
+#define xcondition_init(cv) condition_init(cv)
+#define xcondition_clear(cv) condition_clear(cv)
+#define xcondition_wait(cv,m) condition_wait(cv,m)
+#define xcondition_signal(cv) condition_signal(cv)
+#define xcondition_broadcast(cv) condition_broadcast(cv)
+#define xcondition_set_name(cv,str) condition_set_name(cv,str)
+#else /* !CTHREADS */
+#if defined(SVR4) && !defined(__sgi) && !defined(_SEQUENT_)
+#include <thread.h>
+#include <synch.h>
+typedef thread_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+#if defined(__UNIXWARE__)
+extern xthread_t (*_x11_thr_self)();
+#define xthread_self (_x11_thr_self)
+#else
+#define xthread_self thr_self
+#endif
+#define xthread_fork(func,closure) thr_create(NULL,0,func,closure,THR_NEW_LWP|THR_DETACHED,NULL)
+#define xthread_yield() thr_yield()
+#define xthread_exit(v) thr_exit(v)
+#define xthread_key_create(kp,d) thr_keycreate(kp,d)
+#ifdef sun
+#define xthread_key_delete(k) 0
+#else
+#define xthread_key_delete(k) thr_keydelete(k)
+#endif
+#define xthread_set_specific(k,v) thr_setspecific(k,v)
+#define xthread_get_specific(k,vp) thr_getspecific(k,vp)
+#define xmutex_init(m) mutex_init(m,USYNC_THREAD,0)
+#define xmutex_clear(m) mutex_destroy(m)
+#define xmutex_lock(m) mutex_lock(m)
+#define xmutex_unlock(m) mutex_unlock(m)
+#define xcondition_init(cv) cond_init(cv,USYNC_THREAD,0)
+#define xcondition_clear(cv) cond_destroy(cv)
+#define xcondition_wait(cv,m) cond_wait(cv,m)
+#define xcondition_signal(cv) cond_signal(cv)
+#define xcondition_broadcast(cv) cond_broadcast(cv)
+#else /* !SVR4 */
+#ifdef WIN32
+#include <X11/Xwindows.h>
+typedef DWORD xthread_t;
+typedef DWORD xthread_key_t;
+struct _xthread_waiter {
+ HANDLE sem;
+ struct _xthread_waiter *next;
+};
+typedef struct {
+ CRITICAL_SECTION cs;
+ struct _xthread_waiter *waiters;
+} xcondition_rec;
+typedef CRITICAL_SECTION xmutex_rec;
+#define xthread_init() _Xthread_init()
+#define xthread_self GetCurrentThreadId
+#define xthread_fork(func,closure) { \
+ DWORD _tmptid; \
+ CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, (LPVOID)closure, 0, \
+ &_tmptid); \
+}
+#define xthread_yield() Sleep(0)
+#define xthread_exit(v) ExitThread((DWORD)(v))
+#define xthread_key_create(kp,d) *(kp) = TlsAlloc()
+#define xthread_key_delete(k) TlsFree(k)
+#define xthread_set_specific(k,v) TlsSetValue(k,v)
+#define xthread_get_specific(k,vp) TlsGetValue(k)
+#define xmutex_init(m) InitializeCriticalSection(m)
+#define xmutex_clear(m) DeleteCriticalSection(m)
+#define _XMUTEX_NESTS
+#define xmutex_lock(m) EnterCriticalSection(m)
+#define xmutex_unlock(m) LeaveCriticalSection(m)
+#define xcondition_init(cv) { \
+ InitializeCriticalSection(&(cv)->cs); \
+ (cv)->waiters = NULL; \
+}
+#define xcondition_clear(cv) DeleteCriticalSection(&(cv)->cs)
+extern struct _xthread_waiter *_Xthread_waiter();
+#define xcondition_wait(cv,m) { \
+ struct _xthread_waiter *_tmpthr = _Xthread_waiter(); \
+ EnterCriticalSection(&(cv)->cs); \
+ _tmpthr->next = (cv)->waiters; \
+ (cv)->waiters = _tmpthr; \
+ LeaveCriticalSection(&(cv)->cs); \
+ LeaveCriticalSection(m); \
+ WaitForSingleObject(_tmpthr->sem, INFINITE); \
+ EnterCriticalSection(m); \
+}
+#define xcondition_signal(cv) { \
+ EnterCriticalSection(&(cv)->cs); \
+ if ((cv)->waiters) { \
+ ReleaseSemaphore((cv)->waiters->sem, 1, NULL); \
+ (cv)->waiters = (cv)->waiters->next; \
+ } \
+ LeaveCriticalSection(&(cv)->cs); \
+}
+#define xcondition_broadcast(cv) { \
+ struct _xthread_waiter *_tmpthr; \
+ EnterCriticalSection(&(cv)->cs); \
+ for (_tmpthr = (cv)->waiters; _tmpthr; _tmpthr = _tmpthr->next) \
+ ReleaseSemaphore(_tmpthr->sem, 1, NULL); \
+ (cv)->waiters = NULL; \
+ LeaveCriticalSection(&(cv)->cs); \
+}
+#else /* !WIN32 */
+#ifdef USE_TIS_SUPPORT
+/*
+ * TIS support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+#include <tis.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+#define xthread_self tis_self
+#define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,NULL,func,closure); }
+#define xthread_yield() pthread_yield_np()
+#define xthread_exit(v) pthread_exit(v)
+#define xthread_key_create(kp,d) tis_key_create(kp,d)
+#define xthread_key_delete(k) tis_key_delete(k)
+#define xthread_set_specific(k,v) tis_setspecific(k,v)
+#define xthread_get_specific(k,vp) *(vp) = tis_getspecific(k)
+#define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#define xmutex_init(m) tis_mutex_init(m)
+#define xmutex_clear(m) tis_mutex_destroy(m)
+#define xmutex_lock(m) tis_mutex_lock(m)
+#define xmutex_unlock(m) tis_mutex_unlock(m)
+#define xcondition_init(c) tis_cond_init(c)
+#define xcondition_clear(c) tis_cond_destroy(c)
+#define xcondition_wait(c,m) tis_cond_wait(c,m)
+#define xcondition_signal(c) tis_cond_signal(c)
+#define xcondition_broadcast(c) tis_cond_broadcast(c)
+#else
+#ifdef USE_NBSD_THREADLIB
+/*
+ * NetBSD threadlib support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+#include <threadlib.h>
+typedef thr_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+#define xthread_self thr_self
+#define xthread_fork(func,closure) { thr_t _tmpxthr; \
+ /* XXX Create it detached? --thorpej */ \
+ thr_create(&_tmpxthr,NULL,func,closure); }
+#define xthread_yield() thr_yield()
+#define xthread_exit(v) thr_exit(v)
+#define xthread_key_create(kp,d) thr_keycreate(kp,d)
+#define xthread_key_delete(k) thr_keydelete(k)
+#define xthread_set_specific(k,v) thr_setspecific(k,v)
+#define xthread_get_specific(k,vp) *(vp) = thr_getspecific(k)
+#define XMUTEX_INITIALIZER MUTEX_INITIALIZER
+#define xmutex_init(m) mutex_init(m, 0)
+#define xmutex_clear(m) mutex_destroy(m)
+#define xmutex_lock(m) mutex_lock(m)
+#define xmutex_unlock(m) mutex_unlock(m)
+#define xcondition_init(c) cond_init(c, 0, 0)
+#define xcondition_clear(c) cond_destroy(c)
+#define xcondition_wait(c,m) cond_wait(c,m)
+#define xcondition_signal(c) cond_signal(c)
+#define xcondition_broadcast(c) cond_broadcast(c)
+#else
+#include <pthread.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+#define xthread_self pthread_self
+#define xthread_yield() pthread_yield()
+#define xthread_exit(v) pthread_exit(v)
+#define xthread_set_specific(k,v) pthread_setspecific(k,v)
+#define xmutex_clear(m) pthread_mutex_destroy(m)
+#define xmutex_lock(m) pthread_mutex_lock(m)
+#define xmutex_unlock(m) pthread_mutex_unlock(m)
+#ifndef XPRE_STANDARD_API
+#define xthread_key_create(kp,d) pthread_key_create(kp,d)
+#define xthread_key_delete(k) pthread_key_delete(k)
+#define xthread_get_specific(k,vp) *(vp) = pthread_getspecific(k)
+#define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,NULL,func,closure); }
+#define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#define xmutex_init(m) pthread_mutex_init(m, NULL)
+#define xcondition_init(c) pthread_cond_init(c, NULL)
+#else /* XPRE_STANDARD_API */
+#define xthread_key_create(kp,d) pthread_keycreate(kp,d)
+#define xthread_key_delete(k) 0
+#define xthread_get_specific(k,vp) pthread_getspecific(k,vp)
+#define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,pthread_attr_default,func,closure); }
+#define xmutex_init(m) pthread_mutex_init(m, pthread_mutexattr_default)
+#define xcondition_init(c) pthread_cond_init(c, pthread_condattr_default)
+#endif /* XPRE_STANDARD_API */
+#define xcondition_clear(c) pthread_cond_destroy(c)
+#define xcondition_wait(c,m) pthread_cond_wait(c,m)
+#define xcondition_signal(c) pthread_cond_signal(c)
+#define xcondition_broadcast(c) pthread_cond_broadcast(c)
+#if defined(_DECTHREADS_)
+static xthread_t _X_no_thread_id;
+#define xthread_have_id(id) !pthread_equal(id, _X_no_thread_id)
+#define xthread_clear_id(id) id = _X_no_thread_id
+#define xthread_equal(id1,id2) pthread_equal(id1, id2)
+#endif /* _DECTHREADS_ */
+#if defined(__linux__)
+#define xthread_have_id(id) !pthread_equal(id, 0)
+#define xthread_clear_id(id) id = 0
+#define xthread_equal(id1,id2) pthread_equal(id1, id2)
+#endif /* linux */
+#if defined(_CMA_VENDOR_) && defined(_CMA__IBM) && (_CMA_VENDOR_ == _CMA__IBM)
+#ifdef DEBUG /* too much of a hack to enable normally */
+/* see also cma__obj_set_name() */
+#define xmutex_set_name(m,str) ((char**)(m)->field1)[5] = (str)
+#define xcondition_set_name(cv,str) ((char**)(cv)->field1)[5] = (str)
+#endif /* DEBUG */
+#endif /* _CMA_VENDOR_ == _CMA__IBM */
+#endif /* USE_NBSD_THREADLIB */
+#endif /* USE_TIS_SUPPORT */
+#endif /* WIN32 */
+#endif /* SVR4 */
+#endif /* CTHREADS */
+typedef xcondition_rec *xcondition_t;
+typedef xmutex_rec *xmutex_t;
+#ifndef xcondition_malloc
+#define xcondition_malloc() (xcondition_t)xmalloc(sizeof(xcondition_rec))
+#endif
+#ifndef xcondition_free
+#define xcondition_free(c) xfree((char *)c)
+#endif
+#ifndef xmutex_malloc
+#define xmutex_malloc() (xmutex_t)xmalloc(sizeof(xmutex_rec))
+#endif
+#ifndef xmutex_free
+#define xmutex_free(m) xfree((char *)m)
+#endif
+#ifndef xthread_have_id
+#define xthread_have_id(id) id
+#endif
+#ifndef xthread_clear_id
+#define xthread_clear_id(id) id = 0
+#endif
+#ifndef xthread_equal
+#define xthread_equal(id1,id2) ((id1) == (id2))
+#endif
+/* aids understood by some debuggers */
+#ifndef xthread_set_name
+#define xthread_set_name(t,str)
+#endif
+#ifndef xmutex_set_name
+#define xmutex_set_name(m,str)
+#endif
+#ifndef xcondition_set_name
+#define xcondition_set_name(cv,str)
+#endif
+
+#endif /* _XTHREADS_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xtos.h b/packages/xorg-lib/xorg-headers-native/X11/Xtos.h
new file mode 100644
index 0000000000..013b2416ce
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xtos.h
@@ -0,0 +1,77 @@
+/*
+* $Xorg: Xtos.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/Xtos.h,v 3.12tsi Exp $ */
+
+#ifndef _Xtos_h
+#define _Xtos_h
+
+#define ALLOCATE_LOCAL_FALLBACK(_size) XtMalloc((unsigned long)(_size))
+#define DEALLOCATE_LOCAL_FALLBACK(_ptr) XtFree((XtPointer)(_ptr))
+#include <X11/Xalloca.h>
+
+#ifdef CRAY
+#define WORD64
+#endif
+
+#if defined (_LP64) || \
+ defined(__alpha) || defined(__alpha__) || \
+ defined(__ia64__) || defined(ia64) || \
+ defined(__sparc64__) || \
+ defined(__s390x__) || \
+ (defined(__hppa__) && defined(__LP64__)) || \
+ defined(__amd64__) || defined(amd64) || \
+ defined(__powerpc64__) || \
+ (defined(sgi) && (_MIPS_SZLONG == 64))
+#define LONG64
+#endif
+
+#endif /* _Xtos_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xutil.h b/packages/xorg-lib/xorg-headers-native/X11/Xutil.h
new file mode 100644
index 0000000000..9f2ef63048
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xutil.h
@@ -0,0 +1,828 @@
+/* $Xorg: Xutil.h,v 1.8 2001/02/09 02:03:39 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/X11/Xutil.h,v 3.6 2003/04/13 19:22:20 dawes Exp $ */
+
+#ifndef _XUTIL_H_
+#define _XUTIL_H_
+
+/* You must include <X11/Xlib.h> before including this file */
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+/*
+ * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+ */
+#define NoValue 0x0000
+#define XValue 0x0001
+#define YValue 0x0002
+#define WidthValue 0x0004
+#define HeightValue 0x0008
+#define AllValues 0x000F
+#define XNegative 0x0010
+#define YNegative 0x0020
+
+/*
+ * new version containing base_width, base_height, and win_gravity fields;
+ * used with WM_NORMAL_HINTS.
+ */
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ int x, y; /* obsolete for new window mgrs, but clients */
+ int width, height; /* should set so old wm's don't mess up */
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+ struct {
+ int x; /* numerator */
+ int y; /* denominator */
+ } min_aspect, max_aspect;
+ int base_width, base_height; /* added by ICCCM version 1 */
+ int win_gravity; /* added by ICCCM version 1 */
+} XSizeHints;
+
+/*
+ * The next block of definitions are for window manager properties that
+ * clients and applications use for communication.
+ */
+
+/* flags argument in size hints */
+#define USPosition (1L << 0) /* user specified x, y */
+#define USSize (1L << 1) /* user specified width, height */
+
+#define PPosition (1L << 2) /* program specified position */
+#define PSize (1L << 3) /* program specified size */
+#define PMinSize (1L << 4) /* program specified minimum size */
+#define PMaxSize (1L << 5) /* program specified maximum size */
+#define PResizeInc (1L << 6) /* program specified resize increments */
+#define PAspect (1L << 7) /* program specified min and max aspect ratios */
+#define PBaseSize (1L << 8) /* program specified base for incrementing */
+#define PWinGravity (1L << 9) /* program specified window gravity */
+
+/* obsolete */
+#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
+
+
+
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ Bool input; /* does this application rely on the window manager to
+ get keyboard input? */
+ int initial_state; /* see below */
+ Pixmap icon_pixmap; /* pixmap to be used as icon */
+ Window icon_window; /* window to be used as icon */
+ int icon_x, icon_y; /* initial position of icon */
+ Pixmap icon_mask; /* icon mask bitmap */
+ XID window_group; /* id of related window group */
+ /* this structure may be extended in the future */
+} XWMHints;
+
+/* definition for flags of XWMHints */
+
+#define InputHint (1L << 0)
+#define StateHint (1L << 1)
+#define IconPixmapHint (1L << 2)
+#define IconWindowHint (1L << 3)
+#define IconPositionHint (1L << 4)
+#define IconMaskHint (1L << 5)
+#define WindowGroupHint (1L << 6)
+#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
+IconPositionHint|IconMaskHint|WindowGroupHint)
+#define XUrgencyHint (1L << 8)
+
+/* definitions for initial window state */
+#define WithdrawnState 0 /* for windows that are not mapped */
+#define NormalState 1 /* most applications want to start this way */
+#define IconicState 3 /* application wants to start as an icon */
+
+/*
+ * Obsolete states no longer defined by ICCCM
+ */
+#define DontCareState 0 /* don't know or care */
+#define ZoomState 2 /* application wants to start zoomed */
+#define InactiveState 4 /* application believes it is seldom used; */
+ /* some wm's may put it on inactive menu */
+
+
+/*
+ * new structure for manipulating TEXT properties; used with WM_NAME,
+ * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
+ */
+typedef struct {
+ unsigned char *value; /* same as Property routines */
+ Atom encoding; /* prop type */
+ int format; /* prop data format: 8, 16, or 32 */
+ unsigned long nitems; /* number of data items in value */
+} XTextProperty;
+
+#define XNoMemory -1
+#define XLocaleNotSupported -2
+#define XConverterNotFound -3
+
+typedef enum {
+ XStringStyle, /* STRING */
+ XCompoundTextStyle, /* COMPOUND_TEXT */
+ XTextStyle, /* text in owner's encoding (current locale)*/
+ XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
+ /* The following is an XFree86 extension, introduced in November 2000 */
+ XUTF8StringStyle /* UTF8_STRING */
+} XICCEncodingStyle;
+
+typedef struct {
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+} XIconSize;
+
+typedef struct {
+ char *res_name;
+ char *res_class;
+} XClassHint;
+
+#ifdef XUTIL_DEFINE_FUNCTIONS
+extern int XDestroyImage(
+ XImage *ximage);
+extern unsigned long XGetPixel(
+ XImage *ximage,
+ int x, int y);
+extern int XPutPixel(
+ XImage *ximage,
+ int x, int y,
+ unsigned long pixel);
+extern XImage *XSubImage(
+ XImage *ximage,
+ int x, int y,
+ unsigned int width, unsigned int height);
+extern int XAddPixel(
+ XImage *ximage,
+ long value);
+#else
+/*
+ * These macros are used to give some sugar to the image routines so that
+ * naive people are more comfortable with them.
+ */
+#define XDestroyImage(ximage) \
+ ((*((ximage)->f.destroy_image))((ximage)))
+#define XGetPixel(ximage, x, y) \
+ ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
+#define XPutPixel(ximage, x, y, pixel) \
+ ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
+#define XSubImage(ximage, x, y, width, height) \
+ ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
+#define XAddPixel(ximage, value) \
+ ((*((ximage)->f.add_pixel))((ximage), (value)))
+#endif
+
+/*
+ * Compose sequence status structure, used in calling XLookupString.
+ */
+typedef struct _XComposeStatus {
+ XPointer compose_ptr; /* state table pointer */
+ int chars_matched; /* match state */
+} XComposeStatus;
+
+/*
+ * Keysym macros, used on Keysyms to test for classes of symbols
+ */
+#define IsKeypadKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
+
+#define IsPrivateKeypadKey(keysym) \
+ (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
+
+#define IsCursorKey(keysym) \
+ (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
+
+#define IsPFKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
+
+#define IsFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
+
+#define IsMiscFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
+
+#ifdef XK_XKB_KEYS
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || (((KeySym)(keysym) >= XK_ISO_Lock) && \
+ ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#else
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#endif
+/*
+ * opaque reference to Region data type
+ */
+typedef struct _XRegion *Region;
+
+/* Return values from XRectInRegion() */
+
+#define RectangleOut 0
+#define RectangleIn 1
+#define RectanglePart 2
+
+
+/*
+ * Information used by the visual utility routines to find desired visual
+ * type from the many visuals a display may support.
+ */
+
+typedef struct {
+ Visual *visual;
+ VisualID visualid;
+ int screen;
+ int depth;
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ */
+#else
+ int class;
+#endif
+ unsigned long red_mask;
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ int colormap_size;
+ int bits_per_rgb;
+} XVisualInfo;
+
+#define VisualNoMask 0x0
+#define VisualIDMask 0x1
+#define VisualScreenMask 0x2
+#define VisualDepthMask 0x4
+#define VisualClassMask 0x8
+#define VisualRedMaskMask 0x10
+#define VisualGreenMaskMask 0x20
+#define VisualBlueMaskMask 0x40
+#define VisualColormapSizeMask 0x80
+#define VisualBitsPerRGBMask 0x100
+#define VisualAllMask 0x1FF
+
+/*
+ * This defines a window manager property that clients may use to
+ * share standard color maps of type RGB_COLOR_MAP:
+ */
+typedef struct {
+ Colormap colormap;
+ unsigned long red_max;
+ unsigned long red_mult;
+ unsigned long green_max;
+ unsigned long green_mult;
+ unsigned long blue_max;
+ unsigned long blue_mult;
+ unsigned long base_pixel;
+ VisualID visualid; /* added by ICCCM version 1 */
+ XID killid; /* added by ICCCM version 1 */
+} XStandardColormap;
+
+#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
+
+
+/*
+ * return codes for XReadBitmapFile and XWriteBitmapFile
+ */
+#define BitmapSuccess 0
+#define BitmapOpenFailed 1
+#define BitmapFileInvalid 2
+#define BitmapNoMemory 3
+
+/****************************************************************
+ *
+ * Context Management
+ *
+ ****************************************************************/
+
+
+/* Associative lookup table return codes */
+
+#define XCSUCCESS 0 /* No error. */
+#define XCNOMEM 1 /* Out of memory */
+#define XCNOENT 2 /* No entry in table */
+
+typedef int XContext;
+
+#define XUniqueContext() ((XContext) XrmUniqueQuark())
+#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
+
+_XFUNCPROTOBEGIN
+
+/* The following declarations are alphabetized. */
+
+extern XClassHint *XAllocClassHint (
+ void
+);
+
+extern XIconSize *XAllocIconSize (
+ void
+);
+
+extern XSizeHints *XAllocSizeHints (
+ void
+);
+
+extern XStandardColormap *XAllocStandardColormap (
+ void
+);
+
+extern XWMHints *XAllocWMHints (
+ void
+);
+
+extern int XClipBox(
+ Region /* r */,
+ XRectangle* /* rect_return */
+);
+
+extern Region XCreateRegion(
+ void
+);
+
+extern const char *XDefaultString (void);
+
+extern int XDeleteContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */
+);
+
+extern int XDestroyRegion(
+ Region /* r */
+);
+
+extern int XEmptyRegion(
+ Region /* r */
+);
+
+extern int XEqualRegion(
+ Region /* r1 */,
+ Region /* r2 */
+);
+
+extern int XFindContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ XPointer* /* data_return */
+);
+
+extern Status XGetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints_return */
+);
+
+extern Status XGetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize** /* size_list_return */,
+ int* /* count_return */
+);
+
+extern Status XGetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */
+);
+
+extern Status XGetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap** /* stdcmap_return */,
+ int* /* count_return */,
+ Atom /* property */
+);
+
+extern Status XGetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ Atom /* property */
+);
+
+extern Status XGetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap_return */,
+ Atom /* property */
+);
+
+extern Status XGetTextProperty(
+ Display* /* display */,
+ Window /* window */,
+ XTextProperty* /* text_prop_return */,
+ Atom /* property */
+);
+
+extern XVisualInfo *XGetVisualInfo(
+ Display* /* display */,
+ long /* vinfo_mask */,
+ XVisualInfo* /* vinfo_template */,
+ int* /* nitems_return */
+);
+
+extern Status XGetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern XWMHints *XGetWMHints(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XGetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */
+);
+
+extern Status XGetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */,
+ Atom /* property */
+);
+
+extern Status XGetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints_return */
+);
+
+extern int XIntersectRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern void XConvertCase(
+ KeySym /* sym */,
+ KeySym* /* lower */,
+ KeySym* /* upper */
+);
+
+extern int XLookupString(
+ XKeyEvent* /* event_struct */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ XComposeStatus* /* status_in_out */
+);
+
+extern Status XMatchVisualInfo(
+ Display* /* display */,
+ int /* screen */,
+ int /* depth */,
+ int /* class */,
+ XVisualInfo* /* vinfo_return */
+);
+
+extern int XOffsetRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Bool XPointInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */
+);
+
+extern Region XPolygonRegion(
+ XPoint* /* points */,
+ int /* n */,
+ int /* fill_rule */
+);
+
+extern int XRectInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XSaveContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ _Xconst char* /* data */
+);
+
+extern int XSetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints */
+);
+
+extern int XSetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize* /* size_list */,
+ int /* count */
+);
+
+extern int XSetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* stdcmaps */,
+ int /* count */,
+ Atom /* property */
+);
+
+extern int XSetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetStandardProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ Pixmap /* icon_pixmap */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetTextProperty(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */,
+ Atom /* property */
+);
+
+extern void XSetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern int XSetWMHints(
+ Display* /* display */,
+ Window /* w */,
+ XWMHints* /* wm_hints */
+);
+
+extern void XSetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* window_name */,
+ XTextProperty* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XmbSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void Xutf8SetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XSetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetRegion(
+ Display* /* display */,
+ GC /* gc */,
+ Region /* r */
+);
+
+extern void XSetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap */,
+ Atom /* property */
+);
+
+extern int XSetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints */
+);
+
+extern int XShrinkRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Status XStringListToTextProperty(
+ char** /* list */,
+ int /* count */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern int XSubtractRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XmbTextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int XwcTextListToTextProperty(
+ Display* display,
+ wchar_t** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int Xutf8TextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern void XwcFreeStringList(
+ wchar_t** list
+);
+
+extern Status XTextPropertyToStringList(
+ XTextProperty* /* text_prop */,
+ char*** /* list_return */,
+ int* /* count_return */
+);
+
+extern int XmbTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XwcTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ wchar_t*** list_return,
+ int* count_return
+);
+
+extern int Xutf8TextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XUnionRectWithRegion(
+ XRectangle* /* rectangle */,
+ Region /* src_region */,
+ Region /* dest_region_return */
+);
+
+extern int XUnionRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XWMGeometry(
+ Display* /* display */,
+ int /* screen_number */,
+ _Xconst char* /* user_geometry */,
+ _Xconst char* /* default_geometry */,
+ unsigned int /* border_width */,
+ XSizeHints* /* hints */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */,
+ int* /* gravity_return */
+);
+
+extern int XXorRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XUTIL_H_ */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xw32defs.h b/packages/xorg-lib/xorg-headers-native/X11/Xw32defs.h
new file mode 100644
index 0000000000..07624fef60
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xw32defs.h
@@ -0,0 +1,81 @@
+/* $Xorg: Xw32defs.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
+
+#ifndef _XW32DEFS_H
+#define _XW32DEFS_H
+
+#ifdef __GNUC__ /* mingw is more close to unix than msvc */
+#if !defined(__daddr_t_defined)
+typedef char *caddr_t;
+#endif
+#define lstat stat
+
+#else
+typedef char *caddr_t;
+
+#define access _access
+#define alloca _alloca
+#define chdir _chdir
+#define chmod _chmod
+#define close _close
+#define creat _creat
+#define dup _dup
+#define dup2 _dup2
+#define environ _environ
+#define execl _execl
+#define execle _execle
+#define execlp _execlp
+#define execlpe _execlpe
+#define execv _execv
+#define execve _execve
+#define execvp _execvp
+#define execvpe _execvpe
+#define fdopen _fdopen
+#define fileno _fileno
+#define fstat _fstat
+#define getcwd _getcwd
+#define getpid _getpid
+#define hypot _hypot
+#define isascii __isascii
+#define isatty _isatty
+#define lseek _lseek
+#define mkdir _mkdir
+#define mktemp _mktemp
+#define open _open
+#define putenv _putenv
+#define read _read
+#define rmdir _rmdir
+#define sleep(x) _sleep((x) * 1000)
+#define stat _stat
+#define sys_errlist _sys_errlist
+#define sys_nerr _sys_nerr
+#define umask _umask
+#define unlink _unlink
+#define write _write
+#define random rand
+#define srandom srand
+
+#define O_RDONLY _O_RDONLY
+#define O_WRONLY _O_WRONLY
+#define O_RDWR _O_RDWR
+#define O_APPEND _O_APPEND
+#define O_CREAT _O_CREAT
+#define O_TRUNC _O_TRUNC
+#define O_EXCL _O_EXCL
+#define O_TEXT _O_TEXT
+#define O_BINARY _O_BINARY
+#define O_RAW _O_BINARY
+
+#define S_IFMT _S_IFMT
+#define S_IFDIR _S_IFDIR
+#define S_IFCHR _S_IFCHR
+#define S_IFREG _S_IFREG
+#define S_IREAD _S_IREAD
+#define S_IWRITE _S_IWRITE
+#define S_IEXEC _S_IEXEC
+
+#define F_OK 0
+#define X_OK 1
+#define W_OK 2
+#define R_OK 4
+#endif /* __GNUC__ */
+#endif
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xwindows.h b/packages/xorg-lib/xorg-headers-native/X11/Xwindows.h
new file mode 100644
index 0000000000..7fb9840bef
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xwindows.h
@@ -0,0 +1,80 @@
+/* $Xorg$ */
+/*
+
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has for sole purpose to allow to include windows.h
+ * without getting any name conflicts with our code.
+ * Conflicts come from the fact that including windows.h actually pulls
+ * in the whole Windows API...
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server
+#define _XFree86Server
+#undef XFree86Server
+#endif
+
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <windows.h>
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+#undef min
+#undef max
+
+#ifdef RESOURCE_H
+#undef RT_FONT
+#undef RT_CURSOR
+#define RT_FONT ((RESTYPE)4)
+#define RT_CURSOR ((RESTYPE)5)
+#endif
+
+#define sleep(x) Sleep(1000*x)
+
+#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
+#undef PATH_MAX
+#define PATH_MAX 1024
+#endif
+
+#ifdef _XFree86Server
+#define XFree86Server
+#undef _XFree86Server
+#endif
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/Xwinsock.h b/packages/xorg-lib/xorg-headers-native/X11/Xwinsock.h
new file mode 100644
index 0000000000..0278c09b78
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/Xwinsock.h
@@ -0,0 +1,66 @@
+/* $Xorg: Xwinsock.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+/*
+
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has for sole purpose to allow to include winsock.h
+ * without getting any name conflicts with our code.
+ * Conflicts come from the fact that including winsock.h actually pulls
+ * in the whole Windows API...
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server
+#define _XFree86Server
+#undef XFree86Server
+#endif
+
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <winsock.h>
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+#undef RT_FONT
+#undef RT_CURSOR
+
+#ifdef _XFree86Server
+#define XFree86Server
+#undef _XFree86Server
+#endif
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/ap_keysym.h b/packages/xorg-lib/xorg-headers-native/X11/ap_keysym.h
new file mode 100644
index 0000000000..9a11971170
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/ap_keysym.h
@@ -0,0 +1,51 @@
+/******************************************************************
+Copyright 1987 by Apollo Computer Inc., Chelmsford, Massachusetts.
+Copyright 1989 by Hewlett-Packard Company.
+
+ All Rights Reserved
+
+Permission to use, duplicate, change, and distribute this software and
+its documentation for any purpose and without fee is granted, provided
+that the above copyright notice appear in such copy and that this
+copyright notice appear in all supporting documentation, and that the
+names of Apollo Computer Inc., the Hewlett-Packard Company, or the X
+Consortium not be used in advertising or publicity pertaining to
+distribution of the software without written prior permission.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+******************************************************************/
+
+#define apXK_LineDel 0x1000FF00
+#define apXK_CharDel 0x1000FF01
+#define apXK_Copy 0x1000FF02
+#define apXK_Cut 0x1000FF03
+#define apXK_Paste 0x1000FF04
+#define apXK_Move 0x1000FF05
+#define apXK_Grow 0x1000FF06
+#define apXK_Cmd 0x1000FF07
+#define apXK_Shell 0x1000FF08
+#define apXK_LeftBar 0x1000FF09
+#define apXK_RightBar 0x1000FF0A
+#define apXK_LeftBox 0x1000FF0B
+#define apXK_RightBox 0x1000FF0C
+#define apXK_UpBox 0x1000FF0D
+#define apXK_DownBox 0x1000FF0E
+#define apXK_Pop 0x1000FF0F
+#define apXK_Read 0x1000FF10
+#define apXK_Edit 0x1000FF11
+#define apXK_Save 0x1000FF12
+#define apXK_Exit 0x1000FF13
+#define apXK_Repeat 0x1000FF14
+
+#define apXK_KP_parenleft 0x1000FFA8
+#define apXK_KP_parenright 0x1000FFA9
diff --git a/packages/xorg-lib/xorg-headers-native/X11/cursorfont.h b/packages/xorg-lib/xorg-headers-native/X11/cursorfont.h
new file mode 100644
index 0000000000..c6204f1c54
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/cursorfont.h
@@ -0,0 +1,107 @@
+/* $Xorg: cursorfont.h,v 1.4 2001/02/09 02:03:39 xorgcvs Exp $ */
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#define XC_num_glyphs 154
+#define XC_X_cursor 0
+#define XC_arrow 2
+#define XC_based_arrow_down 4
+#define XC_based_arrow_up 6
+#define XC_boat 8
+#define XC_bogosity 10
+#define XC_bottom_left_corner 12
+#define XC_bottom_right_corner 14
+#define XC_bottom_side 16
+#define XC_bottom_tee 18
+#define XC_box_spiral 20
+#define XC_center_ptr 22
+#define XC_circle 24
+#define XC_clock 26
+#define XC_coffee_mug 28
+#define XC_cross 30
+#define XC_cross_reverse 32
+#define XC_crosshair 34
+#define XC_diamond_cross 36
+#define XC_dot 38
+#define XC_dotbox 40
+#define XC_double_arrow 42
+#define XC_draft_large 44
+#define XC_draft_small 46
+#define XC_draped_box 48
+#define XC_exchange 50
+#define XC_fleur 52
+#define XC_gobbler 54
+#define XC_gumby 56
+#define XC_hand1 58
+#define XC_hand2 60
+#define XC_heart 62
+#define XC_icon 64
+#define XC_iron_cross 66
+#define XC_left_ptr 68
+#define XC_left_side 70
+#define XC_left_tee 72
+#define XC_leftbutton 74
+#define XC_ll_angle 76
+#define XC_lr_angle 78
+#define XC_man 80
+#define XC_middlebutton 82
+#define XC_mouse 84
+#define XC_pencil 86
+#define XC_pirate 88
+#define XC_plus 90
+#define XC_question_arrow 92
+#define XC_right_ptr 94
+#define XC_right_side 96
+#define XC_right_tee 98
+#define XC_rightbutton 100
+#define XC_rtl_logo 102
+#define XC_sailboat 104
+#define XC_sb_down_arrow 106
+#define XC_sb_h_double_arrow 108
+#define XC_sb_left_arrow 110
+#define XC_sb_right_arrow 112
+#define XC_sb_up_arrow 114
+#define XC_sb_v_double_arrow 116
+#define XC_shuttle 118
+#define XC_sizing 120
+#define XC_spider 122
+#define XC_spraycan 124
+#define XC_star 126
+#define XC_target 128
+#define XC_tcross 130
+#define XC_top_left_arrow 132
+#define XC_top_left_corner 134
+#define XC_top_right_corner 136
+#define XC_top_side 138
+#define XC_top_tee 140
+#define XC_trek 142
+#define XC_ul_angle 144
+#define XC_umbrella 146
+#define XC_ur_angle 148
+#define XC_watch 150
+#define XC_xterm 152
diff --git a/packages/xorg-lib/xorg-headers-native/X11/keysym.h b/packages/xorg-lib/xorg-headers-native/X11/keysym.h
new file mode 100644
index 0000000000..04e2956a70
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/keysym.h
@@ -0,0 +1,76 @@
+/* $Xorg: keysym.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/include/keysym.h,v 1.3 2001/01/17 17:53:12 dawes Exp $ */
+
+/* default keysyms */
+#define XK_MISCELLANY
+#define XK_XKB_KEYS
+#define XK_LATIN1
+#define XK_LATIN2
+#define XK_LATIN3
+#define XK_LATIN4
+#define XK_LATIN8
+#define XK_LATIN9
+#define XK_CAUCASUS
+#define XK_GREEK
+#define XK_KATAKANA
+#define XK_ARABIC
+#define XK_CYRILLIC
+#define XK_HEBREW
+#define XK_THAI
+#define XK_KOREAN
+#define XK_ARMENIAN
+#define XK_GEORGIAN
+#define XK_VIETNAMESE
+#define XK_CURRENCY
+#define XK_MATHEMATICAL
+#define XK_BRAILLE
+
+#include <X11/keysymdef.h>
+
diff --git a/packages/xorg-lib/xorg-headers-native/X11/keysymdef.h b/packages/xorg-lib/xorg-headers-native/X11/keysymdef.h
new file mode 100644
index 0000000000..dd9fbd98a4
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/keysymdef.h
@@ -0,0 +1,2343 @@
+/* $Xorg: keysymdef.h,v 1.4 2001/02/09 02:03:23 $ */
+
+/***********************************************************
+Copyright 1987, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: $ */
+
+/*
+ * The "X11 Window System Protocol" standard defines in Appendix A the
+ * keysym codes. These 29-bit integer values identify characters or
+ * functions associated with each key (e.g., via the visible
+ * engraving) of a keyboard layout. This file assigns mnemonic macro
+ * names for these keysyms.
+ *
+ * This file is also compiled (by xc/lib/X11/util/makekeys.c) into
+ * hash tables that can be accessed with X11 library functions such as
+ * XStringToKeysym() and XKeysymToString().
+ *
+ * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
+ * character, this is noted in a comment that provides both the U+xxxx
+ * Unicode position, as well as the official Unicode name of the
+ * character.
+ *
+ * Where the correspondence is either not one-to-one or semantically
+ * unclear, the Unicode position and name are enclosed in
+ * parentheses. Such legacy keysyms should be considered deprecated
+ * and are not recommended for use in future keyboard mappings.
+ *
+ * For any future extension of the keysyms with characters already
+ * found in ISO 10646 / Unicode, the following algorithm shall be
+ * used. The new keysym code position will simply be the character's
+ * Unicode number plus 0x01000000. The keysym values in the range
+ * 0x01000100 to 0x0110ffff are reserved to represent Unicode
+ * characters in the range U+0100 to U+10FFFF.
+ *
+ * While most newer Unicode-based X11 clients do already accept
+ * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
+ * will remain necessary for clients -- in the interest of
+ * compatibility with existing servers -- to also understand the
+ * existing legacy keysym values in the range 0x0100 to 0x20ff.
+ *
+ * Where several mnemonic names are defined for the same keysym in this
+ * file, all but the first one listed should be considered deprecated.
+ *
+ * Mnemonic names for keysyms are defined in this file with lines
+ * that match one of these Perl regular expressions:
+ *
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
+ *
+ * When adding new keysyms to this file, do not forget to also update the
+ * mappings in xc/lib/X11/KeyBind.c and the protocol specification in
+ * xc/doc/specs/XProtocol/X11.keysyms.
+ */
+
+#define XK_VoidSymbol 0xffffff /* Void symbol */
+
+#ifdef XK_MISCELLANY
+/*
+ * TTY function keys, cleverly chosen to map to ASCII, for convenience of
+ * programming, but could have been arbitrary (at the cost of lookup
+ * tables in client code).
+ */
+
+#define XK_BackSpace 0xff08 /* Back space, back char */
+#define XK_Tab 0xff09
+#define XK_Linefeed 0xff0a /* Linefeed, LF */
+#define XK_Clear 0xff0b
+#define XK_Return 0xff0d /* Return, enter */
+#define XK_Pause 0xff13 /* Pause, hold */
+#define XK_Scroll_Lock 0xff14
+#define XK_Sys_Req 0xff15
+#define XK_Escape 0xff1b
+#define XK_Delete 0xffff /* Delete, rubout */
+
+
+
+/* International & multi-key character composition */
+
+#define XK_Multi_key 0xff20 /* Multi-key character compose */
+#define XK_Codeinput 0xff37
+#define XK_SingleCandidate 0xff3c
+#define XK_MultipleCandidate 0xff3d
+#define XK_PreviousCandidate 0xff3e
+
+/* Japanese keyboard support */
+
+#define XK_Kanji 0xff21 /* Kanji, Kanji convert */
+#define XK_Muhenkan 0xff22 /* Cancel Conversion */
+#define XK_Henkan_Mode 0xff23 /* Start/Stop Conversion */
+#define XK_Henkan 0xff23 /* Alias for Henkan_Mode */
+#define XK_Romaji 0xff24 /* to Romaji */
+#define XK_Hiragana 0xff25 /* to Hiragana */
+#define XK_Katakana 0xff26 /* to Katakana */
+#define XK_Hiragana_Katakana 0xff27 /* Hiragana/Katakana toggle */
+#define XK_Zenkaku 0xff28 /* to Zenkaku */
+#define XK_Hankaku 0xff29 /* to Hankaku */
+#define XK_Zenkaku_Hankaku 0xff2a /* Zenkaku/Hankaku toggle */
+#define XK_Touroku 0xff2b /* Add to Dictionary */
+#define XK_Massyo 0xff2c /* Delete from Dictionary */
+#define XK_Kana_Lock 0xff2d /* Kana Lock */
+#define XK_Kana_Shift 0xff2e /* Kana Shift */
+#define XK_Eisu_Shift 0xff2f /* Alphanumeric Shift */
+#define XK_Eisu_toggle 0xff30 /* Alphanumeric toggle */
+#define XK_Kanji_Bangou 0xff37 /* Codeinput */
+#define XK_Zen_Koho 0xff3d /* Multiple/All Candidate(s) */
+#define XK_Mae_Koho 0xff3e /* Previous Candidate */
+
+/* 0xff31 thru 0xff3f are under XK_KOREAN */
+
+/* Cursor control & motion */
+
+#define XK_Home 0xff50
+#define XK_Left 0xff51 /* Move left, left arrow */
+#define XK_Up 0xff52 /* Move up, up arrow */
+#define XK_Right 0xff53 /* Move right, right arrow */
+#define XK_Down 0xff54 /* Move down, down arrow */
+#define XK_Prior 0xff55 /* Prior, previous */
+#define XK_Page_Up 0xff55
+#define XK_Next 0xff56 /* Next */
+#define XK_Page_Down 0xff56
+#define XK_End 0xff57 /* EOL */
+#define XK_Begin 0xff58 /* BOL */
+
+
+/* Misc functions */
+
+#define XK_Select 0xff60 /* Select, mark */
+#define XK_Print 0xff61
+#define XK_Execute 0xff62 /* Execute, run, do */
+#define XK_Insert 0xff63 /* Insert, insert here */
+#define XK_Undo 0xff65
+#define XK_Redo 0xff66 /* Redo, again */
+#define XK_Menu 0xff67
+#define XK_Find 0xff68 /* Find, search */
+#define XK_Cancel 0xff69 /* Cancel, stop, abort, exit */
+#define XK_Help 0xff6a /* Help */
+#define XK_Break 0xff6b
+#define XK_Mode_switch 0xff7e /* Character set switch */
+#define XK_script_switch 0xff7e /* Alias for mode_switch */
+#define XK_Num_Lock 0xff7f
+
+/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
+
+#define XK_KP_Space 0xff80 /* Space */
+#define XK_KP_Tab 0xff89
+#define XK_KP_Enter 0xff8d /* Enter */
+#define XK_KP_F1 0xff91 /* PF1, KP_A, ... */
+#define XK_KP_F2 0xff92
+#define XK_KP_F3 0xff93
+#define XK_KP_F4 0xff94
+#define XK_KP_Home 0xff95
+#define XK_KP_Left 0xff96
+#define XK_KP_Up 0xff97
+#define XK_KP_Right 0xff98
+#define XK_KP_Down 0xff99
+#define XK_KP_Prior 0xff9a
+#define XK_KP_Page_Up 0xff9a
+#define XK_KP_Next 0xff9b
+#define XK_KP_Page_Down 0xff9b
+#define XK_KP_End 0xff9c
+#define XK_KP_Begin 0xff9d
+#define XK_KP_Insert 0xff9e
+#define XK_KP_Delete 0xff9f
+#define XK_KP_Equal 0xffbd /* Equals */
+#define XK_KP_Multiply 0xffaa
+#define XK_KP_Add 0xffab
+#define XK_KP_Separator 0xffac /* Separator, often comma */
+#define XK_KP_Subtract 0xffad
+#define XK_KP_Decimal 0xffae
+#define XK_KP_Divide 0xffaf
+
+#define XK_KP_0 0xffb0
+#define XK_KP_1 0xffb1
+#define XK_KP_2 0xffb2
+#define XK_KP_3 0xffb3
+#define XK_KP_4 0xffb4
+#define XK_KP_5 0xffb5
+#define XK_KP_6 0xffb6
+#define XK_KP_7 0xffb7
+#define XK_KP_8 0xffb8
+#define XK_KP_9 0xffb9
+
+
+
+/*
+ * Auxiliary functions; note the duplicate definitions for left and right
+ * function keys; Sun keyboards and a few other manufacturers have such
+ * function key groups on the left and/or right sides of the keyboard.
+ * We've not found a keyboard with more than 35 function keys total.
+ */
+
+#define XK_F1 0xffbe
+#define XK_F2 0xffbf
+#define XK_F3 0xffc0
+#define XK_F4 0xffc1
+#define XK_F5 0xffc2
+#define XK_F6 0xffc3
+#define XK_F7 0xffc4
+#define XK_F8 0xffc5
+#define XK_F9 0xffc6
+#define XK_F10 0xffc7
+#define XK_F11 0xffc8
+#define XK_L1 0xffc8
+#define XK_F12 0xffc9
+#define XK_L2 0xffc9
+#define XK_F13 0xffca
+#define XK_L3 0xffca
+#define XK_F14 0xffcb
+#define XK_L4 0xffcb
+#define XK_F15 0xffcc
+#define XK_L5 0xffcc
+#define XK_F16 0xffcd
+#define XK_L6 0xffcd
+#define XK_F17 0xffce
+#define XK_L7 0xffce
+#define XK_F18 0xffcf
+#define XK_L8 0xffcf
+#define XK_F19 0xffd0
+#define XK_L9 0xffd0
+#define XK_F20 0xffd1
+#define XK_L10 0xffd1
+#define XK_F21 0xffd2
+#define XK_R1 0xffd2
+#define XK_F22 0xffd3
+#define XK_R2 0xffd3
+#define XK_F23 0xffd4
+#define XK_R3 0xffd4
+#define XK_F24 0xffd5
+#define XK_R4 0xffd5
+#define XK_F25 0xffd6
+#define XK_R5 0xffd6
+#define XK_F26 0xffd7
+#define XK_R6 0xffd7
+#define XK_F27 0xffd8
+#define XK_R7 0xffd8
+#define XK_F28 0xffd9
+#define XK_R8 0xffd9
+#define XK_F29 0xffda
+#define XK_R9 0xffda
+#define XK_F30 0xffdb
+#define XK_R10 0xffdb
+#define XK_F31 0xffdc
+#define XK_R11 0xffdc
+#define XK_F32 0xffdd
+#define XK_R12 0xffdd
+#define XK_F33 0xffde
+#define XK_R13 0xffde
+#define XK_F34 0xffdf
+#define XK_R14 0xffdf
+#define XK_F35 0xffe0
+#define XK_R15 0xffe0
+
+/* Modifiers */
+
+#define XK_Shift_L 0xffe1 /* Left shift */
+#define XK_Shift_R 0xffe2 /* Right shift */
+#define XK_Control_L 0xffe3 /* Left control */
+#define XK_Control_R 0xffe4 /* Right control */
+#define XK_Caps_Lock 0xffe5 /* Caps lock */
+#define XK_Shift_Lock 0xffe6 /* Shift lock */
+
+#define XK_Meta_L 0xffe7 /* Left meta */
+#define XK_Meta_R 0xffe8 /* Right meta */
+#define XK_Alt_L 0xffe9 /* Left alt */
+#define XK_Alt_R 0xffea /* Right alt */
+#define XK_Super_L 0xffeb /* Left super */
+#define XK_Super_R 0xffec /* Right super */
+#define XK_Hyper_L 0xffed /* Left hyper */
+#define XK_Hyper_R 0xffee /* Right hyper */
+#endif /* XK_MISCELLANY */
+
+/*
+ * Keyboard (XKB) Extension function and modifier keys
+ * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
+ * Byte 3 = 0xfe
+ */
+
+#ifdef XK_XKB_KEYS
+#define XK_ISO_Lock 0xfe01
+#define XK_ISO_Level2_Latch 0xfe02
+#define XK_ISO_Level3_Shift 0xfe03
+#define XK_ISO_Level3_Latch 0xfe04
+#define XK_ISO_Level3_Lock 0xfe05
+#define XK_ISO_Group_Shift 0xff7e /* Alias for mode_switch */
+#define XK_ISO_Group_Latch 0xfe06
+#define XK_ISO_Group_Lock 0xfe07
+#define XK_ISO_Next_Group 0xfe08
+#define XK_ISO_Next_Group_Lock 0xfe09
+#define XK_ISO_Prev_Group 0xfe0a
+#define XK_ISO_Prev_Group_Lock 0xfe0b
+#define XK_ISO_First_Group 0xfe0c
+#define XK_ISO_First_Group_Lock 0xfe0d
+#define XK_ISO_Last_Group 0xfe0e
+#define XK_ISO_Last_Group_Lock 0xfe0f
+
+#define XK_ISO_Left_Tab 0xfe20
+#define XK_ISO_Move_Line_Up 0xfe21
+#define XK_ISO_Move_Line_Down 0xfe22
+#define XK_ISO_Partial_Line_Up 0xfe23
+#define XK_ISO_Partial_Line_Down 0xfe24
+#define XK_ISO_Partial_Space_Left 0xfe25
+#define XK_ISO_Partial_Space_Right 0xfe26
+#define XK_ISO_Set_Margin_Left 0xfe27
+#define XK_ISO_Set_Margin_Right 0xfe28
+#define XK_ISO_Release_Margin_Left 0xfe29
+#define XK_ISO_Release_Margin_Right 0xfe2a
+#define XK_ISO_Release_Both_Margins 0xfe2b
+#define XK_ISO_Fast_Cursor_Left 0xfe2c
+#define XK_ISO_Fast_Cursor_Right 0xfe2d
+#define XK_ISO_Fast_Cursor_Up 0xfe2e
+#define XK_ISO_Fast_Cursor_Down 0xfe2f
+#define XK_ISO_Continuous_Underline 0xfe30
+#define XK_ISO_Discontinuous_Underline 0xfe31
+#define XK_ISO_Emphasize 0xfe32
+#define XK_ISO_Center_Object 0xfe33
+#define XK_ISO_Enter 0xfe34
+
+#define XK_dead_grave 0xfe50
+#define XK_dead_acute 0xfe51
+#define XK_dead_circumflex 0xfe52
+#define XK_dead_tilde 0xfe53
+#define XK_dead_macron 0xfe54
+#define XK_dead_breve 0xfe55
+#define XK_dead_abovedot 0xfe56
+#define XK_dead_diaeresis 0xfe57
+#define XK_dead_abovering 0xfe58
+#define XK_dead_doubleacute 0xfe59
+#define XK_dead_caron 0xfe5a
+#define XK_dead_cedilla 0xfe5b
+#define XK_dead_ogonek 0xfe5c
+#define XK_dead_iota 0xfe5d
+#define XK_dead_voiced_sound 0xfe5e
+#define XK_dead_semivoiced_sound 0xfe5f
+#define XK_dead_belowdot 0xfe60
+#define XK_dead_hook 0xfe61
+#define XK_dead_horn 0xfe62
+#define XK_dead_stroke 0xfe63
+
+#define XK_First_Virtual_Screen 0xfed0
+#define XK_Prev_Virtual_Screen 0xfed1
+#define XK_Next_Virtual_Screen 0xfed2
+#define XK_Last_Virtual_Screen 0xfed4
+#define XK_Terminate_Server 0xfed5
+
+#define XK_AccessX_Enable 0xfe70
+#define XK_AccessX_Feedback_Enable 0xfe71
+#define XK_RepeatKeys_Enable 0xfe72
+#define XK_SlowKeys_Enable 0xfe73
+#define XK_BounceKeys_Enable 0xfe74
+#define XK_StickyKeys_Enable 0xfe75
+#define XK_MouseKeys_Enable 0xfe76
+#define XK_MouseKeys_Accel_Enable 0xfe77
+#define XK_Overlay1_Enable 0xfe78
+#define XK_Overlay2_Enable 0xfe79
+#define XK_AudibleBell_Enable 0xfe7a
+
+#define XK_Pointer_Left 0xfee0
+#define XK_Pointer_Right 0xfee1
+#define XK_Pointer_Up 0xfee2
+#define XK_Pointer_Down 0xfee3
+#define XK_Pointer_UpLeft 0xfee4
+#define XK_Pointer_UpRight 0xfee5
+#define XK_Pointer_DownLeft 0xfee6
+#define XK_Pointer_DownRight 0xfee7
+#define XK_Pointer_Button_Dflt 0xfee8
+#define XK_Pointer_Button1 0xfee9
+#define XK_Pointer_Button2 0xfeea
+#define XK_Pointer_Button3 0xfeeb
+#define XK_Pointer_Button4 0xfeec
+#define XK_Pointer_Button5 0xfeed
+#define XK_Pointer_DblClick_Dflt 0xfeee
+#define XK_Pointer_DblClick1 0xfeef
+#define XK_Pointer_DblClick2 0xfef0
+#define XK_Pointer_DblClick3 0xfef1
+#define XK_Pointer_DblClick4 0xfef2
+#define XK_Pointer_DblClick5 0xfef3
+#define XK_Pointer_Drag_Dflt 0xfef4
+#define XK_Pointer_Drag1 0xfef5
+#define XK_Pointer_Drag2 0xfef6
+#define XK_Pointer_Drag3 0xfef7
+#define XK_Pointer_Drag4 0xfef8
+#define XK_Pointer_Drag5 0xfefd
+
+#define XK_Pointer_EnableKeys 0xfef9
+#define XK_Pointer_Accelerate 0xfefa
+#define XK_Pointer_DfltBtnNext 0xfefb
+#define XK_Pointer_DfltBtnPrev 0xfefc
+
+#endif /* XK_XKB_KEYS */
+
+/*
+ * 3270 Terminal Keys
+ * Byte 3 = 0xfd
+ */
+
+#ifdef XK_3270
+#define XK_3270_Duplicate 0xfd01
+#define XK_3270_FieldMark 0xfd02
+#define XK_3270_Right2 0xfd03
+#define XK_3270_Left2 0xfd04
+#define XK_3270_BackTab 0xfd05
+#define XK_3270_EraseEOF 0xfd06
+#define XK_3270_EraseInput 0xfd07
+#define XK_3270_Reset 0xfd08
+#define XK_3270_Quit 0xfd09
+#define XK_3270_PA1 0xfd0a
+#define XK_3270_PA2 0xfd0b
+#define XK_3270_PA3 0xfd0c
+#define XK_3270_Test 0xfd0d
+#define XK_3270_Attn 0xfd0e
+#define XK_3270_CursorBlink 0xfd0f
+#define XK_3270_AltCursor 0xfd10
+#define XK_3270_KeyClick 0xfd11
+#define XK_3270_Jump 0xfd12
+#define XK_3270_Ident 0xfd13
+#define XK_3270_Rule 0xfd14
+#define XK_3270_Copy 0xfd15
+#define XK_3270_Play 0xfd16
+#define XK_3270_Setup 0xfd17
+#define XK_3270_Record 0xfd18
+#define XK_3270_ChangeScreen 0xfd19
+#define XK_3270_DeleteWord 0xfd1a
+#define XK_3270_ExSelect 0xfd1b
+#define XK_3270_CursorSelect 0xfd1c
+#define XK_3270_PrintScreen 0xfd1d
+#define XK_3270_Enter 0xfd1e
+#endif /* XK_3270 */
+
+/*
+ * Latin 1
+ * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
+ * Byte 3 = 0
+ */
+#ifdef XK_LATIN1
+#define XK_space 0x0020 /* U+0020 SPACE */
+#define XK_exclam 0x0021 /* U+0021 EXCLAMATION MARK */
+#define XK_quotedbl 0x0022 /* U+0022 QUOTATION MARK */
+#define XK_numbersign 0x0023 /* U+0023 NUMBER SIGN */
+#define XK_dollar 0x0024 /* U+0024 DOLLAR SIGN */
+#define XK_percent 0x0025 /* U+0025 PERCENT SIGN */
+#define XK_ampersand 0x0026 /* U+0026 AMPERSAND */
+#define XK_apostrophe 0x0027 /* U+0027 APOSTROPHE */
+#define XK_quoteright 0x0027 /* deprecated */
+#define XK_parenleft 0x0028 /* U+0028 LEFT PARENTHESIS */
+#define XK_parenright 0x0029 /* U+0029 RIGHT PARENTHESIS */
+#define XK_asterisk 0x002a /* U+002A ASTERISK */
+#define XK_plus 0x002b /* U+002B PLUS SIGN */
+#define XK_comma 0x002c /* U+002C COMMA */
+#define XK_minus 0x002d /* U+002D HYPHEN-MINUS */
+#define XK_period 0x002e /* U+002E FULL STOP */
+#define XK_slash 0x002f /* U+002F SOLIDUS */
+#define XK_0 0x0030 /* U+0030 DIGIT ZERO */
+#define XK_1 0x0031 /* U+0031 DIGIT ONE */
+#define XK_2 0x0032 /* U+0032 DIGIT TWO */
+#define XK_3 0x0033 /* U+0033 DIGIT THREE */
+#define XK_4 0x0034 /* U+0034 DIGIT FOUR */
+#define XK_5 0x0035 /* U+0035 DIGIT FIVE */
+#define XK_6 0x0036 /* U+0036 DIGIT SIX */
+#define XK_7 0x0037 /* U+0037 DIGIT SEVEN */
+#define XK_8 0x0038 /* U+0038 DIGIT EIGHT */
+#define XK_9 0x0039 /* U+0039 DIGIT NINE */
+#define XK_colon 0x003a /* U+003A COLON */
+#define XK_semicolon 0x003b /* U+003B SEMICOLON */
+#define XK_less 0x003c /* U+003C LESS-THAN SIGN */
+#define XK_equal 0x003d /* U+003D EQUALS SIGN */
+#define XK_greater 0x003e /* U+003E GREATER-THAN SIGN */
+#define XK_question 0x003f /* U+003F QUESTION MARK */
+#define XK_at 0x0040 /* U+0040 COMMERCIAL AT */
+#define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */
+#define XK_B 0x0042 /* U+0042 LATIN CAPITAL LETTER B */
+#define XK_C 0x0043 /* U+0043 LATIN CAPITAL LETTER C */
+#define XK_D 0x0044 /* U+0044 LATIN CAPITAL LETTER D */
+#define XK_E 0x0045 /* U+0045 LATIN CAPITAL LETTER E */
+#define XK_F 0x0046 /* U+0046 LATIN CAPITAL LETTER F */
+#define XK_G 0x0047 /* U+0047 LATIN CAPITAL LETTER G */
+#define XK_H 0x0048 /* U+0048 LATIN CAPITAL LETTER H */
+#define XK_I 0x0049 /* U+0049 LATIN CAPITAL LETTER I */
+#define XK_J 0x004a /* U+004A LATIN CAPITAL LETTER J */
+#define XK_K 0x004b /* U+004B LATIN CAPITAL LETTER K */
+#define XK_L 0x004c /* U+004C LATIN CAPITAL LETTER L */
+#define XK_M 0x004d /* U+004D LATIN CAPITAL LETTER M */
+#define XK_N 0x004e /* U+004E LATIN CAPITAL LETTER N */
+#define XK_O 0x004f /* U+004F LATIN CAPITAL LETTER O */
+#define XK_P 0x0050 /* U+0050 LATIN CAPITAL LETTER P */
+#define XK_Q 0x0051 /* U+0051 LATIN CAPITAL LETTER Q */
+#define XK_R 0x0052 /* U+0052 LATIN CAPITAL LETTER R */
+#define XK_S 0x0053 /* U+0053 LATIN CAPITAL LETTER S */
+#define XK_T 0x0054 /* U+0054 LATIN CAPITAL LETTER T */
+#define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */
+#define XK_V 0x0056 /* U+0056 LATIN CAPITAL LETTER V */
+#define XK_W 0x0057 /* U+0057 LATIN CAPITAL LETTER W */
+#define XK_X 0x0058 /* U+0058 LATIN CAPITAL LETTER X */
+#define XK_Y 0x0059 /* U+0059 LATIN CAPITAL LETTER Y */
+#define XK_Z 0x005a /* U+005A LATIN CAPITAL LETTER Z */
+#define XK_bracketleft 0x005b /* U+005B LEFT SQUARE BRACKET */
+#define XK_backslash 0x005c /* U+005C REVERSE SOLIDUS */
+#define XK_bracketright 0x005d /* U+005D RIGHT SQUARE BRACKET */
+#define XK_asciicircum 0x005e /* U+005E CIRCUMFLEX ACCENT */
+#define XK_underscore 0x005f /* U+005F LOW LINE */
+#define XK_grave 0x0060 /* U+0060 GRAVE ACCENT */
+#define XK_quoteleft 0x0060 /* deprecated */
+#define XK_a 0x0061 /* U+0061 LATIN SMALL LETTER A */
+#define XK_b 0x0062 /* U+0062 LATIN SMALL LETTER B */
+#define XK_c 0x0063 /* U+0063 LATIN SMALL LETTER C */
+#define XK_d 0x0064 /* U+0064 LATIN SMALL LETTER D */
+#define XK_e 0x0065 /* U+0065 LATIN SMALL LETTER E */
+#define XK_f 0x0066 /* U+0066 LATIN SMALL LETTER F */
+#define XK_g 0x0067 /* U+0067 LATIN SMALL LETTER G */
+#define XK_h 0x0068 /* U+0068 LATIN SMALL LETTER H */
+#define XK_i 0x0069 /* U+0069 LATIN SMALL LETTER I */
+#define XK_j 0x006a /* U+006A LATIN SMALL LETTER J */
+#define XK_k 0x006b /* U+006B LATIN SMALL LETTER K */
+#define XK_l 0x006c /* U+006C LATIN SMALL LETTER L */
+#define XK_m 0x006d /* U+006D LATIN SMALL LETTER M */
+#define XK_n 0x006e /* U+006E LATIN SMALL LETTER N */
+#define XK_o 0x006f /* U+006F LATIN SMALL LETTER O */
+#define XK_p 0x0070 /* U+0070 LATIN SMALL LETTER P */
+#define XK_q 0x0071 /* U+0071 LATIN SMALL LETTER Q */
+#define XK_r 0x0072 /* U+0072 LATIN SMALL LETTER R */
+#define XK_s 0x0073 /* U+0073 LATIN SMALL LETTER S */
+#define XK_t 0x0074 /* U+0074 LATIN SMALL LETTER T */
+#define XK_u 0x0075 /* U+0075 LATIN SMALL LETTER U */
+#define XK_v 0x0076 /* U+0076 LATIN SMALL LETTER V */
+#define XK_w 0x0077 /* U+0077 LATIN SMALL LETTER W */
+#define XK_x 0x0078 /* U+0078 LATIN SMALL LETTER X */
+#define XK_y 0x0079 /* U+0079 LATIN SMALL LETTER Y */
+#define XK_z 0x007a /* U+007A LATIN SMALL LETTER Z */
+#define XK_braceleft 0x007b /* U+007B LEFT CURLY BRACKET */
+#define XK_bar 0x007c /* U+007C VERTICAL LINE */
+#define XK_braceright 0x007d /* U+007D RIGHT CURLY BRACKET */
+#define XK_asciitilde 0x007e /* U+007E TILDE */
+
+#define XK_nobreakspace 0x00a0 /* U+00A0 NO-BREAK SPACE */
+#define XK_exclamdown 0x00a1 /* U+00A1 INVERTED EXCLAMATION MARK */
+#define XK_cent 0x00a2 /* U+00A2 CENT SIGN */
+#define XK_sterling 0x00a3 /* U+00A3 POUND SIGN */
+#define XK_currency 0x00a4 /* U+00A4 CURRENCY SIGN */
+#define XK_yen 0x00a5 /* U+00A5 YEN SIGN */
+#define XK_brokenbar 0x00a6 /* U+00A6 BROKEN BAR */
+#define XK_section 0x00a7 /* U+00A7 SECTION SIGN */
+#define XK_diaeresis 0x00a8 /* U+00A8 DIAERESIS */
+#define XK_copyright 0x00a9 /* U+00A9 COPYRIGHT SIGN */
+#define XK_ordfeminine 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */
+#define XK_guillemotleft 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_notsign 0x00ac /* U+00AC NOT SIGN */
+#define XK_hyphen 0x00ad /* U+00AD SOFT HYPHEN */
+#define XK_registered 0x00ae /* U+00AE REGISTERED SIGN */
+#define XK_macron 0x00af /* U+00AF MACRON */
+#define XK_degree 0x00b0 /* U+00B0 DEGREE SIGN */
+#define XK_plusminus 0x00b1 /* U+00B1 PLUS-MINUS SIGN */
+#define XK_twosuperior 0x00b2 /* U+00B2 SUPERSCRIPT TWO */
+#define XK_threesuperior 0x00b3 /* U+00B3 SUPERSCRIPT THREE */
+#define XK_acute 0x00b4 /* U+00B4 ACUTE ACCENT */
+#define XK_mu 0x00b5 /* U+00B5 MICRO SIGN */
+#define XK_paragraph 0x00b6 /* U+00B6 PILCROW SIGN */
+#define XK_periodcentered 0x00b7 /* U+00B7 MIDDLE DOT */
+#define XK_cedilla 0x00b8 /* U+00B8 CEDILLA */
+#define XK_onesuperior 0x00b9 /* U+00B9 SUPERSCRIPT ONE */
+#define XK_masculine 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */
+#define XK_guillemotright 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_onequarter 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */
+#define XK_onehalf 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */
+#define XK_threequarters 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */
+#define XK_questiondown 0x00bf /* U+00BF INVERTED QUESTION MARK */
+#define XK_Agrave 0x00c0 /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */
+#define XK_Aacute 0x00c1 /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */
+#define XK_Acircumflex 0x00c2 /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+#define XK_Atilde 0x00c3 /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */
+#define XK_Adiaeresis 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */
+#define XK_Aring 0x00c5 /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */
+#define XK_AE 0x00c6 /* U+00C6 LATIN CAPITAL LETTER AE */
+#define XK_Ccedilla 0x00c7 /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */
+#define XK_Egrave 0x00c8 /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */
+#define XK_Eacute 0x00c9 /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+#define XK_Ecircumflex 0x00ca /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+#define XK_Ediaeresis 0x00cb /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */
+#define XK_Igrave 0x00cc /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */
+#define XK_Iacute 0x00cd /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */
+#define XK_Icircumflex 0x00ce /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+#define XK_Idiaeresis 0x00cf /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */
+#define XK_ETH 0x00d0 /* U+00D0 LATIN CAPITAL LETTER ETH */
+#define XK_Eth 0x00d0 /* deprecated */
+#define XK_Ntilde 0x00d1 /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */
+#define XK_Ograve 0x00d2 /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */
+#define XK_Oacute 0x00d3 /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */
+#define XK_Ocircumflex 0x00d4 /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+#define XK_Otilde 0x00d5 /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */
+#define XK_Odiaeresis 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
+#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */
+#define XK_Oslash 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ooblique 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ugrave 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
+#define XK_Uacute 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
+#define XK_Ucircumflex 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+#define XK_Udiaeresis 0x00dc /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */
+#define XK_Yacute 0x00dd /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */
+#define XK_THORN 0x00de /* U+00DE LATIN CAPITAL LETTER THORN */
+#define XK_Thorn 0x00de /* deprecated */
+#define XK_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
+#define XK_agrave 0x00e0 /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */
+#define XK_aacute 0x00e1 /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */
+#define XK_acircumflex 0x00e2 /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */
+#define XK_atilde 0x00e3 /* U+00E3 LATIN SMALL LETTER A WITH TILDE */
+#define XK_adiaeresis 0x00e4 /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */
+#define XK_aring 0x00e5 /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */
+#define XK_ae 0x00e6 /* U+00E6 LATIN SMALL LETTER AE */
+#define XK_ccedilla 0x00e7 /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */
+#define XK_egrave 0x00e8 /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */
+#define XK_eacute 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+#define XK_ecircumflex 0x00ea /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */
+#define XK_ediaeresis 0x00eb /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */
+#define XK_igrave 0x00ec /* U+00EC LATIN SMALL LETTER I WITH GRAVE */
+#define XK_iacute 0x00ed /* U+00ED LATIN SMALL LETTER I WITH ACUTE */
+#define XK_icircumflex 0x00ee /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */
+#define XK_idiaeresis 0x00ef /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */
+#define XK_eth 0x00f0 /* U+00F0 LATIN SMALL LETTER ETH */
+#define XK_ntilde 0x00f1 /* U+00F1 LATIN SMALL LETTER N WITH TILDE */
+#define XK_ograve 0x00f2 /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */
+#define XK_oacute 0x00f3 /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */
+#define XK_ocircumflex 0x00f4 /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */
+#define XK_otilde 0x00f5 /* U+00F5 LATIN SMALL LETTER O WITH TILDE */
+#define XK_odiaeresis 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
+#define XK_division 0x00f7 /* U+00F7 DIVISION SIGN */
+#define XK_oslash 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ooblique 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ugrave 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
+#define XK_uacute 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
+#define XK_ucircumflex 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
+#define XK_udiaeresis 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */
+#define XK_yacute 0x00fd /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */
+#define XK_thorn 0x00fe /* U+00FE LATIN SMALL LETTER THORN */
+#define XK_ydiaeresis 0x00ff /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN1 */
+
+/*
+ * Latin 2
+ * Byte 3 = 1
+ */
+
+#ifdef XK_LATIN2
+#define XK_Aogonek 0x01a1 /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */
+#define XK_breve 0x01a2 /* U+02D8 BREVE */
+#define XK_Lstroke 0x01a3 /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+#define XK_Lcaron 0x01a5 /* U+013D LATIN CAPITAL LETTER L WITH CARON */
+#define XK_Sacute 0x01a6 /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */
+#define XK_Scaron 0x01a9 /* U+0160 LATIN CAPITAL LETTER S WITH CARON */
+#define XK_Scedilla 0x01aa /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */
+#define XK_Tcaron 0x01ab /* U+0164 LATIN CAPITAL LETTER T WITH CARON */
+#define XK_Zacute 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */
+#define XK_Zcaron 0x01ae /* U+017D LATIN CAPITAL LETTER Z WITH CARON */
+#define XK_Zabovedot 0x01af /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+#define XK_aogonek 0x01b1 /* U+0105 LATIN SMALL LETTER A WITH OGONEK */
+#define XK_ogonek 0x01b2 /* U+02DB OGONEK */
+#define XK_lstroke 0x01b3 /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+#define XK_lcaron 0x01b5 /* U+013E LATIN SMALL LETTER L WITH CARON */
+#define XK_sacute 0x01b6 /* U+015B LATIN SMALL LETTER S WITH ACUTE */
+#define XK_caron 0x01b7 /* U+02C7 CARON */
+#define XK_scaron 0x01b9 /* U+0161 LATIN SMALL LETTER S WITH CARON */
+#define XK_scedilla 0x01ba /* U+015F LATIN SMALL LETTER S WITH CEDILLA */
+#define XK_tcaron 0x01bb /* U+0165 LATIN SMALL LETTER T WITH CARON */
+#define XK_zacute 0x01bc /* U+017A LATIN SMALL LETTER Z WITH ACUTE */
+#define XK_doubleacute 0x01bd /* U+02DD DOUBLE ACUTE ACCENT */
+#define XK_zcaron 0x01be /* U+017E LATIN SMALL LETTER Z WITH CARON */
+#define XK_zabovedot 0x01bf /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */
+#define XK_Racute 0x01c0 /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */
+#define XK_Abreve 0x01c3 /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */
+#define XK_Lacute 0x01c5 /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */
+#define XK_Cacute 0x01c6 /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */
+#define XK_Ccaron 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */
+#define XK_Eogonek 0x01ca /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */
+#define XK_Ecaron 0x01cc /* U+011A LATIN CAPITAL LETTER E WITH CARON */
+#define XK_Dcaron 0x01cf /* U+010E LATIN CAPITAL LETTER D WITH CARON */
+#define XK_Dstroke 0x01d0 /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */
+#define XK_Nacute 0x01d1 /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */
+#define XK_Ncaron 0x01d2 /* U+0147 LATIN CAPITAL LETTER N WITH CARON */
+#define XK_Odoubleacute 0x01d5 /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+#define XK_Rcaron 0x01d8 /* U+0158 LATIN CAPITAL LETTER R WITH CARON */
+#define XK_Uring 0x01d9 /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */
+#define XK_Udoubleacute 0x01db /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+#define XK_Tcedilla 0x01de /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */
+#define XK_racute 0x01e0 /* U+0155 LATIN SMALL LETTER R WITH ACUTE */
+#define XK_abreve 0x01e3 /* U+0103 LATIN SMALL LETTER A WITH BREVE */
+#define XK_lacute 0x01e5 /* U+013A LATIN SMALL LETTER L WITH ACUTE */
+#define XK_cacute 0x01e6 /* U+0107 LATIN SMALL LETTER C WITH ACUTE */
+#define XK_ccaron 0x01e8 /* U+010D LATIN SMALL LETTER C WITH CARON */
+#define XK_eogonek 0x01ea /* U+0119 LATIN SMALL LETTER E WITH OGONEK */
+#define XK_ecaron 0x01ec /* U+011B LATIN SMALL LETTER E WITH CARON */
+#define XK_dcaron 0x01ef /* U+010F LATIN SMALL LETTER D WITH CARON */
+#define XK_dstroke 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */
+#define XK_nacute 0x01f1 /* U+0144 LATIN SMALL LETTER N WITH ACUTE */
+#define XK_ncaron 0x01f2 /* U+0148 LATIN SMALL LETTER N WITH CARON */
+#define XK_odoubleacute 0x01f5 /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */
+#define XK_udoubleacute 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */
+#define XK_rcaron 0x01f8 /* U+0159 LATIN SMALL LETTER R WITH CARON */
+#define XK_uring 0x01f9 /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */
+#define XK_tcedilla 0x01fe /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */
+#define XK_abovedot 0x01ff /* U+02D9 DOT ABOVE */
+#endif /* XK_LATIN2 */
+
+/*
+ * Latin 3
+ * Byte 3 = 2
+ */
+
+#ifdef XK_LATIN3
+#define XK_Hstroke 0x02a1 /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */
+#define XK_Hcircumflex 0x02a6 /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+#define XK_Iabovedot 0x02a9 /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */
+#define XK_Gbreve 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */
+#define XK_Jcircumflex 0x02ac /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+#define XK_hstroke 0x02b1 /* U+0127 LATIN SMALL LETTER H WITH STROKE */
+#define XK_hcircumflex 0x02b6 /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */
+#define XK_idotless 0x02b9 /* U+0131 LATIN SMALL LETTER DOTLESS I */
+#define XK_gbreve 0x02bb /* U+011F LATIN SMALL LETTER G WITH BREVE */
+#define XK_jcircumflex 0x02bc /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */
+#define XK_Cabovedot 0x02c5 /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */
+#define XK_Ccircumflex 0x02c6 /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+#define XK_Gabovedot 0x02d5 /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */
+#define XK_Gcircumflex 0x02d8 /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+#define XK_Ubreve 0x02dd /* U+016C LATIN CAPITAL LETTER U WITH BREVE */
+#define XK_Scircumflex 0x02de /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+#define XK_cabovedot 0x02e5 /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */
+#define XK_ccircumflex 0x02e6 /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */
+#define XK_gabovedot 0x02f5 /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */
+#define XK_gcircumflex 0x02f8 /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */
+#define XK_ubreve 0x02fd /* U+016D LATIN SMALL LETTER U WITH BREVE */
+#define XK_scircumflex 0x02fe /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */
+#endif /* XK_LATIN3 */
+
+
+/*
+ * Latin 4
+ * Byte 3 = 3
+ */
+
+#ifdef XK_LATIN4
+#define XK_kra 0x03a2 /* U+0138 LATIN SMALL LETTER KRA */
+#define XK_kappa 0x03a2 /* deprecated */
+#define XK_Rcedilla 0x03a3 /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */
+#define XK_Itilde 0x03a5 /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */
+#define XK_Lcedilla 0x03a6 /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */
+#define XK_Emacron 0x03aa /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */
+#define XK_Gcedilla 0x03ab /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */
+#define XK_Tslash 0x03ac /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */
+#define XK_rcedilla 0x03b3 /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */
+#define XK_itilde 0x03b5 /* U+0129 LATIN SMALL LETTER I WITH TILDE */
+#define XK_lcedilla 0x03b6 /* U+013C LATIN SMALL LETTER L WITH CEDILLA */
+#define XK_emacron 0x03ba /* U+0113 LATIN SMALL LETTER E WITH MACRON */
+#define XK_gcedilla 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */
+#define XK_tslash 0x03bc /* U+0167 LATIN SMALL LETTER T WITH STROKE */
+#define XK_ENG 0x03bd /* U+014A LATIN CAPITAL LETTER ENG */
+#define XK_eng 0x03bf /* U+014B LATIN SMALL LETTER ENG */
+#define XK_Amacron 0x03c0 /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */
+#define XK_Iogonek 0x03c7 /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */
+#define XK_Eabovedot 0x03cc /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */
+#define XK_Imacron 0x03cf /* U+012A LATIN CAPITAL LETTER I WITH MACRON */
+#define XK_Ncedilla 0x03d1 /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */
+#define XK_Omacron 0x03d2 /* U+014C LATIN CAPITAL LETTER O WITH MACRON */
+#define XK_Kcedilla 0x03d3 /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */
+#define XK_Uogonek 0x03d9 /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */
+#define XK_Utilde 0x03dd /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */
+#define XK_Umacron 0x03de /* U+016A LATIN CAPITAL LETTER U WITH MACRON */
+#define XK_amacron 0x03e0 /* U+0101 LATIN SMALL LETTER A WITH MACRON */
+#define XK_iogonek 0x03e7 /* U+012F LATIN SMALL LETTER I WITH OGONEK */
+#define XK_eabovedot 0x03ec /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */
+#define XK_imacron 0x03ef /* U+012B LATIN SMALL LETTER I WITH MACRON */
+#define XK_ncedilla 0x03f1 /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */
+#define XK_omacron 0x03f2 /* U+014D LATIN SMALL LETTER O WITH MACRON */
+#define XK_kcedilla 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */
+#define XK_uogonek 0x03f9 /* U+0173 LATIN SMALL LETTER U WITH OGONEK */
+#define XK_utilde 0x03fd /* U+0169 LATIN SMALL LETTER U WITH TILDE */
+#define XK_umacron 0x03fe /* U+016B LATIN SMALL LETTER U WITH MACRON */
+#endif /* XK_LATIN4 */
+
+/*
+ * Latin 8
+ */
+#ifdef XK_LATIN8
+#define XK_Babovedot 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
+#define XK_babovedot 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
+#define XK_Dabovedot 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
+#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
+#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
+#define XK_dabovedot 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
+#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
+#define XK_Fabovedot 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
+#define XK_fabovedot 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
+#define XK_Mabovedot 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
+#define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
+#define XK_Pabovedot 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
+#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
+#define XK_pabovedot 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
+#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
+#define XK_Sabovedot 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
+#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
+#define XK_Wdiaeresis 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
+#define XK_wdiaeresis 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
+#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
+#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
+#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
+#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
+#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+#endif /* XK_LATIN8 */
+
+/*
+ * Latin 9
+ * Byte 3 = 0x13
+ */
+
+#ifdef XK_LATIN9
+#define XK_OE 0x13bc /* U+0152 LATIN CAPITAL LIGATURE OE */
+#define XK_oe 0x13bd /* U+0153 LATIN SMALL LIGATURE OE */
+#define XK_Ydiaeresis 0x13be /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN9 */
+
+/*
+ * Katakana
+ * Byte 3 = 4
+ */
+
+#ifdef XK_KATAKANA
+#define XK_overline 0x047e /* U+203E OVERLINE */
+#define XK_kana_fullstop 0x04a1 /* U+3002 IDEOGRAPHIC FULL STOP */
+#define XK_kana_openingbracket 0x04a2 /* U+300C LEFT CORNER BRACKET */
+#define XK_kana_closingbracket 0x04a3 /* U+300D RIGHT CORNER BRACKET */
+#define XK_kana_comma 0x04a4 /* U+3001 IDEOGRAPHIC COMMA */
+#define XK_kana_conjunctive 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */
+#define XK_kana_middledot 0x04a5 /* deprecated */
+#define XK_kana_WO 0x04a6 /* U+30F2 KATAKANA LETTER WO */
+#define XK_kana_a 0x04a7 /* U+30A1 KATAKANA LETTER SMALL A */
+#define XK_kana_i 0x04a8 /* U+30A3 KATAKANA LETTER SMALL I */
+#define XK_kana_u 0x04a9 /* U+30A5 KATAKANA LETTER SMALL U */
+#define XK_kana_e 0x04aa /* U+30A7 KATAKANA LETTER SMALL E */
+#define XK_kana_o 0x04ab /* U+30A9 KATAKANA LETTER SMALL O */
+#define XK_kana_ya 0x04ac /* U+30E3 KATAKANA LETTER SMALL YA */
+#define XK_kana_yu 0x04ad /* U+30E5 KATAKANA LETTER SMALL YU */
+#define XK_kana_yo 0x04ae /* U+30E7 KATAKANA LETTER SMALL YO */
+#define XK_kana_tsu 0x04af /* U+30C3 KATAKANA LETTER SMALL TU */
+#define XK_kana_tu 0x04af /* deprecated */
+#define XK_prolongedsound 0x04b0 /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */
+#define XK_kana_A 0x04b1 /* U+30A2 KATAKANA LETTER A */
+#define XK_kana_I 0x04b2 /* U+30A4 KATAKANA LETTER I */
+#define XK_kana_U 0x04b3 /* U+30A6 KATAKANA LETTER U */
+#define XK_kana_E 0x04b4 /* U+30A8 KATAKANA LETTER E */
+#define XK_kana_O 0x04b5 /* U+30AA KATAKANA LETTER O */
+#define XK_kana_KA 0x04b6 /* U+30AB KATAKANA LETTER KA */
+#define XK_kana_KI 0x04b7 /* U+30AD KATAKANA LETTER KI */
+#define XK_kana_KU 0x04b8 /* U+30AF KATAKANA LETTER KU */
+#define XK_kana_KE 0x04b9 /* U+30B1 KATAKANA LETTER KE */
+#define XK_kana_KO 0x04ba /* U+30B3 KATAKANA LETTER KO */
+#define XK_kana_SA 0x04bb /* U+30B5 KATAKANA LETTER SA */
+#define XK_kana_SHI 0x04bc /* U+30B7 KATAKANA LETTER SI */
+#define XK_kana_SU 0x04bd /* U+30B9 KATAKANA LETTER SU */
+#define XK_kana_SE 0x04be /* U+30BB KATAKANA LETTER SE */
+#define XK_kana_SO 0x04bf /* U+30BD KATAKANA LETTER SO */
+#define XK_kana_TA 0x04c0 /* U+30BF KATAKANA LETTER TA */
+#define XK_kana_CHI 0x04c1 /* U+30C1 KATAKANA LETTER TI */
+#define XK_kana_TI 0x04c1 /* deprecated */
+#define XK_kana_TSU 0x04c2 /* U+30C4 KATAKANA LETTER TU */
+#define XK_kana_TU 0x04c2 /* deprecated */
+#define XK_kana_TE 0x04c3 /* U+30C6 KATAKANA LETTER TE */
+#define XK_kana_TO 0x04c4 /* U+30C8 KATAKANA LETTER TO */
+#define XK_kana_NA 0x04c5 /* U+30CA KATAKANA LETTER NA */
+#define XK_kana_NI 0x04c6 /* U+30CB KATAKANA LETTER NI */
+#define XK_kana_NU 0x04c7 /* U+30CC KATAKANA LETTER NU */
+#define XK_kana_NE 0x04c8 /* U+30CD KATAKANA LETTER NE */
+#define XK_kana_NO 0x04c9 /* U+30CE KATAKANA LETTER NO */
+#define XK_kana_HA 0x04ca /* U+30CF KATAKANA LETTER HA */
+#define XK_kana_HI 0x04cb /* U+30D2 KATAKANA LETTER HI */
+#define XK_kana_FU 0x04cc /* U+30D5 KATAKANA LETTER HU */
+#define XK_kana_HU 0x04cc /* deprecated */
+#define XK_kana_HE 0x04cd /* U+30D8 KATAKANA LETTER HE */
+#define XK_kana_HO 0x04ce /* U+30DB KATAKANA LETTER HO */
+#define XK_kana_MA 0x04cf /* U+30DE KATAKANA LETTER MA */
+#define XK_kana_MI 0x04d0 /* U+30DF KATAKANA LETTER MI */
+#define XK_kana_MU 0x04d1 /* U+30E0 KATAKANA LETTER MU */
+#define XK_kana_ME 0x04d2 /* U+30E1 KATAKANA LETTER ME */
+#define XK_kana_MO 0x04d3 /* U+30E2 KATAKANA LETTER MO */
+#define XK_kana_YA 0x04d4 /* U+30E4 KATAKANA LETTER YA */
+#define XK_kana_YU 0x04d5 /* U+30E6 KATAKANA LETTER YU */
+#define XK_kana_YO 0x04d6 /* U+30E8 KATAKANA LETTER YO */
+#define XK_kana_RA 0x04d7 /* U+30E9 KATAKANA LETTER RA */
+#define XK_kana_RI 0x04d8 /* U+30EA KATAKANA LETTER RI */
+#define XK_kana_RU 0x04d9 /* U+30EB KATAKANA LETTER RU */
+#define XK_kana_RE 0x04da /* U+30EC KATAKANA LETTER RE */
+#define XK_kana_RO 0x04db /* U+30ED KATAKANA LETTER RO */
+#define XK_kana_WA 0x04dc /* U+30EF KATAKANA LETTER WA */
+#define XK_kana_N 0x04dd /* U+30F3 KATAKANA LETTER N */
+#define XK_voicedsound 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
+#define XK_semivoicedsound 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
+#define XK_kana_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_KATAKANA */
+
+/*
+ * Arabic
+ * Byte 3 = 5
+ */
+
+#ifdef XK_ARABIC
+#define XK_Farsi_0 0x10006f0 /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
+#define XK_Farsi_1 0x10006f1 /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
+#define XK_Farsi_2 0x10006f2 /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
+#define XK_Farsi_3 0x10006f3 /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
+#define XK_Farsi_4 0x10006f4 /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
+#define XK_Farsi_5 0x10006f5 /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
+#define XK_Farsi_6 0x10006f6 /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
+#define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
+#define XK_Farsi_8 0x10006f8 /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
+#define XK_Farsi_9 0x10006f9 /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_percent 0x100066a /* U+066A ARABIC PERCENT SIGN */
+#define XK_Arabic_superscript_alef 0x1000670 /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
+#define XK_Arabic_tteh 0x1000679 /* U+0679 ARABIC LETTER TTEH */
+#define XK_Arabic_peh 0x100067e /* U+067E ARABIC LETTER PEH */
+#define XK_Arabic_tcheh 0x1000686 /* U+0686 ARABIC LETTER TCHEH */
+#define XK_Arabic_ddal 0x1000688 /* U+0688 ARABIC LETTER DDAL */
+#define XK_Arabic_rreh 0x1000691 /* U+0691 ARABIC LETTER RREH */
+#define XK_Arabic_comma 0x05ac /* U+060C ARABIC COMMA */
+#define XK_Arabic_fullstop 0x10006d4 /* U+06D4 ARABIC FULL STOP */
+#define XK_Arabic_0 0x1000660 /* U+0660 ARABIC-INDIC DIGIT ZERO */
+#define XK_Arabic_1 0x1000661 /* U+0661 ARABIC-INDIC DIGIT ONE */
+#define XK_Arabic_2 0x1000662 /* U+0662 ARABIC-INDIC DIGIT TWO */
+#define XK_Arabic_3 0x1000663 /* U+0663 ARABIC-INDIC DIGIT THREE */
+#define XK_Arabic_4 0x1000664 /* U+0664 ARABIC-INDIC DIGIT FOUR */
+#define XK_Arabic_5 0x1000665 /* U+0665 ARABIC-INDIC DIGIT FIVE */
+#define XK_Arabic_6 0x1000666 /* U+0666 ARABIC-INDIC DIGIT SIX */
+#define XK_Arabic_7 0x1000667 /* U+0667 ARABIC-INDIC DIGIT SEVEN */
+#define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */
+#define XK_Arabic_9 0x1000669 /* U+0669 ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_semicolon 0x05bb /* U+061B ARABIC SEMICOLON */
+#define XK_Arabic_question_mark 0x05bf /* U+061F ARABIC QUESTION MARK */
+#define XK_Arabic_hamza 0x05c1 /* U+0621 ARABIC LETTER HAMZA */
+#define XK_Arabic_maddaonalef 0x05c2 /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */
+#define XK_Arabic_hamzaonalef 0x05c3 /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaonwaw 0x05c4 /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaunderalef 0x05c5 /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */
+#define XK_Arabic_hamzaonyeh 0x05c6 /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */
+#define XK_Arabic_alef 0x05c7 /* U+0627 ARABIC LETTER ALEF */
+#define XK_Arabic_beh 0x05c8 /* U+0628 ARABIC LETTER BEH */
+#define XK_Arabic_tehmarbuta 0x05c9 /* U+0629 ARABIC LETTER TEH MARBUTA */
+#define XK_Arabic_teh 0x05ca /* U+062A ARABIC LETTER TEH */
+#define XK_Arabic_theh 0x05cb /* U+062B ARABIC LETTER THEH */
+#define XK_Arabic_jeem 0x05cc /* U+062C ARABIC LETTER JEEM */
+#define XK_Arabic_hah 0x05cd /* U+062D ARABIC LETTER HAH */
+#define XK_Arabic_khah 0x05ce /* U+062E ARABIC LETTER KHAH */
+#define XK_Arabic_dal 0x05cf /* U+062F ARABIC LETTER DAL */
+#define XK_Arabic_thal 0x05d0 /* U+0630 ARABIC LETTER THAL */
+#define XK_Arabic_ra 0x05d1 /* U+0631 ARABIC LETTER REH */
+#define XK_Arabic_zain 0x05d2 /* U+0632 ARABIC LETTER ZAIN */
+#define XK_Arabic_seen 0x05d3 /* U+0633 ARABIC LETTER SEEN */
+#define XK_Arabic_sheen 0x05d4 /* U+0634 ARABIC LETTER SHEEN */
+#define XK_Arabic_sad 0x05d5 /* U+0635 ARABIC LETTER SAD */
+#define XK_Arabic_dad 0x05d6 /* U+0636 ARABIC LETTER DAD */
+#define XK_Arabic_tah 0x05d7 /* U+0637 ARABIC LETTER TAH */
+#define XK_Arabic_zah 0x05d8 /* U+0638 ARABIC LETTER ZAH */
+#define XK_Arabic_ain 0x05d9 /* U+0639 ARABIC LETTER AIN */
+#define XK_Arabic_ghain 0x05da /* U+063A ARABIC LETTER GHAIN */
+#define XK_Arabic_tatweel 0x05e0 /* U+0640 ARABIC TATWEEL */
+#define XK_Arabic_feh 0x05e1 /* U+0641 ARABIC LETTER FEH */
+#define XK_Arabic_qaf 0x05e2 /* U+0642 ARABIC LETTER QAF */
+#define XK_Arabic_kaf 0x05e3 /* U+0643 ARABIC LETTER KAF */
+#define XK_Arabic_lam 0x05e4 /* U+0644 ARABIC LETTER LAM */
+#define XK_Arabic_meem 0x05e5 /* U+0645 ARABIC LETTER MEEM */
+#define XK_Arabic_noon 0x05e6 /* U+0646 ARABIC LETTER NOON */
+#define XK_Arabic_ha 0x05e7 /* U+0647 ARABIC LETTER HEH */
+#define XK_Arabic_heh 0x05e7 /* deprecated */
+#define XK_Arabic_waw 0x05e8 /* U+0648 ARABIC LETTER WAW */
+#define XK_Arabic_alefmaksura 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */
+#define XK_Arabic_yeh 0x05ea /* U+064A ARABIC LETTER YEH */
+#define XK_Arabic_fathatan 0x05eb /* U+064B ARABIC FATHATAN */
+#define XK_Arabic_dammatan 0x05ec /* U+064C ARABIC DAMMATAN */
+#define XK_Arabic_kasratan 0x05ed /* U+064D ARABIC KASRATAN */
+#define XK_Arabic_fatha 0x05ee /* U+064E ARABIC FATHA */
+#define XK_Arabic_damma 0x05ef /* U+064F ARABIC DAMMA */
+#define XK_Arabic_kasra 0x05f0 /* U+0650 ARABIC KASRA */
+#define XK_Arabic_shadda 0x05f1 /* U+0651 ARABIC SHADDA */
+#define XK_Arabic_sukun 0x05f2 /* U+0652 ARABIC SUKUN */
+#define XK_Arabic_madda_above 0x1000653 /* U+0653 ARABIC MADDAH ABOVE */
+#define XK_Arabic_hamza_above 0x1000654 /* U+0654 ARABIC HAMZA ABOVE */
+#define XK_Arabic_hamza_below 0x1000655 /* U+0655 ARABIC HAMZA BELOW */
+#define XK_Arabic_jeh 0x1000698 /* U+0698 ARABIC LETTER JEH */
+#define XK_Arabic_veh 0x10006a4 /* U+06A4 ARABIC LETTER VEH */
+#define XK_Arabic_keheh 0x10006a9 /* U+06A9 ARABIC LETTER KEHEH */
+#define XK_Arabic_gaf 0x10006af /* U+06AF ARABIC LETTER GAF */
+#define XK_Arabic_noon_ghunna 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */
+#define XK_Arabic_heh_doachashmee 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
+#define XK_Farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_yeh_baree 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */
+#define XK_Arabic_heh_goal 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */
+#define XK_Arabic_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_ARABIC */
+
+/*
+ * Cyrillic
+ * Byte 3 = 6
+ */
+#ifdef XK_CYRILLIC
+#define XK_Cyrillic_GHE_bar 0x1000492 /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ghe_bar 0x1000493 /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ZHE_descender 0x1000496 /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_zhe_descender 0x1000497 /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_KA_descender 0x100049a /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_ka_descender 0x100049b /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_KA_vertstroke 0x100049c /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_ka_vertstroke 0x100049d /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_EN_descender 0x10004a2 /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_U_straight 0x10004ae /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
+#define XK_Cyrillic_u_straight 0x10004af /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
+#define XK_Cyrillic_U_straight_bar 0x10004b0 /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_u_straight_bar 0x10004b1 /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_HA_descender 0x10004b2 /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_ha_descender 0x10004b3 /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_CHE_descender 0x10004b6 /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_che_descender 0x10004b7 /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_CHE_vertstroke 0x10004b8 /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_che_vertstroke 0x10004b9 /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_SHHA 0x10004ba /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
+#define XK_Cyrillic_shha 0x10004bb /* U+04BB CYRILLIC SMALL LETTER SHHA */
+
+#define XK_Cyrillic_SCHWA 0x10004d8 /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
+#define XK_Cyrillic_schwa 0x10004d9 /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
+#define XK_Cyrillic_I_macron 0x10004e2 /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
+#define XK_Cyrillic_i_macron 0x10004e3 /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
+#define XK_Cyrillic_O_bar 0x10004e8 /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
+#define XK_Cyrillic_o_bar 0x10004e9 /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
+#define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
+#define XK_Cyrillic_u_macron 0x10004ef /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
+
+#define XK_Serbian_dje 0x06a1 /* U+0452 CYRILLIC SMALL LETTER DJE */
+#define XK_Macedonia_gje 0x06a2 /* U+0453 CYRILLIC SMALL LETTER GJE */
+#define XK_Cyrillic_io 0x06a3 /* U+0451 CYRILLIC SMALL LETTER IO */
+#define XK_Ukrainian_ie 0x06a4 /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
+#define XK_Ukranian_je 0x06a4 /* deprecated */
+#define XK_Macedonia_dse 0x06a5 /* U+0455 CYRILLIC SMALL LETTER DZE */
+#define XK_Ukrainian_i 0x06a6 /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_i 0x06a6 /* deprecated */
+#define XK_Ukrainian_yi 0x06a7 /* U+0457 CYRILLIC SMALL LETTER YI */
+#define XK_Ukranian_yi 0x06a7 /* deprecated */
+#define XK_Cyrillic_je 0x06a8 /* U+0458 CYRILLIC SMALL LETTER JE */
+#define XK_Serbian_je 0x06a8 /* deprecated */
+#define XK_Cyrillic_lje 0x06a9 /* U+0459 CYRILLIC SMALL LETTER LJE */
+#define XK_Serbian_lje 0x06a9 /* deprecated */
+#define XK_Cyrillic_nje 0x06aa /* U+045A CYRILLIC SMALL LETTER NJE */
+#define XK_Serbian_nje 0x06aa /* deprecated */
+#define XK_Serbian_tshe 0x06ab /* U+045B CYRILLIC SMALL LETTER TSHE */
+#define XK_Macedonia_kje 0x06ac /* U+045C CYRILLIC SMALL LETTER KJE */
+#define XK_Ukrainian_ghe_with_upturn 0x06ad /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_shortu 0x06ae /* U+045E CYRILLIC SMALL LETTER SHORT U */
+#define XK_Cyrillic_dzhe 0x06af /* U+045F CYRILLIC SMALL LETTER DZHE */
+#define XK_Serbian_dze 0x06af /* deprecated */
+#define XK_numerosign 0x06b0 /* U+2116 NUMERO SIGN */
+#define XK_Serbian_DJE 0x06b1 /* U+0402 CYRILLIC CAPITAL LETTER DJE */
+#define XK_Macedonia_GJE 0x06b2 /* U+0403 CYRILLIC CAPITAL LETTER GJE */
+#define XK_Cyrillic_IO 0x06b3 /* U+0401 CYRILLIC CAPITAL LETTER IO */
+#define XK_Ukrainian_IE 0x06b4 /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+#define XK_Ukranian_JE 0x06b4 /* deprecated */
+#define XK_Macedonia_DSE 0x06b5 /* U+0405 CYRILLIC CAPITAL LETTER DZE */
+#define XK_Ukrainian_I 0x06b6 /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_I 0x06b6 /* deprecated */
+#define XK_Ukrainian_YI 0x06b7 /* U+0407 CYRILLIC CAPITAL LETTER YI */
+#define XK_Ukranian_YI 0x06b7 /* deprecated */
+#define XK_Cyrillic_JE 0x06b8 /* U+0408 CYRILLIC CAPITAL LETTER JE */
+#define XK_Serbian_JE 0x06b8 /* deprecated */
+#define XK_Cyrillic_LJE 0x06b9 /* U+0409 CYRILLIC CAPITAL LETTER LJE */
+#define XK_Serbian_LJE 0x06b9 /* deprecated */
+#define XK_Cyrillic_NJE 0x06ba /* U+040A CYRILLIC CAPITAL LETTER NJE */
+#define XK_Serbian_NJE 0x06ba /* deprecated */
+#define XK_Serbian_TSHE 0x06bb /* U+040B CYRILLIC CAPITAL LETTER TSHE */
+#define XK_Macedonia_KJE 0x06bc /* U+040C CYRILLIC CAPITAL LETTER KJE */
+#define XK_Ukrainian_GHE_WITH_UPTURN 0x06bd /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_SHORTU 0x06be /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
+#define XK_Cyrillic_DZHE 0x06bf /* U+040F CYRILLIC CAPITAL LETTER DZHE */
+#define XK_Serbian_DZE 0x06bf /* deprecated */
+#define XK_Cyrillic_yu 0x06c0 /* U+044E CYRILLIC SMALL LETTER YU */
+#define XK_Cyrillic_a 0x06c1 /* U+0430 CYRILLIC SMALL LETTER A */
+#define XK_Cyrillic_be 0x06c2 /* U+0431 CYRILLIC SMALL LETTER BE */
+#define XK_Cyrillic_tse 0x06c3 /* U+0446 CYRILLIC SMALL LETTER TSE */
+#define XK_Cyrillic_de 0x06c4 /* U+0434 CYRILLIC SMALL LETTER DE */
+#define XK_Cyrillic_ie 0x06c5 /* U+0435 CYRILLIC SMALL LETTER IE */
+#define XK_Cyrillic_ef 0x06c6 /* U+0444 CYRILLIC SMALL LETTER EF */
+#define XK_Cyrillic_ghe 0x06c7 /* U+0433 CYRILLIC SMALL LETTER GHE */
+#define XK_Cyrillic_ha 0x06c8 /* U+0445 CYRILLIC SMALL LETTER HA */
+#define XK_Cyrillic_i 0x06c9 /* U+0438 CYRILLIC SMALL LETTER I */
+#define XK_Cyrillic_shorti 0x06ca /* U+0439 CYRILLIC SMALL LETTER SHORT I */
+#define XK_Cyrillic_ka 0x06cb /* U+043A CYRILLIC SMALL LETTER KA */
+#define XK_Cyrillic_el 0x06cc /* U+043B CYRILLIC SMALL LETTER EL */
+#define XK_Cyrillic_em 0x06cd /* U+043C CYRILLIC SMALL LETTER EM */
+#define XK_Cyrillic_en 0x06ce /* U+043D CYRILLIC SMALL LETTER EN */
+#define XK_Cyrillic_o 0x06cf /* U+043E CYRILLIC SMALL LETTER O */
+#define XK_Cyrillic_pe 0x06d0 /* U+043F CYRILLIC SMALL LETTER PE */
+#define XK_Cyrillic_ya 0x06d1 /* U+044F CYRILLIC SMALL LETTER YA */
+#define XK_Cyrillic_er 0x06d2 /* U+0440 CYRILLIC SMALL LETTER ER */
+#define XK_Cyrillic_es 0x06d3 /* U+0441 CYRILLIC SMALL LETTER ES */
+#define XK_Cyrillic_te 0x06d4 /* U+0442 CYRILLIC SMALL LETTER TE */
+#define XK_Cyrillic_u 0x06d5 /* U+0443 CYRILLIC SMALL LETTER U */
+#define XK_Cyrillic_zhe 0x06d6 /* U+0436 CYRILLIC SMALL LETTER ZHE */
+#define XK_Cyrillic_ve 0x06d7 /* U+0432 CYRILLIC SMALL LETTER VE */
+#define XK_Cyrillic_softsign 0x06d8 /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
+#define XK_Cyrillic_yeru 0x06d9 /* U+044B CYRILLIC SMALL LETTER YERU */
+#define XK_Cyrillic_ze 0x06da /* U+0437 CYRILLIC SMALL LETTER ZE */
+#define XK_Cyrillic_sha 0x06db /* U+0448 CYRILLIC SMALL LETTER SHA */
+#define XK_Cyrillic_e 0x06dc /* U+044D CYRILLIC SMALL LETTER E */
+#define XK_Cyrillic_shcha 0x06dd /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+#define XK_Cyrillic_che 0x06de /* U+0447 CYRILLIC SMALL LETTER CHE */
+#define XK_Cyrillic_hardsign 0x06df /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
+#define XK_Cyrillic_YU 0x06e0 /* U+042E CYRILLIC CAPITAL LETTER YU */
+#define XK_Cyrillic_A 0x06e1 /* U+0410 CYRILLIC CAPITAL LETTER A */
+#define XK_Cyrillic_BE 0x06e2 /* U+0411 CYRILLIC CAPITAL LETTER BE */
+#define XK_Cyrillic_TSE 0x06e3 /* U+0426 CYRILLIC CAPITAL LETTER TSE */
+#define XK_Cyrillic_DE 0x06e4 /* U+0414 CYRILLIC CAPITAL LETTER DE */
+#define XK_Cyrillic_IE 0x06e5 /* U+0415 CYRILLIC CAPITAL LETTER IE */
+#define XK_Cyrillic_EF 0x06e6 /* U+0424 CYRILLIC CAPITAL LETTER EF */
+#define XK_Cyrillic_GHE 0x06e7 /* U+0413 CYRILLIC CAPITAL LETTER GHE */
+#define XK_Cyrillic_HA 0x06e8 /* U+0425 CYRILLIC CAPITAL LETTER HA */
+#define XK_Cyrillic_I 0x06e9 /* U+0418 CYRILLIC CAPITAL LETTER I */
+#define XK_Cyrillic_SHORTI 0x06ea /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */
+#define XK_Cyrillic_KA 0x06eb /* U+041A CYRILLIC CAPITAL LETTER KA */
+#define XK_Cyrillic_EL 0x06ec /* U+041B CYRILLIC CAPITAL LETTER EL */
+#define XK_Cyrillic_EM 0x06ed /* U+041C CYRILLIC CAPITAL LETTER EM */
+#define XK_Cyrillic_EN 0x06ee /* U+041D CYRILLIC CAPITAL LETTER EN */
+#define XK_Cyrillic_O 0x06ef /* U+041E CYRILLIC CAPITAL LETTER O */
+#define XK_Cyrillic_PE 0x06f0 /* U+041F CYRILLIC CAPITAL LETTER PE */
+#define XK_Cyrillic_YA 0x06f1 /* U+042F CYRILLIC CAPITAL LETTER YA */
+#define XK_Cyrillic_ER 0x06f2 /* U+0420 CYRILLIC CAPITAL LETTER ER */
+#define XK_Cyrillic_ES 0x06f3 /* U+0421 CYRILLIC CAPITAL LETTER ES */
+#define XK_Cyrillic_TE 0x06f4 /* U+0422 CYRILLIC CAPITAL LETTER TE */
+#define XK_Cyrillic_U 0x06f5 /* U+0423 CYRILLIC CAPITAL LETTER U */
+#define XK_Cyrillic_ZHE 0x06f6 /* U+0416 CYRILLIC CAPITAL LETTER ZHE */
+#define XK_Cyrillic_VE 0x06f7 /* U+0412 CYRILLIC CAPITAL LETTER VE */
+#define XK_Cyrillic_SOFTSIGN 0x06f8 /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */
+#define XK_Cyrillic_YERU 0x06f9 /* U+042B CYRILLIC CAPITAL LETTER YERU */
+#define XK_Cyrillic_ZE 0x06fa /* U+0417 CYRILLIC CAPITAL LETTER ZE */
+#define XK_Cyrillic_SHA 0x06fb /* U+0428 CYRILLIC CAPITAL LETTER SHA */
+#define XK_Cyrillic_E 0x06fc /* U+042D CYRILLIC CAPITAL LETTER E */
+#define XK_Cyrillic_SHCHA 0x06fd /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+#define XK_Cyrillic_CHE 0x06fe /* U+0427 CYRILLIC CAPITAL LETTER CHE */
+#define XK_Cyrillic_HARDSIGN 0x06ff /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */
+#endif /* XK_CYRILLIC */
+
+/*
+ * Greek
+ * (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
+ * Byte 3 = 7
+ */
+
+#ifdef XK_GREEK
+#define XK_Greek_ALPHAaccent 0x07a1 /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */
+#define XK_Greek_EPSILONaccent 0x07a2 /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */
+#define XK_Greek_ETAaccent 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
+#define XK_Greek_IOTAaccent 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
+#define XK_Greek_IOTAdieresis 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_IOTAdiaeresis 0x07a5 /* old typo */
+#define XK_Greek_OMICRONaccent 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
+#define XK_Greek_UPSILONaccent 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
+#define XK_Greek_UPSILONdieresis 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_OMEGAaccent 0x07ab /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */
+#define XK_Greek_accentdieresis 0x07ae /* U+0385 GREEK DIALYTIKA TONOS */
+#define XK_Greek_horizbar 0x07af /* U+2015 HORIZONTAL BAR */
+#define XK_Greek_alphaaccent 0x07b1 /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */
+#define XK_Greek_epsilonaccent 0x07b2 /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */
+#define XK_Greek_etaaccent 0x07b3 /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */
+#define XK_Greek_iotaaccent 0x07b4 /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */
+#define XK_Greek_iotadieresis 0x07b5 /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_iotaaccentdieresis 0x07b6 /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omicronaccent 0x07b7 /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */
+#define XK_Greek_upsilonaccent 0x07b8 /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */
+#define XK_Greek_upsilondieresis 0x07b9 /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_upsilonaccentdieresis 0x07ba /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omegaaccent 0x07bb /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */
+#define XK_Greek_ALPHA 0x07c1 /* U+0391 GREEK CAPITAL LETTER ALPHA */
+#define XK_Greek_BETA 0x07c2 /* U+0392 GREEK CAPITAL LETTER BETA */
+#define XK_Greek_GAMMA 0x07c3 /* U+0393 GREEK CAPITAL LETTER GAMMA */
+#define XK_Greek_DELTA 0x07c4 /* U+0394 GREEK CAPITAL LETTER DELTA */
+#define XK_Greek_EPSILON 0x07c5 /* U+0395 GREEK CAPITAL LETTER EPSILON */
+#define XK_Greek_ZETA 0x07c6 /* U+0396 GREEK CAPITAL LETTER ZETA */
+#define XK_Greek_ETA 0x07c7 /* U+0397 GREEK CAPITAL LETTER ETA */
+#define XK_Greek_THETA 0x07c8 /* U+0398 GREEK CAPITAL LETTER THETA */
+#define XK_Greek_IOTA 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */
+#define XK_Greek_KAPPA 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */
+#define XK_Greek_LAMDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_LAMBDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_MU 0x07cc /* U+039C GREEK CAPITAL LETTER MU */
+#define XK_Greek_NU 0x07cd /* U+039D GREEK CAPITAL LETTER NU */
+#define XK_Greek_XI 0x07ce /* U+039E GREEK CAPITAL LETTER XI */
+#define XK_Greek_OMICRON 0x07cf /* U+039F GREEK CAPITAL LETTER OMICRON */
+#define XK_Greek_PI 0x07d0 /* U+03A0 GREEK CAPITAL LETTER PI */
+#define XK_Greek_RHO 0x07d1 /* U+03A1 GREEK CAPITAL LETTER RHO */
+#define XK_Greek_SIGMA 0x07d2 /* U+03A3 GREEK CAPITAL LETTER SIGMA */
+#define XK_Greek_TAU 0x07d4 /* U+03A4 GREEK CAPITAL LETTER TAU */
+#define XK_Greek_UPSILON 0x07d5 /* U+03A5 GREEK CAPITAL LETTER UPSILON */
+#define XK_Greek_PHI 0x07d6 /* U+03A6 GREEK CAPITAL LETTER PHI */
+#define XK_Greek_CHI 0x07d7 /* U+03A7 GREEK CAPITAL LETTER CHI */
+#define XK_Greek_PSI 0x07d8 /* U+03A8 GREEK CAPITAL LETTER PSI */
+#define XK_Greek_OMEGA 0x07d9 /* U+03A9 GREEK CAPITAL LETTER OMEGA */
+#define XK_Greek_alpha 0x07e1 /* U+03B1 GREEK SMALL LETTER ALPHA */
+#define XK_Greek_beta 0x07e2 /* U+03B2 GREEK SMALL LETTER BETA */
+#define XK_Greek_gamma 0x07e3 /* U+03B3 GREEK SMALL LETTER GAMMA */
+#define XK_Greek_delta 0x07e4 /* U+03B4 GREEK SMALL LETTER DELTA */
+#define XK_Greek_epsilon 0x07e5 /* U+03B5 GREEK SMALL LETTER EPSILON */
+#define XK_Greek_zeta 0x07e6 /* U+03B6 GREEK SMALL LETTER ZETA */
+#define XK_Greek_eta 0x07e7 /* U+03B7 GREEK SMALL LETTER ETA */
+#define XK_Greek_theta 0x07e8 /* U+03B8 GREEK SMALL LETTER THETA */
+#define XK_Greek_iota 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */
+#define XK_Greek_kappa 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */
+#define XK_Greek_lamda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_lambda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_mu 0x07ec /* U+03BC GREEK SMALL LETTER MU */
+#define XK_Greek_nu 0x07ed /* U+03BD GREEK SMALL LETTER NU */
+#define XK_Greek_xi 0x07ee /* U+03BE GREEK SMALL LETTER XI */
+#define XK_Greek_omicron 0x07ef /* U+03BF GREEK SMALL LETTER OMICRON */
+#define XK_Greek_pi 0x07f0 /* U+03C0 GREEK SMALL LETTER PI */
+#define XK_Greek_rho 0x07f1 /* U+03C1 GREEK SMALL LETTER RHO */
+#define XK_Greek_sigma 0x07f2 /* U+03C3 GREEK SMALL LETTER SIGMA */
+#define XK_Greek_finalsmallsigma 0x07f3 /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */
+#define XK_Greek_tau 0x07f4 /* U+03C4 GREEK SMALL LETTER TAU */
+#define XK_Greek_upsilon 0x07f5 /* U+03C5 GREEK SMALL LETTER UPSILON */
+#define XK_Greek_phi 0x07f6 /* U+03C6 GREEK SMALL LETTER PHI */
+#define XK_Greek_chi 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */
+#define XK_Greek_psi 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */
+#define XK_Greek_omega 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */
+#define XK_Greek_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_GREEK */
+
+/*
+ * Technical
+ * (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
+ * Byte 3 = 8
+ */
+
+#ifdef XK_TECHNICAL
+#define XK_leftradical 0x08a1 /* U+23B7 RADICAL SYMBOL BOTTOM */
+#define XK_topleftradical 0x08a2 /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/
+#define XK_horizconnector 0x08a3 /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/
+#define XK_topintegral 0x08a4 /* U+2320 TOP HALF INTEGRAL */
+#define XK_botintegral 0x08a5 /* U+2321 BOTTOM HALF INTEGRAL */
+#define XK_vertconnector 0x08a6 /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/
+#define XK_topleftsqbracket 0x08a7 /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */
+#define XK_botleftsqbracket 0x08a8 /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */
+#define XK_toprightsqbracket 0x08a9 /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */
+#define XK_botrightsqbracket 0x08aa /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */
+#define XK_topleftparens 0x08ab /* U+239B LEFT PARENTHESIS UPPER HOOK */
+#define XK_botleftparens 0x08ac /* U+239D LEFT PARENTHESIS LOWER HOOK */
+#define XK_toprightparens 0x08ad /* U+239E RIGHT PARENTHESIS UPPER HOOK */
+#define XK_botrightparens 0x08ae /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */
+#define XK_leftmiddlecurlybrace 0x08af /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */
+#define XK_rightmiddlecurlybrace 0x08b0 /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */
+#define XK_topleftsummation 0x08b1
+#define XK_botleftsummation 0x08b2
+#define XK_topvertsummationconnector 0x08b3
+#define XK_botvertsummationconnector 0x08b4
+#define XK_toprightsummation 0x08b5
+#define XK_botrightsummation 0x08b6
+#define XK_rightmiddlesummation 0x08b7
+#define XK_lessthanequal 0x08bc /* U+2264 LESS-THAN OR EQUAL TO */
+#define XK_notequal 0x08bd /* U+2260 NOT EQUAL TO */
+#define XK_greaterthanequal 0x08be /* U+2265 GREATER-THAN OR EQUAL TO */
+#define XK_integral 0x08bf /* U+222B INTEGRAL */
+#define XK_therefore 0x08c0 /* U+2234 THEREFORE */
+#define XK_variation 0x08c1 /* U+221D PROPORTIONAL TO */
+#define XK_infinity 0x08c2 /* U+221E INFINITY */
+#define XK_nabla 0x08c5 /* U+2207 NABLA */
+#define XK_approximate 0x08c8 /* U+223C TILDE OPERATOR */
+#define XK_similarequal 0x08c9 /* U+2243 ASYMPTOTICALLY EQUAL TO */
+#define XK_ifonlyif 0x08cd /* U+21D4 LEFT RIGHT DOUBLE ARROW */
+#define XK_implies 0x08ce /* U+21D2 RIGHTWARDS DOUBLE ARROW */
+#define XK_identical 0x08cf /* U+2261 IDENTICAL TO */
+#define XK_radical 0x08d6 /* U+221A SQUARE ROOT */
+#define XK_includedin 0x08da /* U+2282 SUBSET OF */
+#define XK_includes 0x08db /* U+2283 SUPERSET OF */
+#define XK_intersection 0x08dc /* U+2229 INTERSECTION */
+#define XK_union 0x08dd /* U+222A UNION */
+#define XK_logicaland 0x08de /* U+2227 LOGICAL AND */
+#define XK_logicalor 0x08df /* U+2228 LOGICAL OR */
+#define XK_partialderivative 0x08ef /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_function 0x08f6 /* U+0192 LATIN SMALL LETTER F WITH HOOK */
+#define XK_leftarrow 0x08fb /* U+2190 LEFTWARDS ARROW */
+#define XK_uparrow 0x08fc /* U+2191 UPWARDS ARROW */
+#define XK_rightarrow 0x08fd /* U+2192 RIGHTWARDS ARROW */
+#define XK_downarrow 0x08fe /* U+2193 DOWNWARDS ARROW */
+#endif /* XK_TECHNICAL */
+
+/*
+ * Special
+ * (from the DEC VT100 Special Graphics Character Set)
+ * Byte 3 = 9
+ */
+
+#ifdef XK_SPECIAL
+#define XK_blank 0x09df
+#define XK_soliddiamond 0x09e0 /* U+25C6 BLACK DIAMOND */
+#define XK_checkerboard 0x09e1 /* U+2592 MEDIUM SHADE */
+#define XK_ht 0x09e2 /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */
+#define XK_ff 0x09e3 /* U+240C SYMBOL FOR FORM FEED */
+#define XK_cr 0x09e4 /* U+240D SYMBOL FOR CARRIAGE RETURN */
+#define XK_lf 0x09e5 /* U+240A SYMBOL FOR LINE FEED */
+#define XK_nl 0x09e8 /* U+2424 SYMBOL FOR NEWLINE */
+#define XK_vt 0x09e9 /* U+240B SYMBOL FOR VERTICAL TABULATION */
+#define XK_lowrightcorner 0x09ea /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */
+#define XK_uprightcorner 0x09eb /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */
+#define XK_upleftcorner 0x09ec /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */
+#define XK_lowleftcorner 0x09ed /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */
+#define XK_crossinglines 0x09ee /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+#define XK_horizlinescan1 0x09ef /* U+23BA HORIZONTAL SCAN LINE-1 */
+#define XK_horizlinescan3 0x09f0 /* U+23BB HORIZONTAL SCAN LINE-3 */
+#define XK_horizlinescan5 0x09f1 /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */
+#define XK_horizlinescan7 0x09f2 /* U+23BC HORIZONTAL SCAN LINE-7 */
+#define XK_horizlinescan9 0x09f3 /* U+23BD HORIZONTAL SCAN LINE-9 */
+#define XK_leftt 0x09f4 /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+#define XK_rightt 0x09f5 /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+#define XK_bott 0x09f6 /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+#define XK_topt 0x09f7 /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+#define XK_vertbar 0x09f8 /* U+2502 BOX DRAWINGS LIGHT VERTICAL */
+#endif /* XK_SPECIAL */
+
+/*
+ * Publishing
+ * (these are probably from a long forgotten DEC Publishing
+ * font that once shipped with DECwrite)
+ * Byte 3 = 0x0a
+ */
+
+#ifdef XK_PUBLISHING
+#define XK_emspace 0x0aa1 /* U+2003 EM SPACE */
+#define XK_enspace 0x0aa2 /* U+2002 EN SPACE */
+#define XK_em3space 0x0aa3 /* U+2004 THREE-PER-EM SPACE */
+#define XK_em4space 0x0aa4 /* U+2005 FOUR-PER-EM SPACE */
+#define XK_digitspace 0x0aa5 /* U+2007 FIGURE SPACE */
+#define XK_punctspace 0x0aa6 /* U+2008 PUNCTUATION SPACE */
+#define XK_thinspace 0x0aa7 /* U+2009 THIN SPACE */
+#define XK_hairspace 0x0aa8 /* U+200A HAIR SPACE */
+#define XK_emdash 0x0aa9 /* U+2014 EM DASH */
+#define XK_endash 0x0aaa /* U+2013 EN DASH */
+#define XK_signifblank 0x0aac /*(U+2423 OPEN BOX)*/
+#define XK_ellipsis 0x0aae /* U+2026 HORIZONTAL ELLIPSIS */
+#define XK_doubbaselinedot 0x0aaf /* U+2025 TWO DOT LEADER */
+#define XK_onethird 0x0ab0 /* U+2153 VULGAR FRACTION ONE THIRD */
+#define XK_twothirds 0x0ab1 /* U+2154 VULGAR FRACTION TWO THIRDS */
+#define XK_onefifth 0x0ab2 /* U+2155 VULGAR FRACTION ONE FIFTH */
+#define XK_twofifths 0x0ab3 /* U+2156 VULGAR FRACTION TWO FIFTHS */
+#define XK_threefifths 0x0ab4 /* U+2157 VULGAR FRACTION THREE FIFTHS */
+#define XK_fourfifths 0x0ab5 /* U+2158 VULGAR FRACTION FOUR FIFTHS */
+#define XK_onesixth 0x0ab6 /* U+2159 VULGAR FRACTION ONE SIXTH */
+#define XK_fivesixths 0x0ab7 /* U+215A VULGAR FRACTION FIVE SIXTHS */
+#define XK_careof 0x0ab8 /* U+2105 CARE OF */
+#define XK_figdash 0x0abb /* U+2012 FIGURE DASH */
+#define XK_leftanglebracket 0x0abc /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/
+#define XK_decimalpoint 0x0abd /*(U+002E FULL STOP)*/
+#define XK_rightanglebracket 0x0abe /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/
+#define XK_marker 0x0abf
+#define XK_oneeighth 0x0ac3 /* U+215B VULGAR FRACTION ONE EIGHTH */
+#define XK_threeeighths 0x0ac4 /* U+215C VULGAR FRACTION THREE EIGHTHS */
+#define XK_fiveeighths 0x0ac5 /* U+215D VULGAR FRACTION FIVE EIGHTHS */
+#define XK_seveneighths 0x0ac6 /* U+215E VULGAR FRACTION SEVEN EIGHTHS */
+#define XK_trademark 0x0ac9 /* U+2122 TRADE MARK SIGN */
+#define XK_signaturemark 0x0aca /*(U+2613 SALTIRE)*/
+#define XK_trademarkincircle 0x0acb
+#define XK_leftopentriangle 0x0acc /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/
+#define XK_rightopentriangle 0x0acd /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/
+#define XK_emopencircle 0x0ace /*(U+25CB WHITE CIRCLE)*/
+#define XK_emopenrectangle 0x0acf /*(U+25AF WHITE VERTICAL RECTANGLE)*/
+#define XK_leftsinglequotemark 0x0ad0 /* U+2018 LEFT SINGLE QUOTATION MARK */
+#define XK_rightsinglequotemark 0x0ad1 /* U+2019 RIGHT SINGLE QUOTATION MARK */
+#define XK_leftdoublequotemark 0x0ad2 /* U+201C LEFT DOUBLE QUOTATION MARK */
+#define XK_rightdoublequotemark 0x0ad3 /* U+201D RIGHT DOUBLE QUOTATION MARK */
+#define XK_prescription 0x0ad4 /* U+211E PRESCRIPTION TAKE */
+#define XK_minutes 0x0ad6 /* U+2032 PRIME */
+#define XK_seconds 0x0ad7 /* U+2033 DOUBLE PRIME */
+#define XK_latincross 0x0ad9 /* U+271D LATIN CROSS */
+#define XK_hexagram 0x0ada
+#define XK_filledrectbullet 0x0adb /*(U+25AC BLACK RECTANGLE)*/
+#define XK_filledlefttribullet 0x0adc /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/
+#define XK_filledrighttribullet 0x0add /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/
+#define XK_emfilledcircle 0x0ade /*(U+25CF BLACK CIRCLE)*/
+#define XK_emfilledrect 0x0adf /*(U+25AE BLACK VERTICAL RECTANGLE)*/
+#define XK_enopencircbullet 0x0ae0 /*(U+25E6 WHITE BULLET)*/
+#define XK_enopensquarebullet 0x0ae1 /*(U+25AB WHITE SMALL SQUARE)*/
+#define XK_openrectbullet 0x0ae2 /*(U+25AD WHITE RECTANGLE)*/
+#define XK_opentribulletup 0x0ae3 /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/
+#define XK_opentribulletdown 0x0ae4 /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/
+#define XK_openstar 0x0ae5 /*(U+2606 WHITE STAR)*/
+#define XK_enfilledcircbullet 0x0ae6 /*(U+2022 BULLET)*/
+#define XK_enfilledsqbullet 0x0ae7 /*(U+25AA BLACK SMALL SQUARE)*/
+#define XK_filledtribulletup 0x0ae8 /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/
+#define XK_filledtribulletdown 0x0ae9 /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/
+#define XK_leftpointer 0x0aea /*(U+261C WHITE LEFT POINTING INDEX)*/
+#define XK_rightpointer 0x0aeb /*(U+261E WHITE RIGHT POINTING INDEX)*/
+#define XK_club 0x0aec /* U+2663 BLACK CLUB SUIT */
+#define XK_diamond 0x0aed /* U+2666 BLACK DIAMOND SUIT */
+#define XK_heart 0x0aee /* U+2665 BLACK HEART SUIT */
+#define XK_maltesecross 0x0af0 /* U+2720 MALTESE CROSS */
+#define XK_dagger 0x0af1 /* U+2020 DAGGER */
+#define XK_doubledagger 0x0af2 /* U+2021 DOUBLE DAGGER */
+#define XK_checkmark 0x0af3 /* U+2713 CHECK MARK */
+#define XK_ballotcross 0x0af4 /* U+2717 BALLOT X */
+#define XK_musicalsharp 0x0af5 /* U+266F MUSIC SHARP SIGN */
+#define XK_musicalflat 0x0af6 /* U+266D MUSIC FLAT SIGN */
+#define XK_malesymbol 0x0af7 /* U+2642 MALE SIGN */
+#define XK_femalesymbol 0x0af8 /* U+2640 FEMALE SIGN */
+#define XK_telephone 0x0af9 /* U+260E BLACK TELEPHONE */
+#define XK_telephonerecorder 0x0afa /* U+2315 TELEPHONE RECORDER */
+#define XK_phonographcopyright 0x0afb /* U+2117 SOUND RECORDING COPYRIGHT */
+#define XK_caret 0x0afc /* U+2038 CARET */
+#define XK_singlelowquotemark 0x0afd /* U+201A SINGLE LOW-9 QUOTATION MARK */
+#define XK_doublelowquotemark 0x0afe /* U+201E DOUBLE LOW-9 QUOTATION MARK */
+#define XK_cursor 0x0aff
+#endif /* XK_PUBLISHING */
+
+/*
+ * APL
+ * Byte 3 = 0x0b
+ */
+
+#ifdef XK_APL
+#define XK_leftcaret 0x0ba3 /*(U+003C LESS-THAN SIGN)*/
+#define XK_rightcaret 0x0ba6 /*(U+003E GREATER-THAN SIGN)*/
+#define XK_downcaret 0x0ba8 /*(U+2228 LOGICAL OR)*/
+#define XK_upcaret 0x0ba9 /*(U+2227 LOGICAL AND)*/
+#define XK_overbar 0x0bc0 /*(U+00AF MACRON)*/
+#define XK_downtack 0x0bc2 /* U+22A5 UP TACK */
+#define XK_upshoe 0x0bc3 /*(U+2229 INTERSECTION)*/
+#define XK_downstile 0x0bc4 /* U+230A LEFT FLOOR */
+#define XK_underbar 0x0bc6 /*(U+005F LOW LINE)*/
+#define XK_jot 0x0bca /* U+2218 RING OPERATOR */
+#define XK_quad 0x0bcc /* U+2395 APL FUNCTIONAL SYMBOL QUAD */
+#define XK_uptack 0x0bce /* U+22A4 DOWN TACK */
+#define XK_circle 0x0bcf /* U+25CB WHITE CIRCLE */
+#define XK_upstile 0x0bd3 /* U+2308 LEFT CEILING */
+#define XK_downshoe 0x0bd6 /*(U+222A UNION)*/
+#define XK_rightshoe 0x0bd8 /*(U+2283 SUPERSET OF)*/
+#define XK_leftshoe 0x0bda /*(U+2282 SUBSET OF)*/
+#define XK_lefttack 0x0bdc /* U+22A2 RIGHT TACK */
+#define XK_righttack 0x0bfc /* U+22A3 LEFT TACK */
+#endif /* XK_APL */
+
+/*
+ * Hebrew
+ * Byte 3 = 0x0c
+ */
+
+#ifdef XK_HEBREW
+#define XK_hebrew_doublelowline 0x0cdf /* U+2017 DOUBLE LOW LINE */
+#define XK_hebrew_aleph 0x0ce0 /* U+05D0 HEBREW LETTER ALEF */
+#define XK_hebrew_bet 0x0ce1 /* U+05D1 HEBREW LETTER BET */
+#define XK_hebrew_beth 0x0ce1 /* deprecated */
+#define XK_hebrew_gimel 0x0ce2 /* U+05D2 HEBREW LETTER GIMEL */
+#define XK_hebrew_gimmel 0x0ce2 /* deprecated */
+#define XK_hebrew_dalet 0x0ce3 /* U+05D3 HEBREW LETTER DALET */
+#define XK_hebrew_daleth 0x0ce3 /* deprecated */
+#define XK_hebrew_he 0x0ce4 /* U+05D4 HEBREW LETTER HE */
+#define XK_hebrew_waw 0x0ce5 /* U+05D5 HEBREW LETTER VAV */
+#define XK_hebrew_zain 0x0ce6 /* U+05D6 HEBREW LETTER ZAYIN */
+#define XK_hebrew_zayin 0x0ce6 /* deprecated */
+#define XK_hebrew_chet 0x0ce7 /* U+05D7 HEBREW LETTER HET */
+#define XK_hebrew_het 0x0ce7 /* deprecated */
+#define XK_hebrew_tet 0x0ce8 /* U+05D8 HEBREW LETTER TET */
+#define XK_hebrew_teth 0x0ce8 /* deprecated */
+#define XK_hebrew_yod 0x0ce9 /* U+05D9 HEBREW LETTER YOD */
+#define XK_hebrew_finalkaph 0x0cea /* U+05DA HEBREW LETTER FINAL KAF */
+#define XK_hebrew_kaph 0x0ceb /* U+05DB HEBREW LETTER KAF */
+#define XK_hebrew_lamed 0x0cec /* U+05DC HEBREW LETTER LAMED */
+#define XK_hebrew_finalmem 0x0ced /* U+05DD HEBREW LETTER FINAL MEM */
+#define XK_hebrew_mem 0x0cee /* U+05DE HEBREW LETTER MEM */
+#define XK_hebrew_finalnun 0x0cef /* U+05DF HEBREW LETTER FINAL NUN */
+#define XK_hebrew_nun 0x0cf0 /* U+05E0 HEBREW LETTER NUN */
+#define XK_hebrew_samech 0x0cf1 /* U+05E1 HEBREW LETTER SAMEKH */
+#define XK_hebrew_samekh 0x0cf1 /* deprecated */
+#define XK_hebrew_ayin 0x0cf2 /* U+05E2 HEBREW LETTER AYIN */
+#define XK_hebrew_finalpe 0x0cf3 /* U+05E3 HEBREW LETTER FINAL PE */
+#define XK_hebrew_pe 0x0cf4 /* U+05E4 HEBREW LETTER PE */
+#define XK_hebrew_finalzade 0x0cf5 /* U+05E5 HEBREW LETTER FINAL TSADI */
+#define XK_hebrew_finalzadi 0x0cf5 /* deprecated */
+#define XK_hebrew_zade 0x0cf6 /* U+05E6 HEBREW LETTER TSADI */
+#define XK_hebrew_zadi 0x0cf6 /* deprecated */
+#define XK_hebrew_qoph 0x0cf7 /* U+05E7 HEBREW LETTER QOF */
+#define XK_hebrew_kuf 0x0cf7 /* deprecated */
+#define XK_hebrew_resh 0x0cf8 /* U+05E8 HEBREW LETTER RESH */
+#define XK_hebrew_shin 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */
+#define XK_hebrew_taw 0x0cfa /* U+05EA HEBREW LETTER TAV */
+#define XK_hebrew_taf 0x0cfa /* deprecated */
+#define XK_Hebrew_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_HEBREW */
+
+/*
+ * Thai
+ * Byte 3 = 0x0d
+ */
+
+#ifdef XK_THAI
+#define XK_Thai_kokai 0x0da1 /* U+0E01 THAI CHARACTER KO KAI */
+#define XK_Thai_khokhai 0x0da2 /* U+0E02 THAI CHARACTER KHO KHAI */
+#define XK_Thai_khokhuat 0x0da3 /* U+0E03 THAI CHARACTER KHO KHUAT */
+#define XK_Thai_khokhwai 0x0da4 /* U+0E04 THAI CHARACTER KHO KHWAI */
+#define XK_Thai_khokhon 0x0da5 /* U+0E05 THAI CHARACTER KHO KHON */
+#define XK_Thai_khorakhang 0x0da6 /* U+0E06 THAI CHARACTER KHO RAKHANG */
+#define XK_Thai_ngongu 0x0da7 /* U+0E07 THAI CHARACTER NGO NGU */
+#define XK_Thai_chochan 0x0da8 /* U+0E08 THAI CHARACTER CHO CHAN */
+#define XK_Thai_choching 0x0da9 /* U+0E09 THAI CHARACTER CHO CHING */
+#define XK_Thai_chochang 0x0daa /* U+0E0A THAI CHARACTER CHO CHANG */
+#define XK_Thai_soso 0x0dab /* U+0E0B THAI CHARACTER SO SO */
+#define XK_Thai_chochoe 0x0dac /* U+0E0C THAI CHARACTER CHO CHOE */
+#define XK_Thai_yoying 0x0dad /* U+0E0D THAI CHARACTER YO YING */
+#define XK_Thai_dochada 0x0dae /* U+0E0E THAI CHARACTER DO CHADA */
+#define XK_Thai_topatak 0x0daf /* U+0E0F THAI CHARACTER TO PATAK */
+#define XK_Thai_thothan 0x0db0 /* U+0E10 THAI CHARACTER THO THAN */
+#define XK_Thai_thonangmontho 0x0db1 /* U+0E11 THAI CHARACTER THO NANGMONTHO */
+#define XK_Thai_thophuthao 0x0db2 /* U+0E12 THAI CHARACTER THO PHUTHAO */
+#define XK_Thai_nonen 0x0db3 /* U+0E13 THAI CHARACTER NO NEN */
+#define XK_Thai_dodek 0x0db4 /* U+0E14 THAI CHARACTER DO DEK */
+#define XK_Thai_totao 0x0db5 /* U+0E15 THAI CHARACTER TO TAO */
+#define XK_Thai_thothung 0x0db6 /* U+0E16 THAI CHARACTER THO THUNG */
+#define XK_Thai_thothahan 0x0db7 /* U+0E17 THAI CHARACTER THO THAHAN */
+#define XK_Thai_thothong 0x0db8 /* U+0E18 THAI CHARACTER THO THONG */
+#define XK_Thai_nonu 0x0db9 /* U+0E19 THAI CHARACTER NO NU */
+#define XK_Thai_bobaimai 0x0dba /* U+0E1A THAI CHARACTER BO BAIMAI */
+#define XK_Thai_popla 0x0dbb /* U+0E1B THAI CHARACTER PO PLA */
+#define XK_Thai_phophung 0x0dbc /* U+0E1C THAI CHARACTER PHO PHUNG */
+#define XK_Thai_fofa 0x0dbd /* U+0E1D THAI CHARACTER FO FA */
+#define XK_Thai_phophan 0x0dbe /* U+0E1E THAI CHARACTER PHO PHAN */
+#define XK_Thai_fofan 0x0dbf /* U+0E1F THAI CHARACTER FO FAN */
+#define XK_Thai_phosamphao 0x0dc0 /* U+0E20 THAI CHARACTER PHO SAMPHAO */
+#define XK_Thai_moma 0x0dc1 /* U+0E21 THAI CHARACTER MO MA */
+#define XK_Thai_yoyak 0x0dc2 /* U+0E22 THAI CHARACTER YO YAK */
+#define XK_Thai_rorua 0x0dc3 /* U+0E23 THAI CHARACTER RO RUA */
+#define XK_Thai_ru 0x0dc4 /* U+0E24 THAI CHARACTER RU */
+#define XK_Thai_loling 0x0dc5 /* U+0E25 THAI CHARACTER LO LING */
+#define XK_Thai_lu 0x0dc6 /* U+0E26 THAI CHARACTER LU */
+#define XK_Thai_wowaen 0x0dc7 /* U+0E27 THAI CHARACTER WO WAEN */
+#define XK_Thai_sosala 0x0dc8 /* U+0E28 THAI CHARACTER SO SALA */
+#define XK_Thai_sorusi 0x0dc9 /* U+0E29 THAI CHARACTER SO RUSI */
+#define XK_Thai_sosua 0x0dca /* U+0E2A THAI CHARACTER SO SUA */
+#define XK_Thai_hohip 0x0dcb /* U+0E2B THAI CHARACTER HO HIP */
+#define XK_Thai_lochula 0x0dcc /* U+0E2C THAI CHARACTER LO CHULA */
+#define XK_Thai_oang 0x0dcd /* U+0E2D THAI CHARACTER O ANG */
+#define XK_Thai_honokhuk 0x0dce /* U+0E2E THAI CHARACTER HO NOKHUK */
+#define XK_Thai_paiyannoi 0x0dcf /* U+0E2F THAI CHARACTER PAIYANNOI */
+#define XK_Thai_saraa 0x0dd0 /* U+0E30 THAI CHARACTER SARA A */
+#define XK_Thai_maihanakat 0x0dd1 /* U+0E31 THAI CHARACTER MAI HAN-AKAT */
+#define XK_Thai_saraaa 0x0dd2 /* U+0E32 THAI CHARACTER SARA AA */
+#define XK_Thai_saraam 0x0dd3 /* U+0E33 THAI CHARACTER SARA AM */
+#define XK_Thai_sarai 0x0dd4 /* U+0E34 THAI CHARACTER SARA I */
+#define XK_Thai_saraii 0x0dd5 /* U+0E35 THAI CHARACTER SARA II */
+#define XK_Thai_saraue 0x0dd6 /* U+0E36 THAI CHARACTER SARA UE */
+#define XK_Thai_sarauee 0x0dd7 /* U+0E37 THAI CHARACTER SARA UEE */
+#define XK_Thai_sarau 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */
+#define XK_Thai_sarauu 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */
+#define XK_Thai_phinthu 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */
+#define XK_Thai_maihanakat_maitho 0x0dde
+#define XK_Thai_baht 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */
+#define XK_Thai_sarae 0x0de0 /* U+0E40 THAI CHARACTER SARA E */
+#define XK_Thai_saraae 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */
+#define XK_Thai_sarao 0x0de2 /* U+0E42 THAI CHARACTER SARA O */
+#define XK_Thai_saraaimaimuan 0x0de3 /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */
+#define XK_Thai_saraaimaimalai 0x0de4 /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */
+#define XK_Thai_lakkhangyao 0x0de5 /* U+0E45 THAI CHARACTER LAKKHANGYAO */
+#define XK_Thai_maiyamok 0x0de6 /* U+0E46 THAI CHARACTER MAIYAMOK */
+#define XK_Thai_maitaikhu 0x0de7 /* U+0E47 THAI CHARACTER MAITAIKHU */
+#define XK_Thai_maiek 0x0de8 /* U+0E48 THAI CHARACTER MAI EK */
+#define XK_Thai_maitho 0x0de9 /* U+0E49 THAI CHARACTER MAI THO */
+#define XK_Thai_maitri 0x0dea /* U+0E4A THAI CHARACTER MAI TRI */
+#define XK_Thai_maichattawa 0x0deb /* U+0E4B THAI CHARACTER MAI CHATTAWA */
+#define XK_Thai_thanthakhat 0x0dec /* U+0E4C THAI CHARACTER THANTHAKHAT */
+#define XK_Thai_nikhahit 0x0ded /* U+0E4D THAI CHARACTER NIKHAHIT */
+#define XK_Thai_leksun 0x0df0 /* U+0E50 THAI DIGIT ZERO */
+#define XK_Thai_leknung 0x0df1 /* U+0E51 THAI DIGIT ONE */
+#define XK_Thai_leksong 0x0df2 /* U+0E52 THAI DIGIT TWO */
+#define XK_Thai_leksam 0x0df3 /* U+0E53 THAI DIGIT THREE */
+#define XK_Thai_leksi 0x0df4 /* U+0E54 THAI DIGIT FOUR */
+#define XK_Thai_lekha 0x0df5 /* U+0E55 THAI DIGIT FIVE */
+#define XK_Thai_lekhok 0x0df6 /* U+0E56 THAI DIGIT SIX */
+#define XK_Thai_lekchet 0x0df7 /* U+0E57 THAI DIGIT SEVEN */
+#define XK_Thai_lekpaet 0x0df8 /* U+0E58 THAI DIGIT EIGHT */
+#define XK_Thai_lekkao 0x0df9 /* U+0E59 THAI DIGIT NINE */
+#endif /* XK_THAI */
+
+/*
+ * Korean
+ * Byte 3 = 0x0e
+ */
+
+#ifdef XK_KOREAN
+
+#define XK_Hangul 0xff31 /* Hangul start/stop(toggle) */
+#define XK_Hangul_Start 0xff32 /* Hangul start */
+#define XK_Hangul_End 0xff33 /* Hangul end, English start */
+#define XK_Hangul_Hanja 0xff34 /* Start Hangul->Hanja Conversion */
+#define XK_Hangul_Jamo 0xff35 /* Hangul Jamo mode */
+#define XK_Hangul_Romaja 0xff36 /* Hangul Romaja mode */
+#define XK_Hangul_Codeinput 0xff37 /* Hangul code input mode */
+#define XK_Hangul_Jeonja 0xff38 /* Jeonja mode */
+#define XK_Hangul_Banja 0xff39 /* Banja mode */
+#define XK_Hangul_PreHanja 0xff3a /* Pre Hanja conversion */
+#define XK_Hangul_PostHanja 0xff3b /* Post Hanja conversion */
+#define XK_Hangul_SingleCandidate 0xff3c /* Single candidate */
+#define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */
+#define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */
+#define XK_Hangul_Special 0xff3f /* Special symbols */
+#define XK_Hangul_switch 0xff7e /* Alias for mode_switch */
+
+/* Hangul Consonant Characters */
+#define XK_Hangul_Kiyeog 0x0ea1
+#define XK_Hangul_SsangKiyeog 0x0ea2
+#define XK_Hangul_KiyeogSios 0x0ea3
+#define XK_Hangul_Nieun 0x0ea4
+#define XK_Hangul_NieunJieuj 0x0ea5
+#define XK_Hangul_NieunHieuh 0x0ea6
+#define XK_Hangul_Dikeud 0x0ea7
+#define XK_Hangul_SsangDikeud 0x0ea8
+#define XK_Hangul_Rieul 0x0ea9
+#define XK_Hangul_RieulKiyeog 0x0eaa
+#define XK_Hangul_RieulMieum 0x0eab
+#define XK_Hangul_RieulPieub 0x0eac
+#define XK_Hangul_RieulSios 0x0ead
+#define XK_Hangul_RieulTieut 0x0eae
+#define XK_Hangul_RieulPhieuf 0x0eaf
+#define XK_Hangul_RieulHieuh 0x0eb0
+#define XK_Hangul_Mieum 0x0eb1
+#define XK_Hangul_Pieub 0x0eb2
+#define XK_Hangul_SsangPieub 0x0eb3
+#define XK_Hangul_PieubSios 0x0eb4
+#define XK_Hangul_Sios 0x0eb5
+#define XK_Hangul_SsangSios 0x0eb6
+#define XK_Hangul_Ieung 0x0eb7
+#define XK_Hangul_Jieuj 0x0eb8
+#define XK_Hangul_SsangJieuj 0x0eb9
+#define XK_Hangul_Cieuc 0x0eba
+#define XK_Hangul_Khieuq 0x0ebb
+#define XK_Hangul_Tieut 0x0ebc
+#define XK_Hangul_Phieuf 0x0ebd
+#define XK_Hangul_Hieuh 0x0ebe
+
+/* Hangul Vowel Characters */
+#define XK_Hangul_A 0x0ebf
+#define XK_Hangul_AE 0x0ec0
+#define XK_Hangul_YA 0x0ec1
+#define XK_Hangul_YAE 0x0ec2
+#define XK_Hangul_EO 0x0ec3
+#define XK_Hangul_E 0x0ec4
+#define XK_Hangul_YEO 0x0ec5
+#define XK_Hangul_YE 0x0ec6
+#define XK_Hangul_O 0x0ec7
+#define XK_Hangul_WA 0x0ec8
+#define XK_Hangul_WAE 0x0ec9
+#define XK_Hangul_OE 0x0eca
+#define XK_Hangul_YO 0x0ecb
+#define XK_Hangul_U 0x0ecc
+#define XK_Hangul_WEO 0x0ecd
+#define XK_Hangul_WE 0x0ece
+#define XK_Hangul_WI 0x0ecf
+#define XK_Hangul_YU 0x0ed0
+#define XK_Hangul_EU 0x0ed1
+#define XK_Hangul_YI 0x0ed2
+#define XK_Hangul_I 0x0ed3
+
+/* Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_Kiyeog 0x0ed4
+#define XK_Hangul_J_SsangKiyeog 0x0ed5
+#define XK_Hangul_J_KiyeogSios 0x0ed6
+#define XK_Hangul_J_Nieun 0x0ed7
+#define XK_Hangul_J_NieunJieuj 0x0ed8
+#define XK_Hangul_J_NieunHieuh 0x0ed9
+#define XK_Hangul_J_Dikeud 0x0eda
+#define XK_Hangul_J_Rieul 0x0edb
+#define XK_Hangul_J_RieulKiyeog 0x0edc
+#define XK_Hangul_J_RieulMieum 0x0edd
+#define XK_Hangul_J_RieulPieub 0x0ede
+#define XK_Hangul_J_RieulSios 0x0edf
+#define XK_Hangul_J_RieulTieut 0x0ee0
+#define XK_Hangul_J_RieulPhieuf 0x0ee1
+#define XK_Hangul_J_RieulHieuh 0x0ee2
+#define XK_Hangul_J_Mieum 0x0ee3
+#define XK_Hangul_J_Pieub 0x0ee4
+#define XK_Hangul_J_PieubSios 0x0ee5
+#define XK_Hangul_J_Sios 0x0ee6
+#define XK_Hangul_J_SsangSios 0x0ee7
+#define XK_Hangul_J_Ieung 0x0ee8
+#define XK_Hangul_J_Jieuj 0x0ee9
+#define XK_Hangul_J_Cieuc 0x0eea
+#define XK_Hangul_J_Khieuq 0x0eeb
+#define XK_Hangul_J_Tieut 0x0eec
+#define XK_Hangul_J_Phieuf 0x0eed
+#define XK_Hangul_J_Hieuh 0x0eee
+
+/* Ancient Hangul Consonant Characters */
+#define XK_Hangul_RieulYeorinHieuh 0x0eef
+#define XK_Hangul_SunkyeongeumMieum 0x0ef0
+#define XK_Hangul_SunkyeongeumPieub 0x0ef1
+#define XK_Hangul_PanSios 0x0ef2
+#define XK_Hangul_KkogjiDalrinIeung 0x0ef3
+#define XK_Hangul_SunkyeongeumPhieuf 0x0ef4
+#define XK_Hangul_YeorinHieuh 0x0ef5
+
+/* Ancient Hangul Vowel Characters */
+#define XK_Hangul_AraeA 0x0ef6
+#define XK_Hangul_AraeAE 0x0ef7
+
+/* Ancient Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_PanSios 0x0ef8
+#define XK_Hangul_J_KkogjiDalrinIeung 0x0ef9
+#define XK_Hangul_J_YeorinHieuh 0x0efa
+
+/* Korean currency symbol */
+#define XK_Korean_Won 0x0eff /*(U+20A9 WON SIGN)*/
+
+#endif /* XK_KOREAN */
+
+/*
+ * Armenian
+ */
+
+#ifdef XK_ARMENIAN
+#define XK_Armenian_ligature_ew 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
+#define XK_Armenian_full_stop 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_verjaket 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_separation_mark 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_but 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_hyphen 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_yentamna 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_exclam 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_amanak 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_accent 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_shesht 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_question 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_paruyk 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_AYB 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */
+#define XK_Armenian_ayb 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */
+#define XK_Armenian_BEN 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */
+#define XK_Armenian_ben 0x1000562 /* U+0562 ARMENIAN SMALL LETTER BEN */
+#define XK_Armenian_GIM 0x1000533 /* U+0533 ARMENIAN CAPITAL LETTER GIM */
+#define XK_Armenian_gim 0x1000563 /* U+0563 ARMENIAN SMALL LETTER GIM */
+#define XK_Armenian_DA 0x1000534 /* U+0534 ARMENIAN CAPITAL LETTER DA */
+#define XK_Armenian_da 0x1000564 /* U+0564 ARMENIAN SMALL LETTER DA */
+#define XK_Armenian_YECH 0x1000535 /* U+0535 ARMENIAN CAPITAL LETTER ECH */
+#define XK_Armenian_yech 0x1000565 /* U+0565 ARMENIAN SMALL LETTER ECH */
+#define XK_Armenian_ZA 0x1000536 /* U+0536 ARMENIAN CAPITAL LETTER ZA */
+#define XK_Armenian_za 0x1000566 /* U+0566 ARMENIAN SMALL LETTER ZA */
+#define XK_Armenian_E 0x1000537 /* U+0537 ARMENIAN CAPITAL LETTER EH */
+#define XK_Armenian_e 0x1000567 /* U+0567 ARMENIAN SMALL LETTER EH */
+#define XK_Armenian_AT 0x1000538 /* U+0538 ARMENIAN CAPITAL LETTER ET */
+#define XK_Armenian_at 0x1000568 /* U+0568 ARMENIAN SMALL LETTER ET */
+#define XK_Armenian_TO 0x1000539 /* U+0539 ARMENIAN CAPITAL LETTER TO */
+#define XK_Armenian_to 0x1000569 /* U+0569 ARMENIAN SMALL LETTER TO */
+#define XK_Armenian_ZHE 0x100053a /* U+053A ARMENIAN CAPITAL LETTER ZHE */
+#define XK_Armenian_zhe 0x100056a /* U+056A ARMENIAN SMALL LETTER ZHE */
+#define XK_Armenian_INI 0x100053b /* U+053B ARMENIAN CAPITAL LETTER INI */
+#define XK_Armenian_ini 0x100056b /* U+056B ARMENIAN SMALL LETTER INI */
+#define XK_Armenian_LYUN 0x100053c /* U+053C ARMENIAN CAPITAL LETTER LIWN */
+#define XK_Armenian_lyun 0x100056c /* U+056C ARMENIAN SMALL LETTER LIWN */
+#define XK_Armenian_KHE 0x100053d /* U+053D ARMENIAN CAPITAL LETTER XEH */
+#define XK_Armenian_khe 0x100056d /* U+056D ARMENIAN SMALL LETTER XEH */
+#define XK_Armenian_TSA 0x100053e /* U+053E ARMENIAN CAPITAL LETTER CA */
+#define XK_Armenian_tsa 0x100056e /* U+056E ARMENIAN SMALL LETTER CA */
+#define XK_Armenian_KEN 0x100053f /* U+053F ARMENIAN CAPITAL LETTER KEN */
+#define XK_Armenian_ken 0x100056f /* U+056F ARMENIAN SMALL LETTER KEN */
+#define XK_Armenian_HO 0x1000540 /* U+0540 ARMENIAN CAPITAL LETTER HO */
+#define XK_Armenian_ho 0x1000570 /* U+0570 ARMENIAN SMALL LETTER HO */
+#define XK_Armenian_DZA 0x1000541 /* U+0541 ARMENIAN CAPITAL LETTER JA */
+#define XK_Armenian_dza 0x1000571 /* U+0571 ARMENIAN SMALL LETTER JA */
+#define XK_Armenian_GHAT 0x1000542 /* U+0542 ARMENIAN CAPITAL LETTER GHAD */
+#define XK_Armenian_ghat 0x1000572 /* U+0572 ARMENIAN SMALL LETTER GHAD */
+#define XK_Armenian_TCHE 0x1000543 /* U+0543 ARMENIAN CAPITAL LETTER CHEH */
+#define XK_Armenian_tche 0x1000573 /* U+0573 ARMENIAN SMALL LETTER CHEH */
+#define XK_Armenian_MEN 0x1000544 /* U+0544 ARMENIAN CAPITAL LETTER MEN */
+#define XK_Armenian_men 0x1000574 /* U+0574 ARMENIAN SMALL LETTER MEN */
+#define XK_Armenian_HI 0x1000545 /* U+0545 ARMENIAN CAPITAL LETTER YI */
+#define XK_Armenian_hi 0x1000575 /* U+0575 ARMENIAN SMALL LETTER YI */
+#define XK_Armenian_NU 0x1000546 /* U+0546 ARMENIAN CAPITAL LETTER NOW */
+#define XK_Armenian_nu 0x1000576 /* U+0576 ARMENIAN SMALL LETTER NOW */
+#define XK_Armenian_SHA 0x1000547 /* U+0547 ARMENIAN CAPITAL LETTER SHA */
+#define XK_Armenian_sha 0x1000577 /* U+0577 ARMENIAN SMALL LETTER SHA */
+#define XK_Armenian_VO 0x1000548 /* U+0548 ARMENIAN CAPITAL LETTER VO */
+#define XK_Armenian_vo 0x1000578 /* U+0578 ARMENIAN SMALL LETTER VO */
+#define XK_Armenian_CHA 0x1000549 /* U+0549 ARMENIAN CAPITAL LETTER CHA */
+#define XK_Armenian_cha 0x1000579 /* U+0579 ARMENIAN SMALL LETTER CHA */
+#define XK_Armenian_PE 0x100054a /* U+054A ARMENIAN CAPITAL LETTER PEH */
+#define XK_Armenian_pe 0x100057a /* U+057A ARMENIAN SMALL LETTER PEH */
+#define XK_Armenian_JE 0x100054b /* U+054B ARMENIAN CAPITAL LETTER JHEH */
+#define XK_Armenian_je 0x100057b /* U+057B ARMENIAN SMALL LETTER JHEH */
+#define XK_Armenian_RA 0x100054c /* U+054C ARMENIAN CAPITAL LETTER RA */
+#define XK_Armenian_ra 0x100057c /* U+057C ARMENIAN SMALL LETTER RA */
+#define XK_Armenian_SE 0x100054d /* U+054D ARMENIAN CAPITAL LETTER SEH */
+#define XK_Armenian_se 0x100057d /* U+057D ARMENIAN SMALL LETTER SEH */
+#define XK_Armenian_VEV 0x100054e /* U+054E ARMENIAN CAPITAL LETTER VEW */
+#define XK_Armenian_vev 0x100057e /* U+057E ARMENIAN SMALL LETTER VEW */
+#define XK_Armenian_TYUN 0x100054f /* U+054F ARMENIAN CAPITAL LETTER TIWN */
+#define XK_Armenian_tyun 0x100057f /* U+057F ARMENIAN SMALL LETTER TIWN */
+#define XK_Armenian_RE 0x1000550 /* U+0550 ARMENIAN CAPITAL LETTER REH */
+#define XK_Armenian_re 0x1000580 /* U+0580 ARMENIAN SMALL LETTER REH */
+#define XK_Armenian_TSO 0x1000551 /* U+0551 ARMENIAN CAPITAL LETTER CO */
+#define XK_Armenian_tso 0x1000581 /* U+0581 ARMENIAN SMALL LETTER CO */
+#define XK_Armenian_VYUN 0x1000552 /* U+0552 ARMENIAN CAPITAL LETTER YIWN */
+#define XK_Armenian_vyun 0x1000582 /* U+0582 ARMENIAN SMALL LETTER YIWN */
+#define XK_Armenian_PYUR 0x1000553 /* U+0553 ARMENIAN CAPITAL LETTER PIWR */
+#define XK_Armenian_pyur 0x1000583 /* U+0583 ARMENIAN SMALL LETTER PIWR */
+#define XK_Armenian_KE 0x1000554 /* U+0554 ARMENIAN CAPITAL LETTER KEH */
+#define XK_Armenian_ke 0x1000584 /* U+0584 ARMENIAN SMALL LETTER KEH */
+#define XK_Armenian_O 0x1000555 /* U+0555 ARMENIAN CAPITAL LETTER OH */
+#define XK_Armenian_o 0x1000585 /* U+0585 ARMENIAN SMALL LETTER OH */
+#define XK_Armenian_FE 0x1000556 /* U+0556 ARMENIAN CAPITAL LETTER FEH */
+#define XK_Armenian_fe 0x1000586 /* U+0586 ARMENIAN SMALL LETTER FEH */
+#define XK_Armenian_apostrophe 0x100055a /* U+055A ARMENIAN APOSTROPHE */
+#endif /* XK_ARMENIAN */
+
+/*
+ * Georgian
+ */
+
+#ifdef XK_GEORGIAN
+#define XK_Georgian_an 0x10010d0 /* U+10D0 GEORGIAN LETTER AN */
+#define XK_Georgian_ban 0x10010d1 /* U+10D1 GEORGIAN LETTER BAN */
+#define XK_Georgian_gan 0x10010d2 /* U+10D2 GEORGIAN LETTER GAN */
+#define XK_Georgian_don 0x10010d3 /* U+10D3 GEORGIAN LETTER DON */
+#define XK_Georgian_en 0x10010d4 /* U+10D4 GEORGIAN LETTER EN */
+#define XK_Georgian_vin 0x10010d5 /* U+10D5 GEORGIAN LETTER VIN */
+#define XK_Georgian_zen 0x10010d6 /* U+10D6 GEORGIAN LETTER ZEN */
+#define XK_Georgian_tan 0x10010d7 /* U+10D7 GEORGIAN LETTER TAN */
+#define XK_Georgian_in 0x10010d8 /* U+10D8 GEORGIAN LETTER IN */
+#define XK_Georgian_kan 0x10010d9 /* U+10D9 GEORGIAN LETTER KAN */
+#define XK_Georgian_las 0x10010da /* U+10DA GEORGIAN LETTER LAS */
+#define XK_Georgian_man 0x10010db /* U+10DB GEORGIAN LETTER MAN */
+#define XK_Georgian_nar 0x10010dc /* U+10DC GEORGIAN LETTER NAR */
+#define XK_Georgian_on 0x10010dd /* U+10DD GEORGIAN LETTER ON */
+#define XK_Georgian_par 0x10010de /* U+10DE GEORGIAN LETTER PAR */
+#define XK_Georgian_zhar 0x10010df /* U+10DF GEORGIAN LETTER ZHAR */
+#define XK_Georgian_rae 0x10010e0 /* U+10E0 GEORGIAN LETTER RAE */
+#define XK_Georgian_san 0x10010e1 /* U+10E1 GEORGIAN LETTER SAN */
+#define XK_Georgian_tar 0x10010e2 /* U+10E2 GEORGIAN LETTER TAR */
+#define XK_Georgian_un 0x10010e3 /* U+10E3 GEORGIAN LETTER UN */
+#define XK_Georgian_phar 0x10010e4 /* U+10E4 GEORGIAN LETTER PHAR */
+#define XK_Georgian_khar 0x10010e5 /* U+10E5 GEORGIAN LETTER KHAR */
+#define XK_Georgian_ghan 0x10010e6 /* U+10E6 GEORGIAN LETTER GHAN */
+#define XK_Georgian_qar 0x10010e7 /* U+10E7 GEORGIAN LETTER QAR */
+#define XK_Georgian_shin 0x10010e8 /* U+10E8 GEORGIAN LETTER SHIN */
+#define XK_Georgian_chin 0x10010e9 /* U+10E9 GEORGIAN LETTER CHIN */
+#define XK_Georgian_can 0x10010ea /* U+10EA GEORGIAN LETTER CAN */
+#define XK_Georgian_jil 0x10010eb /* U+10EB GEORGIAN LETTER JIL */
+#define XK_Georgian_cil 0x10010ec /* U+10EC GEORGIAN LETTER CIL */
+#define XK_Georgian_char 0x10010ed /* U+10ED GEORGIAN LETTER CHAR */
+#define XK_Georgian_xan 0x10010ee /* U+10EE GEORGIAN LETTER XAN */
+#define XK_Georgian_jhan 0x10010ef /* U+10EF GEORGIAN LETTER JHAN */
+#define XK_Georgian_hae 0x10010f0 /* U+10F0 GEORGIAN LETTER HAE */
+#define XK_Georgian_he 0x10010f1 /* U+10F1 GEORGIAN LETTER HE */
+#define XK_Georgian_hie 0x10010f2 /* U+10F2 GEORGIAN LETTER HIE */
+#define XK_Georgian_we 0x10010f3 /* U+10F3 GEORGIAN LETTER WE */
+#define XK_Georgian_har 0x10010f4 /* U+10F4 GEORGIAN LETTER HAR */
+#define XK_Georgian_hoe 0x10010f5 /* U+10F5 GEORGIAN LETTER HOE */
+#define XK_Georgian_fi 0x10010f6 /* U+10F6 GEORGIAN LETTER FI */
+#endif /* XK_GEORGIAN */
+
+/*
+ * Azeri (and other Turkic or Caucasian languages)
+ */
+
+#ifdef XK_CAUCASUS
+/* latin */
+#define XK_Xabovedot 0x1001e8a /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */
+#define XK_Ibreve 0x100012c /* U+012C LATIN CAPITAL LETTER I WITH BREVE */
+#define XK_Zstroke 0x10001b5 /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */
+#define XK_Gcaron 0x10001e6 /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */
+#define XK_Ocaron 0x10001d1 /* U+01D2 LATIN CAPITAL LETTER O WITH CARON */
+#define XK_Obarred 0x100019f /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
+#define XK_xabovedot 0x1001e8b /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */
+#define XK_ibreve 0x100012d /* U+012D LATIN SMALL LETTER I WITH BREVE */
+#define XK_zstroke 0x10001b6 /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */
+#define XK_gcaron 0x10001e7 /* U+01E7 LATIN SMALL LETTER G WITH CARON */
+#define XK_ocaron 0x10001d2 /* U+01D2 LATIN SMALL LETTER O WITH CARON */
+#define XK_obarred 0x1000275 /* U+0275 LATIN SMALL LETTER BARRED O */
+#define XK_SCHWA 0x100018f /* U+018F LATIN CAPITAL LETTER SCHWA */
+#define XK_schwa 0x1000259 /* U+0259 LATIN SMALL LETTER SCHWA */
+/* those are not really Caucasus */
+/* For Inupiak */
+#define XK_Lbelowdot 0x1001e36 /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */
+#define XK_lbelowdot 0x1001e37 /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */
+#endif /* XK_CAUCASUS */
+
+/*
+ * Vietnamese
+ */
+
+#ifdef XK_VIETNAMESE
+#define XK_Abelowdot 0x1001ea0 /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */
+#define XK_abelowdot 0x1001ea1 /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */
+#define XK_Ahook 0x1001ea2 /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */
+#define XK_ahook 0x1001ea3 /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */
+#define XK_Acircumflexacute 0x1001ea4 /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_acircumflexacute 0x1001ea5 /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_Acircumflexgrave 0x1001ea6 /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_acircumflexgrave 0x1001ea7 /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_Acircumflexhook 0x1001ea8 /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_acircumflexhook 0x1001ea9 /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Acircumflextilde 0x1001eaa /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_acircumflextilde 0x1001eab /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_Acircumflexbelowdot 0x1001eac /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_acircumflexbelowdot 0x1001ead /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Abreveacute 0x1001eae /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
+#define XK_abreveacute 0x1001eaf /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */
+#define XK_Abrevegrave 0x1001eb0 /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
+#define XK_abrevegrave 0x1001eb1 /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */
+#define XK_Abrevehook 0x1001eb2 /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_abrevehook 0x1001eb3 /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_Abrevetilde 0x1001eb4 /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
+#define XK_abrevetilde 0x1001eb5 /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */
+#define XK_Abrevebelowdot 0x1001eb6 /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_abrevebelowdot 0x1001eb7 /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_Ebelowdot 0x1001eb8 /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */
+#define XK_ebelowdot 0x1001eb9 /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */
+#define XK_Ehook 0x1001eba /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */
+#define XK_ehook 0x1001ebb /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */
+#define XK_Etilde 0x1001ebc /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */
+#define XK_etilde 0x1001ebd /* U+1EBD LATIN SMALL LETTER E WITH TILDE */
+#define XK_Ecircumflexacute 0x1001ebe /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_ecircumflexacute 0x1001ebf /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ecircumflexgrave 0x1001ec0 /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_ecircumflexgrave 0x1001ec1 /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ecircumflexhook 0x1001ec2 /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ecircumflexhook 0x1001ec3 /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ecircumflextilde 0x1001ec4 /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_ecircumflextilde 0x1001ec5 /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_Ecircumflexbelowdot 0x1001ec6 /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ecircumflexbelowdot 0x1001ec7 /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ihook 0x1001ec8 /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */
+#define XK_ihook 0x1001ec9 /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */
+#define XK_Ibelowdot 0x1001eca /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */
+#define XK_ibelowdot 0x1001ecb /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */
+#define XK_Obelowdot 0x1001ecc /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */
+#define XK_obelowdot 0x1001ecd /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */
+#define XK_Ohook 0x1001ece /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */
+#define XK_ohook 0x1001ecf /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */
+#define XK_Ocircumflexacute 0x1001ed0 /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_ocircumflexacute 0x1001ed1 /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ocircumflexgrave 0x1001ed2 /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_ocircumflexgrave 0x1001ed3 /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ocircumflexhook 0x1001ed4 /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ocircumflexhook 0x1001ed5 /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ocircumflextilde 0x1001ed6 /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_ocircumflextilde 0x1001ed7 /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_Ocircumflexbelowdot 0x1001ed8 /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ocircumflexbelowdot 0x1001ed9 /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ohornacute 0x1001eda /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
+#define XK_ohornacute 0x1001edb /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */
+#define XK_Ohorngrave 0x1001edc /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
+#define XK_ohorngrave 0x1001edd /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */
+#define XK_Ohornhook 0x1001ede /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_ohornhook 0x1001edf /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_Ohorntilde 0x1001ee0 /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */
+#define XK_ohorntilde 0x1001ee1 /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */
+#define XK_Ohornbelowdot 0x1001ee2 /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
+#define XK_ohornbelowdot 0x1001ee3 /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
+#define XK_Ubelowdot 0x1001ee4 /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */
+#define XK_ubelowdot 0x1001ee5 /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */
+#define XK_Uhook 0x1001ee6 /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */
+#define XK_uhook 0x1001ee7 /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */
+#define XK_Uhornacute 0x1001ee8 /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
+#define XK_uhornacute 0x1001ee9 /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */
+#define XK_Uhorngrave 0x1001eea /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
+#define XK_uhorngrave 0x1001eeb /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */
+#define XK_Uhornhook 0x1001eec /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_uhornhook 0x1001eed /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_Uhorntilde 0x1001eee /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */
+#define XK_uhorntilde 0x1001eef /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */
+#define XK_Uhornbelowdot 0x1001ef0 /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
+#define XK_uhornbelowdot 0x1001ef1 /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
+#define XK_Ybelowdot 0x1001ef4 /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */
+#define XK_ybelowdot 0x1001ef5 /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */
+#define XK_Yhook 0x1001ef6 /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
+#define XK_yhook 0x1001ef7 /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */
+#define XK_Ytilde 0x1001ef8 /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */
+#define XK_ytilde 0x1001ef9 /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */
+#define XK_Ohorn 0x10001a0 /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */
+#define XK_ohorn 0x10001a1 /* U+01A1 LATIN SMALL LETTER O WITH HORN */
+#define XK_Uhorn 0x10001af /* U+01AF LATIN CAPITAL LETTER U WITH HORN */
+#define XK_uhorn 0x10001b0 /* U+01B0 LATIN SMALL LETTER U WITH HORN */
+
+#endif /* XK_VIETNAMESE */
+
+#ifdef XK_CURRENCY
+#define XK_EcuSign 0x10020a0 /* U+20A0 EURO-CURRENCY SIGN */
+#define XK_ColonSign 0x10020a1 /* U+20A1 COLON SIGN */
+#define XK_CruzeiroSign 0x10020a2 /* U+20A2 CRUZEIRO SIGN */
+#define XK_FFrancSign 0x10020a3 /* U+20A3 FRENCH FRANC SIGN */
+#define XK_LiraSign 0x10020a4 /* U+20A4 LIRA SIGN */
+#define XK_MillSign 0x10020a5 /* U+20A5 MILL SIGN */
+#define XK_NairaSign 0x10020a6 /* U+20A6 NAIRA SIGN */
+#define XK_PesetaSign 0x10020a7 /* U+20A7 PESETA SIGN */
+#define XK_RupeeSign 0x10020a8 /* U+20A8 RUPEE SIGN */
+#define XK_WonSign 0x10020a9 /* U+20A9 WON SIGN */
+#define XK_NewSheqelSign 0x10020aa /* U+20AA NEW SHEQEL SIGN */
+#define XK_DongSign 0x10020ab /* U+20AB DONG SIGN */
+#define XK_EuroSign 0x20ac /* U+20AC EURO SIGN */
+#endif /* XK_CURRENCY */
+
+#ifdef XK_MATHEMATICAL
+/* one, two and three are defined above. */
+#define XK_zerosuperior 0x1002070 /* U+2070 SUPERSCRIPT ZERO */
+#define XK_foursuperior 0x1002074 /* U+2074 SUPERSCRIPT FOUR */
+#define XK_fivesuperior 0x1002075 /* U+2075 SUPERSCRIPT FIVE */
+#define XK_sixsuperior 0x1002076 /* U+2076 SUPERSCRIPT SIX */
+#define XK_sevensuperior 0x1002077 /* U+2077 SUPERSCRIPT SEVEN */
+#define XK_eightsuperior 0x1002078 /* U+2078 SUPERSCRIPT EIGHT */
+#define XK_ninesuperior 0x1002079 /* U+2079 SUPERSCRIPT NINE */
+#define XK_zerosubscript 0x1002080 /* U+2080 SUBSCRIPT ZERO */
+#define XK_onesubscript 0x1002081 /* U+2081 SUBSCRIPT ONE */
+#define XK_twosubscript 0x1002082 /* U+2082 SUBSCRIPT TWO */
+#define XK_threesubscript 0x1002083 /* U+2083 SUBSCRIPT THREE */
+#define XK_foursubscript 0x1002084 /* U+2084 SUBSCRIPT FOUR */
+#define XK_fivesubscript 0x1002085 /* U+2085 SUBSCRIPT FIVE */
+#define XK_sixsubscript 0x1002086 /* U+2086 SUBSCRIPT SIX */
+#define XK_sevensubscript 0x1002087 /* U+2087 SUBSCRIPT SEVEN */
+#define XK_eightsubscript 0x1002088 /* U+2088 SUBSCRIPT EIGHT */
+#define XK_ninesubscript 0x1002089 /* U+2089 SUBSCRIPT NINE */
+#define XK_partdifferential 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_emptyset 0x1002205 /* U+2205 NULL SET */
+#define XK_elementof 0x1002208 /* U+2208 ELEMENT OF */
+#define XK_notelementof 0x1002209 /* U+2209 NOT AN ELEMENT OF */
+#define XK_containsas 0x100220B /* U+220B CONTAINS AS MEMBER */
+#define XK_squareroot 0x100221A /* U+221A SQUARE ROOT */
+#define XK_cuberoot 0x100221B /* U+221B CUBE ROOT */
+#define XK_fourthroot 0x100221C /* U+221C FOURTH ROOT */
+#define XK_dintegral 0x100222C /* U+222C DOUBLE INTEGRAL */
+#define XK_tintegral 0x100222D /* U+222D TRIPLE INTEGRAL */
+#define XK_because 0x1002235 /* U+2235 BECAUSE */
+#define XK_approxeq 0x1002248 /* U+2245 ALMOST EQUAL TO */
+#define XK_notapproxeq 0x1002247 /* U+2247 NOT ALMOST EQUAL TO */
+#define XK_notidentical 0x1002262 /* U+2262 NOT IDENTICAL TO */
+#define XK_stricteq 0x1002263 /* U+2263 STRICTLY EQUIVALENT TO */
+#endif /* XK_MATHEMATICAL */
+
+#ifdef XK_BRAILLE
+#define XK_braille_dot_1 0xfff1
+#define XK_braille_dot_2 0xfff2
+#define XK_braille_dot_3 0xfff3
+#define XK_braille_dot_4 0xfff4
+#define XK_braille_dot_5 0xfff5
+#define XK_braille_dot_6 0xfff6
+#define XK_braille_dot_7 0xfff7
+#define XK_braille_dot_8 0xfff8
+#define XK_braille_dot_9 0xfff9
+#define XK_braille_dot_10 0xfffa
+#define XK_braille_blank 0x1002800 /* U+2800 BRAILLE PATTERN BLANK */
+#define XK_braille_dots_1 0x1002801 /* U+2801 BRAILLE PATTERN DOTS-1 */
+#define XK_braille_dots_2 0x1002802 /* U+2802 BRAILLE PATTERN DOTS-2 */
+#define XK_braille_dots_12 0x1002803 /* U+2803 BRAILLE PATTERN DOTS-12 */
+#define XK_braille_dots_3 0x1002804 /* U+2804 BRAILLE PATTERN DOTS-3 */
+#define XK_braille_dots_13 0x1002805 /* U+2805 BRAILLE PATTERN DOTS-13 */
+#define XK_braille_dots_23 0x1002806 /* U+2806 BRAILLE PATTERN DOTS-23 */
+#define XK_braille_dots_123 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */
+#define XK_braille_dots_4 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */
+#define XK_braille_dots_14 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */
+#define XK_braille_dots_24 0x100280a /* U+280a BRAILLE PATTERN DOTS-24 */
+#define XK_braille_dots_124 0x100280b /* U+280b BRAILLE PATTERN DOTS-124 */
+#define XK_braille_dots_34 0x100280c /* U+280c BRAILLE PATTERN DOTS-34 */
+#define XK_braille_dots_134 0x100280d /* U+280d BRAILLE PATTERN DOTS-134 */
+#define XK_braille_dots_234 0x100280e /* U+280e BRAILLE PATTERN DOTS-234 */
+#define XK_braille_dots_1234 0x100280f /* U+280f BRAILLE PATTERN DOTS-1234 */
+#define XK_braille_dots_5 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */
+#define XK_braille_dots_15 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */
+#define XK_braille_dots_25 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */
+#define XK_braille_dots_125 0x1002813 /* U+2813 BRAILLE PATTERN DOTS-125 */
+#define XK_braille_dots_35 0x1002814 /* U+2814 BRAILLE PATTERN DOTS-35 */
+#define XK_braille_dots_135 0x1002815 /* U+2815 BRAILLE PATTERN DOTS-135 */
+#define XK_braille_dots_235 0x1002816 /* U+2816 BRAILLE PATTERN DOTS-235 */
+#define XK_braille_dots_1235 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */
+#define XK_braille_dots_45 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */
+#define XK_braille_dots_145 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */
+#define XK_braille_dots_245 0x100281a /* U+281a BRAILLE PATTERN DOTS-245 */
+#define XK_braille_dots_1245 0x100281b /* U+281b BRAILLE PATTERN DOTS-1245 */
+#define XK_braille_dots_345 0x100281c /* U+281c BRAILLE PATTERN DOTS-345 */
+#define XK_braille_dots_1345 0x100281d /* U+281d BRAILLE PATTERN DOTS-1345 */
+#define XK_braille_dots_2345 0x100281e /* U+281e BRAILLE PATTERN DOTS-2345 */
+#define XK_braille_dots_12345 0x100281f /* U+281f BRAILLE PATTERN DOTS-12345 */
+#define XK_braille_dots_6 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */
+#define XK_braille_dots_16 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */
+#define XK_braille_dots_26 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */
+#define XK_braille_dots_126 0x1002823 /* U+2823 BRAILLE PATTERN DOTS-126 */
+#define XK_braille_dots_36 0x1002824 /* U+2824 BRAILLE PATTERN DOTS-36 */
+#define XK_braille_dots_136 0x1002825 /* U+2825 BRAILLE PATTERN DOTS-136 */
+#define XK_braille_dots_236 0x1002826 /* U+2826 BRAILLE PATTERN DOTS-236 */
+#define XK_braille_dots_1236 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */
+#define XK_braille_dots_46 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */
+#define XK_braille_dots_146 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */
+#define XK_braille_dots_246 0x100282a /* U+282a BRAILLE PATTERN DOTS-246 */
+#define XK_braille_dots_1246 0x100282b /* U+282b BRAILLE PATTERN DOTS-1246 */
+#define XK_braille_dots_346 0x100282c /* U+282c BRAILLE PATTERN DOTS-346 */
+#define XK_braille_dots_1346 0x100282d /* U+282d BRAILLE PATTERN DOTS-1346 */
+#define XK_braille_dots_2346 0x100282e /* U+282e BRAILLE PATTERN DOTS-2346 */
+#define XK_braille_dots_12346 0x100282f /* U+282f BRAILLE PATTERN DOTS-12346 */
+#define XK_braille_dots_56 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */
+#define XK_braille_dots_156 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */
+#define XK_braille_dots_256 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */
+#define XK_braille_dots_1256 0x1002833 /* U+2833 BRAILLE PATTERN DOTS-1256 */
+#define XK_braille_dots_356 0x1002834 /* U+2834 BRAILLE PATTERN DOTS-356 */
+#define XK_braille_dots_1356 0x1002835 /* U+2835 BRAILLE PATTERN DOTS-1356 */
+#define XK_braille_dots_2356 0x1002836 /* U+2836 BRAILLE PATTERN DOTS-2356 */
+#define XK_braille_dots_12356 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */
+#define XK_braille_dots_456 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */
+#define XK_braille_dots_1456 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */
+#define XK_braille_dots_2456 0x100283a /* U+283a BRAILLE PATTERN DOTS-2456 */
+#define XK_braille_dots_12456 0x100283b /* U+283b BRAILLE PATTERN DOTS-12456 */
+#define XK_braille_dots_3456 0x100283c /* U+283c BRAILLE PATTERN DOTS-3456 */
+#define XK_braille_dots_13456 0x100283d /* U+283d BRAILLE PATTERN DOTS-13456 */
+#define XK_braille_dots_23456 0x100283e /* U+283e BRAILLE PATTERN DOTS-23456 */
+#define XK_braille_dots_123456 0x100283f /* U+283f BRAILLE PATTERN DOTS-123456 */
+#define XK_braille_dots_7 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */
+#define XK_braille_dots_17 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */
+#define XK_braille_dots_27 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */
+#define XK_braille_dots_127 0x1002843 /* U+2843 BRAILLE PATTERN DOTS-127 */
+#define XK_braille_dots_37 0x1002844 /* U+2844 BRAILLE PATTERN DOTS-37 */
+#define XK_braille_dots_137 0x1002845 /* U+2845 BRAILLE PATTERN DOTS-137 */
+#define XK_braille_dots_237 0x1002846 /* U+2846 BRAILLE PATTERN DOTS-237 */
+#define XK_braille_dots_1237 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */
+#define XK_braille_dots_47 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */
+#define XK_braille_dots_147 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */
+#define XK_braille_dots_247 0x100284a /* U+284a BRAILLE PATTERN DOTS-247 */
+#define XK_braille_dots_1247 0x100284b /* U+284b BRAILLE PATTERN DOTS-1247 */
+#define XK_braille_dots_347 0x100284c /* U+284c BRAILLE PATTERN DOTS-347 */
+#define XK_braille_dots_1347 0x100284d /* U+284d BRAILLE PATTERN DOTS-1347 */
+#define XK_braille_dots_2347 0x100284e /* U+284e BRAILLE PATTERN DOTS-2347 */
+#define XK_braille_dots_12347 0x100284f /* U+284f BRAILLE PATTERN DOTS-12347 */
+#define XK_braille_dots_57 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */
+#define XK_braille_dots_157 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */
+#define XK_braille_dots_257 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */
+#define XK_braille_dots_1257 0x1002853 /* U+2853 BRAILLE PATTERN DOTS-1257 */
+#define XK_braille_dots_357 0x1002854 /* U+2854 BRAILLE PATTERN DOTS-357 */
+#define XK_braille_dots_1357 0x1002855 /* U+2855 BRAILLE PATTERN DOTS-1357 */
+#define XK_braille_dots_2357 0x1002856 /* U+2856 BRAILLE PATTERN DOTS-2357 */
+#define XK_braille_dots_12357 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */
+#define XK_braille_dots_457 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */
+#define XK_braille_dots_1457 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */
+#define XK_braille_dots_2457 0x100285a /* U+285a BRAILLE PATTERN DOTS-2457 */
+#define XK_braille_dots_12457 0x100285b /* U+285b BRAILLE PATTERN DOTS-12457 */
+#define XK_braille_dots_3457 0x100285c /* U+285c BRAILLE PATTERN DOTS-3457 */
+#define XK_braille_dots_13457 0x100285d /* U+285d BRAILLE PATTERN DOTS-13457 */
+#define XK_braille_dots_23457 0x100285e /* U+285e BRAILLE PATTERN DOTS-23457 */
+#define XK_braille_dots_123457 0x100285f /* U+285f BRAILLE PATTERN DOTS-123457 */
+#define XK_braille_dots_67 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */
+#define XK_braille_dots_167 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */
+#define XK_braille_dots_267 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */
+#define XK_braille_dots_1267 0x1002863 /* U+2863 BRAILLE PATTERN DOTS-1267 */
+#define XK_braille_dots_367 0x1002864 /* U+2864 BRAILLE PATTERN DOTS-367 */
+#define XK_braille_dots_1367 0x1002865 /* U+2865 BRAILLE PATTERN DOTS-1367 */
+#define XK_braille_dots_2367 0x1002866 /* U+2866 BRAILLE PATTERN DOTS-2367 */
+#define XK_braille_dots_12367 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */
+#define XK_braille_dots_467 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */
+#define XK_braille_dots_1467 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */
+#define XK_braille_dots_2467 0x100286a /* U+286a BRAILLE PATTERN DOTS-2467 */
+#define XK_braille_dots_12467 0x100286b /* U+286b BRAILLE PATTERN DOTS-12467 */
+#define XK_braille_dots_3467 0x100286c /* U+286c BRAILLE PATTERN DOTS-3467 */
+#define XK_braille_dots_13467 0x100286d /* U+286d BRAILLE PATTERN DOTS-13467 */
+#define XK_braille_dots_23467 0x100286e /* U+286e BRAILLE PATTERN DOTS-23467 */
+#define XK_braille_dots_123467 0x100286f /* U+286f BRAILLE PATTERN DOTS-123467 */
+#define XK_braille_dots_567 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */
+#define XK_braille_dots_1567 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */
+#define XK_braille_dots_2567 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */
+#define XK_braille_dots_12567 0x1002873 /* U+2873 BRAILLE PATTERN DOTS-12567 */
+#define XK_braille_dots_3567 0x1002874 /* U+2874 BRAILLE PATTERN DOTS-3567 */
+#define XK_braille_dots_13567 0x1002875 /* U+2875 BRAILLE PATTERN DOTS-13567 */
+#define XK_braille_dots_23567 0x1002876 /* U+2876 BRAILLE PATTERN DOTS-23567 */
+#define XK_braille_dots_123567 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */
+#define XK_braille_dots_4567 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */
+#define XK_braille_dots_14567 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */
+#define XK_braille_dots_24567 0x100287a /* U+287a BRAILLE PATTERN DOTS-24567 */
+#define XK_braille_dots_124567 0x100287b /* U+287b BRAILLE PATTERN DOTS-124567 */
+#define XK_braille_dots_34567 0x100287c /* U+287c BRAILLE PATTERN DOTS-34567 */
+#define XK_braille_dots_134567 0x100287d /* U+287d BRAILLE PATTERN DOTS-134567 */
+#define XK_braille_dots_234567 0x100287e /* U+287e BRAILLE PATTERN DOTS-234567 */
+#define XK_braille_dots_1234567 0x100287f /* U+287f BRAILLE PATTERN DOTS-1234567 */
+#define XK_braille_dots_8 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */
+#define XK_braille_dots_18 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */
+#define XK_braille_dots_28 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */
+#define XK_braille_dots_128 0x1002883 /* U+2883 BRAILLE PATTERN DOTS-128 */
+#define XK_braille_dots_38 0x1002884 /* U+2884 BRAILLE PATTERN DOTS-38 */
+#define XK_braille_dots_138 0x1002885 /* U+2885 BRAILLE PATTERN DOTS-138 */
+#define XK_braille_dots_238 0x1002886 /* U+2886 BRAILLE PATTERN DOTS-238 */
+#define XK_braille_dots_1238 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */
+#define XK_braille_dots_48 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */
+#define XK_braille_dots_148 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */
+#define XK_braille_dots_248 0x100288a /* U+288a BRAILLE PATTERN DOTS-248 */
+#define XK_braille_dots_1248 0x100288b /* U+288b BRAILLE PATTERN DOTS-1248 */
+#define XK_braille_dots_348 0x100288c /* U+288c BRAILLE PATTERN DOTS-348 */
+#define XK_braille_dots_1348 0x100288d /* U+288d BRAILLE PATTERN DOTS-1348 */
+#define XK_braille_dots_2348 0x100288e /* U+288e BRAILLE PATTERN DOTS-2348 */
+#define XK_braille_dots_12348 0x100288f /* U+288f BRAILLE PATTERN DOTS-12348 */
+#define XK_braille_dots_58 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */
+#define XK_braille_dots_158 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */
+#define XK_braille_dots_258 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */
+#define XK_braille_dots_1258 0x1002893 /* U+2893 BRAILLE PATTERN DOTS-1258 */
+#define XK_braille_dots_358 0x1002894 /* U+2894 BRAILLE PATTERN DOTS-358 */
+#define XK_braille_dots_1358 0x1002895 /* U+2895 BRAILLE PATTERN DOTS-1358 */
+#define XK_braille_dots_2358 0x1002896 /* U+2896 BRAILLE PATTERN DOTS-2358 */
+#define XK_braille_dots_12358 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */
+#define XK_braille_dots_458 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */
+#define XK_braille_dots_1458 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */
+#define XK_braille_dots_2458 0x100289a /* U+289a BRAILLE PATTERN DOTS-2458 */
+#define XK_braille_dots_12458 0x100289b /* U+289b BRAILLE PATTERN DOTS-12458 */
+#define XK_braille_dots_3458 0x100289c /* U+289c BRAILLE PATTERN DOTS-3458 */
+#define XK_braille_dots_13458 0x100289d /* U+289d BRAILLE PATTERN DOTS-13458 */
+#define XK_braille_dots_23458 0x100289e /* U+289e BRAILLE PATTERN DOTS-23458 */
+#define XK_braille_dots_123458 0x100289f /* U+289f BRAILLE PATTERN DOTS-123458 */
+#define XK_braille_dots_68 0x10028a0 /* U+28a0 BRAILLE PATTERN DOTS-68 */
+#define XK_braille_dots_168 0x10028a1 /* U+28a1 BRAILLE PATTERN DOTS-168 */
+#define XK_braille_dots_268 0x10028a2 /* U+28a2 BRAILLE PATTERN DOTS-268 */
+#define XK_braille_dots_1268 0x10028a3 /* U+28a3 BRAILLE PATTERN DOTS-1268 */
+#define XK_braille_dots_368 0x10028a4 /* U+28a4 BRAILLE PATTERN DOTS-368 */
+#define XK_braille_dots_1368 0x10028a5 /* U+28a5 BRAILLE PATTERN DOTS-1368 */
+#define XK_braille_dots_2368 0x10028a6 /* U+28a6 BRAILLE PATTERN DOTS-2368 */
+#define XK_braille_dots_12368 0x10028a7 /* U+28a7 BRAILLE PATTERN DOTS-12368 */
+#define XK_braille_dots_468 0x10028a8 /* U+28a8 BRAILLE PATTERN DOTS-468 */
+#define XK_braille_dots_1468 0x10028a9 /* U+28a9 BRAILLE PATTERN DOTS-1468 */
+#define XK_braille_dots_2468 0x10028aa /* U+28aa BRAILLE PATTERN DOTS-2468 */
+#define XK_braille_dots_12468 0x10028ab /* U+28ab BRAILLE PATTERN DOTS-12468 */
+#define XK_braille_dots_3468 0x10028ac /* U+28ac BRAILLE PATTERN DOTS-3468 */
+#define XK_braille_dots_13468 0x10028ad /* U+28ad BRAILLE PATTERN DOTS-13468 */
+#define XK_braille_dots_23468 0x10028ae /* U+28ae BRAILLE PATTERN DOTS-23468 */
+#define XK_braille_dots_123468 0x10028af /* U+28af BRAILLE PATTERN DOTS-123468 */
+#define XK_braille_dots_568 0x10028b0 /* U+28b0 BRAILLE PATTERN DOTS-568 */
+#define XK_braille_dots_1568 0x10028b1 /* U+28b1 BRAILLE PATTERN DOTS-1568 */
+#define XK_braille_dots_2568 0x10028b2 /* U+28b2 BRAILLE PATTERN DOTS-2568 */
+#define XK_braille_dots_12568 0x10028b3 /* U+28b3 BRAILLE PATTERN DOTS-12568 */
+#define XK_braille_dots_3568 0x10028b4 /* U+28b4 BRAILLE PATTERN DOTS-3568 */
+#define XK_braille_dots_13568 0x10028b5 /* U+28b5 BRAILLE PATTERN DOTS-13568 */
+#define XK_braille_dots_23568 0x10028b6 /* U+28b6 BRAILLE PATTERN DOTS-23568 */
+#define XK_braille_dots_123568 0x10028b7 /* U+28b7 BRAILLE PATTERN DOTS-123568 */
+#define XK_braille_dots_4568 0x10028b8 /* U+28b8 BRAILLE PATTERN DOTS-4568 */
+#define XK_braille_dots_14568 0x10028b9 /* U+28b9 BRAILLE PATTERN DOTS-14568 */
+#define XK_braille_dots_24568 0x10028ba /* U+28ba BRAILLE PATTERN DOTS-24568 */
+#define XK_braille_dots_124568 0x10028bb /* U+28bb BRAILLE PATTERN DOTS-124568 */
+#define XK_braille_dots_34568 0x10028bc /* U+28bc BRAILLE PATTERN DOTS-34568 */
+#define XK_braille_dots_134568 0x10028bd /* U+28bd BRAILLE PATTERN DOTS-134568 */
+#define XK_braille_dots_234568 0x10028be /* U+28be BRAILLE PATTERN DOTS-234568 */
+#define XK_braille_dots_1234568 0x10028bf /* U+28bf BRAILLE PATTERN DOTS-1234568 */
+#define XK_braille_dots_78 0x10028c0 /* U+28c0 BRAILLE PATTERN DOTS-78 */
+#define XK_braille_dots_178 0x10028c1 /* U+28c1 BRAILLE PATTERN DOTS-178 */
+#define XK_braille_dots_278 0x10028c2 /* U+28c2 BRAILLE PATTERN DOTS-278 */
+#define XK_braille_dots_1278 0x10028c3 /* U+28c3 BRAILLE PATTERN DOTS-1278 */
+#define XK_braille_dots_378 0x10028c4 /* U+28c4 BRAILLE PATTERN DOTS-378 */
+#define XK_braille_dots_1378 0x10028c5 /* U+28c5 BRAILLE PATTERN DOTS-1378 */
+#define XK_braille_dots_2378 0x10028c6 /* U+28c6 BRAILLE PATTERN DOTS-2378 */
+#define XK_braille_dots_12378 0x10028c7 /* U+28c7 BRAILLE PATTERN DOTS-12378 */
+#define XK_braille_dots_478 0x10028c8 /* U+28c8 BRAILLE PATTERN DOTS-478 */
+#define XK_braille_dots_1478 0x10028c9 /* U+28c9 BRAILLE PATTERN DOTS-1478 */
+#define XK_braille_dots_2478 0x10028ca /* U+28ca BRAILLE PATTERN DOTS-2478 */
+#define XK_braille_dots_12478 0x10028cb /* U+28cb BRAILLE PATTERN DOTS-12478 */
+#define XK_braille_dots_3478 0x10028cc /* U+28cc BRAILLE PATTERN DOTS-3478 */
+#define XK_braille_dots_13478 0x10028cd /* U+28cd BRAILLE PATTERN DOTS-13478 */
+#define XK_braille_dots_23478 0x10028ce /* U+28ce BRAILLE PATTERN DOTS-23478 */
+#define XK_braille_dots_123478 0x10028cf /* U+28cf BRAILLE PATTERN DOTS-123478 */
+#define XK_braille_dots_578 0x10028d0 /* U+28d0 BRAILLE PATTERN DOTS-578 */
+#define XK_braille_dots_1578 0x10028d1 /* U+28d1 BRAILLE PATTERN DOTS-1578 */
+#define XK_braille_dots_2578 0x10028d2 /* U+28d2 BRAILLE PATTERN DOTS-2578 */
+#define XK_braille_dots_12578 0x10028d3 /* U+28d3 BRAILLE PATTERN DOTS-12578 */
+#define XK_braille_dots_3578 0x10028d4 /* U+28d4 BRAILLE PATTERN DOTS-3578 */
+#define XK_braille_dots_13578 0x10028d5 /* U+28d5 BRAILLE PATTERN DOTS-13578 */
+#define XK_braille_dots_23578 0x10028d6 /* U+28d6 BRAILLE PATTERN DOTS-23578 */
+#define XK_braille_dots_123578 0x10028d7 /* U+28d7 BRAILLE PATTERN DOTS-123578 */
+#define XK_braille_dots_4578 0x10028d8 /* U+28d8 BRAILLE PATTERN DOTS-4578 */
+#define XK_braille_dots_14578 0x10028d9 /* U+28d9 BRAILLE PATTERN DOTS-14578 */
+#define XK_braille_dots_24578 0x10028da /* U+28da BRAILLE PATTERN DOTS-24578 */
+#define XK_braille_dots_124578 0x10028db /* U+28db BRAILLE PATTERN DOTS-124578 */
+#define XK_braille_dots_34578 0x10028dc /* U+28dc BRAILLE PATTERN DOTS-34578 */
+#define XK_braille_dots_134578 0x10028dd /* U+28dd BRAILLE PATTERN DOTS-134578 */
+#define XK_braille_dots_234578 0x10028de /* U+28de BRAILLE PATTERN DOTS-234578 */
+#define XK_braille_dots_1234578 0x10028df /* U+28df BRAILLE PATTERN DOTS-1234578 */
+#define XK_braille_dots_678 0x10028e0 /* U+28e0 BRAILLE PATTERN DOTS-678 */
+#define XK_braille_dots_1678 0x10028e1 /* U+28e1 BRAILLE PATTERN DOTS-1678 */
+#define XK_braille_dots_2678 0x10028e2 /* U+28e2 BRAILLE PATTERN DOTS-2678 */
+#define XK_braille_dots_12678 0x10028e3 /* U+28e3 BRAILLE PATTERN DOTS-12678 */
+#define XK_braille_dots_3678 0x10028e4 /* U+28e4 BRAILLE PATTERN DOTS-3678 */
+#define XK_braille_dots_13678 0x10028e5 /* U+28e5 BRAILLE PATTERN DOTS-13678 */
+#define XK_braille_dots_23678 0x10028e6 /* U+28e6 BRAILLE PATTERN DOTS-23678 */
+#define XK_braille_dots_123678 0x10028e7 /* U+28e7 BRAILLE PATTERN DOTS-123678 */
+#define XK_braille_dots_4678 0x10028e8 /* U+28e8 BRAILLE PATTERN DOTS-4678 */
+#define XK_braille_dots_14678 0x10028e9 /* U+28e9 BRAILLE PATTERN DOTS-14678 */
+#define XK_braille_dots_24678 0x10028ea /* U+28ea BRAILLE PATTERN DOTS-24678 */
+#define XK_braille_dots_124678 0x10028eb /* U+28eb BRAILLE PATTERN DOTS-124678 */
+#define XK_braille_dots_34678 0x10028ec /* U+28ec BRAILLE PATTERN DOTS-34678 */
+#define XK_braille_dots_134678 0x10028ed /* U+28ed BRAILLE PATTERN DOTS-134678 */
+#define XK_braille_dots_234678 0x10028ee /* U+28ee BRAILLE PATTERN DOTS-234678 */
+#define XK_braille_dots_1234678 0x10028ef /* U+28ef BRAILLE PATTERN DOTS-1234678 */
+#define XK_braille_dots_5678 0x10028f0 /* U+28f0 BRAILLE PATTERN DOTS-5678 */
+#define XK_braille_dots_15678 0x10028f1 /* U+28f1 BRAILLE PATTERN DOTS-15678 */
+#define XK_braille_dots_25678 0x10028f2 /* U+28f2 BRAILLE PATTERN DOTS-25678 */
+#define XK_braille_dots_125678 0x10028f3 /* U+28f3 BRAILLE PATTERN DOTS-125678 */
+#define XK_braille_dots_35678 0x10028f4 /* U+28f4 BRAILLE PATTERN DOTS-35678 */
+#define XK_braille_dots_135678 0x10028f5 /* U+28f5 BRAILLE PATTERN DOTS-135678 */
+#define XK_braille_dots_235678 0x10028f6 /* U+28f6 BRAILLE PATTERN DOTS-235678 */
+#define XK_braille_dots_1235678 0x10028f7 /* U+28f7 BRAILLE PATTERN DOTS-1235678 */
+#define XK_braille_dots_45678 0x10028f8 /* U+28f8 BRAILLE PATTERN DOTS-45678 */
+#define XK_braille_dots_145678 0x10028f9 /* U+28f9 BRAILLE PATTERN DOTS-145678 */
+#define XK_braille_dots_245678 0x10028fa /* U+28fa BRAILLE PATTERN DOTS-245678 */
+#define XK_braille_dots_1245678 0x10028fb /* U+28fb BRAILLE PATTERN DOTS-1245678 */
+#define XK_braille_dots_345678 0x10028fc /* U+28fc BRAILLE PATTERN DOTS-345678 */
+#define XK_braille_dots_1345678 0x10028fd /* U+28fd BRAILLE PATTERN DOTS-1345678 */
+#define XK_braille_dots_2345678 0x10028fe /* U+28fe BRAILLE PATTERN DOTS-2345678 */
+#define XK_braille_dots_12345678 0x10028ff /* U+28ff BRAILLE PATTERN DOTS-12345678 */
+#endif /* XK_BRAILLE */
diff --git a/packages/xorg-lib/xorg-headers-native/X11/xpm.h b/packages/xorg-lib/xorg-headers-native/X11/xpm.h
new file mode 100644
index 0000000000..ed46133158
--- /dev/null
+++ b/packages/xorg-lib/xorg-headers-native/X11/xpm.h
@@ -0,0 +1,478 @@
+/*
+ * Copyright (C) 1989-95 GROUPE BULL
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of GROUPE BULL shall not be
+ * used in advertising or otherwise to promote the sale, use or other dealings
+ * in this Software without prior written authorization from GROUPE BULL.
+ */
+/* $XFree86: xc/extras/Xpm/lib/xpm.h,v 1.2 2001/08/22 23:36:44 dawes Exp $ */
+
+/*****************************************************************************\
+* xpm.h: *
+* *
+* XPM library *
+* Include file *
+* *
+* Developed by Arnaud Le Hors *
+\*****************************************************************************/
+
+/*
+ * The code related to FOR_MSW has been added by
+ * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94
+ */
+
+/*
+ * The code related to AMIGA has been added by
+ * Lorens Younes (d93-hyo@nada.kth.se) 4/96
+ */
+
+#ifndef XPM_h
+#define XPM_h
+
+/*
+ * first some identification numbers:
+ * the version and revision numbers are determined with the following rule:
+ * SO Major number = LIB minor version number.
+ * SO Minor number = LIB sub-minor version number.
+ * e.g: Xpm version 3.2f
+ * we forget the 3 which is the format number, 2 gives 2, and f gives 6.
+ * thus we have XpmVersion = 2 and XpmRevision = 6
+ * which gives SOXPMLIBREV = 2.6
+ *
+ * Then the XpmIncludeVersion number is built from these numbers.
+ */
+#define XpmFormat 3
+#define XpmVersion 4
+#define XpmRevision 11
+#define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision)
+
+#ifndef XPM_NUMBERS
+
+#ifdef FOR_MSW
+# define SYSV /* uses memcpy string.h etc. */
+# include <malloc.h>
+# include "simx.h" /* defines some X stuff using MSW types */
+#define NEED_STRCASECMP /* at least for MSVC++ */
+#else /* FOR_MSW */
+# ifdef AMIGA
+# include "amigax.h"
+# else /* not AMIGA */
+# include <X11/Xlib.h>
+# include <X11/Xutil.h>
+# endif /* not AMIGA */
+#endif /* FOR_MSW */
+
+/* let's define Pixel if it is not done yet */
+#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
+typedef unsigned long Pixel; /* Index into colormap */
+# define PIXEL_ALREADY_TYPEDEFED
+#endif
+
+/* Return ErrorStatus codes:
+ * null if full success
+ * positive if partial success
+ * negative if failure
+ */
+
+#define XpmColorError 1
+#define XpmSuccess 0
+#define XpmOpenFailed -1
+#define XpmFileInvalid -2
+#define XpmNoMemory -3
+#define XpmColorFailed -4
+
+typedef struct {
+ char *name; /* Symbolic color name */
+ char *value; /* Color value */
+ Pixel pixel; /* Color pixel */
+} XpmColorSymbol;
+
+typedef struct {
+ char *name; /* name of the extension */
+ unsigned int nlines; /* number of lines in this extension */
+ char **lines; /* pointer to the extension array of strings */
+} XpmExtension;
+
+typedef struct {
+ char *string; /* characters string */
+ char *symbolic; /* symbolic name */
+ char *m_color; /* monochrom default */
+ char *g4_color; /* 4 level grayscale default */
+ char *g_color; /* other level grayscale default */
+ char *c_color; /* color default */
+} XpmColor;
+
+typedef struct {
+ unsigned int width; /* image width */
+ unsigned int height; /* image height */
+ unsigned int cpp; /* number of characters per pixel */
+ unsigned int ncolors; /* number of colors */
+ XpmColor *colorTable; /* list of related colors */
+ unsigned int *data; /* image data */
+} XpmImage;
+
+typedef struct {
+ unsigned long valuemask; /* Specifies which attributes are defined */
+ char *hints_cmt; /* Comment of the hints section */
+ char *colors_cmt; /* Comment of the colors section */
+ char *pixels_cmt; /* Comment of the pixels section */
+ unsigned int x_hotspot; /* Returns the x hotspot's coordinate */
+ unsigned int y_hotspot; /* Returns the y hotspot's coordinate */
+ unsigned int nextensions; /* number of extensions */
+ XpmExtension *extensions; /* pointer to array of extensions */
+} XpmInfo;
+
+typedef int (*XpmAllocColorFunc)(
+ Display* /* display */,
+ Colormap /* colormap */,
+ char* /* colorname */,
+ XColor* /* xcolor */,
+ void* /* closure */
+);
+
+typedef int (*XpmFreeColorsFunc)(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Pixel* /* pixels */,
+ int /* npixels */,
+ void* /* closure */
+);
+
+typedef struct {
+ unsigned long valuemask; /* Specifies which attributes are
+ defined */
+
+ Visual *visual; /* Specifies the visual to use */
+ Colormap colormap; /* Specifies the colormap to use */
+ unsigned int depth; /* Specifies the depth */
+ unsigned int width; /* Returns the width of the created
+ pixmap */
+ unsigned int height; /* Returns the height of the created
+ pixmap */
+ unsigned int x_hotspot; /* Returns the x hotspot's
+ coordinate */
+ unsigned int y_hotspot; /* Returns the y hotspot's
+ coordinate */
+ unsigned int cpp; /* Specifies the number of char per
+ pixel */
+ Pixel *pixels; /* List of used color pixels */
+ unsigned int npixels; /* Number of used pixels */
+ XpmColorSymbol *colorsymbols; /* List of color symbols to override */
+ unsigned int numsymbols; /* Number of symbols */
+ char *rgb_fname; /* RGB text file name */
+ unsigned int nextensions; /* Number of extensions */
+ XpmExtension *extensions; /* List of extensions */
+
+ unsigned int ncolors; /* Number of colors */
+ XpmColor *colorTable; /* List of colors */
+/* 3.2 backward compatibility code */
+ char *hints_cmt; /* Comment of the hints section */
+ char *colors_cmt; /* Comment of the colors section */
+ char *pixels_cmt; /* Comment of the pixels section */
+/* end 3.2 bc */
+ unsigned int mask_pixel; /* Color table index of transparent
+ color */
+
+ /* Color Allocation Directives */
+ Bool exactColors; /* Only use exact colors for visual */
+ unsigned int closeness; /* Allowable RGB deviation */
+ unsigned int red_closeness; /* Allowable red deviation */
+ unsigned int green_closeness; /* Allowable green deviation */
+ unsigned int blue_closeness; /* Allowable blue deviation */
+ int color_key; /* Use colors from this color set */
+
+ Pixel *alloc_pixels; /* Returns the list of alloc'ed color
+ pixels */
+ int nalloc_pixels; /* Returns the number of alloc'ed
+ color pixels */
+
+ Bool alloc_close_colors; /* Specify whether close colors should
+ be allocated using XAllocColor
+ or not */
+ int bitmap_format; /* Specify the format of 1bit depth
+ images: ZPixmap or XYBitmap */
+
+ /* Color functions */
+ XpmAllocColorFunc alloc_color; /* Application color allocator */
+ XpmFreeColorsFunc free_colors; /* Application color de-allocator */
+ void *color_closure; /* Application private data to pass to
+ alloc_color and free_colors */
+
+} XpmAttributes;
+
+/* XpmAttributes value masks bits */
+#define XpmVisual (1L<<0)
+#define XpmColormap (1L<<1)
+#define XpmDepth (1L<<2)
+#define XpmSize (1L<<3) /* width & height */
+#define XpmHotspot (1L<<4) /* x_hotspot & y_hotspot */
+#define XpmCharsPerPixel (1L<<5)
+#define XpmColorSymbols (1L<<6)
+#define XpmRgbFilename (1L<<7)
+/* 3.2 backward compatibility code */
+#define XpmInfos (1L<<8)
+#define XpmReturnInfos XpmInfos
+/* end 3.2 bc */
+#define XpmReturnPixels (1L<<9)
+#define XpmExtensions (1L<<10)
+#define XpmReturnExtensions XpmExtensions
+
+#define XpmExactColors (1L<<11)
+#define XpmCloseness (1L<<12)
+#define XpmRGBCloseness (1L<<13)
+#define XpmColorKey (1L<<14)
+
+#define XpmColorTable (1L<<15)
+#define XpmReturnColorTable XpmColorTable
+
+#define XpmReturnAllocPixels (1L<<16)
+#define XpmAllocCloseColors (1L<<17)
+#define XpmBitmapFormat (1L<<18)
+
+#define XpmAllocColor (1L<<19)
+#define XpmFreeColors (1L<<20)
+#define XpmColorClosure (1L<<21)
+
+
+/* XpmInfo value masks bits */
+#define XpmComments XpmInfos
+#define XpmReturnComments XpmComments
+
+/* XpmAttributes mask_pixel value when there is no mask */
+#ifndef FOR_MSW
+#define XpmUndefPixel 0x80000000
+#else
+/* int is only 16 bit for MSW */
+#define XpmUndefPixel 0x8000
+#endif
+
+/*
+ * color keys for visual type, they must fit along with the number key of
+ * each related element in xpmColorKeys[] defined in XpmI.h
+ */
+#define XPM_MONO 2
+#define XPM_GREY4 3
+#define XPM_GRAY4 3
+#define XPM_GREY 4
+#define XPM_GRAY 4
+#define XPM_COLOR 5
+
+
+/* macros for forward declarations of functions with prototypes */
+#define FUNC(f, t, p) extern t f p
+#define LFUNC(f, t, p) static t f p
+
+
+/*
+ * functions declarations
+ */
+
+_XFUNCPROTOBEGIN
+
+/* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */
+/* Same for Amiga! */
+
+#if !defined(FOR_MSW) && !defined(AMIGA)
+ FUNC(XpmCreatePixmapFromData, int, (Display *display,
+ Drawable d,
+ char **data,
+ Pixmap *pixmap_return,
+ Pixmap *shapemask_return,
+ XpmAttributes *attributes));
+
+ FUNC(XpmCreateDataFromPixmap, int, (Display *display,
+ char ***data_return,
+ Pixmap pixmap,
+ Pixmap shapemask,
+ XpmAttributes *attributes));
+
+ FUNC(XpmReadFileToPixmap, int, (Display *display,
+ Drawable d,
+ char *filename,
+ Pixmap *pixmap_return,
+ Pixmap *shapemask_return,
+ XpmAttributes *attributes));
+
+ FUNC(XpmWriteFileFromPixmap, int, (Display *display,
+ char *filename,
+ Pixmap pixmap,
+ Pixmap shapemask,
+ XpmAttributes *attributes));
+#endif
+
+ FUNC(XpmCreateImageFromData, int, (Display *display,
+ char **data,
+ XImage **image_return,
+ XImage **shapemask_return,
+ XpmAttributes *attributes));
+
+ FUNC(XpmCreateDataFromImage, int, (Display *display,
+ char ***data_return,
+ XImage *image,
+ XImage *shapeimage,
+ XpmAttributes *attributes));
+
+ FUNC(XpmReadFileToImage, int, (Display *display,
+ char *filename,
+ XImage **image_return,
+ XImage **shapeimage_return,
+ XpmAttributes *attributes));
+
+ FUNC(XpmWriteFileFromImage, int, (Display *display,
+ char *filename,
+ XImage *image,
+ XImage *shapeimage,
+ XpmAttributes *attributes));
+
+ FUNC(XpmCreateImageFromBuffer, int, (Display *display,
+ char *buffer,
+ XImage **image_return,
+ XImage **shapemask_return,
+ XpmAttributes *attributes));
+#if !defined(FOR_MSW) && !defined(AMIGA)
+ FUNC(XpmCreatePixmapFromBuffer, int, (Display *display,
+ Drawable d,
+ char *buffer,
+ Pixmap *pixmap_return,
+ Pixmap *shapemask_return,
+ XpmAttributes *attributes));
+
+ FUNC(XpmCreateBufferFromImage, int, (Display *display,
+ char **buffer_return,
+ XImage *image,
+ XImage *shapeimage,
+ XpmAttributes *attributes));
+
+ FUNC(XpmCreateBufferFromPixmap, int, (Display *display,
+ char **buffer_return,
+ Pixmap pixmap,
+ Pixmap shapemask,
+ XpmAttributes *attributes));
+#endif
+ FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return));
+ FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer));
+
+ FUNC(XpmReadFileToData, int, (char *filename, char ***data_return));
+ FUNC(XpmWriteFileFromData, int, (char *filename, char **data));
+
+ FUNC(XpmAttributesSize, int, (void));
+ FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes));
+ FUNC(XpmFreeExtensions, void, (XpmExtension *extensions,
+ int nextensions));
+
+ FUNC(XpmFreeXpmImage, void, (XpmImage *image));
+ FUNC(XpmFreeXpmInfo, void, (XpmInfo *info));
+ FUNC(XpmGetErrorString, char *, (int errcode));
+ FUNC(XpmLibraryVersion, int, (void));
+
+ /* XpmImage functions */
+ FUNC(XpmReadFileToXpmImage, int, (char *filename,
+ XpmImage *image,
+ XpmInfo *info));
+
+ FUNC(XpmWriteFileFromXpmImage, int, (char *filename,
+ XpmImage *image,
+ XpmInfo *info));
+#if !defined(FOR_MSW) && !defined(AMIGA)
+ FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display,
+ Drawable d,
+ XpmImage *image,
+ Pixmap *pixmap_return,
+ Pixmap *shapemask_return,
+ XpmAttributes *attributes));
+#endif
+ FUNC(XpmCreateImageFromXpmImage, int, (Display *display,
+ XpmImage *image,
+ XImage **image_return,
+ XImage **shapeimage_return,
+ XpmAttributes *attributes));
+
+ FUNC(XpmCreateXpmImageFromImage, int, (Display *display,
+ XImage *image,
+ XImage *shapeimage,
+ XpmImage *xpmimage,
+ XpmAttributes *attributes));
+#if !defined(FOR_MSW) && !defined(AMIGA)
+ FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display,
+ Pixmap pixmap,
+ Pixmap shapemask,
+ XpmImage *xpmimage,
+ XpmAttributes *attributes));
+#endif
+ FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return,
+ XpmImage *image,
+ XpmInfo *info));
+
+ FUNC(XpmCreateXpmImageFromData, int, (char **data,
+ XpmImage *image,
+ XpmInfo *info));
+
+ FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer,
+ XpmImage *image,
+ XpmInfo *info));
+
+ FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return,
+ XpmImage *image,
+ XpmInfo *info));
+
+ FUNC(XpmGetParseError, int, (char *filename,
+ int *linenum_return,
+ int *charnum_return));
+
+ FUNC(XpmFree, void, (void *ptr));
+
+_XFUNCPROTOEND
+
+/* backward compatibility */
+
+/* for version 3.0c */
+#define XpmPixmapColorError XpmColorError
+#define XpmPixmapSuccess XpmSuccess
+#define XpmPixmapOpenFailed XpmOpenFailed
+#define XpmPixmapFileInvalid XpmFileInvalid
+#define XpmPixmapNoMemory XpmNoMemory
+#define XpmPixmapColorFailed XpmColorFailed
+
+#define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
+ XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
+#define XpmWritePixmapFile(dpy, file, pix, mask, att) \
+ XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
+
+/* for version 3.0b */
+#define PixmapColorError XpmColorError
+#define PixmapSuccess XpmSuccess
+#define PixmapOpenFailed XpmOpenFailed
+#define PixmapFileInvalid XpmFileInvalid
+#define PixmapNoMemory XpmNoMemory
+#define PixmapColorFailed XpmColorFailed
+
+#define ColorSymbol XpmColorSymbol
+
+#define XReadPixmapFile(dpy, d, file, pix, mask, att) \
+ XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
+#define XWritePixmapFile(dpy, file, pix, mask, att) \
+ XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
+#define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
+ XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
+#define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
+ XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
+
+#endif /* XPM_NUMBERS */
+#endif
diff --git a/packages/xorg-lib/xorg-lib-common.inc b/packages/xorg-lib/xorg-lib-common.inc
index ed3b5f0063..0c6c1388d2 100644
--- a/packages/xorg-lib/xorg-lib-common.inc
+++ b/packages/xorg-lib/xorg-lib-common.inc
@@ -2,14 +2,14 @@ HOMEPAGE = "http://www.x.org"
SECTION = "x11/libs"
LICENSE = "MIT-X"
-DEPENDS = "util-macros"
+DEPENDS = "util-macros xorg-headers-native"
XORG_PN = "${PN}"
SRC_URI = "${XORG_MIRROR}/${@bb.data.getVar('PV', d, 1)[0:7]}/src/lib/${XORG_PN}-${PV}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
-EXTRA_OECONF="--enable-malloc0returnsnull"
+EXTRA_OECONF = "--enable-malloc0returnsnull"
do_stage() {
autotools_stage_all
diff --git a/packages/xorg-lib/xtrans-native_0.1.bb b/packages/xorg-lib/xtrans-native_0.1.bb
deleted file mode 100644
index db1e6e4673..0000000000
--- a/packages/xorg-lib/xtrans-native_0.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-SECTION = "x11/base"
-require xtrans_${PV}.bb
-inherit native
diff --git a/packages/xorg-lib/xtrans_cvs.bb b/packages/xorg-lib/xtrans_cvs.bb
deleted file mode 100644
index 73a0e4b8e1..0000000000
--- a/packages/xorg-lib/xtrans_cvs.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-SECTION = "x11/libs"
-DESCRIPTION = "network API translation layer to \
-insulate X applications and libraries from OS \
-network vageries."
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=xtrans"
-S = "${WORKDIR}/xtrans"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xorg-xserver/xserver-kdrive_20050207.bb b/packages/xorg-xserver/xserver-kdrive_20050207.bb
deleted file mode 100644
index c198a94de2..0000000000
--- a/packages/xorg-xserver/xserver-kdrive_20050207.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-PV = "0.0+cvs${FIXEDSRCDATE}"
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-DEFAULT_PREFERENCE = "1"
-
-LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextensions-1.0.1 xtrans libxau virtual/libx11 libxext libxrandr fixesext damageext libxfont resourceext compositeext xcalibrateext recordext"
-
-# Uncomment the following DEPENDS line and the commented line in SRC_URI
-# to make this snapshot build against X11R7.0 xlibs.
-#DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto"
-
-PROVIDES = "virtual/xserver"
-RPROVIDES = "virtual/xserver"
-PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
-SECTION = "x11/base"
-DESCRIPTION = "X server from freedesktop.org"
-DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
-DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
-DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
-DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
-DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
-DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
-DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
-DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
-DESCRIPTION_xserver-kdrive-fake = "Fake X server"
-DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
-
-PR = "r11"
-
-FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
-FILES_xserver-kdrive-ati = "${bindir}/Xati"
-FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
-FILES_xserver-kdrive-via = "${bindir}/Xvia"
-FILES_xserver-kdrive-mga = "${bindir}/Xmga"
-FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
-FILES_xserver-kdrive-fake = "${bindir}/Xfake"
-FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
-FILES_xserver-kdrive-epson = "${bindir}/Xepson"
-FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver;date=${FIXEDSRCDATE} \
-# file://build-20050207-against-X11R7.diff;patch=1 \
- file://kmode.patch;patch=1 \
- file://disable-apm.patch;patch=1 \
- file://fbdev-not-fix.patch;patch=1 "
-
-SRC_URI_h3600 = "${FREEDESKTOP_CVS}/xserver;module=xserver;date=${FIXEDSRCDATE} \
- file://kmode.patch;patch=1 \
- file://faster-rotated.patch;patch=1 \
- file://fbdev-not-fix.patch;patch=1 "
-
-
-SRC_URI_append_mnci = " file://onlyfb.patch;patch=1 \
- file://faster-rotated.patch;patch=1 \
- file://devfs.patch;patch=1"
-SRC_URI_append_collie = " file://faster-rotated.patch;patch=1"
-SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1 \
- file://faster-rotated.patch;patch=1"
-SRC_URI_append_spitz = " file://faster-rotated.patch;patch=1"
-SRC_URI_append_akita = " file://faster-rotated.patch;patch=1"
-
-PACKAGE_ARCH_mnci = "mnci"
-PACKAGE_ARCH_collie = "collie"
-PACKAGE_ARCH_poodle = "poodle"
-PACKAGE_ARCH_h3600 = "h3600"
-PACKAGE_ARCH_spitz = "spitz"
-PACKAGE_ARCH_akita = "akita"
-
-S = "${WORKDIR}/xserver"
-
-inherit autotools pkgconfig
-
-LDFLAGS += " -lXfont -lXdmcp -lXau "
-EXTRA_OECONF = "--enable-static=no --disable-static --enable-composite --disable-xinerama"
diff --git a/packages/xorg-xserver/xserver-kdrive_20050624.bb b/packages/xorg-xserver/xserver-kdrive_20050624.bb
deleted file mode 100644
index f9ba323529..0000000000
--- a/packages/xorg-xserver/xserver-kdrive_20050624.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-PV = "0.0+cvs${FIXEDSRCDATE}"
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-
-LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextensions xtrans libxau virtual/libx11 libxext libxrandr fixesext damageext libxfont resourceext compositeext xcalibrateext recordext"
-PROVIDES = "virtual/xserver"
-RPROVIDES = "virtual/xserver"
-PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
-SECTION = "x11/base"
-DESCRIPTION = "X server from freedesktop.org"
-DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
-DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
-DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
-DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
-DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
-DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
-DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
-DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
-DESCRIPTION_xserver-kdrive-fake = "Fake X server"
-DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
-
-PR = "r12"
-
-FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
-FILES_xserver-kdrive-ati = "${bindir}/Xati"
-FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
-FILES_xserver-kdrive-via = "${bindir}/Xvia"
-FILES_xserver-kdrive-mga = "${bindir}/Xmga"
-FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
-FILES_xserver-kdrive-fake = "${bindir}/Xfake"
-FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
-FILES_xserver-kdrive-epson = "${bindir}/Xepson"
-FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver;date=${FIXEDSRCDATE} \
- file://kmode.patch;patch=1 \
- file://no-serial-probing.patch;patch=1 \
- file://fbdev-not-fix.patch;patch=1"
-
-SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
-SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
-PACKAGE_ARCH_poodle = "poodle"
-
-
-S = "${WORKDIR}/xserver"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-composite --disable-xinerama"
diff --git a/packages/xorg-xserver/xserver-kdrive_20060312.bb b/packages/xorg-xserver/xserver-kdrive_20060312.bb
deleted file mode 100644
index c5080452ae..0000000000
--- a/packages/xorg-xserver/xserver-kdrive_20060312.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-PV = "0.0+cvs${FIXEDSRCDATE}"
-FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
-DEFAULT_PREFERENCE = "1"
-
-LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
-PROVIDES = "virtual/xserver"
-RPROVIDES = "virtual/xserver"
-PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
-SECTION = "x11/base"
-DESCRIPTION = "X server from freedesktop.org"
-DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
-DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
-DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
-DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
-DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
-DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
-DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
-DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
-DESCRIPTION_xserver-kdrive-fake = "Fake X server"
-DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
-
-PR = "r12"
-
-FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
-FILES_xserver-kdrive-ati = "${bindir}/Xati"
-FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
-FILES_xserver-kdrive-via = "${bindir}/Xvia"
-FILES_xserver-kdrive-mga = "${bindir}/Xmga"
-FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
-FILES_xserver-kdrive-fake = "${bindir}/Xfake"
-FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
-FILES_xserver-kdrive-epson = "${bindir}/Xepson"
-FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver \
- file://kmode.patch;patch=1 \
- file://disable-apm.patch;patch=1 \
- file://no-serial-probing.patch;patch=1 \
- file://kdrive-evdev.patch;patch=1 \
- file://kdrive-use-evdev.patch;patch=1 \
- file://fbdev-not-fix.patch;patch=1"
-
-SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
-SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
-PACKAGE_ARCH_poodle = "poodle"
-
-S = "${WORKDIR}/xserver"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-composite --disable-xinerama"
diff --git a/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb b/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
index c28f3a739b..b4b17e4e18 100644
--- a/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
@@ -1,11 +1,11 @@
LICENSE = "MIT"
DEPENDS = "tslib virtual/libsdl xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
-PR = "r4"
+PR = "r5"
PROVIDES = "virtual/xserver"
RPROVIDES = "virtual/xserver"
-PACKAGES =+ "xserver-kdrive-fbdev xserver-kdrive-sdl xserver-kdrive-fake xserver-kdrive-xephyr xserver-kdrive-epson xserver-kdrive-w100 ${PN}-doc ${PN}-dev ${PN}-locale"
+PACKAGES =+ "xserver-kdrive-fbdev xserver-kdrive-sdl xserver-kdrive-fake xserver-kdrive-xephyr xserver-kdrive-epson xserver-kdrive-w100"
SECTION = "x11/base"
DESCRIPTION = "X server from freedesktop.org"
DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
@@ -54,14 +54,16 @@ S = "${WORKDIR}/xorg-server-X11R7.1-1.1.0"
inherit autotools pkgconfig
-EXTRA_OECONF = "--enable-composite --enable-kdrive \
- --disable-dga --disable-dri --disable-xinerama \
- --disable-xf86misc --disable-xf86vidmode \
- --disable-xorg --disable-xorgcfg \
- --disable-xkb --disable-xnest --disable-xvfb \
- --disable-xevie --disable-xprint --disable-xtrap \
- --disable-dmx --enable-w100 \
- --with-default-font-path=built-ins \
- --enable-tslib --enable-xcalibrate \
- ac_cv_file__usr_share_X11_sgml_defs_ent=no"
+W100_OECONF = "--disable-w100"
+W100_OECONF_arm = "--enable-w100"
+EXTRA_OECONF = "--enable-composite --enable-kdrive \
+ --disable-dga --disable-dri --disable-xinerama \
+ --disable-xf86misc --disable-xf86vidmode \
+ --disable-xorg --disable-xorgcfg \
+ --disable-xkb --disable-xnest --disable-xvfb \
+ --disable-xevie --disable-xprint --disable-xtrap \
+ --disable-dmx ${W100_OECONF} \
+ --with-default-font-path=built-ins \
+ --enable-tslib --enable-xcalibrate \
+ ac_cv_file__usr_share_X11_sgml_defs_ent=no"
diff --git a/packages/xorg-xserver/xserver-kdrive_cvs.bb b/packages/xorg-xserver/xserver-kdrive_cvs.bb
deleted file mode 100644
index e0e24065e6..0000000000
--- a/packages/xorg-xserver/xserver-kdrive_cvs.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-DEFAULT_PREFERENCE = "-2"
-
-LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
-PROVIDES = "virtual/xserver"
-RPROVIDES = "virtual/xserver"
-PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
-SECTION = "x11/base"
-DESCRIPTION = "X server from freedesktop.org"
-DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
-DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
-DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
-DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
-DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
-DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
-DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
-DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
-DESCRIPTION_xserver-kdrive-fake = "Fake X server"
-DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
-
-PR = "r12"
-
-FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
-FILES_xserver-kdrive-ati = "${bindir}/Xati"
-FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
-FILES_xserver-kdrive-via = "${bindir}/Xvia"
-FILES_xserver-kdrive-mga = "${bindir}/Xmga"
-FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
-FILES_xserver-kdrive-fake = "${bindir}/Xfake"
-FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
-FILES_xserver-kdrive-epson = "${bindir}/Xepson"
-FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver \
- file://kmode.patch;patch=1 \
- file://disable-apm.patch;patch=1 \
- file://no-serial-probing.patch;patch=1 \
- file://kdrive-evdev.patch;patch=1 \
- file://kdrive-use-evdev.patch;patch=1 \
- file://fbdev-not-fix.patch;patch=1"
-
-SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
-SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
-PACKAGE_ARCH_poodle = "poodle"
-
-S = "${WORKDIR}/xserver"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-composite --disable-xinerama"
diff --git a/packages/xorg-xserver/xserver-kdrive_git.bb b/packages/xorg-xserver/xserver-kdrive_git.bb
index 198556c58d..4b9d820075 100644
--- a/packages/xorg-xserver/xserver-kdrive_git.bb
+++ b/packages/xorg-xserver/xserver-kdrive_git.bb
@@ -1,14 +1,14 @@
PV = "1.1.0+git${SRCDATE}"
DEFAULT_PREFERENCE = "-2"
-PR = "r6"
+PR = "r7"
LICENSE = "MIT"
DEPENDS = "tslib virtual/libsdl libxkbfile xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto libxcalibrate recordproto videoproto scrnsaverproto"
PROVIDES = "virtual/xserver"
RPROVIDES = "virtual/xserver"
-PACKAGES =+ "xserver-kdrive-fbdev xserver-kdrive-sdl xserver-kdrive-fake xserver-kdrive-xephyr xserver-kdrive-epson xserver-kdrive-w100 ${PN}-doc ${PN}-dev ${PN}-locale"
+PACKAGES =+ "xserver-kdrive-fbdev xserver-kdrive-sdl xserver-kdrive-fake xserver-kdrive-xephyr xserver-kdrive-epson xserver-kdrive-w100"
SECTION = "x11/base"
DESCRIPTION = "X server from freedesktop.org"
DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
@@ -56,16 +56,16 @@ S = "${WORKDIR}/git"
inherit autotools pkgconfig
-EXTRA_OECONF = "--enable-composite --enable-sdl --enable-kdrive \
- --disable-dga --disable-dri --disable-xinerama \
- --disable-xf86misc --disable-xf86vidmode \
- --disable-xorg --disable-xorgcfg \
- --disable-xkb --disable-xnest --disable-xvfb \
- --disable-xevie --disable-xprint --disable-xtrap \
- --disable-dmx \
- --with-default-font-path=built-ins \
- --enable-tslib --enable-xcalibrate \
- ac_cv_file__usr_share_X11_sgml_defs_ent=no"
+W100_OECONF = "--disable-w100"
+W100_OECONF_arm = "--enable-w100"
-EXTRA_OECONF_append_arm = " --enable-w100"
-EXTRA_OECONF_append_x86 = " --disable-w100"
+EXTRA_OECONF = "--enable-composite --enable-kdrive \
+ --disable-dga --disable-dri --disable-xinerama \
+ --disable-xf86misc --disable-xf86vidmode \
+ --disable-xorg --disable-xorgcfg \
+ --disable-xkb --disable-xnest --disable-xvfb \
+ --disable-xevie --disable-xprint --disable-xtrap \
+ --disable-dmx ${W100_OECONF} \
+ --with-default-font-path=built-ins \
+ --enable-tslib --enable-xcalibrate \
+ ac_cv_file__usr_share_X11_sgml_defs_ent=no"
diff --git a/packages/xorg-xserver/xserver-xorg_6.8.99.10.bb b/packages/xorg-xserver/xserver-xorg_6.8.99.10.bb
deleted file mode 100644
index 37546fe1ee..0000000000
--- a/packages/xorg-xserver/xserver-xorg_6.8.99.10.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SECTION = "x11/base"
-RPROVIDES = "virtual/xserver"
-PROVIDES = "virtual/xserver"
-LICENSE = "Xorg"
-PR = "r2"
-
-DEPENDS = "fontconfig freetype libxi libxmu flex-native zlib"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc;method=pserver;tag=XORG-6_8_99_10 \
- file://imake-staging.patch;patch=1 \
- file://imake-installed.patch;patch=1 \
- file://fontfile.patch;patch=1 file://freetype.patch;patch=1 \
- file://dri.patch;patch=1"
-
-PACKAGES =+ "xserver-xorg-xprint xserver-xorg-xvfb xserver-xorg-utils"
-
-S = "${WORKDIR}/xc"
-
-FILES_xserver-xorg-xprint = "${bindir}/Xprt /etc/init.d/xprint /etc/rc.d/rc*.d/*xprint /etc/X11/Xsession.d/92xprint-xpserverlist.sh /etc/X11/xinit/xinitrc.d/92xprint-xpserverlist.sh /etc/X11/xserver/*/print ${sysconfdir}/profile.d/xprint.*"
-FILES_xserver-xorg-xvfb = "${bindir}/Xvfb"
-FILES_xserver-xorg-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
-FILES_${PN} += "${libdir}/modules/*.o "${libdir}/modules/*/*.o ${libdir}/X11/Options ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules"
-FILES_${PN}-doc += "${libdir}/X11/doc"
-
-do_configure() {
- cat <<EOF > config/cf/host.def
-#define BuildServersOnly YES
-#define ProjectRoot ${prefix}
-#define XnestServer NO
-#define XdmxServer NO
-#define CcCmd gcc
-#define LdCmd ld
-#define HasFreetype2 YES
-#define HasFontconfig YES
-#define BuildDevelDRIDrivers YES
-#define BuildXF86DRI YES
-EOF
- echo "" > config/cf/date.def
- rm -f include/extensions/panoramiX.h
- make -C config/imake -f Makefile.ini CC="${BUILD_CC}" BOOTSTRAPCFLAGS="${BUILD_CFLAGS}" CROSSCOMPILEDIR="${CROSS_DIR}/${TARGET_SYS}/bin" PREPROCESS_CMD="gcc -E" clean imake
- make CC="${BUILD_CC}" xmakefile
- make Makefiles
- make clean
-}
-
-do_compile() {
- #make depend
- make includes
- make -C config/util CC="${BUILD_CC}"
- for l in font xtrans Xdmcp lbxutil; do make -C lib/$l CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}"; done
- make -C programs/Xserver CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" CPP="${CC} -E"
-}
-
-do_install() {
- make -C programs/Xserver DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
- make -C lib/font DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
-}
-
-do_stage() {
- install -d ${STAGING_INCDIR}/xserver-xorg
- for i in i810 via; do
- pushd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/; popd
- done
- install -m 0644 programs/Xserver/hw/xfree86/common/fourcc.h ${STAGING_INCDIR}/xserver-xorg/
-}
diff --git a/packages/xorg-xserver/xserver-xorg_6.8.99.11.bb b/packages/xorg-xserver/xserver-xorg_6.8.99.11.bb
deleted file mode 100644
index e60f62ef57..0000000000
--- a/packages/xorg-xserver/xserver-xorg_6.8.99.11.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SECTION = "x11/base"
-RPROVIDES = "virtual/xserver"
-PROVIDES = "virtual/xserver"
-LICENSE = "Xorg"
-PR = "r0"
-
-DEPENDS = "fontconfig freetype libxi libxmu flex-native zlib"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc;method=pserver;tag=XORG-6_8_99_11 \
- file://imake-staging.patch;patch=1 \
- file://imake-installed.patch;patch=1 \
- file://fontfile.patch;patch=1 file://freetype.patch;patch=1 \
- file://dri.patch;patch=1"
-
-PACKAGES =+ "xserver-xorg-xprint xserver-xorg-xvfb xserver-xorg-utils"
-
-S = "${WORKDIR}/xc"
-
-FILES_xserver-xorg-xprint = "${bindir}/Xprt /etc/init.d/xprint /etc/rc.d/rc*.d/*xprint /etc/X11/Xsession.d/92xprint-xpserverlist.sh /etc/X11/xinit/xinitrc.d/92xprint-xpserverlist.sh /etc/X11/xserver/*/print ${sysconfdir}/profile.d/xprint.*"
-FILES_xserver-xorg-xvfb = "${bindir}/Xvfb"
-FILES_xserver-xorg-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
-FILES_${PN} += "${libdir}/modules/*.o "${libdir}/modules/*/*.o ${libdir}/X11/Options ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules"
-FILES_${PN}-doc += "${libdir}/X11/doc"
-
-do_configure() {
- cat <<EOF > config/cf/host.def
-#define BuildServersOnly YES
-#define ProjectRoot ${prefix}
-#define XnestServer NO
-#define XdmxServer NO
-#define CcCmd gcc
-#define LdCmd ld
-#define HasFreetype2 YES
-#define HasFontconfig YES
-#define BuildDevelDRIDrivers YES
-#define BuildXF86DRI YES
-EOF
- echo "" > config/cf/date.def
- rm -f include/extensions/panoramiX.h
- make -C config/imake -f Makefile.ini CC="${BUILD_CC}" BOOTSTRAPCFLAGS="${BUILD_CFLAGS}" CROSSCOMPILEDIR="${CROSS_DIR}/${TARGET_SYS}/bin" PREPROCESS_CMD="gcc -E" clean imake
- make CC="${BUILD_CC}" xmakefile
- make Makefiles
- make clean
-}
-
-do_compile() {
- #make depend
- make includes
- make -C config/util CC="${BUILD_CC}"
- for l in font xtrans Xdmcp lbxutil; do make -C lib/$l CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}"; done
- make -C programs/Xserver CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" CPP="${CC} -E"
-}
-
-do_install() {
- make -C programs/Xserver DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
- make -C lib/font DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
-}
-
-do_stage() {
- install -d ${STAGING_INCDIR}/xserver-xorg
- for i in i810 via; do
- pushd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/; popd
- done
- install -m 0644 programs/Xserver/hw/xfree86/common/fourcc.h ${STAGING_INCDIR}/xserver-xorg/
-}
diff --git a/packages/zd1211/zd1211-r83/makefile-unslung.patch b/packages/zd1211/zd1211-r83/makefile-unslung.patch
new file mode 100644
index 0000000000..bc189e823f
--- /dev/null
+++ b/packages/zd1211/zd1211-r83/makefile-unslung.patch
@@ -0,0 +1,48 @@
+--- zd1211-driver-r83.orig/Makefile 2006-07-09 04:59:42.000000000 -0500
++++ zd1211-driver-r83/Makefile 2006-10-21 16:27:41.000000000 -0500
+@@ -4,25 +4,25 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
++CC ?= gcc
++CPP ?= g++
++LD ?= ld
+ rM=rm -f -r
+
+ VERSION := $(shell uname -r)
+-MODPATH := /lib/modules/$(VERSION)
++MODPATH ?= /lib/modules/$(VERSION)
+
+ # if the kernel is 2.6.x, turn on this
+-KERN_26=y
++#KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++KERNEL_SOURCE ?= $(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+ ZD1211REV_B=0
+
+ SRC_DIR=src
+-DEFINES=-D__KERNEL__ -DMODULE=1
++DEFINES ?= -D__KERNEL__ -DMODULE=1
+
+
+
+@@ -228,9 +228,9 @@
+ depmod -a $(VERSION)
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/packages/zd1211/zd1211-r83/unslung-iwpriv-hack.patch b/packages/zd1211/zd1211-r83/unslung-iwpriv-hack.patch
new file mode 100644
index 0000000000..64f3806140
--- /dev/null
+++ b/packages/zd1211/zd1211-r83/unslung-iwpriv-hack.patch
@@ -0,0 +1,19 @@
+--- zd1211-driver-r74/src/zd1205.c~ 2006-04-16 09:42:15.000000000 -0500
++++ zd1211-driver-r74/src/zd1205.c 2006-04-27 12:29:03.000000000 -0500
+@@ -349,8 +349,14 @@
+ { SIOCIWFIRSTPRIV + 0xA, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "connect" },
+ { SIOCIWFIRSTPRIV + 0xB, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_mac_mode" },
+ { SIOCIWFIRSTPRIV + 0xC, 0, IW_PRIV_TYPE_CHAR | 12, "get_mac_mode" },
+- { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
+- { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// HACK HACK HACK - The following two lines are commented out in order to make
++// iwpriv work on Unslung (2.4.22 kernel) - this kernel's Wireless Extensions
++// can only handle up to 16 iwpriv entries in this structure. Yes, the correct
++// fix is to patch the Wireless Extensions in the Unslung kernel. This hack
++// should be removed when that's actually done. ~mwester 27APR2006
++// { SIOCIWFIRSTPRIV + 0xD, 0, 0, "save_conf" /* has been removed */ },
++// { SIOCIWFIRSTPRIV + 0xE, 0, 0, "load_conf" /* has been removed */ },
++// End of HACK
+ { SIOCIWFIRSTPRIV + 0xF, 0, IW_PRIV_TYPE_CHAR | 14, "get_Region" },
+ { SIOCIWFIRSTPRIV + 0x9,IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_Region" },
+ };
diff --git a/packages/zd1211/zd1211-r83/unslung-writel-logging.patch b/packages/zd1211/zd1211-r83/unslung-writel-logging.patch
new file mode 100644
index 0000000000..00d54d7d68
--- /dev/null
+++ b/packages/zd1211/zd1211-r83/unslung-writel-logging.patch
@@ -0,0 +1,14 @@
+--- zd1211-driver-r74/src/zd1211.c~ 2006-04-09 12:28:06.000000000 -0500
++++ zd1211-driver-r74/src/zd1211.c 2006-04-27 12:38:55.000000000 -0500
+@@ -652,7 +652,10 @@
+ count++;
+
+ if (count > 5) {
+- printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious");
++// You are going to see this often enough on Unslung that we might as well put it in
++// the syslog and fix it so it has a nl on the end. Sigh. ~mwester, 27APR06
++//
++ printk(KERN_ERR "1211_readl failed for 5 attempts...Very Serious\n");
+ break;
+ }
+ }
diff --git a/packages/zlib/zlib-1.2.3/autotools.patch b/packages/zlib/zlib-1.2.3/autotools.patch
index 722a20d499..d1dc8dd8d4 100644
--- a/packages/zlib/zlib-1.2.3/autotools.patch
+++ b/packages/zlib/zlib-1.2.3/autotools.patch
@@ -480,15 +480,17 @@ diff -Naur zlib-1.2.3/configure.ac zlib-1.2.3new/configure.ac
+
+AC_OUTPUT
diff -Naur zlib-1.2.3/Makefile.am zlib-1.2.3new/Makefile.am
---- zlib-1.2.3/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ zlib-1.2.3new/Makefile.am 2006-08-07 19:57:26.522344250 +0200
-@@ -0,0 +1,6 @@
+--- zlib-1.2.3/Makefile.am 2006/10/14 05:35:40 1.1
++++ zlib-1.2.3new/Makefile.am 2006/10/14 05:36:49
+@@ -0,0 +1,8 @@
+lib_LTLIBRARIES = libz.la
+
+libz_la_SOURCES = adler32.c compress.c crc32.c gzio.c uncompr.c deflate.c \
+ trees.c zutil.c inflate.c infback.c inftrees.c inffast.c
+
+libz_la_LDFLAGS = -version-number 1:2:3
++
++include_HEADERS = zconf.h zlib.h
diff -Naur zlib-1.2.3/Makefile.in zlib-1.2.3new/Makefile.in
--- zlib-1.2.3/Makefile.in 2005-07-18 04:25:21.000000000 +0200
+++ zlib-1.2.3new/Makefile.in 1970-01-01 01:00:00.000000000 +0100
diff --git a/packages/zlib/zlib_1.2.3.bb b/packages/zlib/zlib_1.2.3.bb
index 571f7b5e08..629ee83efb 100644
--- a/packages/zlib/zlib_1.2.3.bb
+++ b/packages/zlib/zlib_1.2.3.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
PRIORITY = "required"
HOMEPAGE = "http://www.gzip.org/zlib/"
LICENSE = "zlib"
-PR="r1"
+PR="r2"
SRC_URI = "http://www.zlib.net/zlib-1.2.3.tar.bz2 \
file://visibility.patch;patch=1 \
diff --git a/site/i486-linux b/site/i486-linux
index f2998e7fb2..6116fde046 100644
--- a/site/i486-linux
+++ b/site/i486-linux
@@ -175,3 +175,6 @@ clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes}
clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes}
clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes}
ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
+
+# p3scan
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
diff --git a/site/i686-linux b/site/i686-linux
index ce5580f973..048fc6458b 100644
--- a/site/i686-linux
+++ b/site/i686-linux
@@ -87,6 +87,9 @@ ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
# D-BUS
ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
# mysql
mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
diff --git a/site/sh4-linux b/site/sh4-linux
index d9513ec182..e2c4df0064 100644
--- a/site/sh4-linux
+++ b/site/sh4-linux
@@ -20,6 +20,7 @@ ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4}
ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8}
ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
ac_cv_sys_restartable_syscalls=yes
ac_cv_uchar=${ac_cv_uchar=no}