summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS5
-rw-r--r--classes/base.bbclass84
-rw-r--r--classes/distutils-base.bbclass15
-rw-r--r--classes/distutils.bbclass7
-rw-r--r--classes/image.bbclass13
-rw-r--r--classes/kernel-arch.bbclass2
-rw-r--r--classes/kernel.bbclass25
-rw-r--r--classes/mono.bbclass9
-rw-r--r--classes/nylon-mirrors.bbclass8
-rw-r--r--classes/oplinux-mirrors.bbclass16
-rw-r--r--classes/package.bbclass144
-rw-r--r--classes/package_deb.bbclass38
-rw-r--r--classes/package_ipk.bbclass33
-rw-r--r--classes/package_rpm.bbclass5
-rw-r--r--classes/package_tar.bbclass10
-rw-r--r--classes/packaged-staging.bbclass389
-rw-r--r--classes/packaged-staging2.bbclass229
-rw-r--r--classes/qt3e.bbclass4
-rw-r--r--classes/qt3x11.bbclass2
-rw-r--r--classes/rm_work.bbclass20
-rw-r--r--classes/rootfs_deb.bbclass8
-rw-r--r--classes/sanity.bbclass66
-rw-r--r--classes/sdl.bbclass2
-rw-r--r--classes/seppuku.bbclass2
-rw-r--r--classes/sip.bbclass2
-rw-r--r--classes/sip3.bbclass2
-rw-r--r--classes/tinderclient.bbclass2
-rw-r--r--conf/bitbake.conf45
-rw-r--r--conf/checksums.ini18
-rw-r--r--conf/distro/angstrom-2008.1.conf5
-rw-r--r--conf/distro/chinook-compat.conf37
-rw-r--r--conf/distro/colinuxoe.conf2
-rw-r--r--conf/distro/generic-uclibc.conf7
-rw-r--r--conf/distro/include/angstrom-2007-for-openmoko-versions.inc4
-rw-r--r--conf/distro/include/angstrom-2008-preferred-versions.inc2
-rw-r--r--conf/distro/include/angstrom.inc4
-rw-r--r--conf/distro/include/moko-autorev.inc5
-rw-r--r--conf/distro/include/preferred-gpe-versions-2.8.inc2
-rw-r--r--conf/distro/include/preferred-om-2008-versions.inc8
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.0.inc6
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.1.inc6
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.2.inc5
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.3.inc5
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.4.inc6
-rw-r--r--conf/distro/include/preferred-xorg-versions.inc4
-rw-r--r--conf/distro/include/sane-srcdates.inc2
-rw-r--r--conf/distro/include/sane-srcrevs.inc34
-rw-r--r--conf/distro/nylon.conf2
-rw-r--r--conf/distro/openmoko.conf11
-rw-r--r--conf/distro/openwrt-sdk.conf4
-rw-r--r--conf/distro/sharprom-compatible.conf2
-rw-r--r--conf/local.conf.sample2
-rw-r--r--conf/machine/cm-x270.conf2
-rw-r--r--conf/machine/h3900.conf2
-rw-r--r--conf/machine/h5000.conf7
-rw-r--r--conf/machine/include/zaurus-2.6.inc2
-rw-r--r--conf/machine/mpc8313e-rdb.conf4
-rw-r--r--conf/machine/mpc8323e-rdb.conf2
-rw-r--r--conf/machine/nokia770.conf2
-rw-r--r--conf/machine/poodle.conf1
-rw-r--r--conf/machine/tosa.conf1
-rw-r--r--conf/sanity.conf12
-rwxr-xr-xcontrib/angstrom/build-feeds.sh2
-rw-r--r--contrib/angstrom/upload-packages.sh35
-rw-r--r--contrib/artwork/.mtn2git_empty (renamed from packages/acpid/acpid-1.0.3/.mtn2git_empty)0
-rw-r--r--contrib/artwork/oe.svg (renamed from contrib/oe.svg)0
-rw-r--r--contrib/artwork/powered-by-oe.svg144
-rw-r--r--packages/acpid/acpid-1.0.3/gcc40.patch13
-rw-r--r--packages/acpid/acpid/.mtn2git_empty (renamed from packages/acpid/acpid-1.0.4/.mtn2git_empty)0
-rw-r--r--packages/acpid/acpid/gcc40.patch (renamed from packages/acpid/acpid-1.0.4/gcc40.patch)2
-rw-r--r--packages/alsa/alsa-state.bb3
-rw-r--r--packages/alsa/alsa-state/akita/asound.state66
-rw-r--r--packages/alsa/alsa-state/fic-gta02/asound.state12
-rw-r--r--packages/alsa/alsa-state/fic-gta02/gsmhandset.state859
-rw-r--r--packages/alsa/alsa-state/fic-gta02/stereoout.state12
-rw-r--r--packages/alsa/alsa-state/spitz/asound.state82
-rw-r--r--packages/altboot/altboot.inc2
-rw-r--r--packages/altboot/altboot_1.0.8+1.0.9_pre1.bb2
-rw-r--r--packages/altboot/altboot_1.0.8.bb2
-rw-r--r--packages/altboot/altboot_1.1.1+wip-SVNR80.bb (renamed from packages/altboot/altboot_1.1.1+wip-SVNR78.bb)4
-rw-r--r--packages/altboot/altboot_svn.bb2
-rw-r--r--packages/amule/.mtn2git_empty (renamed from packages/compositeext/.mtn2git_empty)0
-rw-r--r--packages/amule/amule_2.1.3.bb25
-rw-r--r--packages/amule/files/.mtn2git_empty (renamed from packages/damageext/.mtn2git_empty)0
-rw-r--r--packages/amule/files/parser.patch20
-rw-r--r--packages/angstrom/angstrom-task-sectest.bb4
-rw-r--r--packages/anki/anki_0.4.3.bb4
-rw-r--r--packages/apt/apt-native_0.6.46.2.bb1
-rw-r--r--packages/apt/apt-native_0.7.2.bb2
-rw-r--r--packages/apt/apt-native_0.7.3.bb2
-rw-r--r--packages/apt/files/apt.conf2
-rw-r--r--packages/ark3116/ark3116_0.4.1.bb4
-rw-r--r--packages/asterisk/asterisk_1.4.10.bb20
-rw-r--r--packages/asterisk/asterisk_1.4.11.bb20
-rw-r--r--packages/asterisk/asterisk_1.4.17.bb22
-rw-r--r--packages/at76c503a/at76c503a-modules_0.17.bb19
-rw-r--r--packages/avr-libc/avr-libc_1.0.3.bb9
-rw-r--r--packages/blackbox/.mtn2git_empty (renamed from packages/damageext/damageext-1.0/.mtn2git_empty)0
-rw-r--r--packages/blackbox/blackbox_0.70.1.bb14
-rw-r--r--packages/blackbox/files/.mtn2git_empty (renamed from packages/damageext/files/.mtn2git_empty)0
-rw-r--r--packages/blackbox/files/remove-host-includes.patch19
-rw-r--r--packages/boost/boost_1.33.0.bb33
-rw-r--r--packages/boost/boost_1.33.1.bb33
-rw-r--r--packages/bootsplash/bootsplash-native_3.0.7.bb2
-rw-r--r--packages/busybox/busybox-1.9.1/adduser-longops.patch55
-rw-r--r--packages/busybox/busybox-1.9.1/defconfig777
-rw-r--r--packages/busybox/busybox-1.9.1/sort-z-nul.patch50
-rw-r--r--packages/busybox/busybox-1.9.1/udhcpscript.patch17
-rw-r--r--packages/busybox/busybox.inc127
-rw-r--r--packages/busybox/busybox_1.9.1.bb97
-rw-r--r--packages/busybox/files/run_parts.c (renamed from packages/busybox/busybox-1.7.2/run_parts.c)0
-rw-r--r--packages/bvi/bvi-1.3.1/no-strip.patch13
-rw-r--r--packages/bvi/bvi_1.3.1.bb4
-rw-r--r--packages/cairo/cairo-1.4.14/.mtn2git_empty (renamed from packages/dbus/dbus-1.1.4/.mtn2git_empty)0
-rw-r--r--packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch32
-rw-r--r--packages/cairo/cairo_1.4.14.bb9
-rw-r--r--packages/cairo/libsvg-cairo_0.1.5.bb2
-rw-r--r--packages/cairo/libsvg-cairo_0.1.6.bb2
-rw-r--r--packages/cairo/xsvg_cvs.bb2
-rw-r--r--packages/callweaver/callweaver_1.2.0-rc5.bb4
-rw-r--r--packages/classpath/classpath-minimal_0.96.1.bb2
-rw-r--r--packages/classpath/classpath-minimal_0.97.bb15
-rw-r--r--packages/classpath/classpath.inc3
-rw-r--r--packages/classpath/classpath_0.96.1.bb6
-rw-r--r--packages/classpath/classpath_0.97.bb18
-rw-r--r--packages/compositeext/compositeext_2.0.bb16
-rw-r--r--packages/compositeext/compositeext_cvs.bb19
-rw-r--r--packages/curl/curl_7.16.4.bb5
-rw-r--r--packages/curl/files/.mtn2git_empty (renamed from packages/ffmpeg/ffmpeg/.mtn2git_empty)0
-rw-r--r--packages/curl/files/pkgconfig_fix.patch14
-rw-r--r--packages/damageext/damageext-1.0/autofoo.patch18
-rw-r--r--packages/damageext/damageext_1.0.bb18
-rw-r--r--packages/damageext/damageext_cvs.bb19
-rw-r--r--packages/damageext/files/autofoo.patch28
-rw-r--r--packages/dbus/dbus-1.1.20/.mtn2git_empty (renamed from packages/fixesext/.mtn2git_empty)0
-rw-r--r--packages/dbus/dbus-1.1.20/cross.patch (renamed from packages/dbus/dbus-1.1.4/cross.patch)0
-rw-r--r--packages/dbus/dbus-1.1.20/dbus-1.init (renamed from packages/dbus/dbus-1.1.4/dbus-1.init)0
-rw-r--r--packages/dbus/dbus-1.1.20/fix-dbus-launch-x11.patch14
-rw-r--r--packages/dbus/dbus-1.1.20/fix-install-daemon.patch (renamed from packages/dbus/dbus-1.1.4/fix-install-daemon.patch)0
-rw-r--r--packages/dbus/dbus-1.1.20/tmpdir.patch (renamed from packages/dbus/dbus-1.1.4/tmpdir.patch)0
-rw-r--r--packages/dbus/dbus-native_1.0.2.bb4
-rw-r--r--packages/dbus/dbus-native_1.1.20.bb (renamed from packages/dbus/dbus-native_1.1.4.bb)3
-rw-r--r--packages/dbus/dbus.inc48
-rw-r--r--packages/dbus/dbus_1.0.2.bb6
-rw-r--r--packages/dbus/dbus_1.1.20.bb5
-rw-r--r--packages/dbus/dbus_1.1.4.bb3
-rw-r--r--packages/dejagnu/dejagnu-qemu_1.0.bb2
-rw-r--r--packages/djvulibre/djvulibre_3.5.20.bb (renamed from packages/djvulibre/djvulibre_3.5.19.bb)16
-rw-r--r--packages/docbook-utils/docbook-utils-native_0.6.14.bb3
-rw-r--r--packages/dtnrg/dtn_2.5.0.bb19
-rw-r--r--packages/dtnrg/files/.mtn2git_empty (renamed from packages/gaim/.mtn2git_empty)0
-rw-r--r--packages/dtnrg/files/configure_fix.patch22
-rw-r--r--packages/e17/e-wm_cvs.bb4
-rw-r--r--packages/efl1/ecore-native_cvs.bb3
-rw-r--r--packages/efl1/ecore_cvs.bb3
-rw-r--r--packages/emacs/emacs_cvs.bb2
-rw-r--r--packages/enca/enca_1.9.bb2
-rw-r--r--packages/erlang/erlang_R11B.1.bb2
-rw-r--r--packages/fbset/fbset-init.bb19
-rw-r--r--packages/fbset/fbset-init/.mtn2git_empty (renamed from packages/gaim/files/.mtn2git_empty)0
-rw-r--r--packages/fbset/fbset-init/default-fbset3
-rwxr-xr-xpackages/fbset/fbset-init/fbset.sh4
-rw-r--r--packages/fbset/fbset-modes.bb2
-rw-r--r--packages/fbset/fbset-modes/qemuarm/.mtn2git_empty (renamed from packages/gaim/pidgin/.mtn2git_empty)0
-rw-r--r--packages/fbset/fbset-modes/qemuarm/fb.modes17
-rw-r--r--packages/ffmpeg/ffmpeg-0.4.9-pre1/common.patch13
-rw-r--r--packages/ffmpeg/ffmpeg-0.4.9-pre1/gcc4.patch146
-rw-r--r--packages/ffmpeg/ffmpeg-0.4.9-pre1/soname.patch36
-rw-r--r--packages/ffmpeg/ffmpeg.inc35
-rw-r--r--packages/ffmpeg/ffmpeg/common.patch13
-rw-r--r--packages/ffmpeg/ffmpeg/configure.patch87
-rw-r--r--packages/ffmpeg/ffmpeg/soname.patch65
-rw-r--r--packages/ffmpeg/ffmpeg_0.4.9-pre1.bb123
-rw-r--r--packages/ffmpeg/ffmpeg_svn.bb184
-rw-r--r--packages/findutils/findutils_4.2.29.bb2
-rw-r--r--packages/fixesext/fixesext_2.0.1.bb16
-rw-r--r--packages/fixesext/fixesext_cvs.bb19
-rw-r--r--packages/fltk/efltk_2.0.7.bb63
-rw-r--r--packages/fltk/fltk_1.1.4.bb6
-rw-r--r--packages/fltk/fltk_1.1.7.bb6
-rw-r--r--packages/free42/free42-vga_1.4.41.bb (renamed from packages/free42/free42-vga_1.4.36.bb)4
-rw-r--r--packages/freesmartphone/enter_0.0.2.bb10
-rw-r--r--packages/freesmartphone/gsm0710muxd_svn.bb9
-rw-r--r--packages/freesmartphone/pyneod_svn.bb66
-rw-r--r--packages/freesmartphone/pyneog_svn.bb31
-rw-r--r--packages/freesmartphone/python-fso-pyproto_svn.bb13
-rw-r--r--packages/freesmartphone/task-pyneo.bb22
-rw-r--r--packages/frodo/frodo-4.2/m4.patch183
-rw-r--r--packages/frodo/frodo_4.2.bb5
-rw-r--r--packages/fs/fs_cvs.bb6
-rw-r--r--packages/gammu/gammu_1.17.0.bb2
-rw-r--r--packages/gcc/gcc-4.1.1/zecke-xgcc-cpp.patch4
-rw-r--r--packages/gcc/gcc-4.1.2/zecke-xgcc-cpp.patch4
-rw-r--r--packages/gcc/gcc-4.2.1/zecke-no-host-includes.patch13
-rw-r--r--packages/gcc/gcc-4.2.1/zecke-xgcc-cpp.patch4
-rw-r--r--packages/gcc/gcc-4.2.2/intermask-bigendian.patch24
-rw-r--r--packages/gcc/gcc-4.2.2/zecke-xgcc-cpp.patch4
-rw-r--r--packages/gcc/gcc-cross-initial.inc2
-rw-r--r--packages/gcc/gcc-cross-sdk_3.4.3.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_3.4.4.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.0.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.1.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.1.2.bb2
-rw-r--r--packages/gcc/gcc-cross-sdk_4.2.2.bb2
-rw-r--r--packages/gcc/gcc-cross_3.4.3.bb2
-rw-r--r--packages/gcc/gcc-cross_3.4.4.bb2
-rw-r--r--packages/gcc/gcc-cross_4.0.0.bb2
-rw-r--r--packages/gcc/gcc-cross_4.0.2.bb2
-rw-r--r--packages/gcc/gcc-cross_4.1.0.bb2
-rw-r--r--packages/gcc/gcc-cross_4.1.1.bb2
-rw-r--r--packages/gcc/gcc-cross_4.1.2.bb2
-rw-r--r--packages/gcc/gcc-cross_4.2.1.bb2
-rw-r--r--packages/gcc/gcc-cross_4.2.2.bb2
-rw-r--r--packages/gcc/gcc-package.inc148
-rw-r--r--packages/gcc/gcc3-build-cross.inc11
-rw-r--r--packages/gcc/gcc3-build-sdk.inc4
-rw-r--r--packages/gcc/gcc4-build-sdk.inc11
-rw-r--r--packages/gcc/gcc_4.0.0.bb2
-rw-r--r--packages/gcc/gcc_4.0.2.bb2
-rw-r--r--packages/gcc/gcc_4.1.0.bb3
-rw-r--r--packages/gcc/gcc_4.1.1.bb2
-rw-r--r--packages/gcc/gcc_4.1.2.bb2
-rw-r--r--packages/gcc/gcc_4.2.1.bb20
-rw-r--r--packages/gcc/gcc_4.2.2.bb26
-rw-r--r--packages/gdb/gdb-6.6/.mtn2git_empty (renamed from packages/gpe-login/gpe-login-0.90/.mtn2git_empty)0
-rw-r--r--packages/gdb/gdb-6.6/early_debug_in_nptl.patch306
-rw-r--r--packages/gdb/gdb-cross_6.6.bb3
-rw-r--r--packages/gdb/gdb_6.6.bb4
-rw-r--r--packages/glibc/eglibc-initial_svn.bb8
-rw-r--r--packages/glibc/eglibc_svn.bb4
-rw-r--r--packages/glibc/files/glibc-2.5-local-dynamic-resolvconf.patch83
-rw-r--r--packages/glibc/glibc-2.4/zecke-sane-readelf.patch5
-rw-r--r--packages/glibc/glibc-cvs-2.3.5/zecke-sane-readelf.patch5
-rw-r--r--packages/glibc/glibc-package.bbclass7
-rw-r--r--packages/glibc/glibc_2.5.bb4
-rw-r--r--packages/glibc/glibc_2.6.1.bb4
-rw-r--r--packages/gnash/gnash.inc79
-rw-r--r--packages/gnash/gnash_0.8.0.bb80
-rw-r--r--packages/gnash/gnash_0.8.1.bb1
-rw-r--r--packages/gnome/gnome-desktop.inc16
-rw-r--r--packages/gnome/gnome-desktop_2.10.2.bb18
-rw-r--r--packages/gnome/gnome-desktop_2.16.1.bb22
-rw-r--r--packages/gnome/gnome-desktop_2.18.3.bb21
-rw-r--r--packages/gnome/gnome-desktop_2.7.90.bb13
-rw-r--r--packages/gnome/gnome-doc-utils.inc16
-rw-r--r--packages/gnome/gnome-doc-utils_0.10.3.bb15
-rw-r--r--packages/gnome/gnome-doc-utils_0.12.0.bb15
-rw-r--r--packages/gnome/gnome-doc-utils_0.7.1.bb15
-rw-r--r--packages/gnutls/gnutls-1.6.3/configure_madness.patch31
-rw-r--r--packages/gnutls/gnutls.inc6
-rw-r--r--packages/gnutls/gnutls_1.4.5.bb2
-rw-r--r--packages/gnutls/gnutls_1.6.3.bb2
-rw-r--r--packages/gpe-login/files/chvt-keylaunch.patch13
-rw-r--r--packages/gpe-login/files/lock-on-supend.patch1
-rw-r--r--packages/gpe-login/gpe-login-0.86/.mtn2git_empty (renamed from packages/gsm/files/fic-gta01/.mtn2git_empty)0
-rw-r--r--packages/gpe-login/gpe-login-0.86/chvt-keylaunch.patch11
-rw-r--r--packages/gpe-login/gpe-login-0.90/chvt-keylaunch.patch12
-rw-r--r--packages/gpe-login/gpe-login_0.91.bb26
-rw-r--r--packages/gpephone/linphone_1.5.0.bb4
-rw-r--r--packages/gpgme/gpgme.inc27
-rw-r--r--packages/gpgme/gpgme_1.0.0.bb23
-rw-r--r--packages/gpgme/gpgme_1.0.3.bb23
-rw-r--r--packages/gpgme/gpgme_1.1.4.bb28
-rw-r--r--packages/gpsd/gpsd.inc2
-rw-r--r--packages/gpsdrive/gpsdrive-2.10pre4/.mtn2git_empty (renamed from packages/kphonepi/.mtn2git_empty)0
-rw-r--r--packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch128
-rw-r--r--packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch18
-rw-r--r--packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch96
-rw-r--r--packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop10
-rw-r--r--packages/gpsdrive/gpsdrive_2.10pre2.bb2
-rw-r--r--packages/gpsdrive/gpsdrive_2.10pre3.bb2
-rw-r--r--packages/gpsdrive/gpsdrive_2.10pre4.bb42
-rw-r--r--packages/gsm/files/default1
-rw-r--r--packages/gsm/files/fic-gta01/gsmd49
-rw-r--r--packages/gsm/files/gsmd1
-rw-r--r--packages/gsm/gsmd.inc2
-rw-r--r--packages/gstreamer/gst-plugin-pulse_0.9.7.bb2
-rw-r--r--packages/gtk+/gdk-pixbuf_2.10.14.bb2
-rw-r--r--packages/gtk+/gtk+-directfb_2.10.14.bb2
-rw-r--r--packages/gtk-webcore/files/path_fixes.patch15
-rw-r--r--packages/gtk-webcore/osb-nrcit/.mtn2git_empty (renamed from packages/ktimetrackerpi/.mtn2git_empty)0
-rw-r--r--packages/gtk-webcore/osb-nrcit/pkgconfig_fix.patch13
-rw-r--r--packages/gtk-webcore/osb-nrcit_svn.bb3
-rw-r--r--packages/gtk-webcore/osb-nrcore.inc7
-rw-r--r--packages/gtk-webcore/osb-nrcore_svn.bb5
-rw-r--r--packages/gxine/gxine_0.4.1.bb2
-rw-r--r--packages/gxine/gxine_0.4.1enhanced.bb2
-rw-r--r--packages/icewm/icewm_1.2.20.bb3
-rw-r--r--packages/icewm/icewm_1.2.30.bb3
-rw-r--r--packages/ifplugd/files/nobash.patch8
-rw-r--r--packages/ifplugd/ifplugd_0.20.bb13
-rw-r--r--packages/ifplugd/ifplugd_0.25.bb14
-rw-r--r--packages/images/initramfs-bootmenu-image.bb2
-rw-r--r--packages/images/moko-underground-image.bb34
-rw-r--r--packages/images/openmoko-python-devel-image.bb3
-rw-r--r--packages/images/x11-gpe-java-image.bb1
-rw-r--r--packages/initrdscripts/devimage/devimage.sh5
-rw-r--r--packages/initrdscripts/devimage_0.1.bb8
-rw-r--r--packages/initrdscripts/files/10-initfs.sh1
-rw-r--r--packages/initrdscripts/files/30-bootmenu.sh15
-rw-r--r--packages/initrdscripts/files/85-blockboot.sh6
-rw-r--r--packages/initrdscripts/files/87-kexecboot.sh19
-rw-r--r--packages/initrdscripts/files/init.sh12
-rw-r--r--packages/initrdscripts/initramfs-kexec_1.0.bb6
-rw-r--r--packages/initrdscripts/initramfs-module-block_1.0.bb2
-rw-r--r--packages/initrdscripts/initramfs-module-bootmenu_1.0.bb2
-rw-r--r--packages/initrdscripts/initramfs-module-initfs_1.0.bb2
-rw-r--r--packages/initrdscripts/initramfs-module-kexecboot_1.0.bb12
-rw-r--r--packages/initrdscripts/initramfs-uniboot_1.0.bb3
-rw-r--r--packages/initscripts/initscripts-1.0/banner2
-rw-r--r--packages/initscripts/initscripts_1.0.bb2
-rw-r--r--packages/ipaq-boot-params/files/h5000/params2
-rw-r--r--packages/ipaq-boot-params/files/params2
-rw-r--r--packages/ipaq-boot-params/ipaq-boot-params.bb3
-rw-r--r--packages/iperf/iperf_2.0.2.bb2
-rw-r--r--packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb2
-rw-r--r--packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch9
-rw-r--r--packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch105
-rw-r--r--packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb2
-rw-r--r--packages/ipkg/files/enable_debversion.patch111
-rw-r--r--packages/ipkg/files/update_version_comparision.patch84
-rw-r--r--packages/ipkg/ipkg-native_0.99.163.bb4
-rw-r--r--packages/ipkg/ipkg.inc2
-rw-r--r--packages/ipkg/ipkg_0.99.163.bb2
-rw-r--r--packages/joe/joe_3.1.bb4
-rw-r--r--packages/kdepimpi/files/gcc4.patch3
-rw-r--r--packages/kdepimpi/files/gcc42.patch6
-rw-r--r--packages/kdepimpi/files/qt-mt.patch6
-rw-r--r--packages/kdepimpi/kdepimpi-qte.inc163
-rw-r--r--packages/kdepimpi/kdepimpi-x11.inc70
-rw-r--r--packages/kdepimpi/kdepimpi-x11/.mtn2git_empty (renamed from packages/libpcap/libpcap-0.9.6/.mtn2git_empty)0
-rw-r--r--packages/kdepimpi/kdepimpi-x11/kabc.patch24
-rw-r--r--packages/kdepimpi/kdepimpi-x11/kammu.patch18
-rw-r--r--packages/kdepimpi/kdepimpi-x11/korganizer.patch24
-rw-r--r--packages/kdepimpi/kdepimpi-x11/libkcal.patch16
-rw-r--r--packages/kdepimpi/kdepimpi-x11/nomail.patch18
-rw-r--r--packages/kdepimpi/kdepimpi-x11_2.2.3.bb10
-rw-r--r--packages/kdepimpi/kphonepi_1.0.0.bb (renamed from packages/kphonepi/kphonepi_1.0.0.bb)0
-rw-r--r--packages/kdepimpi/ktimetrackerpi_0.9.7.bb (renamed from packages/ktimetrackerpi/ktimetrackerpi_0.9.7.bb)0
-rw-r--r--packages/kexec/files/kexec-klibc.patch140
-rw-r--r--packages/kexec/kexec-tools-static_1.101.bb15
-rw-r--r--packages/kexec/kexec-tools.inc2
-rw-r--r--packages/kexec/kexec-tools_1.101.bb4
-rw-r--r--packages/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch63
-rw-r--r--packages/klibc/files/install.patch42
-rw-r--r--packages/klibc/files/klibc_kexecsyscall.patch11
-rw-r--r--packages/klibc/files/staging.patch144
-rw-r--r--packages/klibc/klibc-common.inc49
-rw-r--r--packages/klibc/klibc-utils-static_1.5.bb54
-rw-r--r--packages/klibc/klibc.inc146
-rw-r--r--packages/klibc/klibc_1.1.1.bb3
-rw-r--r--packages/klibc/klibc_1.5.bb (renamed from packages/klibc/klibc_0.190.bb)1
-rw-r--r--packages/kobodeluxe/files/fighter-48.xpm442
-rw-r--r--packages/kobodeluxe/kobodeluxe_0.5.1.bb10
-rw-r--r--packages/konqueror/konqueror-embedded_20060404.bb6
-rw-r--r--packages/konqueror/konqueror-embedded_20070212.bb6
-rw-r--r--packages/lemon/lemon-native_3.3.5.bb9
-rw-r--r--packages/lemon/lemon-native_3.5.4.bb11
-rw-r--r--packages/lemon/lemon.inc1
-rw-r--r--packages/lemon/lemon_3.5.4.bb (renamed from packages/lemon/lemon_3.3.5.bb)7
-rw-r--r--packages/libaio/libaio_0.3.103.bb4
-rw-r--r--packages/libgcrypt/files/.mtn2git_empty (renamed from packages/maemo4/hildon-1/.mtn2git_empty)0
-rw-r--r--packages/libgcrypt/files/add-pkgconfig-support.patch62
-rw-r--r--packages/libgcrypt/libgcrypt-1.4.0/.mtn2git_empty (renamed from packages/maemo4/libconic/.mtn2git_empty)0
-rw-r--r--packages/libgcrypt/libgcrypt-1.4.0/add-pkgconfig-support.patch49
-rw-r--r--packages/libgcrypt/libgcrypt.inc (renamed from packages/libgcrypt/libgcrypt_1.2.3.bb)14
-rw-r--r--packages/libgcrypt/libgcrypt_1.2.0.bb29
-rw-r--r--packages/libgcrypt/libgcrypt_1.2.1.bb28
-rw-r--r--packages/libgcrypt/libgcrypt_1.2.2.bb28
-rw-r--r--packages/libgcrypt/libgcrypt_1.2.4.bb3
-rw-r--r--packages/libgcrypt/libgcrypt_1.4.0.bb23
-rw-r--r--packages/libgsm/libgsm_1.0.10.bb18
-rw-r--r--packages/libidl/libidl_0.8.2.bb2
-rw-r--r--packages/libidl/libidl_0.8.3.bb8
-rw-r--r--packages/libidl/libidl_0.8.6.bb3
-rw-r--r--packages/libjson/.mtn2git_empty (renamed from packages/nonworking/apache/.mtn2git_empty)0
-rw-r--r--packages/libjson/libjson_0.6.bb15
-rw-r--r--packages/libmatchbox/files/configure_fixes.patch79
-rw-r--r--packages/libmatchbox/libmatchbox_1.2.bb6
-rw-r--r--packages/libmatchbox/libmatchbox_1.3.bb6
-rw-r--r--packages/libmatchbox/libmatchbox_1.4.bb6
-rw-r--r--packages/libmatchbox/libmatchbox_1.5.bb11
-rw-r--r--packages/libmatchbox/libmatchbox_1.6.bb11
-rw-r--r--packages/libmatchbox/libmatchbox_1.9.bb8
-rw-r--r--packages/libmrss/files/better-parse-url-r0.patch7
-rw-r--r--packages/libpcap/libpcap-0.9.8/.mtn2git_empty (renamed from packages/nonworking/apache/apache-2.0.47/.mtn2git_empty)0
-rw-r--r--packages/libpcap/libpcap-0.9.8/shared.patch (renamed from packages/libpcap/libpcap-0.9.6/shared.patch)0
-rw-r--r--packages/libpcap/libpcap_0.9.8.bb (renamed from packages/libpcap/libpcap_0.9.6.bb)0
-rw-r--r--packages/libpixman/libpixman_0.1.5.bb2
-rw-r--r--packages/libpixman/libpixman_0.1.6.bb2
-rw-r--r--packages/libpixman/libpixman_cvs.bb2
-rw-r--r--packages/libpng/libpng-native_1.2.19.bb14
-rw-r--r--packages/libpng/libpng_1.2.19.bb50
-rw-r--r--packages/libsdl/files/explicit-extern-C.patch (renamed from packages/libsdl/libsdl-qpe-1.2.9/explicit-extern-C.patch)0
-rw-r--r--packages/libsdl/files/fixlibs-1.2.9.patch (renamed from packages/libsdl/libsdl-qpe-1.2.9/fixlibs-1.2.9.patch)0
-rw-r--r--packages/libsdl/files/kill-stdc++-1.2.9.patch (renamed from packages/libsdl/libsdl-qpe-1.2.9/kill-stdc++-1.2.9.patch)0
-rw-r--r--packages/libsdl/files/pagesize.patch15
-rw-r--r--packages/libsdl/files/pygame-1.2.9.patch (renamed from packages/libsdl/libsdl-qpe-1.2.9/pygame-1.2.9.patch)0
-rw-r--r--packages/libsdl/files/remove_path.patch18
-rw-r--r--packages/libsdl/libsdl-directfb_1.2.9.bb68
-rw-r--r--packages/libsdl/libsdl-qpe_1.2.9.bb64
-rw-r--r--packages/libsdl/libsdl-x11_1.2.9.bb49
-rw-r--r--packages/libsdl/libsdl.inc (renamed from packages/libsdl/libsdl-x11_1.2.7.bb)26
-rw-r--r--packages/libxine/libxine-fb_1.0.bb6
-rw-r--r--packages/libxine/libxine-x11_1.0.bb10
-rw-r--r--packages/libxine/libxine_1.1.0.bb6
-rw-r--r--packages/libxslt/libxslt_1.1.17.bb4
-rw-r--r--packages/libzvbi/libzvbi_0.2.22.bb3
-rw-r--r--packages/libzvbi/libzvbi_0.2.25.bb5
-rw-r--r--packages/lighttpd/lighttpd/src-server.c.patch3
-rw-r--r--packages/linphone/linphone_1.3.99.8.bb6
-rw-r--r--packages/linphone/linphone_1.6.0.bb6
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/.mtn2git_empty (renamed from packages/nonworking/apache/apache/.mtn2git_empty)0
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/270-usb-gadget-udc.patch2739
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/arch-config.patch62
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpu.patch117
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpufreq.patch403
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/board-init.patch81
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bugfix-i2c-include.patch12
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bugfix-mmc-clock.patch14
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bugfix-pxa-cpufreq.patch64
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bugfix-serial-interrupt.patch25
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/bugfix-serial-register-status.patch69
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/compact-flash.patch287
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/compile-fix-pxa_cpufreq.patch13
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/cpufreq-better-freqs.patch53
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/cpufreq-fixup.patch26
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/cpufreq-ondemand-by-default.patch42
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/disable-uncompress-message.patch32
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/ethernet-config.patch26
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/flash.patch171
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-asoc.patch224
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/.mtn2git_empty (renamed from packages/nonworking/apache/apache/apache-2.0.48/.mtn2git_empty)0
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig1619
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig-nofb1619
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/.mtn2git_empty (renamed from packages/nonworking/apache/apache/files/.mtn2git_empty)0
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig1791
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig-nofb1791
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-fb-logo.patch10455
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-mmc.patch33
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-usb-host.patch366
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/header.patch170
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/mach-types-fix.patch13
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/misalignment-handling.patch38
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/mmc-card-detect.patch80
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/modular-init-bluetooth.patch108
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/modular-init-smc91x.patch203
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/modular-init-usb-gadget.patch106
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/pcm-gcc-411-bugfix.patch60
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/proc-gpio.patch348
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/pxa-regs-additions.patch28
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/pxa-regs-fixup.patch12
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/pxa2xx_udc.patch65
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/pxafb-18bpp-mode.patch433
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/pxafb-definition.patch180
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/serial-divisor.patch31
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/serial-ether-addr.patch62
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/smc-ether-addr.patch62
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/smc911x-fixup.patch392
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/tsc2003-config.diff31
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/tsc2003.c699
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/uImage-in-own-partition.patch56
-rw-r--r--packages/linux/gumstix-kernel-2.6.21/ucb1400-ac97-audio.patch309
-rw-r--r--packages/linux/gumstix-kernel_2.6.21.bb54
-rw-r--r--packages/linux/gumstix-linux.inc74
-rw-r--r--packages/linux/linux-2.6.23/mpc8313e-rdb/defconfig84
-rw-r--r--packages/linux/linux-2.6.23/mpc8313e-rdb/mpc8313e-rdb-leds.patch10
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/.mtn2git_empty (renamed from packages/nonworking/e17/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/0001-cm-x270-match-type.patch25
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/0002-ramdisk_load.patch81
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/0003-mmcsd_large_cards-r0.patch36
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/0004-cm-x270-nand-simplify-name.patch25
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/0005-add-display-set-default-16bpp.patch82
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/0006-updated-defconfig.patch1325
-rw-r--r--packages/linux/linux-2.6.24/cm-x270/defconfig1202
-rw-r--r--packages/linux/linux-2.6.24/mpc8313e-rdb/defconfig260
-rw-r--r--packages/linux/linux-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch53
-rw-r--r--packages/linux/linux-2.6.24/mpc8313e-rdb/mpc831x-nand.patch1807
-rw-r--r--packages/linux/linux-2.6.24/powerpc-clockres.patch47
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch144
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig3
-rw-r--r--packages/linux/linux-handhelds-2.6.inc27
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb4
-rw-r--r--packages/linux/linux-ixp4xx/defconfig-2.6.242
-rw-r--r--packages/linux/linux-ixp4xx/nslu2/defconfig-2.6.242
-rw-r--r--packages/linux/linux-nokia800-2.6.21-osso71/.mtn2git_empty (renamed from packages/nonworking/efl/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-nokia800-2.6.21-osso71/nokia800/.mtn2git_empty (renamed from packages/nonworking/efl/e/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig1585
-rw-r--r--packages/linux/linux-nokia800_2.6.21-osso71.bb16
-rw-r--r--packages/linux/linux-rp-2.6.24/defconfig-qemux86106
-rw-r--r--packages/linux/linux-rp-2.6.24/pxa27x-resume.patch41
-rw-r--r--packages/linux/linux-rp-2.6.24/pxafb.patch13
-rw-r--r--packages/linux/linux-rp-2.6.24/spitz_h_rewrite.patch497
-rw-r--r--packages/linux/linux-rp_2.6.24.bb5
-rw-r--r--packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch44
-rw-r--r--packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch554
-rw-r--r--packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig434
-rw-r--r--packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch207
-rw-r--r--packages/linux/linux-rt-2.6.24/powerpc-clockres.patch47
-rw-r--r--packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch12
-rw-r--r--packages/linux/linux-rt_2.6.24.bb20
-rw-r--r--packages/linux/linux_2.6.23.bb3
-rw-r--r--packages/linux/linux_2.6.24.bb69
-rw-r--r--packages/ltp/ltp-20080229/.mtn2git_empty (renamed from packages/nonworking/efl/ecore/.mtn2git_empty)0
-rw-r--r--packages/ltp/ltp-20080229/ballista.patch22
-rw-r--r--packages/ltp/ltp-20080229/cross-compile.patch57
-rw-r--r--packages/ltp/ltp-20080229/ltp-run4
-rw-r--r--packages/ltp/ltp-20080229/posix_shell_compat.patch33
-rw-r--r--packages/ltp/ltp-20080229/runltp-path.patch24
-rw-r--r--packages/ltp/ltp_20080229.bb67
-rw-r--r--packages/ltrace/ltrace_0.4.bb2
-rw-r--r--packages/madwifi/madwifi-ng_r.inc2
-rw-r--r--packages/maemo/xpext_1.0-5.bb9
-rw-r--r--packages/maemo/xsp_1.0.0-8.bb9
-rw-r--r--packages/maemo4/hildon-1/buttonbox.patch11
-rw-r--r--packages/maemo4/hildon-base-lib_0.11.1.bb13
-rw-r--r--packages/maemo4/hildon-lgpl_0.12.1.bb10
-rw-r--r--packages/maemo4/hildon-libs_0.15.1.bb26
-rw-r--r--packages/maemo4/hildon-thumbnail.inc19
-rw-r--r--packages/maemo4/hildon-thumbnail_0.11.bb25
-rw-r--r--packages/maemo4/hildon-thumbnail_0.14.bb10
-rw-r--r--packages/maemo4/libconic/dbus-api-update.patch19
-rw-r--r--packages/maemo4/libconic_0.13.bb10
-rw-r--r--packages/maemo4/libgpsbt_0.1.bb4
-rw-r--r--packages/maemo4/libgpsmgr_0.1.bb4
-rw-r--r--packages/maemo4/libhildon.inc (renamed from packages/maemo4/hildon-1_svn.bb)7
-rw-r--r--packages/maemo4/libhildon/.mtn2git_empty (renamed from packages/nonworking/efl/edb-native/.mtn2git_empty)0
-rw-r--r--packages/maemo4/libhildon/libhildon-buildfix.patch16
-rw-r--r--packages/maemo4/libhildon_1.99.0.bb11
-rw-r--r--packages/maemo4/libhildonfm.inc22
-rw-r--r--packages/maemo4/libhildonfm/libhildonfm-gtkmaemo-ifdef.patch (renamed from packages/maemo4/libhildonfm/hildonfm-ifdef-maemogtk.diff)123
-rw-r--r--packages/maemo4/libhildonfm_1.9.41.bb30
-rw-r--r--packages/maemo4/libhildonfm_1.9.46.bb9
-rw-r--r--packages/maemo4/libhildonhelp.inc17
-rw-r--r--packages/maemo4/libhildonhelp_1.9.1.bb23
-rw-r--r--packages/maemo4/libhildonhelp_1.9.6.bb6
-rw-r--r--packages/maemo4/libhildonmime.inc17
-rw-r--r--packages/maemo4/libhildonmime_1.10.0.bb9
-rw-r--r--packages/maemo4/libhildonmime_1.9.5.bb19
-rw-r--r--packages/maemo4/libosso-gsf_1.11.10.4.bb7
-rw-r--r--packages/maemo4/libosso.inc19
-rw-r--r--packages/maemo4/libosso/.mtn2git_empty (renamed from packages/nonworking/efl/epsilon/.mtn2git_empty)0
-rw-r--r--packages/maemo4/libosso/libosso-buildfix.patch64
-rw-r--r--packages/maemo4/libosso_1.20.bb22
-rw-r--r--packages/maemo4/libosso_2.13.bb16
-rw-r--r--packages/maemo4/mce-dev.inc (renamed from packages/maemo4/mce-dev_1.5.6.bb)14
-rw-r--r--packages/maemo4/mce-dev_1.6.3.bb7
-rw-r--r--packages/maemo4/osso-gnome-vfs2/.mtn2git_empty (renamed from packages/nonworking/efl/esmart/.mtn2git_empty)0
-rw-r--r--packages/maemo4/osso-gnome-vfs2/gnome-vfs-no-kerberos.patch51
-rw-r--r--packages/maemo4/osso-gnome-vfs2_2.16.3.bb48
-rw-r--r--packages/maemo4/osso-gwconnect.inc (renamed from packages/maemo4/osso-gwconnect_1.0.8.bb)9
-rw-r--r--packages/maemo4/osso-gwconnect_1.0.12.bb8
-rw-r--r--packages/maemo4/osso-ic-oss_1.0.4.bb6
-rw-r--r--packages/maemo4/osso-thumbnail_0.7.bb22
-rw-r--r--packages/maemo4/outo_0.1.1.bb14
-rw-r--r--packages/matchbox-desktop/matchbox-desktop-0.9.1/pkgconfig_fix.patch15
-rw-r--r--packages/matchbox-desktop/matchbox-desktop_0.9.1.bb3
-rw-r--r--packages/matchbox-wm/matchbox-wm/configure_fix.patch13
-rw-r--r--packages/matchbox-wm/matchbox-wm_0.8.3.bb26
-rw-r--r--packages/matchbox-wm/matchbox-wm_0.8.4.bb26
-rw-r--r--packages/matchbox-wm/matchbox-wm_0.9.2.bb30
-rw-r--r--packages/matchbox-wm/matchbox-wm_0.9.3.bb32
-rw-r--r--packages/matchbox-wm/matchbox-wm_0.9.4.bb30
-rw-r--r--packages/matchbox-wm/matchbox-wm_0.9.bb25
-rw-r--r--packages/matchbox-wm/matchbox-wm_1.2.bb8
-rw-r--r--packages/meta/meta-toolchain.bb103
-rw-r--r--packages/meta/package-index.bb1
-rw-r--r--packages/meta/slugos-packages.bb5
-rw-r--r--packages/mono/README2
-rw-r--r--packages/mono/mono-mcs-intermediate.inc4
-rw-r--r--packages/mono/mono_1.2.5.1.bb2
-rw-r--r--packages/mono/mono_1.2.6.bb2
-rw-r--r--packages/mono/mono_svn.bb2
-rw-r--r--packages/motion/motion_3.2.6.bb12
-rw-r--r--packages/motion/motion_3.2.9.bb19
-rw-r--r--packages/mozilla/firefox.inc9
-rw-r--r--packages/mozilla/firefox_1.0.7.bb9
-rw-r--r--packages/mozilla/firefox_2.0.0.3.bb26
-rw-r--r--packages/mpfr/mpfr_2.1.1.bb7
-rw-r--r--packages/mpfr/mpfr_2.3.0.bb6
-rw-r--r--packages/mpfr/mpfr_svn.bb6
-rw-r--r--packages/mtd/mtd-utils-native.inc1
-rw-r--r--packages/mtd/mtd-utils-native_1.1.0.bb5
-rw-r--r--packages/mtd/mtd-utils_1.0.0+git.bb7
-rw-r--r--packages/mtd/mtd-utils_1.1.0.bb48
-rw-r--r--packages/multitap-pad/.mtn2git_empty (renamed from packages/nonworking/efl/evas/.mtn2git_empty)0
-rw-r--r--packages/multitap-pad/files/.mtn2git_empty (renamed from packages/nonworking/efl/ewl/.mtn2git_empty)0
-rw-r--r--packages/multitap-pad/files/80multitappad20
-rw-r--r--packages/multitap-pad/multitap-pad_svn.bb47
-rw-r--r--packages/navit/navit_0.0.4.bb (renamed from packages/navit/navit_0.0.3.bb)2
-rw-r--r--packages/navit/navit_cvs.bb6
-rw-r--r--packages/netatalk/netatalk_2.0.3.bb6
-rw-r--r--packages/netsurf/.mtn2git_empty (renamed from packages/nonworking/efl/files/.mtn2git_empty)0
-rw-r--r--packages/netsurf/files/.mtn2git_empty (renamed from packages/nonworking/kgrok/.mtn2git_empty)0
-rw-r--r--packages/netsurf/files/netsurf.desktop10
-rw-r--r--packages/netsurf/netsurf_svn.bb43
-rw-r--r--packages/nonworking/apache/apache-2.0.47/configure.patch903
-rwxr-xr-xpackages/nonworking/apache/apache-2.0.47/init73
-rw-r--r--packages/nonworking/apache/apache-2.0.47/pcre-configure.patch36
-rw-r--r--packages/nonworking/apache/apache/apache-2.0.48/configure.patch390
-rw-r--r--packages/nonworking/apache/apache/apache-2.0.48/pcre-configure.patch36
-rw-r--r--packages/nonworking/apache/apache/apache_2.0.48.bb87
-rw-r--r--packages/nonworking/apache/apache/files/httpd.conf0
-rwxr-xr-xpackages/nonworking/apache/apache/files/init73
-rw-r--r--packages/nonworking/apache/apache_2.0.47.bb84
-rw-r--r--packages/nonworking/docbook/docbook_4.2.bb4
-rw-r--r--packages/nonworking/e17/evidence29
-rw-r--r--packages/nonworking/efl/e/fix-configure.patch47
-rw-r--r--packages/nonworking/efl/ecore-fb_0.9.9.038.bb31
-rw-r--r--packages/nonworking/efl/ecore-native_0.9.9.038.bb6
-rw-r--r--packages/nonworking/efl/ecore-x11_0.9.9.038.bb30
-rw-r--r--packages/nonworking/efl/ecore.inc46
-rw-r--r--packages/nonworking/efl/ecore/add-tslib-support.patch104
-rw-r--r--packages/nonworking/efl/ecore/configure-abstract-sockets.patch16
-rw-r--r--packages/nonworking/efl/ecore/configure.patch21
-rw-r--r--packages/nonworking/efl/ecore/ecore_kernel_input_header.patch23
-rw-r--r--packages/nonworking/efl/ecore/fix-tslib-configure.patch12
-rw-r--r--packages/nonworking/efl/ecore/remove-bad-code.patch36
-rw-r--r--packages/nonworking/efl/ecore/remove-tslib-configure.patch15
-rw-r--r--packages/nonworking/efl/edb-native/no-gtk-forkbomb.patch12
-rw-r--r--packages/nonworking/efl/edb-native_1.0.5.007.bb11
-rw-r--r--packages/nonworking/efl/edb-utils_1.0.5.007.bb19
-rw-r--r--packages/nonworking/efl/edb_1.0.5.007.bb14
-rw-r--r--packages/nonworking/efl/edje-native_0.5.0.038.bb20
-rw-r--r--packages/nonworking/efl/edje-utils_0.5.0.038.bb23
-rw-r--r--packages/nonworking/efl/edje_0.5.0.038.bb32
-rw-r--r--packages/nonworking/efl/eet-native_0.9.10.038.bb4
-rw-r--r--packages/nonworking/efl/eet_0.9.10.038.bb9
-rw-r--r--packages/nonworking/efl/efl.bbclass52
-rw-r--r--packages/nonworking/efl/efreet-native_0.0.3.002.bb3
-rw-r--r--packages/nonworking/efl/efreet_0.0.3.002.bb8
-rw-r--r--packages/nonworking/efl/embryo-native_0.9.1.038.bb7
-rw-r--r--packages/nonworking/efl/embryo-utils_0.9.1.038.bb18
-rw-r--r--packages/nonworking/efl/embryo_0.9.1.038.bb11
-rw-r--r--packages/nonworking/efl/emotion_20061116.bb18
-rw-r--r--packages/nonworking/efl/engrave_20060128.bb17
-rw-r--r--packages/nonworking/efl/epdf_20060418.bb9
-rw-r--r--packages/nonworking/efl/epeg_0.9.0.008.bb5
-rw-r--r--packages/nonworking/efl/epsilon/compile-fix.patch15
-rw-r--r--packages/nonworking/efl/epsilon/server-is-not-client.patch11
-rw-r--r--packages/nonworking/efl/epsilon_0.3.0.008.bb17
-rw-r--r--packages/nonworking/efl/esmart-fb_0.9.0.008.bb16
-rw-r--r--packages/nonworking/efl/esmart-x11_0.9.0.008.bb24
-rw-r--r--packages/nonworking/efl/esmart.inc51
-rw-r--r--packages/nonworking/efl/esmart/compile-fix.patch16
-rw-r--r--packages/nonworking/efl/esmart/disable-x-only-features.patch25
-rw-r--r--packages/nonworking/efl/esmart/ecore-fix.patch10
-rw-r--r--packages/nonworking/efl/esmart/include-stdio.patch22
-rw-r--r--packages/nonworking/efl/etk_0.1.0.003.bb17
-rw-r--r--packages/nonworking/efl/evas-fb_0.9.9.038.bb47
-rw-r--r--packages/nonworking/efl/evas-native_0.9.9.038.bb5
-rw-r--r--packages/nonworking/efl/evas-x11_0.9.9.038.bb55
-rw-r--r--packages/nonworking/efl/evas.inc50
-rw-r--r--packages/nonworking/efl/evas/fix-configure.patch36
-rw-r--r--packages/nonworking/efl/evas/pagesize.patch13
-rw-r--r--packages/nonworking/efl/ewl/ewl-configure.patch15
-rw-r--r--packages/nonworking/efl/ewl/minmax.patch18
-rw-r--r--packages/nonworking/efl/ewl/no-examples.patch22
-rw-r--r--packages/nonworking/efl/ewl_0.5.1.008.bb29
-rw-r--r--packages/nonworking/efl/files/pkg.m457
-rw-r--r--packages/nonworking/efl/imlib2-fb_1.3.0.001.bb6
-rw-r--r--packages/nonworking/efl/imlib2-native_1.3.0.001.bb8
-rw-r--r--packages/nonworking/efl/imlib2-x11_1.3.0.001.bb8
-rw-r--r--packages/nonworking/efl/imlib2.inc58
-rw-r--r--packages/nonworking/kgrok/files/mediabutton.patch15
-rw-r--r--packages/nonworking/kgrok/files/parser_yacc.cpp2048
-rw-r--r--packages/nonworking/kgrok/files/parser_yacc.h92
-rw-r--r--packages/nonworking/kgrok/kgrok_1.5.bb36
-rw-r--r--packages/nonworking/lftp/files/pty.patch31
-rw-r--r--packages/nonworking/lftp/lftp_3.2.1.bb23
-rw-r--r--packages/nonworking/libmikey/libmikey0_0.3.2.bb22
-rw-r--r--packages/nonworking/libmikey/libmikey_0.1a.bb23
-rw-r--r--packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb22
-rw-r--r--packages/nonworking/libmsip/libmsip0_0.2.2.bb22
-rw-r--r--packages/nonworking/lufs/lufs_0.9.7.bb9
-rw-r--r--packages/nonworking/lzma/lzma_0.01.bb33
-rw-r--r--packages/nonworking/minisip/minisip_0.6.2.bb21
-rw-r--r--packages/nonworking/ode/files/config.h48
-rw-r--r--packages/nonworking/pixdev/pixdev-stable_0.1.bb2
-rw-r--r--packages/nonworking/python/python-gsl-0.2.0/cross-compile.patch4
-rw-r--r--packages/nonworking/python/python-gsl_0.2.0.bb2
-rw-r--r--packages/nonworking/python/python-m2crypto/0.13p1.patch42
-rw-r--r--packages/nonworking/python/python-m2crypto_0.18.bb13
-rw-r--r--packages/nonworking/xfree86/xfree86-4.3.0/dirty-3.2-xterm-breakage-fix.patch35
-rw-r--r--packages/nonworking/xfree86/xfree86-4.3.0/host.def22
-rw-r--r--packages/nonworking/xfree86/xfree86-4.3.0/tinyx-kbd-enable-fix.patch37
-rw-r--r--packages/nonworking/xfree86/xfree86-4.3.0/tinyx-tslib-reset-and-vt-switch-fixes.patch69
-rw-r--r--packages/nonworking/xfree86/xfree86_4.3.0.bb52
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb10
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb41
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb18
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb18
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb18
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb18
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb16
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb28
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb16
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb13
-rw-r--r--packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb15
-rw-r--r--packages/obsolete/gaim/.mtn2git_empty (renamed from packages/nonworking/kgrok/files/.mtn2git_empty)0
-rw-r--r--packages/obsolete/gaim/files/.mtn2git_empty (renamed from packages/nonworking/lftp/.mtn2git_empty)0
-rw-r--r--packages/obsolete/gaim/files/01-optional-icons-in-dialogs.patch (renamed from packages/gaim/files/01-optional-icons-in-dialogs.patch)0
-rw-r--r--packages/obsolete/gaim/files/02-request-field-dialogs.patch (renamed from packages/gaim/files/02-request-field-dialogs.patch)0
-rw-r--r--packages/obsolete/gaim/files/03-blist-dialogs.patch (renamed from packages/gaim/files/03-blist-dialogs.patch)0
-rw-r--r--packages/obsolete/gaim/files/04-saved-status-dialogs.patch (renamed from packages/gaim/files/04-saved-status-dialogs.patch)0
-rw-r--r--packages/obsolete/gaim/files/05-statusbox-icon-size.patch (renamed from packages/gaim/files/05-statusbox-icon-size.patch)0
-rw-r--r--packages/obsolete/gaim/files/06-account-dialogs.patch (renamed from packages/gaim/files/06-account-dialogs.patch)0
-rw-r--r--packages/obsolete/gaim/files/07-roomlist-dialog.patch (renamed from packages/gaim/files/07-roomlist-dialog.patch)0
-rw-r--r--packages/obsolete/gaim/files/08-prefs-dialog.patch (renamed from packages/gaim/files/08-prefs-dialog.patch)0
-rw-r--r--packages/obsolete/gaim/files/09-filetransfer-dialog.patch (renamed from packages/gaim/files/09-filetransfer-dialog.patch)0
-rw-r--r--packages/obsolete/gaim/files/10-pda-default-settings.patch (renamed from packages/gaim/files/10-pda-default-settings.patch)0
-rw-r--r--packages/obsolete/gaim/files/define-pda-mode.patch (renamed from packages/gaim/files/define-pda-mode.patch)0
-rw-r--r--packages/obsolete/gaim/files/desktop-name-2.0.0.patch (renamed from packages/gaim/files/desktop-name-2.0.0.patch)0
-rw-r--r--packages/obsolete/gaim/files/desktop-name.patch (renamed from packages/gaim/files/desktop-name.patch)0
-rw-r--r--packages/obsolete/gaim/files/desktop-name_1.4.0.patch (renamed from packages/gaim/files/desktop-name_1.4.0.patch)0
-rw-r--r--packages/obsolete/gaim/files/desktop-name_1.5.0.patch (renamed from packages/gaim/files/desktop-name_1.5.0.patch)0
-rw-r--r--packages/obsolete/gaim/files/docklet-icon-size.patch (renamed from packages/gaim/files/docklet-icon-size.patch)0
-rw-r--r--packages/obsolete/gaim/files/gaim-OE-branding.patch (renamed from packages/gaim/files/gaim-OE-branding.patch)0
-rw-r--r--packages/obsolete/gaim/files/gevolution-eds-dbus.patch (renamed from packages/gaim/files/gevolution-eds-dbus.patch)0
-rw-r--r--packages/obsolete/gaim/files/gtk-deprecated-2.0.0.patch (renamed from packages/gaim/files/gtk-deprecated-2.0.0.patch)0
-rw-r--r--packages/obsolete/gaim/files/no-superimposed-version-on-logo.patch (renamed from packages/gaim/files/no-superimposed-version-on-logo.patch)0
-rw-r--r--packages/obsolete/gaim/files/series (renamed from packages/gaim/files/series)0
-rw-r--r--packages/obsolete/gaim/gaim.inc (renamed from packages/gaim/gaim.inc)0
-rw-r--r--packages/obsolete/gaim/gaim_1.0.3.bb (renamed from packages/gaim/gaim_1.0.3.bb)0
-rw-r--r--packages/obsolete/gaim/gaim_1.1.0.bb (renamed from packages/gaim/gaim_1.1.0.bb)0
-rw-r--r--packages/obsolete/gaim/gaim_1.1.1.bb (renamed from packages/gaim/gaim_1.1.1.bb)0
-rw-r--r--packages/obsolete/gaim/gaim_1.1.2.bb (renamed from packages/gaim/gaim_1.1.2.bb)0
-rw-r--r--packages/obsolete/gaim/gaim_1.4.0.bb (renamed from packages/gaim/gaim_1.4.0.bb)0
-rw-r--r--packages/obsolete/gaim/gaim_1.5.0.bb (renamed from packages/gaim/gaim_1.5.0.bb)0
-rw-r--r--packages/obsolete/gaim/gaim_2.0.0-cvs-mco1.bb (renamed from packages/gaim/gaim_2.0.0-cvs-mco1.bb)0
-rw-r--r--packages/obsolete/xcalibrateext/xcalibrateext_cvs.bb13
-rw-r--r--packages/ode/.mtn2git_empty (renamed from packages/nonworking/lftp/files/.mtn2git_empty)0
-rw-r--r--packages/ode/files/.mtn2git_empty (renamed from packages/nonworking/libmikey/.mtn2git_empty)0
-rw-r--r--packages/ode/ode_0.9.bb (renamed from packages/nonworking/ode/ode_0.8.bb)0
-rw-r--r--packages/openmoko-panel-plugins/openmoko-panel-memory_svn.bb7
-rw-r--r--packages/openmoko2/openmoko-dialer2/fic-gta01/.mtn2git_empty (renamed from packages/nonworking/libmnetutil/.mtn2git_empty)0
-rw-r--r--packages/openmoko2/openmoko-dialer2/fic-gta01/kernel-2.6.24.patch13
-rw-r--r--packages/openmoko2/openmoko-dialer2/fic-gta02/.mtn2git_empty (renamed from packages/nonworking/libmsip/.mtn2git_empty)0
-rw-r--r--packages/openmoko2/openmoko-dialer2/fic-gta02/kernel-2.6.24.patch15
-rw-r--r--packages/openmoko2/openmoko-dialer2_svn.bb5
-rw-r--r--packages/openmoko2/openmoko-session2.bb2
-rwxr-xr-xpackages/openmoko2/openmoko-session2/etc/matchbox/session2
-rw-r--r--packages/openmoko2/openmoko-sound-system2/session2
-rw-r--r--packages/openmoko2/openmoko-sound-system2_0.1.0.bb2
-rw-r--r--packages/openttd/files/.mtn2git_empty (renamed from packages/nonworking/lzma/.mtn2git_empty)0
-rw-r--r--packages/openttd/files/openttd_0.6.0-buildfix.patch25
-rw-r--r--packages/openttd/openttd.inc46
-rw-r--r--packages/openttd/openttd_0.4.0.1.bb14
-rw-r--r--packages/openttd/openttd_0.6.0-beta4.bb8
-rw-r--r--packages/pango/pango-1.13.3/opentype-makefile.patch20
-rw-r--r--packages/pango/pango-1.16.0/no-tests.patch10
-rw-r--r--packages/pango/pango-1.16.2/no-tests.patch10
-rw-r--r--packages/pango/pango-1.18.1/no-tests.patch10
-rw-r--r--packages/pango/pango-1.18.3/pkgconfig_fixes.patch79
-rw-r--r--packages/pango/pango_1.13.3.bb54
-rw-r--r--packages/pango/pango_1.14.0.bb49
-rw-r--r--packages/pango/pango_1.15.1.bb51
-rw-r--r--packages/pango/pango_1.15.2.bb1
-rw-r--r--packages/pango/pango_1.16.0.bb1
-rw-r--r--packages/pango/pango_1.16.2.bb1
-rw-r--r--packages/pango/pango_1.16.4.bb2
-rw-r--r--packages/pango/pango_1.18.1.bb1
-rw-r--r--packages/pango/pango_1.18.3.bb2
-rw-r--r--packages/pango/pango_1.9.1.bb52
-rw-r--r--packages/panoramixext/.mtn2git_empty0
-rw-r--r--packages/panoramixext/panoramixext_1.1.bb17
-rw-r--r--packages/panoramixext/panoramixext_cvs.bb19
-rw-r--r--packages/pax-utils/pax-utils-native_0.1.13.bb7
-rw-r--r--packages/perl/libwww-perl-native_5.808.bb5
-rw-r--r--packages/perl/libwww-perl_5.808.bb12
-rw-r--r--packages/php/php_5.2.0.bb2
-rw-r--r--packages/pidgin/.mtn2git_empty (renamed from packages/nonworking/minisip/.mtn2git_empty)0
-rw-r--r--packages/pidgin/pidgin.inc (renamed from packages/gaim/pidgin.inc)0
-rw-r--r--packages/pidgin/pidgin/.mtn2git_empty (renamed from packages/nonworking/ode/.mtn2git_empty)0
-rw-r--r--packages/pidgin/pidgin/gconf-no-errors.patch (renamed from packages/gaim/pidgin/gconf-no-errors.patch)0
-rw-r--r--packages/pidgin/pidgin/pidgin.desktop-set-icon.patch (renamed from packages/gaim/pidgin/pidgin.desktop-set-icon.patch)0
-rw-r--r--packages/pidgin/pidgin/purple-OE-branding.patch (renamed from packages/gaim/files/purple-OE-branding.patch)0
-rw-r--r--packages/pidgin/pidgin/sanitize-configure.ac.patch (renamed from packages/gaim/pidgin/sanitize-configure.ac.patch)0
-rw-r--r--packages/pidgin/pidgin_2.0.2.bb (renamed from packages/gaim/pidgin_2.0.2.bb)0
-rw-r--r--packages/pidgin/pidgin_2.1.1.bb (renamed from packages/gaim/pidgin_2.1.1.bb)0
-rw-r--r--packages/pidgin/pidgin_2.2.1.bb (renamed from packages/gaim/pidgin_2.2.1.bb)0
-rw-r--r--packages/postgresql/postgresql.inc55
-rw-r--r--packages/postgresql/postgresql_8.1.4.bb2
-rw-r--r--packages/postgresql/postgresql_8.1.8.bb2
-rw-r--r--packages/postgresql/postgresql_8.2.4.bb2
-rw-r--r--packages/prboom/files/m4.patch183
-rw-r--r--packages/prboom/prboom_2.2.6.bb10
-rw-r--r--packages/prboom/prboom_2.3.1.bb8
-rw-r--r--packages/prismstumbler/prismstumbler_0.7.3+0.7.4pre1.bb6
-rw-r--r--packages/prismstumbler/prismstumbler_0.7.3.bb2
-rw-r--r--packages/psplash/files/logo-math.patch2
-rw-r--r--packages/psplash/psplash_svn.bb4
-rw-r--r--packages/pulseaudio/pulse.inc7
-rw-r--r--packages/pulseaudio/pulseaudio_0.9.6.bb2
-rw-r--r--packages/pulseaudio/pulseaudio_0.9.9.bb6
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20050911/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20050911/Makefile.patch15
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20050921/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20050921/Makefile.patch15
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20051016/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20051016/Makefile.patch15
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20051113/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20051113/Makefile.patch15
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060209/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060209/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060326/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060326/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060329/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060329/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060423/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060517/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060517/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060607/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060607/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060626/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060626/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060702/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060702/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060726/.mtn2git_empty0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20060726/Makefile.patch25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20080210/.mtn2git_empty (renamed from packages/nonworking/ode/files/.mtn2git_empty)0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci-20080210/Makefile.patch (renamed from packages/pvrusb2-mci/pvrusb2-mci-20060423/Makefile.patch)0
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci2.inc4
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20050911.bb25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20050921.bb25
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20051016.bb26
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20051113.bb38
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060101.bb35
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060103.bb35
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060121.bb35
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060209.bb28
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060326.bb28
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060329.bb31
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060423.bb31
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060517.bb31
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060607.bb31
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060702.bb44
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060726.bb44
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20060903.bb5
-rw-r--r--packages/pvrusb2-mci/pvrusb2-mci_20080210.bb (renamed from packages/pvrusb2-mci/pvrusb2-mci_20060626.bb)6
-rw-r--r--packages/pwc/pwc_10.0.12-rc1.bb4
-rw-r--r--packages/python/python-2.5-manifest.inc116
-rw-r--r--packages/python/python-2.5.1/.mtn2git_empty0
-rw-r--r--packages/python/python-2.5.2/.mtn2git_empty (renamed from packages/nonworking/python/python-m2crypto/.mtn2git_empty)0
-rw-r--r--packages/python/python-2.5.2/autohell.patch (renamed from packages/python/python-2.5.1/autohell.patch)25
-rw-r--r--packages/python/python-2.5.2/bindir-libdir.patch (renamed from packages/python/python-2.5.1/bindir-libdir.patch)0
-rw-r--r--packages/python/python-2.5.2/crosscompile.patch (renamed from packages/python/python-2.5.1/crosscompile.patch)28
-rw-r--r--packages/python/python-2.5.2/default-is-optimized.patch (renamed from packages/python/python-2.5.1/default-is-optimized.patch)0
-rw-r--r--packages/python/python-2.5.2/enable-ctypes-module.patch (renamed from packages/python/python-2.5.1/enable-ctypes-module.patch)0
-rw-r--r--packages/python/python-2.5.2/fix-tkinter-detection.patch (renamed from packages/python/python-2.5.1/fix-tkinter-detection.patch)0
-rw-r--r--packages/python/python-2.5.2/sitebranding.patch (renamed from packages/python/python-2.5.1/sitebranding.patch)0
-rw-r--r--packages/python/python-2.5.2/sitecustomize.py (renamed from packages/python/python-2.5.1/sitecustomize.py)3
-rw-r--r--packages/python/python-dbus/.mtn2git_empty0
-rw-r--r--packages/python/python-dbus/allow-older-autotools.patch27
-rw-r--r--packages/python/python-dbus/python-path.patch21
-rw-r--r--packages/python/python-dbus_0.82.4.bb (renamed from packages/python/python-dbus_0.81.1.bb)15
-rw-r--r--packages/python/python-ecore_cvs.bb5
-rw-r--r--packages/python/python-edbus_cvs.bb4
-rw-r--r--packages/python/python-edje_cvs.bb3
-rw-r--r--packages/python/python-efl.inc1
-rw-r--r--packages/python/python-egenix-mx-base_3.0.0.bb (renamed from packages/nonworking/python/python-egenix-mx-base_2.0.6.bb)6
-rw-r--r--packages/python/python-emotion_cvs.bb3
-rw-r--r--packages/python/python-epsilon_cvs.bb3
-rw-r--r--packages/python/python-evas_cvs.bb3
-rw-r--r--packages/python/python-gst_0.10.10.bb10
-rw-r--r--packages/python/python-m2crypto/.mtn2git_empty (renamed from packages/nonworking/xfree86/.mtn2git_empty)0
-rw-r--r--packages/python/python-m2crypto/install.patch24
-rw-r--r--packages/python/python-m2crypto_0.18.2.bb18
-rw-r--r--packages/python/python-pycap_0.1.6.bb (renamed from packages/nonworking/python/python-pycap_0.1.6.bb)0
-rw-r--r--packages/python/python-pyode_1.2.0.bb (renamed from packages/nonworking/python/python-pyode_1.2.0.bb)3
-rw-r--r--packages/python/python-sword_1.5.10.bb2
-rw-r--r--packages/python/python_2.5.2.bb (renamed from packages/python/python_2.5.1.bb)7
-rw-r--r--packages/qclockchange/files/.mtn2git_empty (renamed from packages/nonworking/xfree86/xfree86-4.3.0/.mtn2git_empty)0
-rw-r--r--packages/qclockchange/files/qclockchange.desktop6
-rw-r--r--packages/qclockchange/files/qclockchange.pngbin0 -> 5472 bytes
-rw-r--r--packages/qclockchange/qclockchange_0.1a.bb22
-rw-r--r--packages/qclockchange/qclockchange_0.1b.bb24
-rw-r--r--packages/qt/qt-x11-free-common.inc2
-rw-r--r--packages/qt/qt-x11-free-native_3.3.5.bb10
-rw-r--r--packages/qt4/qt4-x11-free_4.1.2.bb2
-rw-r--r--packages/qte/qte-common_2.3.10.inc12
-rw-r--r--packages/qte/qte-mt-static_2.3.10.bb12
-rw-r--r--packages/qte/qte-mt-static_2.3.12.bb14
-rw-r--r--packages/radlib/radlib-mysql.inc2
-rw-r--r--packages/radlib/radlib.inc2
-rw-r--r--packages/radlib/x1
-rw-r--r--packages/randrext/.mtn2git_empty0
-rw-r--r--packages/randrext/randrext_1.0.bb15
-rw-r--r--packages/randrext/randrext_cvs.bb17
-rw-r--r--packages/rdesktop/rdesktop_1.3.1.bb4
-rw-r--r--packages/rdesktop/rdesktop_1.4.1.bb2
-rw-r--r--packages/rdesktop/rdesktop_1.5.0.bb2
-rw-r--r--packages/re2c/.mtn2git_empty (renamed from packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty)0
-rw-r--r--packages/re2c/re2c-native_0.13.1.bb5
-rw-r--r--packages/re2c/re2c.inc12
-rw-r--r--packages/re2c/re2c_0.13.1.bb3
-rw-r--r--packages/recordext/.mtn2git_empty0
-rw-r--r--packages/recordext/recordext_cvs.bb17
-rw-r--r--packages/renderext/.mtn2git_empty0
-rw-r--r--packages/renderext/renderext_0.8.bb15
-rw-r--r--packages/renderext/renderext_cvs.bb18
-rw-r--r--packages/resourceext/.mtn2git_empty0
-rw-r--r--packages/resourceext/resourceext_1.0.bb16
-rw-r--r--packages/resourceext/resourceext_cvs.bb18
-rw-r--r--packages/roadster/roadster_cvs.bb2
-rw-r--r--packages/rt-tests/.mtn2git_empty (renamed from packages/obsolete/xcalibrateext/.mtn2git_empty)0
-rw-r--r--packages/rt-tests/rt-tests_0.19.bb18
-rw-r--r--packages/s3c2410-utils/.mtn2git_empty0
-rw-r--r--packages/s3c24xx-utils/.mtn2git_empty (renamed from packages/pango/pango-1.13.3/.mtn2git_empty)0
-rw-r--r--packages/s3c24xx-utils/s3c2410-boot-usb-native_svn.bb (renamed from packages/s3c2410-utils/s3c2410-boot-usb-native_svn.bb)0
-rw-r--r--packages/s3c24xx-utils/s3c24xx-gpio_svn.bb17
-rw-r--r--packages/s3c24xx-utils/sjf2410-linux-native_svn.bb (renamed from packages/s3c2410-utils/sjf2410-linux-native_svn.bb)0
-rw-r--r--packages/skippy/skippy-xd_0.5.0.bb6
-rw-r--r--packages/sox/sox-native_13.0.0.bb2
-rw-r--r--packages/sqlite/sqlite3-3.2.2/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3-3.2.5/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3-3.2.7/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3-3.3.12/cross-compile.patch92
-rw-r--r--packages/sqlite/sqlite3-3.3.12/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3-3.3.13/cross-compile.patch92
-rw-r--r--packages/sqlite/sqlite3-3.3.13/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3-3.3.17/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3-3.4.1/libtool.patch25
-rw-r--r--packages/sqlite/sqlite3_3.5.6.bb (renamed from packages/sqlite/sqlite3_3.5.2.bb)0
-rw-r--r--packages/startup-notification/startup-notification_0.5.bb2
-rw-r--r--packages/subversion/subversion_1.3.1.bb2
-rw-r--r--packages/subversion/subversion_1.4.0.bb2
-rw-r--r--packages/subversion/subversion_1.4.3.bb2
-rw-r--r--packages/subversion/subversion_1.4.5.bb2
-rw-r--r--packages/swt/files/swt-hildon.patch159
-rw-r--r--packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb4
-rw-r--r--packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb7
-rw-r--r--packages/swt/swt3.4-gtk_3.3+3.4M5.bb12
-rw-r--r--packages/sylpheed/claws-mail_3.3.0.bb (renamed from packages/sylpheed/claws-mail_3.2.0.bb)0
-rw-r--r--packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb (renamed from packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.bb)0
-rw-r--r--packages/sylpheed/claws-plugin-rssyl_0.18.bb (renamed from packages/sylpheed/claws-plugin-rssyl_0.17.bb)0
-rw-r--r--packages/tasks/task-base.bb4
-rw-r--r--packages/tasks/task-devimage.bb4
-rw-r--r--packages/tasks/task-java-gtk.bb13
-rw-r--r--packages/tasks/task-java.bb3
-rw-r--r--packages/tasks/task-openmoko-base.bb9
-rw-r--r--packages/tasks/task-openmoko-phone.bb3
-rw-r--r--packages/tasks/task-openmoko-python-devel.bb4
-rw-r--r--packages/tasks/task-opie-all.bb3
-rw-r--r--packages/tasks/task-python-efl-examples.bb (renamed from packages/python/python-efl-examples.bb)8
-rw-r--r--packages/tasks/task-python-efl.bb (renamed from packages/python/python-efl.bb)0
-rw-r--r--packages/tcltk/tcl_8.4.11.bb3
-rw-r--r--packages/tremor/tremor_svn.bb10
-rw-r--r--packages/ttf-fonts/ttf-dejavu_2.23.bb1
-rw-r--r--packages/ttf-fonts/ttf-hunkyfonts_0.3.0.bb1
-rw-r--r--packages/ttf-fonts/ttf-liberation_0.2.bb2
-rw-r--r--packages/ttf-fonts/ttf-sazanami_20040629.bb1
-rw-r--r--packages/u-boot/u-boot-openmoko-devel_git.bb6
-rw-r--r--packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb20
-rw-r--r--packages/u-boot/u-boot-openmoko_svn.bb9
-rw-r--r--packages/uclibc/elf2flt_svn.bb6
-rw-r--r--packages/uclibc/uclibc-0.9.29/bfin/uClibc.machine68
-rw-r--r--packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-002-atmel.1.patch3546
-rw-r--r--packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch31
-rw-r--r--packages/uclibc/uclibc.inc44
-rw-r--r--packages/uclibc/uclibc_0.9.29.bb4
-rw-r--r--packages/udev/files/network.sh3
-rw-r--r--packages/udev/udev-118/init86
-rw-r--r--packages/udev/udev_118.bb4
-rw-r--r--packages/uqm/uqm-0.5.0/.mtn2git_empty (renamed from packages/pango/pango-1.16.0/.mtn2git_empty)0
-rw-r--r--packages/uqm/uqm-0.5.0/build-oe.patch40
-rw-r--r--packages/uqm/uqm_0.3.bb2
-rw-r--r--packages/uqm/uqm_0.5.0.bb5
-rw-r--r--packages/util-linux-ng/util-linux-ng.inc3
-rw-r--r--packages/vim/gvim_7.0.bb2
-rw-r--r--packages/vnc/fbvncserver2_cvs.bb21
-rw-r--r--packages/wireshark/tshark_0.99.4.bb21
-rw-r--r--packages/wlan-ng/wlan-ng-modules_0.2.1-pre26.bb2
-rw-r--r--packages/wxbase/.mtn2git_empty0
-rw-r--r--packages/wxwidgets/wxbase_2.6.2.bb (renamed from packages/wxbase/wxbase_2.6.2.bb)0
-rw-r--r--packages/wxwidgets/wxbase_2.7+cvs.bb (renamed from packages/wxbase/wxbase_2.7+cvs.bb)0
-rw-r--r--packages/xmms-embedded/xmms-embedded_20040327.bb2
-rw-r--r--packages/xorg-app/mkbold-mkitalic-native_0.11.bb10
-rw-r--r--packages/xorg-lib/diet-x11/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/diet-x11/autofoo.patch22
-rw-r--r--packages/xorg-lib/diet-x11/makekeys.diff12
-rw-r--r--packages/xorg-lib/diet-x11_1.1.1.bb2
-rw-r--r--packages/xorg-lib/diet-x11_1.1.2.bb2
-rw-r--r--packages/xorg-lib/diet-x11_1.1.3.bb2
-rw-r--r--packages/xorg-lib/files/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/files/errordb-keysymdb-path-fix.patch22
-rw-r--r--packages/xorg-lib/files/fix-utf8-wrong-define.patch16
-rw-r--r--packages/xorg-lib/libice/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libice/autofoo.patch21
-rw-r--r--packages/xorg-lib/liblbxutil/mkg3states-1.0.0.patch54
-rw-r--r--packages/xorg-lib/libsm/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libsm/autofoo.patch21
-rw-r--r--packages/xorg-lib/libx11/X18NCMSstubs.diff (renamed from packages/xorg-lib/diet-x11/X18NCMSstubs.diff)0
-rw-r--r--packages/xorg-lib/libx11/autofoo.patch22
-rw-r--r--packages/xorg-lib/libx11/fix-disable-xlocale.diff (renamed from packages/xorg-lib/diet-x11/fix-disable-xlocale.diff)0
-rw-r--r--packages/xorg-lib/libx11/fix-utf8-wrong-define.patch (renamed from packages/xorg-lib/diet-x11/fix-utf8-wrong-define.patch)0
-rw-r--r--packages/xorg-lib/libx11/ruutf8.patch (renamed from packages/xorg-lib/files/ruutf8.patch)0
-rw-r--r--packages/xorg-lib/libx11/xchar2b.patch (renamed from packages/xorg-lib/diet-x11/xchar2b.patch)0
-rw-r--r--packages/xorg-lib/libx11/xim.patch (renamed from packages/xorg-lib/diet-x11/xim.patch)0
-rw-r--r--packages/xorg-lib/libx11_1.1.1.bb13
-rw-r--r--packages/xorg-lib/libxau/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxau/autofoo.patch21
-rw-r--r--packages/xorg-lib/libxaw/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxaw/auxdir.patch10
-rw-r--r--packages/xorg-lib/libxcalibrate/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxcalibrate/coords.patch50
-rw-r--r--packages/xorg-lib/libxcalibrate_git.bb6
-rw-r--r--packages/xorg-lib/libxcomposite-1.0.1/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxcomposite-1.0.1/autofoo.patch17
-rw-r--r--packages/xorg-lib/libxcursor-1.1.2/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxcursor-1.1.2/autofoo.patch20
-rw-r--r--packages/xorg-lib/libxcursor/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxcursor/autofoo.patch22
-rw-r--r--packages/xorg-lib/libxdamage-1.0.1/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxdamage-1.0.1/autofoo.patch17
-rw-r--r--packages/xorg-lib/libxdamage/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxdamage/m4.patch65
-rw-r--r--packages/xorg-lib/libxdmcp/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxdmcp/autofoo.patch22
-rw-r--r--packages/xorg-lib/libxext/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxext/autofoo.patch18
-rw-r--r--packages/xorg-lib/libxfixes/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxfixes/autofoo.patch20
-rw-r--r--packages/xorg-lib/libxfont/autofoo.patch18
-rw-r--r--packages/xorg-lib/libxfont/scalable.patch27
-rw-r--r--packages/xorg-lib/libxft/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxft/autofoo.patch21
-rw-r--r--packages/xorg-lib/libxi/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxi/autofoo.patch12
-rw-r--r--packages/xorg-lib/libxpm/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxpm/autofoo.patch18
-rw-r--r--packages/xorg-lib/libxrandr-1.0.2/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxrandr-1.0.2/autofoo.patch20
-rw-r--r--packages/xorg-lib/libxrandr/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxrandr/autofoo.patch30
-rw-r--r--packages/xorg-lib/libxrender/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxrender/autofoo.patch20
-rw-r--r--packages/xorg-lib/libxt/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/libxt/autofoo.patch20
-rw-r--r--packages/xorg-proto/calibrateproto/.mtn2git_empty0
-rw-r--r--packages/xorg-proto/calibrateproto/coords.patch56
-rw-r--r--packages/xorg-proto/calibrateproto_git.bb6
-rw-r--r--packages/xorg-xserver/files/fix-picturestr-include-order.patch (renamed from packages/xorg-xserver/xserver-kdrive/fix-picturestr-include-order.patch)0
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.3.0.0/build-glamo.patch91
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.3.0.0/smedia-glamo.patch3702
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/pkgconfig_fix.patch13
-rw-r--r--packages/xorg-xserver/xserver-kdrive-common.inc4
-rw-r--r--packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb64
-rw-r--r--packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb2
-rw-r--r--packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb2
-rw-r--r--packages/xorg-xserver/xserver-kdrive/00-xglamo-logs.patch386
-rw-r--r--packages/xorg-xserver/xserver-kdrive/01-xglamo-scrolling-artifact-fix.patch15
-rw-r--r--packages/xorg-xserver/xserver-kdrive/02-xglamo-no-dri.patch438
-rw-r--r--packages/xorg-xserver/xserver-kdrive/03-xglamo-no-vesa.patch141
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb9
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.4.bb3
-rw-r--r--packages/xvidcap/.mtn2git_empty (renamed from packages/pango/pango-1.16.2/.mtn2git_empty)0
-rw-r--r--packages/xvidcap/xvidcap.inc16
-rw-r--r--packages/xvidcap/xvidcap_1.1.6.bb4
-rw-r--r--packages/xvidcap/xvidcap_1.1.7rc1.bb6
-rw-r--r--packages/xxf86dgaext/.mtn2git_empty0
-rw-r--r--packages/xxf86dgaext/xxf86dgaext_cvs.bb13
-rw-r--r--packages/xxf86vmext/.mtn2git_empty0
-rw-r--r--packages/xxf86vmext/xxf86vmext_cvs.bb13
-rw-r--r--packages/zaurusd/files/01-check-toggle-landscape9
-rw-r--r--packages/zaurusd/files/01-check-toggle-portait9
-rw-r--r--packages/zaurusd/files/alsa-cxx00-default.state.patch276
-rw-r--r--packages/zaurusd/files/zaurus-hinge.in7
-rw-r--r--packages/zaurusd/files/zaurusd-mixer-callback.patch11
-rw-r--r--packages/zaurusd/zaurusd_svn.bb10
-rw-r--r--packages/zten/files/zten.patch2
-rw-r--r--packages/zten/zten_1.6.2.bb1
-rw-r--r--packages/zziplib/files/.mtn2git_empty (renamed from packages/pango/pango-1.18.1/.mtn2git_empty)0
-rw-r--r--packages/zziplib/files/zip_c.patch15
-rw-r--r--packages/zziplib/files/zziplib-0.10-disable-test.patch13
-rw-r--r--packages/zziplib/files/zziplib-autoconf.patch509
-rw-r--r--packages/zziplib/zziplib-native_0.12.83.bb9
-rw-r--r--packages/zziplib/zziplib-native_0.13.49.bb9
-rw-r--r--packages/zziplib/zziplib.inc20
-rw-r--r--packages/zziplib/zziplib_0.10.82.bb22
-rw-r--r--packages/zziplib/zziplib_0.12.83.bb4
-rw-r--r--packages/zziplib/zziplib_0.13.49.bb12
-rw-r--r--site/common-glibc2
1106 files changed, 47662 insertions, 18158 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index f772855b58..e5a9cf1a98 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -268,10 +268,13 @@ Recipes: avahi, libgsmd
Person: Robert Schuster 'thebohemian'
Mail: robert.schuster@tarent.de, thebohemian@gmx.net
Website: http://fsfe.org/en/fellows/robertschuster/weblog
-Interests: free software, java, games
+Interests: free software, java, games, packages/maemo4/*
Distros: chinook-compat
Recipes: jikes-native, jikes-initial, ecj-initial, ecj-bootstrap-native
Recipes: classpath*, cacao*, jamvm*
Recipes: swt-gtk, rxtx, dbus-java, libmatthew, kxml2, xmlpull
Recipes: midpath*, logic-analyze
Recipes: kobodeluxe
+Recipes: hildon-thumbnail, libhildon*, libosso*, mce-dev, libconic
+Recipes: libgpsbt, libgpsmgr, osso-gnome-vfs2, osso-gwconnect, osso-ic-oss
+
diff --git a/classes/base.bbclass b/classes/base.bbclass
index c8ee75627f..7609c05851 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -85,7 +85,7 @@ def base_chk_file(parser, pn, pv, src_uri, localpath, data):
def base_dep_prepend(d):
- import bb;
+ import bb
#
# Ideally this will check a flag so we will operate properly in
# the case where host == build == target, for now we don't work in
@@ -412,7 +412,6 @@ python do_listtasks() {
addtask clean
do_clean[dirs] = "${TOPDIR}"
do_clean[nostamp] = "1"
-do_clean[bbdepcmd] = ""
python base_do_clean() {
"""clear the build and temp directories"""
dir = bb.data.expand("${WORKDIR}", d)
@@ -425,27 +424,33 @@ python base_do_clean() {
os.system('rm -f '+ dir)
}
+#Uncomment this for bitbake 1.8.12
+#addtask rebuild after do_${BB_DEFAULT_TASK}
addtask rebuild
do_rebuild[dirs] = "${TOPDIR}"
do_rebuild[nostamp] = "1"
-do_rebuild[bbdepcmd] = ""
python base_do_rebuild() {
"""rebuild a package"""
- bb.build.exec_task('do_clean', d)
- bb.build.exec_task('do_' + bb.data.getVar('BB_DEFAULT_TASK', d, 1), d)
+ from bb import __version__
+ try:
+ from distutils.version import LooseVersion
+ except ImportError:
+ def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
+ if (LooseVersion(__version__) < LooseVersion('1.8.11')):
+ bb.build.exec_func('do_clean', d)
+ bb.build.exec_task('do_' + bb.data.getVar('BB_DEFAULT_TASK', d, 1), d)
}
addtask mrproper
do_mrproper[dirs] = "${TOPDIR}"
do_mrproper[nostamp] = "1"
-do_mrproper[bbdepcmd] = ""
python base_do_mrproper() {
"""clear downloaded sources, build and temp directories"""
dir = bb.data.expand("${DL_DIR}", d)
if dir == '/': bb.build.FuncFailed("wrong DATADIR")
bb.debug(2, "removing " + dir)
os.system('rm -rf ' + dir)
- bb.build.exec_task('do_clean', d)
+ bb.build.exec_func('do_clean', d)
}
addtask fetch
@@ -539,7 +544,7 @@ def oe_unpack_file(file, data, url = None):
cmd = 'tar x --no-same-owner -f %s' % file
elif file.endswith('.tgz') or file.endswith('.tar.gz') or file.endswith('.tar.Z'):
cmd = 'tar xz --no-same-owner -f %s' % file
- elif file.endswith('.tbz') or file.endswith('.tar.bz2'):
+ elif file.endswith('.tbz') or file.endswith('.tbz2') or file.endswith('.tar.bz2'):
cmd = 'bzip2 -dc %s | tar x --no-same-owner -f -' % file
elif file.endswith('.gz') or file.endswith('.Z') or file.endswith('.z'):
cmd = 'gzip -dc %s > %s' % (file, efile)
@@ -666,6 +671,17 @@ python base_eventhandler() {
if pesteruser:
bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
+ #
+ # Handle removing stamps for 'rebuild' task
+ #
+ if name.startswith("StampUpdate"):
+ for (fn, task) in e.targets:
+ #print "%s %s" % (task, fn)
+ if task == "do_rebuild":
+ dir = "%s.*" % e.stampPrefix[fn]
+ bb.note("Removing stamps: " + dir)
+ os.system('rm -f '+ dir)
+
if not data in e.__dict__:
return NotHandled
@@ -680,7 +696,6 @@ python base_eventhandler() {
addtask configure after do_unpack do_patch
do_configure[dirs] = "${S} ${B}"
-do_configure[bbdepcmd] = "do_populate_staging"
do_configure[deptask] = "do_populate_staging"
base_do_configure() {
:
@@ -688,7 +703,6 @@ base_do_configure() {
addtask compile after do_configure
do_compile[dirs] = "${S} ${B}"
-do_compile[bbdepcmd] = "do_populate_staging"
base_do_compile() {
if [ -e Makefile -o -e makefile ]; then
oe_runmake || die "make failed"
@@ -782,8 +796,10 @@ def get_subpkgedata_fn(pkg, d):
import bb, os
archs = bb.data.expand("${PACKAGE_ARCHS}", d).split(" ")
archs.reverse()
+ pkgdata = bb.data.expand('${STAGING_DIR}/pkgdata/', d)
+ targetdir = bb.data.expand('${TARGET_VENDOR}-${TARGET_OS}/runtime/', d)
for arch in archs:
- fn = bb.data.expand('${STAGING_DIR}/pkgdata/' + arch + '${TARGET_VENDOR}-${TARGET_OS}/runtime/%s' % pkg, d)
+ fn = pkgdata + arch + targetdir + pkg
if os.path.exists(fn):
return fn
return bb.data.expand('${PKGDATA_DIR}/runtime/%s' % pkg, d)
@@ -819,6 +835,20 @@ python read_subpackage_metadata () {
bb.data.setVar(key, sdata[key], d)
}
+# Make sure MACHINE isn't exported
+# (breaks binutils at least)
+MACHINE[unexport] = "1"
+
+# Make sure TARGET_ARCH isn't exported
+# (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this
+# in them, undocumented)
+TARGET_ARCH[unexport] = "1"
+
+# Make sure DISTRO isn't exported
+# (breaks sysvinit at least)
+DISTRO[unexport] = "1"
+
+
def base_after_parse(d):
import bb, os, exceptions
@@ -838,8 +868,6 @@ def base_after_parse(d):
if this_machine and not re.match(need_machine, this_machine):
raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
-
-
pn = bb.data.getVar('PN', d, 1)
# OBSOLETE in bitbake 1.7.4
@@ -851,22 +879,6 @@ def base_after_parse(d):
if use_nls != None:
bb.data.setVar('USE_NLS', use_nls, d)
- # Make sure MACHINE isn't exported
- # (breaks binutils at least)
- bb.data.delVarFlag('MACHINE', 'export', d)
- bb.data.setVarFlag('MACHINE', 'unexport', 1, d)
-
- # Make sure TARGET_ARCH isn't exported
- # (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this
- # in them, undocumented)
- bb.data.delVarFlag('TARGET_ARCH', 'export', d)
- bb.data.setVarFlag('TARGET_ARCH', 'unexport', 1, d)
-
- # Make sure DISTRO isn't exported
- # (breaks sysvinit at least)
- bb.data.delVarFlag('DISTRO', 'export', d)
- bb.data.setVarFlag('DISTRO', 'unexport', 1, d)
-
# Git packages should DEPEND on git-native
srcuri = bb.data.getVar('SRC_URI', d, 1)
if "git://" in srcuri:
@@ -896,7 +908,7 @@ def base_after_parse(d):
if len(paths) == 0:
return
- for s in bb.data.getVar('SRC_URI', d, 1).split():
+ for s in srcuri.split():
if not s.startswith("file://"):
continue
local = bb.data.expand(bb.fetch.localpath(s, d), d)
@@ -907,7 +919,19 @@ def base_after_parse(d):
return
python () {
+ import bb
+ from bb import __version__
base_after_parse(d)
+
+ # Remove this for bitbake 1.8.12
+ try:
+ from distutils.version import LooseVersion
+ except ImportError:
+ def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
+ if (LooseVersion(__version__) >= LooseVersion('1.8.11')):
+ deps = bb.data.getVarFlag('do_rebuild', 'deps', d) or []
+ deps.append('do_' + bb.data.getVar('BB_DEFAULT_TASK', d, 1))
+ bb.data.setVarFlag('do_rebuild', 'deps', deps, d)
}
def check_app_exists(app, d):
diff --git a/classes/distutils-base.bbclass b/classes/distutils-base.bbclass
index 5150be76b9..c4551ace83 100644
--- a/classes/distutils-base.bbclass
+++ b/classes/distutils-base.bbclass
@@ -11,8 +11,17 @@ def python_dir(d):
raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
PYTHON_DIR = "${@python_dir(d)}"
+
+PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}"
+
FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
-FILES_${PN}-dbg = "${libdir}/${PYTHON_DIR}/site-packages/.debug \
- ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \
- ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug"
+FILES_${PN}-dev += "\
+ ${libdir}/pkgconfig \
+ ${libdir}/${PYTHON_DIR}/site-packages/*.la \
+"
+FILES_${PN}-dbg = "\
+ ${libdir}/${PYTHON_DIR}/site-packages/.debug \
+ ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \
+ ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \
+"
diff --git a/classes/distutils.bbclass b/classes/distutils.bbclass
index 18aee09a26..fa34565eaf 100644
--- a/classes/distutils.bbclass
+++ b/classes/distutils.bbclass
@@ -13,16 +13,15 @@ distutils_do_compile() {
}
distutils_stage_headers() {
- install -d ${STAGING_DIR_HOST}${layout_prefix}/lib/${PYTHON_DIR}/site-packages
+ install -d ${STAGING_DIR_HOST}${layout_libdir}/${PYTHON_DIR}/site-packages
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
oefatal "python setup.py install_headers execution failed."
}
distutils_stage_all() {
- install -d ${STAGING_DIR_HOST}${layout_prefix}/lib/${PYTHON_DIR}/site-packages
- # is this missing a lib below?
- PYTHONPATH=${STAGING_DIR_HOST}${layout_prefix}/${PYTHON_DIR}/site-packages \
+ install -d ${STAGING_DIR_HOST}${layout_libdir}/${PYTHON_DIR}/site-packages
+ PYTHONPATH=${STAGING_DIR_HOST}${layout_libdir}/${PYTHON_DIR}/site-packages \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \
oefatal "python setup.py install (stage) execution failed."
diff --git a/classes/image.bbclass b/classes/image.bbclass
index d70cfa5daf..67a3a4fa10 100644
--- a/classes/image.bbclass
+++ b/classes/image.bbclass
@@ -35,9 +35,9 @@ python () {
}
#
-# Get a list of files containing device tables to create.
+# Get a list of files containing tables of devices to be created.
# * IMAGE_DEVICE_TABLE is the old name to an absolute path to a device table file
-# * IMAGE_DEVICE_TABLES is a new name for a file, or list of files, seached
+# * IMAGE_DEVICE_TABLES is a new name for a file, or list of files, searched
# for in the BBPATH
# If neither are specified then the default name of files/device_table-minimal.txt
# is searched for in the BBPATH (same as the old version.)
@@ -110,6 +110,14 @@ fakeroot do_rootfs () {
${MACHINE_POSTPROCESS_COMMAND}
}
+do_deploy_to[nostamp] = "1"
+do_deploy_to () {
+ # A standalone task to deploy built image to the location specified
+ # by DEPLOY_TO variable (likely passed via environment).
+ # Assumes ${IMAGE_FSTYPES} is a single value!
+ cp "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${IMAGE_FSTYPES}" ${DEPLOY_TO}
+}
+
insert_feed_uris () {
echo "Building feeds for [${DISTRO}].."
@@ -202,3 +210,4 @@ rootfs_update_timestamp () {
EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp
addtask rootfs before do_build after do_install
+addtask deploy_to after do_rootfs
diff --git a/classes/kernel-arch.bbclass b/classes/kernel-arch.bbclass
index b45f3f9696..5e5d9a94a8 100644
--- a/classes/kernel-arch.bbclass
+++ b/classes/kernel-arch.bbclass
@@ -5,7 +5,7 @@
#
valid_archs = "alpha cris ia64 \
- x86_64,i386 x86 \
+ x86_64 i386 x86 \
m68knommu m68k ppc powerpc ppc64 \
sparc sparc64 \
arm arm26 \
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 047a3ec047..459c553ffe 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -11,6 +11,10 @@ PACKAGES_DYNAMIC += "kernel-image-*"
export OS = "${TARGET_OS}"
export CROSS_COMPILE = "${TARGET_PREFIX}"
KERNEL_IMAGETYPE ?= "zImage"
+# Base filename under which users see built kernel (i.e. deploy name)
+KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}"
+# Symlink basename pointing to the most recently built kernel for a machine
+KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}"
KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}"
@@ -30,6 +34,7 @@ HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
+# Where built kernel lies in the kernel tree
KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
KERNEL_IMAGEDEST = "boot"
@@ -60,6 +65,22 @@ kernel_do_compile() {
fi
}
+INITRAMFS_SYMLINK_NAME ?= "initramfs-${MACHINE}"
+INITRAMFS_IMAGE_TARGET ?= "initramfs-image"
+
+do_builtin_initramfs() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
+ cp "${DEPLOY_DIR_IMAGE}/${INITRAMFS_SYMLINK_NAME}" usr/initramfs_data.cpio.gz
+ oe_runmake ${KERNEL_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}-initramfs.bin
+ # Make sure to kill injected initramfs, in case someone will do "-c compile -f"
+ rm usr/initramfs_data.cpio.gz
+}
+addtask builtin_initramfs after do_compile
+do_builtin_initramfs[nostamp] = "1"
+do_builtin_initramfs[depends] = "${INITRAMFS_IMAGE_TARGET}:do_rootfs"
+
kernel_do_stage() {
ASMDIR=`readlink include/asm`
@@ -107,6 +128,10 @@ kernel_do_stage() {
if [ -e arch/${ARCH}/Makefile ]; then
install -d ${STAGING_KERNEL_DIR}/arch/${ARCH}
install -m 0644 arch/${ARCH}/Makefile* ${STAGING_KERNEL_DIR}/arch/${ARCH}
+ # Otherwise check arch/x86/Makefile for i386 and x86_64 on kernels >= 2.6.24
+ elif [ -e arch/x86/Makefile ]; then
+ install -d ${STAGING_KERNEL_DIR}/arch/x86
+ install -m 0644 arch/x86/Makefile* ${STAGING_KERNEL_DIR}/arch/x86
fi
cp -fR include/config* ${STAGING_KERNEL_DIR}/include/
install -m 0644 ${KERNEL_OUTPUT} ${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}
diff --git a/classes/mono.bbclass b/classes/mono.bbclass
index ccb16d9acc..cf8dd15bdf 100644
--- a/classes/mono.bbclass
+++ b/classes/mono.bbclass
@@ -52,6 +52,8 @@ def mono_find_provides_and_requires(files, d):
requires = [e for e in requires if not e in provides]
return provides, requires
+CLILIBSDIR = "${STAGING_DIR_HOST}/clilibs"
+
python mono_do_clilibs() {
import bb, os, re, os.path
@@ -70,14 +72,9 @@ python mono_do_clilibs() {
bb.error("WORKDIR not defined")
return
- staging = bb.data.getVar('STAGING_DIR', d, 1)
- if not staging:
- bb.error("STAGING_DIR not defined")
- return
-
pkgdest = bb.data.getVar('PKGDEST', d, 1)
- clilibs_dir = os.path.join(staging, "clilibs")
+ clilibs_dir = bb.data.getVar('CLILIBSDIR', d, 1)
bb.mkdirhier(clilibs_dir)
provides, requires = {}, {}
diff --git a/classes/nylon-mirrors.bbclass b/classes/nylon-mirrors.bbclass
index 25a8b87d9b..02fddc01ba 100644
--- a/classes/nylon-mirrors.bbclass
+++ b/classes/nylon-mirrors.bbclass
@@ -1,6 +1,6 @@
MIRRORS_append () {
-ftp://.*/.*/ http://meshcube.org/nylon/stable/sources/
-https?://.*/.*/ http://meshcube.org/nylon/stable/sources/
-ftp://.*/.*/ http://meshcube.org/nylon/unstable/sources/
-https?://.*/.*/ http://meshcube.org/nylon/unstable/sources/
+ftp://.*/.* http://meshcube.org/nylon/stable/sources/
+https?://.*/.* http://meshcube.org/nylon/stable/sources/
+ftp://.*/.* http://meshcube.org/nylon/unstable/sources/
+https?://.*/.* http://meshcube.org/nylon/unstable/sources/
} \ No newline at end of file
diff --git a/classes/oplinux-mirrors.bbclass b/classes/oplinux-mirrors.bbclass
index c76e822ce3..59c199485c 100644
--- a/classes/oplinux-mirrors.bbclass
+++ b/classes/oplinux-mirrors.bbclass
@@ -2,13 +2,13 @@
# Released under the MIT license (see packages/COPYING)
MIRRORS_append () {
-ftp://.*/.*/ http://digital-opsis.com/oplinux/stable/sources/
-https?://.*/.*/ http://digital-opsis.com/oplinux/stable/sources/
-ftp://.*/.*/ http://digital-opsis.com/oplinux/unstable/sources/
-https?://.*/.*/ http://digital-opsis.com/oplinux/unstable/sources/
+ftp://.*/.* http://digital-opsis.com/oplinux/stable/sources/
+https?://.*/.* http://digital-opsis.com/oplinux/stable/sources/
+ftp://.*/.* http://digital-opsis.com/oplinux/unstable/sources/
+https?://.*/.* http://digital-opsis.com/oplinux/unstable/sources/
-ftp://.*/.*/ http://digital-opsis.com/oplinux-uclibc/stable/sources/
-https?://.*/.*/ http://digital-opsis.com/oplinux-uclibc/stable/sources/
-ftp://.*/.*/ http://digital-opsis.com/oplinux-uclibc/unstable/sources/
-https?://.*/.*/ http://digital-opsis.com/oplinux-uclibc/unstable/sources/
+ftp://.*/.* http://digital-opsis.com/oplinux-uclibc/stable/sources/
+https?://.*/.* http://digital-opsis.com/oplinux-uclibc/stable/sources/
+ftp://.*/.* http://digital-opsis.com/oplinux-uclibc/unstable/sources/
+https?://.*/.* http://digital-opsis.com/oplinux-uclibc/unstable/sources/
}
diff --git a/classes/package.bbclass b/classes/package.bbclass
index ec8c3d97e2..325c0b52f5 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -291,76 +291,6 @@ python package_do_split_locales() {
#bb.data.setVar('RDEPENDS_%s' % mainpkg, ' '.join(rdep), d)
}
-def copyfile(src,dest,newmtime=None,sstat=None):
- """
- Copies a file from src to dest, preserving all permissions and
- attributes; mtime will be preserved even when moving across
- filesystems. Returns true on success and false on failure.
- """
- import os, stat, shutil, commands
-
- #print "copyfile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")"
- try:
- if not sstat:
- sstat=os.lstat(src)
- except Exception, e:
- print "copyfile: Stating source file failed...", e
- return False
-
- destexists=1
- try:
- dstat=os.lstat(dest)
- except:
- dstat=os.lstat(os.path.dirname(dest))
- destexists=0
-
- if destexists:
- if stat.S_ISLNK(dstat[stat.ST_MODE]):
- try:
- os.unlink(dest)
- destexists=0
- except Exception, e:
- pass
-
- if stat.S_ISLNK(sstat[stat.ST_MODE]):
- try:
- target=os.readlink(src)
- if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
- os.unlink(dest)
- os.symlink(target,dest)
- #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
- return os.lstat(dest)
- except Exception, e:
- print "copyfile: failed to properly create symlink:", dest, "->", target, e
- return False
-
- if stat.S_ISREG(sstat[stat.ST_MODE]):
- try: # For safety copy then move it over.
- shutil.copyfile(src,dest+"#new")
- os.rename(dest+"#new",dest)
- except Exception, e:
- print 'copyfile: copy', src, '->', dest, 'failed.', e
- return False
- else:
- #we don't yet handle special, so we need to fall back to /bin/mv
- a=commands.getstatusoutput("/bin/cp -f "+"'"+src+"' '"+dest+"'")
- if a[0]!=0:
- print "copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a
- return False # failure
- try:
- os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
- os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
- except Exception, e:
- print "copyfile: Failed to chown/chmod/unlink", dest, e
- return False
-
- if newmtime:
- os.utime(dest,(newmtime,newmtime))
- else:
- os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
- newmtime=sstat[stat.ST_MTIME]
- return newmtime
-
python populate_packages () {
import glob, stat, errno, re
@@ -462,7 +392,7 @@ python populate_packages () {
fpath = os.path.join(root,file)
dpath = os.path.dirname(fpath)
bb.mkdirhier(dpath)
- ret = copyfile(file, fpath)
+ ret = bb.copyfile(file, fpath)
if ret is False or ret == 0:
raise bb.build.FuncFailed("File population failed")
del localdata
@@ -578,16 +508,19 @@ python emit_pkgdata() {
os.chdir(root)
g = glob('*')
if g or allow_empty == "1":
- file(bb.data.expand('${PKGDATA_DIR}/runtime/%s.packaged' % pkg, d), 'w').close()
+ packagedfile = bb.data.expand('${PKGDATA_DIR}/runtime/%s.packaged' % pkg, d)
+ file(packagedfile, 'w').close()
}
emit_pkgdata[dirs] = "${PKGDATA_DIR}/runtime"
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
- ldconfig
+ [ -x /sbin/ldconfig ] && /sbin/ldconfig
fi
}
+SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs"
+
python package_do_shlibs() {
import os, re, os.path
@@ -606,25 +539,14 @@ python package_do_shlibs() {
bb.error("WORKDIR not defined")
return
- staging = bb.data.getVar('STAGING_DIR', d, 1)
- if not staging:
- bb.error("STAGING_DIR not defined")
- return
-
ver = bb.data.getVar('PV', d, 1)
if not ver:
bb.error("PV not defined")
return
- target_sys = bb.data.getVar('TARGET_SYS', d, 1)
- if not target_sys:
- bb.error("TARGET_SYS not defined")
- return
-
pkgdest = bb.data.getVar('PKGDEST', d, 1)
- shlibs_dir = os.path.join(staging, target_sys, "shlibs")
- old_shlibs_dir = os.path.join(staging, "shlibs")
+ shlibs_dir = bb.data.getVar('SHLIBSDIR', d, 1)
bb.mkdirhier(shlibs_dir)
needed = {}
@@ -681,7 +603,7 @@ python package_do_shlibs() {
shlib_provider = {}
list_re = re.compile('^(.*)\.list$')
- for dir in [old_shlibs_dir, shlibs_dir]:
+ for dir in [shlibs_dir]:
if not os.path.exists(dir):
continue
for file in os.listdir(dir):
@@ -751,20 +673,9 @@ python package_do_pkgconfig () {
bb.error("WORKDIR not defined")
return
- staging = bb.data.getVar('STAGING_DIR', d, 1)
- if not staging:
- bb.error("STAGING_DIR not defined")
- return
-
- target_sys = bb.data.getVar('TARGET_SYS', d, 1)
- if not target_sys:
- bb.error("TARGET_SYS not defined")
- return
-
pkgdest = bb.data.getVar('PKGDEST', d, 1)
- shlibs_dir = os.path.join(staging, target_sys, "shlibs")
- old_shlibs_dir = os.path.join(staging, "shlibs")
+ shlibs_dir = bb.data.getVar('SHLIBSDIR', d, 1)
bb.mkdirhier(shlibs_dir)
pc_re = re.compile('(.*)\.pc$')
@@ -814,7 +725,7 @@ python package_do_pkgconfig () {
f.write('%s\n' % p)
f.close()
- for dir in [old_shlibs_dir, shlibs_dir]:
+ for dir in [shlibs_dir]:
if not os.path.exists(dir):
continue
for file in os.listdir(dir):
@@ -882,14 +793,39 @@ python package_depchains() {
postfixes = (bb.data.getVar('DEPCHAIN_POST', d, 1) or '').split()
prefixes = (bb.data.getVar('DEPCHAIN_PRE', d, 1) or '').split()
+ def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
+
+ #bb.note('depends for %s is %s' % (base, depends))
+ rreclist = explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, 1) or bb.data.getVar('RRECOMMENDS', d, 1) or "")
+
+ for depend in depends:
+ if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
+ #bb.note("Skipping %s" % depend)
+ continue
+ if depend.endswith('-dev'):
+ depend = depend.replace('-dev', '')
+ if depend.endswith('-dbg'):
+ depend = depend.replace('-dbg', '')
+ pkgname = getname(depend, suffix)
+ #bb.note("Adding %s for %s" % (pkgname, depend))
+ if not pkgname in rreclist:
+ rreclist.append(pkgname)
+
+ #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
+ bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d)
+
def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
- #bb.note('rdepends for %s is %s' % (base, rdepends))
+ #bb.note('rdepends for %s is %s' % (base, rdepends))
rreclist = explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, 1) or bb.data.getVar('RRECOMMENDS', d, 1) or "")
for depend in rdepends:
+ if depend.endswith('-dev'):
+ depend = depend.replace('-dev', '')
+ if depend.endswith('-dbg'):
+ depend = depend.replace('-dbg', '')
pkgname = getname(depend, suffix)
- if not pkgname in rreclist and packaged(pkgname, d):
+ if not pkgname in rreclist:
rreclist.append(pkgname)
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
@@ -900,6 +836,10 @@ python package_depchains() {
if dep not in list:
list.append(dep)
+ depends = []
+ for dep in explode_deps(bb.data.getVar('DEPENDS', d, 1) or ""):
+ add_dep(depends, dep)
+
rdepends = []
for dep in explode_deps(bb.data.getVar('RDEPENDS', d, 1) or ""):
add_dep(rdepends, dep)
@@ -932,6 +872,8 @@ python package_depchains() {
for suffix in pkgs:
for pkg in pkgs[suffix]:
(base, func) = pkgs[suffix][pkg]
+ if suffix == "-dev":
+ pkg_adddeprrecs(pkg, base, suffix, func, depends, d)
if len(pkgs[suffix]) == 1:
pkg_addrrecs(pkg, base, suffix, func, rdepends, d)
else:
diff --git a/classes/package_deb.bbclass b/classes/package_deb.bbclass
index b85ffe254f..22b6166685 100644
--- a/classes/package_deb.bbclass
+++ b/classes/package_deb.bbclass
@@ -28,7 +28,7 @@ python do_package_deb_install () {
pkgfn = bb.data.getVar('PKGFN', d, 1)
rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1)
debdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
- stagingdir = bb.data.getVar('STAGING_DIR', d, 1)
+ apt_config = bb.data.expand('${STAGING_ETCDIR_NATIVE}/apt/apt.conf', d)
stagingbindir = bb.data.getVar('STAGING_BINDIR_NATIVE', d, 1)
tmpdir = bb.data.getVar('TMPDIR', d, 1)
@@ -54,8 +54,8 @@ python do_package_deb_install () {
# env of the fork+execve'd processs
# Set up environment
- apt_config = os.getenv('APT_CONFIG')
- os.putenv('APT_CONFIG', os.path.join(stagingdir, 'etc', 'apt', 'apt.conf'))
+ apt_config_backup = os.getenv('APT_CONFIG')
+ os.putenv('APT_CONFIG', apt_config)
path = os.getenv('PATH')
os.putenv('PATH', '%s:%s' % (stagingbindir, os.getenv('PATH')))
@@ -64,12 +64,12 @@ python do_package_deb_install () {
commands.getstatusoutput('apt-get install -y %s' % pkgfn)
# revert environment
- os.putenv('APT_CONFIG', apt_config)
+ os.putenv('APT_CONFIG', apt_config_backup)
os.putenv('PATH', path)
}
python do_package_deb () {
- import sys, re, fcntl, copy
+ import sys, re, copy
workdir = bb.data.getVar('WORKDIR', d, 1)
if not workdir:
@@ -102,20 +102,12 @@ python do_package_deb () {
bb.debug(1, "No packages; nothing to do")
return
- def lockfile(name):
- lf = open(name, "a+")
- fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
- return lf
-
- def unlockfile(lf):
- fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
- lf.close
-
for pkg in packages.split():
localdata = bb.data.createCopy(d)
- root = "%s/install/%s" % (workdir, pkg)
+ pkgdest = bb.data.getVar('PKGDEST', d, 1)
+ root = "%s/%s" % (pkgdest, pkg)
- lf = lockfile(root + ".lock")
+ lf = bb.utils.lockfile(root + ".lock")
bb.data.setVar('ROOT', '', localdata)
bb.data.setVar('ROOT_%s' % pkg, root, localdata)
@@ -147,7 +139,7 @@ python do_package_deb () {
if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
from bb import note
note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
continue
controldir = os.path.join(root, 'DEBIAN')
@@ -158,6 +150,7 @@ python do_package_deb () {
# import codecs
# ctrlfile = codecs.open("someFile", "w", "utf-8")
except OSError:
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("unable to open control file for writing.")
fields = []
@@ -196,6 +189,7 @@ python do_package_deb () {
ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
except KeyError:
(type, value, traceback) = sys.exc_info()
+ bb.utils.unlockfile(lf)
ctrlfile.close()
raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
# more fields
@@ -231,6 +225,7 @@ python do_package_deb () {
try:
scriptfile = file(os.path.join(controldir, script), 'w')
except OSError:
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
scriptfile.write("#!/bin/sh\n")
scriptfile.write(scriptvar)
@@ -242,6 +237,7 @@ python do_package_deb () {
try:
conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
except OSError:
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("unable to open conffiles for writing.")
for f in conffiles_str.split():
conffiles.write('%s\n' % f)
@@ -250,6 +246,7 @@ python do_package_deb () {
os.chdir(basedir)
ret = os.system("PATH=\"%s\" fakeroot dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, 1), root, pkgoutdir))
if ret != 0:
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("dpkg-deb execution failed")
for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
@@ -263,13 +260,16 @@ python do_package_deb () {
except OSError:
pass
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
}
python () {
import bb
if bb.data.getVar('PACKAGES', d, True) != '':
- bb.data.setVarFlag('do_package_write_deb', 'depends', 'dpkg-native:do_populate_staging fakeroot-native:do_populate_staging', d)
+ deps = (bb.data.getVarFlag('do_package_write_deb', 'depends', d) or "").split()
+ deps.append('dpkg-native:do_populate_staging')
+ deps.append('fakeroot-native:do_populate_staging')
+ bb.data.setVarFlag('do_package_write_deb', 'depends', " ".join(deps), d)
}
python do_package_write_deb () {
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass
index 087bbcbfb4..2feaeba3b3 100644
--- a/classes/package_ipk.bbclass
+++ b/classes/package_ipk.bbclass
@@ -12,6 +12,10 @@ python package_ipk_fn () {
}
python package_ipk_install () {
+ #
+ # Warning - this function is not multimachine safe (see stagingdir reference)!
+ #
+
import os, sys
pkg = bb.data.getVar('PKG', d, 1)
pkgfn = bb.data.getVar('PKGFN', d, 1)
@@ -114,7 +118,7 @@ package_generate_ipkg_conf () {
}
python do_package_ipk () {
- import sys, re, copy, fcntl
+ import sys, re, copy
workdir = bb.data.getVar('WORKDIR', d, 1)
if not workdir:
@@ -147,22 +151,12 @@ python do_package_ipk () {
bb.debug(1, "No packages; nothing to do")
return
- def lockfile(name):
- lf = open(name, "a+")
- fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
- return lf
-
- def unlockfile(lf):
- fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
- lf.close
-
-
for pkg in packages.split():
localdata = bb.data.createCopy(d)
pkgdest = bb.data.getVar('PKGDEST', d, 1)
root = "%s/%s" % (pkgdest, pkg)
- lf = lockfile(root + ".lock")
+ lf = bb.utils.lockfile(root + ".lock")
bb.data.setVar('ROOT', '', localdata)
bb.data.setVar('ROOT_%s' % pkg, root, localdata)
@@ -193,7 +187,7 @@ python do_package_ipk () {
if not g and bb.data.getVar('ALLOW_EMPTY', localdata) != "1":
from bb import note
note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
continue
controldir = os.path.join(root, 'CONTROL')
@@ -201,7 +195,7 @@ python do_package_ipk () {
try:
ctrlfile = file(os.path.join(controldir, 'control'), 'w')
except OSError:
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("unable to open control file for writing.")
fields = []
@@ -235,7 +229,7 @@ python do_package_ipk () {
except KeyError:
(type, value, traceback) = sys.exc_info()
ctrlfile.close()
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("Missing field for ipk generation: %s" % value)
# more fields
@@ -272,7 +266,7 @@ python do_package_ipk () {
try:
scriptfile = file(os.path.join(controldir, script), 'w')
except OSError:
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
scriptfile.write(scriptvar)
scriptfile.close()
@@ -283,7 +277,7 @@ python do_package_ipk () {
try:
conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
except OSError:
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("unable to open conffiles for writing.")
for f in conffiles_str.split():
conffiles.write('%s\n' % f)
@@ -293,7 +287,7 @@ python do_package_ipk () {
ret = os.system("PATH=\"%s\" %s %s %s" % (bb.data.getVar("PATH", localdata, 1),
bb.data.getVar("IPKGBUILDCMD",d,1), pkg, pkgoutdir))
if ret != 0:
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
raise bb.build.FuncFailed("ipkg-build execution failed")
for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
@@ -306,7 +300,7 @@ python do_package_ipk () {
os.rmdir(controldir)
except OSError:
pass
- unlockfile(lf)
+ bb.utils.unlockfile(lf)
}
python () {
@@ -323,5 +317,4 @@ python do_package_write_ipk () {
bb.build.exec_func("do_package_ipk", d)
}
do_package_write_ipk[dirs] = "${D}"
-do_package_write_ipk[depends] = "ipkg-utils-native:do_populate_staging"
addtask package_write_ipk before do_package_write after do_package
diff --git a/classes/package_rpm.bbclass b/classes/package_rpm.bbclass
index 7fc5e8ea96..6713f8fcad 100644
--- a/classes/package_rpm.bbclass
+++ b/classes/package_rpm.bbclass
@@ -134,7 +134,10 @@ python do_package_rpm () {
python () {
import bb
if bb.data.getVar('PACKAGES', d, True) != '':
- bb.data.setVarFlag('do_package_write_rpm', 'depends', 'rpm-native:do_populate_staging', d)
+ deps = (bb.data.getVarFlag('do_package_write_rpm', 'depends', d) or "").split()
+ deps.append('rpm-native:do_populate_staging')
+ deps.append('fakeroot-native:do_populate_staging')
+ bb.data.setVarFlag('do_package_write_rpm', 'depends', " ".join(deps), d)
}
diff --git a/classes/package_tar.bbclass b/classes/package_tar.bbclass
index cb4c42b261..876cec6cfe 100644
--- a/classes/package_tar.bbclass
+++ b/classes/package_tar.bbclass
@@ -83,15 +83,12 @@ python do_package_tar () {
bb.mkdirhier(pkgoutdir)
bb.build.exec_func('package_tar_fn', localdata)
tarfn = bb.data.getVar('PKGFN', localdata, 1)
-# if os.path.exists(tarfn):
-# del localdata
-# continue
os.chdir(root)
from glob import glob
if not glob('*'):
bb.note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
continue
- ret = os.system("tar -czvf %s %s" % (tarfn, '.'))
+ ret = os.system("tar -czf %s %s" % (tarfn, '.'))
if ret != 0:
bb.error("Creation of tar %s failed." % tarfn)
}
@@ -99,7 +96,10 @@ python do_package_tar () {
python () {
import bb
if bb.data.getVar('PACKAGES', d, True) != '':
- bb.data.setVarFlag('do_package_write_tar', 'depends', 'tar-native:do_populate_staging', d)
+ deps = (bb.data.getVarFlag('do_package_write_tar', 'depends', d) or "").split()
+ deps.append('tar-native:do_populate_staging')
+ deps.append('fakeroot-native:do_populate_staging')
+ bb.data.setVarFlag('do_package_write_tar', 'depends', " ".join(deps), d)
}
diff --git a/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass
index 4b4ebb58bf..29ce72d65c 100644
--- a/classes/packaged-staging.bbclass
+++ b/classes/packaged-staging.bbclass
@@ -1,228 +1,229 @@
#
-# Populated ${STAGING} using packages
+# Populate builds using prebuilt packages where possible to speed up builds
+# and allow staging to be reconstructed.
#
# To use it add that line to conf/local.conf:
#
-# INHERIT += "packaged-staging"
-#
-# You also need ipkg-cl and ipkg-make-index installed on your host
-# put ipkg-build from org.openembedded.packaged-staging/contrib/ in your $PATH
-
-# BUGS:
-# * does not distinguish between -native, -cross and other packages
-
-# TODO:
-# * also build a feed for native and cross packages
-# * make package detection a bit smarter (search for compatible archs)
-# * make do_clean clean staging as well
-
-# Summary:
-# This class will have two modes of operation:
-# PSTAGE_MODE = 'repopulate': repopulated staging from scratch for each packages
-# PSTAGE_MODE = 'append': append each package to staging (current behaviour)
-
-inherit package
+# INHERIT = "packaged-staging"
+
+python () {
+ import bb
+ if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('image', d) and not bb.data.inherits_class('cross', d) and not bb.data.inherits_class('sdk', d):
+ deps = bb.data.getVarFlag('do_populate_staging', 'depends', d) or ""
+ deps += " stagemanager-native:do_populate_staging"
+ bb.data.setVarFlag('do_populate_staging', 'depends', deps, d)
+
+ deps = bb.data.getVarFlag('do_prepackaged_stage', 'depends', d) or ""
+ deps += " ipkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
+ bb.data.setVarFlag('do_prepackaged_stage', 'depends', deps, d)
+ else:
+ bb.data.setVar("PSTAGING_DISABLED", "1", d)
+}
-DEPENDS = "stagemanager-native"
+export PSTAGING_DISABLED = "0"
DEPLOY_DIR_PSTAGE = "${DEPLOY_DIR}/pstage"
PSTAGE_BUILD_CMD = "${IPKGBUILDCMD}"
-PSTAGE_INSTALL_CMD = "ipkg-cl install -force-depends -f ${DEPLOY_DIR_PSTAGE}/ipkg.conf -o "
-PSTAGE_UPDATE_CMD = "ipkg-cl update -f ${DEPLOY_DIR_PSTAGE}/ipkg.conf -o "
-PSTAGE_LIST_CMD = "ipkg-cl list_installed -f ${DEPLOY_DIR_PSTAGE}/ipkg.conf -o "
-PSTAGE_PKGNAME = "staging-${PN}_${PV}-${PR}_${PACKAGE_ARCH}.ipk"
-PCROSS_PKGNAME = "cross-${PN}_${PV}-${PR}_${BUILD_ARCH}.ipk"
-
-SPAWNFILE = "${STAGING_DIR}/pkgmaps/${P}-${PR}.spawn"
-SPAWNIPK = "${spawn}"
-
-PSTAGE_TMPDIR_STAGE = "${TMPDIR}/tmp-staging"
-PSTAGE_TMPDIR_CROSS = "${TMPDIR}/tmp-cross"
-
-STAGING_BASEDIR = "${STAGING_LIBDIR}/.."
-
-PACKAGEFUNCS += "do_write_ipk_list"
-
-python do_write_ipk_list () {
- import os, sys
- ipkdir = bb.data.getVar('DEPLOY_DIR_IPK', d, 1)
- stagingdir = bb.data.getVar('STAGING_DIR', d, 1)
- tmpdir = bb.data.getVar('TMPDIR', d, 1)
- p = bb.data.getVar('P', d, 1)
- pr = bb.data.getVar('PR', d, 1)
-
- packages = bb.data.getVar('PACKAGES', d, 1)
- if not packages:
- bb.debug(1, "PACKAGES not defined, nothing to package")
- return
-
- if packages == []:
- bb.debug(1, "No packages; nothing to do")
- return
-
- # Generate ipk.conf if it or the stamp doesnt exist
- listfile = os.path.join(stagingdir,"pkgmaps","%s-%s.spawn" % ( p , pr ))
- os.system('mkdir -p ' + stagingdir + '/pkgmaps')
- if not os.access(listfile, os.R_OK):
- os.system('rm -f ' + listfile)
- f = open(listfile,"w")
- for spawn in packages.split():
- #check if the packagename has changed due to debian shlib renaming
- localdata = bb.data.createCopy(d)
- pkgname = bb.data.getVar('PKG_%s' % spawn, localdata, 1)
- if not pkgname:
- pkgname = spawn
- f.write("%s\n" % pkgname)
- f.close()
-}
+PSTAGE_INSTALL_CMD = "ipkg-cl install -force-depends -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
+PSTAGE_UPDATE_CMD = "ipkg-cl update -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
+PSTAGE_REMOVE_CMD = "ipkg-cl remove -force-depends -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
+PSTAGE_LIST_CMD = "ipkg-cl list_installed -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
+PSTAGE_PKGNAME = "staging-${PN}_${PV}-${PR}_${MULTIMACH_ARCH}.ipk"
+PSTAGE_TMPDIR_STAGE = "${WORKDIR}/staging-pkg"
do_clean_append() {
- """clear the build and temp directories"""
+ """
+ Clear the build and temp directories
+ """
+ bb.note("Uninstalling package from staging...")
+ path = bb.data.getVar("PATH", d, 1)
+ removecmd = bb.data.getVar("PSTAGE_REMOVE_CMD", d, 1)
+ removepkg = bb.data.expand("staging-${PN}", d)
+ ret = os.system("PATH=\"%s\" %s %s" % (path, removecmd, removepkg))
+ if ret != 0:
+ bb.note("Failure removing staging package")
+
stagepkg = bb.data.expand("${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}", d)
- if stagepkg == '//': raise bb.build.FuncFailed("wrong DATADIR")
- bb.note("removing " + stagepkg)
- os.system('rm -rf ' + stagepkg)
+ bb.note("Removing staging package %s" % stagepkg)
+ #os.system('rm -rf ' + stagepkg)
}
-
-do_stage_prepend() {
-
- stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/staging-stamp-cache -u
-
- stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/cross-stamp-cache -u
-
- if [ ! -e ${STAGING_BASEDIR} ]; then
- mkdir -p ${STAGING_BASEDIR}
- fi
-
- if [ ! -e ${DEPLOY_DIR_PSTAGE} ]; then
- mkdir -p ${DEPLOY_DIR_PSTAGE}
- fi
-
- if [ -e ${STAGING_BASEDIR}/usr ]; then
- oenote "${STAGING_BASEDIR}/usr already present, leaving it alone"
- else
- oenote "${STAGING_BASEDIR}/usr not present, symlinking it"
- ln -s ${STAGING_BASEDIR}/ ${STAGING_BASEDIR}/usr
- fi
-
+staging_helper () {
#assemble appropriate ipkg.conf
- if [ -e ${DEPLOY_DIR_PSTAGE}/ipkg.conf ]; then
- rm ${DEPLOY_DIR_PSTAGE}/ipkg.conf
+ conffile=${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf
+ mkdir -p ${DEPLOY_DIR_PSTAGE}/pstaging_lists
+ if [ ! -e $conffile ]; then
+ ipkgarchs="${BUILD_ARCH} all any noarch ${TARGET_ARCH} ${PACKAGE_ARCHS} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
+ priority=1
+ for arch in $ipkgarchs; do
+ echo "arch $arch $priority" >> $conffile
+ priority=$(expr $priority + 5)
+ done
+ echo "src oe-staging file:${DEPLOY_DIR_PSTAGE}" >> $conffile
+
+ OLD_PWD=`pwd`
+ cd ${DEPLOY_DIR_PSTAGE}
+ ipkg-make-index -p Packages .
+ cd ${OLD_PWD}
+
+ ${PSTAGE_UPDATE_CMD}
fi
+}
- ipkgarchs="${BUILD_ARCH} all any noarch ${TARGET_ARCH} ${PACKAGE_ARCHS} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> ${DEPLOY_DIR_PSTAGE}/ipkg.conf
- priority=$(expr $priority + 5)
- done
- echo "src oe file:${DEPLOY_DIR_IPK}" >> ${DEPLOY_DIR_PSTAGE}/ipkg.conf
- export OLD_PWD=`pwd`
- cd ${DEPLOY_DIR_IPK} && rm *${BUILD_ARCH}.ipk -f ; ipkg-make-index -p Packages . ; cd ${OLD_PWD}
- ${PSTAGE_UPDATE_CMD} ${STAGING_BASEDIR}
-
- #check for generated packages
- if [ -e ${SPAWNFILE} ]; then
- oenote "List of spawned packages found: ${P}.spawn"
- for spawn in `cat ${SPAWNFILE} | grep -v locale | grep -v dbg | grep -v gconv | grep -v charmap` ; do \
- if [ -e ${DEPLOY_DIR_IPK}/${spawn}_* ]; then
- ${PSTAGE_INSTALL_CMD} ${STAGING_BASEDIR} ${spawn}
- # clean up .la files to avoid having references to the builddirs in the binaries
- for lafile in ${STAGING_LIBDIR}/*.la ; do \
- sed -i s:installed=yes:installed=no:g ${lafile} || true
- done
-
- #fix up linker script to poin to staging
- if [ -e ${STAGING_LIBDIR}/libc.so ]; then
- sed -i s:\ /lib:\ ${STAGING_LIBDIR}:g ${STAGING_LIBDIR}/libc.so
- sed -i s:\ /usr/lib:\ ${STAGING_LIBDIR}:g ${STAGING_LIBDIR}/libc.so
- fi
- else
- oenote "${spawn} not found, probably empty package"
- fi
- done
- exit 0
- else
- oenote "Spawn file not found!"
- fi
+python do_prepackaged_stage () {
+ import os
+
+ if bb.data.getVar("PSTAGING_DISABLED", d, 1) == "1":
+ bb.build.make_stamp("do_prepackaged_stage", d)
+ return
+
+ bb.note("Uninstalling any existing package from staging...")
+ path = bb.data.getVar("PATH", d, 1)
+ removecmd = bb.data.getVar("PSTAGE_REMOVE_CMD", d, 1)
+ removepkg = bb.data.expand("staging-${PN}", d)
+ lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d))
+ ret = os.system("PATH=\"%s\" %s %s" % (path, removecmd, removepkg))
+ bb.utils.unlockfile(lf)
+ if ret != 0:
+ bb.note("Failure attempting to remove staging package")
+
+ stagepkg = bb.data.expand("${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}", d)
+
+ if os.path.exists(stagepkg):
+ bb.note("Following speedup\n")
+ path = bb.data.getVar("PATH", d, 1)
+ installcmd = bb.data.getVar("PSTAGE_INSTALL_CMD", d, 1)
+
+ bb.build.exec_func("staging_helper", d)
+
+ bb.debug(1, "Staging stuff already packaged, using that instead")
+ lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d))
+ ret = os.system("PATH=\"%s\" %s %s" % (path, installcmd, stagepkg))
+ bb.utils.unlockfile(lf)
+ if ret != 0:
+ bb.note("Failure installing prestage package")
+
+ bb.build.make_stamp("do_prepackaged_stage", d)
+ bb.build.make_stamp("do_fetch", d)
+ bb.build.make_stamp("do_unpack", d)
+ bb.build.make_stamp("do_munge", d)
+ bb.build.make_stamp("do_patch", d)
+ bb.build.make_stamp("do_configure", d)
+ bb.build.make_stamp("do_qa_configure", d)
+ bb.build.make_stamp("do_rig_locales", d)
+ bb.build.make_stamp("do_compile", d)
+ bb.build.make_stamp("do_install", d)
+ bb.build.make_stamp("do_deploy", d)
+ bb.build.make_stamp("do_package", d)
+ bb.build.make_stamp("do_populate_staging", d)
+ bb.build.make_stamp("do_package_write_deb", d)
+ bb.build.make_stamp("do_package_write_ipk", d)
+ bb.build.make_stamp("do_package_write", d)
+ bb.build.make_stamp("do_package_stage", d)
+ bb.build.make_stamp("do_qa_staging", d)
+
+ else:
+ bb.build.make_stamp("do_prepackaged_stage", d)
+}
+do_prepackaged_stage[cleandirs] = "${PSTAGE_TMPDIR_STAGE}"
+do_prepackaged_stage[selfstamp] = "1"
+addtask prepackaged_stage before do_fetch
- if [ -e ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME} ]; then
- oenote "Cross stuff already packaged, using that instead"
- ${PSTAGE_INSTALL_CMD} ${CROSS_DIR} ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME}
- fi
+populate_staging_preamble () {
+ if [ "$PSTAGING_DISABLED" != "1" ]; then
+ #mkdir -p ${DEPLOY_DIR_PSTAGE}
- if [ -e ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME} ]; then
- oenote "Staging stuff already packaged, using that instead"
- ${PSTAGE_INSTALL_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
- exit 0
+ stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-staging -u
+ stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-cross -u
fi
-
-
- mkdir -p ${STAGING_BINDIR}
- mkdir -p ${STAGING_LIBDIR}
- mkdir -p ${STAGING_INCDIR}
- mkdir -p ${STAGING_DATADIR}/aclocal
}
-do_stage_append() {
+populate_staging_postamble () {
+ if [ "$PSTAGING_DISABLED" != "1" ]; then
+ # list the packages currently installed in staging
+ ${PSTAGE_LIST_CMD} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-list
- mkdir -p ${DEPLOY_DIR_PSTAGE}
+ set +e
+ stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-staging -u -d ${PSTAGE_TMPDIR_STAGE}/staging
+ stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-cross -u -d ${PSTAGE_TMPDIR_STAGE}/cross
+ set -e
+ fi
+}
- # list the packages currently installed in staging
- ${PSTAGE_LIST_CMD} ${STAGING_DIR} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-staging_list
- ${PSTAGE_LIST_CMD} ${CROSS_DIR} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-cross_list
+do_populate_staging[lockfiles] = "${STAGING_DIR}/staging.lock"
+do_populate_staging[dirs] =+ "${DEPLOY_DIR_PSTAGE}"
+python do_populate_staging_prepend() {
+ bb.build.exec_func("populate_staging_preamble", d)
+}
- set +e
- rm -rf ${PSTAGE_TMPDIR_STAGE}
- stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/staging-stamp-cache -u -d ${PSTAGE_TMPDIR_STAGE}
- rc=$?
- set -e
+python do_populate_staging_append() {
+ bb.build.exec_func("populate_staging_postamble", d)
+}
- if [ $rc == 5 ]; then
- #make a package for staging
- mkdir -p ${PSTAGE_TMPDIR_STAGE}/CONTROL
+staging_packager () {
- echo "Package: staging-${PN}" > ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Version: ${PV}-${PR}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Description: ${DESCRIPTION}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Section: ${SECTION}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Priority: Optional" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Maintainer: ${MAINTAINER}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Architecture: ${PACKAGE_ARCH}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Source: ${SRC_URI}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ mkdir -p ${PSTAGE_TMPDIR_STAGE}/CONTROL
- ${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_STAGE} ${DEPLOY_DIR_PSTAGE}
+ echo "Package: staging-${PN}" > ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Version: ${PV}-${PR}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Description: ${DESCRIPTION}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Section: ${SECTION}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Priority: Optional" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Maintainer: ${MAINTAINER}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Architecture: ${MULTIMACH_ARCH}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+ echo "Source: ${SRC_URI}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- ${PSTAGE_INSTALL_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
- fi
+ ${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_STAGE} ${DEPLOY_DIR_PSTAGE}
+ ${PSTAGE_INSTALL_CMD} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
+}
- set +e
- rm -rf ${PSTAGE_TMPDIR_CROSS}
- stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/cross-stamp-cache -u -d ${PSTAGE_TMPDIR_CROSS}
- rc=$?
- set -e
-
- if [ $rc == 5 ]; then
-
- #make a package for cross
- mkdir -p ${PSTAGE_TMPDIR_CROSS}/CONTROL
-
- echo "Package: cross-${PN}" > ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Version: ${PV}-${PR}" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Description: ${DESCRIPTION}" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Section: ${SECTION}" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Priority: Optional" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Maintainer: ${MAINTAINER}" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Architecture: ${BUILD_ARCH}" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
- echo "Source: ${SRC_URI}" >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
-
- ${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_CROSS} ${DEPLOY_DIR_PSTAGE}
-
- ${PSTAGE_INSTALL_CMD} ${CROSS_DIR} ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME}
- fi
+python do_package_stage () {
+ if bb.data.getVar("PSTAGING_DISABLED", d, 1) == "1":
+ return
+
+ bb.build.exec_func("read_subpackage_metadata", d)
+ packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
+ if len(packages) > 0:
+ stagepath = bb.data.getVar("PSTAGE_TMPDIR_STAGE", d, 1)
+ if bb.data.inherits_class('package_ipk', d):
+ ipkpath = os.path.join(stagepath, "deploy", "ipk")
+ bb.mkdirhier(ipkpath)
+ if bb.data.inherits_class('package_deb', d):
+ debpath = os.path.join(stagepath, "deploy", "deb")
+ bb.mkdirhier(debpath)
+
+ for pkg in packages:
+ pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1)
+ if not pkgname:
+ pkgname = pkg
+ arch = bb.data.getVar('PACKAGE_ARCH_%s' % pkg, d, 1)
+ if not arch:
+ arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+ if not packaged(pkg, d):
+ continue
+ if bb.data.inherits_class('package_ipk', d):
+ srcname = bb.data.expand(pkgname + "_${PV}-${PR}_" + arch + ".ipk", d)
+ srcfile = bb.data.expand("${DEPLOY_DIR_IPK}/" + arch + "/" + srcname, d)
+ if not os.path.exists(srcfile):
+ bb.fatal("Package %s does not exist yet it should" % srcfile)
+ bb.copyfile(srcfile, ipkpath + "/" + srcname)
+ if bb.data.inherits_class('package_deb', d):
+ if arch == 'all':
+ srcname = bb.data.expand(pkgname + "_${PV}-${PR}_all.deb", d)
+ else:
+ srcname = bb.data.expand(pkgname + "_${PV}-${PR}_${DPKG_ARCH}.deb", d)
+ srcfile = bb.data.expand("${DEPLOY_DIR_DEB}/" + arch + "/" + srcname, d)
+ if not os.path.exists(srcfile):
+ bb.fatal("Package %s does not exist yet it should" % srcfile)
+ bb.copyfile(srcfile, debpath + "/" + srcname)
+ bb.build.exec_func("staging_helper", d)
+ lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d))
+ bb.build.exec_func("staging_packager", d)
+ bb.utils.unlockfile(lf)
}
+addtask package_stage after do_package_write_ipk do_package_write_deb do_package_write do_populate_staging before do_build
+
diff --git a/classes/packaged-staging2.bbclass b/classes/packaged-staging2.bbclass
deleted file mode 100644
index 29ce72d65c..0000000000
--- a/classes/packaged-staging2.bbclass
+++ /dev/null
@@ -1,229 +0,0 @@
-#
-# Populate builds using prebuilt packages where possible to speed up builds
-# and allow staging to be reconstructed.
-#
-# To use it add that line to conf/local.conf:
-#
-# INHERIT = "packaged-staging"
-
-python () {
- import bb
- if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('image', d) and not bb.data.inherits_class('cross', d) and not bb.data.inherits_class('sdk', d):
- deps = bb.data.getVarFlag('do_populate_staging', 'depends', d) or ""
- deps += " stagemanager-native:do_populate_staging"
- bb.data.setVarFlag('do_populate_staging', 'depends', deps, d)
-
- deps = bb.data.getVarFlag('do_prepackaged_stage', 'depends', d) or ""
- deps += " ipkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
- bb.data.setVarFlag('do_prepackaged_stage', 'depends', deps, d)
- else:
- bb.data.setVar("PSTAGING_DISABLED", "1", d)
-}
-
-export PSTAGING_DISABLED = "0"
-
-DEPLOY_DIR_PSTAGE = "${DEPLOY_DIR}/pstage"
-
-PSTAGE_BUILD_CMD = "${IPKGBUILDCMD}"
-PSTAGE_INSTALL_CMD = "ipkg-cl install -force-depends -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
-PSTAGE_UPDATE_CMD = "ipkg-cl update -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
-PSTAGE_REMOVE_CMD = "ipkg-cl remove -force-depends -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
-PSTAGE_LIST_CMD = "ipkg-cl list_installed -f ${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf -o ${TMPDIR}"
-PSTAGE_PKGNAME = "staging-${PN}_${PV}-${PR}_${MULTIMACH_ARCH}.ipk"
-
-PSTAGE_TMPDIR_STAGE = "${WORKDIR}/staging-pkg"
-
-do_clean_append() {
- """
- Clear the build and temp directories
- """
- bb.note("Uninstalling package from staging...")
- path = bb.data.getVar("PATH", d, 1)
- removecmd = bb.data.getVar("PSTAGE_REMOVE_CMD", d, 1)
- removepkg = bb.data.expand("staging-${PN}", d)
- ret = os.system("PATH=\"%s\" %s %s" % (path, removecmd, removepkg))
- if ret != 0:
- bb.note("Failure removing staging package")
-
- stagepkg = bb.data.expand("${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}", d)
- bb.note("Removing staging package %s" % stagepkg)
- #os.system('rm -rf ' + stagepkg)
-}
-
-staging_helper () {
- #assemble appropriate ipkg.conf
- conffile=${DEPLOY_DIR_PSTAGE}/ipkg-${MACHINE}.conf
- mkdir -p ${DEPLOY_DIR_PSTAGE}/pstaging_lists
- if [ ! -e $conffile ]; then
- ipkgarchs="${BUILD_ARCH} all any noarch ${TARGET_ARCH} ${PACKAGE_ARCHS} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> $conffile
- priority=$(expr $priority + 5)
- done
- echo "src oe-staging file:${DEPLOY_DIR_PSTAGE}" >> $conffile
-
- OLD_PWD=`pwd`
- cd ${DEPLOY_DIR_PSTAGE}
- ipkg-make-index -p Packages .
- cd ${OLD_PWD}
-
- ${PSTAGE_UPDATE_CMD}
- fi
-}
-
-python do_prepackaged_stage () {
- import os
-
- if bb.data.getVar("PSTAGING_DISABLED", d, 1) == "1":
- bb.build.make_stamp("do_prepackaged_stage", d)
- return
-
- bb.note("Uninstalling any existing package from staging...")
- path = bb.data.getVar("PATH", d, 1)
- removecmd = bb.data.getVar("PSTAGE_REMOVE_CMD", d, 1)
- removepkg = bb.data.expand("staging-${PN}", d)
- lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d))
- ret = os.system("PATH=\"%s\" %s %s" % (path, removecmd, removepkg))
- bb.utils.unlockfile(lf)
- if ret != 0:
- bb.note("Failure attempting to remove staging package")
-
- stagepkg = bb.data.expand("${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}", d)
-
- if os.path.exists(stagepkg):
- bb.note("Following speedup\n")
- path = bb.data.getVar("PATH", d, 1)
- installcmd = bb.data.getVar("PSTAGE_INSTALL_CMD", d, 1)
-
- bb.build.exec_func("staging_helper", d)
-
- bb.debug(1, "Staging stuff already packaged, using that instead")
- lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d))
- ret = os.system("PATH=\"%s\" %s %s" % (path, installcmd, stagepkg))
- bb.utils.unlockfile(lf)
- if ret != 0:
- bb.note("Failure installing prestage package")
-
- bb.build.make_stamp("do_prepackaged_stage", d)
- bb.build.make_stamp("do_fetch", d)
- bb.build.make_stamp("do_unpack", d)
- bb.build.make_stamp("do_munge", d)
- bb.build.make_stamp("do_patch", d)
- bb.build.make_stamp("do_configure", d)
- bb.build.make_stamp("do_qa_configure", d)
- bb.build.make_stamp("do_rig_locales", d)
- bb.build.make_stamp("do_compile", d)
- bb.build.make_stamp("do_install", d)
- bb.build.make_stamp("do_deploy", d)
- bb.build.make_stamp("do_package", d)
- bb.build.make_stamp("do_populate_staging", d)
- bb.build.make_stamp("do_package_write_deb", d)
- bb.build.make_stamp("do_package_write_ipk", d)
- bb.build.make_stamp("do_package_write", d)
- bb.build.make_stamp("do_package_stage", d)
- bb.build.make_stamp("do_qa_staging", d)
-
- else:
- bb.build.make_stamp("do_prepackaged_stage", d)
-}
-do_prepackaged_stage[cleandirs] = "${PSTAGE_TMPDIR_STAGE}"
-do_prepackaged_stage[selfstamp] = "1"
-addtask prepackaged_stage before do_fetch
-
-populate_staging_preamble () {
- if [ "$PSTAGING_DISABLED" != "1" ]; then
- #mkdir -p ${DEPLOY_DIR_PSTAGE}
-
- stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-staging -u
- stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-cross -u
- fi
-}
-
-populate_staging_postamble () {
- if [ "$PSTAGING_DISABLED" != "1" ]; then
- # list the packages currently installed in staging
- ${PSTAGE_LIST_CMD} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-list
-
- set +e
- stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-staging -u -d ${PSTAGE_TMPDIR_STAGE}/staging
- stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/stamp-cache-cross -u -d ${PSTAGE_TMPDIR_STAGE}/cross
- set -e
- fi
-}
-
-do_populate_staging[lockfiles] = "${STAGING_DIR}/staging.lock"
-do_populate_staging[dirs] =+ "${DEPLOY_DIR_PSTAGE}"
-python do_populate_staging_prepend() {
- bb.build.exec_func("populate_staging_preamble", d)
-}
-
-python do_populate_staging_append() {
- bb.build.exec_func("populate_staging_postamble", d)
-}
-
-
-staging_packager () {
-
- mkdir -p ${PSTAGE_TMPDIR_STAGE}/CONTROL
-
- echo "Package: staging-${PN}" > ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Version: ${PV}-${PR}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Description: ${DESCRIPTION}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Section: ${SECTION}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Priority: Optional" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Maintainer: ${MAINTAINER}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Architecture: ${MULTIMACH_ARCH}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
- echo "Source: ${SRC_URI}" >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
-
- ${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_STAGE} ${DEPLOY_DIR_PSTAGE}
- ${PSTAGE_INSTALL_CMD} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
-}
-
-python do_package_stage () {
- if bb.data.getVar("PSTAGING_DISABLED", d, 1) == "1":
- return
-
- bb.build.exec_func("read_subpackage_metadata", d)
- packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
- if len(packages) > 0:
- stagepath = bb.data.getVar("PSTAGE_TMPDIR_STAGE", d, 1)
- if bb.data.inherits_class('package_ipk', d):
- ipkpath = os.path.join(stagepath, "deploy", "ipk")
- bb.mkdirhier(ipkpath)
- if bb.data.inherits_class('package_deb', d):
- debpath = os.path.join(stagepath, "deploy", "deb")
- bb.mkdirhier(debpath)
-
- for pkg in packages:
- pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1)
- if not pkgname:
- pkgname = pkg
- arch = bb.data.getVar('PACKAGE_ARCH_%s' % pkg, d, 1)
- if not arch:
- arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
- if not packaged(pkg, d):
- continue
- if bb.data.inherits_class('package_ipk', d):
- srcname = bb.data.expand(pkgname + "_${PV}-${PR}_" + arch + ".ipk", d)
- srcfile = bb.data.expand("${DEPLOY_DIR_IPK}/" + arch + "/" + srcname, d)
- if not os.path.exists(srcfile):
- bb.fatal("Package %s does not exist yet it should" % srcfile)
- bb.copyfile(srcfile, ipkpath + "/" + srcname)
- if bb.data.inherits_class('package_deb', d):
- if arch == 'all':
- srcname = bb.data.expand(pkgname + "_${PV}-${PR}_all.deb", d)
- else:
- srcname = bb.data.expand(pkgname + "_${PV}-${PR}_${DPKG_ARCH}.deb", d)
- srcfile = bb.data.expand("${DEPLOY_DIR_DEB}/" + arch + "/" + srcname, d)
- if not os.path.exists(srcfile):
- bb.fatal("Package %s does not exist yet it should" % srcfile)
- bb.copyfile(srcfile, debpath + "/" + srcname)
- bb.build.exec_func("staging_helper", d)
- lf = bb.utils.lockfile(bb.data.expand("${STAGING_DIR}/staging.lock", d))
- bb.build.exec_func("staging_packager", d)
- bb.utils.unlockfile(lf)
-}
-
-addtask package_stage after do_package_write_ipk do_package_write_deb do_package_write do_populate_staging before do_build
-
diff --git a/classes/qt3e.bbclass b/classes/qt3e.bbclass
index 98c47adb90..35958b34ab 100644
--- a/classes/qt3e.bbclass
+++ b/classes/qt3e.bbclass
@@ -1,8 +1,8 @@
#
# override variables set by qmake_base to compile Qt/X11 apps
#
-export QTDIR="${STAGING_DIR}/${HOST_SYS}/qte3"
-export QTEDIR="${STAGING_DIR}/${HOST_SYS}/qte3"
+export QTDIR="${STAGING_DIR_HOST}/qte3"
+export QTEDIR="${STAGING_DIR_HOST}/qte3"
export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic3"
export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc3"
export OE_QMAKE_CXXFLAGS="${CXXFLAGS} "
diff --git a/classes/qt3x11.bbclass b/classes/qt3x11.bbclass
index 67f2cf7348..5408b7f342 100644
--- a/classes/qt3x11.bbclass
+++ b/classes/qt3x11.bbclass
@@ -3,7 +3,7 @@ EXTRA_QMAKEVARS_POST += "CONFIG+=thread"
#
# override variables set by qmake_base to compile Qt/X11 apps
#
-export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt3"
+export QTDIR = "${STAGING_DIR_HOST}/qt3"
export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic3"
export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc3"
export OE_QMAKE_CXXFLAGS = "${CXXFLAGS} -DQT_NO_XIM"
diff --git a/classes/rm_work.bbclass b/classes/rm_work.bbclass
index 4efd39c557..97de5e2774 100644
--- a/classes/rm_work.bbclass
+++ b/classes/rm_work.bbclass
@@ -25,3 +25,23 @@ do_rm_work_all () {
}
do_rm_work_all[recrdeptask] = "do_rm_work"
addtask rm_work_all after do_rm_work
+
+
+addhandler rmwork_stampfixing_eventhandler
+python rmwork_stampfixing_eventhandler() {
+ from bb.event import getName
+ import os
+
+ if getName(e) == "StampUpdate":
+ for (fn, task) in e.targets:
+ if task == 'rm_work_all':
+ continue
+ stamp = "%s.do_rm_work" % e.stampPrefix[fn]
+ if os.path.exists(stamp):
+ dir = "%s.*" % e.stampPrefix[fn]
+ bb.note("Removing stamps: " + dir)
+ os.system('rm -f '+ dir)
+
+ return NotHandled
+}
+
diff --git a/classes/rootfs_deb.bbclass b/classes/rootfs_deb.bbclass
index c2c4a764e4..5237285e4c 100644
--- a/classes/rootfs_deb.bbclass
+++ b/classes/rootfs_deb.bbclass
@@ -10,12 +10,8 @@ fakeroot rootfs_deb_do_rootfs () {
mkdir -p ${IMAGE_ROOTFS}/var/dpkg/info
mkdir -p ${IMAGE_ROOTFS}/var/dpkg/updates
- mkdir -p ${STAGING_ETCDIR_NATIVE}/apt/
-
rm -f ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
rm -f ${STAGING_ETCDIR_NATIVE}/apt/preferences
- > ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
- > ${STAGING_ETCDIR_NATIVE}/apt/preferences
> ${IMAGE_ROOTFS}/var/dpkg/status
> ${IMAGE_ROOTFS}/var/dpkg/available
# > ${STAGING_DIR}/var/dpkg/status
@@ -40,9 +36,9 @@ fakeroot rootfs_deb_do_rootfs () {
priority=$(expr $priority + 5)
done
- tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_DIR}/etc/apt/sources.list
+ tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_ETCDIR_NATIVE}/apt/sources.list
- cat "${STAGING_DIR}/etc/apt/apt.conf.sample" \
+ cat "${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample" \
| sed -e 's#Architecture ".*";#Architecture "${TARGET_ARCH}";#' \
> "${STAGING_ETCDIR_NATIVE}/apt/apt-rootfs.conf"
diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass
index 9994febf0d..44c74a0354 100644
--- a/classes/sanity.bbclass
+++ b/classes/sanity.bbclass
@@ -31,7 +31,7 @@ def check_sanity(e):
from distutils.version import LooseVersion
except ImportError:
def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
- import os
+ import os, commands
# Check the bitbake version meets minimum requirements
minversion = data.getVar('BB_MIN_VERSION', e.data , True)
@@ -64,8 +64,8 @@ def check_sanity(e):
# Check that the MACHINE is valid, if it is set
if data.getVar('MACHINE', e.data, True):
- if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
- messages = messages + 'Please set a valid MACHINE in your local.conf\n'
+ if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
+ messages = messages + 'Please set a valid MACHINE in your local.conf\n'
# Check that the DISTRO is valid
# need to take into account DISTRO renaming DISTRO
@@ -85,6 +85,19 @@ def check_sanity(e):
required_utilities = "patch help2man diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk md5sum"
+ if data.getVar('TARGET_ARCH', e.data, True) == "arm":
+ # qemu-native needs gcc 3.x
+ if "qemu-native" not in assume_provided and "gcc3-native" in assume_provided:
+ gcc_version = commands.getoutput("${BUILD_PREFIX}gcc --version | head -n 1 | cut -f 3 -d ' '")
+
+ if not check_gcc3(e.data) and gcc_version[0] != '3':
+ messages = messages + "gcc3-native was in ASSUME_PROVIDED but the gcc-3.x binary can't be found in PATH"
+ missing = missing + "gcc-3.x (needed for qemu-native),"
+
+ if "qemu-native" in assume_provided:
+ if not check_app_exists("qemu-arm", e.data):
+ messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH"
+
for util in required_utilities.split():
if not check_app_exists( util, e.data ):
missing = missing + "%s," % util
@@ -100,7 +113,40 @@ def check_sanity(e):
oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', e.data, True )
if not oes_bb_conf:
- messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf\n'
+ messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n'
+
+ #
+ # Check that TMPDIR hasn't changed location since the last time we were run
+ #
+ tmpdir = data.getVar('TMPDIR', e.data, True)
+ checkfile = os.path.join(tmpdir, "saved_tmpdir")
+ if os.path.exists(checkfile):
+ f = file(checkfile, "r")
+ if (f.read().strip() != tmpdir):
+ messages = messages + "Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % tmpdir
+ else:
+ f = file(checkfile, "w")
+ f.write(tmpdir)
+ f.close()
+
+ #
+ # Check the 'ABI' of TMPDIR
+ #
+ current_abi = data.getVar('SANITY_ABI', e.data, True)
+ abifile = data.getVar('SANITY_ABIFILE', e.data, True)
+ if os.path.exists(abifile):
+ f = file(abifile, "r")
+ abi = f.read().strip()
+ if not abi.isdigit():
+ f = file(abifile, "w")
+ f.write(current_abi)
+ elif (abi != current_abi):
+ # Code to convert from one ABI to another could go here if possible.
+ messages = messages + "Error, TMPDIR has changed ABI (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi)
+ else:
+ f = file(abifile, "w")
+ f.write(current_abi)
+ f.close()
if messages != "":
raise_sanity_error(messages)
@@ -110,17 +156,7 @@ python check_sanity_eventhandler() {
from bb import note, error, data, __version__
from bb.event import getName
- try:
- from distutils.version import LooseVersion
- except ImportError:
- def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
-
- if (LooseVersion(bb.__version__) > LooseVersion("1.8.6")):
- if getName(e) == "ConfigParsed":
- check_sanity(e)
- return NotHandled
-
- if getName(e) == "BuildStarted":
+ if getName(e) == "ConfigParsed":
check_sanity(e)
return NotHandled
diff --git a/classes/sdl.bbclass b/classes/sdl.bbclass
index 23cbf10919..dc4cd8ffa2 100644
--- a/classes/sdl.bbclass
+++ b/classes/sdl.bbclass
@@ -8,6 +8,8 @@ APPDESKTOP ?= "${WORKDIR}/${PN}.desktop"
APPNAME ?= "${PN}"
APPIMAGE ?= "${WORKDIR}/${PN}.png"
+export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
+
sdl_do_sdl_install() {
install -d ${D}${datadir}/applications
install -d ${D}${datadir}/pixmaps
diff --git a/classes/seppuku.bbclass b/classes/seppuku.bbclass
index 834bee34b4..2e097a812e 100644
--- a/classes/seppuku.bbclass
+++ b/classes/seppuku.bbclass
@@ -303,7 +303,7 @@ python seppuku_eventhandler() {
if name == "PkgFailed":
if not bb.data.getVar('SEPPUKU_AUTOBUILD', data, True) == "0":
- build.exec_task('do_clean', data)
+ build.exec_func('do_clean', data)
elif name == "TaskFailed":
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
diff --git a/classes/sip.bbclass b/classes/sip.bbclass
index ae186bd04a..30c08b1ed9 100644
--- a/classes/sip.bbclass
+++ b/classes/sip.bbclass
@@ -55,6 +55,8 @@ sip_do_generate() {
done
}
+do_generate[deptask] = "do_populate_staging"
+
EXPORT_FUNCTIONS do_generate
addtask generate after do_unpack do_patch before do_configure
diff --git a/classes/sip3.bbclass b/classes/sip3.bbclass
index 1dd42ba86b..7ecc63bf02 100644
--- a/classes/sip3.bbclass
+++ b/classes/sip3.bbclass
@@ -53,6 +53,8 @@ sip3_do_generate() {
done
}
+do_generate[deptask] = "do_populate_staging"
+
EXPORT_FUNCTIONS do_generate
addtask generate after do_unpack do_patch before do_configure
diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass
index bc004efb26..0b7fc1d843 100644
--- a/classes/tinderclient.bbclass
+++ b/classes/tinderclient.bbclass
@@ -328,7 +328,7 @@ def tinder_do_tinder_report(event):
log += "<--- TINDERBOX Package %s done (SUCCESS)\n" % data.getVar('PF', event.data, True)
elif name == "PkgFailed":
if not data.getVar('TINDER_AUTOBUILD', event.data, True) == "0":
- build.exec_task('do_clean', event.data)
+ build.exec_func('do_clean', event.data)
log += "<--- TINDERBOX Package %s failed (FAILURE)\n" % data.getVar('PF', event.data, True)
status = 200
# remember the failure for the -k case
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 27a04a028c..de526f0e56 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -93,6 +93,11 @@ PACKAGE_ARCH = "${HOST_ARCH}"
MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
+# select proper CPU to get binary locales generated
+QEMU_OPTIONS = ""
+QEMU_OPTIONS_iwmmxt = "-cpu pxa270-c5"
+QEMU_OPTIONS_armv6 = "-cpu arm1136"
+
##################################################################
# Date/time variables.
##################################################################
@@ -176,14 +181,14 @@ FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
SECTION_${PN}-dev = "devel"
ALLOW_EMPTY_${PN}-dev = "1"
-RDEPENDS_${PN}-dev = "${@['', '${PN} (= ${DEBPV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}"
+RDEPENDS_${PN}-dev = "${PN} (= ${DEBPV})"
FILES_${PN}-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \
${libdir}/matchbox-panel/.debug"
SECTION_${PN}-dbg = "devel"
ALLOW_EMPTY_${PN}-dbg = "1"
-RRECOMMENDS_${PN}-dbg = "${@['', '${PN} (= ${DEBPV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}"
+RRECOMMENDS_${PN}-dbg = "${PN} (= ${DEBPV})"
FILES_${PN}-locale = "${datadir}/locale"
@@ -216,18 +221,19 @@ B = "${S}"
STAGING_DIR = "${TMPDIR}/staging"
STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
-STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}/bin"
-STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}/bin/${HOST_SYS}"
-STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}/lib"
-STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}/include"
-STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}/etc"
-STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}/share"
+STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
+STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${HOST_SYS}"
+STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
+STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
+STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
+STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_datadir}"
STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}"
-STAGING_BINDIR = "${STAGING_DIR_HOST}/bin"
-STAGING_LIBDIR = "${STAGING_DIR_HOST}/lib"
-STAGING_INCDIR = "${STAGING_DIR_HOST}/include"
-STAGING_DATADIR = "${STAGING_DIR_HOST}/share"
+STAGING_BINDIR = "${STAGING_DIR_HOST}${layout_bindir}"
+STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}"
+STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}"
+STAGING_DATADIR = "${STAGING_DIR_HOST}${layout_datadir}"
+STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${layout_exec_prefix}"
STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
@@ -310,7 +316,7 @@ export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbi
# Build utility info.
##################################################################
-CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}"
+CCACHE = "${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '}"
TOOLCHAIN_OPTIONS = ""
export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
@@ -351,10 +357,12 @@ PATCHRESOLVE = 'noop'
##################################################################
export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
+BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
export CPPFLAGS = "${TARGET_CPPFLAGS}"
-export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}/include"
+export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
+BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
export CFLAGS = "${TARGET_CFLAGS}"
export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
@@ -365,9 +373,14 @@ export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+
+BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
+ -Wl,-rpath-link,${STAGING_LIBDIR} \
+ -Wl,-rpath,${libdir} -Wl,-O1"
+
export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}/lib \
- -Wl,-rpath-link,${STAGING_DIR_TARGET}/lib \
+export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-O1"
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 36b7a8f4bf..b2878021a9 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -286,6 +286,10 @@ sha256=5194ae0f07aaf274e46712cd3f2be553ca75970d2124ac388ce444adee5e2878
md5=b014170483cf85a93d08ee59196c53f9
sha256=1428a61246a98411c2f16fcaf051c7acb53fb1507b1982da52d5b6aa70f78c2b
+[http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.808.tar.gz]
+md5=72120d9195ab1649c2d787eb1102a90c
+sha256=22e0778a16bb9ac0526efc99f7e03265e19ca5844aee7540f3f47a643ad5b9e4
+
[http://downloads.sourceforge.net/plone/Plone-2.1.2.tar.gz]
md5=863311e29550f9b4bf6c2502fdbed1fa
sha256=e9c0b53d887b53310daab656ef83b0abecdde39b679806a0f04f3cda222fbac2
@@ -3306,6 +3310,10 @@ sha256=6f36ca624a12dce03cdea59c9eb900eda49ea2f463b329737eb9f2a8f3ac144d
md5=fca5d26c8efea4e6e547c81c801bf67c
sha256=bd6767cc7c8d9551df0fb3e6d40706746723f6daa0ecd4a78facffc40f9d8a97
+[http://ftp.gnome.org/pub/GNOME/sources/glib/2.14/glib-2.14.4.tar.bz2]
+md5=7ee7874108cbe9ea7fff1f4ab3389ce8
+sha256=10e6ebecc2cbd07f193a5d26b88c3bf2107e32b2a4d024f10f77f59a98d579ff
+
[http://ftp.gnome.org/pub/gnome/sources/glib/2.2/glib-2.2.3.tar.bz2]
md5=aa214a10d873b68ddd67cd9de2ccae55
sha256=af1456e075954c122bda008736437b048d5336d0b426847c627e607eb35e59e5
@@ -4274,10 +4282,14 @@ sha256=e6a055689ad05f6adba7dbb9490891a18a240d1a30e34424b3a034f4152f2c28
md5=1ad07e10f34e46ffdaf10688743f2f43
sha256=39e8d629da469d2032ad3554ff502d270e1037490707d7ae0e8a2de7b06263d8
-[http://www.gpsdrive.cc/gpsdrive-2.10pre2.tar.gz]
+[http://www.gpsdrive.de/packages/gpsdrive-2.10pre2.tar.gz]
md5=28b13b7253c8f019433be68686070558
sha256=5f53807375473b00f3748456fc8de33e7af300686032d74557fe5f0a931b3227
+[http://www.gpsdrive.de/packages/gpsdrive-2.10pre4.tar.gz]
+md5=5d0c7dc9163b2fd9a92ddd886ed7cfab
+sha256=ebefe385ec41e3ff26fa55c0fcecbed75d4cd5581ae5ae39038aac796af126c6
+
[http://downloads.sourceforge.net/gpstk/gpstk-1.2-src.tar.gz]
md5=541ec5a5b86cf9e56f0b23cf6c80dd6e
sha256=c1378384b1737b2fa330f8d63d7777db311c976bb20e0c0e0fcd5dac0e78672a
@@ -12846,6 +12858,10 @@ sha256=652f579171e6e8f73c13ab6b060d2447ae35ebfbd39a6002b7c05a1dfc0f7eb8
md5=bb196907ea1e182dcb396eb22f7d2c1a
sha256=e1a3c4986f16a5fbca611d0547cc7499a1fa47ca2096593644037e2609363085
+[http://xorg.freedesktop.org/releases/individual/lib/xtrans-1.0.4.tar.bz2]
+md5=8b36cdf08df12be96615e3d550236626
+sha256=765219fa822edeffb0650e93458e4ebf63c23176e58fce06806fb251fbfe7d8c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/xtrans-X11R7.0-1.0.0.tar.bz2]
md5=153642136a003871a9093c8103d6ac5a
sha256=c9a049b4367318b53cbad02bc7e3c4450778e3237400a515b2a6272405b8b912
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index b24a57f537..e42dd1cb3b 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -60,6 +60,9 @@ PCMCIA_MANAGER = "pcmciautils"
#Preferred version for the kernel on various machines
PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh20"
+#Initramfs for kernels
+KERNEL_INITRAMFS_PATH = "${TMPDIR}/deploy/uclibc/images/${MACHINE}/initramfs-bootmenu-image-${MACHINE}.cpio.gz"
+
#This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
PREFERRED_VERSION_linux-libc-headers = "2.6.23"
@@ -201,7 +204,7 @@ DISTRO_EXTRA_RDEPENDS += "\
update-modules \
${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
angstrom-version \
- ipkg ipkg-collateral ${ANGSTROM_FEED_CONFIGS} \
+ opkg-ipkg-compat ${ANGSTROM_FEED_CONFIGS} \
util-linux-mount util-linux-umount \
${DEBUG_APPS} \
"
diff --git a/conf/distro/chinook-compat.conf b/conf/distro/chinook-compat.conf
index ef0fa80f65..c439ad67f6 100644
--- a/conf/distro/chinook-compat.conf
+++ b/conf/distro/chinook-compat.conf
@@ -83,7 +83,8 @@ PREFERRED_VERSION_pango = "1.16.4"
PREFERRED_VERSION_atk = "1.18.0"
PREFERRED_VERSION_gtk+ = "2.10.14"
-PREFERRED_VERSION_gnome-vfs = "2.16"
+PREFERRED_VERSION_gnome-vfs = "2.16.3"
+
# 3.9.1 would be correct
PREFERRED_VERSION_gtkhtml-3.8 = "3.8.2"
PREFERRED_VERSION_libxml2 = "2.6.27"
@@ -99,12 +100,16 @@ PREFERRED_VERSION_gst-plugins-base = "0.10.14"
# 0.11.3 would be correct ( + maemo patches)
PREFERRED_VERSION_gst-ffmpeg = "0.10.2"
+PREFERRED_VERSION_bluez-libs = "3.20"
+
PREFERRED_PROVIDER_virtual/db = "db"
PREFERRED_PROVIDER_virtual/db-native = "db-native"
PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
# This is a hack to avoid building mesa which crashes the compiler
PREFERRED_PROVIDER_virtual/libsdl = "libsdl-directfb"
+PREFERRED_VERSION_libsdl-directfb = "1.2.9"
+PREFERRED_VERSION_libsdl-image = "1.2.3"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
@@ -137,11 +142,6 @@ PREFERRED_VERSION_pixman = "0.9.6"
PREFERRED_PROVIDER_virtual/libqte2 = "qte-mt"
PREFERRED_PROVIDER_avahi = "avahi"
-# Prevent chosing jikes-native (until java bootstrap patch is merged).
-PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
-
-PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk-hildon"
-
PREFERRED_VERSION_libsoup = "2.2.7"
PREFERRED_VERSION_libglade = "2.4.2"
PREFERRED_VERSION_gnutls = "1.4.5"
@@ -150,6 +150,23 @@ PREFERRED_VERSION_libgcrypt = "1.2.3"
PREFERRED_VERSION_gpe-scap = "1.3"
+# various Maemo4 specific libraries
+PREFERRED_VERSION_mce-dev = "1.6.3"
+PREFERRED_VERSION_libosso = "2.13"
+PREFERRED_VERSION_libhildon = "1.99.0"
+PREFERRED_VERSION_libhildonmime = "1.10.0"
+PREFERRED_VERSION_libhildonfm = "1.9.46"
+PREFERRED_VERSION_hildon-thumbnail = "0.14"
+PREFERRED_VERSION_osso-gwconnect = "1.0.12"
+PREFERRED_VERSION_osso-gnome-vfs2 = "2.16.3"
+
+# Java stuff
+
+PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
+
+PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk-hildon"
+PREFERRED_VERSION_swt3.4-gtk-hildon = "3.3+3.4M5"
+
# Does not compile with the CodeSourcery compiler .. :(
PREFERRED_VERSION_kaffe = "1.1.8+cvs20080120"
PREFERRED_VERSION_kaffeh-native = "1.1.8+cvs20080120"
@@ -172,3 +189,11 @@ PKG_hildon-1 = "libhildon1"
PKG_zlib = "zlib1g"
PKG_libglade = "libglade2-0"
PKG_libsoup = "libsoup2.2-8"
+
+PKG_libsdl-image = "libsdl-image1.2"
+PKG_libsdl-directfb = "libsdl1.2"
+
+PKG_bluez-libs = "libbluetooth2"
+
+PKG_osso-ic-oss = "osso-ic"
+PKG_libconic = "libconic0"
diff --git a/conf/distro/colinuxoe.conf b/conf/distro/colinuxoe.conf
index 7454c0167f..25ea04a1f5 100644
--- a/conf/distro/colinuxoe.conf
+++ b/conf/distro/colinuxoe.conf
@@ -2,6 +2,8 @@
#@NAME: coLinuxoe
#@DESCRIPTION: Generic OE built distro for the coLinux MACHINE
+TARGET_OS = "linux"
+
INHERIT += "package_ipk debian"
# MACHINE decides that linux-colinux is the correct kernel.
diff --git a/conf/distro/generic-uclibc.conf b/conf/distro/generic-uclibc.conf
index 26e78f89c1..805cfe7955 100644
--- a/conf/distro/generic-uclibc.conf
+++ b/conf/distro/generic-uclibc.conf
@@ -27,3 +27,10 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
PREFERRED_PROVIDER_virtual/libiconv = "libiconv"
PREFERRED_PROVIDER_virtual/libintl = "libintl"
+
+USE_NLS ?= "no"
+USE_NLS_glib-2.0 = "yes"
+
+PREFERRED_VERSION_uclibc = "0.9.29"
+PREFERRED_VERSION_uclibc-initial = "0.9.29"
+
diff --git a/conf/distro/include/angstrom-2007-for-openmoko-versions.inc b/conf/distro/include/angstrom-2007-for-openmoko-versions.inc
index d712fadb8c..ef97eae09a 100644
--- a/conf/distro/include/angstrom-2007-for-openmoko-versions.inc
+++ b/conf/distro/include/angstrom-2007-for-openmoko-versions.inc
@@ -548,7 +548,7 @@ PREFERRED_VERSION_gpe-irc ?= "0.08"
PREFERRED_VERSION_gpe-keylock ?= "0.12"
PREFERRED_VERSION_gpe-life ?= "0.2"
PREFERRED_VERSION_gpe-lights ?= "0.13"
-PREFERRED_VERSION_gpe-login ?= "0.90"
+PREFERRED_VERSION_gpe-login ?= "0.91"
PREFERRED_VERSION_gpe-mini-browser ?= "0.21"
PREFERRED_VERSION_gpe-mini-browser-hildon ?= "0.17"
PREFERRED_VERSION_gpe-mininet ?= "0.7"
@@ -1489,7 +1489,7 @@ PREFERRED_VERSION_pwdutils ?= "2.6"
PREFERRED_VERSION_pwlib ?= "1.5.2"
PREFERRED_VERSION_pwmpi ?= "2.2.7"
PREFERRED_VERSION_pxaregs ?= "1.14"
-PREFERRED_VERSION_python ?= "2.5.1"
+PREFERRED_VERSION_python ?= "2.5.2"
PREFERRED_VERSION_python-ao ?= "0.82"
PREFERRED_VERSION_python-constraint ?= "1.1"
PREFERRED_VERSION_python-dbus ?= "0.81.1"
diff --git a/conf/distro/include/angstrom-2008-preferred-versions.inc b/conf/distro/include/angstrom-2008-preferred-versions.inc
index 5641c8ee39..b8685a578e 100644
--- a/conf/distro/include/angstrom-2008-preferred-versions.inc
+++ b/conf/distro/include/angstrom-2008-preferred-versions.inc
@@ -1,7 +1,7 @@
PREFERRED_VERSION_dbus = "1.1.4"
PREFERRED_VERSION_busybox = "1.9.1"
PREFERRED_VERSION_gst-pulse = "0.9.7"
-PREFERRED_VERSION_libtool = "1.2.14"
+PREFERRED_VERSION_libtool = "1.5.10"
PREFERRED_VERSION_pulseaudio = "0.9.9"
PREFERRED_VERSION_udev = "118"
PREFERRED_VERSION_vte = "0.16.10"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index 6ba20c4830..0f7ce15a9d 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -12,6 +12,7 @@ TARGET_VENDOR = "-angstrom"
# Can be "glibc", "eglibc" or "uclibc"
ANGSTROM_MODE ?= "glibc"
+CACHE = "${TMPDIR}/cache/${ANGSTROM_MODE}/${MACHINE}"
DEPLOY_DIR = "${TMPDIR}/deploy/${ANGSTROM_MODE}"
require conf/distro/include/angstrom-${ANGSTROM_MODE}.inc
@@ -46,6 +47,9 @@ ENABLE_BINARY_LOCALE_GENERATION_nokia800 = "0"
ENABLE_BINARY_LOCALE_GENERATION_omap2420h4 = "0"
ENABLE_BINARY_LOCALE_GENERATION_omap2430sdp = "0"
+#qemu has taken a dislike to armeb as well
+ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
+
#ARM EABI is softfloat by default, but let's make sure :)
#make it overridable for platforms with FPU, like ep93xx or i.mx31
TARGET_FPU_arm ?= "soft"
diff --git a/conf/distro/include/moko-autorev.inc b/conf/distro/include/moko-autorev.inc
index c5390811c6..aa2d39f3db 100644
--- a/conf/distro/include/moko-autorev.inc
+++ b/conf/distro/include/moko-autorev.inc
@@ -9,6 +9,10 @@ SRCREV_pn-linux-openmoko-devel ?= "${AUTOREV}"
SRCREV_pn-moko-gtk-engine ?= "${AUTOREV}"
SRCREV_pn-neod ?= "${AUTOREV}"
+SRCREV_pn-opkg ?= "${AUTOREV}"
+SRCREV_pn-opkg-native ?= "${AUTOREV}"
+
+SRCREV_pn-multitap-pad ?= "${AUTOREV}"
SRCREV_pn-openmoko-appmanager2 ?= "${AUTOREV}"
SRCREV_pn-openmoko-appearance ?= "${AUTOREV}"
@@ -30,6 +34,7 @@ SRCREV_pn-openmoko-panel-clock ?= "${AUTOREV}"
SRCREV_pn-openmoko-panel-gps ?= "${AUTOREV}"
SRCREV_pn-openmoko-panel-gsm ?= "${AUTOREV}"
SRCREV_pn-openmoko-panel-mainmenu ?= "${AUTOREV}"
+SRCREV_pn-openmoko-panel-memory ?= "${AUTOREV}"
SRCREV_pn-openmoko-panel-usb ?= "${AUTOREV}"
SRCREV_pn-openmoko-sample2 ?= "${AUTOREV}"
SRCREV_pn-openmoko-sound-theme-standard2 ?= "${AUTOREV}"
diff --git a/conf/distro/include/preferred-gpe-versions-2.8.inc b/conf/distro/include/preferred-gpe-versions-2.8.inc
index fb9e2815ba..55e51409be 100644
--- a/conf/distro/include/preferred-gpe-versions-2.8.inc
+++ b/conf/distro/include/preferred-gpe-versions-2.8.inc
@@ -32,7 +32,7 @@ PREFERRED_VERSION_libxsettings-client ?= "0.17"
PREFERRED_VERSION_gpe-icons ?= "0.25"
-PREFERRED_VERSION_gpe-login ?= "0.90"
+PREFERRED_VERSION_gpe-login ?= "0.91"
PREFERRED_VERSION_gpe-session-scripts ?= "0.67"
PREFERRED_VERSION_gpe-su ?= "0.19"
PREFERRED_VERSION_keylaunch ?= "2.0.10"
diff --git a/conf/distro/include/preferred-om-2008-versions.inc b/conf/distro/include/preferred-om-2008-versions.inc
index 5641c8ee39..10af8675e8 100644
--- a/conf/distro/include/preferred-om-2008-versions.inc
+++ b/conf/distro/include/preferred-om-2008-versions.inc
@@ -1,7 +1,11 @@
-PREFERRED_VERSION_dbus = "1.1.4"
+PREFERRED_VERSION_asterisk = "1.4.17"
PREFERRED_VERSION_busybox = "1.9.1"
+PREFERRED_VERSION_dbus = "1.1.20"
+PREFERRED_VERSION_dbus-glib = "0.74"
+PREFERRED_VERSION_gnash = "0.8.1"
+PREFERRED_VERSION_gpsdrive = "2.10pre4"
PREFERRED_VERSION_gst-pulse = "0.9.7"
-PREFERRED_VERSION_libtool = "1.2.14"
+PREFERRED_VERSION_libtool = "1.5.24"
PREFERRED_VERSION_pulseaudio = "0.9.9"
PREFERRED_VERSION_udev = "118"
PREFERRED_VERSION_vte = "0.16.10"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.0.inc b/conf/distro/include/preferred-xorg-versions-X11R7.0.inc
index 6db9d92f71..5a391aa45a 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.0.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.0.inc
@@ -339,3 +339,9 @@ PREFERRED_VERSION_util-macros-native = "X11R7.0-1.0.1"
PREFERRED_VERSION_util-macros = "X11R7.0-1.0.1"
PREFERRED_VERSION_xorg-cf-files = "X11R7.0-1.0.1"
PREFERRED_VERSION_xserver-xorg = "X11R7.0-1.0.1"
+
+# Unreleased Packages
+SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
+PV_pn-libxcalibrate ?= "0.0-oe1-${SRCREV}"
+SRCREV_pn-calibrateproto ?= "1da6fd1e2c7a49648245c98481fabea8b9690a8c"
+PV_pn-calibrateproto ?= "0.0-oe1-${SRCREV}"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.1.inc b/conf/distro/include/preferred-xorg-versions-X11R7.1.inc
index 782549589d..c387161577 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.1.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.1.inc
@@ -183,3 +183,9 @@ PREFERRED_VERSION_util-macros ?= "X11R7.1-1.0.2"
PREFERRED_VERSION_xorg-cf-files ?= "X11R7.1-1.0.2"
PREFERRED_VERSION_xserver-kdrive ?= "X11R7.1-1.1.0"
PREFERRED_VERSION_xserver-xorg ?= "X11R7.1-1.1.0"
+
+# Unreleased packages
+SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
+PV_pn-libxcalibrate ?= "0.0-oe1-${SRCREV}"
+SRCREV_pn-calibrateproto ?= "1da6fd1e2c7a49648245c98481fabea8b9690a8c"
+PV_pn-calibrateproto ?= "0.0-oe1-${SRCREV}"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.2.inc b/conf/distro/include/preferred-xorg-versions-X11R7.2.inc
index 59a481a104..dc34a99340 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.2.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.2.inc
@@ -269,3 +269,8 @@ PREFERRED_VERSION_xorg-cf-files ?= "X11R7.1-1.0.2"
PREFERRED_VERSION_xserver-kdrive ?= "1.2.0"
PREFERRED_VERSION_xserver-xorg ?= "1.2.0"
+# Unreleased packages
+SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
+PV_pn-libxcalibrate ?= "0.0-oe1-${SRCREV}"
+SRCREV_pn-calibrateproto ?= "1da6fd1e2c7a49648245c98481fabea8b9690a8c"
+PV_pn-calibrateproto ?= "0.0-oe1-${SRCREV}"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.3.inc b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
index d7e19284bc..648472e9b6 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
@@ -280,3 +280,8 @@ PREFERRED_VERSION_xorg-cf-files ?= "1.0.2"
PREFERRED_VERSION_xserver-kdrive ?= "1.4"
PREFERRED_VERSION_xserver-xorg ?= "1.4"
+# Unreleased packages
+SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
+PV_pn-libxcalibrate ?= "0.0-oe1-${SRCREV}"
+SRCREV_pn-calibrateproto ?= "1da6fd1e2c7a49648245c98481fabea8b9690a8c"
+PV_pn-calibrateproto ?= "0.0-oe1-${SRCREV}"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.4.inc b/conf/distro/include/preferred-xorg-versions-X11R7.4.inc
index b04f72180d..4af2405aa7 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.4.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.4.inc
@@ -284,3 +284,9 @@ PREFERRED_VERSION_xorg-cf-files ?= "1.0.2"
# xserver
PREFERRED_VERSION_xserver-kdrive ?= "1.4"
PREFERRED_VERSION_xserver-xorg ?= "1.4"
+
+# Unreleased packages
+SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
+PV_pn-libxcalibrate ?= "0.0-oe1-${SRCREV}"
+SRCREV_pn-calibrateproto ?= "1da6fd1e2c7a49648245c98481fabea8b9690a8c"
+PV_pn-calibrateproto ?= "0.0-oe1-${SRCREV}"
diff --git a/conf/distro/include/preferred-xorg-versions.inc b/conf/distro/include/preferred-xorg-versions.inc
index f34b29f147..05136138fc 100644
--- a/conf/distro/include/preferred-xorg-versions.inc
+++ b/conf/distro/include/preferred-xorg-versions.inc
@@ -109,3 +109,7 @@ PREFERRED_VERSION_xtrans ?= "1.0.3"
PREFERRED_VERSION_xtrans-native ?= "1.0.3"
PREFERRED_VERSION_xinit ?= "1.0.4"
PREFERRED_VERSION_xev ?= "1.0.2"
+SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
+PV_pn-libxcalibrate ?= "0.0-oe1-${SRCREV}"
+SRCREV_pn-calibrateproto ?= "1da6fd1e2c7a49648245c98481fabea8b9690a8c"
+PV_pn-calibrateproto ?= "0.0-oe1-${SRCREV}"
diff --git a/conf/distro/include/sane-srcdates.inc b/conf/distro/include/sane-srcdates.inc
index 43ffa1de9f..5a1e8f2758 100644
--- a/conf/distro/include/sane-srcdates.inc
+++ b/conf/distro/include/sane-srcdates.inc
@@ -52,7 +52,7 @@ SRCDATE_gtkhtml2 ?= "20060323"
# Enlightenment Foundation Libraries
# Caution: This is not alphabetically, but (roughly) dependency-sorted.
# Please leave it like that.
-EFL_SRCDATE = "20080129"
+EFL_SRCDATE = "20080216"
SRCDATE_edb-native ?= "${EFL_SRCDATE}"
SRCDATE_edb ?= "${EFL_SRCDATE}"
SRCDATE_eet-native ?= "${EFL_SRCDATE}"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 4d92f48928..5fa9ed7e38 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -7,6 +7,10 @@
# this is alphabetical!
+# yes, really!
+
+# you know what that means? like... a, b, c, d, e, f, g...
+
SRCREV_pn-aircrack-ng ?= "802"
SRCREV_pn-bfin-uclibc ?= "1857"
SRCREV_pn-contact ?= "1410"
@@ -22,11 +26,12 @@ SRCREV_pn-ezxd ?= "2074"
SRCREV_pn-elf2flt ?= "1786"
SRCREV_pn-epiphany ?= "7650"
SRCREV_pn-fbgrab-viewer-native ?= "1943"
+SRCREV_pn-ffmpeg ?= "12186"
SRCREV_pn-fstests ?= "204"
SRCREV_pn-gconf-dbus ?= "641"
SRCREV_pn-gnuradio ?= "6377"
SRCREV_pn-gpe-contacts ?= "9312"
-SRCREV_pn-gsm0710muxd ?= "73"
+SRCREV_pn-gsm0710muxd ?= "85"
SRCREV_pn-gtkhtml2 ?= "1158"
SRCREV_pn-gypsy ?= "56"
SRCREV_pn-hildon-1 ?= "14429"
@@ -41,13 +46,14 @@ SRCREV_pn-libmokogsmd2 ?= "3663"
SRCREV_pn-libmokojournal2 ?= "3217"
SRCREV_pn-libmokopanelui2 ?= "3349"
SRCREV_pn-libmokoui2 ?= "3688"
+SRCREV_pn-libw100 ?= "47"
SRCREV_pn-libowl ?= "277"
SRCREV_pn-libxosd ?= "627"
SRCREV_pn-lightmediascanner ?= "68"
SRCREV_pn-linux-bfin ?= "3758"
SRCREV_pn-linux-hackndev-2.6 ?= "1308"
SRCREV_pn-linux-ixp4xx ?= "1039"
-SRCREV_pn-linux-openmoko ?= "4014"
+SRCREV_pn-linux-openmoko ?= "4102"
SRCREV_pn-llvm-gcc4 ?= "374"
SRCREV_pn-llvm-gcc4-cross ?= "374"
SRCREV_pn-maemo-mapper ?= "118"
@@ -57,7 +63,12 @@ SRCREV_pn-matchbox-keyboard-inputmethod ?= "1739"
SRCREV_pn-matchbox-panel-2 ?= "1626"
SRCREV_pn-moko-gtk-engine ?= "3405"
SRCREV_pn-mpd-alsa ?= "6952"
+SRCREV_pn-mplayer ?= "24587"
+SRCREV_pn-multitap-pad ?= "337"
SRCREV_pn-neod ?= "3421"
+SRCREV_pn-netsurf ?= "3859"
+SRCREV_pn-networkmanager ?= "2887"
+SRCREV_pn-networkmanager-applet ?= "200"
SRCREV_pn-oh-puzzles ?= "22"
SRCREV_pn-osb-browser ?= "125"
SRCREV_pn-osb-jscore ?= "117"
@@ -97,6 +108,7 @@ SRCREV_pn-openmoko-panel-demo-simple ?= "1328"
SRCREV_pn-openmoko-panel-gps ?= "2900"
SRCREV_pn-openmoko-panel-gsm ?= "3664"
SRCREV_pn-openmoko-panel-mainmenu ?= "2567"
+SRCREV_pn-openmoko-panel-memory ?= "3903"
SRCREV_pn-openmoko-panel-usb ?= "3360"
SRCREV_pn-openmoko-sample2 ?= "3528"
SRCREV_pn-openmoko-session ?= "152"
@@ -120,26 +132,26 @@ SRCREV_pn-openmoko-toolchain-scripts ?= "3767"
SRCREV_pn-openmoko-worldclock2 ?= "3365"
SRCREV_pn-openocd ?= "206"
SRCREV_pn-openocd-native ?= "206"
-SRCREV_pn-opkg ?= "4022"
-SRCREV_pn-opkg-native ?= "4019"
+SRCREV_pn-opkg ?= "4142"
+SRCREV_pn-opkg-native ?= "4142"
SRCREV_pn-oprofileui ?= "160"
SRCREV_pn-psplash ?= "249"
+SRCREV_pn-pyneod ?= "88"
+SRCREV_pn-pyneog ?= "88"
SRCREV_pn-python-formencode = "3148"
-SRCREV_pn-python-fso-pyproto = "70"
SRCREV_pn-python-gsmd = "127"
SRCREV_pn-python-lightmediascanner = "68"
+SRCREV_pn-s3c24xx-gpio ?= "4130"
SRCREV_pn-settings-daemon ?= "1755"
SRCREV_pn-sjf2410-linux-native ?= "933"
SRCREV_pn-sphyrna ?= "45"
SRCREV_pn-tmut ?= "60"
+SRCREV_pn-u-boot-openmoko ?= "4100"
+SRCREV_pn-usbpath ?= "3108"
+SRCREV_pn-usbpath-native ?= "3108"
SRCREV_pn-webkit-gtk ?= "28656"
SRCREV_pn-webkit-qt ?= "28656"
SRCREV_pn-webkit-qtopia ?= "28656"
SRCREV_pn-wesnoth ?= "22021"
SRCREV_pn-xoo ?= "1623"
-SRCREV_pn-mplayer ?= "24587"
-SRCREV_pn-networkmanager ?= "2887"
-SRCREV_pn-networkmanager-applet ?= "200"
-SRCREV_pn-libw100 ?= "47"
-SRCREV_pn-usbpath ?= "3108"
-SRCREV_pn-usbpath-native ?= "3108"
+
diff --git a/conf/distro/nylon.conf b/conf/distro/nylon.conf
index 334c8bba9b..0623ce6dd0 100644
--- a/conf/distro/nylon.conf
+++ b/conf/distro/nylon.conf
@@ -11,6 +11,8 @@
#
# Bruno Randolf <bruno.randolf@4g-systems.biz>
+TARGET_OS = "linux"
+
INHERIT += "package_ipk debian nylon-mirrors"
INHERIT += "linux-kernel-base"
diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf
index b08e5f2ddb..8fab5e5058 100644
--- a/conf/distro/openmoko.conf
+++ b/conf/distro/openmoko.conf
@@ -14,12 +14,13 @@ DISTRO_NAME = "OpenMoko"
DISTRO_VERSION = "P1-Snapshot-${DATE}"
#DISTRO_TYPE = "release"
DISTRO_TYPE = "debug"
+DISTRO_EXTRA_RDEPENDS += "opkg-ipkg-compat"
-OVERRIDES = "local:${MACHINE}:${DISTRO}:angstrom:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+OVERRIDES = "local:${MACHINE}:openmoko:angstrom:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
CVS_TARBALL_STASH = "http://downloads.openmoko.org/sources/"
-PREMIRRORS = "(ftp|https?)$://.*/.*/ http://downloads.openmoko.org/sources/"
+PREMIRRORS = "(ftp|https?)$://.*/.* http://downloads.openmoko.org/sources/"
FEED_URIS = "\
snapshot-all##http://buildhost.openmoko.org/snapshots/2007.08/ipk/all \
@@ -63,7 +64,11 @@ PACKAGE_ARCH_pn-neod_fic-gta02 = "${MACHINE_CLASS}"
PREFERRED_PROVIDER_gtk+ = "gtk+-fastscaling"
PREFERRED_VERSION_gtk+-fastscaling = "2.10.14"
+# for jalimo
+PREFERRED_PROVIDER_classpath = "classpath"
+PREFERRED_PROVIDER_virtual/java-initial = "cacao-initial"
+PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk"
+
# deploy gta01 and gta02 in ${MACHINE_CLASS} directory
DEPLOY_DIR_IMAGE_fic-gta01 = "${DEPLOY_DIR}/images/${MACHINE_CLASS}"
DEPLOY_DIR_IMAGE_fic-gta02 = "${DEPLOY_DIR}/images/${MACHINE_CLASS}"
-
diff --git a/conf/distro/openwrt-sdk.conf b/conf/distro/openwrt-sdk.conf
index 92e5ac5b39..0646b17f90 100644
--- a/conf/distro/openwrt-sdk.conf
+++ b/conf/distro/openwrt-sdk.conf
@@ -20,10 +20,14 @@ require conf/distro/generic-uclibc.conf
DISTRO_NAME = "OpenWRT"
DISTRO_REVISION = "2"
+# Build ipk's wrapped with tar.gz instead of ar, like OpenWRT has them
IPKGBUILDCMD = "ipkg-build -c -o 0 -g 0"
# This is what lives in SDK
ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}gcc virtual/libc"
+# Rename packages to names used in OpenWRT
+PKG_ncurses = "libncurses"
+
# Make sure that we have correct package dependencies for SDK-provided libs.
ASSUME_SHLIBS += "libc.so.0:uclibc libm.so.0:uclibc libgcc_s.so.1:libgcc"
diff --git a/conf/distro/sharprom-compatible.conf b/conf/distro/sharprom-compatible.conf
index 3fbe79e354..0e130a2fd7 100644
--- a/conf/distro/sharprom-compatible.conf
+++ b/conf/distro/sharprom-compatible.conf
@@ -38,6 +38,7 @@ 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 = "linux-libc-headers"
+PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
PREFERRED_PROVIDER_virtual/arm-linux-gcc-initial = "sharprom-toolchain-native"
PREFERRED_VERSION_glibc = "2.2.5"
@@ -52,6 +53,7 @@ PREFERRED_PROVIDERS += " virtual/libqpe:libqpe-opie"
QTE_VERSION = "2.3.10"
OPIE_VERSION = "1.2.2"
PALMTOP_USE_MULTITHREADED_QT = "no"
+export palmtopdir = "/opt/QtPalmtop"
require conf/distro/include/preferred-opie-versions.inc
#
diff --git a/conf/local.conf.sample b/conf/local.conf.sample
index 5204039478..213ed12fae 100644
--- a/conf/local.conf.sample
+++ b/conf/local.conf.sample
@@ -84,7 +84,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
# openzaurus-unstable is a so called "versioned" distro, i.e. they
# explicitely select specific versions of various packages.
# Stay away from unversioned distros unless you really know what you are doing
-# DISTRO = "angstrom-2007.1"
+# DISTRO = "angstrom-2008.1"
# So far, angstrom.conf sets ENABLE_BINARY_LOCALE_GENERATION
# to generate binary locale packages at build time using qemu-native and
diff --git a/conf/machine/cm-x270.conf b/conf/machine/cm-x270.conf
index 1b6188753e..0c9578e407 100644
--- a/conf/machine/cm-x270.conf
+++ b/conf/machine/cm-x270.conf
@@ -6,7 +6,7 @@ TARGET_ARCH = "arm"
GUI_MACHINE_CLASS ?= "bigscreen"
PREFERRED_PROVIDER_virtual/kernel = "linux"
-PREFERRED_VERSION_linux ?= "2.6.23"
+PREFERRED_VERSION_linux ?= "2.6.24"
PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt"
diff --git a/conf/machine/h3900.conf b/conf/machine/h3900.conf
index 5db7abd3d4..8b9b7ee365 100644
--- a/conf/machine/h3900.conf
+++ b/conf/machine/h3900.conf
@@ -24,6 +24,8 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
PCMCIA_MANAGER = "pcmciautils"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+MACHINE_EXTRA_RDEPENDS = "kernel ipaq-boot-params"
+
#
# Modules autoload and other boot properties
#
diff --git a/conf/machine/h5000.conf b/conf/machine/h5000.conf
index e795395534..a55b75cd89 100644
--- a/conf/machine/h5000.conf
+++ b/conf/machine/h5000.conf
@@ -24,12 +24,15 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
EXTRA_IMAGECMD_jffs2 = "-e 0x40000 -p ; echo '${IMAGE_NAME} ${IMAGE_NAME}.rootfs.jffs2 - root' >> ${DEPLOY_DIR_IMAGE}/reflash.ctl"
+# Ship complete set of modules ('kernel-modules') for easier debug purposes
MACHINE_EXTRA_RDEPENDS = "kernel ipaq-boot-params"
-MACHINE_EXTRA_RRECOMMENDS = " kernel-module-h5400-lcd \
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules \
+ kernel-module-h5400-lcd \
kernel-module-h5400-battery \
kernel-module-h5400-bt \
kernel-module-snd-soc-h5000 \
- kernel-module-i2c-pxa"
+ kernel-module-i2c-pxa \
+ at76c503a-modules"
#
# Modules autoload and other boot properties
diff --git a/conf/machine/include/zaurus-2.6.inc b/conf/machine/include/zaurus-2.6.inc
index f6d1ec0d8e..9a4d373de0 100644
--- a/conf/machine/include/zaurus-2.6.inc
+++ b/conf/machine/include/zaurus-2.6.inc
@@ -31,7 +31,7 @@ MACHINE_EXTRA_RDEPENDS = "zaurusd"
MACHINE_EXTRA_RRECOMMENDS_c7x0 = "kernel-module-snd-soc-corgi kernel-module-pxa2xx-cs kernel-module-pcmcia"
MACHINE_EXTRA_RRECOMMENDS_akita = "kernel-module-snd-soc-spitz kernel-module-pxa2xx-cs kernel-module-pcmcia"
MACHINE_EXTRA_RRECOMMENDS_spitz = "kernel-module-snd-soc-spitz"
-MACHINE_EXTRA_RRECOMMENDS_poodle = "kernel-module-snd-soc-poodle"
+MACHINE_EXTRA_RRECOMMENDS_poodle = "kernel-module-snd-soc-poodle kernel-module-pxa2xx-cs kernel-module-pcmcia"
MACHINE_EXTRA_RRECOMMENDS_collie = "kernel-module-locomo-spi kernel-module-sa1100-cs kernel-module-mmc-block \
kernel-module-collie-ts kernel-module-leds-locomo kernel-module-locomokbd"
diff --git a/conf/machine/mpc8313e-rdb.conf b/conf/machine/mpc8313e-rdb.conf
index a43f621406..31f13b00b6 100644
--- a/conf/machine/mpc8313e-rdb.conf
+++ b/conf/machine/mpc8313e-rdb.conf
@@ -5,8 +5,8 @@
TARGET_ARCH = "powerpc"
PACKAGE_EXTRA_ARCHS = "all ${MACHINE} ppc ppce300c3"
-PREFERRED_PROVIDER_virtual/kernel = "linux"
-PREFERRED_VERSION_u-boot = "git"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux"
+PREFERRED_VERSION_u-boot ?= "git"
MACHINE_FEATURES = "kernel26 usbhost ext2"
diff --git a/conf/machine/mpc8323e-rdb.conf b/conf/machine/mpc8323e-rdb.conf
index 38f3b1930c..db1a7ccf16 100644
--- a/conf/machine/mpc8323e-rdb.conf
+++ b/conf/machine/mpc8323e-rdb.conf
@@ -6,7 +6,7 @@ TARGET_ARCH = "powerpc"
TARGET_FPU ?= "soft"
PACKAGE_EXTRA_ARCHS = "all ${MACHINE} ppc ppce300c2"
-PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux"
MACHINE_FEATURES = "kernel26 usbhost pci ext2 uboot"
diff --git a/conf/machine/nokia770.conf b/conf/machine/nokia770.conf
index 4e36c6d38a..15126d56a9 100644
--- a/conf/machine/nokia770.conf
+++ b/conf/machine/nokia770.conf
@@ -4,7 +4,7 @@
TARGET_ARCH = "arm"
PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
-PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap"
PREFERRED_PROVIDER_virtual/bootloader = ""
PREFERRED_PROVIDER_tslib = "tslib-maemo"
diff --git a/conf/machine/poodle.conf b/conf/machine/poodle.conf
index 0fbd9d1578..4e8f011a1e 100644
--- a/conf/machine/poodle.conf
+++ b/conf/machine/poodle.conf
@@ -3,6 +3,7 @@
#@DESCRIPTION: Machine configuration for the PXA250 based Sharp Zaurus SL-B500 and SHarp Zaurus SL-5600 devices
require conf/machine/include/zaurus-2.6.inc
+require conf/machine/include/tune-xscale.inc
IMAGE_FSTYPES ?= "jffs2"
diff --git a/conf/machine/tosa.conf b/conf/machine/tosa.conf
index d8ea4b8890..914300e31c 100644
--- a/conf/machine/tosa.conf
+++ b/conf/machine/tosa.conf
@@ -3,6 +3,7 @@
#@DESCRIPTION: Machine configuration for the PXA255 based Sharp Zaurus SL-6000 device
require conf/machine/include/zaurus-2.6.inc
+require conf/machine/include/tune-xscale.inc
IMAGE_FSTYPES ?= "jffs2"
diff --git a/conf/sanity.conf b/conf/sanity.conf
index fe1e2282e4..4af4454e2e 100644
--- a/conf/sanity.conf
+++ b/conf/sanity.conf
@@ -3,6 +3,16 @@
# See sanity.bbclass
#
# Expert users can confirm their sanity with "touch conf/sanity.conf"
-BB_MIN_VERSION = "1.8.8"
+BB_MIN_VERSION = "1.8.10"
+
+#
+# SANITY_ABI allows us to notify users when the format of TMPDIR changes in
+# an incompatible way. Such changes should usually be detailed in the commit
+# that breaks the format and have been previously discussed on the mailing list
+# with general agreement from the core team.
+#
+SANITY_ABI = "0"
+SANITY_ABIFILE = "${TMPDIR}/abi_version"
+
INHERIT += "sanity"
diff --git a/contrib/angstrom/build-feeds.sh b/contrib/angstrom/build-feeds.sh
index c5d343205f..d5354b2735 100755
--- a/contrib/angstrom/build-feeds.sh
+++ b/contrib/angstrom/build-feeds.sh
@@ -47,7 +47,7 @@ do
task-proper-tools mc screen findutils \
mono perl python ruby \
gtk+ qt-x11-free qt4-x11-free \
- gpe-mini-browser midori minimo openmoko-browser2 webkit-gtklauncher \
+ gpe-mini-browser gpe-mini-browser2 netsurf midori minimo openmoko-browser2 webkit-gtklauncher \
samba meta-nas-server \
apache2 boa cherokee lighttpd thttpd \
gpe-gallery gpe-scap notecase \
diff --git a/contrib/angstrom/upload-packages.sh b/contrib/angstrom/upload-packages.sh
new file mode 100644
index 0000000000..1b457a5fc9
--- /dev/null
+++ b/contrib/angstrom/upload-packages.sh
@@ -0,0 +1,35 @@
+#! /bin/sh
+# MIT Licensed
+# Initial version by Graeme 'XorA' Gregory, Further changes by Koen Kooi
+
+# Run this from inside ${DEPLOY_DIR} e.g. tmp/deploy/glibc/
+
+# Angstrom webserver
+REMOTEM=angstrom@linuxtogo.org
+
+# Feed dir we want to upload to
+REMOTED=website/feeds/2008/ipk/$(basename $PWD)
+
+# create upload dir
+mkdir -p upload-queue || true
+
+# Find and delete morgue dirs, we don't need them
+find ipk/ -name "morgue" -exec rm -rf \{\} \;
+
+# Copy all packages to an upload queue
+find ipk/ -name "*.ipk" -exec cp \{\} upload-queue/ \;
+
+# Find file already present on webserver
+ssh $REMOTEM "find $REMOTED/ -name "*.ipk" -exec basename \{\} \;" > files-remote
+ls upload-queue/ | grep -v morgue > files-local
+
+# Check for files already present on webserver
+cat files-remote files-local | sort | uniq -u >files-uniq
+cat files-uniq files-local | sort | uniq -d > files-trans
+
+# Copy over non-duplicate files
+rsync -vz --files-from=files-trans upload-queue/ $REMOTEM:$REMOTED/unsorted/
+
+# Clean up temporary files
+rm -rf files-remote files-local files-uniq files-trans upload-queue
+
diff --git a/packages/acpid/acpid-1.0.3/.mtn2git_empty b/contrib/artwork/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/acpid/acpid-1.0.3/.mtn2git_empty
+++ b/contrib/artwork/.mtn2git_empty
diff --git a/contrib/oe.svg b/contrib/artwork/oe.svg
index 8f3dd17041..8f3dd17041 100644
--- a/contrib/oe.svg
+++ b/contrib/artwork/oe.svg
diff --git a/contrib/artwork/powered-by-oe.svg b/contrib/artwork/powered-by-oe.svg
new file mode 100644
index 0000000000..7e1c382f57
--- /dev/null
+++ b/contrib/artwork/powered-by-oe.svg
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg1"
+ sodipodi:version="0.32"
+ inkscape:version="0.45.1"
+ width="8.0000000cm"
+ height="6.0000000cm"
+ sodipodi:docname="oe.svg"
+ sodipodi:docbase="/home/mallum/Desktop"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <metadata
+ id="metadata22">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.621852"
+ inkscape:cx="141.73228"
+ inkscape:cy="106.29921"
+ inkscape:window-width="1600"
+ inkscape:window-height="972"
+ showguides="true"
+ snaptoguides="true"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:current-layer="svg1" />
+ <path
+ style="fill:#9ca3c2;fill-rule:evenodd;stroke:#000000;stroke-width:0.86250001;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
+ d="M 150.60592,99.743209 C 150.60592,134.90946 122.06521,163.45016 86.89898,163.45016 C 51.732741,163.45016 23.192037,134.90946 23.192037,99.743209 C 23.192037,64.576987 51.732741,36.036281 86.89898,36.036281 C 122.06521,36.036281 150.60592,64.576987 150.60592,99.743209 z M 125.59088,99.743225 C 125.59088,131.0126 108.25691,156.39065 86.898996,156.39065 C 65.541064,156.39065 48.207098,131.0126 48.207098,99.743225 C 48.207098,68.473843 65.541064,43.095803 86.898996,43.095803 C 108.25691,43.095803 125.59088,68.473843 125.59088,99.743225 z "
+ id="path861" />
+ <path
+ style="fill:#9ca3c2;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.86250001;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+ d="M 132.75147,99.35642 C 132.87448,72.917742 151.72789,35.858725 196.63972,35.835097 C 207.45455,35.890687 223.63895,43.346804 225.55952,49.517017 C 183.8404,33.116588 151.35632,67.61955 151.26456,99.8654 C 151.42728,132.36573 184.86806,166.68422 225.66493,149.78379 C 222.82764,155.71089 208.80153,163.59326 196.50275,163.65048 C 151.84536,163.85942 132.62846,126.04958 132.75147,99.35642 z "
+ id="path869"
+ sodipodi:nodetypes="csczcsz" />
+ <path
+ style="fill:#9ca3c2;fill-rule:evenodd;stroke:#000000;stroke-width:0.86250001;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
+ d="M 173.2093,70.12526 C 187.1012,69.82853 198.1696,84.01726 198.3348,99.56551 C 198.4135,115.2003 187.9133,129.6873 173.1847,129.1256 C 187.7964,120.1516 188.1917,102.48494 188.1594,99.61621 C 188.127,96.66092 187.449,78.73875 173.2093,70.12526 z "
+ id="path877"
+ sodipodi:nodetypes="czczc" />
+ <g
+ id="g921"
+ transform="matrix(0.680271,0,0,0.680271,-188.5137,-257.4138)">
+ <text
+ xml:space="preserve"
+ style="font-size:56px;line-height:100%;stroke-width:3pt;font-family:Verdana"
+ x="417.81042"
+ y="1061.9202"
+ id="text902"
+ sodipodi:linespacing="100%"
+ transform="matrix(0.631134,0,0,0.631134,3.430357,0)"> <tspan
+ id="tspan903"
+ style="fill:#000000;fill-opacity:1">open</tspan> </text>
+ <text
+ xml:space="preserve"
+ style="font-size:56px;line-height:100%;fill:#929292;stroke-width:3pt;font-family:Verdana"
+ x="567.8233"
+ y="1061.9202"
+ id="text905"
+ sodipodi:linespacing="100%"
+ transform="scale(0.631134,0.631134)"> <tspan
+ id="tspan906"
+ style="fill:#929292;fill-opacity:1">embedded</tspan> </text>
+ </g>
+ <g
+ id="g945"
+ style="stroke:#000000;stroke-opacity:0.12000002"
+ transform="translate(0,8)">
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-opacity:0.12000002"
+ d="M 210.10063,527.6401 L 600.37556,527.6401"
+ id="path840"
+ sodipodi:nodetypes="cc"
+ transform="matrix(0.680271,0,0,0.680271,-132.4632,-267.1952)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 577.3438,527.64009 C 577.3438,579.33452 535.3889,621.28942 483.69447,621.28942 C 432.00004,621.28942 390.04514,579.33452 390.04514,527.64009 C 390.04514,475.94566 432.00004,433.99076 483.69447,433.99076 C 535.3889,433.99076 577.3438,475.94566 577.3438,527.64009 z "
+ id="path849"
+ transform="matrix(0.680271,0,0,0.680271,-132.4632,-267.1952)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 378.24332,527.64008 C 378.24332,558.43082 353.25373,583.4204 322.46301,583.4204 C 291.67226,583.4204 266.68267,558.43082 266.68267,527.64008 C 266.68267,496.84933 291.67226,471.85976 322.46301,471.85976 C 353.25373,471.85976 378.24332,496.84933 378.24332,527.64008 z "
+ id="path839"
+ transform="matrix(0.680271,0,0,0.680271,-132.4632,-267.1952)" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 322.463,422.21153 L 322.463,633.06864"
+ id="path841"
+ sodipodi:nodetypes="cc"
+ transform="matrix(0.680271,0,0,0.680271,-132.4632,-267.1952)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 539.4748,527.64009 C 539.4748,558.43083 514.48521,583.42041 483.69449,583.42041 C 452.90374,583.42041 427.91415,558.43083 427.91415,527.64009 C 427.91415,496.84934 452.90374,471.85977 483.69449,471.85977 C 514.48521,471.85977 539.4748,496.84934 539.4748,527.64009 z "
+ id="path850"
+ transform="matrix(0.680271,0,0,0.680271,-132.4632,-267.1952)" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 483.69448,422.21153 L 483.69448,633.06864"
+ id="path851"
+ sodipodi:nodetypes="cc"
+ transform="matrix(0.680271,0,0,0.680271,-132.4632,-267.1952)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.7668311;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 144.34955,91.743214 C 144.34955,123.45594 118.61168,149.1938 86.89897,149.1938 C 55.186251,149.1938 29.4484,123.45594 29.4484,91.743214 C 29.4484,60.030495 55.186251,34.292644 86.89897,34.292644 C 118.61168,34.292644 144.34955,60.030495 144.34955,91.743214 z "
+ id="path943" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.7668311;stroke-linejoin:round;stroke-opacity:0.12000002"
+ d="M 254.0307,91.74305 C 254.0307,123.45578 228.29283,149.19364 196.58012,149.19364 C 164.8674,149.19364 139.12954,123.45578 139.12954,91.74305 C 139.12954,60.030332 164.8674,34.29248 196.58012,34.29248 C 228.29283,34.29248 254.0307,60.030332 254.0307,91.74305 z "
+ id="path944" />
+ </g>
+ <text
+ sodipodi:linespacing="100%"
+ id="text2180"
+ y="24.027855"
+ x="71.040924"
+ style="font-size:24.0431633px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#929292;stroke-width:3pt;font-family:Verdana"
+ xml:space="preserve"><tspan
+ sodipodi:role="line"
+ id="tspan2195"
+ x="71.040924"
+ y="24.027855">Powered by</tspan></text>
+</svg>
diff --git a/packages/acpid/acpid-1.0.3/gcc40.patch b/packages/acpid/acpid-1.0.3/gcc40.patch
deleted file mode 100644
index dbe090ba41..0000000000
--- a/packages/acpid/acpid-1.0.3/gcc40.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: acpid-1.0.3/ud_socket.c
-===================================================================
---- acpid-1.0.3.orig/ud_socket.c 2003-11-17 14:24:58.000000000 -0700
-+++ acpid-1.0.3/ud_socket.c 2005-06-27 14:44:17.785576106 -0700
-@@ -58,7 +58,7 @@
- while (1) {
- int newsock = 0;
- struct sockaddr_un cliaddr;
-- int len = sizeof(struct sockaddr_un);
-+ socklen_t len = sizeof(struct sockaddr_un);
-
- newsock = accept(listenfd, (struct sockaddr *)&cliaddr, &len);
- if (newsock < 0) {
diff --git a/packages/acpid/acpid-1.0.4/.mtn2git_empty b/packages/acpid/acpid/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/acpid/acpid-1.0.4/.mtn2git_empty
+++ b/packages/acpid/acpid/.mtn2git_empty
diff --git a/packages/acpid/acpid-1.0.4/gcc40.patch b/packages/acpid/acpid/gcc40.patch
index dbe090ba41..5320cee0bb 100644
--- a/packages/acpid/acpid-1.0.4/gcc40.patch
+++ b/packages/acpid/acpid/gcc40.patch
@@ -1,3 +1,5 @@
+upstream: https://sourceforge.net/tracker/index.php?func=detail&aid=1895615&group_id=33140&atid=407341
+
Index: acpid-1.0.3/ud_socket.c
===================================================================
--- acpid-1.0.3.orig/ud_socket.c 2003-11-17 14:24:58.000000000 -0700
diff --git a/packages/alsa/alsa-state.bb b/packages/alsa/alsa-state.bb
index 02957aebe9..d4da2c16d4 100644
--- a/packages/alsa/alsa-state.bb
+++ b/packages/alsa/alsa-state.bb
@@ -8,7 +8,7 @@ DESCRIPTION = "Default ALSA configuration"
LICENSE = "GPL"
RRECOMMENDS_alsa-state = "alsa-states"
PV = "0.1.0"
-PR = "r9"
+PR = "r10"
SRC_URI = " \
file://asoundrc \
@@ -28,6 +28,7 @@ SRC_URI_append_fic-gta01 = " \
SRC_URI_append_fic-gta02 = "\
file://stereoout.state \
+ file://gsmhandset.state \
"
inherit update-rc.d
diff --git a/packages/alsa/alsa-state/akita/asound.state b/packages/alsa/alsa-state/akita/asound.state
index ee5ef519c3..d1bacfb708 100644
--- a/packages/alsa/alsa-state/akita/asound.state
+++ b/packages/alsa/alsa-state/akita/asound.state
@@ -6,8 +6,8 @@ state.Spitz {
comment.range '0 - 63'
iface MIXER
name 'Capture Volume'
- value.0 23
- value.1 23
+ value.0 48
+ value.1 48
}
control.2 {
comment.access 'read write'
@@ -15,8 +15,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Capture ZC Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.3 {
comment.access 'read write'
@@ -24,8 +24,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Capture Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.4 {
comment.access 'read write'
@@ -33,8 +33,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Headphone Playback ZC Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.5 {
comment.access 'read write'
@@ -42,8 +42,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Speaker Playback ZC Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.6 {
comment.access 'read write'
@@ -92,8 +92,8 @@ state.Spitz {
comment.range '0 - 255'
iface MIXER
name 'PCM Volume'
- value.0 255
- value.1 255
+ value.0 220
+ value.1 220
}
control.11 {
comment.access 'read write'
@@ -122,7 +122,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'Bass Volume'
- value 11
+ value 0
}
control.14 {
comment.access 'read write'
@@ -131,7 +131,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'Treble Volume'
- value 11
+ value 0
}
control.15 {
comment.access 'read write'
@@ -158,7 +158,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name '3D Volume'
- value 9
+ value 0
}
control.18 {
comment.access 'read write'
@@ -226,7 +226,7 @@ state.Spitz {
comment.count 1
iface MIXER
name 'ALC Capture ZC Switch'
- value false
+ value true
}
control.25 {
comment.access 'read write'
@@ -235,7 +235,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Hold Time'
- value 0
+ value 9
}
control.26 {
comment.access 'read write'
@@ -244,7 +244,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Decay Time'
- value 3
+ value 9
}
control.27 {
comment.access 'read write'
@@ -253,7 +253,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Attack Time'
- value 2
+ value 3
}
control.28 {
comment.access 'read write'
@@ -298,7 +298,7 @@ state.Spitz {
comment.range '0 - 255'
iface MIXER
name 'Right ADC Capture Volume'
- value 0
+ value 195
}
control.33 {
comment.access 'read write'
@@ -306,7 +306,7 @@ state.Spitz {
comment.count 1
iface MIXER
name 'ZC Timeout Switch'
- value false
+ value true
}
control.34 {
comment.access 'read write'
@@ -331,8 +331,8 @@ state.Spitz {
comment.range '0 - 3'
iface MIXER
name 'Mic Boost'
- value.0 0
- value.1 0
+ value.0 3
+ value.1 3
}
control.37 {
comment.access 'read write'
@@ -379,8 +379,8 @@ state.Spitz {
comment.range '0 - 127'
iface MIXER
name 'Headphone Playback Volume'
- value.0 121
- value.1 121
+ value.0 105
+ value.1 105
}
control.42 {
comment.access 'read write'
@@ -389,8 +389,8 @@ state.Spitz {
comment.range '0 - 127'
iface MIXER
name 'Speaker Playback Volume'
- value.0 121
- value.1 121
+ value.0 127
+ value.1 127
}
control.43 {
comment.access 'read write'
@@ -411,7 +411,7 @@ state.Spitz {
comment.item.3 'Digital Mono'
iface MIXER
name 'Right ADC Mux'
- value 'Mono (Left)'
+ value 'Digital Mono'
}
control.45 {
comment.access 'read write'
@@ -423,7 +423,7 @@ state.Spitz {
comment.item.3 'Digital Mono'
iface MIXER
name 'Left ADC Mux'
- value 'Mono (Left)'
+ value 'Digital Mono'
}
control.46 {
comment.access 'read write'
@@ -458,7 +458,7 @@ state.Spitz {
comment.item.4 Differential
iface MIXER
name 'Right Line Mux'
- value 'Line 2'
+ value Differential
}
control.49 {
comment.access 'read write'
@@ -471,7 +471,7 @@ state.Spitz {
comment.item.4 Differential
iface MIXER
name 'Left Line Mux'
- value 'Line 1'
+ value Differential
}
control.50 {
comment.access 'read write'
@@ -483,7 +483,7 @@ state.Spitz {
comment.item.3 Differential
iface MIXER
name 'Right PGA Mux'
- value 'Line 2'
+ value Differential
}
control.51 {
comment.access 'read write'
@@ -495,7 +495,7 @@ state.Spitz {
comment.item.3 Differential
iface MIXER
name 'Left PGA Mux'
- value 'Line 1'
+ value Differential
}
control.52 {
comment.access 'read write'
diff --git a/packages/alsa/alsa-state/fic-gta02/asound.state b/packages/alsa/alsa-state/fic-gta02/asound.state
index df824b66b6..04e6f60da9 100644
--- a/packages/alsa/alsa-state/fic-gta02/asound.state
+++ b/packages/alsa/alsa-state/fic-gta02/asound.state
@@ -6,8 +6,8 @@ state.neo1973gta02 {
comment.range '0 - 255'
iface MIXER
name 'PCM Volume'
- value.0 255
- value.1 255
+ value.0 235
+ value.1 235
}
control.2 {
comment.access 'read write'
@@ -26,8 +26,8 @@ state.neo1973gta02 {
comment.range '0 - 127'
iface MIXER
name 'Headphone Playback Volume'
- value.0 121
- value.1 121
+ value.0 127
+ value.1 127
}
control.4 {
comment.access 'read write'
@@ -36,8 +36,8 @@ state.neo1973gta02 {
comment.range '0 - 127'
iface MIXER
name 'Speaker Playback Volume'
- value.0 121
- value.1 121
+ value.0 0
+ value.1 0
}
control.5 {
comment.access 'read write'
diff --git a/packages/alsa/alsa-state/fic-gta02/gsmhandset.state b/packages/alsa/alsa-state/fic-gta02/gsmhandset.state
new file mode 100644
index 0000000000..cc0d32a7c7
--- /dev/null
+++ b/packages/alsa/alsa-state/fic-gta02/gsmhandset.state
@@ -0,0 +1,859 @@
+state.neo1973gta02 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 235
+ value.1 235
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 127
+ value.1 127
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 115
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 true
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 true
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 3
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 1
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 1
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 24
+ value.1 24
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value false
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 1
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Stereo
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 7
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 0'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Rx Mix'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Rx Mix'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value true
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value Stereo
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value Stereo
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value true
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value true
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value false
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value false
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value true
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAPM Stereo Out Switch'
+ value true
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAPM GSM Line Out Switch'
+ value true
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAPM GSM Line In Switch'
+ value false
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAPM Headset Mic Switch'
+ value false
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAPM Handset Mic Switch'
+ value true
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAPM Handset Spk Switch'
+ value true
+ }
+}
diff --git a/packages/alsa/alsa-state/fic-gta02/stereoout.state b/packages/alsa/alsa-state/fic-gta02/stereoout.state
index df824b66b6..04e6f60da9 100644
--- a/packages/alsa/alsa-state/fic-gta02/stereoout.state
+++ b/packages/alsa/alsa-state/fic-gta02/stereoout.state
@@ -6,8 +6,8 @@ state.neo1973gta02 {
comment.range '0 - 255'
iface MIXER
name 'PCM Volume'
- value.0 255
- value.1 255
+ value.0 235
+ value.1 235
}
control.2 {
comment.access 'read write'
@@ -26,8 +26,8 @@ state.neo1973gta02 {
comment.range '0 - 127'
iface MIXER
name 'Headphone Playback Volume'
- value.0 121
- value.1 121
+ value.0 127
+ value.1 127
}
control.4 {
comment.access 'read write'
@@ -36,8 +36,8 @@ state.neo1973gta02 {
comment.range '0 - 127'
iface MIXER
name 'Speaker Playback Volume'
- value.0 121
- value.1 121
+ value.0 0
+ value.1 0
}
control.5 {
comment.access 'read write'
diff --git a/packages/alsa/alsa-state/spitz/asound.state b/packages/alsa/alsa-state/spitz/asound.state
index 81b6ed9814..d1bacfb708 100644
--- a/packages/alsa/alsa-state/spitz/asound.state
+++ b/packages/alsa/alsa-state/spitz/asound.state
@@ -6,8 +6,8 @@ state.Spitz {
comment.range '0 - 63'
iface MIXER
name 'Capture Volume'
- value.0 23
- value.1 23
+ value.0 48
+ value.1 48
}
control.2 {
comment.access 'read write'
@@ -15,8 +15,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Capture ZC Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.3 {
comment.access 'read write'
@@ -24,8 +24,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Capture Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.4 {
comment.access 'read write'
@@ -33,8 +33,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Headphone Playback ZC Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.5 {
comment.access 'read write'
@@ -42,8 +42,8 @@ state.Spitz {
comment.count 2
iface MIXER
name 'Speaker Playback ZC Switch'
- value.0 false
- value.1 false
+ value.0 true
+ value.1 true
}
control.6 {
comment.access 'read write'
@@ -92,8 +92,8 @@ state.Spitz {
comment.range '0 - 255'
iface MIXER
name 'PCM Volume'
- value.0 255
- value.1 255
+ value.0 220
+ value.1 220
}
control.11 {
comment.access 'read write'
@@ -131,7 +131,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'Treble Volume'
- value 15
+ value 0
}
control.15 {
comment.access 'read write'
@@ -188,7 +188,7 @@ state.Spitz {
comment.item.1 Playback
iface MIXER
name '3D Mode'
- value Capture
+ value Playback
}
control.21 {
comment.access 'read write'
@@ -218,7 +218,7 @@ state.Spitz {
comment.item.3 Stereo
iface MIXER
name 'ALC Capture Function'
- value Off
+ value Left
}
control.24 {
comment.access 'read write'
@@ -226,7 +226,7 @@ state.Spitz {
comment.count 1
iface MIXER
name 'ALC Capture ZC Switch'
- value false
+ value true
}
control.25 {
comment.access 'read write'
@@ -235,7 +235,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Hold Time'
- value 0
+ value 9
}
control.26 {
comment.access 'read write'
@@ -244,7 +244,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Decay Time'
- value 3
+ value 9
}
control.27 {
comment.access 'read write'
@@ -253,7 +253,7 @@ state.Spitz {
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Attack Time'
- value 2
+ value 3
}
control.28 {
comment.access 'read write'
@@ -306,7 +306,7 @@ state.Spitz {
comment.count 1
iface MIXER
name 'ZC Timeout Switch'
- value false
+ value true
}
control.34 {
comment.access 'read write'
@@ -322,7 +322,7 @@ state.Spitz {
comment.count 1
iface MIXER
name 'Right Speaker Playback Invert Switch'
- value false
+ value true
}
control.36 {
comment.access 'read write'
@@ -331,8 +331,8 @@ state.Spitz {
comment.range '0 - 3'
iface MIXER
name 'Mic Boost'
- value.0 0
- value.1 0
+ value.0 3
+ value.1 3
}
control.37 {
comment.access 'read write'
@@ -341,8 +341,8 @@ state.Spitz {
comment.range '0 - 7'
iface MIXER
name 'Bypass Left Playback Volume'
- value.0 2
- value.1 2
+ value.0 0
+ value.1 0
}
control.38 {
comment.access 'read write'
@@ -351,8 +351,8 @@ state.Spitz {
comment.range '0 - 7'
iface MIXER
name 'Bypass Right Playback Volume'
- value.0 2
- value.1 2
+ value.0 0
+ value.1 0
}
control.39 {
comment.access 'read write'
@@ -361,8 +361,8 @@ state.Spitz {
comment.range '0 - 7'
iface MIXER
name 'Bypass Mono Playback Volume'
- value.0 2
- value.1 2
+ value.0 0
+ value.1 0
}
control.40 {
comment.access 'read write'
@@ -379,8 +379,8 @@ state.Spitz {
comment.range '0 - 127'
iface MIXER
name 'Headphone Playback Volume'
- value.0 121
- value.1 121
+ value.0 105
+ value.1 105
}
control.42 {
comment.access 'read write'
@@ -389,8 +389,8 @@ state.Spitz {
comment.range '0 - 127'
iface MIXER
name 'Speaker Playback Volume'
- value.0 121
- value.1 121
+ value.0 127
+ value.1 127
}
control.43 {
comment.access 'read write'
@@ -399,7 +399,7 @@ state.Spitz {
comment.range '0 - 127'
iface MIXER
name 'Mono Playback Volume'
- value 121
+ value 0
}
control.44 {
comment.access 'read write'
@@ -411,7 +411,7 @@ state.Spitz {
comment.item.3 'Digital Mono'
iface MIXER
name 'Right ADC Mux'
- value Stereo
+ value 'Digital Mono'
}
control.45 {
comment.access 'read write'
@@ -423,7 +423,7 @@ state.Spitz {
comment.item.3 'Digital Mono'
iface MIXER
name 'Left ADC Mux'
- value Stereo
+ value 'Digital Mono'
}
control.46 {
comment.access 'read write'
@@ -458,7 +458,7 @@ state.Spitz {
comment.item.4 Differential
iface MIXER
name 'Right Line Mux'
- value 'Line 1'
+ value Differential
}
control.49 {
comment.access 'read write'
@@ -471,7 +471,7 @@ state.Spitz {
comment.item.4 Differential
iface MIXER
name 'Left Line Mux'
- value 'Line 1'
+ value Differential
}
control.50 {
comment.access 'read write'
@@ -483,7 +483,7 @@ state.Spitz {
comment.item.3 Differential
iface MIXER
name 'Right PGA Mux'
- value 'Line 1'
+ value Differential
}
control.51 {
comment.access 'read write'
@@ -495,7 +495,7 @@ state.Spitz {
comment.item.3 Differential
iface MIXER
name 'Left PGA Mux'
- value 'Line 1'
+ value Differential
}
control.52 {
comment.access 'read write'
@@ -535,7 +535,7 @@ state.Spitz {
comment.count 1
iface MIXER
name 'Right Mixer Left Playback Switc'
- value true
+ value false
}
control.57 {
comment.access 'read write'
diff --git a/packages/altboot/altboot.inc b/packages/altboot/altboot.inc
index 9fe1e7a03b..772a6b8eb4 100644
--- a/packages/altboot/altboot.inc
+++ b/packages/altboot/altboot.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.hentges.net/misc/openzaurus/index.shtml"
LICENSE = "GPL"
RDEPENDS_${PN} = "${PN}-conf"
RDEPENDS_${PN}-conf = "${PN}"
-RRECOMMENDS_${PN} = "e2fsprogs-e2fsck dosfstools kexec-tools kernel-module-loop"
+RRECOMMENDS_${PN} = "e2fsprogs-e2fsck e2fsprogs-mke2fs dosfstools kexec-tools kernel-module-loop"
RRECOMMENDS_${PN}_spitz += " kernel-module-jffs2"
S = "${WORKDIR}/trunk/"
diff --git a/packages/altboot/altboot_1.0.8+1.0.9_pre1.bb b/packages/altboot/altboot_1.0.8+1.0.9_pre1.bb
index aa359ff0c9..3890e68893 100644
--- a/packages/altboot/altboot_1.0.8+1.0.9_pre1.bb
+++ b/packages/altboot/altboot_1.0.8+1.0.9_pre1.bb
@@ -9,7 +9,7 @@ DEFAULT_PREFERENCE = "-1"
#RDEPENDS_${PN}_append_poodle = " kexec-tools"
#RDEPENDS_${PN}-conf = "${PN}"
-PR = "r1"
+PR = "r2"
SVN_REV="65"
#TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '-')}"
diff --git a/packages/altboot/altboot_1.0.8.bb b/packages/altboot/altboot_1.0.8.bb
index de2a249010..3e18111a5b 100644
--- a/packages/altboot/altboot_1.0.8.bb
+++ b/packages/altboot/altboot_1.0.8.bb
@@ -1,6 +1,6 @@
require altboot.inc
-PR = "r3"
+PR = "r4"
TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '-')}"
SRC_URI = "svn://hentges.net/public/altboot/tags/;module=${TAG};proto=svn"
diff --git a/packages/altboot/altboot_1.1.1+wip-SVNR78.bb b/packages/altboot/altboot_1.1.1+wip-SVNR80.bb
index be50911f69..b333264d34 100644
--- a/packages/altboot/altboot_1.1.1+wip-SVNR78.bb
+++ b/packages/altboot/altboot_1.1.1+wip-SVNR80.bb
@@ -1,8 +1,8 @@
require altboot.inc
-PR = "r1"
+PR = "r0"
-SVN_REV = "78"
+SVN_REV = "80"
SRC_URI = "svn://hentges.net/public/altboot;module=trunk;rev=${SVN_REV} \
"
diff --git a/packages/altboot/altboot_svn.bb b/packages/altboot/altboot_svn.bb
index a736ccd7c4..85a7fe612f 100644
--- a/packages/altboot/altboot_svn.bb
+++ b/packages/altboot/altboot_svn.bb
@@ -1,7 +1,7 @@
require altboot.inc
PV = "1.1.1+wip-${SRCDATE}"
-PR = "r3"
+PR = "r4"
SRC_URI = "svn://hentges.net/public/altboot;module=trunk;proto=svn"
diff --git a/packages/compositeext/.mtn2git_empty b/packages/amule/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/compositeext/.mtn2git_empty
+++ b/packages/amule/.mtn2git_empty
diff --git a/packages/amule/amule_2.1.3.bb b/packages/amule/amule_2.1.3.bb
new file mode 100644
index 0000000000..b160203ffd
--- /dev/null
+++ b/packages/amule/amule_2.1.3.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "aMule is an eMule-like client for the eD2k \
+and Kademlia networks, supporting multiple platforms."
+HOMEPAGE = "http://www.amule.org"
+LICENSE = "GPL"
+SECTION = "web"
+PRIORITY = "optional"
+DEPENDS = "wxbase"
+
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/amule/aMule-${PV}.tar.bz2 \
+ file://parser.patch;patch=1"
+
+S = "${WORKDIR}/aMule-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-amulecmd \
+ --enable-webserver \
+ --disable-monolithic \
+ --enable-amule-daemon \
+ --disable-nls"
+# --enable-optimize"
+
+FILES_${PN} += " \
+ ${libdir}/xchat"
diff --git a/packages/damageext/.mtn2git_empty b/packages/amule/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/damageext/.mtn2git_empty
+++ b/packages/amule/files/.mtn2git_empty
diff --git a/packages/amule/files/parser.patch b/packages/amule/files/parser.patch
new file mode 100644
index 0000000000..ee77c42380
--- /dev/null
+++ b/packages/amule/files/parser.patch
@@ -0,0 +1,20 @@
+diff -ur aMule-2.1.0_orig/src/Parser.cpp aMule-2.1.0/src/Parser.cpp
+--- aMule-2.1.0_orig/src/Parser.cpp 2005-12-20 05:13:25.000000000 +0100
++++ aMule-2.1.0/src/Parser.cpp 2006-01-29 15:16:45.000000000 +0100
+@@ -203,14 +203,14 @@
+ # define YYMALLOC malloc
+ # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
+ && (defined (__STDC__) || defined (__cplusplus)))
+-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++/*void *malloc (YYSIZE_T);*/ /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # ifndef YYFREE
+ # define YYFREE free
+ # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
+ && (defined (__STDC__) || defined (__cplusplus)))
+-void free (void *); /* INFRINGES ON USER NAME SPACE */
++/*void free (void *);*/ /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # ifdef __cplusplus
diff --git a/packages/angstrom/angstrom-task-sectest.bb b/packages/angstrom/angstrom-task-sectest.bb
index c3ebcab31d..bf8019da0d 100644
--- a/packages/angstrom/angstrom-task-sectest.bb
+++ b/packages/angstrom/angstrom-task-sectest.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "Task packages for the Angstrom distribution"
-PR = "r32"
+PR = "r33"
inherit task
RDEPENDS_${PN} = "\
nmap \
- ettercap \
+ ettercap-ng \
stunnel \
curl \
# dsniff \
diff --git a/packages/anki/anki_0.4.3.bb b/packages/anki/anki_0.4.3.bb
index 5d0c8fabe7..f3a62f3323 100644
--- a/packages/anki/anki_0.4.3.bb
+++ b/packages/anki/anki_0.4.3.bb
@@ -1,9 +1,9 @@
require anki.inc
RDEPENDS += "libanki"
-PR = "r0"
+PR = "r1"
-export PV
+export PV := "${PV}"
SRC_URI += "file://no-need-for-pyqt-at-buildtime.patch;patch=1"
S = "${WORKDIR}/anki-${PV}"
diff --git a/packages/apt/apt-native_0.6.46.2.bb b/packages/apt/apt-native_0.6.46.2.bb
index 43f73889f7..3342618aa9 100644
--- a/packages/apt/apt-native_0.6.46.2.bb
+++ b/packages/apt/apt-native_0.6.46.2.bb
@@ -1,4 +1,5 @@
require apt-native.inc
+PR = "r1"
SRC_URI += "file://nodoc.patch;patch=1 \
file://noconfigure.patch;patch=1"
diff --git a/packages/apt/apt-native_0.7.2.bb b/packages/apt/apt-native_0.7.2.bb
index 3342618aa9..6db567f987 100644
--- a/packages/apt/apt-native_0.7.2.bb
+++ b/packages/apt/apt-native_0.7.2.bb
@@ -1,5 +1,5 @@
require apt-native.inc
-PR = "r1"
+PR = "r2"
SRC_URI += "file://nodoc.patch;patch=1 \
file://noconfigure.patch;patch=1"
diff --git a/packages/apt/apt-native_0.7.3.bb b/packages/apt/apt-native_0.7.3.bb
index 6db567f987..7bf69c01af 100644
--- a/packages/apt/apt-native_0.7.3.bb
+++ b/packages/apt/apt-native_0.7.3.bb
@@ -1,5 +1,5 @@
require apt-native.inc
-PR = "r2"
+PR = "r3"
SRC_URI += "file://nodoc.patch;patch=1 \
file://noconfigure.patch;patch=1"
diff --git a/packages/apt/files/apt.conf b/packages/apt/files/apt.conf
index 9e90616465..2bd9ddbfaf 100644
--- a/packages/apt/files/apt.conf
+++ b/packages/apt/files/apt.conf
@@ -1,4 +1,4 @@
-Dir "${STAGING_DIR}/"
+Dir "${STAGING_DIR_NATIVE}/"
{
State "var/lib/apt/"
{
diff --git a/packages/ark3116/ark3116_0.4.1.bb b/packages/ark3116/ark3116_0.4.1.bb
index 89bcfa85d9..629c50a3ca 100644
--- a/packages/ark3116/ark3116_0.4.1.bb
+++ b/packages/ark3116/ark3116_0.4.1.bb
@@ -25,8 +25,8 @@ EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
'LD=${KERNEL_LD}' \
'KDIR=${STAGING_KERNEL_DIR}'"
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
+export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir}"
do_install() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/serial
diff --git a/packages/asterisk/asterisk_1.4.10.bb b/packages/asterisk/asterisk_1.4.10.bb
index 4110f01930..416495a0b8 100644
--- a/packages/asterisk/asterisk_1.4.10.bb
+++ b/packages/asterisk/asterisk_1.4.10.bb
@@ -30,17 +30,17 @@ INITSCRIPT_PARAMS = "defaults 60"
inherit autotools update-rc.d
-EXTRA_OECONF = "--with-ssl=${STAGING_DIR}/${TARGET_SYS}\
- --with-z=${STAGING_DIR}/${TARGET_SYS}\
- --with-curl=${STAGING_DIR}/${TARGET_SYS}\
- --with-termcap=${STAGING_DIR}/${TARGET_SYS}\
- --with-ogg=${STAGING_DIR}/${TARGET_SYS}\
- --with-vorbis=${STAGING_DIR}/${TARGET_SYS}\
- --with-sqlite=${STAGING_DIR}/${TARGET_SYS}\
- --with-popt=${STAGING_DIR}/${TARGET_SYS}\
- --with-gnutls=${STAGING_DIR}/${TARGET_SYS}\
+EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \
+ --with-z=${STAGING_EXECPREFIXDIR} \
+ --with-curl=${STAGING_EXECPREFIXDIR} \
+ --with-termcap=${STAGING_EXECPREFIXDIR} \
+ --with-ogg=${STAGING_EXECPREFIXDIR} \
+ --with-vorbis=${STAGING_EXECPREFIXDIR} \
+ --with-sqlite=${STAGING_EXECPREFIXDIR} \
+ --with-popt=${STAGING_EXECPREFIXDIR} \
+ --with-gnutls=${STAGING_EXECPREFIXDIR} \
--without-curses\
- --with-ncurses=${STAGING_DIR}/${TARGET_SYS}\
+ --with-ncurses=${STAGING_EXECPREFIXDIR} \
--without-imap\
--without-netsnmp\
--without-odbc\
diff --git a/packages/asterisk/asterisk_1.4.11.bb b/packages/asterisk/asterisk_1.4.11.bb
index 0d4f30aef9..2f116864e4 100644
--- a/packages/asterisk/asterisk_1.4.11.bb
+++ b/packages/asterisk/asterisk_1.4.11.bb
@@ -32,17 +32,17 @@ INITSCRIPT_PARAMS = "defaults 60"
inherit autotools update-rc.d
-EXTRA_OECONF = "--with-ssl=${STAGING_DIR}/${TARGET_SYS}\
- --with-z=${STAGING_DIR}/${TARGET_SYS}\
- --with-curl=${STAGING_DIR}/${TARGET_SYS}\
- --with-termcap=${STAGING_DIR}/${TARGET_SYS}\
- --with-ogg=${STAGING_DIR}/${TARGET_SYS}\
- --with-vorbis=${STAGING_DIR}/${TARGET_SYS}\
- --with-sqlite=${STAGING_DIR}/${TARGET_SYS}\
- --with-popt=${STAGING_DIR}/${TARGET_SYS}\
- --with-gnutls=${STAGING_DIR}/${TARGET_SYS}\
+EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR}\
+ --with-z=${STAGING_EXECPREFIXDIR}\
+ --with-curl=${STAGING_EXECPREFIXDIR}\
+ --with-termcap=${STAGING_EXECPREFIXDIR}\
+ --with-ogg=${STAGING_EXECPREFIXDIR}\
+ --with-vorbis=${STAGING_EXECPREFIXDIR}\
+ --with-sqlite=${STAGING_EXECPREFIXDIR}\
+ --with-popt=${STAGING_EXECPREFIXDIR}\
+ --with-gnutls=${STAGING_EXECPREFIXDIR}\
--without-curses\
- --with-ncurses=${STAGING_DIR}/${TARGET_SYS}\
+ --with-ncurses=${STAGING_EXECPREFIXDIR}\
--without-imap\
--without-netsnmp\
--without-odbc\
diff --git a/packages/asterisk/asterisk_1.4.17.bb b/packages/asterisk/asterisk_1.4.17.bb
index fb64581364..46bc90b25f 100644
--- a/packages/asterisk/asterisk_1.4.17.bb
+++ b/packages/asterisk/asterisk_1.4.17.bb
@@ -31,17 +31,17 @@ INITSCRIPT_PARAMS = "defaults 60"
inherit autotools update-rc.d
-EXTRA_OECONF = "--with-ssl=${STAGING_DIR}/${TARGET_SYS}\
- --with-z=${STAGING_DIR}/${TARGET_SYS}\
- --with-curl=${STAGING_DIR}/${TARGET_SYS}\
- --with-termcap=${STAGING_DIR}/${TARGET_SYS}\
- --with-ogg=${STAGING_DIR}/${TARGET_SYS}\
- --with-vorbis=${STAGING_DIR}/${TARGET_SYS}\
- --with-sqlite=${STAGING_DIR}/${TARGET_SYS}\
- --with-popt=${STAGING_DIR}/${TARGET_SYS}\
- --with-gnutls=${STAGING_DIR}/${TARGET_SYS}\
+EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \
+ --with-z=${STAGING_EXECPREFIXDIR} \
+ --with-curl=${STAGING_EXECPREFIXDIR} \
+ --with-termcap=${STAGING_EXECPREFIXDIR} \
+ --with-ogg=${STAGING_EXECPREFIXDIR} \
+ --with-vorbis=${STAGING_EXECPREFIXDIR} \
+ --with-sqlite=${STAGING_EXECPREFIXDIR} \
+ --with-popt=${STAGING_EXECPREFIXDIR} \
+ --with-gnutls=${STAGING_EXECPREFIXDIR} \
--without-curses\
- --with-ncurses=${STAGING_DIR}/${TARGET_SYS}\
+ --with-ncurses=${STAGING_EXECPREFIXDIR} \
--without-imap\
--without-netsnmp\
--without-odbc\
@@ -78,7 +78,7 @@ do_configure () {
do_compile() {
(
#make sure that menuselect gets build using host toolchain
- unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS
+ unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS RANLIB
cd menuselect
./configure
oe_runmake
diff --git a/packages/at76c503a/at76c503a-modules_0.17.bb b/packages/at76c503a/at76c503a-modules_0.17.bb
new file mode 100644
index 0000000000..affffa39ef
--- /dev/null
+++ b/packages/at76c503a/at76c503a-modules_0.17.bb
@@ -0,0 +1,19 @@
+SECTION = "base"
+LICENSE = "GPL"
+
+SRCDATE = "20080116"
+
+SRC_URI = "http://download.berlios.de/at76c503a/at76_usb-0.17.tar.gz"
+S = "${WORKDIR}/at76_usb-${PV}/"
+
+inherit module
+
+MODULES = "at76c503 at76_usbdfu at76c503-i3861 at76c503-rfmd at76c503-rfmd-acc \
+ at76c505-rfmd at76c503-i3863 at76c505-rfmd2958"
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/
+ for i in *${KERNEL_OBJECT_SUFFIX}; do
+ install -m 0644 $i ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/
+ done
+}
diff --git a/packages/avr-libc/avr-libc_1.0.3.bb b/packages/avr-libc/avr-libc_1.0.3.bb
index 1c627a1576..20a2850958 100644
--- a/packages/avr-libc/avr-libc_1.0.3.bb
+++ b/packages/avr-libc/avr-libc_1.0.3.bb
@@ -22,12 +22,13 @@ prefix = "${CROSS_DIR}"
exec_prefix = "${prefix}"
do_stage () {
-# install into CROSS_DIR
+ # install into CROSS_DIR
oe_runmake install
-# install into STAGING_DIR
- oe_runmake "prefix=${STAGING_DIR}" "exec_prefix=${STAGING_DIR}" \
+ # install into staging
+ oe_runmake "prefix=${STAGING_DIR_HOST}${layout_prefix}" \
+ "exec_prefix=${STAGING_DIR_HOST}${layout_exec_prefix}" \
"bindir=${STAGING_BINDIR}" "libdir=${STAGING_LIBDIR}" \
- "tooldir=${STAGING_DIR}" "toolibdir=${STAGING_LIBDIR}" \
+ "tooldir=${STAGING_DIR_HOST}" "toolibdir=${STAGING_LIBDIR}" \
install
}
diff --git a/packages/damageext/damageext-1.0/.mtn2git_empty b/packages/blackbox/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/damageext/damageext-1.0/.mtn2git_empty
+++ b/packages/blackbox/.mtn2git_empty
diff --git a/packages/blackbox/blackbox_0.70.1.bb b/packages/blackbox/blackbox_0.70.1.bb
new file mode 100644
index 0000000000..50dc5a69c6
--- /dev/null
+++ b/packages/blackbox/blackbox_0.70.1.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Blackbox Window Manager"
+SECTION = "x11/wm"
+LICENSE = "GPL"
+DEPENDS = "libx11 libxext libxcomposite libxfixes libxdamage libxrender libxinerama libxpm xrandr xft"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/blackboxwm/blackbox-0.70.1.tar.gz \
+ file://remove-host-includes.patch;patch=1"
+S = "${WORKDIR}/blackbox-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-i18n --without-imlib --with-xpm --with-gnome-menus"
+
diff --git a/packages/damageext/files/.mtn2git_empty b/packages/blackbox/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/damageext/files/.mtn2git_empty
+++ b/packages/blackbox/files/.mtn2git_empty
diff --git a/packages/blackbox/files/remove-host-includes.patch b/packages/blackbox/files/remove-host-includes.patch
new file mode 100644
index 0000000000..bf557b51da
--- /dev/null
+++ b/packages/blackbox/files/remove-host-includes.patch
@@ -0,0 +1,19 @@
+Index: blackbox-0.70.1/configure.ac
+===================================================================
+--- blackbox-0.70.1.orig/configure.ac
++++ blackbox-0.70.1/configure.ac
+@@ -8,14 +8,6 @@ AC_CONFIG_SRCDIR([src/blackbox.cc])
+ dnl Determine default prefix
+ test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
+
+-dnl Look in the most logical places for external libraries
+-CPPFLAGS="$CPPFLAGS -I$prefix/include"
+-LDFLAGS="$LDFLAGS -L$prefix/lib"
+-if test "x$prefix" != "x/usr/local"; then
+- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+- LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-fi
+-
+ dnl Locate required external software
+ AC_PROG_CC
+
diff --git a/packages/boost/boost_1.33.0.bb b/packages/boost/boost_1.33.0.bb
index 6d4a2b860f..441c0754b3 100644
--- a/packages/boost/boost_1.33.0.bb
+++ b/packages/boost/boost_1.33.0.bb
@@ -21,42 +21,43 @@ SRC_URI += "file://linux-uclibc.patch;patch=1"
S = "${WORKDIR}/${BOOST_P}"
# Make a package for each library, plus -dev and -python
-PACKAGES =
+PACKAGES = "${PN}-dbg"
+BOOSTLIBS = ""
PACKAGES += "boost-date-time"
FILES_boost-date-time = "${libdir}/libboost_date_time.so.${PV}"
-PACKAGES += "boost-filesystem"
+BOOSTLIBS += "boost-filesystem"
FILES_boost-filesystem = "${libdir}/libboost_filesystem.so.${PV}"
-PACKAGES += "boost-prg-exec-monitor"
+BOOSTLIBS += "boost-prg-exec-monitor"
FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so.${PV}"
-PACKAGES += "boost-program-options"
+BOOSTLIBS += "boost-program-options"
FILES_boost-program-options = "${libdir}/libboost_program_options.so.${PV}"
-PACKAGES += "boost-regex"
+BOOSTLIBS += "boost-regex"
FILES_boost-regex = "${libdir}/libboost_regex.so.${PV}"
-PACKAGES += "boost-signals"
+BOOSTLIBS += "boost-signals"
FILES_boost-signals = "${libdir}/libboost_signals.so.${PV}"
-PACKAGES += "boost-test-exec-monitor"
+BOOSTLIBS += "boost-test-exec-monitor"
FILES_boost-test-exec-monitor = "${libdir}/libboost_test_exec_monitor.so.${PV}"
-PACKAGES += "boost-thread-mt"
+BOOSTLIBS += "boost-thread-mt"
FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so.${PV}"
-PACKAGES += "boost-unit-test-framework"
+BOOSTLIBS += "boost-unit-test-framework"
FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so.${PV}"
-PACKAGES += "boost-iostreams"
+BOOSTLIBS += "boost-iostreams"
FILES_boost-iostreams = "${libdir}/libboost_iostreams.so.${PV}"
-PACKAGES += "boost-serialization"
+BOOSTLIBS += "boost-serialization"
FILES_boost-serialization = "${libdir}/libboost_serialization.so.${PV}"
-PACKAGES += "boost-wserialization"
+BOOSTLIBS += "boost-wserialization"
FILES_boost-wserialization = "${libdir}/libboost_wserialization.so.${PV}"
# Python - remove this and set:
@@ -66,13 +67,19 @@ DEPENDS += "python"
PYTHON_ROOT = "${STAGING_DIR_HOST}"
PYTHON_VERSION = "2.4"
-PACKAGES += "boost-python"
+BOOSTLIBS += "boost-python"
FILES_boost-python = "${libdir}/libboost_python.so.${PV}"
+PACKAGES += "${BOOSTLIBS}"
+
# -dev last to pick up the remaining stuff
PACKAGES += "${PN}-dev"
FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
+# "boost" is a metapackage which pulls in all boost librabries
+PACKAGES += "${PN}"
+RRECOMMENDS_${PN} += "${BOOSTLIBS}"
+
# Oh yippee, a new build system, it's sooo cooool I could eat my own
# foot. inlining=on lets the compiler choose, I think. At least this
# stuff is documented...
diff --git a/packages/boost/boost_1.33.1.bb b/packages/boost/boost_1.33.1.bb
index f132785d79..b71e2f446f 100644
--- a/packages/boost/boost_1.33.1.bb
+++ b/packages/boost/boost_1.33.1.bb
@@ -21,42 +21,43 @@ SRC_URI += "file://linux-uclibc.patch;patch=1"
S = "${WORKDIR}/${BOOST_P}"
# Make a package for each library, plus -dev and -python
-PACKAGES =
+PACKAGES = "${PN}-dbg"
+BOOSTLIBS = ""
PACKAGES += "boost-date-time"
FILES_boost-date-time = "${libdir}/libboost_date_time.so.${PV}"
-PACKAGES += "boost-filesystem"
+BOOSTLIBS += "boost-filesystem"
FILES_boost-filesystem = "${libdir}/libboost_filesystem.so.${PV}"
-PACKAGES += "boost-prg-exec-monitor"
+BOOSTLIBS += "boost-prg-exec-monitor"
FILES_boost-prg-exec-monitor = "${libdir}/libboost_prg_exec_monitor.so.${PV}"
-PACKAGES += "boost-program-options"
+BOOSTLIBS += "boost-program-options"
FILES_boost-program-options = "${libdir}/libboost_program_options.so.${PV}"
-PACKAGES += "boost-regex"
+BOOSTLIBS += "boost-regex"
FILES_boost-regex = "${libdir}/libboost_regex.so.${PV}"
-PACKAGES += "boost-signals"
+BOOSTLIBS += "boost-signals"
FILES_boost-signals = "${libdir}/libboost_signals.so.${PV}"
-PACKAGES += "boost-test-exec-monitor"
+BOOSTLIBS += "boost-test-exec-monitor"
FILES_boost-test-exec-monitor = "${libdir}/libboost_test_exec_monitor.so.${PV}"
-PACKAGES += "boost-thread-mt"
+BOOSTLIBS += "boost-thread-mt"
FILES_boost-thread-mt = "${libdir}/libboost_thread-mt.so.${PV}"
-PACKAGES += "boost-unit-test-framework"
+BOOSTLIBS += "boost-unit-test-framework"
FILES_boost-unit-test-framework = "${libdir}/libboost_unit_test_framework.so.${PV}"
-PACKAGES += "boost-iostreams"
+BOOSTLIBS += "boost-iostreams"
FILES_boost-iostreams = "${libdir}/libboost_iostreams.so.${PV}"
-PACKAGES += "boost-serialization"
+BOOSTLIBS += "boost-serialization"
FILES_boost-serialization = "${libdir}/libboost_serialization.so.${PV}"
-PACKAGES += "boost-wserialization"
+BOOSTLIBS += "boost-wserialization"
FILES_boost-wserialization = "${libdir}/libboost_wserialization.so.${PV}"
# Python - remove this and set:
@@ -66,13 +67,19 @@ DEPENDS += "python"
PYTHON_ROOT = "${STAGING_DIR_HOST}"
PYTHON_VERSION = "2.4"
-PACKAGES += "boost-python"
+BOOSTLIBS += "boost-python"
FILES_boost-python = "${libdir}/libboost_python.so.${PV}"
+PACKAGES += "${BOOSTLIBS}"
+
# -dev last to pick up the remaining stuff
PACKAGES += "${PN}-dev"
FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
+# "boost" is a metapackage which pulls in all boost librabries
+PACKAGES += "${PN}"
+RRECOMMENDS_${PN} += "${BOOSTLIBS}"
+
# Oh yippee, a new build system, it's sooo cooool I could eat my own
# foot. inlining=on lets the compiler choose, I think. At least this
# stuff is documented...
diff --git a/packages/bootsplash/bootsplash-native_3.0.7.bb b/packages/bootsplash/bootsplash-native_3.0.7.bb
index 7eabf484ac..bc5956d2c4 100644
--- a/packages/bootsplash/bootsplash-native_3.0.7.bb
+++ b/packages/bootsplash/bootsplash-native_3.0.7.bb
@@ -4,6 +4,8 @@
require bootsplash_${PV}.bb
+DEPENDS += "jpeg-native"
+
inherit native
S="${WORKDIR}/bootsplash-${PV}"
diff --git a/packages/busybox/busybox-1.9.1/adduser-longops.patch b/packages/busybox/busybox-1.9.1/adduser-longops.patch
new file mode 100644
index 0000000000..f221d30895
--- /dev/null
+++ b/packages/busybox/busybox-1.9.1/adduser-longops.patch
@@ -0,0 +1,55 @@
+upstream: http://bugs.busybox.net/view.php?id=2134
+status: accepted in rev. 21031 on Feb 15 2008
+comment: fixes OE bug 3781, applied by mickeyl
+
+diff -Nuar busybox-1.9.1.old/loginutils/Config.in busybox-1.9.1/loginutils/Config.in
+--- busybox-1.9.1.old/loginutils/Config.in Tue Feb 12 10:03:11 2008
++++ busybox-1.9.1/loginutils/Config.in Thu Feb 14 11:48:31 2008
+@@ -88,6 +88,13 @@
+ help
+ Utility for creating a new user account.
+
++config FEATURE_ADDUSER_LONG_OPTIONS
++ bool "Enable long options"
++ default n
++ depends on ADDUSER && GETOPT_LONG
++ help
++ Support long options for the adduser applet.
++
+ config DELUSER
+ bool "deluser"
+ default n
+diff -Nuar busybox-1.9.1.old/loginutils/adduser.c busybox-1.9.1/loginutils/adduser.c
+--- busybox-1.9.1.old/loginutils/adduser.c Thu Feb 14 10:25:33 2008
++++ busybox-1.9.1/loginutils/adduser.c Thu Feb 14 13:32:47 2008
+@@ -66,6 +66,19 @@
+ bb_error_msg_and_die("cannot execute %s, you must set password manually", prog);
+ }
+
++#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
++static const char adduser_longopts[] ALIGN1 =
++ "home\0" Required_argument "h"
++ "gecos\0" Required_argument "g"
++ "shell\0" Required_argument "s"
++ "ingroup\0" Required_argument "G"
++ "disabled-password\0" No_argument "D"
++ "empty-password\0" No_argument "D"
++ "system\0" No_argument "S"
++ "no-create-home\0" No_argument "H"
++ ;
++#endif
++
+ /*
+ * adduser will take a login_name as its first parameter.
+ * home, shell, gecos:
+@@ -77,6 +90,10 @@
+ struct passwd pw;
+ const char *usegroup = NULL;
+ FILE *file;
++
++#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
++ applet_long_options = adduser_longopts;
++#endif
+
+ /* got root? */
+ if (geteuid()) {
diff --git a/packages/busybox/busybox-1.9.1/defconfig b/packages/busybox/busybox-1.9.1/defconfig
new file mode 100644
index 0000000000..770ef6eb12
--- /dev/null
+++ b/packages/busybox/busybox-1.9.1/defconfig
@@ -0,0 +1,777 @@
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.9.1
+# Thu Feb 14 11:54:00 2008
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_NITPICK is not set
+# CONFIG_DESKTOP is not set
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+CONFIG_FEATURE_COMPRESS_USAGE=y
+# CONFIG_FEATURE_INSTALLER is not set
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_PIDFILE=y
+CONFIG_FEATURE_SUID=y
+CONFIG_FEATURE_SUID_CONFIG=y
+CONFIG_FEATURE_SUID_CONFIG_QUIET=y
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_PREFER_APPLETS is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+CONFIG_FEATURE_SYSLOG=y
+CONFIG_FEATURE_HAVE_RPC=y
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+# CONFIG_INCLUDE_SUSv2 is not set
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SIZE_VS_SPEED=2
+CONFIG_FEATURE_FAST_TOP=y
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+CONFIG_FEATURE_EDITING_FANCY_KEYS=y
+# CONFIG_FEATURE_EDITING_VI is not set
+CONFIG_FEATURE_EDITING_HISTORY=15
+CONFIG_FEATURE_EDITING_SAVEHISTORY=y
+CONFIG_FEATURE_TAB_COMPLETION=y
+CONFIG_FEATURE_USERNAME_COMPLETION=y
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+CONFIG_FEATURE_COPYBUF_KB=4
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+# CONFIG_BZIP2 is not set
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+# CONFIG_FEATURE_RPM_BZ2 is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+# CONFIG_FEATURE_TAR_LZMA is not set
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+CONFIG_DF=y
+# CONFIG_FEATURE_DF_INODE is not set
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+# CONFIG_EXPAND is not set
+# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
+# CONFIG_NICE is not set
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_SPLIT is not set
+# CONFIG_FEATURE_SPLIT_FANCY is not set
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+# CONFIG_UNEXPAND is not set
+# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WC=y
+# CONFIG_FEATURE_WC_LARGE is not set
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+# CONFIG_KBD_MODE is not set
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_RESIZE is not set
+# CONFIG_FEATURE_RESIZE_PRINT is not set
+CONFIG_SETCONSOLE=y
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_RUN_PARTS=y
+CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
+# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+CONFIG_CMP=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_FEATURE_DIFF_MINIMAL is not set
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=1024
+CONFIG_FEATURE_VI_8BIT=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+CONFIG_FEATURE_ALLOW_EXEC=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_MAXDEPTH=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_FEATURE_FIND_EXEC=y
+CONFIG_FEATURE_FIND_USER=y
+CONFIG_FEATURE_FIND_GROUP=y
+CONFIG_FEATURE_FIND_NOT=y
+CONFIG_FEATURE_FIND_DEPTH=y
+CONFIG_FEATURE_FIND_PAREN=y
+CONFIG_FEATURE_FIND_SIZE=y
+CONFIG_FEATURE_FIND_PRUNE=y
+# CONFIG_FEATURE_FIND_DELETE is not set
+CONFIG_FEATURE_FIND_PATH=y
+CONFIG_FEATURE_FIND_REGEX=y
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_DEBUG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_INIT_SYSLOG is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+# CONFIG_FEATURE_UTMP is not set
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_PAM is not set
+# CONFIG_LOGIN_SCRIPTS is not set
+# CONFIG_FEATURE_NOLOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
+# CONFIG_CRYPTPW is not set
+# CONFIG_CHPASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_FEATURE_SU_SYSLOG is not set
+# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_FSCK=y
+# CONFIG_LSATTR is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_MINIX=y
+
+#
+# Minix filesystem support
+#
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+# CONFIG_HD is not set
+# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_MOUNT=y
+# CONFIG_FEATURE_MOUNT_HELPERS is not set
+CONFIG_FEATURE_MOUNT_NFS=y
+# CONFIG_FEATURE_MOUNT_CIFS is not set
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+# CONFIG_READPROFILE is not set
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+# CONFIG_FEATURE_UMOUNT_ALL is not set
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CHRT is not set
+# CONFIG_CROND is not set
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_EJECT is not set
+# CONFIG_LAST is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MICROCOM is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RAIDAUTORUN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_SETSID is not set
+# CONFIG_TASKSET is not set
+# CONFIG_FEATURE_TASKSET_FANCY is not set
+CONFIG_TIME=y
+# CONFIG_TTYSIZE is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+# CONFIG_ARP is not set
+# CONFIG_ARPING is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_RANGES is not set
+# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
+# CONFIG_FEATURE_HTTPD_PROXY is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
+CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_FEATURE_IP_RULE is not set
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPRULE is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NC=y
+# CONFIG_NC_SERVER is not set
+# CONFIG_NC_EXTRA is not set
+CONFIG_NETSTAT=y
+# CONFIG_FEATURE_NETSTAT_WIDE is not set
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_PING6=y
+# CONFIG_PSCAN is not set
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_ROUTE=y
+# CONFIG_SLATTACH is not set
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+CONFIG_APP_UDHCPD=y
+# CONFIG_APP_DHCPRELAY is not set
+CONFIG_APP_DUMPLEASES=y
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+CONFIG_APP_UDHCPC=y
+CONFIG_FEATURE_UDHCPC_ARPING=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_FEATURE_RFC3397 is not set
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_KILLALL5 is not set
+# CONFIG_NMETER is not set
+# CONFIG_PGREP is not set
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+# CONFIG_PKILL is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
+# CONFIG_FEATURE_TOP_DECIMALS is not set
+# CONFIG_FEATURE_TOPMEM is not set
+CONFIG_UPTIME=y
+CONFIG_WATCH=y
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_READ_NCHARS=y
+CONFIG_ASH_READ_TIMEOUT=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_BUILTIN_ECHO is not set
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE is not set
+# CONFIG_CTTYHACK is not set
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Runit Utilities
+#
+# CONFIG_RUNSV is not set
+# CONFIG_RUNSVDIR is not set
+# CONFIG_SV is not set
+# CONFIG_SVLOGD is not set
+# CONFIG_CHPST is not set
+# CONFIG_SETUIDGID is not set
+# CONFIG_ENVUIDGID is not set
+# CONFIG_ENVDIR is not set
+# CONFIG_SOFTLIMIT is not set
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# ipsvd utilities
+#
+# CONFIG_TCPSVD is not set
+# CONFIG_UDPSVD is not set
diff --git a/packages/busybox/busybox-1.9.1/sort-z-nul.patch b/packages/busybox/busybox-1.9.1/sort-z-nul.patch
new file mode 100644
index 0000000000..55452a4524
--- /dev/null
+++ b/packages/busybox/busybox-1.9.1/sort-z-nul.patch
@@ -0,0 +1,50 @@
+Summary: 0001591: inconsistent behavior of sort -z
+
+URL: http://busybox.net/bugs/view.php?id=1591
+http://www.busybox.net/cgi-bin/viewcvs.cgi/trunk/busybox/coreutils/sort.c?rev=21004&r1=20435&r2=21004&makepatch=1&diff_format=u
+
+Description:
+
+busybox sort -z does:
+use NUL instead of EOL on input
+
+GNU sort -z does:
+use NUL instead of EOL on input and output
+
+GNU sort -z documents:
+use NUL instead of EOL on input
+
+Additional Information:
+
+Note that sort -z is not part of any standard. But several applications
+(e. g. GNU findutils updatedb) depends on the NUL-on-output behavior.
+
+GNU sort documentation bug was reported to coreutils maintainers.
+
+Notes:
+
+vda 02-13-08 06:30 (0004364)
+Fixed in revision 21004. Thanks!
+
+--- busybox/coreutils/sort.c 2007/11/16 12:39:16 20435
++++ busybox/coreutils/sort.c 2008/02/13 14:30:33 21004
+@@ -32,7 +32,7 @@
+ FLAG_u = 8, /* Unique */
+ FLAG_c = 0x10, /* Check: no output, exit(!ordered) */
+ FLAG_s = 0x20, /* Stable sort, no ascii fallback at end */
+- FLAG_z = 0x40, /* Input is null terminated, not \n */
++ FLAG_z = 0x40, /* Input and output is NUL terminated, not \n */
+ /* These can be applied to search keys, the previous four can't */
+ FLAG_b = 0x80, /* Ignore leading blanks */
+ FLAG_r = 0x100, /* Reverse */
+@@ -396,8 +396,9 @@
+ if (linecount) linecount = flag+1;
+ }
+ /* Print it */
++ flag = (option_mask32 & FLAG_z) ? '\0' : '\n';
+ for (i = 0; i < linecount; i++)
+- fprintf(outfile, "%s\n", lines[i]);
++ fprintf(outfile, "%s%c", lines[i], flag);
+
+ fflush_stdout_and_exit(EXIT_SUCCESS);
+ }
diff --git a/packages/busybox/busybox-1.9.1/udhcpscript.patch b/packages/busybox/busybox-1.9.1/udhcpscript.patch
new file mode 100644
index 0000000000..fc21d440cd
--- /dev/null
+++ b/packages/busybox/busybox-1.9.1/udhcpscript.patch
@@ -0,0 +1,17 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.00-rc3/examples/udhcp/simple.script~udhcpscript
++++ busybox-1.00-rc3/examples/udhcp/simple.script
+@@ -17,8 +17,7 @@
+ /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+ if [ -n "$router" ] ; then
+- echo "deleting routers"
+- while route del default gw 0.0.0.0 dev $interface ; do
++ while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
+ :
+ done
+
diff --git a/packages/busybox/busybox.inc b/packages/busybox/busybox.inc
index ab17d96db4..0fb3b5efff 100644
--- a/packages/busybox/busybox.inc
+++ b/packages/busybox/busybox.inc
@@ -11,19 +11,21 @@ LICENSE = "GPL"
SECTION = "base"
PRIORITY = "required"
-SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
- file://busybox-cron \
- file://busybox-httpd \
- file://busybox-udhcpd \
- file://default.script \
- file://dhcp-hostname.patch;patch=1 \
- file://hwclock.sh \
- file://ifupdown-spurious-environ.patch;patch=1 \
- file://mount.busybox \
- file://syslog \
- file://syslog.conf \
- file://udhcpscript.patch;patch=1 \
- file://umount.busybox"
+SRC_URI = "\
+ http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
+ file://busybox-cron \
+ file://busybox-httpd \
+ file://busybox-udhcpd \
+ file://default.script \
+ file://dhcp-hostname.patch;patch=1 \
+ file://hwclock.sh \
+ file://ifupdown-spurious-environ.patch;patch=1 \
+ file://mount.busybox \
+ file://syslog \
+ file://syslog.conf \
+ file://udhcpscript.patch;patch=1 \
+ file://umount.busybox \
+"
SRC_URI_append_nylon = " file://xargs-double-size.patch;patch=1"
@@ -34,7 +36,7 @@ PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
-FILES_${PN} += " ${datadir}/udhcpc"
+FILES_${PN} += "${datadir}/udhcpc"
INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
@@ -47,11 +49,73 @@ INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ."
inherit cml1 update-rc.d
-do_compile () {
- unset CFLAGS
+do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
base_do_compile
}
+do_install () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ install -d ${D}${sysconfdir}/init.d
+ oe_runmake "PREFIX=${D}" install
+ cp -pPR ${S}/_install/* ${D}/
+
+ # Move everything to /busybox (not supposed to end up in any package)
+ install -d ${D}/busybox
+ ls ${D} -R
+
+ cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/
+ # Move the busybox binary back to /bin
+ install -d ${D}${base_bindir}
+ mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/
+ # Move back the sh symlink
+ test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
+
+ install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
+ install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
+ if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
+ # Move crond back to /usr/sbin/crond
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then
+ # Move httpd back to /usr/sbin/httpd
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
+ install -d ${D}/srv/www
+ fi
+ if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then
+ # Move udhcpd back to /usr/sbin/udhcpd
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then
+ # Move hwclock back to /sbin/hwclock
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/
+
+ install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
+ # Move dhcpc back to /usr/sbin/udhcpc
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
+
+ install -d ${D}${sysconfdir}/udhcpc.d
+ install -d ${D}${datadir}/udhcpc
+ install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
+ install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
+ fi
+
+ install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
+}
+
pkg_postinst_${PN} () {
# If we are not making an image we create links for the utilities that doesn't exist
# so the update-alternatives script will get the utilities it needs
@@ -62,3 +126,34 @@ pkg_postinst_${PN} () {
# This adds the links, remember that this has to work when building an image too, hence the $D
while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done <$D/etc/busybox.links
}
+
+pkg_prerm_${PN} () {
+ # This is so you can make busybox commit suicide - removing busybox with no other packages
+ # providing its files, this will make update-alternatives work, but the update-rc.d part
+ # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
+ tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
+ ln -s /bin/busybox $tmpdir/[
+ ln -s /bin/busybox $tmpdir/test
+ ln -s /bin/busybox $tmpdir/head
+ ln -s /bin/busybox $tmpdir/sh
+ ln -s /bin/busybox $tmpdir/basename
+ ln -s /bin/busybox $tmpdir/echo
+ ln -s /bin/busybox $tmpdir/mv
+ ln -s /bin/busybox $tmpdir/ln
+ ln -s /bin/busybox $tmpdir/dirname
+ ln -s /bin/busybox $tmpdir/rm
+ ln -s /bin/busybox $tmpdir/sed
+ ln -s /bin/busybox $tmpdir/sort
+ export PATH=$PATH:$tmpdir
+
+ while read link
+ do
+ case "$link" in
+ /*/*/*) to="../../bin/busybox";;
+ /bin/*) to="busybox";;
+ /*/*) to="../bin/busybox";;
+ esac
+ bn=`basename $link`
+ sh /usr/bin/update-alternatives --remove $bn $to
+ done </etc/busybox.links
+}
diff --git a/packages/busybox/busybox_1.9.1.bb b/packages/busybox/busybox_1.9.1.bb
index 85b2abbc5c..cec4af8d59 100644
--- a/packages/busybox/busybox_1.9.1.bb
+++ b/packages/busybox/busybox_1.9.1.bb
@@ -1,7 +1,11 @@
require busybox.inc
-PR = "r0"
+PR = "r4"
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
+ http://busybox.net/downloads/fixes-1.9.1/busybox-1.9.1-lineedit.patch;patch=1 \
+ file://udhcpscript.patch;patch=1 \
+ file://adduser-longops.patch;patch=1 \
+ file://sort-z-nul.patch;patch=1;status=upstream \
file://busybox-cron \
file://busybox-httpd \
file://busybox-udhcpd \
@@ -10,103 +14,12 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
file://mount.busybox \
file://syslog \
file://syslog.conf \
- file://udhcpscript.patch;patch=1 \
file://umount.busybox \
- file://run_parts.c \
file://defconfig"
EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
do_configure () {
- cp ${WORKDIR}/run_parts.c ${S}/debianutils/
install -m 0644 ${WORKDIR}/defconfig ${S}/.config
cml1_do_configure
}
-
-do_compile () {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- base_do_compile
-}
-
-do_install () {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- install -d ${D}${sysconfdir}/init.d
- oe_runmake "PREFIX=${D}" install
- cp -pPR ${S}/_install/* ${D}/
-
- # Move everything to /busybox (not supposed to end up in any package)
- install -d ${D}/busybox
- ls ${D} -R
-
- cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/
- # Move the busybox binary back to /bin
- install -d ${D}${base_bindir}
- mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/
- # Move back the sh symlink
- test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
-
- install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
- install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
- if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
- # Move crond back to /usr/sbin/crond
- install -d ${D}${sbindir}
- mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/
-
- install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
- fi
- if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then
- # Move httpd back to /usr/sbin/httpd
- install -d ${D}${sbindir}
- mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/
-
- install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
- install -d ${D}/srv/www
- fi
- if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then
- # Move udhcpd back to /usr/sbin/udhcpd
- install -d ${D}${sbindir}
- mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
-
- install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
- fi
- if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then
- # Move hwclock back to /sbin/hwclock
- install -d ${D}${base_sbindir}
- mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/
-
- install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
- fi
- if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
- # Move dhcpc back to /usr/sbin/udhcpc
- install -d ${D}${base_sbindir}
- mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
-
- install -d ${D}${sysconfdir}/udhcpc.d
- install -d ${D}${datadir}/udhcpc
- install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
- install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
- fi
-
- install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
-}
-
-pkg_prerm_${PN} () {
- # This is so you can make busybox commit suicide - removing busybox with no other packages
- # providing its files, this will make update-alternatives work, but the update-rc.d part
- # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
- tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
- ln -s /bin/busybox $tmpdir/[
- ln -s /bin/busybox $tmpdir/test
- ln -s /bin/busybox $tmpdir/head
- ln -s /bin/busybox $tmpdir/sh
- ln -s /bin/busybox $tmpdir/basename
- ln -s /bin/busybox $tmpdir/echo
- ln -s /bin/busybox $tmpdir/mv
- ln -s /bin/busybox $tmpdir/ln
- ln -s /bin/busybox $tmpdir/dirname
- ln -s /bin/busybox $tmpdir/rm
- ln -s /bin/busybox $tmpdir/sed
- ln -s /bin/busybox $tmpdir/sort
- export PATH=$PATH:$tmpdir
- while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; sh /usr/bin/update-alternatives --remove $bn $to; done </etc/busybox.links
-}
diff --git a/packages/busybox/busybox-1.7.2/run_parts.c b/packages/busybox/files/run_parts.c
index 56f70c6eea..56f70c6eea 100644
--- a/packages/busybox/busybox-1.7.2/run_parts.c
+++ b/packages/busybox/files/run_parts.c
diff --git a/packages/bvi/bvi-1.3.1/no-strip.patch b/packages/bvi/bvi-1.3.1/no-strip.patch
new file mode 100644
index 0000000000..520b058ea0
--- /dev/null
+++ b/packages/bvi/bvi-1.3.1/no-strip.patch
@@ -0,0 +1,13 @@
+--- 1/Makefile.in.org 2001-12-25 15:37:37.000000000 +0200
++++ 1/Makefile.in 2008-02-20 02:54:56.000000000 +0200
+@@ -63,8 +63,8 @@
+ install: all installdirs
+ @echo "Installing bvi"
+ @$(INSTALL_DATA) bvi.1 bmore.1 $(man1dir)
+- @$(INSTALL_PROGRAM) -s bvi $(bindir)
+- @$(INSTALL_PROGRAM) -s bmore $(bindir)
++ @$(INSTALL_PROGRAM) bvi $(bindir)
++ @$(INSTALL_PROGRAM) bmore $(bindir)
+ @$(INSTALL_DATA) bmore.help $(datadir)
+ @if [ -f $(bindir)/bview ]; then rm $(bindir)/bview; fi
+ @if [ -f $(bindir)/bvedit ]; then rm $(bindir)/bvedit; fi
diff --git a/packages/bvi/bvi_1.3.1.bb b/packages/bvi/bvi_1.3.1.bb
index 8e7a8adbe9..b6525aad88 100644
--- a/packages/bvi/bvi_1.3.1.bb
+++ b/packages/bvi/bvi_1.3.1.bb
@@ -3,9 +3,11 @@ DESCRIPTION = "binary vi (binary file editor)"
SECTION = "console/utils"
DEPENDS = "ncurses"
LICENSE = "GPL"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/bvi/bvi-${PV}.src.tar.gz \
file://configure.patch;patch=1 \
- file://compile.patch;patch=1"
+ file://compile.patch;patch=1 \
+ file://no-strip.patch;patch=1"
inherit autotools
diff --git a/packages/dbus/dbus-1.1.4/.mtn2git_empty b/packages/cairo/cairo-1.4.14/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/dbus/dbus-1.1.4/.mtn2git_empty
+++ b/packages/cairo/cairo-1.4.14/.mtn2git_empty
diff --git a/packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch b/packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch
new file mode 100644
index 0000000000..686ab7ceb0
--- /dev/null
+++ b/packages/cairo/cairo-1.4.14/0001-Fix-for-a-memory-leak-in-pixman.patch
@@ -0,0 +1,32 @@
+From 7647f29a2a3b69592e38f50890a96d8deeaa2dbb Mon Sep 17 00:00:00 2001
+From: Jan Slupski <jslupski@juljas.net>
+Date: Fri, 15 Feb 2008 00:55:30 +0100
+Subject: [PATCH] Fix for a memory leak in pixman.
+
+Port of a 1.6 fix for a memory leak in pixman_region_init_rects/pixman_rect_alloc
+when the count of boxes is 0.
+---
+ pixman/src/pixregion.c | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/pixman/src/pixregion.c b/pixman/src/pixregion.c
+index 1ed3ad7..d6caf6c 100644
+--- a/pixman/src/pixregion.c
++++ b/pixman/src/pixregion.c
+@@ -355,6 +355,15 @@ pixman_region_init_rects(pixman_region16_t *region, pixman_box16_t *boxes, int c
+ }
+
+ pixman_region_init(region);
++
++ /* if it's 0, don't call pixman_rect_alloc -- 0 rectangles is
++ * a special case, and causing pixman_rect_alloc would cause
++ * us to leak memory (because the 0-rect case should be the
++ * static pixman_region_emptyData data).
++ */
++ if (count == 0)
++ return PIXMAN_REGION_STATUS_SUCCESS;
++
+ if (!pixman_rect_alloc(region, count))
+ return PIXMAN_REGION_STATUS_FAILURE;
+
+
diff --git a/packages/cairo/cairo_1.4.14.bb b/packages/cairo/cairo_1.4.14.bb
new file mode 100644
index 0000000000..b0f9fe8790
--- /dev/null
+++ b/packages/cairo/cairo_1.4.14.bb
@@ -0,0 +1,9 @@
+require cairo.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
+file://0001-Fix-for-a-memory-leak-in-pixman.patch;patch=1;p=1"
+
+PR = "r0"
+
diff --git a/packages/cairo/libsvg-cairo_0.1.5.bb b/packages/cairo/libsvg-cairo_0.1.5.bb
index 9cee27bf29..add660752a 100644
--- a/packages/cairo/libsvg-cairo_0.1.5.bb
+++ b/packages/cairo/libsvg-cairo_0.1.5.bb
@@ -9,5 +9,5 @@ SRC_URI = "http://cairographics.org/snapshots/libsvg-cairo-${PV}.tar.gz"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/cairo/libsvg-cairo_0.1.6.bb b/packages/cairo/libsvg-cairo_0.1.6.bb
index 9cee27bf29..add660752a 100644
--- a/packages/cairo/libsvg-cairo_0.1.6.bb
+++ b/packages/cairo/libsvg-cairo_0.1.6.bb
@@ -9,5 +9,5 @@ SRC_URI = "http://cairographics.org/snapshots/libsvg-cairo-${PV}.tar.gz"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/cairo/xsvg_cvs.bb b/packages/cairo/xsvg_cvs.bb
index 8f4f4bfdc4..210898f576 100644
--- a/packages/cairo/xsvg_cvs.bb
+++ b/packages/cairo/xsvg_cvs.bb
@@ -14,5 +14,5 @@ BROKEN = "1"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/callweaver/callweaver_1.2.0-rc5.bb b/packages/callweaver/callweaver_1.2.0-rc5.bb
index 608181f96c..32869936b6 100644
--- a/packages/callweaver/callweaver_1.2.0-rc5.bb
+++ b/packages/callweaver/callweaver_1.2.0-rc5.bb
@@ -29,9 +29,9 @@ INITSCRIPT_PARAMS = "defaults 60"
inherit autotools update-rc.d
-EXTRA_OECONF = " --with-ssl=${STAGING_DIR}/${HOST_SYS} --enable-low_memory \
+EXTRA_OECONF = " --with-ssl=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-low_memory \
--disable-zaptel --with-directory-layout=lsb --enable-t38 \
- --with-codec-speex=${STAGING_DIR}/${HOST_SYS} \
+ --with-codec-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
--with-perl-shebang='#!${bindir}/perl' --with-jabber --with-res_jabber \
--with-javascript --with-res_js \
--bindir=${bindir} --datadir=${datadir} --sysconfdir=${sysconfdir} \
diff --git a/packages/classpath/classpath-minimal_0.96.1.bb b/packages/classpath/classpath-minimal_0.96.1.bb
index 0597274915..e71884dc2b 100644
--- a/packages/classpath/classpath-minimal_0.96.1.bb
+++ b/packages/classpath/classpath-minimal_0.96.1.bb
@@ -1,6 +1,6 @@
require classpath.inc
-PR = "r3"
+PR = "r5"
SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0"
diff --git a/packages/classpath/classpath-minimal_0.97.bb b/packages/classpath/classpath-minimal_0.97.bb
new file mode 100644
index 0000000000..14495cedff
--- /dev/null
+++ b/packages/classpath/classpath-minimal_0.97.bb
@@ -0,0 +1,15 @@
+require classpath.inc
+
+PR = "r0"
+
+PROVIDES = "${PN} classpath"
+
+EXTRA_OECONF += "\
+ --enable-local-sockets \
+ --disable-alsa \
+ --disable-gconf-peer \
+ --disable-gtk-peer \
+ --disable-plugin \
+ --disable-dssi \
+ --disable-examples \
+ "
diff --git a/packages/classpath/classpath.inc b/packages/classpath/classpath.inc
index 97c081af89..e5f5170b32 100644
--- a/packages/classpath/classpath.inc
+++ b/packages/classpath/classpath.inc
@@ -9,8 +9,11 @@ DEPENDS = "virtual/javac-native fastjar-native zip-native"
RPROVIDES = ""
RDEPENDS_${PN} = "${PBN}-common (>= ${PV})"
+RDEPENDS_${PN}-examples = "java2-runtime ${PN}-awt"
+RDEPENDS_${PN}-tools = "java2-runtime"
RPROVIDES_${PN} = "${PBN}"
+RPROVIDES_${PN}-common = "${PBN}-common"
RPROVIDES_${PN}-gtk = "${PBN}-awt"
SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz"
diff --git a/packages/classpath/classpath_0.96.1.bb b/packages/classpath/classpath_0.96.1.bb
index 6b167a2d47..799b0f31ac 100644
--- a/packages/classpath/classpath_0.96.1.bb
+++ b/packages/classpath/classpath_0.96.1.bb
@@ -1,8 +1,8 @@
require classpath.inc
-SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0"
-
-PR = "r2"
+SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0 \
+ "
+PR = "r4"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/packages/classpath/classpath_0.97.bb b/packages/classpath/classpath_0.97.bb
new file mode 100644
index 0000000000..b8cd02084a
--- /dev/null
+++ b/packages/classpath/classpath_0.97.bb
@@ -0,0 +1,18 @@
+require classpath.inc
+
+PR = "r0"
+
+DEPENDS += "gtk+ gconf libxtst"
+
+EXTRA_OECONF += "\
+ --disable-alsa \
+ --disable-dssi \
+ --disable-qt4-peer \
+ --disable-plugin \
+ --enable-gconf-peer \
+ --enable-gtk-peer \
+ --enable-local-sockets \
+ --with-vm=java \
+ "
+
+
diff --git a/packages/compositeext/compositeext_2.0.bb b/packages/compositeext/compositeext_2.0.bb
deleted file mode 100644
index b9b634d391..0000000000
--- a/packages/compositeext/compositeext_2.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "libs"
-LICENSE= "BSD-X"
-DEPENDS = "xextensions fixesext"
-DESCRIPTION = "X Composite extension headers and specification"
-
-SRC_URI = "${XLIBS_MIRROR}/compositeext-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/compositeext/compositeext_cvs.bb b/packages/compositeext/compositeext_cvs.bb
deleted file mode 100644
index 8f0f4f9f46..0000000000
--- a/packages/compositeext/compositeext_cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "libs"
-DEPENDS = "xextensions fixesext"
-DESCRIPTION = "X Composite extension headers and specification"
-DEFAULT_PREFERENCE = "1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=CompositeExt"
-S = "${WORKDIR}/CompositeExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/curl/curl_7.16.4.bb b/packages/curl/curl_7.16.4.bb
index 0053a12fdb..555e5bc643 100644
--- a/packages/curl/curl_7.16.4.bb
+++ b/packages/curl/curl_7.16.4.bb
@@ -2,9 +2,10 @@ DESCRIPTION = "Command line tool and library for client-side URL transfers."
LICENSE = "MIT"
DEPENDS = "zlib gnutls"
SECTION = "console/network"
-PR = "r1"
+PR = "r2"
-SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2"
+SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
+ file://pkgconfig_fix.patch;patch=1"
S = "${WORKDIR}/curl-${PV}"
inherit autotools pkgconfig binconfig
diff --git a/packages/ffmpeg/ffmpeg/.mtn2git_empty b/packages/curl/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/ffmpeg/ffmpeg/.mtn2git_empty
+++ b/packages/curl/files/.mtn2git_empty
diff --git a/packages/curl/files/pkgconfig_fix.patch b/packages/curl/files/pkgconfig_fix.patch
new file mode 100644
index 0000000000..a5730095d2
--- /dev/null
+++ b/packages/curl/files/pkgconfig_fix.patch
@@ -0,0 +1,14 @@
+Index: curl-7.16.4/libcurl.pc.in
+===================================================================
+--- curl-7.16.4.orig/libcurl.pc.in 2007-02-18 09:41:27.000000000 +0000
++++ curl-7.16.4/libcurl.pc.in 2008-02-29 12:19:32.000000000 +0000
+@@ -33,6 +33,7 @@
+ URL: http://curl.haxx.se/
+ Description: Library to transfer files with ftp, http, etc.
+ Version: @VERSION@
+-Libs: -L${libdir} -lcurl @LDFLAGS@ @LIBS@
+-Libs.private: @LIBCURL_LIBS@ @LIBS@
++Requires.private: gnutls
++Libs: -L${libdir} -lcurl
++Libs.private: -ldl -lz
+ Cflags: -I${includedir}
diff --git a/packages/damageext/damageext-1.0/autofoo.patch b/packages/damageext/damageext-1.0/autofoo.patch
deleted file mode 100644
index e36fb1d74b..0000000000
--- a/packages/damageext/damageext-1.0/autofoo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- damageext-1.0/configure.ac~autofoo 2003-11-25 22:47:58.000000000 -0500
-+++ damageext-1.0/configure.ac 2005-01-16 11:47:08.123775952 -0500
-@@ -25,9 +25,9 @@
-
- AC_PREREQ([2.57])
- AC_INIT([damageext], [1.0], [keithp@keithp.com], damageext)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
--AC_CONFIG_AUX_DIR(.)
-
- PKG_CHECK_MODULES(FIXESEXT, fixesext)
-
diff --git a/packages/damageext/damageext_1.0.bb b/packages/damageext/damageext_1.0.bb
deleted file mode 100644
index 3b431a8688..0000000000
--- a/packages/damageext/damageext_1.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "libs"
-LICENSE = "MIT-X"
-DEPENDS = "xextensions fixesext"
-DESCRIPTION = "X Damage extension headers and specification"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/damageext-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/damageext/damageext_cvs.bb b/packages/damageext/damageext_cvs.bb
deleted file mode 100644
index e9ffa7d2b1..0000000000
--- a/packages/damageext/damageext_cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT-X"
-SECTION = "libs"
-DEPENDS = "xextensions fixesext"
-DESCRIPTION = "X Damage extension headers and specification"
-PR = "r1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=DamageExt"
-S = "${WORKDIR}/DamageExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/damageext/files/autofoo.patch b/packages/damageext/files/autofoo.patch
deleted file mode 100644
index 48c05cd836..0000000000
--- a/packages/damageext/files/autofoo.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- DamageExt/configure.ac~autofoo.patch 2003-11-25 22:47:58.000000000 -0500
-+++ DamageExt/configure.ac 2005-01-16 11:50:07.183554728 -0500
-@@ -25,9 +25,9 @@
-
- AC_PREREQ([2.57])
- AC_INIT([damageext], [1.0], [keithp@keithp.com], damageext)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
--AC_CONFIG_AUX_DIR(.)
-
- PKG_CHECK_MODULES(FIXESEXT, fixesext)
-
---- DamageExt/ChangeLog~autofoo.patch 2004-02-03 15:44:42.000000000 -0500
-+++ DamageExt/ChangeLog 2005-01-16 11:52:45.455493736 -0500
-@@ -1,3 +1,7 @@
-+2005-01-16 Chris Larson <kergoth@handhelds.org>
-+
-+ * configure.ac: Fix to work with automake 1.9.x.
-+
- 2004-02-03 Jim Gettys <jg@freedesktop.org>
-
- * AUTHORS: Add AUTHORS to file
diff --git a/packages/fixesext/.mtn2git_empty b/packages/dbus/dbus-1.1.20/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/fixesext/.mtn2git_empty
+++ b/packages/dbus/dbus-1.1.20/.mtn2git_empty
diff --git a/packages/dbus/dbus-1.1.4/cross.patch b/packages/dbus/dbus-1.1.20/cross.patch
index 268a3ae3de..268a3ae3de 100644
--- a/packages/dbus/dbus-1.1.4/cross.patch
+++ b/packages/dbus/dbus-1.1.20/cross.patch
diff --git a/packages/dbus/dbus-1.1.4/dbus-1.init b/packages/dbus/dbus-1.1.20/dbus-1.init
index 0725083c69..0725083c69 100644
--- a/packages/dbus/dbus-1.1.4/dbus-1.init
+++ b/packages/dbus/dbus-1.1.20/dbus-1.init
diff --git a/packages/dbus/dbus-1.1.20/fix-dbus-launch-x11.patch b/packages/dbus/dbus-1.1.20/fix-dbus-launch-x11.patch
new file mode 100644
index 0000000000..20c8d1b501
--- /dev/null
+++ b/packages/dbus/dbus-1.1.20/fix-dbus-launch-x11.patch
@@ -0,0 +1,14 @@
+Index: dbus-1.1.20/tools/dbus-launch.c
+===================================================================
+--- dbus-1.1.20.orig/tools/dbus-launch.c
++++ dbus-1.1.20/tools/dbus-launch.c
+@@ -966,7 +966,9 @@ main (int argc, char **argv)
+ char write_pid_fd_as_string[MAX_FD_LEN];
+ char write_address_fd_as_string[MAX_FD_LEN];
+
++#ifdef DBUS_BUILD_X11
+ xdisplay = NULL;
++#endif
+
+ if (close_stderr)
+ do_close_stderr ();
diff --git a/packages/dbus/dbus-1.1.4/fix-install-daemon.patch b/packages/dbus/dbus-1.1.20/fix-install-daemon.patch
index c31786357d..c31786357d 100644
--- a/packages/dbus/dbus-1.1.4/fix-install-daemon.patch
+++ b/packages/dbus/dbus-1.1.20/fix-install-daemon.patch
diff --git a/packages/dbus/dbus-1.1.4/tmpdir.patch b/packages/dbus/dbus-1.1.20/tmpdir.patch
index 838b903f0a..838b903f0a 100644
--- a/packages/dbus/dbus-1.1.4/tmpdir.patch
+++ b/packages/dbus/dbus-1.1.20/tmpdir.patch
diff --git a/packages/dbus/dbus-native_1.0.2.bb b/packages/dbus/dbus-native_1.0.2.bb
index ebd57b2876..0149ab374f 100644
--- a/packages/dbus/dbus-native_1.0.2.bb
+++ b/packages/dbus/dbus-native_1.0.2.bb
@@ -1,5 +1,6 @@
require dbus.inc
-DEFAULT_PREFERENCE = "1"
+
+DEFAULT_PREFERENCE = "-1"
inherit native
@@ -25,4 +26,3 @@ do_stage() {
do_install() {
:
}
-
diff --git a/packages/dbus/dbus-native_1.1.4.bb b/packages/dbus/dbus-native_1.1.20.bb
index a006965a32..c97a6c6420 100644
--- a/packages/dbus/dbus-native_1.1.4.bb
+++ b/packages/dbus/dbus-native_1.1.20.bb
@@ -5,9 +5,10 @@ DEPENDS = "glib-2.0-native libxml2-native expat-native"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus-${PV}"
SRC_URI = "\
- http://freedesktop.org/software/dbus/releases/dbus-${PV}.tar.gz \
+ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://cross.patch;patch=1 \
file://tmpdir.patch;patch=1 \
+ file://fix-dbus-launch-x11.patch;patch=1 \
file://dbus-1.init \
"
diff --git a/packages/dbus/dbus.inc b/packages/dbus/dbus.inc
index bbe7cb4fe4..26a0e04585 100644
--- a/packages/dbus/dbus.inc
+++ b/packages/dbus/dbus.inc
@@ -1,12 +1,11 @@
+DESCRIPTION = "A message bus system for inter-process communication"
HOMEPAGE = "http://dbus.freedesktop.org"
-DESCRIPTION = "Message bus system for applications to talk to one another"
+SECTION = "base"
LICENSE = "GPL"
DEPENDS = "expat glib-2.0 virtual/libintl"
-DEFAULT_PREFERENCE = "-1"
-
SRC_URI = "\
- http://freedesktop.org/software/dbus/releases/dbus/dbus-${PV}.tar.gz \
+ http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://cross.patch;patch=1 \
file://tmpdir.patch;patch=1 \
file://fix-install-daemon.patch;patch=1 \
@@ -23,11 +22,23 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
DEBIANNAME_${PN} = "dbus-1"
-PACKAGES += "${PN}-lib"
-
-FILES_${PN} = "${bindir}/dbus-daemon* ${bindir}/dbus-uuidgen ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${sysconfdir} ${datadir}/dbus-1/services"
+PACKAGES =+ "${PN}-lib"
+
+FILES_${PN} = "\
+${bindir}/dbus-daemon* \
+${bindir}/dbus-uuidgen \
+${bindir}/dbus-launch \
+${bindir}/dbus-cleanup-sockets \
+${bindir}/dbus-send \
+${bindir}/dbus-monitor \
+${libexecdir}/dbus* \
+${sysconfdir} \
+${datadir}/dbus-1/services \
+${datadir}/dbus-1/system-services \
+"
FILES_${PN}-lib = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+RRECOMMENDS_${PN}-lib = "${PN}"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool ${libdir}/"
pkg_postinst_dbus() {
#!/bin/sh
@@ -45,13 +56,20 @@ 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"
grep -q netdev: /etc/group || addgroup netdev
-
+chmod u+s /usr/libexec/dbus-daemon-launch-helper
}
-EXTRA_OECONF = "--disable-qt --disable-qt3 --disable-gtk --disable-tests \
- --disable-checks --disable-xml-docs --disable-doxygen-docs \
- --with-xml=expat --without-x"
-
+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}
@@ -65,4 +83,8 @@ do_stage() {
do_install_append() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
+ # the stock install seems to install the libtool wrapper script, so we have to copy this manually :M:
+ if [ -e bus/.libs/dbus-daemon-launch-helper ]; then
+ install -m 0755 bus/.libs/dbus-daemon-launch-helper ${D}${libexecdir}/
+ fi
}
diff --git a/packages/dbus/dbus_1.0.2.bb b/packages/dbus/dbus_1.0.2.bb
index e803cb7189..6a54a62d9a 100644
--- a/packages/dbus/dbus_1.0.2.bb
+++ b/packages/dbus/dbus_1.0.2.bb
@@ -1,6 +1,4 @@
require dbus.inc
-DEFAULT_PREFERENCE = "1"
-
-PR = "r9"
-
+PR = "r11"
+DEFAULT_PREFERENCE = "-1"
diff --git a/packages/dbus/dbus_1.1.20.bb b/packages/dbus/dbus_1.1.20.bb
new file mode 100644
index 0000000000..c951fc79ec
--- /dev/null
+++ b/packages/dbus/dbus_1.1.20.bb
@@ -0,0 +1,5 @@
+include dbus.inc
+
+PR = "r1"
+
+SRC_URI += "file://fix-dbus-launch-x11.patch;patch=1"
diff --git a/packages/dbus/dbus_1.1.4.bb b/packages/dbus/dbus_1.1.4.bb
deleted file mode 100644
index f331b140aa..0000000000
--- a/packages/dbus/dbus_1.1.4.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-include dbus.inc
-
-PR = "r0"
diff --git a/packages/dejagnu/dejagnu-qemu_1.0.bb b/packages/dejagnu/dejagnu-qemu_1.0.bb
index 7230f985f6..2eef27e9a3 100644
--- a/packages/dejagnu/dejagnu-qemu_1.0.bb
+++ b/packages/dejagnu/dejagnu-qemu_1.0.bb
@@ -13,7 +13,7 @@ do_stage() {
install -m 0644 ${WORKDIR}/arm-qemu.exp ${STAGING_DATADIR}/dejagnu/baseboards/
cat <<EOF >${STAGING_BINDIR_NATIVE}/${QEMU}-test-wrapper
#!/bin/sh
-exec ${QEMU} ${CROSS_DIR}/${TARGET_SYS}/${LD_SO} --library-path ${CROSS_DIR}/${TARGET_SYS}/lib:${STAGING_DIR}/${TARGET_SYS}/lib \$1
+exec ${QEMU} ${CROSS_DIR}/${TARGET_SYS}/${LD_SO} --library-path ${CROSS_DIR}/${TARGET_SYS}/lib:${STAGING_DIR_TARGET}${layout_libdir} \$1
EOF
chmod 755 ${STAGING_BINDIR_NATIVE}/arm-qemu-test-wrapper
}
diff --git a/packages/djvulibre/djvulibre_3.5.19.bb b/packages/djvulibre/djvulibre_3.5.20.bb
index 5ba5751f2d..386eccc6cb 100644
--- a/packages/djvulibre/djvulibre_3.5.19.bb
+++ b/packages/djvulibre/djvulibre_3.5.20.bb
@@ -1,27 +1,23 @@
DESCRIPTION = "DjVuLibre is an open source (GPL'ed) implementation of DjVu, including viewers, browser plugins, decoders, simple encoders, and utilities."
LICENSE = "GPL"
-
DEPENDS = "jpeg libpng tiff"
+PR = "r1"
-SRC_URI = "http://downloads.sourceforge.net/djvu/djvulibre-${PV}.tar.gz \
+SRC_URI = "http://${SOURCEFORGE_MIRROR}/djvu/djvulibre-${PV}.tar.gz \
file://fix-cross-configure.patch;patch=1"
-
inherit qt4x11 autotools pkgconfig
#export QT_LIBS = "${OE_QMAKE_LIBS_QT}"
#export QT_CFLAGS = "${OE_QMAKE_CXXFLAGS} -I${QTDIR}/include/Qt/ "
EXTRA_OECONF = " --enable-threads \
- --with-qt=${QTDIR} "
-
-PACKAGES =+ "libdjvulibre"
-
-FILES_libdjvulibre = "${libdir}/libdjvulibre.so.*"
-FILES_${PN} += "${datadir}/djvu"
+ --with-qt=${PAMLTOPDIR} "
do_stage() {
autotools_stage_all
}
-
+PACKAGES =+ "libdjvulibre"
+FILES_libdjvulibre = "${libdir}/libdjvulibre.so.*"
+FILES_${PN} += "${datadir}/djvu"
diff --git a/packages/docbook-utils/docbook-utils-native_0.6.14.bb b/packages/docbook-utils/docbook-utils-native_0.6.14.bb
index af1113b331..eef3f9e0fb 100644
--- a/packages/docbook-utils/docbook-utils-native_0.6.14.bb
+++ b/packages/docbook-utils/docbook-utils-native_0.6.14.bb
@@ -1,7 +1,7 @@
SECTION = "console/utils"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
DEPENDS = "openjade-native sgmlspl-native docbook-dsssl-stylesheets-native docbook-sgml-dtd-3.1-native"
@@ -25,6 +25,7 @@ do_stage () {
for doctype in html ps dvi man pdf rtf tex texi txt
do
install -m 0755 ${S}/bin/docbook2$doctype ${STAGING_BINDIR_NATIVE}/
+ ln -sf docbook2x-$doctype ${STAGING_BINDIR_NATIVE}/db2$doctype
ln -sf docbook2$doctype ${STAGING_BINDIR_NATIVE}/db2$doctype
ln -sf docbook2$doctype ${STAGING_BINDIR_NATIVE}/docbook-to-$doctype
done
diff --git a/packages/dtnrg/dtn_2.5.0.bb b/packages/dtnrg/dtn_2.5.0.bb
index 5975a29e7c..3878829ce5 100644
--- a/packages/dtnrg/dtn_2.5.0.bb
+++ b/packages/dtnrg/dtn_2.5.0.bb
@@ -3,29 +3,30 @@ HOMEPAGE = "http://www.dtnrg.org/wiki"
SECTION = "libs"
DEPENDS = "db openssl python-native xerces-c"
LICENSE = "Apache"
-SRC_URI = "http://www.dtnrg.org/docs/code/dtn_${PV}.tgz"
-PR = "r2"
+SRC_URI = "http://www.dtnrg.org/docs/code/dtn_${PV}.tgz \
+ file://configure_fix.patch;patch=1"
+PR = "r3"
inherit autotools
EXTRA_OECONF = "\
--with-python=${STAGING_BINDIR_NATIVE}/python \
- --with-db=${STAGING_DIR} \
- --with-tcl=${STAGING_DIR} \
+ --with-db=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-tcl=${STAGING_DIR_HOST}${layout_exec_prefix} \
--without-google-perftools \
--without-bluez \
--without-bonjour \
- --with-expat=${STAGING_DIR} \
- --with-xerces-c=${STAGING_DIR} \
+ --with-expat=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-xerces-c=${STAGING_DIR_HOST}${layout_exec_prefix} \
--without-tclreadline \
- --with-zlib=${STAGING_DIR} \
+ --with-zlib=${STAGING_DIR_HOST}${layout_exec_prefix} \
--without-xsd-tool \
- --with-db=${STAGING_DIR} \
+ --with-db=${STAGING_DIR_HOST}${layout_exec_prefix} \
--enable-ecl \
--enable-edp \
--without-mysql \
--without-postgres \
- --with-openssl=${STAGING_DIR} \
+ --with-openssl=${STAGING_DIR_HOST}${layout_exec_prefix} \
"
def dtn_python_dir(d):
diff --git a/packages/gaim/.mtn2git_empty b/packages/dtnrg/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gaim/.mtn2git_empty
+++ b/packages/dtnrg/files/.mtn2git_empty
diff --git a/packages/dtnrg/files/configure_fix.patch b/packages/dtnrg/files/configure_fix.patch
new file mode 100644
index 0000000000..95587c242c
--- /dev/null
+++ b/packages/dtnrg/files/configure_fix.patch
@@ -0,0 +1,22 @@
+head no longer supports "-1" syntax
+
+Index: dtn-2.5.0/oasys/aclocal/gcc.ac
+===================================================================
+--- dtn-2.5.0.orig/oasys/aclocal/gcc.ac 2008-02-27 22:38:22.000000000 +0000
++++ dtn-2.5.0/oasys/aclocal/gcc.ac 2008-02-27 22:39:05.000000000 +0000
+@@ -83,13 +83,13 @@
+ dnl Figure out the version and set version-specific options
+ dnl
+ AC_CACHE_CHECK(for the version of the GNU C compiler, oasys_cv_prog_gccver, [
+- oasys_cv_prog_gccver=`$CC --version | head -1`
++ oasys_cv_prog_gccver=`$CC --version | head -n 1`
+ oasys_cv_prog_gccver=`echo $oasys_cv_prog_gccver | sed 's/.*gcc.*(GCC) //'`
+ oasys_cv_prog_gccver=`echo $oasys_cv_prog_gccver | sed 's/ .*//'`
+ ])
+
+ AC_CACHE_CHECK(for the version of the GNU C++ compiler, oasys_cv_prog_gxxver, [
+- oasys_cv_prog_gxxver=`$CXX --version | head -1`
++ oasys_cv_prog_gxxver=`$CXX --version | head -n 1`
+ oasys_cv_prog_gxxver=`echo $oasys_cv_prog_gxxver | sed 's/.*g++.*(GCC) //'`
+ oasys_cv_prog_gxxver=`echo $oasys_cv_prog_gxxver | sed 's/ .*//'`
+ ])
diff --git a/packages/e17/e-wm_cvs.bb b/packages/e17/e-wm_cvs.bb
index e7af400a1c..4dbacffe1b 100644
--- a/packages/e17/e-wm_cvs.bb
+++ b/packages/e17/e-wm_cvs.bb
@@ -21,9 +21,7 @@ EXTRA_OECONF = "\
"
do_configure_prepend() {
- install -m 0644 ${WORKDIR}/Makefile.in.in po/
- echo "install -d $*" >./mkinstalldirs
- chmod a+rx ./mkinstalldirs
+ autopoint
}
do_stage() {
diff --git a/packages/efl1/ecore-native_cvs.bb b/packages/efl1/ecore-native_cvs.bb
index 52855d99a8..b7d16b54ba 100644
--- a/packages/efl1/ecore-native_cvs.bb
+++ b/packages/efl1/ecore-native_cvs.bb
@@ -1,7 +1,7 @@
require ecore.inc
inherit native
DEPENDS = "eet-native evas-native"
-PR = "r2"
+PR = "r3"
EXTRA_OECONF = "\
--x-includes=${STAGING_INCDIR}/X11 \
@@ -19,6 +19,7 @@ EXTRA_OECONF = "\
--disable-ecore-evas-x11-gl \
--disable-ecore-evas-xrender \
--disable-ecore-evas-dfb \
+ --disable-ecore-evas-sdl \
--disable-openssl \
--enable-abstract-sockets \
--enable-ecore-con \
diff --git a/packages/efl1/ecore_cvs.bb b/packages/efl1/ecore_cvs.bb
index b0a2a24f98..3e8cdcf5be 100644
--- a/packages/efl1/ecore_cvs.bb
+++ b/packages/efl1/ecore_cvs.bb
@@ -1,5 +1,5 @@
require ecore.inc
-PR = "r0"
+PR = "r1"
EXTRA_OECONF = "\
--x-includes=${STAGING_INCDIR}/X11 \
@@ -19,6 +19,7 @@ EXTRA_OECONF = "\
--disable-ecore-evas-x11-gl \
--enable-ecore-evas-xrender \
--disable-ecore-evas-dfb \
+ --disable-ecore-evas-sdl \
--disable-openssl \
--enable-abstract-sockets \
--enable-ecore-con \
diff --git a/packages/emacs/emacs_cvs.bb b/packages/emacs/emacs_cvs.bb
index e8f263d1a9..4a406d6516 100644
--- a/packages/emacs/emacs_cvs.bb
+++ b/packages/emacs/emacs_cvs.bb
@@ -26,7 +26,7 @@ FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \
FILES_${PN} += "${datadir}/emacs"
-QEMU = "qemu-${TARGET_ARCH} -L ${STAGING_DIR}/${TARGET_SYS}"
+QEMU = "qemu-${TARGET_ARCH} -L ${STAGING_DIR_TARGET}"
LDFLAGS += "-L${CROSS_DIR}/${TARGET_SYS}/lib"
EXTRA_OECONF = "--without-sound --without-x"
diff --git a/packages/enca/enca_1.9.bb b/packages/enca/enca_1.9.bb
index ddd7acef82..548a824523 100644
--- a/packages/enca/enca_1.9.bb
+++ b/packages/enca/enca_1.9.bb
@@ -13,7 +13,7 @@ SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/enca-${PV}
inherit autotools
-EXTRA_OECONF="--with-libiconv-prefix=${STAGING_DIR}"
+EXTRA_OECONF="--with-libiconv-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
do_configure_append() {
sed -i s:-I/usr/include::g Makefile
diff --git a/packages/erlang/erlang_R11B.1.bb b/packages/erlang/erlang_R11B.1.bb
index 4c754f6c3e..e85a297ff9 100644
--- a/packages/erlang/erlang_R11B.1.bb
+++ b/packages/erlang/erlang_R11B.1.bb
@@ -11,7 +11,7 @@ SRC_URI += "file://erts-configure.in.patch;patch=1 \
EXTRA_OEMAKE = "BUILD_CC='${BUILD_CC}'"
-EXTRA_OECONF = "--with-ssl=${STAGING_DIR}/${HOST_SYS}"
+EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${layout_exec_prefix}"
EXTRA_OECONF_append_arm = " --disable-smp-support --disable-hipe"
EXTRA_OECONF_append_armeb = " --disable-smp-support --disable-hipe"
diff --git a/packages/fbset/fbset-init.bb b/packages/fbset/fbset-init.bb
new file mode 100644
index 0000000000..f04691d793
--- /dev/null
+++ b/packages/fbset/fbset-init.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Set framebuffer mode during boot"
+PR = "r1"
+
+SRC_URI = "file://fbset.sh file://default-fbset"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "fbset.sh"
+INITSCRIPT_PARAMS = "start 0 S ."
+
+do_install() {
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/fbset.sh ${D}${sysconfdir}/init.d/
+ install -m 0644 ${WORKDIR}/default-fbset ${D}${sysconfdir}/default/fbset
+}
+
+PACKAGE_ARCH = "all"
+CONFFILES_${PN} = "${sysconfdir}/default/fbset"
diff --git a/packages/gaim/files/.mtn2git_empty b/packages/fbset/fbset-init/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gaim/files/.mtn2git_empty
+++ b/packages/fbset/fbset-init/.mtn2git_empty
diff --git a/packages/fbset/fbset-init/default-fbset b/packages/fbset/fbset-init/default-fbset
new file mode 100644
index 0000000000..5c163a7f7c
--- /dev/null
+++ b/packages/fbset/fbset-init/default-fbset
@@ -0,0 +1,3 @@
+# Uncomment and set value below to one of modes from /etc/fb.modes
+# or alternatively to "-xres <width> -yres <height>"
+#FBSET_MODE="vga"
diff --git a/packages/fbset/fbset-init/fbset.sh b/packages/fbset/fbset-init/fbset.sh
new file mode 100755
index 0000000000..900a1d4182
--- /dev/null
+++ b/packages/fbset/fbset-init/fbset.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+. /etc/default/fbset
+[ -n "$FBSET_MODE" ] && fbset -n $FBSET_MODE
diff --git a/packages/fbset/fbset-modes.bb b/packages/fbset/fbset-modes.bb
index 2724252125..403751c90a 100644
--- a/packages/fbset/fbset-modes.bb
+++ b/packages/fbset/fbset-modes.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Default display timings and resolutions for fbset"
PV = "0.1.0"
-PR = "r2"
+PR = "r3"
SRC_URI = "file://fb.modes"
diff --git a/packages/gaim/pidgin/.mtn2git_empty b/packages/fbset/fbset-modes/qemuarm/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gaim/pidgin/.mtn2git_empty
+++ b/packages/fbset/fbset-modes/qemuarm/.mtn2git_empty
diff --git a/packages/fbset/fbset-modes/qemuarm/fb.modes b/packages/fbset/fbset-modes/qemuarm/fb.modes
new file mode 100644
index 0000000000..1114564797
--- /dev/null
+++ b/packages/fbset/fbset-modes/qemuarm/fb.modes
@@ -0,0 +1,17 @@
+# QEMU versatilepb machine, qemuarm in OE
+
+mode "vga" "640x480"
+ geometry 640 480 640 480 16
+endmode
+
+mode "vga-portrait" "480x640"
+ geometry 480 640 480 640 16
+endmode
+
+mode "qvga" "320x240"
+ geometry 320 240 320 240 16
+endmode
+
+mode "qvga-portrait" "240x320"
+ geometry 240 320 240 320 16
+endmode
diff --git a/packages/ffmpeg/ffmpeg-0.4.9-pre1/common.patch b/packages/ffmpeg/ffmpeg-0.4.9-pre1/common.patch
deleted file mode 100644
index 5a1ceaa10d..0000000000
--- a/packages/ffmpeg/ffmpeg-0.4.9-pre1/common.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ffmpeg-0.4.9-pre1/libavcodec/common.h.orig 2004-12-24 23:49:50.000000000 +0100
-+++ ffmpeg-0.4.9-pre1/libavcodec/common.h 2004-12-24 23:51:37.000000000 +0100
-@@ -1292,10 +1292,6 @@
- #define time time_is_forbidden_due_to_security_issues
- #define rand rand_is_forbidden_due_to_state_trashing
- #define srand srand_is_forbidden_due_to_state_trashing
--#if !(defined(LIBAVFORMAT_BUILD) || defined(_FRAMEHOOK_H))
--#define printf please_use_av_log
--#define fprintf please_use_av_log
--#endif
-
- #define CHECKED_ALLOCZ(p, size)\
- {\
diff --git a/packages/ffmpeg/ffmpeg-0.4.9-pre1/gcc4.patch b/packages/ffmpeg/ffmpeg-0.4.9-pre1/gcc4.patch
new file mode 100644
index 0000000000..e04fdab3e5
--- /dev/null
+++ b/packages/ffmpeg/ffmpeg-0.4.9-pre1/gcc4.patch
@@ -0,0 +1,146 @@
+--- ffmpeg-0.4.9-pre1/libavcodec/common.h.orig 2008-02-23 19:42:48.000000000 -0500
++++ ffmpeg-0.4.9-pre1/libavcodec/common.h 2008-02-23 19:08:09.000000000 -0500
+@@ -64,11 +64,11 @@
+
+ struct AVOption;
+ #ifdef HAVE_MMX
+-extern const struct AVOption avoptions_common[3 + 5];
++extern const struct AVOption *avoptions_common[2 + 5];
+ #else
+-extern const struct AVOption avoptions_common[3];
++extern const struct AVOption *avoptions_common[2];
+ #endif
+-extern const struct AVOption avoptions_workaround_bug[11];
++extern const struct AVOption *avoptions_workaround_bug[10];
+
+ #endif /* HAVE_AV_CONFIG_H */
+
+@@ -1292,10 +1292,6 @@ tend= rdtsc();\
+ #define time time_is_forbidden_due_to_security_issues
+ #define rand rand_is_forbidden_due_to_state_trashing
+ #define srand srand_is_forbidden_due_to_state_trashing
+-#if !(defined(LIBAVFORMAT_BUILD) || defined(_FRAMEHOOK_H))
+-#define printf please_use_av_log
+-#define fprintf please_use_av_log
+-#endif
+
+ #define CHECKED_ALLOCZ(p, size)\
+ {\
+--- ffmpeg-0.4.9-pre1/libavcodec/ac3tab.h.orig 2008-02-23 19:46:06.000000000 -0500
++++ ffmpeg-0.4.9-pre1/libavcodec/ac3tab.h 2008-02-23 19:08:09.000000000 -0500
+@@ -4,10 +4,10 @@
+ */
+
+ /* possible frequencies */
+-static const uint16_t ac3_freqs[3] = { 48000, 44100, 32000 };
++const uint16_t ac3_freqs[3] = { 48000, 44100, 32000 };
+
+ /* possible bitrates */
+-static const uint16_t ac3_bitratetab[19] = {
++const uint16_t ac3_bitratetab[19] = {
+ 32, 40, 48, 56, 64, 80, 96, 112, 128,
+ 160, 192, 224, 256, 320, 384, 448, 512, 576, 640
+ };
+@@ -15,7 +15,7 @@ static const uint16_t ac3_bitratetab[19]
+ /* AC3 MDCT window */
+
+ /* MDCT window */
+-static const int16_t ac3_window[256] = {
++const int16_t ac3_window[256] = {
+ 4, 7, 12, 16, 21, 28, 34, 42,
+ 51, 61, 72, 84, 97, 111, 127, 145,
+ 164, 184, 207, 231, 257, 285, 315, 347,
+@@ -144,27 +144,27 @@ static const uint8_t baptab[64]= {
+ 15, 15, 15, 15,
+ };
+
+-static const uint8_t sdecaytab[4]={
++const uint8_t sdecaytab[4]={
+ 0x0f, 0x11, 0x13, 0x15,
+ };
+
+-static const uint8_t fdecaytab[4]={
++const uint8_t fdecaytab[4]={
+ 0x3f, 0x53, 0x67, 0x7b,
+ };
+
+-static const uint16_t sgaintab[4]= {
++const uint16_t sgaintab[4]= {
+ 0x540, 0x4d8, 0x478, 0x410,
+ };
+
+-static const uint16_t dbkneetab[4]= {
++const uint16_t dbkneetab[4]= {
+ 0x000, 0x700, 0x900, 0xb00,
+ };
+
+-static const uint16_t floortab[8]= {
++const uint16_t floortab[8]= {
+ 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800,
+ };
+
+-static const uint16_t fgaintab[8]= {
++const uint16_t fgaintab[8]= {
+ 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
+ };
+
+--- ffmpeg-0.4.9-pre1/libavcodec/dsputil.h.orig 2008-02-23 19:47:34.000000000 -0500
++++ ffmpeg-0.4.9-pre1/libavcodec/dsputil.h 2008-02-23 19:08:09.000000000 -0500
+@@ -558,15 +558,15 @@ static int name16(void /*MpegEncContext*
+ /* XXX: add ISOC specific test to avoid specific BSD testing. */
+ /* better than nothing implementation. */
+ /* btw, rintf() is existing on fbsd too -- alex */
+-static inline long int lrintf(float x)
+-{
+-#ifdef CONFIG_WIN32
+- /* XXX: incorrect, but make it compile */
+- return (int)(x);
+-#else
+- return (int)(rint(x));
+-#endif
+-}
++//static inline long int lrintf(float x)
++//{
++//#ifdef CONFIG_WIN32
++// /* XXX: incorrect, but make it compile */
++// return (int)(x);
++//#else
++// return (int)(rint(x));
++//#endif
++//}
+ #else
+ #ifndef _ISOC9X_SOURCE
+ #define _ISOC9X_SOURCE
+--- ffmpeg-0.4.9-pre1/libavcodec/opts.c.orig 2008-02-23 19:49:11.000000000 -0500
++++ ffmpeg-0.4.9-pre1/libavcodec/opts.c 2008-02-23 19:08:09.000000000 -0500
+@@ -12,7 +12,7 @@
+
+ #include "avcodec.h"
+
+-const AVOption avoptions_common[] = {
++const AVOption *avoptions_common[] = {
+ AVOPTION_CODEC_FLAG("bit_exact", "use only bit-exact stuff", flags, CODEC_FLAG_BITEXACT, 0),
+ AVOPTION_CODEC_FLAG("mm_force", "force mm flags", dsp_mask, FF_MM_FORCE, 0),
+ #ifdef HAVE_MMX
+@@ -22,10 +22,10 @@ const AVOption avoptions_common[] = {
+ AVOPTION_CODEC_FLAG("mm_sse", "mask SSE feature", dsp_mask, FF_MM_SSE, 0),
+ AVOPTION_CODEC_FLAG("mm_sse2", "mask SSE2 feature", dsp_mask, FF_MM_SSE2, 0),
+ #endif
+- AVOPTION_END()
++// AVOPTION_END()
+ };
+
+-const AVOption avoptions_workaround_bug[] = {
++const AVOption *avoptions_workaround_bug[] = {
+ AVOPTION_CODEC_FLAG("bug_autodetect", "workaround bug autodetection", workaround_bugs, FF_BUG_AUTODETECT, 1),
+ AVOPTION_CODEC_FLAG("bug_old_msmpeg4", "workaround old msmpeg4 bug", workaround_bugs, FF_BUG_OLD_MSMPEG4, 0),
+ AVOPTION_CODEC_FLAG("bug_xvid_ilace", "workaround XviD interlace bug", workaround_bugs, FF_BUG_XVID_ILACE, 0),
+@@ -36,7 +36,7 @@ const AVOption avoptions_workaround_bug[
+ AVOPTION_CODEC_FLAG("bug_std_qpel", "workaround std qpel bug", workaround_bugs, FF_BUG_STD_QPEL, 0),
+ AVOPTION_CODEC_FLAG("bug_qpel_chroma2", "workaround qpel chroma2 bug", workaround_bugs, FF_BUG_QPEL_CHROMA2, 0),
+ AVOPTION_CODEC_FLAG("bug_direct_blocksize", "workaround direct blocksize bug", workaround_bugs, FF_BUG_DIRECT_BLOCKSIZE, 0),
+- AVOPTION_END()
++// AVOPTION_END()
+ };
+
+ /* avoid compatibility problems by redefining it */
diff --git a/packages/ffmpeg/ffmpeg-0.4.9-pre1/soname.patch b/packages/ffmpeg/ffmpeg-0.4.9-pre1/soname.patch
index 48de6f01bf..80bf3937e4 100644
--- a/packages/ffmpeg/ffmpeg-0.4.9-pre1/soname.patch
+++ b/packages/ffmpeg/ffmpeg-0.4.9-pre1/soname.patch
@@ -1,6 +1,6 @@
---- ffmpeg-0.4.9-pre1/libavcodec/Makefile.orig 2004-08-25 22:36:39.000000000 +0200
-+++ ffmpeg-0.4.9-pre1/libavcodec/Makefile 2004-08-25 22:37:22.000000000 +0200
-@@ -7,7 +7,7 @@
+--- ffmpeg-0.4.9-pre1/libavcodec/Makefile.orig 2008-02-23 19:34:18.000000000 -0500
++++ ffmpeg-0.4.9-pre1/libavcodec/Makefile 2008-02-23 19:24:55.000000000 -0500
+@@ -7,7 +7,7 @@ include ../config.mak
VPATH=$(SRC_PATH)/libavcodec
# NOTE: -I.. is needed to include config.h
@@ -9,7 +9,19 @@
OBJS= common.o utils.o mem.o allcodecs.o \
mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
-@@ -197,7 +197,7 @@
+@@ -89,9 +89,10 @@ endif
+
+ ifeq ($(CONFIG_PP),yes)
+ ifeq ($(SHARED_PP),yes)
+-EXTRALIBS += -lpostproc
++LIBS += -lpostproc
+ else
+ # LIBS += libpostproc/libpostproc.a ... should be fixed
++LIBS += libpostproc/libpostproc.a
+ OBJS += libpostproc/postprocess.o
+ endif
+ endif
+@@ -197,7 +198,7 @@ ifeq ($(CONFIG_WIN32),yes)
$(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
-lib /machine:i386 /def:$(@:.dll=.def)
else
@@ -18,7 +30,7 @@
endif
dsputil.o: dsputil.c dsputil.h
-@@ -269,8 +269,9 @@
+@@ -269,8 +270,9 @@ ifeq ($(CONFIG_WIN32),yes)
install -s -m 755 $(SLIB) "$(prefix)"
else
install -d $(prefix)/lib
@@ -30,10 +42,9 @@
ldconfig || true
endif
else
-
---- ffmpeg-0.4.9-pre1/libavformat/Makefile.orig 2004-08-26 13:45:12.000000000 +0200
-+++ ffmpeg-0.4.9-pre1/libavformat/Makefile 2004-08-26 13:46:00.000000000 +0200
-@@ -6,7 +6,7 @@
+--- ffmpeg-0.4.9-pre1/libavformat/Makefile.orig 2008-02-23 19:37:40.000000000 -0500
++++ ffmpeg-0.4.9-pre1/libavformat/Makefile 2008-02-23 19:06:56.000000000 -0500
+@@ -6,7 +6,7 @@ include ../config.mak
VPATH=$(SRC_PATH)/libavformat
@@ -42,7 +53,7 @@
OBJS= utils.o cutils.o os_support.o allformats.o
PPOBJS=
-@@ -54,6 +54,7 @@
+@@ -54,6 +54,7 @@ endif
ifeq ($(CONFIG_AUDIO_BEOS),yes)
PPOBJS+= beosaudio.o
EXTRALIBS+=-lbe -lmedia
@@ -50,7 +61,7 @@
# this should be the default !
EXTRALIBS+=-lavcodec -L../libavcodec
endif
-@@ -93,7 +94,7 @@
+@@ -93,7 +94,7 @@ ifeq ($(CONFIG_WIN32),yes)
$(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) $(VPATH)/../libavcodec/avcodec.dll
-lib /machine:i386 /def:$(@:.dll=.def)
else
@@ -59,7 +70,7 @@
endif
depend: $(SRCS)
-@@ -105,8 +106,9 @@
+@@ -105,8 +106,9 @@ ifeq ($(CONFIG_WIN32),yes)
install -s -m 755 $(SLIB) "$(prefix)"
else
install -d $(prefix)/lib
@@ -71,4 +82,3 @@
ldconfig || true
endif
else
-
diff --git a/packages/ffmpeg/ffmpeg.inc b/packages/ffmpeg/ffmpeg.inc
new file mode 100644
index 0000000000..aab2c62fa9
--- /dev/null
+++ b/packages/ffmpeg/ffmpeg.inc
@@ -0,0 +1,35 @@
+DESCRIPTION = "FFmpeg is a complete solution to record, convert and stream audio and video"
+HOMEPAGE = "http://ffmpeg.mplayerhq.hu/"
+AUTHOR = "Fabrice Bellard ffmpeg-devel@mplayerhq.hu"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+
+DEPENDS = "zlib libogg libvorbis faac faad2 liba52 lame"
+RSUGGESTS = "mplayer"
+
+inherit autotools pkgconfig
+
+LEAD_SONAME = "libavcodec.so"
+
+EXTRA_OECONF = "\
+ \
+ --enable-pp \
+ --enable-shared \
+ --enable-pthreads \
+ --enable-gpl \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --disable-debug \
+ --disable-ffserver \
+ --disable-ffplay \
+ \
+"
+
+PACKAGES += "${PN}-vhook-dbg ${PN}-vhook"
+
+FILES_${PN} = "${bindir}"
+FILES_${PN}-dev = "${includedir}/${PN}"
+
+FILES_${PN}-vhook = "${libdir}/vhook"
+FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
diff --git a/packages/ffmpeg/ffmpeg/common.patch b/packages/ffmpeg/ffmpeg/common.patch
deleted file mode 100644
index 233a454a48..0000000000
--- a/packages/ffmpeg/ffmpeg/common.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ffmpeg/libavcodec/common.h.orig 2005-02-10 15:10:34.000000000 +0100
-+++ ffmpeg/libavcodec/common.h 2005-02-10 15:11:28.000000000 +0100
-@@ -501,10 +501,6 @@
- #define srand srand_is_forbidden_due_to_state_trashing
- #define sprintf sprintf_is_forbidden_due_to_security_issues_use_snprintf
- #define strcat strcat_is_forbidden_due_to_security_issues_use_pstrcat
--#if !(defined(LIBAVFORMAT_BUILD) || defined(_FRAMEHOOK_H))
--#define printf please_use_av_log
--#define fprintf please_use_av_log
--#endif
-
- #define CHECKED_ALLOCZ(p, size)\
- {\
diff --git a/packages/ffmpeg/ffmpeg/configure.patch b/packages/ffmpeg/ffmpeg/configure.patch
deleted file mode 100644
index ae13b861b0..0000000000
--- a/packages/ffmpeg/ffmpeg/configure.patch
+++ /dev/null
@@ -1,87 +0,0 @@
---- ./configure~configure.patch 2004-07-06 03:36:16.000000000 +0930
-+++ ./configure 2004-09-27 00:07:23.000000000 +0930
-@@ -88,7 +88,7 @@
- mandir=""
- bindir=""
- cross_prefix=""
--cc="gcc"
-+cc="$CC"
- ar="ar"
- ranlib="ranlib"
- make="make"
-@@ -104,7 +104,7 @@
- cpu="x86"
- ;;
- # armv4l is a subset of armv5tel
-- armv4l|armv5tel)
-+ armv4l|armv5tel|arm|xscale)
- cpu="armv4l"
- ;;
- alpha)
-@@ -434,6 +434,37 @@
- esac
- done
-
-+case "$cpu" in
-+ i386|i486|i586|i686|i86pc|BePC)
-+ cpu="x86"
-+ ;;
-+ # armv4l is a subset of armv5tel
-+ armv4l|armv5tel|arm|xscale)
-+ cpu="armv4l"
-+ ;;
-+ alpha)
-+ cpu="alpha"
-+ ;;
-+ "Power Macintosh"|ppc)
-+ cpu="powerpc"
-+ ;;
-+ mips)
-+ cpu="mips"
-+ ;;
-+ sun4u|sparc64)
-+ cpu="sparc64"
-+ ;;
-+ sparc)
-+ cpu="sparc"
-+ ;;
-+ sh4)
-+ cpu="sh4"
-+ ;;
-+ *)
-+ cpu="unknown"
-+ ;;
-+esac
-+
- if test "$gpl" != "yes"; then
- if test "$pp" != "no" -o "$shared_pp" != "no"; then
- echo "The Postprocessing code is under GPL and --enable-gpl is not specified"
-@@ -662,7 +693,6 @@
- bindir="$prefix"
- fi
-
--cc="${cross_prefix}${cc}"
- ar="${cross_prefix}${ar}"
- ranlib="${cross_prefix}${ranlib}"
- strip="${cross_prefix}${strip}"
-@@ -753,21 +783,6 @@
- fi
-
- if test "$zlib" = "yes"; then
--# check for zlib - mmu_man
--cat > $TMPC << EOF
--#include <zlib.h>
--int main ( void ) {
--if (zlibVersion() != ZLIB_VERSION)
-- puts("zlib version differs !!!");
-- return 1;
--return 0;
--}
--EOF
--$cc $CFLAGS -o $TMPE $TMPC -lz 2> /dev/null || zlib="no"
--# $TMPE 2> /dev/null > /dev/null || zlib="no"
--# XXX: more tests needed - runtime test
--fi
--if test "$zlib" = "yes"; then
- extralibs="$extralibs -lz"
- fi
diff --git a/packages/ffmpeg/ffmpeg/soname.patch b/packages/ffmpeg/ffmpeg/soname.patch
deleted file mode 100644
index 6d01f922af..0000000000
--- a/packages/ffmpeg/ffmpeg/soname.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- ffmpeg/libavcodec/Makefile.orig 2005-02-10 18:11:57.000000000 +0100
-+++ ffmpeg/libavcodec/Makefile 2005-02-10 18:15:36.000000000 +0100
-@@ -7,7 +7,7 @@
- VPATH=$(SRC_PATH)/libavcodec
-
- # NOTE: -I.. is needed to include config.h
--CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
-+CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC -DPIC
-
- OBJS= bitstream.o utils.o mem.o allcodecs.o \
- mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
-@@ -222,7 +222,7 @@
- $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
- -lib /machine:i386 /def:$(@:.dll=.def)
- else
-- $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(LDFLAGS)
-+ $(CC) $(SHFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS) $(LDFLAGS) -Wl,-soname -Wl,libavcodec.so.0
- endif
-
- dsputil.o: dsputil.c dsputil.h
-@@ -294,8 +294,9 @@
- install $(INSTALLSTRIP) -m 755 $(SLIB) "$(prefix)"
- else
- install -d $(prefix)/lib
-- install $(INSTALLSTRIP) -m 755 $(SLIB) $(prefix)/lib/libavcodec-$(VERSION).so
-- ln -sf libavcodec-$(VERSION).so $(prefix)/lib/libavcodec.so
-+ install -m 755 $(SLIB) $(prefix)/lib/libavcodec.so.0.4.9
-+ ln -sf libavcodec.so.0.4.9 $(prefix)/lib/libavcodec.so.0
-+ ln -sf libavcodec.so.0.4.9 $(prefix)/lib/libavcodec.so
- ldconfig || true
- endif
- ifeq ($(CONFIG_PP),yes)
-
---- ffmpeg/libavformat/Makefile.orig 2005-02-10 18:15:50.000000000 +0100
-+++ ffmpeg/libavformat/Makefile 2005-02-10 18:18:23.000000000 +0100
-@@ -6,7 +6,7 @@
-
- VPATH=$(SRC_PATH)/libavformat
-
--CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
-+CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC -DPIC
-
- OBJS= utils.o cutils.o os_support.o allformats.o
- PPOBJS=
-@@ -104,7 +104,7 @@
- $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) $(VPATH)/../libavcodec/avcodec.dll
- -lib /machine:i386 /def:$(@:.dll=.def)
- else
-- $(CC) $(SHFLAGS) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS)
-+ $(CC) $(SHFLAGS) -o $@ $(OBJS) $(PPOBJS) $(EXTRALIBS) -Wl,-soname -Wl,libavformat.so.0
- endif
-
- depend: $(SRCS)
-@@ -116,8 +116,9 @@
- install $(INSTALLSTRIP) -m 755 $(SLIB) "$(prefix)"
- else
- install -d $(prefix)/lib
-- install $(INSTALLSTRIP) -m 755 $(SLIB) $(prefix)/lib/libavformat-$(VERSION).so
-- ln -sf libavformat-$(VERSION).so $(prefix)/lib/libavformat.so
-+ install -m 755 $(SLIB) $(prefix)/lib/libavformat.so.0.4.9
-+ ln -sf libavformat.so.0.4.9 $(prefix)/lib/libavformat.so.0
-+ ln -sf libavformat.so.0.4.9 $(prefix)/lib/libavformat.so
- ldconfig || true
- endif
- else
diff --git a/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb b/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb
index 12a73cceb6..6df6d89ca0 100644
--- a/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb
+++ b/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb
@@ -1,85 +1,60 @@
+require ffmpeg.inc
-DESCRIPTION = "ffmpeg"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "zlib libvorbis faad2 faac liba52 lame mplayer"
-LICENSE = "LGPL"
-PR = "r1"
-
-
-inherit autotools
+PR = "r3"
SRC_URI = "${SOURCEFORGE_MIRROR}/ffmpeg/ffmpeg-${PV}.tar.gz \
- file://configure.patch;patch=0 \
- file://common.patch;patch=1 \
- file://soname.patch;patch=1 \
- "
-
-TARGET_LDFLAGS_append = " -lm -la52 "
-
-EXTRA_OECONF=" \
- --enable-mp3lame \
- --enable-vorbis \
- --enable-faad \
- --enable-faadbin \
- --enable-faac \
- --enable-a52 \
- --enable-a52bin \
- --enable-pp \
- --enable-shared-pp \
- --enable-shared \
- --disable-amr_nb \
- --enable-amr_nb-fixed \
- --disable-amr_wb \
- --enable-pthreads \
- --enable-gpl \
- --enable-zlib \
- \
- --disable-audio-beos \
- --disable-v4l \
- --disable-dv1394 \
- --disable-debug \
- --disable-ffserver \
- --disable-ffplay \
- \
- --cross-prefix=${TARGET_PREFIX} \
- --extra-cflags=\$(TARGET_CFLAGS) \
- --extra-ldflags=\$(TARGET_LDFLAGS) \
- --extra-libs=\$(TARGET_LDFLAGS) \
- \
- --cpu=${PACKAGE_ARCH} \
- --prefix=${D}${prefix} \
- --mandir=${D}${prefix}/share/man \
+ file://configure.patch;patch=0 \
+ file://gcc4.patch;patch=1 \
+ file://soname.patch;patch=1 \
+ "
+
+EXTRA_OECONF += " \
+ \
+ --prefix=${D}${prefix} \
+ --mandir=${D}${prefix}/share/man \
+ \
+ --enable-mp3lame \
+ --enable-vorbis \
+ --enable-faad \
+ --enable-faadbin \
+ --enable-faac \
+ --enable-a52 \
+ --enable-a52bin \
+ --enable-shared-pp \
+ --disable-amr_nb \
+ --enable-amr_nb-fixed \
+ --disable-amr_wb \
+ \
+ --cpu=${TARGET_ARCH} \
+ --tune=${PACKAGE_ARCH} \
+ --extra-ldflags="-la52" \
+ \
+ --disable-audio-beos \
+ --disable-v4l \
+ --disable-dv1394 \
"
-PACKAGES += "libavcodec libavcodec-dev libavformat libavformat-dev"
-FILES_${PN} = "${bindir}"
-FILES_${PN}-dev = "${includedir}"
-FILES_libavcodec = "${libdir}/libavcodec*.so.*"
-FILES_libavcodec-dev = "${libdir}/libavcodec*.so ${libdir}/libavcodec*.la ${libdir}/libavcodec*.a"
-FILES_libavformat = "${libdir}/libavformat*.so.*"
-FILES_libavformat-dev = "${libdir}/libavformat*.so ${libdir}/libavformat*.la ${libdir}/libavformat*.a"
+do_stage() {
+ oe_libinstall -a -so -C libavcodec libavcodec ${STAGING_LIBDIR}
+ oe_libinstall -a -so -C libavformat libavformat ${STAGING_LIBDIR}
-# We do this because the install program is called with -s which causes it to call "strip" and it then mangles cross compiled stuff..
-PATH_prepend="${CROSS_DIR}/${TARGET_SYS}/bin:"
+ install -d ${STAGING_INCDIR}/ffmpeg
-# --enable-shared-pp \
+ install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/ffmpeg/avcodec.h
+ install -m 0644 ${S}/libavcodec/common.h ${STAGING_INCDIR}/ffmpeg/common.h
+ install -m 0644 ${S}/libavcodec/rational.h ${STAGING_INCDIR}/ffmpeg/rational.h
-do_configure_prepend() {
- export CC="${CC}"
+ install -m 0644 ${S}/libavformat/avformat.h ${STAGING_INCDIR}/ffmpeg/avformat.h
+ install -m 0644 ${S}/libavformat/avio.h ${STAGING_INCDIR}/ffmpeg/avio.h
+ install -m 0644 ${S}/libavformat/rtp.h ${STAGING_INCDIR}/ffmpeg/rtp.h
+ install -m 0644 ${S}/libavformat/rtsp.h ${STAGING_INCDIR}/ffmpeg/rtsp.h
+ install -m 0644 ${S}/libavformat/rtspcodes.h ${STAGING_INCDIR}/ffmpeg/rtspcodes.h
}
-do_stage() {
- oe_libinstall -a -so -C libavcodec libavcodec ${STAGING_LIBDIR}
- oe_libinstall -a -so -C libavformat libavformat ${STAGING_LIBDIR}
+PACKAGES += "libavcodec libavcodec-dev \
+ libavformat libavformat-dev"
- install -d ${STAGING_INCDIR}/ffmpeg
- install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/ffmpeg/avcodec.h
- install -m 0644 ${S}/libavcodec/common.h ${STAGING_INCDIR}/ffmpeg/common.h
- install -m 0644 ${S}/libavcodec/rational.h ${STAGING_INCDIR}/ffmpeg/rational.h
- install -m 0644 ${S}/libavformat/avformat.h ${STAGING_INCDIR}/ffmpeg/avformat.h
- install -m 0644 ${S}/libavformat/avio.h ${STAGING_INCDIR}/ffmpeg/avio.h
- install -m 0644 ${S}/libavformat/rtp.h ${STAGING_INCDIR}/ffmpeg/rtp.h
- install -m 0644 ${S}/libavformat/rtsp.h ${STAGING_INCDIR}/ffmpeg/rtsp.h
- install -m 0644 ${S}/libavformat/rtspcodes.h ${STAGING_INCDIR}/ffmpeg/rtspcodes.h
-}
+FILES_libavcodec = "${libdir}/libavcodec*.so.*"
+FILES_libavcodec-dev = "${libdir}/libavcodec*.so"
+FILES_libavformat = "${libdir}/libavformat*.so.*"
+FILES_libavformat-dev = "${libdir}/libavformat*.so"
diff --git a/packages/ffmpeg/ffmpeg_svn.bb b/packages/ffmpeg/ffmpeg_svn.bb
index 5276a8fef6..cbf9cf3980 100644
--- a/packages/ffmpeg/ffmpeg_svn.bb
+++ b/packages/ffmpeg/ffmpeg_svn.bb
@@ -1,10 +1,9 @@
-DESCRIPTION = "ffmpeg"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "libogg zlib libvorbis faac liba52 lame"
+require ffmpeg.inc
+
+DEPENDS += "libgsm"
+
PV = "0.4.9+svnr${SRCREV}"
-PR = "r1"
+PR = "r0"
DEFAULT_PREFERENCE = "-1"
@@ -12,130 +11,95 @@ SRC_URI = "svn://svn.mplayerhq.hu/ffmpeg/;module=trunk"
S = "${WORKDIR}/trunk"
-inherit autotools pkgconfig
-
-TARGET_LDFLAGS_append = " -lm -la52 "
-
-EXTRA_OECONF = " \
- --enable-libmp3lame \
- --enable-libvorbis \
- --disable-libfaad \
- --enable-liba52 \
- --enable-liba52bin \
- --enable-libogg \
- --enable-pp \
- --enable-shared \
- --enable-pthreads \
- --enable-gpl \
+EXTRA_OECONF += " \
+ --prefix=/usr \
\
- --disable-audio-beos \
- --disable-v4l \
- --disable-dv1394 \
- --disable-debug \
- --disable-ffserver \
- --disable-ffplay \
- --disable-strip \
+ --enable-nonfree \
+ --enable-swscaler \
+ --enable-x11grab \
\
- --cross-prefix=${TARGET_PREFIX} \
+ --enable-liba52 \
+ --enable-liba52bin \
+ --enable-libfaac \
+ --enable-libfaad \
+ --enable-libfaadbin \
+ --enable-libgsm \
+ --enable-libmp3lame \
+ --enable-libvorbis \
\
- --cpu=${PACKAGE_ARCH} \
- --arch=${PACKAGE_ARCH} \
+ --arch=${TARGET_ARCH} \
+ --cross-compile \
+ --cc="gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-cflags="${TARGET_CFLAGS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --enable-hardcoded-tables \
"
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
-# We do this because the install program is called with -s
-# which causes it to call "strip" and it then mangles cross compiled stuff..
-PATH_prepend="${CROSS_DIR}/${TARGET_SYS}/bin:"
+do_stage() {
+ for lib in libavcodec libavdevice libavformat \
+ libavutil libpostproc libswscale
+ do
+ oe_libinstall -a -so -C $lib $lib ${STAGING_LIBDIR}
+ done
-do_configure_prepend() {
- export CC="${CC}"
-}
+ install -d ${STAGING_INCDIR}/ffmpeg
-oe_runconf () {
- # make ffmpeg detect arm targets that don't end in 'l'
- sed -i -e s:'armv\[4567\]\*l':'armv\[4567\]\*':g ${S}/configure
- if [ -x ${S}/configure ] ; then
- cfgcmd="${S}/configure \
- --prefix=${prefix} \
- --mandir=${mandir} \
- ${EXTRA_OECONF} \
- $@"
- oenote "Running $cfgcmd..."
- $cfgcmd || oefatal "oe_runconf failed"
- else
- oefatal "no configure script found"
- fi
+ install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/ffmpeg/avcodec.h
+ install -m 0644 ${S}/libavcodec/opt.h ${STAGING_INCDIR}/ffmpeg/opt.h
-}
+ install -m 0644 ${S}/libavdevice/avdevice.h ${STAGING_INCDIR}/ffmpeg/avdevice.h
+
+ for h in avformat.h avio.h rtp.h rtsp.h rtspcodes.h
+ do
+ install -m 0644 ${S}/libavformat/$h ${STAGING_INCDIR}/ffmpeg/$h
+ done
-do_stage() {
- oe_libinstall -a -so -C libavcodec libavcodec ${STAGING_LIBDIR}
- oe_libinstall -a -so -C libavformat libavformat ${STAGING_LIBDIR}
- oe_libinstall -a -so -C libavutil libavutil ${STAGING_LIBDIR}
- oe_libinstall -a -so -C libpostproc libpostproc ${STAGING_LIBDIR}
+ for h in adler32.h avstring.h avutil.h base64.h bswap.h \
+ common.h crc.h fifo.h integer.h intfloat_readwrite.h \
+ log.h lzo.h mathematics.h md5.h mem.h random.h \
+ rational.h sha1.h
+ do
+ install -m 0644 ${S}/libavutil/$h ${STAGING_INCDIR}/ffmpeg/$h
+ done
- install -d ${STAGING_INCDIR}/ffmpeg
- install -m 0644 ${S}/libavcodec/avcodec.h \
- ${STAGING_INCDIR}/ffmpeg/avcodec.h
-
- install -m 0644 ${S}/libavformat/avformat.h \
- ${STAGING_INCDIR}/ffmpeg/avformat.h
- install -m 0644 ${S}/libavformat/avio.h \
- ${STAGING_INCDIR}/ffmpeg/avio.h
- install -m 0644 ${S}/libavformat/rtp.h \
- ${STAGING_INCDIR}/ffmpeg/rtp.h
- install -m 0644 ${S}/libavformat/rtsp.h \
- ${STAGING_INCDIR}/ffmpeg/rtsp.h
- install -m 0644 ${S}/libavformat/rtspcodes.h \
- ${STAGING_INCDIR}/ffmpeg/rtspcodes.h
-
- install -m 0644 ${S}/libavutil/avutil.h \
- ${STAGING_INCDIR}/ffmpeg/avutil.h
- install -m 0644 ${S}/libavutil/bswap.h \
- ${STAGING_INCDIR}/ffmpeg/bswap.h
- install -m 0644 ${S}/libavutil/common.h \
- ${STAGING_INCDIR}/ffmpeg/common.h
- install -m 0644 ${S}/libavutil/crc.h \
- ${STAGING_INCDIR}/ffmpeg/crc.h
- install -m 0644 ${S}/libavutil/integer.h \
- ${STAGING_INCDIR}/ffmpeg/integer.h
- install -m 0644 ${S}/libavutil/intfloat_readwrite.h \
- ${STAGING_INCDIR}/ffmpeg/intfloat_readwrite.h
- install -m 0644 ${S}/libavutil/mathematics.h \
- ${STAGING_INCDIR}/ffmpeg/mathematics.h
- install -m 0644 ${S}/libavutil/rational.h \
- ${STAGING_INCDIR}/ffmpeg/rational.h
- install -m 0644 ${S}/libavutil/mem.h \
- ${STAGING_INCDIR}/ffmpeg/mem.h
- install -m 0644 ${S}/libavutil/log.h \
- ${STAGING_INCDIR}/ffmpeg/log.h
+ install -m 0644 ${S}/libswscale/swscale.h ${STAGING_INCDIR}/ffmpeg/swscale.h
+ install -m 0644 ${S}/libswscale/rgb2rgb.h ${STAGING_INCDIR}/ffmpeg/rgb2rgb.h
install -d ${STAGING_INCDIR}/libpostproc
- install -m 0644 ${S}/libpostproc/postprocess.h \
- ${STAGING_INCDIR}/libpostproc/postprocess.h
+ install -m 0644 ${S}/libpostproc/postprocess.h ${STAGING_INCDIR}/libpostproc/postprocess.h
}
-PACKAGES += "libavcodec libavcodec-dev \
- libavformat libavformat-dev \
- libavutil libavutil-dev \
- libpostproc libpostproc-dev"
-
-FILES_${PN} = "${bindir}"
-FILES_${PN}-dev = "${includedir}"
-FILES_${PN}-doc = "${mandir}"
+PACKAGES += "libavcodec libavcodec-dev libavcodec-dbg \
+ libavdevice libavdevice-dev libavdevice-dbg \
+ libavformat libavformat-dev libavformat-dbg \
+ libavutil libavutil-dev libavutil-dbg \
+ libpostproc libpostproc-dev libpostproc-dbg \
+ libswscale libswscale-dev libswscale-dbg"
FILES_libavcodec = "${libdir}/libavcodec*.so.*"
-FILES_libavcodec-dev = "${libdir}/libavcodec*.so \
- ${libdir}/libavcodec*.la ${libdir}/libavcodec*.a"
+FILES_libavcodec-dev = "${libdir}/libavcodec*.so ${libdir}/pkgconfig/libavcodec.pc ${libdir}/libavcodec*.a"
+FILES_libavcodec-dbg += "${libdir}/.debug/libavcodec*"
+
+FILES_libavdevice = "${libdir}/libavdevice*.so.*"
+FILES_libavdevice-dev = "${libdir}/libavdevice*.so ${libdir}/pkgconfig/libavdevice.pc ${libdir}/libavdevice*.a"
+FILES_libavdevice-dbg += "${libdir}/.debug/libavdevice*"
FILES_libavformat = "${libdir}/libavformat*.so.*"
-FILES_libavformat-dev = "${libdir}/libavformat*.so \
- ${libdir}/libavformat*.la ${libdir}/libavformat*.a"
+FILES_libavformat-dev = "${libdir}/libavformat*.so ${libdir}/pkgconfig/libavformat.pc ${libdir}/libavformat*.a"
+FILES_libavformat-dbg += "${libdir}/.debug/libavformat*"
FILES_libavutil = "${libdir}/libavutil*.so.*"
-FILES_libavutil-dev = "${libdir}/libavutil*.so \
- ${libdir}/libavutil*.la ${libdir}/libavutil*.a"
+FILES_libavutil-dev = "${libdir}/libavutil*.so ${libdir}/pkgconfig/libavutil.pc ${libdir}/libavutil*.a"
+FILES_libavutil-dbg += "${libdir}/.debug/libavutil*"
FILES_libpostproc = "${libdir}/libpostproc*.so.*"
-FILES_libpostproc-dev = "${libdir}/libpostproc*.so \
- ${libdir}/libpostproc*.la ${libdir}/libpostproc*.a"
+FILES_libpostproc-dev = "${libdir}/libpostproc*.so ${libdir}/pkgconfig/libpostproc.pc ${libdir}/libpostproc*.a ${includedir}/postproc"
+FILES_libpostproc-dbg += "${libdir}/.debug/libpostproc*"
+
+FILES_libswscale = "${libdir}/libswscale*.so.*"
+FILES_libswscale-dev = "${libdir}/libswscale*.so ${libdir}/pkgconfig/libswscale.pc ${libdir}/libswscale*.a"
+FILES_libswscale-dbg += "${libdir}/.debug/libswscale*"
diff --git a/packages/findutils/findutils_4.2.29.bb b/packages/findutils/findutils_4.2.29.bb
index 2f40d03bd4..fcb074c185 100644
--- a/packages/findutils/findutils_4.2.29.bb
+++ b/packages/findutils/findutils_4.2.29.bb
@@ -1,5 +1,7 @@
require findutils.inc
+EXTRA_OECONF += " ac_cv_path_SORT=/usr/bin/sort "
+
do_install_append () {
mv ${D}${bindir}/find ${D}${bindir}/find.${PN}
mv ${D}${bindir}/xargs ${D}${bindir}/xargs.${PN}
diff --git a/packages/fixesext/fixesext_2.0.1.bb b/packages/fixesext/fixesext_2.0.1.bb
deleted file mode 100644
index feb53d60eb..0000000000
--- a/packages/fixesext/fixesext_2.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "libs"
-LICENSE= "BSD-X"
-DEPENDS = "xextensions"
-DESCRIPTION = "X Fixes extension headers and specification."
-
-SRC_URI = "${XLIBS_MIRROR}/fixesext-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/fixesext/fixesext_cvs.bb b/packages/fixesext/fixesext_cvs.bb
deleted file mode 100644
index 4ddbc96c64..0000000000
--- a/packages/fixesext/fixesext_cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "libs"
-DEPENDS = "xextensions"
-DESCRIPTION = "X Fixes extension headers and specification."
-DEFAULT_PREFERENCE = "1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=FixesExt"
-S = "${WORKDIR}/FixesExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/fltk/efltk_2.0.7.bb b/packages/fltk/efltk_2.0.7.bb
new file mode 100644
index 0000000000..b048e078b3
--- /dev/null
+++ b/packages/fltk/efltk_2.0.7.bb
@@ -0,0 +1,63 @@
+DESCRIPTION = "EFLTK is a cross-platform C++ GUI toolkit"
+HOMEPAGE = "http://equinox-project.org/page/documentation"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+DEPENDS = "zlib jpeg libpng libxext libxft"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ede/efltk-${PV}.tar.gz"
+S = "${WORKDIR}/efltk"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = "\
+ --enable-shared \
+ --enable-xdbe \
+ --enable-xft \
+ --enable-gl \
+ --disable-mysql \
+ --disable-unixODBC \
+ --x-includes=${STAGING_INCDIR}/freetype2 \
+ --x-libraries=${STAGING_LIBDIR} \
+"
+
+# yes, this is nasty, but configure is so broken there is no other way
+do_configure() {
+ gnu-configize
+ oe_runconf
+ mv -f config.h save
+ autotools_do_configure
+ mv -f save config.h
+}
+
+# more nasties
+do_configure_append() {
+ sed -i s,/usr/include,${STAGING_INCDIR}, makeinclude
+ sed -i s,/usr/include/freetype2,, makeinclude
+ sed -i s,/usr/bin/strip,echo, makeinclude
+ sed -i s,CONFIGDIR,'"${datadir}/ede/"', src/core/Fl_Config.cpp
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+do_install () {
+ install -d ${D}${libdir}
+ oe_runmake install prefix="${D}${prefix}" \
+ bindir="${D}${bindir}" \
+ libdir="${D}${libdir}" \
+ includedir="${D}${includedir}" \
+ datadir="${STAGING_DATADIR}"
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libefltk${PV}', d)
+}
+
+LEAD_SONAME = "libefltk.so"
+
+FILES_${PN} += "${libdir}/fltk/*.theme"
+FILES_${PN}-dbg += "${libdir}/fltk/.debug"
diff --git a/packages/fltk/fltk_1.1.4.bb b/packages/fltk/fltk_1.1.4.bb
index 66c4b214ec..ae7c0e1c95 100644
--- a/packages/fltk/fltk_1.1.4.bb
+++ b/packages/fltk/fltk_1.1.4.bb
@@ -21,11 +21,7 @@ do_configure() {
}
do_install () {
- oe_runmake prefix="${D}${prefix}" \
- bindir="${D}${bindir}" \
- libdir="${D}${libdir}" \
- includedir="${D}${includedir}" \
- install
+ autotools_stage_all
}
do_stage() {
diff --git a/packages/fltk/fltk_1.1.7.bb b/packages/fltk/fltk_1.1.7.bb
index 3e095b45a3..866db129e8 100644
--- a/packages/fltk/fltk_1.1.7.bb
+++ b/packages/fltk/fltk_1.1.7.bb
@@ -19,11 +19,7 @@ do_configure() {
}
do_stage() {
- oe_runmake install prefix="${STAGING_DIR}" \
- bindir="${STAGING_BINDIR}" \
- includedir="${STAGING_INCDIR}" \
- libdir="${STAGING_LIBDIR}" \
- datadir="${STAGING_DATADIR}"
+ autotools_stage_all
}
do_install () {
diff --git a/packages/free42/free42-vga_1.4.36.bb b/packages/free42/free42-vga_1.4.41.bb
index 3f64f99c6a..ff5e07feae 100644
--- a/packages/free42/free42-vga_1.4.36.bb
+++ b/packages/free42/free42-vga_1.4.41.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "Free42 RPN Calculator"
+HOMEPAGE = "http://free42.sf.net"
SECTION = "openmoko/applications"
DEPENDS = "gtk+"
-PV = "1.4.36"
PR = "r1"
-SRC_URI = "http://home.planet.nl/~demun000/thomas_projects/free42/free42.tgz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/free42/free42.tgz \
http://sense.net/zc/free42/42c_skins.tgz \
file://free42-bcd-gtk-only.patch;patch=1 \
file://free42-vga-skin.patch;patch=1 \
diff --git a/packages/freesmartphone/enter_0.0.2.bb b/packages/freesmartphone/enter_0.0.2.bb
new file mode 100644
index 0000000000..7f1dd09a25
--- /dev/null
+++ b/packages/freesmartphone/enter_0.0.2.bb
@@ -0,0 +1,10 @@
+DESCRIPTION="A easy-to-use virtual keyboard for small touchscreen displays"
+SECTION = "openmoko/inputmethods"
+DEPENDS = "ecore evas edje"
+PR = "r0"
+
+inherit autotools
+
+SRC_URI = "http://gstaedtner.net/projects/enter/enter.tar.gz"
+
+FILES_${PN} += "${datadir}"
diff --git a/packages/freesmartphone/gsm0710muxd_svn.bb b/packages/freesmartphone/gsm0710muxd_svn.bb
index 4a4dc3b7d4..6c3d29aed4 100644
--- a/packages/freesmartphone/gsm0710muxd_svn.bb
+++ b/packages/freesmartphone/gsm0710muxd_svn.bb
@@ -3,15 +3,22 @@ HOMEPAGE = "http://www.freesmartphone.org"
AUTHOR = "M. Dietrich"
SECTION = "console/network"
DEPENDS = "intltool-native dbus"
+RCONFLICTS = "gsmd"
+RREPLACES = "gsmd"
LICENSE = "GPL"
PV = "0.0+svnr${SRCREV}"
-PR = "r0"
+PR = "r3"
SRC_URI = "svn://projects.linuxtogo.org/svn/smartphones/trunk/software;module=gsm0710muxd"
S = "${WORKDIR}/gsm0710muxd"
inherit autotools
+do_install_append() {
+ # temp hack
+ mv -f ${D}${datadir}/dbus-1/system-services/org.freesmartphone.GSM.MUX.service ${D}${datadir}/dbus-1/system-services/org.mobile.mux.service
+}
+
pkg_postinst_${PN}() {
# can't do this offline
if [ "x$D" != "x" ]; then
diff --git a/packages/freesmartphone/pyneod_svn.bb b/packages/freesmartphone/pyneod_svn.bb
new file mode 100644
index 0000000000..1ca728afe1
--- /dev/null
+++ b/packages/freesmartphone/pyneod_svn.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "FIC Neo Smartphone daemons implementing the freesmartphone.org dbus APIs"
+AUTHOR = "M. Dietrich"
+SECTION = "console/network"
+DEPENDS = "python"
+LICENSE = "GPL"
+PV = "0.0+svnr${SRCREV}"
+PR = "r3"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "pyneod"
+INITSCRIPT_PARAMS = "defaults 40"
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/smartphones/trunk/software;module=pyneod"
+S = "${WORKDIR}/pyneod"
+
+export D := "${D}"
+export PREFIX = "${prefix}"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ python setup.py
+}
+
+RCONFLICTS = "gsmd"
+RREPLACES = "gsmd"
+RDEPENDS = "\
+ python-codecs \
+ python-compression \
+ python-crypt \
+ python-curses \
+ python-datetime \
+ python-dbus \
+ python-fcntl \
+ python-gdbm \
+ python-gst \
+ python-html \
+ python-io \
+ python-lang \
+ python-logging \
+ python-math \
+ python-mime \
+ python-netclient \
+ python-netserver \
+ python-pickle \
+ python-pprint \
+ python-pycrypto \
+ python-pygobject \
+ python-pyserial \
+ python-re \
+ python-readline \
+ python-shell \
+ python-simplejson \
+ python-sqlite3 \
+ python-stringold \
+ python-syslog \
+ python-threading \
+ python-xml \
+ python-zlib \
+"
+
+FILES_${PN} = "${datadir} ${sysconfdir} ${bindir}"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/freesmartphone/pyneog_svn.bb b/packages/freesmartphone/pyneog_svn.bb
new file mode 100644
index 0000000000..389c7369e5
--- /dev/null
+++ b/packages/freesmartphone/pyneog_svn.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "FIC Neo Smartphone UI Environment"
+AUTHOR = "M. Dietrich"
+SECTION = "python/ui"
+LICENSE = "GPL"
+PV = "0.0+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://projects.linuxtogo.org/svn/smartphones/trunk/software;module=pyneog"
+S = "${WORKDIR}/pyneog"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ find . -name ".svn"|xargs rm -rf
+ install -d ${D}${datadir}/pyneog
+ for i in media *.py; do
+ cp -a $i ${D}${datadir}/pyneog/
+ done
+
+ install -d ${D}${sysconfdir}/X11/Xsession.d/
+ install -m 0755 80pyneog ${D}${sysconfdir}/X11/Xsession.d/
+}
+
+FILES_${PN} = "${datadir} ${bindir} ${sysconfdir}"
+
+RCONFLICTS = "openmoko-session2"
+RREPlACES = "openmoko-session2"
+RDEPENDS = "task-python-efl"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/freesmartphone/python-fso-pyproto_svn.bb b/packages/freesmartphone/python-fso-pyproto_svn.bb
deleted file mode 100644
index 9d4503d351..0000000000
--- a/packages/freesmartphone/python-fso-pyproto_svn.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "FreeSmartPhone.org Python Prototypes"
-AUTHOR = "M. Dietrich"
-SECTION = "console/network"
-RDEPENDS = "python-serial python-lang"
-LICENSE = "GPL"
-PV = "0.0+svnr${SRCREV}"
-PR = "r0"
-
-SRC_URI = "svn://projects.linuxtogo.org/svn/smartphones/trunk/software;module=py-proto"
-S = "${WORKDIR}/py-proto"
-
-inherit distutils
-
diff --git a/packages/freesmartphone/task-pyneo.bb b/packages/freesmartphone/task-pyneo.bb
new file mode 100644
index 0000000000..751fd4c889
--- /dev/null
+++ b/packages/freesmartphone/task-pyneo.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Task for a FIC Neo SmartPhone environment"
+LICENSE = "MIT"
+SECTION = "devel/python"
+PR = "r2"
+
+ALLOW_EMPTY = "1"
+
+RDEPENDS = "\
+ matchbox-wm \
+ ${XSERVER} \
+ xserver-kdrive-common \
+ xserver-nodm-init \
+ xauth \
+ xhost \
+ xset \
+ xrandr \
+ \
+ gsm0710muxd \
+ pyneod \
+ pyneog \
+"
+
diff --git a/packages/frodo/frodo-4.2/m4.patch b/packages/frodo/frodo-4.2/m4.patch
deleted file mode 100644
index e7918156e2..0000000000
--- a/packages/frodo/frodo-4.2/m4.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- /dev/null 1970-01-01 01:00:00.000000000 +0100
-+++ Src/m4/sdl.m4 2004-01-21 00:43:55.000000000 +0100
-@@ -0,0 +1,175 @@
-+# Configure paths for SDL
-+# Sam Lantinga 9/21/99
-+# stolen from Manish Singh
-+# stolen back from Frank Belew
-+# stolen from Manish Singh
-+# Shamelessly stolen from Owen Taylor
-+
-+dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-+dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
-+dnl
-+AC_DEFUN(AM_PATH_SDL,
-+[dnl
-+dnl Get the cflags and libraries from the sdl-config script
-+dnl
-+AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
-+ sdl_prefix="$withval", sdl_prefix="")
-+AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
-+ sdl_exec_prefix="$withval", sdl_exec_prefix="")
-+AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
-+ , enable_sdltest=yes)
-+
-+ if test x$sdl_exec_prefix != x ; then
-+ sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
-+ if test x${SDL_CONFIG+set} != xset ; then
-+ SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
-+ fi
-+ fi
-+ if test x$sdl_prefix != x ; then
-+ sdl_args="$sdl_args --prefix=$sdl_prefix"
-+ if test x${SDL_CONFIG+set} != xset ; then
-+ SDL_CONFIG=$sdl_prefix/bin/sdl-config
-+ fi
-+ fi
-+
-+ AC_REQUIRE([AC_CANONICAL_TARGET])
-+ PATH="$prefix/bin:$prefix/usr/bin:$PATH"
-+ AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
-+ min_sdl_version=ifelse([$1], ,0.11.0,$1)
-+ AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
-+ no_sdl=""
-+ if test "$SDL_CONFIG" = "no" ; then
-+ no_sdl=yes
-+ else
-+ SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
-+ SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
-+
-+ sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
-+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-+ sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
-+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-+ sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
-+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-+ if test "x$enable_sdltest" = "xyes" ; then
-+ ac_save_CFLAGS="$CFLAGS"
-+ ac_save_LIBS="$LIBS"
-+ CFLAGS="$CFLAGS $SDL_CFLAGS"
-+ LIBS="$LIBS $SDL_LIBS"
-+dnl
-+dnl Now check if the installed SDL is sufficiently new. (Also sanity
-+dnl checks the results of sdl-config to some extent
-+dnl
-+ rm -f conf.sdltest
-+ AC_TRY_RUN([
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include "SDL.h"
-+
-+char*
-+my_strdup (char *str)
-+{
-+ char *new_str;
-+
-+ if (str)
-+ {
-+ new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
-+ strcpy (new_str, str);
-+ }
-+ else
-+ new_str = NULL;
-+
-+ return new_str;
-+}
-+
-+int main (int argc, char *argv[])
-+{
-+ int major, minor, micro;
-+ char *tmp_version;
-+
-+ /* This hangs on some systems (?)
-+ system ("touch conf.sdltest");
-+ */
-+ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
-+
-+ /* HP/UX 9 (%@#!) writes to sscanf strings */
-+ tmp_version = my_strdup("$min_sdl_version");
-+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-+ printf("%s, bad version string\n", "$min_sdl_version");
-+ exit(1);
-+ }
-+
-+ if (($sdl_major_version > major) ||
-+ (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
-+ (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
-+ {
-+ return 0;
-+ }
-+ else
-+ {
-+ printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
-+ printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
-+ printf("*** best to upgrade to the required version.\n");
-+ printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
-+ printf("*** to point to the correct copy of sdl-config, and remove the file\n");
-+ printf("*** config.cache before re-running configure\n");
-+ return 1;
-+ }
-+}
-+
-+],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-+ CFLAGS="$ac_save_CFLAGS"
-+ LIBS="$ac_save_LIBS"
-+ fi
-+ fi
-+ if test "x$no_sdl" = x ; then
-+ AC_MSG_RESULT(yes)
-+ ifelse([$2], , :, [$2])
-+ else
-+ AC_MSG_RESULT(no)
-+ if test "$SDL_CONFIG" = "no" ; then
-+ echo "*** The sdl-config script installed by SDL could not be found"
-+ echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
-+ echo "*** your path, or set the SDL_CONFIG environment variable to the"
-+ echo "*** full path to sdl-config."
-+ else
-+ if test -f conf.sdltest ; then
-+ :
-+ else
-+ echo "*** Could not run SDL test program, checking why..."
-+ CFLAGS="$CFLAGS $SDL_CFLAGS"
-+ LIBS="$LIBS $SDL_LIBS"
-+ AC_TRY_LINK([
-+#include <stdio.h>
-+#include "SDL.h"
-+
-+int main(int argc, char *argv[])
-+{ return 0; }
-+#undef main
-+#define main K_and_R_C_main
-+], [ return 0; ],
-+ [ echo "*** The test program compiled, but did not run. This usually means"
-+ echo "*** that the run-time linker is not finding SDL or finding the wrong"
-+ echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
-+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
-+ echo "*** is required on your system"
-+ echo "***"
-+ echo "*** If you have an old version installed, it is best to remove it, although"
-+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
-+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
-+ echo "*** exact error that occured. This usually means SDL was incorrectly installed"
-+ echo "*** or that you have moved SDL since it was installed. In the latter case, you"
-+ echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
-+ CFLAGS="$ac_save_CFLAGS"
-+ LIBS="$ac_save_LIBS"
-+ fi
-+ fi
-+ SDL_CFLAGS=""
-+ SDL_LIBS=""
-+ ifelse([$3], , :, [$3])
-+ fi
-+ AC_SUBST(SDL_CFLAGS)
-+ AC_SUBST(SDL_LIBS)
-+ rm -f conf.sdltest
-+])
diff --git a/packages/frodo/frodo_4.2.bb b/packages/frodo/frodo_4.2.bb
index 6535b5e2bb..8f8812a6d4 100644
--- a/packages/frodo/frodo_4.2.bb
+++ b/packages/frodo/frodo_4.2.bb
@@ -4,10 +4,9 @@ PRIORITY = "optional"
DEPENDS = "libsdl-qpe"
LICENSE = "GPL"
SRCDATE = "20040801"
-PR = "r1"
+PR = "r2"
SRC_URI = "cvs://anoncvs:anoncvs@cvs.cebix.net/home/cvs/cebix;module=Frodo4 \
- file://m4.patch;patch=1 \
file://configure.patch;patch=1 \
file://frodorc \
file://Frodo.png \
@@ -17,7 +16,7 @@ S = "${WORKDIR}/Frodo4/Src"
inherit autotools
-EXTRA_OECONF = "--disable-sdltest --enable-qtopia --with-sdl-exec-prefix=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
+EXTRA_OECONF = "--disable-sdltest --enable-qtopia"
do_install() {
install -d ${D}${palmtopdir}/bin \
diff --git a/packages/fs/fs_cvs.bb b/packages/fs/fs_cvs.bb
index 8e2724ce4b..b1d6ed4bea 100644
--- a/packages/fs/fs_cvs.bb
+++ b/packages/fs/fs_cvs.bb
@@ -10,9 +10,5 @@ S = "${WORKDIR}/FS"
inherit autotools pkgconfig
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
+ autotools_stage_all
}
diff --git a/packages/gammu/gammu_1.17.0.bb b/packages/gammu/gammu_1.17.0.bb
index fc7adb1b79..65ab877495 100644
--- a/packages/gammu/gammu_1.17.0.bb
+++ b/packages/gammu/gammu_1.17.0.bb
@@ -3,6 +3,7 @@ SECTION = "console/network"
DEPENDS = "bluez-libs cmake-native"
LICENSE = "GPL"
HOMEPAGE = "http://www.gammu.org/"
+PR = "r1"
SRC_URI = "http://dl.cihar.com/gammu/releases/gammu-${PV}.tar.bz2 "
@@ -25,6 +26,7 @@ do_stage() {
install -m 0644 build-configure/include/*.h ${STAGING_INCDIR}/gammu/
oe_libinstall -so -C build-configure/common libGammu ${STAGING_LIBDIR}
+ rm -f ./build-configure/pkgconfig/gammu.pc
}
PACKAGES =+ "libgammu"
diff --git a/packages/gcc/gcc-4.1.1/zecke-xgcc-cpp.patch b/packages/gcc/gcc-4.1.1/zecke-xgcc-cpp.patch
index 42ec190600..921cab6e18 100644
--- a/packages/gcc/gcc-4.1.1/zecke-xgcc-cpp.patch
+++ b/packages/gcc/gcc-4.1.1/zecke-xgcc-cpp.patch
@@ -1,3 +1,7 @@
+upstream: n/a
+comment: Use the preprocessor we have just compiled instead the one of
+the system. There might be incompabilities between us and them.
+
Index: gcc-4.1.1/Makefile.in
===================================================================
--- gcc-4.1.1.orig/Makefile.in 2006-08-06 13:32:44.000000000 +0200
diff --git a/packages/gcc/gcc-4.1.2/zecke-xgcc-cpp.patch b/packages/gcc/gcc-4.1.2/zecke-xgcc-cpp.patch
index 42ec190600..921cab6e18 100644
--- a/packages/gcc/gcc-4.1.2/zecke-xgcc-cpp.patch
+++ b/packages/gcc/gcc-4.1.2/zecke-xgcc-cpp.patch
@@ -1,3 +1,7 @@
+upstream: n/a
+comment: Use the preprocessor we have just compiled instead the one of
+the system. There might be incompabilities between us and them.
+
Index: gcc-4.1.1/Makefile.in
===================================================================
--- gcc-4.1.1.orig/Makefile.in 2006-08-06 13:32:44.000000000 +0200
diff --git a/packages/gcc/gcc-4.2.1/zecke-no-host-includes.patch b/packages/gcc/gcc-4.2.1/zecke-no-host-includes.patch
index 6afb10d6ef..0b401defd8 100644
--- a/packages/gcc/gcc-4.2.1/zecke-no-host-includes.patch
+++ b/packages/gcc/gcc-4.2.1/zecke-no-host-includes.patch
@@ -1,3 +1,16 @@
+upstream: n/a
+status: evil hack
+comment: Including host system headers when cross compiling can lead to weird
+issues, in the best case compile issues, in the worst case crashes. E.g. if you
+are building a uclibc system, you certainly do not want glibc headers or OSX libc
+headers to be picked up. To avoid that this patch is penetalizing certain common
+Linux/Unix host directories.
+
+To send the patch upstream the evil paths should be specified by
+a setting or command-line options. Until now this is a evil hack assuming
+certain host system paths. E.g. /usr/local/ and other common paths should be
+added.
+
Index: gcc-4.0.2/gcc/c-incpath.c
===================================================================
--- gcc-4.0.2.orig/gcc/c-incpath.c 2005-01-23 16:05:27.000000000 +0100
diff --git a/packages/gcc/gcc-4.2.1/zecke-xgcc-cpp.patch b/packages/gcc/gcc-4.2.1/zecke-xgcc-cpp.patch
index 42ec190600..921cab6e18 100644
--- a/packages/gcc/gcc-4.2.1/zecke-xgcc-cpp.patch
+++ b/packages/gcc/gcc-4.2.1/zecke-xgcc-cpp.patch
@@ -1,3 +1,7 @@
+upstream: n/a
+comment: Use the preprocessor we have just compiled instead the one of
+the system. There might be incompabilities between us and them.
+
Index: gcc-4.1.1/Makefile.in
===================================================================
--- gcc-4.1.1.orig/Makefile.in 2006-08-06 13:32:44.000000000 +0200
diff --git a/packages/gcc/gcc-4.2.2/intermask-bigendian.patch b/packages/gcc/gcc-4.2.2/intermask-bigendian.patch
new file mode 100644
index 0000000000..fdff3d3d86
--- /dev/null
+++ b/packages/gcc/gcc-4.2.2/intermask-bigendian.patch
@@ -0,0 +1,24 @@
+--- gcc-4.2.0/gcc/config/arm/bpabi.h
++++ gcc-4.2.0/gcc/config/arm/bpabi.h
+@@ -33,9 +33,19 @@
+ #undef FPUTYPE_DEFAULT
+ #define FPUTYPE_DEFAULT FPUTYPE_VFP
+
++/*
++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
++ * (big endian) configurations.
++ */
++#if TARGET_BIG_ENDIAN_DEFAULT
++#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
++#else
++#define TARGET_ENDIAN_DEFAULT 0
++#endif
++
+ /* EABI targets should enable interworking by default. */
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT MASK_INTERWORK
++#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT)
+
+ /* The ARM BPABI functions return a boolean; they use no special
+ calling convention. */
+
diff --git a/packages/gcc/gcc-4.2.2/zecke-xgcc-cpp.patch b/packages/gcc/gcc-4.2.2/zecke-xgcc-cpp.patch
index 42ec190600..921cab6e18 100644
--- a/packages/gcc/gcc-4.2.2/zecke-xgcc-cpp.patch
+++ b/packages/gcc/gcc-4.2.2/zecke-xgcc-cpp.patch
@@ -1,3 +1,7 @@
+upstream: n/a
+comment: Use the preprocessor we have just compiled instead the one of
+the system. There might be incompabilities between us and them.
+
Index: gcc-4.1.1/Makefile.in
===================================================================
--- gcc-4.1.1.orig/Makefile.in 2006-08-06 13:32:44.000000000 +0200
diff --git a/packages/gcc/gcc-cross-initial.inc b/packages/gcc/gcc-cross-initial.inc
index 7c56afecef..2165bf22ce 100644
--- a/packages/gcc/gcc-cross-initial.inc
+++ b/packages/gcc/gcc-cross-initial.inc
@@ -4,7 +4,7 @@ PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
PACKAGES = ""
# This is intended to be a -very- basic config
-EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR}/${TARGET_SYS} \
+EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
--with-newlib \
--disable-shared \
--disable-threads \
diff --git a/packages/gcc/gcc-cross-sdk_3.4.3.bb b/packages/gcc/gcc-cross-sdk_3.4.3.bb
index e6907deb1b..a8e9a67a96 100644
--- a/packages/gcc/gcc-cross-sdk_3.4.3.bb
+++ b/packages/gcc/gcc-cross-sdk_3.4.3.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
require gcc_${PV}.bb
-PR = "r0"
+PR = "r1"
inherit sdk
diff --git a/packages/gcc/gcc-cross-sdk_3.4.4.bb b/packages/gcc/gcc-cross-sdk_3.4.4.bb
index 038d39040b..4b2c583fcb 100644
--- a/packages/gcc/gcc-cross-sdk_3.4.4.bb
+++ b/packages/gcc/gcc-cross-sdk_3.4.4.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
require gcc_${PV}.bb
-PR = "r2"
+PR = "r3"
inherit sdk
diff --git a/packages/gcc/gcc-cross-sdk_4.1.0.bb b/packages/gcc/gcc-cross-sdk_4.1.0.bb
index 2308f2f9eb..cd9fe9ee92 100644
--- a/packages/gcc/gcc-cross-sdk_4.1.0.bb
+++ b/packages/gcc/gcc-cross-sdk_4.1.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
require gcc_${PV}.bb
-PR = "r1"
+PR = "r2"
inherit sdk
diff --git a/packages/gcc/gcc-cross-sdk_4.1.1.bb b/packages/gcc/gcc-cross-sdk_4.1.1.bb
index e2efde139f..1b5ad5e401 100644
--- a/packages/gcc/gcc-cross-sdk_4.1.1.bb
+++ b/packages/gcc/gcc-cross-sdk_4.1.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
inherit sdk
diff --git a/packages/gcc/gcc-cross-sdk_4.1.2.bb b/packages/gcc/gcc-cross-sdk_4.1.2.bb
index 450dc82b08..85ff74ec33 100644
--- a/packages/gcc/gcc-cross-sdk_4.1.2.bb
+++ b/packages/gcc/gcc-cross-sdk_4.1.2.bb
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
inherit sdk
diff --git a/packages/gcc/gcc-cross-sdk_4.2.2.bb b/packages/gcc/gcc-cross-sdk_4.2.2.bb
index 2fdaa7dc27..ba360698bd 100644
--- a/packages/gcc/gcc-cross-sdk_4.2.2.bb
+++ b/packages/gcc/gcc-cross-sdk_4.2.2.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
inherit sdk
diff --git a/packages/gcc/gcc-cross_3.4.3.bb b/packages/gcc/gcc-cross_3.4.3.bb
index cec0505eda..7ba02967f5 100644
--- a/packages/gcc/gcc-cross_3.4.3.bb
+++ b/packages/gcc/gcc-cross_3.4.3.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r12"
+PR = "r13"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_3.4.4.bb b/packages/gcc/gcc-cross_3.4.4.bb
index 83c0055017..3248e8d688 100644
--- a/packages/gcc/gcc-cross_3.4.4.bb
+++ b/packages/gcc/gcc-cross_3.4.4.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r7"
+PR = "r8"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.0.0.bb b/packages/gcc/gcc-cross_4.0.0.bb
index 63d0f70c74..716f54b63e 100644
--- a/packages/gcc/gcc-cross_4.0.0.bb
+++ b/packages/gcc/gcc-cross_4.0.0.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r3"
+PR = "r4"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.0.2.bb b/packages/gcc/gcc-cross_4.0.2.bb
index 44ceb4f4ca..5b1ff0bd97 100644
--- a/packages/gcc/gcc-cross_4.0.2.bb
+++ b/packages/gcc/gcc-cross_4.0.2.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r9"
+PR = "r10"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.1.0.bb b/packages/gcc/gcc-cross_4.1.0.bb
index 5719afb740..6dddb45bc0 100644
--- a/packages/gcc/gcc-cross_4.1.0.bb
+++ b/packages/gcc/gcc-cross_4.1.0.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r4"
+PR = "r5"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.1.1.bb b/packages/gcc/gcc-cross_4.1.1.bb
index 02912f2054..4d79d2dca4 100644
--- a/packages/gcc/gcc-cross_4.1.1.bb
+++ b/packages/gcc/gcc-cross_4.1.1.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r17"
+PR = "r18"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.1.2.bb b/packages/gcc/gcc-cross_4.1.2.bb
index 306cf9539c..c5b1d811bd 100644
--- a/packages/gcc/gcc-cross_4.1.2.bb
+++ b/packages/gcc/gcc-cross_4.1.2.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .bb changes something that affects its *build*
# remember to increment this one too.
-PR = "r13"
+PR = "r14"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.2.1.bb b/packages/gcc/gcc-cross_4.2.1.bb
index 27816e7146..3ee8fbacc2 100644
--- a/packages/gcc/gcc-cross_4.2.1.bb
+++ b/packages/gcc/gcc-cross_4.2.1.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r10"
+PR = "r11"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-cross_4.2.2.bb b/packages/gcc/gcc-cross_4.2.2.bb
index daf0e65003..def16597e0 100644
--- a/packages/gcc/gcc-cross_4.2.2.bb
+++ b/packages/gcc/gcc-cross_4.2.2.bb
@@ -5,7 +5,7 @@ inherit cross
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
# NOTE: split PR. If the main .oe changes something that affects its *build*
# remember to increment this one too.
-PR = "r3"
+PR = "r6"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
diff --git a/packages/gcc/gcc-package.inc b/packages/gcc/gcc-package.inc
index d1b4607de5..2976d58d05 100644
--- a/packages/gcc/gcc-package.inc
+++ b/packages/gcc/gcc-package.inc
@@ -1,41 +1,58 @@
gcclibdir ?= "${libdir}/gcc"
BINV ?= "${PV}"
-PACKAGES = "libgcc ${PN} ${PN}-symlinks \
- g++ g++-symlinks \
- cpp cpp-symlinks \
- g77 g77-symlinks \
- gfortran gfortran-symlinks \
- gcov gcov-symlinks \
- libmudflap libmudflap-dev \
- libstdc++ libg2c \
- libstdc++-dev libg2c-dev \
- ${PN}-doc"
-
-FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
- ${bindir}/${TARGET_PREFIX}gccbug \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
- ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
- ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
- ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
- ${gcclibdir}/${TARGET_SYS}/${BINV}/include"
-FILES_${PN}-symlinks = "${bindir}/cc \
- ${bindir}/gcc \
- ${bindir}/gccbug"
-
-FILES_g77 = "${bindir}/${TARGET_PREFIX}g77 \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771"
-FILES_g77-symlinks = "${bindir}/g77 \
- ${bindir}/f77"
-
-FILES_gfortran = "${bindir}/${TARGET_PREFIX}gfortran \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951"
-FILES_gfortran-symlinks = "${bindir}/gfortran \
- ${bindir}/f95"
-
-FILES_cpp = "${bindir}/${TARGET_PREFIX}cpp \
- ${base_libdir}/cpp"
+PACKAGES = "\
+ libgcc ${PN} ${PN}-symlinks \
+ g++ g++-symlinks \
+ cpp cpp-symlinks \
+ g77 g77-symlinks \
+ gfortran gfortran-symlinks \
+ gcov gcov-symlinks \
+ libmudflap libmudflap-dev \
+ libstdc++ libg2c \
+ libstdc++-dev libg2c-dev \
+ ${PN}-doc \
+"
+
+# We really need HOST_SYS here for some packages and TARGET_SYS for others.
+# For now, libgcc is most important so we fix for that - RP.
+SHLIBSDIR = "${STAGING_DIR}/${TARGET_SYS}/shlibs"
+
+FILES_${PN} = "\
+ ${bindir}/${TARGET_PREFIX}gcc \
+ ${bindir}/${TARGET_PREFIX}gccbug \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/include \
+"
+FILES_${PN}-symlinks = "\
+ ${bindir}/cc \
+ ${bindir}/gcc \
+ ${bindir}/gccbug \
+"
+
+FILES_g77 = "\
+ ${bindir}/${TARGET_PREFIX}g77 \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
+"
+FILES_g77-symlinks = "\
+ ${bindir}/g77 \
+ ${bindir}/f77 \
+"
+FILES_gfortran = "\
+ ${bindir}/${TARGET_PREFIX}gfortran \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \
+"
+FILES_gfortran-symlinks = "\
+ ${bindir}/gfortran \
+ ${bindir}/f95"
+
+FILES_cpp = "\
+ ${bindir}/${TARGET_PREFIX}cpp \
+ ${base_libdir}/cpp \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1"
FILES_cpp-symlinks = "${bindir}/cpp"
FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov"
@@ -46,37 +63,48 @@ FILES_libgcc-dev = "${base_libdir}/libgcc*.so"
# Called from within gcc-cross, so libdir is set wrong
FILES_libg2c = "${target_libdir}/libg2c.so.*"
-FILES_libg2c-dev = "${libdir}/libg2c.so \
- ${libdir}/libg2c.a \
- ${libdir}/libfrtbegin.a"
-
-FILES_g++ = "${bindir}/${TARGET_PREFIX}g++ \
- ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus"
-FILES_g++-symlinks = "${bindir}/c++ \
- ${bindir}/g++"
+FILES_libg2c-dev = "\
+ ${libdir}/libg2c.so \
+ ${libdir}/libg2c.a \
+ ${libdir}/libfrtbegin.a \
+"
+
+FILES_g++ = "\
+ ${bindir}/${TARGET_PREFIX}g++ \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
+"
+FILES_g++-symlinks = "\
+ ${bindir}/c++ \
+ ${bindir}/g++ \
+"
FILES_libstdc++ = "${libdir}/libstdc++.so.*"
-FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
- ${libdir}/libstdc++.so \
- ${libdir}/libstdc++.la \
- ${libdir}/libstdc++.a \
- ${libdir}/libsupc++.la \
- ${libdir}/libsupc++.a"
+FILES_libstdc++-dev = "\
+ ${includedir}/c++/${BINV} \
+ ${libdir}/libstdc++.so \
+ ${libdir}/libstdc++.la \
+ ${libdir}/libstdc++.a \
+ ${libdir}/libsupc++.la \
+ ${libdir}/libsupc++.a \
+"
FILES_libmudflap = "${libdir}/libmudflap*.so.*"
-FILES_libmudflap-dev = "${libdir}/libmudflap*.so \
- ${libdir}/libmudflap*.a \
- ${libdir}/libmudflap*.a"
-
-
-FILES_${PN}-doc = "${infodir} \
- ${mandir} \
- ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README"
+FILES_libmudflap-dev = "\
+ ${libdir}/libmudflap*.so \
+ ${libdir}/libmudflap*.a \
+ ${libdir}/libmudflap*.a \
+"
+
+FILES_${PN}-doc = "\
+ ${infodir} \
+ ${mandir} \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README \
+"
python do_package() {
- if bb.data.getVar('DEBIAN_NAMES', d, 1):
- bb.data.setVar('PKG_libgcc', 'libgcc1', d)
- bb.build.exec_func('package_do_package', d)
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
}
diff --git a/packages/gcc/gcc3-build-cross.inc b/packages/gcc/gcc3-build-cross.inc
index 0d7f323ea4..1d744c1eae 100644
--- a/packages/gcc/gcc3-build-cross.inc
+++ b/packages/gcc/gcc3-build-cross.inc
@@ -1,7 +1,9 @@
USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
-EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR}/${TARGET_SYS} \
- --with-gxx-include-dir=${STAGING_DIR}/${TARGET_SYS}/include/c++"
+EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
+ --with-gxx-include-dir=${STAGING_DIR_TARGET}/${layout_includedir}/c++ \
+ --with-sysroot=${STAGING_DIR_TARGET} \
+ --with-build-sysroot=${STAGING_DIR_TARGET}"
do_configure_prepend () {
rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
@@ -21,6 +23,11 @@ do_stage_append () {
rm -rf ${CROSS_DIR}/$d
done
+ # Hack to be removed when staging layout matches the target layout
+ if [ ! -e ${STAGING_DIR_TARGET}/usr ]; then
+ ln -s ${STAGING_DIR_TARGET} ${STAGING_DIR_TARGET}/usr
+ fi
+
# Fix a few include links so cross builds are happier
if [ ! -e ${STAGING_INCDIR}/c++ ]; then
mkdir -p ${STAGING_INCDIR}
diff --git a/packages/gcc/gcc3-build-sdk.inc b/packages/gcc/gcc3-build-sdk.inc
index e2ec9565a7..aa540212c4 100644
--- a/packages/gcc/gcc3-build-sdk.inc
+++ b/packages/gcc/gcc3-build-sdk.inc
@@ -2,8 +2,8 @@ USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
SRC_URI += 'file://sdk-libstdc++-includes.patch;patch=1'
-STAGING_TARGET_INCDIR = "${STAGING_DIR}/${TARGET_SYS}/include"
-STAGING_TARGET_LIBDIR = "${STAGING_DIR}/${TARGET_SYS}/lib"
+STAGING_TARGET_INCDIR = "${STAGING_DIR_TARGET}${layout_includedir}"
+STAGING_TARGET_LIBDIR = "${STAGING_DIR_TARGET}${layout_libdir}"
do_configure () {
(cd ${S} && gnu-configize) || die "failure running gnu-configize"
diff --git a/packages/gcc/gcc4-build-sdk.inc b/packages/gcc/gcc4-build-sdk.inc
index 77d326b3ee..10526454c3 100644
--- a/packages/gcc/gcc4-build-sdk.inc
+++ b/packages/gcc/gcc4-build-sdk.inc
@@ -1,14 +1,13 @@
USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}'
-SYSROOT = "${WORKDIR}/sysroot"
-EXTRA_OECONF += "--with-sysroot=${SYSROOT}"
+EXTRA_OECONF += "--with-sysroot=${prefix}/${TARGET_SYS} --with-build-sysroot=${STAGING_DIR_TARGET}"
do_configure () {
- # Work around Hardcoded path assumptions in gcc
- mkdir -p ${SYSROOT}/usr/
- ln -s ${STAGING_DIR}/${TARGET_SYS}/include ${SYSROOT}/usr/include
- ln -s ${STAGING_DIR}/${TARGET_SYS}/lib ${SYSROOT}/usr/lib
+ # Hack to be removed when staging layout matches the target layout
+ if [ ! -e ${STAGING_DIR_TARGET}/usr ]; then
+ ln -s ${STAGING_DIR_TARGET} ${STAGING_DIR_TARGET}/usr
+ fi
(cd ${S} && gnu-configize) || die "failure running gnu-configize"
(cd ${S}/libstdc++-v3 && autoreconf)
oe_runconf
diff --git a/packages/gcc/gcc_4.0.0.bb b/packages/gcc/gcc_4.0.0.bb
index 28561e1e07..9f75bf1f54 100644
--- a/packages/gcc/gcc_4.0.0.bb
+++ b/packages/gcc/gcc_4.0.0.bb
@@ -1,8 +1,8 @@
-PR = "r2"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
+PR = "r3"
inherit autotools gettext
diff --git a/packages/gcc/gcc_4.0.2.bb b/packages/gcc/gcc_4.0.2.bb
index 19d67ab1b4..2945592659 100644
--- a/packages/gcc/gcc_4.0.2.bb
+++ b/packages/gcc/gcc_4.0.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
DEPENDS = "mpfr gmp"
-PR = "r6"
+PR = "r7"
inherit autotools gettext
diff --git a/packages/gcc/gcc_4.1.0.bb b/packages/gcc/gcc_4.1.0.bb
index a9dbad579f..6a5f607729 100644
--- a/packages/gcc/gcc_4.1.0.bb
+++ b/packages/gcc/gcc_4.1.0.bb
@@ -1,8 +1,9 @@
-PR = "r2"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
+PR = "r3"
+
DEFAULT_PREFERENCE = "-1"
inherit autotools gettext
diff --git a/packages/gcc/gcc_4.1.1.bb b/packages/gcc/gcc_4.1.1.bb
index 8d08df6b8c..4b538219b3 100644
--- a/packages/gcc/gcc_4.1.1.bb
+++ b/packages/gcc/gcc_4.1.1.bb
@@ -1,8 +1,8 @@
-PR = "r17"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
+PR = "r18"
inherit autotools gettext
diff --git a/packages/gcc/gcc_4.1.2.bb b/packages/gcc/gcc_4.1.2.bb
index b3eb0100e8..fc75e942bb 100644
--- a/packages/gcc/gcc_4.1.2.bb
+++ b/packages/gcc/gcc_4.1.2.bb
@@ -4,7 +4,7 @@ SECTION = "devel"
LICENSE = "GPL"
# NOTE: split PR. If the main .bb changes something that affects its *build*
# remember to increment the -cross .bb PR too.
-PR = "r10"
+PR = "r11"
inherit autotools gettext
diff --git a/packages/gcc/gcc_4.2.1.bb b/packages/gcc/gcc_4.2.1.bb
index 688ccdaeb8..dac620397b 100644
--- a/packages/gcc/gcc_4.2.1.bb
+++ b/packages/gcc/gcc_4.2.1.bb
@@ -1,8 +1,8 @@
-PR = "r7"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
+PR = "r8"
inherit autotools gettext
@@ -11,8 +11,8 @@ require gcc-package.inc
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
- file://200-uclibc-locale.patch;patch=1 \
- file://203-uclibc-locale-no__x.patch;patch=1 \
+ file://200-uclibc-locale.patch;patch=1 \
+ file://203-uclibc-locale-no__x.patch;patch=1 \
file://204-uclibc-locale-wchar_fix.patch;patch=1 \
file://205-uclibc-locale-update.patch;patch=1 \
file://300-libstdc++-pic.patch;patch=1 \
@@ -20,11 +20,11 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://302-c99-snprintf.patch;patch=1 \
file://303-c99-complex-ugly-hack.patch;patch=1 \
file://304-index_macro.patch;patch=1 \
- file://305-libmudflap-susv3-legacy.patch;patch=1 \
- file://306-libstdc++-namespace.patch;patch=1 \
+ file://305-libmudflap-susv3-legacy.patch;patch=1 \
+ file://306-libstdc++-namespace.patch;patch=1 \
file://307-locale_facets.patch;patch=1 \
- file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
- file://602-sdk-libstdc++-includes.patch;patch=1 \
+ file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
+ file://602-sdk-libstdc++-includes.patch;patch=1 \
file://740-sh-pr24836.patch;patch=1 \
file://800-arm-bigendian.patch;patch=1 \
file://904-flatten-switch-stmt-00.patch;patch=1 \
@@ -36,10 +36,10 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://ldflags.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 \
file://unbreak-armv4t.patch;patch=1 \
- file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
+ file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
file://cache-amnesia.patch;patch=1 \
- file://gfortran.patch;patch=1 \
- file://pr34130.patch;patch=1 \
+ file://gfortran.patch;patch=1 \
+ file://pr34130.patch;patch=1 \
"
SRC_URI_avr32 = " http://ewi546.ewi.utwente.nl/tmp/avr32-gcc-4.2.1-atmel.1.0.1.tar.gz \
diff --git a/packages/gcc/gcc_4.2.2.bb b/packages/gcc/gcc_4.2.2.bb
index 15a25c9c6a..0a0e9cdd16 100644
--- a/packages/gcc/gcc_4.2.2.bb
+++ b/packages/gcc/gcc_4.2.2.bb
@@ -1,8 +1,8 @@
-PR = "r3"
DESCRIPTION = "The GNU cc and gcc C compilers."
HOMEPAGE = "http://www.gnu.org/software/gcc/"
SECTION = "devel"
LICENSE = "GPL"
+PR = "r6"
inherit autotools gettext
@@ -11,8 +11,8 @@ require gcc-package.inc
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
- file://200-uclibc-locale.patch;patch=1 \
- file://203-uclibc-locale-no__x.patch;patch=1 \
+ file://200-uclibc-locale.patch;patch=1 \
+ file://203-uclibc-locale-no__x.patch;patch=1 \
file://204-uclibc-locale-wchar_fix.patch;patch=1 \
file://205-uclibc-locale-update.patch;patch=1 \
file://300-libstdc++-pic.patch;patch=1 \
@@ -20,13 +20,14 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://302-c99-snprintf.patch;patch=1 \
file://303-c99-complex-ugly-hack.patch;patch=1 \
file://304-index_macro.patch;patch=1 \
- file://305-libmudflap-susv3-legacy.patch;patch=1 \
- file://306-libstdc++-namespace.patch;patch=1 \
+ file://305-libmudflap-susv3-legacy.patch;patch=1 \
+ file://306-libstdc++-namespace.patch;patch=1 \
file://307-locale_facets.patch;patch=1 \
- file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
- file://602-sdk-libstdc++-includes.patch;patch=1 \
+ file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
+ file://602-sdk-libstdc++-includes.patch;patch=1 \
file://740-sh-pr24836.patch;patch=1 \
file://800-arm-bigendian.patch;patch=1 \
+ file://801-arm-bigendian-eabi.patch;patch=1 \
file://904-flatten-switch-stmt-00.patch;patch=1 \
file://arm-nolibfloat.patch;patch=1 \
file://arm-softfloat.patch;patch=1 \
@@ -36,12 +37,13 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://ldflags.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 \
file://unbreak-armv4t.patch;patch=1 \
- file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
+ file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
file://cache-amnesia.patch;patch=1 \
- file://gfortran.patch;patch=1 \
- file://gcc-4.0.2-e300c2c3.patch;patch=1 \
- file://pr34130.patch;patch=1 \
- file://fortran-static-linking.patch;patch=1 \
+ file://gfortran.patch;patch=1 \
+ file://gcc-4.0.2-e300c2c3.patch;patch=1 \
+ file://pr34130.patch;patch=1 \
+ file://fortran-static-linking.patch;patch=1 \
+ file://intermask-bigendian.patch;patch=1 \
"
SRC_URI_append_ep93xx = " \
diff --git a/packages/gpe-login/gpe-login-0.90/.mtn2git_empty b/packages/gdb/gdb-6.6/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gpe-login/gpe-login-0.90/.mtn2git_empty
+++ b/packages/gdb/gdb-6.6/.mtn2git_empty
diff --git a/packages/gdb/gdb-6.6/early_debug_in_nptl.patch b/packages/gdb/gdb-6.6/early_debug_in_nptl.patch
new file mode 100644
index 0000000000..c53f0d8ad5
--- /dev/null
+++ b/packages/gdb/gdb-6.6/early_debug_in_nptl.patch
@@ -0,0 +1,306 @@
+http://sourceware.org/ml/gdb-patches/2007-06/msg00479.html
+
+Index: gdb/linux-thread-db.c
+===================================================================
+--- gdb/linux-thread-db.c.orig 2006-10-20 03:08:14.000000000 +0200
++++ gdb/linux-thread-db.c 2008-03-01 14:45:52.000000000 +0100
+@@ -213,6 +213,21 @@
+ }
+ }
+
++/* Return 1 if any threads have been registered. There may be none if
++ the threading library is not fully initialized yet. */
++
++static int
++have_threads_callback (struct thread_info *thread, void *dummy)
++{
++ return 1;
++}
++
++static int
++have_threads (void)
++{
++ return iterate_over_threads (have_threads_callback, NULL) != NULL;
++}
++
+ /* A callback function for td_ta_thr_iter, which we use to map all
+ threads to LWPs.
+
+@@ -700,23 +715,6 @@
+ }
+
+ static void
+-thread_db_attach (char *args, int from_tty)
+-{
+- target_beneath->to_attach (args, from_tty);
+-
+- /* Destroy thread info; it's no longer valid. */
+- init_thread_list ();
+-
+- /* The child process is now the actual multi-threaded
+- program. Snatch its process ID... */
+- proc_handle.pid = GET_PID (inferior_ptid);
+-
+- /* ...and perform the remaining initialization steps. */
+- enable_thread_event_reporting ();
+- thread_db_find_new_threads ();
+-}
+-
+-static void
+ detach_thread (ptid_t ptid, int verbose)
+ {
+ struct thread_info *thread_info;
+@@ -742,14 +740,13 @@
+ disable_thread_event_reporting ();
+
+ /* There's no need to save & restore inferior_ptid here, since the
+- inferior is supposed to be survive this function call. */
++ inferior is not supposed to survive this function call. */
+ inferior_ptid = lwp_from_thread (inferior_ptid);
+
+- /* Forget about the child's process ID. We shouldn't need it
+- anymore. */
+- proc_handle.pid = 0;
+-
+ target_beneath->to_detach (args, from_tty);
++
++ /* Should this be done by detach_command? */
++ target_mourn_inferior ();
+ }
+
+ static int
+@@ -870,12 +867,6 @@
+
+ ptid = target_beneath->to_wait (ptid, ourstatus);
+
+- if (proc_handle.pid == 0)
+- /* The current child process isn't the actual multi-threaded
+- program yet, so don't try to do any special thread-specific
+- post-processing and bail out early. */
+- return ptid;
+-
+ if (ourstatus->kind == TARGET_WAITKIND_EXITED
+ || ourstatus->kind == TARGET_WAITKIND_SIGNALLED)
+ return pid_to_ptid (-1);
+@@ -889,23 +880,32 @@
+ return pid_to_ptid (GET_PID (ptid));
+ }
+
++ /* If we do not know about the main thread yet, this would be a good time to
++ find it. */
++ if (ourstatus->kind == TARGET_WAITKIND_STOPPED && !have_threads ())
++ thread_db_find_new_threads ();
++
+ if (ourstatus->kind == TARGET_WAITKIND_STOPPED
+ && ourstatus->value.sig == TARGET_SIGNAL_TRAP)
+ /* Check for a thread event. */
+ check_event (ptid);
+
+- if (!ptid_equal (trap_ptid, null_ptid))
+- trap_ptid = thread_from_lwp (trap_ptid);
++ if (have_threads ())
++ {
++ /* Change ptids back into the higher level PID + TID format. If
++ the thread is dead and no longer on the thread list, we will
++ get back a dead ptid. This can occur if the thread death
++ event gets postponed by other simultaneous events. In such a
++ case, we want to just ignore the event and continue on. */
++
++ if (!ptid_equal (trap_ptid, null_ptid))
++ trap_ptid = thread_from_lwp (trap_ptid);
++
++ ptid = thread_from_lwp (ptid);
++ if (GET_PID (ptid) == -1)
++ ourstatus->kind = TARGET_WAITKIND_SPURIOUS;
++ }
+
+- /* Change the ptid back into the higher level PID + TID format.
+- If the thread is dead and no longer on the thread list, we will
+- get back a dead ptid. This can occur if the thread death event
+- gets postponed by other simultaneous events. In such a case,
+- we want to just ignore the event and continue on. */
+- ptid = thread_from_lwp (ptid);
+- if (GET_PID (ptid) == -1)
+- ourstatus->kind = TARGET_WAITKIND_SPURIOUS;
+-
+ return ptid;
+ }
+
+@@ -944,30 +944,6 @@
+ }
+
+ static void
+-thread_db_create_inferior (char *exec_file, char *allargs, char **env,
+- int from_tty)
+-{
+- unpush_target (&thread_db_ops);
+- using_thread_db = 0;
+- target_beneath->to_create_inferior (exec_file, allargs, env, from_tty);
+-}
+-
+-static void
+-thread_db_post_startup_inferior (ptid_t ptid)
+-{
+- if (proc_handle.pid == 0)
+- {
+- /* The child process is now the actual multi-threaded
+- program. Snatch its process ID... */
+- proc_handle.pid = GET_PID (ptid);
+-
+- /* ...and perform the remaining initialization steps. */
+- enable_thread_event_reporting ();
+- thread_db_find_new_threads ();
+- }
+-}
+-
+-static void
+ thread_db_mourn_inferior (void)
+ {
+ /* Forget about the child's process ID. We shouldn't need it
+@@ -1002,6 +978,22 @@
+
+ ptid = ptid_build (GET_PID (inferior_ptid), ti.ti_lid, ti.ti_tid);
+
++ if (ti.ti_tid == 0)
++ {
++ /* A thread ID of zero means that this is the main thread, but
++ glibc has not yet initialized thread-local storage and the
++ pthread library. We do not know what the thread's TID will
++ be yet. Just enable event reporting and otherwise ignore
++ it. */
++
++ err = td_thr_event_enable_p (th_p, 1);
++ if (err != TD_OK)
++ error (_("Cannot enable thread event reporting for %s: %s"),
++ target_pid_to_str (ptid), thread_db_err_str (err));
++
++ return 0;
++ }
++
+ if (!in_thread_list (ptid))
+ attach_thread (ptid, th_p, &ti, 1);
+
+@@ -1058,6 +1050,16 @@
+ return NULL;
+ }
+
++/* Return 1 if this thread has the same LWP as the passed PTID. */
++
++static int
++same_ptid_callback (struct thread_info *thread, void *arg)
++{
++ ptid_t *ptid_p = arg;
++
++ return GET_LWP (thread->ptid) == GET_LWP (*ptid_p);
++}
++
+ /* Get the address of the thread local variable in load module LM which
+ is stored at OFFSET within the thread local storage for thread PTID. */
+
+@@ -1066,6 +1068,21 @@
+ CORE_ADDR lm,
+ CORE_ADDR offset)
+ {
++ /* If we have not discovered any threads yet, check now. */
++ if (!is_thread (ptid) && !have_threads ())
++ thread_db_find_new_threads ();
++
++ /* Try to find a matching thread if we still have the LWP ID instead
++ of the thread ID. */
++ if (!is_thread (ptid))
++ {
++ struct thread_info *thread;
++
++ thread = iterate_over_threads (same_ptid_callback, &ptid);
++ if (thread != NULL)
++ ptid = thread->ptid;
++ }
++
+ if (is_thread (ptid))
+ {
+ td_err_e err;
+@@ -1125,14 +1142,11 @@
+ thread_db_ops.to_shortname = "multi-thread";
+ thread_db_ops.to_longname = "multi-threaded child process.";
+ thread_db_ops.to_doc = "Threads and pthreads support.";
+- thread_db_ops.to_attach = thread_db_attach;
+ thread_db_ops.to_detach = thread_db_detach;
+ thread_db_ops.to_resume = thread_db_resume;
+ thread_db_ops.to_wait = thread_db_wait;
+ thread_db_ops.to_xfer_partial = thread_db_xfer_partial;
+ thread_db_ops.to_kill = thread_db_kill;
+- thread_db_ops.to_create_inferior = thread_db_create_inferior;
+- thread_db_ops.to_post_startup_inferior = thread_db_post_startup_inferior;
+ thread_db_ops.to_mourn_inferior = thread_db_mourn_inferior;
+ thread_db_ops.to_find_new_threads = thread_db_find_new_threads;
+ thread_db_ops.to_pid_to_str = thread_db_pid_to_str;
+Index: gdb/gdbserver/thread-db.c
+===================================================================
+--- gdb/gdbserver/thread-db.c.orig 2006-10-17 18:02:27.000000000 +0200
++++ gdb/gdbserver/thread-db.c 2008-03-01 14:44:41.000000000 +0100
+@@ -40,6 +40,7 @@
+ /* Connection to the libthread_db library. */
+ static td_thragent_t *thread_agent;
+
++static void thread_db_find_new_threads (void);
+ static int find_new_threads_callback (const td_thrhandle_t *th_p, void *data);
+
+ static char *
+@@ -134,6 +135,8 @@
+ td_event_msg_t msg;
+ td_err_e err;
+ struct inferior_linux_data *tdata;
++ struct thread_info *inferior;
++ struct process_info *process;
+
+ if (debug_threads)
+ fprintf (stderr, "Thread creation event.\n");
+@@ -149,6 +152,14 @@
+ fprintf (stderr, "thread getmsg err: %s\n",
+ thread_db_err_str (err));
+
++ /* If we do not know about the main thread yet, this would be a good time to
++ find it. We need to do this to pick up the main thread before any newly
++ created threads. */
++ inferior = (struct thread_info *) all_threads.head;
++ process = get_thread_process (inferior);
++ if (process->thread_known == 0)
++ thread_db_find_new_threads ();
++
+ /* msg.event == TD_EVENT_CREATE */
+
+ find_new_threads_callback (msg.th_p, NULL);
+@@ -231,8 +242,24 @@
+ {
+ inferior = (struct thread_info *) all_threads.head;
+ process = get_thread_process (inferior);
++
+ if (process->thread_known == 0)
+ {
++ /* If the new thread ID is zero, a final thread ID will be
++ available later. Do not enable thread debugging yet. */
++ if (ti_p->ti_tid == 0)
++ {
++ err = td_thr_event_enable (th_p, 1);
++ if (err != TD_OK)
++ error ("Cannot enable thread event reporting for %d: %s",
++ ti_p->ti_lid, thread_db_err_str (err));
++ return;
++ }
++
++ if (process->lwpid != ti_p->ti_lid)
++ fatal ("PID mismatch! Expected %ld, got %ld",
++ (long) process->lwpid, (long) ti_p->ti_lid);
++
+ /* Switch to indexing the threads list by TID. */
+ change_inferior_id (&all_threads, ti_p->ti_tid);
+ goto found;
+@@ -331,6 +358,8 @@
+
+ process = get_thread_process (thread);
+ if (!process->thread_known)
++ thread_db_find_new_threads ();
++ if (!process->thread_known)
+ return TD_NOTHR;
+
+ err = td_thr_tls_get_addr (&process->th, (psaddr_t) load_module, offset,
diff --git a/packages/gdb/gdb-cross_6.6.bb b/packages/gdb/gdb-cross_6.6.bb
index c6992e4b6a..0fbd11015c 100644
--- a/packages/gdb/gdb-cross_6.6.bb
+++ b/packages/gdb/gdb-cross_6.6.bb
@@ -1,7 +1,8 @@
require gdb-cross.inc
SRC_URI += "file://sim-install-6.6.patch;patch=1"
+SRC_URI += "file://early_debug_in_nptl.patch;patch=1;pnum=0"
inherit cross
-PR = "r1" \ No newline at end of file
+PR = "r2"
diff --git a/packages/gdb/gdb_6.6.bb b/packages/gdb/gdb_6.6.bb
index a558775ff4..c507a48aa8 100644
--- a/packages/gdb/gdb_6.6.bb
+++ b/packages/gdb/gdb_6.6.bb
@@ -1,3 +1,5 @@
require gdb.inc
-PR = "r3"
+PR = "r4"
+
+SRC_URI += "file://early_debug_in_nptl.patch;patch=1;pnum=0"
diff --git a/packages/glibc/eglibc-initial_svn.bb b/packages/glibc/eglibc-initial_svn.bb
index 5b78d57dc4..298c775152 100644
--- a/packages/glibc/eglibc-initial_svn.bb
+++ b/packages/glibc/eglibc-initial_svn.bb
@@ -33,14 +33,14 @@ do_compile () {
}
do_stage () {
- oe_runmake cross-compiling=yes install_root=${STAGING_DIR}/${HOST_SYS} includedir=/include prefix="" install-headers
+ oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} includedir=${layout_includedir} prefix="" install-headers
# Two headers -- stubs.h and features.h -- aren't installed by install-headers,
# so do them by hand. We can tolerate an empty stubs.h for the moment.
# See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
- mkdir -p ${STAGING_DIR}/${HOST_SYS}/include/gnu
- touch ${STAGING_DIR}/${HOST_SYS}/include/gnu/stubs.h
- cp ${S}/include/features.h ${STAGING_DIR}/${HOST_SYS}/include/features.h
+ mkdir -p ${STAGING_INCDIR}/gnu
+ touch ${STAGING_INCDIR}/gnu/stubs.h
+ cp ${S}/include/features.h ${STAGING_INCDIR}/features.h
}
do_install () {
diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb
index ff68185bcc..a03c63b2fb 100644
--- a/packages/glibc/eglibc_svn.bb
+++ b/packages/glibc/eglibc_svn.bb
@@ -90,8 +90,8 @@ do_stage() {
# make sure there isn't a conflicting libc in staging
# this should be solved differently
rm -f ${STAGING_LIBDIR}/libc.so.6
- oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
- 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ oe_runmake 'install_root=${STAGING_DIR_HOST}' \
+ 'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \
'${STAGING_LIBDIR}/libc.so.6' \
install-headers install-lib
diff --git a/packages/glibc/files/glibc-2.5-local-dynamic-resolvconf.patch b/packages/glibc/files/glibc-2.5-local-dynamic-resolvconf.patch
index bab3747b1a..e137287dd1 100644
--- a/packages/glibc/files/glibc-2.5-local-dynamic-resolvconf.patch
+++ b/packages/glibc/files/glibc-2.5-local-dynamic-resolvconf.patch
@@ -1,44 +1,41 @@
---- glibc-2.5.orig/debian/patches/any/local-dynamic-resolvconf.diff
-+++ glibc-2.5/debian/patches/any/local-dynamic-resolvconf.diff
-@@ -0,0 +1,41 @@
-+# All lines beginning with `# DP:' are a description of the patch.
-+# DP: Description: allow dynamic long-running processes to
-+# DP: re-read a dynamically updated resolv.conf on the fly
-+# DP: Dpatch author: Adam Conrad <adconrad@ubuntu.com>
-+# DP: Patch author: Thorsten Kukuk <kukuk@suse.de>
-+# DP: Upstream status: Ubuntu-Specific
-+# DP: Date: 2006-01-13 08:14:21 UTC
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: allow dynamic long-running processes to
+# DP: re-read a dynamically updated resolv.conf on the fly
+# DP: Dpatch author: Adam Conrad <adconrad@ubuntu.com>
+# DP: Patch author: Thorsten Kukuk <kukuk@suse.de>
+# DP: Upstream status: Ubuntu-Specific
+# DP: Date: 2006-01-13 08:14:21 UTC
+
+Index: resolv/res_libc.c
+===================================================================
+--- resolv/res_libc.c.orig
++++ resolv/res_libc.c
+@@ -22,7 +22,7 @@
+ #include <arpa/nameser.h>
+ #include <resolv.h>
+ #include <bits/libc-lock.h>
+-
++#include <sys/stat.h>
+
+ /* The following bit is copied from res_data.c (where it is #ifdef'ed
+ out) since res_init() should go into libc.so but the rest of that
+@@ -94,8 +94,17 @@
+ int
+ __res_maybe_init (res_state resp, int preinit)
+ {
+- if (resp->options & RES_INIT) {
+- if (__res_initstamp != resp->_u._ext.initstamp) {
++ static time_t last_mtime;
++ struct stat statbuf;
++ int ret;
+
-+Index: resolv/res_libc.c
-+===================================================================
-+--- resolv/res_libc.c.orig
-++++ resolv/res_libc.c
-+@@ -22,7 +22,7 @@
-+ #include <arpa/nameser.h>
-+ #include <resolv.h>
-+ #include <bits/libc-lock.h>
-+-
-++#include <sys/stat.h>
-+
-+ /* The following bit is copied from res_data.c (where it is #ifdef'ed
-+ out) since res_init() should go into libc.so but the rest of that
-+@@ -94,8 +94,17 @@
-+ int
-+ __res_maybe_init (res_state resp, int preinit)
-+ {
-+- if (resp->options & RES_INIT) {
-+- if (__res_initstamp != resp->_u._ext.initstamp) {
-++ static time_t last_mtime;
-++ struct stat statbuf;
-++ int ret;
-++
-++
-++ if (resp->options & RES_INIT) {
-++ ret = stat (_PATH_RESCONF, &statbuf);
-++ if (__res_initstamp != resp->_u._ext.initstamp
-++ || (ret == 0) && (last_mtime != statbuf.st_mtime))
-++ {
-++ last_mtime = statbuf.st_mtime;
-+ if (resp->nscount > 0) {
-+ __res_iclose (resp, true);
-+ return __res_vinit (resp, 1);
++
++ if (resp->options & RES_INIT) {
++ ret = stat (_PATH_RESCONF, &statbuf);
++ if (__res_initstamp != resp->_u._ext.initstamp
++ || (ret == 0) && (last_mtime != statbuf.st_mtime))
++ {
++ last_mtime = statbuf.st_mtime;
+ if (resp->nscount > 0) {
+ __res_iclose (resp, true);
+ return __res_vinit (resp, 1);
diff --git a/packages/glibc/glibc-2.4/zecke-sane-readelf.patch b/packages/glibc/glibc-2.4/zecke-sane-readelf.patch
index 023b6a51bc..229db09fb3 100644
--- a/packages/glibc/glibc-2.4/zecke-sane-readelf.patch
+++ b/packages/glibc/glibc-2.4/zecke-sane-readelf.patch
@@ -1,3 +1,8 @@
+upstream: http://sources.redhat.com/bugzilla/show_bug.cgi?id=3004
+status: WONTFIX
+comment: Use OEs version of the readelf version. There might be no
+host system version (e.g. on OSX) or it is not multiarch.
+
Index: glibc-2.4/configure
===================================================================
--- glibc-2.4.orig/configure 2006-03-06 12:18:56.000000000 +0100
diff --git a/packages/glibc/glibc-cvs-2.3.5/zecke-sane-readelf.patch b/packages/glibc/glibc-cvs-2.3.5/zecke-sane-readelf.patch
index c57494f937..7dc699cfad 100644
--- a/packages/glibc/glibc-cvs-2.3.5/zecke-sane-readelf.patch
+++ b/packages/glibc/glibc-cvs-2.3.5/zecke-sane-readelf.patch
@@ -1,3 +1,8 @@
+upstream: http://sources.redhat.com/bugzilla/show_bug.cgi?id=3004
+status: WONTFIX
+comment: Use OEs version of the readelf version. There might be no
+host system version (e.g. on OSX) or it is not multiarch.
+
Index: glibc-2.3.2/configure
===================================================================
--- glibc-2.3.2.orig/configure 2006-08-05 20:18:11.000000000 +0200
diff --git a/packages/glibc/glibc-package.bbclass b/packages/glibc/glibc-package.bbclass
index 50fae44bf3..bd1cb4f4e4 100644
--- a/packages/glibc/glibc-package.bbclass
+++ b/packages/glibc/glibc-package.bbclass
@@ -271,7 +271,12 @@ python package_do_split_gconvs () {
i18npath = base_path_join(treedir, datadir, "i18n")
localedef_opts = "--force --old-style --no-archive --prefix=%s --inputfile=%s/i18n/locales/%s --charmap=%s %s" % (treedir, datadir, locale, encoding, name)
- cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts)
+
+ qemu_options = bb.data.getVar("QEMU_OPTIONS_%s" % bb.data.getVar('PACKAGE_ARCH', d, 1), d, 1)
+ if not qemu_options:
+ qemu_options = bb.data.getVar('QEMU_OPTIONS', d, 1)
+
+ cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, qemu_options, treedir, localedef_opts)
bb.note("generating locale %s (%s)" % (locale, encoding))
if os.system(cmd):
raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd)
diff --git a/packages/glibc/glibc_2.5.bb b/packages/glibc/glibc_2.5.bb
index f50c85b1d0..0dc1c41070 100644
--- a/packages/glibc/glibc_2.5.bb
+++ b/packages/glibc/glibc_2.5.bb
@@ -1,5 +1,5 @@
require glibc.inc
-PR = "r9"
+PR = "r10"
ARM_INSTRUCTION_SET = "arm"
@@ -44,7 +44,7 @@ SRC_URI = "\
file://dl-cache-libcmp.patch;patch=1 \
file://ldsocache-varrun.patch;patch=1 \
file://nptl-crosscompile.patch;patch=1 \
- file://glibc-2.5-local-dynamic-resolvconf.patch;patch=1 \
+ file://glibc-2.5-local-dynamic-resolvconf.patch;patch=1;pnum=0 \
file://glibc-check_pf.patch;patch=1;pnum=0 \
file://zecke-sane-readelf.patch;patch=1 \
file://ldd-unbash.patch;patch=1 \
diff --git a/packages/glibc/glibc_2.6.1.bb b/packages/glibc/glibc_2.6.1.bb
index 705fab6715..4c59bbdc13 100644
--- a/packages/glibc/glibc_2.6.1.bb
+++ b/packages/glibc/glibc_2.6.1.bb
@@ -1,5 +1,5 @@
require glibc.inc
-PR = "r2"
+PR = "r3"
ARM_INSTRUCTION_SET = "arm"
@@ -45,7 +45,7 @@ SRC_URI = "\
file://dl-cache-libcmp.patch;patch=1 \
file://ldsocache-varrun.patch;patch=1 \
file://nptl-crosscompile.patch;patch=1 \
- file://glibc-2.5-local-dynamic-resolvconf.patch;patch=1 \
+ file://glibc-2.5-local-dynamic-resolvconf.patch;patch=1;pnum=0 \
file://glibc-check_pf.patch;patch=1;pnum=0 \
file://zecke-sane-readelf.patch;patch=1 \
file://ldd-unbash.patch;patch=1 \
diff --git a/packages/gnash/gnash.inc b/packages/gnash/gnash.inc
new file mode 100644
index 0000000000..197cea06b6
--- /dev/null
+++ b/packages/gnash/gnash.inc
@@ -0,0 +1,79 @@
+DESCRIPTION = "Gnash is a GNU Flash movie player that supports many SWF v7 features"
+
+LICENSE = "GPL-2"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+
+DEPENDS = "gtk+ cairo libxml2 libmad libsdl-mixer zlib boost jpeg pango curl"
+
+SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2"
+
+
+EXTRA_OECONF = "--enable-gui=gtk \
+ --enable-renderer=cairo \
+ --enable-media=none \
+ --disable-klash \
+ --enable-z \
+ --enable-jpeg \
+ --disable-glext \
+ --enable-Xft \
+ --enable-expat \
+ --enable-mad \
+ --enable-cairo \
+ --disable-plugin \
+ --disable-cygnal \
+ --with-boost-incl=${STAGING_INCDIR} \
+ --with-boost-lib=${STAGING_LIBDIR} \
+ --with-libxml-incl=${STAGING_INCDIR}/libxml2 \
+ --with-libxml-lib=${STAGING_LIBDIR} \
+ --with-glib-incl=${STAGING_INCDIR}/glib-2.0 \
+# --with-glib-lib=${STAGING_LIBDIR} \
+ --with-gtk2-incl=${STAGING_INCDIR}/gtk-2.0 \
+ --with-pango-incl=${STAGING_INCDIR}/pango-1.0 \
+# --with-pango-lib=${STAGING_LIBDIR} \
+ --with-sdl-incl=${STAGING_INCDIR}/SDL \
+ --with-atk-incl=${STAGING_INCDIR}/atk-1.0 \
+ --with-Xft-incl=${STAGING_INCDIR}/X11 \
+ --with-expat-incl=${STAGING_INCDIR} \
+ --with-mad-incl=${STAGING_INCDIR} \
+ --with-cairo-incl=${STAGING_INCDIR}/cairo \
+ --with-curl-incl=${STAGING_INCDIR} \
+ --with-curl-lib=${STAGING_LIBDIR} \
+ "
+
+inherit autotools pkgconfig
+
+LDFLAGS += " -L${STAGING_LIBDIR} -lcurl -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_signals -lboost_thread-mt "
+CFLAGS += " -I${STAGING_INCDIR} -I${STAGING_LIBDIR}/gtk-2.0/include/ "
+
+do_configure_append() {
+ for i in `find . -name Makefile` ; do
+ sed -i s:I/usr/include:I${STAGING_INCDIR}:g $i
+ done
+}
+
+
+PARALLEL_MAKE = ""
+
+do_compile() {
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'CFLAGS=${CFLAGS}' \
+ 'ZLIB_INCLUDE=${STAGING_INCDIR}' \
+ 'ZLIB_LIBS=${STAGING_LIBDIR}' \
+ 'PNG_INCLUDE=${STAGING_INCDIR}' \
+ 'PNG_LIBS=${STAGING_LIBDIR}'
+}
+
+
+PACKAGES =+ " libgnashamf libgnashbackend libgnashbase libgnashgeo libgnashgui libgnashplayer libgnashserver "
+
+FILES_libgnashamf = "${libdir}/libgnashamf-${PV}.so"
+FILES_libgnashbackend = "${libdir}/libgnashbackend-${PV}.so"
+FILES_libgnashbase = "${libdir}/libgnashbase-${PV}.so"
+FILES_libgnashgeo = "${libdir}/libgnashgeo-${PV}.so"
+FILES_libgnashgui = "${libdir}/libgnashgui-${PV}.so"
+FILES_libgnashplayer = "${libdir}/libgnashplayer-${PV}.so"
+FILES_libgnashserver = "${libdir}/libgnashserver-${PV}.so"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/gnash/gnash_0.8.0.bb b/packages/gnash/gnash_0.8.0.bb
index 197cea06b6..da4b281e94 100644
--- a/packages/gnash/gnash_0.8.0.bb
+++ b/packages/gnash/gnash_0.8.0.bb
@@ -1,79 +1 @@
-DESCRIPTION = "Gnash is a GNU Flash movie player that supports many SWF v7 features"
-
-LICENSE = "GPL-2"
-HOMEPAGE = "http://www.gnu.org/software/gnash"
-
-DEPENDS = "gtk+ cairo libxml2 libmad libsdl-mixer zlib boost jpeg pango curl"
-
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2"
-
-
-EXTRA_OECONF = "--enable-gui=gtk \
- --enable-renderer=cairo \
- --enable-media=none \
- --disable-klash \
- --enable-z \
- --enable-jpeg \
- --disable-glext \
- --enable-Xft \
- --enable-expat \
- --enable-mad \
- --enable-cairo \
- --disable-plugin \
- --disable-cygnal \
- --with-boost-incl=${STAGING_INCDIR} \
- --with-boost-lib=${STAGING_LIBDIR} \
- --with-libxml-incl=${STAGING_INCDIR}/libxml2 \
- --with-libxml-lib=${STAGING_LIBDIR} \
- --with-glib-incl=${STAGING_INCDIR}/glib-2.0 \
-# --with-glib-lib=${STAGING_LIBDIR} \
- --with-gtk2-incl=${STAGING_INCDIR}/gtk-2.0 \
- --with-pango-incl=${STAGING_INCDIR}/pango-1.0 \
-# --with-pango-lib=${STAGING_LIBDIR} \
- --with-sdl-incl=${STAGING_INCDIR}/SDL \
- --with-atk-incl=${STAGING_INCDIR}/atk-1.0 \
- --with-Xft-incl=${STAGING_INCDIR}/X11 \
- --with-expat-incl=${STAGING_INCDIR} \
- --with-mad-incl=${STAGING_INCDIR} \
- --with-cairo-incl=${STAGING_INCDIR}/cairo \
- --with-curl-incl=${STAGING_INCDIR} \
- --with-curl-lib=${STAGING_LIBDIR} \
- "
-
-inherit autotools pkgconfig
-
-LDFLAGS += " -L${STAGING_LIBDIR} -lcurl -lboost_date_time -lboost_filesystem -lboost_iostreams -lboost_signals -lboost_thread-mt "
-CFLAGS += " -I${STAGING_INCDIR} -I${STAGING_LIBDIR}/gtk-2.0/include/ "
-
-do_configure_append() {
- for i in `find . -name Makefile` ; do
- sed -i s:I/usr/include:I${STAGING_INCDIR}:g $i
- done
-}
-
-
-PARALLEL_MAKE = ""
-
-do_compile() {
- oe_runmake 'CC=${CC}' 'LD=${LD}' 'CFLAGS=${CFLAGS}' \
- 'ZLIB_INCLUDE=${STAGING_INCDIR}' \
- 'ZLIB_LIBS=${STAGING_LIBDIR}' \
- 'PNG_INCLUDE=${STAGING_INCDIR}' \
- 'PNG_LIBS=${STAGING_LIBDIR}'
-}
-
-
-PACKAGES =+ " libgnashamf libgnashbackend libgnashbase libgnashgeo libgnashgui libgnashplayer libgnashserver "
-
-FILES_libgnashamf = "${libdir}/libgnashamf-${PV}.so"
-FILES_libgnashbackend = "${libdir}/libgnashbackend-${PV}.so"
-FILES_libgnashbase = "${libdir}/libgnashbase-${PV}.so"
-FILES_libgnashgeo = "${libdir}/libgnashgeo-${PV}.so"
-FILES_libgnashgui = "${libdir}/libgnashgui-${PV}.so"
-FILES_libgnashplayer = "${libdir}/libgnashplayer-${PV}.so"
-FILES_libgnashserver = "${libdir}/libgnashserver-${PV}.so"
-
-do_stage() {
- autotools_stage_all
-}
-
+require gnash.inc
diff --git a/packages/gnash/gnash_0.8.1.bb b/packages/gnash/gnash_0.8.1.bb
new file mode 100644
index 0000000000..da4b281e94
--- /dev/null
+++ b/packages/gnash/gnash_0.8.1.bb
@@ -0,0 +1 @@
+require gnash.inc
diff --git a/packages/gnome/gnome-desktop.inc b/packages/gnome/gnome-desktop.inc
new file mode 100644
index 0000000000..aeabf4f41e
--- /dev/null
+++ b/packages/gnome/gnome-desktop.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "GNOME library for reading .desktop files"
+SECTION = "x11/gnome"
+LICENSE = "GPL"
+DEPENDS = "gnome-common libgnomeui"
+
+EXTRA_OECONF = "--disable-scrollkeeper"
+
+do_configure_prepend () {
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
+}
+
+do_stage () {
+ autotools_stage_all
+}
+
+FILES_${PN} += "${datadir}/gnome-about"
diff --git a/packages/gnome/gnome-desktop_2.10.2.bb b/packages/gnome/gnome-desktop_2.10.2.bb
index b8e098f40c..2bf249ddb6 100644
--- a/packages/gnome/gnome-desktop_2.10.2.bb
+++ b/packages/gnome/gnome-desktop_2.10.2.bb
@@ -1,17 +1,5 @@
-LICENSE = "GPL"
-SECTION = "x11/gnome"
-PR = "r1"
-DESCRIPTION = "GNOME library for reading .desktop files"
-inherit gnome pkgconfig
-
-DEPENDS = "gnome-common libgnomeui"
+require gnome-desktop.inc
-EXTRA_AUTORECONF = "-I ${STAGING_DATADIR}/aclocal/gnome2-macros"
-
-do_configure_prepend () {
- cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
-}
+PR = "r1"
-do_stage () {
-autotools_stage_all
-}
+inherit gnome pkgconfig
diff --git a/packages/gnome/gnome-desktop_2.16.1.bb b/packages/gnome/gnome-desktop_2.16.1.bb
index 69de709350..fb45b134ae 100644
--- a/packages/gnome/gnome-desktop_2.16.1.bb
+++ b/packages/gnome/gnome-desktop_2.16.1.bb
@@ -1,25 +1,9 @@
-LICENSE = "GPL"
-SECTION = "x11/gnome"
+require gnome-desktop.inc
+
PR = "r2"
-DESCRIPTION = "GNOME library for reading .desktop files"
inherit gnome pkgconfig
-DEPENDS = "gnome-common gnome-doc-utils libgnomeui"
+DEPENDS += "gnome-doc-utils"
SRC_URI += "file://scrollkeeper.patch;patch=1 \
file://no-desktop-docs.patch;patch=1;pnum=0"
-
-EXTRA_OECONF = "--disable-scrollkeeper"
-
-EXTRA_AUTORECONF = "-I ${STAGING_DATADIR}/aclocal/gnome2-macros"
-
-do_configure_prepend () {
- cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
-}
-
-FILES_${PN} += "${datadir}/gnome-about"
-
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/gnome/gnome-desktop_2.18.3.bb b/packages/gnome/gnome-desktop_2.18.3.bb
index c2888bf2a4..7b9a5932e1 100644
--- a/packages/gnome/gnome-desktop_2.18.3.bb
+++ b/packages/gnome/gnome-desktop_2.18.3.bb
@@ -1,23 +1,10 @@
-LICENSE = "GPL"
-SECTION = "x11/gnome"
+require gnome-desktop.inc
+
PR = "r2"
-DESCRIPTION = "GNOME library for reading .desktop files"
+
inherit gnome pkgconfig
-DEPENDS = "gnome-common gnome-doc-utils gnome-vfs libgnomeui"
+DEPENDS += "gnome-doc-utils gnome-vfs"
SRC_URI += "file://scrollkeeper.patch;patch=1 \
file://no-desktop-docs.patch;patch=1;pnum=0"
-
-EXTRA_OECONF = "--disable-scrollkeeper"
-
-do_configure_prepend () {
- cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
-}
-
-FILES_${PN} += "${datadir}/gnome-about"
-
-
-do_stage () {
- autotools_stage_all
-}
diff --git a/packages/gnome/gnome-desktop_2.7.90.bb b/packages/gnome/gnome-desktop_2.7.90.bb
index c7fd61470d..53b70245ca 100644
--- a/packages/gnome/gnome-desktop_2.7.90.bb
+++ b/packages/gnome/gnome-desktop_2.7.90.bb
@@ -1,17 +1,12 @@
-LICENSE = "GPL"
-SECTION = "x11/gnome"
+require gnome-desktop.inc
+
PR = "r0"
-DESCRIPTION = "GNOME library for reading .desktop files"
-inherit gnome
-DEPENDS = "gnome-common libgnomeui"
+inherit gnome
+EXTRA_OECONF = ""
EXTRA_AUTORECONF = "-I ${STAGING_DATADIR}/aclocal/gnome2-macros"
-do_configure_prepend () {
- cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
-}
-
do_stage () {
install -d ${STAGING_INCDIR}/gnome-desktop-2.0/libgnome/
# install -d ${STAGING_INCDIR}/gnome-desktop-2.0/libgnomeui/
diff --git a/packages/gnome/gnome-doc-utils.inc b/packages/gnome/gnome-doc-utils.inc
new file mode 100644
index 0000000000..ff62257aa8
--- /dev/null
+++ b/packages/gnome/gnome-doc-utils.inc
@@ -0,0 +1,16 @@
+LICENSE = "GPL LGPL"
+DEPENDS = "libxml2 libxslt libxslt-native"
+
+PR = "r1"
+
+inherit gnome
+
+EXTRA_OECONF = "--disable-scrollkeeper"
+
+do_stage() {
+ mkdir -p ${STAGING_DATADIR}/xml/gnome/xslt/
+ cp -pPr ${S}/xslt/* ${STAGING_DATADIR}/xml/gnome/xslt/
+ autotools_stage_all
+}
+
+FILES_${PN} += "${datadir}/xml*"
diff --git a/packages/gnome/gnome-doc-utils_0.10.3.bb b/packages/gnome/gnome-doc-utils_0.10.3.bb
index 315cdbd160..cfb4788076 100644
--- a/packages/gnome/gnome-doc-utils_0.10.3.bb
+++ b/packages/gnome/gnome-doc-utils_0.10.3.bb
@@ -1,16 +1,3 @@
-LICENSE = "GPL LGPL"
-DEPENDS = "libxml2 libxslt"
+require gnome-doc-utils.inc
PR = "r0"
-
-inherit gnome
-
-EXTRA_OECONF = "--disable-scrollkeeper"
-
-FILES_${PN} += "${datadir}/xml*"
-
-do_stage() {
- mkdir -p ${STAGING_DATADIR}/xml/gnome/xslt/
- cp -pPr ${S}/xslt/* ${STAGING_DATADIR}/xml/gnome/xslt/
- autotools_stage_all
-}
diff --git a/packages/gnome/gnome-doc-utils_0.12.0.bb b/packages/gnome/gnome-doc-utils_0.12.0.bb
index f190a5ae13..2499ac36e4 100644
--- a/packages/gnome/gnome-doc-utils_0.12.0.bb
+++ b/packages/gnome/gnome-doc-utils_0.12.0.bb
@@ -1,16 +1,3 @@
-LICENSE = "GPL/LGPL"
-DEPENDS = "libxml2 libxslt"
+require gnome-doc-utils.inc
PR = "r1"
-
-inherit gnome
-
-EXTRA_OECONF = "--disable-scrollkeeper"
-
-FILES_${PN} += "${datadir}/xml*"
-
-do_stage() {
- mkdir -p ${STAGING_DATADIR}/xml/gnome/xslt/
- cp -pPr ${S}/xslt/* ${STAGING_DATADIR}/xml/gnome/xslt/
- autotools_stage_all
-}
diff --git a/packages/gnome/gnome-doc-utils_0.7.1.bb b/packages/gnome/gnome-doc-utils_0.7.1.bb
index 86a36c4bd7..2499ac36e4 100644
--- a/packages/gnome/gnome-doc-utils_0.7.1.bb
+++ b/packages/gnome/gnome-doc-utils_0.7.1.bb
@@ -1,16 +1,3 @@
-LICENSE = "GPL LGPL"
-DEPENDS = "libxml2 libxslt"
+require gnome-doc-utils.inc
PR = "r1"
-
-inherit gnome
-
-EXTRA_OECONF = "--disable-scrollkeeper"
-
-FILES_${PN} += "${datadir}/xml*"
-
-do_stage() {
- mkdir -p ${STAGING_DATADIR}/xml/gnome/xslt/
- cp -pPr ${S}/xslt/* ${STAGING_DATADIR}/xml/gnome/xslt/
- autotools_stage_all
-}
diff --git a/packages/gnutls/gnutls-1.6.3/configure_madness.patch b/packages/gnutls/gnutls-1.6.3/configure_madness.patch
index 26111dfe96..bdee81cc54 100644
--- a/packages/gnutls/gnutls-1.6.3/configure_madness.patch
+++ b/packages/gnutls/gnutls-1.6.3/configure_madness.patch
@@ -1,7 +1,7 @@
Index: gnutls-1.6.3/configure.in
===================================================================
---- gnutls-1.6.3.orig/configure.in 2007-05-25 12:28:59.000000000 +0000
-+++ gnutls-1.6.3/configure.in 2007-11-13 17:53:23.000000000 +0000
+--- gnutls-1.6.3.orig/configure.in 2008-02-29 09:58:12.000000000 +0000
++++ gnutls-1.6.3/configure.in 2008-02-29 09:58:15.000000000 +0000
@@ -574,13 +574,13 @@
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
@@ -20,3 +20,30 @@ Index: gnutls-1.6.3/configure.in
AC_SUBST(LIBGNUTLS_EXTRA_LIBS)
AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS)
export ac_full
+Index: gnutls-1.6.3/lib/gnutls.pc.in
+===================================================================
+--- gnutls-1.6.3.orig/lib/gnutls.pc.in 2008-02-29 09:58:23.000000000 +0000
++++ gnutls-1.6.3/lib/gnutls.pc.in 2008-02-29 09:58:49.000000000 +0000
+@@ -18,6 +18,7 @@
+ Name: GnuTLS
+ Description: Transport Security Layer implementation for the GNU system
+ Version: @VERSION@
++Requires.private: gcrypt
+ Libs: -L${libdir} -lgnutls
+-Libs.private: @LIBGNUTLS_LIBS@
++Libs.private: -L${libdir} -lgnutls
+ Cflags: -I${includedir}
+Index: gnutls-1.6.3/libextra/gnutls-extra.pc.in
+===================================================================
+--- gnutls-1.6.3.orig/libextra/gnutls-extra.pc.in 2008-02-29 09:59:02.000000000 +0000
++++ gnutls-1.6.3/libextra/gnutls-extra.pc.in 2008-02-29 09:59:31.000000000 +0000
+@@ -18,7 +18,8 @@
+ Name: GnuTLS-extra
+ Description: Additional add-ons for GnuTLS licensed under GPL
+ Requires: gnutls
++Requires.private: gnutls
+ Version: @VERSION@
+ Libs: -L${libdir} -lgnutls-extra
+-Libs.private: @LIBGNUTLS_EXTRA_LIBS@
++Libs.private: -L${libdir} -lgnutls-extra
+ Cflags: -I${includedir}
diff --git a/packages/gnutls/gnutls.inc b/packages/gnutls/gnutls.inc
index d08b0ca931..781267093c 100644
--- a/packages/gnutls/gnutls.inc
+++ b/packages/gnutls/gnutls.inc
@@ -1,7 +1,6 @@
DESCRIPTION = "GNU Transport Layer Security Library"
HOMEPAGE = "http://www.gnu.org/software/gnutls/"
DEPENDS = "zlib libgcrypt lzo"
-
LICENSE = "LGPL"
SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2"
@@ -10,6 +9,11 @@ inherit autotools binconfig pkgconfig
EXTRA_OECONF="--with-included-opencdk --with-included-libtasn1"
+# fix wrong dependency
+do_configure_append() {
+ sed -i s,gcrypt,libgcrypt, lib/gnutls.pc.in
+}
+
do_stage() {
oe_libinstall -C lib/.libs -so -a libgnutls ${STAGING_LIBDIR}
oe_libinstall -C libextra/.libs -so -a libgnutls-extra ${STAGING_LIBDIR}
diff --git a/packages/gnutls/gnutls_1.4.5.bb b/packages/gnutls/gnutls_1.4.5.bb
index 3337e0b370..4c247717ae 100644
--- a/packages/gnutls/gnutls_1.4.5.bb
+++ b/packages/gnutls/gnutls_1.4.5.bb
@@ -1,3 +1,3 @@
require gnutls.inc
-PR = "r1"
+PR = "r2"
diff --git a/packages/gnutls/gnutls_1.6.3.bb b/packages/gnutls/gnutls_1.6.3.bb
index ddaef1dea3..cc35d8b7a3 100644
--- a/packages/gnutls/gnutls_1.6.3.bb
+++ b/packages/gnutls/gnutls_1.6.3.bb
@@ -6,4 +6,4 @@ SRC_URI += "\
file://configure_madness.patch;patch=1 \
"
-PR = "r3"
+PR = "r5"
diff --git a/packages/gpe-login/files/chvt-keylaunch.patch b/packages/gpe-login/files/chvt-keylaunch.patch
index 5e62a1107e..798c059ccc 100644
--- a/packages/gpe-login/files/chvt-keylaunch.patch
+++ b/packages/gpe-login/files/chvt-keylaunch.patch
@@ -1,11 +1,12 @@
---- gpe-login-0.86/gpe-login.keylaunchrc.orig 2006-05-28 20:38:39.846547024 +0200
-+++ gpe-login-0.86/gpe-login.keylaunchrc 2006-05-28 20:38:56.800969560 +0200
-@@ -1,3 +1,8 @@
- key=???XF86AudioRecord:xcalibrate:/usr/bin/gpe-xcalibrate.sh
- key=???XF86PowerDown:-:/usr/bin/apm --suspend
- key=???Held XF86PowerDown:-:bl toggle
+--- /tmp/gpe-login.keylaunchrc 2006-05-29 23:46:42.806081576 +0200
++++ gpe-login-0.87/gpe-login.keylaunchrc 2006-05-29 23:48:18.476537456 +0200
+@@ -1,3 +1,9 @@
+ key=????XF86AudioRecord:xcalibrate:/usr/bin/gpe-xcalibrate.sh
+ key=????XF86PowerDown:-:/usr/bin/apm --suspend
+ key=????Held XF86PowerDown:-:bl toggle
+
+# VT changing
+key=...*Left:-:~chvt 1
+key=...*Right:-:~chvt 3
+key=...*Escape:-:~/etc/init.d/gpe-dm stop
++
diff --git a/packages/gpe-login/files/lock-on-supend.patch b/packages/gpe-login/files/lock-on-supend.patch
index 29ccce5ae6..0b00a75ead 100644
--- a/packages/gpe-login/files/lock-on-supend.patch
+++ b/packages/gpe-login/files/lock-on-supend.patch
@@ -1,4 +1,5 @@
upstream: http://bugs.linuxtogo.org/show_bug.cgi?id=125
+status: accepted in 0.91
Lock screen when device goes to suspend, not after some time has passed
since resume and they stole your data from the unprotected screen.
diff --git a/packages/gsm/files/fic-gta01/.mtn2git_empty b/packages/gpe-login/gpe-login-0.86/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/gsm/files/fic-gta01/.mtn2git_empty
+++ b/packages/gpe-login/gpe-login-0.86/.mtn2git_empty
diff --git a/packages/gpe-login/gpe-login-0.86/chvt-keylaunch.patch b/packages/gpe-login/gpe-login-0.86/chvt-keylaunch.patch
new file mode 100644
index 0000000000..5e62a1107e
--- /dev/null
+++ b/packages/gpe-login/gpe-login-0.86/chvt-keylaunch.patch
@@ -0,0 +1,11 @@
+--- gpe-login-0.86/gpe-login.keylaunchrc.orig 2006-05-28 20:38:39.846547024 +0200
++++ gpe-login-0.86/gpe-login.keylaunchrc 2006-05-28 20:38:56.800969560 +0200
+@@ -1,3 +1,8 @@
+ key=???XF86AudioRecord:xcalibrate:/usr/bin/gpe-xcalibrate.sh
+ key=???XF86PowerDown:-:/usr/bin/apm --suspend
+ key=???Held XF86PowerDown:-:bl toggle
++
++# VT changing
++key=...*Left:-:~chvt 1
++key=...*Right:-:~chvt 3
++key=...*Escape:-:~/etc/init.d/gpe-dm stop
diff --git a/packages/gpe-login/gpe-login-0.90/chvt-keylaunch.patch b/packages/gpe-login/gpe-login-0.90/chvt-keylaunch.patch
deleted file mode 100644
index 798c059ccc..0000000000
--- a/packages/gpe-login/gpe-login-0.90/chvt-keylaunch.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- /tmp/gpe-login.keylaunchrc 2006-05-29 23:46:42.806081576 +0200
-+++ gpe-login-0.87/gpe-login.keylaunchrc 2006-05-29 23:48:18.476537456 +0200
-@@ -1,3 +1,9 @@
- key=????XF86AudioRecord:xcalibrate:/usr/bin/gpe-xcalibrate.sh
- key=????XF86PowerDown:-:/usr/bin/apm --suspend
- key=????Held XF86PowerDown:-:bl toggle
-+
-+# VT changing
-+key=...*Left:-:~chvt 1
-+key=...*Right:-:~chvt 3
-+key=...*Escape:-:~/etc/init.d/gpe-dm stop
-+
diff --git a/packages/gpe-login/gpe-login_0.91.bb b/packages/gpe-login/gpe-login_0.91.bb
new file mode 100644
index 0000000000..16d9e471d7
--- /dev/null
+++ b/packages/gpe-login/gpe-login_0.91.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "GPE user login screen"
+SECTION = "gpe"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd"
+RDEPENDS = "xkbd gpe-theme-clearlooks"
+RPROVIDES_${PN} = "gpe-session-starter"
+PR = "r0"
+
+SRC_URI_OVERRIDES_PACKAGE_ARCH = "1"
+
+GPE_TARBALL_SUFFIX = "bz2"
+
+inherit gpe autotools pkgconfig
+
+
+SRC_URI += "file://removeblue-fontsize8.patch;patch=1"
+SRC_URI += " file://chvt-keylaunch.patch;patch=1 "
+SRC_URI += " file://gpe-xcalibrate-rises-from-dead.patch;patch=1 "
+SRC_URI += " file://size-autolock-properly.patch;patch=1 "
+SRC_URI += " file://c-locale.patch;patch=1 "
+
+SRC_URI_append_spitz = "file://brightness-adjust-keyluanchrc.patch;patch=1"
+SRC_URI_append_akita = "file://brightness-adjust-keyluanchrc.patch;patch=1"
+SRC_URI_append_c7x0 = "file://brightness-adjust-keyluanchrc.patch;patch=1"
+
diff --git a/packages/gpephone/linphone_1.5.0.bb b/packages/gpephone/linphone_1.5.0.bb
index 5ce1c0b58c..631c2d7933 100644
--- a/packages/gpephone/linphone_1.5.0.bb
+++ b/packages/gpephone/linphone_1.5.0.bb
@@ -15,8 +15,8 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--disable-gnome_ui --disable-gtk-doc --without-ffmpeg \
--without-sdl --disable-video --enable-alsa \
- --with-osip=${STAGING_DIR}/${HOST_SYS} \
- --with-readline=${STAGING_DIR}/${HOST_SYS} \
+ --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
--disable-truespeech --disable-manual \
--disable-glibtest --disable-glib --disable-strict"
diff --git a/packages/gpgme/gpgme.inc b/packages/gpgme/gpgme.inc
new file mode 100644
index 0000000000..71cd68fa2b
--- /dev/null
+++ b/packages/gpgme/gpgme.inc
@@ -0,0 +1,27 @@
+DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications"
+HOMEPAGE = "http://www.gnupg.org/gpgme.html"
+LICENSE = "GPL"
+DEPENDS = "libgpg-error pth libassuan"
+
+SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-${PV}.tar.gz"
+
+EXTRA_OECONF = "--with-pth=${STAGING_DIR_HOST}${layout_exec_prefix} --without-pth-test --with-gpg=${bindir}/gpg --without-gpgsm"
+
+LEAD_SONAME = "libgpgme.so"
+
+inherit autotools binconfig
+
+do_stage() {
+ autotools_stage_includes
+
+ install -d ${STAGING_LIBDIR}
+ oe_libinstall -C gpgme -so libgpgme ${STAGING_LIBDIR}
+ oe_libinstall -C gpgme -so libgpgme-pth ${STAGING_LIBDIR}
+ oe_libinstall -C gpgme -so libgpgme-pthread ${STAGING_LIBDIR}
+
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 gpgme/gpgme.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+FILES_${PN} = "${libdir}/libgpgme*.so.*"
+FILES_${PN}-dev += "${bindir}/gpgme-config"
diff --git a/packages/gpgme/gpgme_1.0.0.bb b/packages/gpgme/gpgme_1.0.0.bb
index 8292991a89..2a8923ba4c 100644
--- a/packages/gpgme/gpgme_1.0.0.bb
+++ b/packages/gpgme/gpgme_1.0.0.bb
@@ -1,22 +1,3 @@
-LICENSE = "GPL"
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-${PV}.tar.gz"
-PR = "r1"
-
-DEPENDS = "libgpg-error pth libassuan"
-
-EXTRA_OECONF = "--with-pth=${STAGING_DIR}/${HOST_SYS} --without-pth-test --with-gpg=${bindir}/gpg --without-gpgsm"
-
-inherit autotools binconfig
-
-do_stage() {
- autotools_stage_includes
-
- install -d ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme-pth ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme-pthread ${STAGING_LIBDIR}
-
- install -d ${STAGING_DATADIR}/aclocal
- install -m 0644 gpgme/gpgme.m4 ${STAGING_DATADIR}/aclocal/
-}
+require gpgme.inc
+PR = "r2"
diff --git a/packages/gpgme/gpgme_1.0.3.bb b/packages/gpgme/gpgme_1.0.3.bb
index 8292991a89..2a8923ba4c 100644
--- a/packages/gpgme/gpgme_1.0.3.bb
+++ b/packages/gpgme/gpgme_1.0.3.bb
@@ -1,22 +1,3 @@
-LICENSE = "GPL"
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-${PV}.tar.gz"
-PR = "r1"
-
-DEPENDS = "libgpg-error pth libassuan"
-
-EXTRA_OECONF = "--with-pth=${STAGING_DIR}/${HOST_SYS} --without-pth-test --with-gpg=${bindir}/gpg --without-gpgsm"
-
-inherit autotools binconfig
-
-do_stage() {
- autotools_stage_includes
-
- install -d ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme-pth ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme-pthread ${STAGING_LIBDIR}
-
- install -d ${STAGING_DATADIR}/aclocal
- install -m 0644 gpgme/gpgme.m4 ${STAGING_DATADIR}/aclocal/
-}
+require gpgme.inc
+PR = "r2"
diff --git a/packages/gpgme/gpgme_1.1.4.bb b/packages/gpgme/gpgme_1.1.4.bb
index e51fca90b9..2b8b07c90e 100644
--- a/packages/gpgme/gpgme_1.1.4.bb
+++ b/packages/gpgme/gpgme_1.1.4.bb
@@ -1,27 +1,3 @@
-LICENSE = "GPL"
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-${PV}.tar.bz2"
-PR = "r2"
-
-DEPENDS = "libgpg-error pth libassuan"
-
-EXTRA_OECONF = "--with-pth=${STAGING_DIR}/${HOST_SYS} --without-pth-test --with-gpg=${bindir}/gpg --without-gpgsm"
-
-inherit autotools binconfig
-
-do_stage() {
- autotools_stage_includes
-
- install -d ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme-pth ${STAGING_LIBDIR}
- oe_libinstall -C gpgme -so libgpgme-pthread ${STAGING_LIBDIR}
-
- install -d ${STAGING_DATADIR}/aclocal
- install -m 0644 gpgme/gpgme.m4 ${STAGING_DATADIR}/aclocal/
-}
-
-FILES_${PN} = "${libdir}/libgpgme*.so.*"
-FILES_${PN}-dev += "${bindir}/gpgme-config"
-
-LEAD_SONAME = "libgpgme"
+require gpgme.inc
+PR = "r3"
diff --git a/packages/gpsd/gpsd.inc b/packages/gpsd/gpsd.inc
index d2630e5e43..f7952e0297 100644
--- a/packages/gpsd/gpsd.inc
+++ b/packages/gpsd/gpsd.inc
@@ -82,5 +82,5 @@ RDEPENDS_gps-utils = "python-pygps"
DESCRIPTION_python-pygps = "Python bindings to gpsd"
FILES_python-pygps = "${libdir}/*/site-packages/*"
-RDEPENDS_python-pygps = "python-core python-ncurses gpsd"
+RDEPENDS_python-pygps = "python-core python-curses gpsd"
diff --git a/packages/kphonepi/.mtn2git_empty b/packages/gpsdrive/gpsdrive-2.10pre4/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/kphonepi/.mtn2git_empty
+++ b/packages/gpsdrive/gpsdrive-2.10pre4/.mtn2git_empty
diff --git a/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch
new file mode 100644
index 0000000000..878cb1dba9
--- /dev/null
+++ b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch
@@ -0,0 +1,128 @@
+diff -ur gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl gpsdrive-2.10pre4/scripts/gpsfetchmap.pl
+--- gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/scripts/gpsfetchmap.pl 2008-01-04 19:01:35.000000000 +0100
+@@ -35,6 +35,7 @@
+ modified (Jul 2005) by Jaroslaw Zachwieja <grok\@filippa.org.uk>
+ modified (Dec 2005) by David Pollard <david dot pollard\@optusnet.com.au>
+ modified (Jul 2007) by Maciek Kaliszewski <mkalkal\@interia.pl>
++modified (Jan 2008) by Gernot Hillier <gernot\@hillier.de> (added Openstreetmap support)
+ Version svn-$Version
+ ";
+
+@@ -176,6 +177,25 @@
+ 15812 => 3 ,
+ 7906 => 2,
+ 3953 => 1
++ },
++ openstreetmap_tah => {
++ 256*576000 => 1,
++ 128*576000 => 2,
++ 64*576000 => 3,
++ 32*576000 => 4,
++ 16*576000 => 5,
++ 8*576000 => 6,
++ 4*576000 => 7,
++ 2*576000 => 8,
++ 576000 => 9,
++ 288000 => 10,
++ 144000 => 11,
++ 72000 => 12,
++ 36000 => 13,
++ 18000 => 14,
++ 9000 => 15,
++ 4500 => 16,
++ 2250 => 17
+ }
+ };
+
+@@ -331,7 +351,6 @@
+ exit();
+ }
+
+-
+ # Verify that we have the options that we need
+ pod2usage(1) if (&error_check);
+
+@@ -417,6 +436,13 @@
+ print "+-----------------------------------------------------------+\n";
+ print "| Landsat Maps are Copyright, ..... |\n";
+ print "| They are free for non commercial use. |\n";
++}elsif ( $mapserver eq 'openstreetmap_tah' ){
++ print "+-----------------------------------------------------------+\n";
++ print "| OpenStreetmap Maps are Copyright by the OpenStreetmap |\n";
++ print "| project. |\n";
++ print "| They are free for use under the terms of the |\n";
++ print "| Creative Commons \"Attribution-Share Alike 2.0 Generic\" |\n";
++ print "| license. See http://www.openstreetmap.org for details. |\n";
+ } elsif ( ! $force) {
+ print "You are violating the map servers copyright!\n";
+ print "Are you sure you want to continue? [y|n] ";
+@@ -700,6 +726,11 @@
+ {
+ ($url,$mapscale)=googlemap_url($lati,$long,$scale);
+ }
++ elsif ( $mapserver eq 'openstreetmap_tah')
++ {
++ $filename=~s/\.gif/.png/;
++ ($url,$mapscale)=openstreetmap_tah_url($lati,$long,$scale);
++ }
+ else
+ {
+ print "Unknown map sever :", $mapserver, "\n";
+@@ -935,6 +966,37 @@
+ return ($url,$mapscale);
+ }
+
++#############################################################################
++sub openstreetmap_tah_url($$$){
++ my $lati = shift;
++ my $long = shift;
++ my $scale = shift;
++
++ my $mapscale = $scale;
++ my $zoom = undef;
++ for my $s ( sort keys %{$Scale2Zoom->{openstreetmap_tah}} ) {
++ next unless $s == $scale;
++ $zoom = $Scale2Zoom->{openstreetmap_tah}->{$s};
++ $mapscale = $s;
++ last;
++ }
++
++ unless ( $zoom ) {
++ print "Error calculating Zoomlevel for Scale: $scale\n";
++ return (undef,undef);
++ }
++
++ if ($debug) {
++ print "\n";
++ print "Using openstreetmap_tah zoom ", $zoom, " for requested scale ", $scale, ":1 actual scale ", $mapscale, ":1\n";
++ print "lat: $lati\n";
++ print "lon: $long\n";
++ }
++
++ my $url = "http://tah.openstreetmap.org/MapOf/?lat=$lati&long=$long&z=$zoom&w=1280&h=1024&format=png";
++# print "$url\n";
++ return ($url,$mapscale);
++}
+
+ #############################################################################
+ sub eniro_url($$$){
+@@ -2284,7 +2346,7 @@
+ =item B<--mapserver <MAPSERVER>>
+
+ Mapserver to download from. Default: 'expedia'.
+-Currently can use: landsat or expedia.
++Currently usable: landsat, expedia or openstreetmap_tah.
+
+ geoscience, gov_au, incrementp, googlesat, googlemap and eniro have download stubs,
+ but they are !!!NOT!!!! in the right scale.
+@@ -2294,6 +2356,9 @@
+
+ landsat covers the whole world with satelite Photos
+
++openstreetmap_tah: Free maps from the OpenStreetmap Tiles@Home project, see
++ http://www.openstreetmap.org and http://tah.openstreetmap.org.
++
+ gov_au is for Australia
+
+ incrementp for japanese Maps
diff --git a/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch
new file mode 100644
index 0000000000..c51c80931c
--- /dev/null
+++ b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch
@@ -0,0 +1,18 @@
+Index: src/map_handler.c
+===================================================================
+--- aa/src/map_handler.c (Revision 1699)
++++ aa/src/map_handler.c (Revision 1700)
+@@ -660,9 +660,12 @@
+ if (maploaded)
+ gdk_pixbuf_unref (image);
+
++#ifdef MAPNIK
+ if ( !strcmp (filename,"mapnik") ) {
+ limage = gdk_pixbuf_new_from_data(get_mapnik_imagedata(), GDK_COLORSPACE_RGB, FALSE, 8, 1280, 1024, 1280 * 3, NULL, NULL);
+- } else {
++ } else
++#endif
++ {
+ limage = gdk_pixbuf_new_from_file (filename, NULL);
+ if (limage == NULL)
+ {
diff --git a/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch
new file mode 100644
index 0000000000..c8c0fe9c6a
--- /dev/null
+++ b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch
@@ -0,0 +1,96 @@
+diff -ur gpsdrive-2.10pre4.orig/src/Makefile.am gpsdrive-2.10pre4/src/Makefile.am
+--- gpsdrive-2.10pre4.orig/src/Makefile.am 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/src/Makefile.am 2007-12-28 18:50:29.000000000 +0100
+@@ -14,14 +14,14 @@
+ -DLOCALEDIR=\"${localedir}\" -DDATADIR=\"${datadir}\" \
+ -DLIBDIR=\"${libdir}\" \
+ -DFRIENDSSERVERVERSION=\"${FRIENDSSERVERVERSION}\" \
+- ${NOGARMIN} ${NOPLUGINS} ${AMAPNIK}\
+- -I/usr/include/ \
+- -I/usr/local/include \
+- -I/opt/boost_1_35/include/boost-1_35 \
+- -I/usr/local/include/freetype2 \
+- -I/usr/include/freetype2 \
++ ${NOGARMIN} ${NOPLUGINS} ${AMAPNIK}
++# -I/usr/include/ \
++# -I/usr/local/include \
++# -I/opt/boost_1_35/include/boost-1_35 \
++# -I/usr/local/include/freetype2 \
++# -I/usr/include/freetype2 \
+ -I. \
+- -L/usr/local/lib
++# -L/usr/local/lib
+
+ # -I/usr/include/dbus-1.0/
+
+diff -ur gpsdrive-2.10pre4.orig/configure gpsdrive-2.10pre4/configure
+--- gpsdrive-2.10pre4.orig/configure 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/configure 2008-01-06 14:49:11.000000000 +0100
+@@ -35950,10 +35950,13 @@
+ # Yep, its ebil, but I does not know better...
+ #PERL_PACKAGE_DIR=`perl -V:installsitearch | sed "s/installsitearch='//" | sed "s/';//"`
+ # default on debian should be: /usr/share/perl5/
+-PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
++#PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
+ #PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr,-${prefix}-,"`
+-PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++#PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
+
++# hard code path for OpenEmbedded environment as I don't know a way
++# to detect it automatically
++PERL_PACKAGE_DIR="/usr/share/perl5"
+
+ ac_perl_modules="File::Basename "
+ # Make sure we have perl
+@@ -37840,11 +37843,11 @@
+ # AC_SUBST(DLSYM_CFLAGS,'-Ddlsym=dlsym_prepend_underscore')
+ #fi
+
+-if test -f /usr/include/mysql/mysql.h; then
+- CFLAGS="$CFLAGS -I/usr/include/mysql"
+-else
+- CFLAGS="$CFLAGS -Imysql"
+-fi
++#if test -f /usr/include/mysql/mysql.h; then
++# CFLAGS="$CFLAGS -I/usr/include/mysql"
++#else
++# CFLAGS="$CFLAGS -Imysql"
++#fi
+
+ CFLAGS="$CFLAGS $OPT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPT_CFLAGS"
+diff -ur gpsdrive-2.10pre4.orig/configure.ac gpsdrive-2.10pre4/configure.ac
+--- gpsdrive-2.10pre4.orig/configure.ac 2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/configure.ac 2008-01-06 14:48:50.000000000 +0100
+@@ -662,9 +662,12 @@
+ # Yep, its ebil, but I does not know better...
+ #PERL_PACKAGE_DIR=`perl -V:installsitearch | sed "s/installsitearch='//" | sed "s/';//"`
+ # default on debian should be: /usr/share/perl5/
+-PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
++#PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
+ #PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr,-${prefix}-,"`
+-PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++#PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++# hard code path for OpenEmbedded environment as I don't know a way
++# to detect it automatically
++PERL_PACKAGE_DIR="/usr/share/perl5"
+ AC_SUBST(PERL_PACKAGE_DIR)
+
+ AC_PROG_PERL_MODULES(File::Basename , , AC_MSG_ERROR(Need Perl module File::Basename))
+@@ -719,11 +722,11 @@
+ # AC_SUBST(DLSYM_CFLAGS,'-Ddlsym=dlsym_prepend_underscore')
+ #fi
+
+-if test -f /usr/include/mysql/mysql.h; then
+- CFLAGS="$CFLAGS -I/usr/include/mysql"
+-else
+- CFLAGS="$CFLAGS -Imysql"
+-fi
++#if test -f /usr/include/mysql/mysql.h; then
++# CFLAGS="$CFLAGS -I/usr/include/mysql"
++#else
++# CFLAGS="$CFLAGS -Imysql"
++#fi
+
+ CFLAGS="$CFLAGS $OPT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPT_CFLAGS"
diff --git a/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop
new file mode 100644
index 0000000000..96e8155861
--- /dev/null
+++ b/packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=GPSDrive
+Comment=GPS map software
+Exec=gpsdrive -M pda -1
+Icon=gpsicon
+Terminal=false
+Type=Application
+Categories=Graphics;Network;Geography;Application;Other
+StartupNotify=true
diff --git a/packages/gpsdrive/gpsdrive_2.10pre2.bb b/packages/gpsdrive/gpsdrive_2.10pre2.bb
index 675c556b6f..f44c5925d2 100644
--- a/packages/gpsdrive/gpsdrive_2.10pre2.bb
+++ b/packages/gpsdrive/gpsdrive_2.10pre2.bb
@@ -9,7 +9,7 @@ SECTION = "x11"
PRIORITY = "optional"
LICENSE = "GPL"
-SRC_URI = "http://www.gpsdrive.de/${PN}-${PV}.tar.gz \
+SRC_URI = "http://www.gpsdrive.de/packages/${PN}-${PV}.tar.gz \
file://gpsdrive.desktop"
CFLAGS += "-D_GNU_SOURCE"
diff --git a/packages/gpsdrive/gpsdrive_2.10pre3.bb b/packages/gpsdrive/gpsdrive_2.10pre3.bb
index cb651aaf39..6a97344260 100644
--- a/packages/gpsdrive/gpsdrive_2.10pre3.bb
+++ b/packages/gpsdrive/gpsdrive_2.10pre3.bb
@@ -11,7 +11,7 @@ SECTION = "x11"
PRIORITY = "optional"
LICENSE = "GPL"
-SRC_URI = "http://www.ostertag.name/tweety/Projekte/gpsdrive/gpsdrive-2.10pre3.tar.gz \
+SRC_URI = "http://www.gpsdrive.de/packages/${PN}-${PV}.tar.gz \
file://gpsdrive.desktop"
CFLAGS += "-D_GNU_SOURCE"
diff --git a/packages/gpsdrive/gpsdrive_2.10pre4.bb b/packages/gpsdrive/gpsdrive_2.10pre4.bb
new file mode 100644
index 0000000000..071a5691e3
--- /dev/null
+++ b/packages/gpsdrive/gpsdrive_2.10pre4.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "GPS navigation/map display software"
+SECTION = "x11"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "virtual/libc gtk+ libpcre gpsd libwww-perl-native mysql"
+RDEPENDS_${PN} = "gdk-pixbuf-loader-gif gpsd libwww-perl"
+PR = "r1"
+
+SRC_URI = "http://www.gpsdrive.de/packages/${PN}-${PV}.tar.gz \
+ file://gpsdrive_2.10pre4.desktop \
+ file://gpsdrive-remove-hardcoded-paths.patch;patch=1 \
+ file://gpsdrive-ifdef-mapnik.patch;patch=1 \
+ file://gpsdrive-2.10pre4-openstreetmap-download.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-garmin"
+
+do_install_append () {
+ mkdir -p ${D}${datadir}/applications
+ install -m 0644 ${WORKDIR}/gpsdrive_2.10pre4.desktop ${D}${datadir}/applications/gpsdrive.desktop
+ mkdir -p ${D}${datadir}/pixmaps
+ cp ${D}${datadir}/${PN}/pixmaps/gpsicon.png ${D}${datadir}/pixmaps
+ # remove stuff we don't want to package
+ rm ${D}${datadir}/${PN}/gpsdrive.desktop # we have our own one
+ rm -rf ${D}${datadir}/${PN}/DSL # for Damn Small Linux
+ rm -rf ${D}${datadir}/${PN}/gentoo # for Gentoo
+}
+
+PACKAGES += "gpsdrive-maps gpsdrive-map-icons-classic gpsdrive-map-icons-other gpsdrive-addons"
+
+FILES_${PN} = "${bindir}/gpsdrive ${datadir}/applications ${datadir}/map-icons/icons.xml"
+FILES_${PN} += "${datadir}/pixmaps ${datadir}/${PN}/pixmaps ${datadir}/${PN}/poi"
+FILES_${PN}-addons = "${bindir}/*.pl ${bindir}/friendsd2 ${bindir}/geo* ${bindir}/*.sh ${bindir}/*.py ${bindir}/gpsreplay ${bindir}/gpssmswatch ${bindir}/wp* ${datadir}/mapnik ${datadir}/perl*/Geo ${datadir}/perl*/Utils"
+FILES_${PN}-map-icons-classic = "${datadir}/map-icons/classic.small"
+FILES_${PN}-map-icons-other = "${datadir}/map-icons/classic.big ${datadir}/map-icons/japan ${datadir}/map-icons/nickw ${datadir}/map-icons/square.big ${datadir}/map-icons/square.small ${datadir}/map-icons/svg"
+FILES_${PN}-maps = "${datadir}/${PN}/maps ${datadir}/${PN}/map_koord.txt"
+FILES_${PN}-doc = "${datadir}/man ${datadir}/${PN}/Documentation"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+DEFAULT_PREFERENCE = "1"
diff --git a/packages/gsm/files/default b/packages/gsm/files/default
index 467bd339eb..cf36460fac 100644
--- a/packages/gsm/files/default
+++ b/packages/gsm/files/default
@@ -13,6 +13,7 @@ case `machine_id` in
GSM_RES="/sys/bus/platform/devices/neo1973-pm-gsm.0/reset"
fi
GSM_DEV="/dev/ttySAC0"
+ GSM_DL="/sys/devices/platform/neo1973-pm-gsm.0/download"
;;
"htc_apache"|"htc_blueangel"|"htc_universal")
GSMD_OPTS="-s 115200 -F"
diff --git a/packages/gsm/files/fic-gta01/gsmd b/packages/gsm/files/fic-gta01/gsmd
deleted file mode 100644
index d8323e202c..0000000000
--- a/packages/gsm/files/fic-gta01/gsmd
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-#
-# gsmd This shell script starts and stops gsmd.
-#
-# chkconfig: 345 90 40
-# description: Gsmd manages access to a serial- or USB-connected GSM
-# processname: gsmd
-
-PATH=/bin:/usr/bin:/sbin:/usr/sbin
-
-[ -f /etc/default/rcS ] && . /etc/default/rcS
-[ -f /etc/default/gsmd ] && . /etc/default/gsmd
-
-case "$1" in
- start)
- stty -F "$GSM_DEV" -crtscts
- [ -n "$GSM_POW" ] && ( echo "0" >$GSM_POW; sleep 1 )
- stty -F "$GSM_DEV" -echo
- [ -n "$GSM_POW" ] && ( echo "1" >$GSM_POW; sleep 1 )
- [ -n "$GSM_RES" ] && ( echo "1" >$GSM_RES; sleep 1 )
- [ -n "$GSM_RES" ] && ( echo "0" >$GSM_RES; sleep 2 )
-
- echo -n "Starting GSM daemon: "
- start-stop-daemon -S -x /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS >/tmp/gsm.log 2>&1 &
-
- if [ $? = 0 ]; then
- echo "gsmd."
- else
- echo "(failed.)"
- fi
- ;;
- stop)
- echo -n "Stopping GSM daemon: "
- start-stop-daemon -K -x /usr/sbin/gsmd
- stty -F "$GSM_DEV" -crtscts
- [ -n "$GSM_POW" ] && echo "0" >$GSM_POW
- echo "gsmd."
- ;;
- restart|force-reload)
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: /etc/init.d/gsmd {start|stop|restart|force-reload}"
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/packages/gsm/files/gsmd b/packages/gsm/files/gsmd
index 9257b901ad..fadae76aee 100644
--- a/packages/gsm/files/gsmd
+++ b/packages/gsm/files/gsmd
@@ -13,6 +13,7 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin
case "$1" in
start)
+ [ -n "$GSM_DL" ] && ( echo "1" >$GSM_DL; sleep 1 )
[ -n "$GSM_POW" ] && ( echo "0" >$GSM_POW; sleep 1 )
[ -n "$GSM_POW" ] && ( echo "1" >$GSM_POW; sleep 1 )
[ -n "$GSM_RES" ] && ( echo "1" >$GSM_RES; sleep 1 )
diff --git a/packages/gsm/gsmd.inc b/packages/gsm/gsmd.inc
index a6b6fb7a6a..5e47847d74 100644
--- a/packages/gsm/gsmd.inc
+++ b/packages/gsm/gsmd.inc
@@ -5,7 +5,7 @@ SECTION = "libs/gsm"
PROVIDES += "gsmd"
RPROVIDES_${PN} = "libgsmd0 libgsmd gsmd gsmd-devel"
PV = "0.1+svnr${SRCREV}"
-PR = "r41"
+PR = "r42"
SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
file://gsmd \
diff --git a/packages/gstreamer/gst-plugin-pulse_0.9.7.bb b/packages/gstreamer/gst-plugin-pulse_0.9.7.bb
index 5a83f3915b..8351856143 100644
--- a/packages/gstreamer/gst-plugin-pulse_0.9.7.bb
+++ b/packages/gstreamer/gst-plugin-pulse_0.9.7.bb
@@ -4,8 +4,6 @@ LICENSE = "GPL"
DEPENDS = "gstreamer pulseaudio"
PR = "r1"
-DEFAULT_PREFERENCE = "-1"
-
SRC_URI = "http://0pointer.de/lennart/projects/gst-pulse/gst-pulse-${PV}.tar.gz \
file://dont-overload-pulseaudio.patch;patch=1"
S = "${WORKDIR}/gst-pulse-${PV}"
diff --git a/packages/gtk+/gdk-pixbuf_2.10.14.bb b/packages/gtk+/gdk-pixbuf_2.10.14.bb
index ecd2d51d49..7d3e7dc92a 100644
--- a/packages/gtk+/gdk-pixbuf_2.10.14.bb
+++ b/packages/gtk+/gdk-pixbuf_2.10.14.bb
@@ -73,7 +73,7 @@ do_compile() {
do_stage() {
oe_libinstall -C gdk-pixbuf -so libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
- cd gdk-pixbuf && oe_runmake install DESTDIR=${STAGING_DIR}/usr
+ cd gdk-pixbuf && oe_runmake install DESTDIR=${STAGING_DIR_HOST}${layout_exec_prefix}
autotools_stage_includes
# install -d -m 0755 ${STAGING_LIBDIR}/gtk-2.0/include
# install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
diff --git a/packages/gtk+/gtk+-directfb_2.10.14.bb b/packages/gtk+/gtk+-directfb_2.10.14.bb
index e77f24638d..6fcaf299dc 100644
--- a/packages/gtk+/gtk+-directfb_2.10.14.bb
+++ b/packages/gtk+/gtk+-directfb_2.10.14.bb
@@ -44,7 +44,7 @@ SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-${PV}.tar.bz2 \
# file://gtk-doc.patch;patch=1 \
"
EXTRA_OECONF =" \
- --prefix=${STAGING_DIR} \
+ --prefix=${STAGING_DIR_HOST}${layout_prefix} \
--with-gdktarget=directfb \
--without-x \
--without-libtiff \
diff --git a/packages/gtk-webcore/files/path_fixes.patch b/packages/gtk-webcore/files/path_fixes.patch
new file mode 100644
index 0000000000..adb27bdd85
--- /dev/null
+++ b/packages/gtk-webcore/files/path_fixes.patch
@@ -0,0 +1,15 @@
+Index: NRCore/configure.in
+===================================================================
+--- NRCore.orig/configure.in 2008-02-29 11:01:14.000000000 +0000
++++ NRCore/configure.in 2008-02-29 12:45:18.000000000 +0000
+@@ -67,8 +67,8 @@
+ AC_MSG_RESULT([found. Using prefix $jscore_prefix])
+ JSCORE_ENABLE=yes
+ AC_SUBST(JSCORE_ENABLE)
+- JSCORE_LIBS="-L$jscore_prefix/lib -ljscore"
+- JSCORE_CFLAGS="-I$jscore_prefix/include/gtk-webcore-jscore/"
++ JSCORE_LIBS="-L$jscore_prefix/lib -lgtk_webcore_jscore"
++ JSCORE_CFLAGS="-I$jscore_prefix/include/gtk-webcore/"
+ jscore_pkgdatadir="$jscore_prefix/share/gtk-webcore-jscore"
+ else
+ AC_MSG_ERROR([JavaScriptCore not found. Use --with-javascriptcore-prefix=PREFIX])
diff --git a/packages/ktimetrackerpi/.mtn2git_empty b/packages/gtk-webcore/osb-nrcit/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/ktimetrackerpi/.mtn2git_empty
+++ b/packages/gtk-webcore/osb-nrcit/.mtn2git_empty
diff --git a/packages/gtk-webcore/osb-nrcit/pkgconfig_fix.patch b/packages/gtk-webcore/osb-nrcit/pkgconfig_fix.patch
new file mode 100644
index 0000000000..d26009bbb7
--- /dev/null
+++ b/packages/gtk-webcore/osb-nrcit/pkgconfig_fix.patch
@@ -0,0 +1,13 @@
+Index: NRCit/gtk-webcore-nrcit.pc.in
+===================================================================
+--- NRCit.orig/gtk-webcore-nrcit.pc.in 2008-02-29 13:46:41.000000000 +0000
++++ NRCit/gtk-webcore-nrcit.pc.in 2008-02-29 13:46:51.000000000 +0000
+@@ -6,6 +6,6 @@
+ Name: gtk-webcore-nrcit
+ Description: Gtk+-WebCore HTML rendering engine, browser interface
+ Version: @VERSION@
+-Requires: gtk-webcore-jscore gtk-webcore-nrcore xft fontconfig gdk-2.0 gtk+-2.0 glib-2.0
+-Libs: -L${libdir} -lgtk_webcore_nrcore -lgtk_webcore_nrcit -lgthread-2.0 -lgobject-2.0 @LIBCURL_LIBS@
++Requires: gtk-webcore-jscore gtk-webcore-nrcore xft fontconfig gdk-2.0 gtk+-2.0 glib-2.0 libcurl
++Libs: -L${libdir} -lgtk_webcore_nrcore -lgtk_webcore_nrcit -lgthread-2.0 -lgobject-2.0
+ Cflags: -I${includedir}/gtk-webcore/webi -I${includedir}/gtk-webcore
diff --git a/packages/gtk-webcore/osb-nrcit_svn.bb b/packages/gtk-webcore/osb-nrcit_svn.bb
index 7ea8b3b6fa..57bb096183 100644
--- a/packages/gtk-webcore/osb-nrcit_svn.bb
+++ b/packages/gtk-webcore/osb-nrcit_svn.bb
@@ -5,11 +5,12 @@ PRIORITY = "optional"
SECTION = "gpe"
PV = "0.5.2+svnr${SRCREV}"
-PR = "r0"
+PR = "r1"
DEPENDS = "curl librsvg osb-nrcore pango"
SRC_URI = "svn://gtk-webcore.svn.sourceforge.net/svnroot/gtk-webcore/trunk;module=NRCit;proto=https \
+ file://pkgconfig_fix.patch;patch=1 \
file://gcc4-fno-threadsafe-statics-NRCit.patch;patch=1"
inherit autotools pkgconfig
diff --git a/packages/gtk-webcore/osb-nrcore.inc b/packages/gtk-webcore/osb-nrcore.inc
index 7cbf0ce890..eca304959f 100644
--- a/packages/gtk-webcore/osb-nrcore.inc
+++ b/packages/gtk-webcore/osb-nrcore.inc
@@ -3,12 +3,17 @@ HOMEPAGE = "http://gtk-webcore.sourceforge.net/"
PRIORITY = "optional"
SECTION = "gpe"
LICENSE = "GPL"
-DEPENDS = "glib-2.0 gtk+ pango osb-jscore libxt"
+DEPENDS = "glib-2.0 gtk+ pango osb-jscore libxt gperf-native"
LEAD_SONAME = "libnrcore.so"
inherit autotools pkgconfig
+#/khtml/css/cssproperties.h failes to generate properly with high parallel makes
+PARALLEL_MAKE = ""
+
+EXTRA_OECONF += "--with-javascriptcore-prefix=${STAGING_EXECPREFIXDIR}"
+
do_configure () {
autotools_do_configure
cd ${S}
diff --git a/packages/gtk-webcore/osb-nrcore_svn.bb b/packages/gtk-webcore/osb-nrcore_svn.bb
index 8e0b4b04b6..b85c06e422 100644
--- a/packages/gtk-webcore/osb-nrcore_svn.bb
+++ b/packages/gtk-webcore/osb-nrcore_svn.bb
@@ -1,11 +1,12 @@
require osb-nrcore.inc
PV = "0.5.2+svnr${SRCREV}"
-PR = "r1"
+PR = "r3"
SRC_URI = "svn://gtk-webcore.svn.sourceforge.net/svnroot/gtk-webcore/trunk;module=NRCore;proto=https \
file://gcc4-fno-threadsafe-statics-NRCore.patch;patch=1 \
- file://build_silence.patch;patch=0;maxdate=20070401"
+ file://build_silence.patch;patch=0;maxdate=20070401 \
+ file://path_fixes.patch;patch=1"
S = "${WORKDIR}/NRCore"
diff --git a/packages/gxine/gxine_0.4.1.bb b/packages/gxine/gxine_0.4.1.bb
index 057b8a48eb..9648e9ef0c 100644
--- a/packages/gxine/gxine_0.4.1.bb
+++ b/packages/gxine/gxine_0.4.1.bb
@@ -36,7 +36,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/xine/${PN}-${PV}.tar.gz \
EXTRA_OECONF = " --includedir=${STAGING_INCDIR} \
--libdir=${STAGING_LIBDIR} \
--disable-xinetest \
- --with-xine-prefix=${STAGING_DIR}/${HOST_SYS}"
+ --with-xine-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
LDFLAGS += "-lxine"
diff --git a/packages/gxine/gxine_0.4.1enhanced.bb b/packages/gxine/gxine_0.4.1enhanced.bb
index 7245d1de13..96776645ab 100644
--- a/packages/gxine/gxine_0.4.1enhanced.bb
+++ b/packages/gxine/gxine_0.4.1enhanced.bb
@@ -39,7 +39,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/xine/${PN}-0.4.1.tar.gz \
EXTRA_OECONF = " --includedir=${STAGING_INCDIR} \
--libdir=${STAGING_LIBDIR} \
--disable-xinetest \
- --with-xine-prefix=${STAGING_DIR}/${HOST_SYS}"
+ --with-xine-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
LDFLAGS += "-lxine"
diff --git a/packages/icewm/icewm_1.2.20.bb b/packages/icewm/icewm_1.2.20.bb
index b6a90a54a4..1567e985e2 100644
--- a/packages/icewm/icewm_1.2.20.bb
+++ b/packages/icewm/icewm_1.2.20.bb
@@ -2,7 +2,8 @@ SECTION = "x11/wm"
DESCRIPTION = "IceWM Window Manager"
LICENSE = "GPL"
DEPENDS = "virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender libxinerama libxpm xrandr xft mkfontdir-native"
-PR = "r1"
+RRECOMMENDS = "ttf-dejavu-sans"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/icewm/icewm-${PV}.tar.gz \
file://makefile.patch;patch=1 \
diff --git a/packages/icewm/icewm_1.2.30.bb b/packages/icewm/icewm_1.2.30.bb
index 4e7b7125ec..3dfffb1ae8 100644
--- a/packages/icewm/icewm_1.2.30.bb
+++ b/packages/icewm/icewm_1.2.30.bb
@@ -2,7 +2,8 @@ SECTION = "x11/wm"
DESCRIPTION = "IceWM Window Manager"
LICENSE = "GPL"
DEPENDS = "virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender libxinerama libxpm xrandr xft mkfontdir-native"
-PR = "r0"
+RRECOMMENDS = "ttf-dejavu-sans"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/icewm/icewm-${PV}.tar.gz \
file://makefile.patch;patch=1 \
diff --git a/packages/ifplugd/files/nobash.patch b/packages/ifplugd/files/nobash.patch
new file mode 100644
index 0000000000..8d0be50925
--- /dev/null
+++ b/packages/ifplugd/files/nobash.patch
@@ -0,0 +1,8 @@
+--- ifplugd-0.28/conf/ifplugd.init.in.orig 2007-05-24 19:00:03.000000000 +0000
++++ ifplugd-0.28/conf/ifplugd.init.in 2007-05-24 19:00:09.000000000 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # $Id: ifplugd.init.in 86 2004-01-26 15:34:24Z lennart $
+
+ # This file is part of ifplugd.
diff --git a/packages/ifplugd/ifplugd_0.20.bb b/packages/ifplugd/ifplugd_0.20.bb
deleted file mode 100644
index 18e9a66c94..0000000000
--- a/packages/ifplugd/ifplugd_0.20.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SECTION = "console/network"
-DESCRIPTION = "ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled."
-DEPENDS = "libdaemon"
-LICENSE = "GPL"
-
-SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz"
-
-inherit autotools update-rc.d
-
-EXTRA_OECONF = "--disable-lynx"
-
-INITSCRIPT_NAME = "ifplugd"
-INITSCRIPT_PARAMS = "defaults" \ No newline at end of file
diff --git a/packages/ifplugd/ifplugd_0.25.bb b/packages/ifplugd/ifplugd_0.25.bb
index 55c2be0ced..ca7f219165 100644
--- a/packages/ifplugd/ifplugd_0.25.bb
+++ b/packages/ifplugd/ifplugd_0.25.bb
@@ -1,12 +1,14 @@
-SECTION = "console/network"
-DESCRIPTION = "ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled."
+DESCRIPTION = "ifplugd is a Linux daemon which will automatically configure your ethernet device \
+when a cable is plugged in and automatically unconfigure it if the cable is pulled."
HOMEPAGE = "http://0pointer.de/lennart/projects/ifplugd/"
+SECTION = "network"
DEPENDS = "libdaemon"
LICENSE = "GPL"
+PR = "r1"
-SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz"
-
-SRC_URI_append_nylon = " file://kernel-types.patch;patch=1"
+SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz \
+ file://kernel-types.patch;patch=1 \
+ file://nobash.patch;patch=1"
inherit autotools update-rc.d pkgconfig
@@ -15,4 +17,4 @@ EXTRA_OECONF = "--disable-lynx"
INITSCRIPT_NAME = "ifplugd"
INITSCRIPT_PARAMS = "defaults"
-CONFFILES_${PN}_nylon = "${sysconfdir}/ifplugd/ifplugd.conf"
+CONFFILES_${PN} = "${sysconfdir}/ifplugd/ifplugd.conf"
diff --git a/packages/images/initramfs-bootmenu-image.bb b/packages/images/initramfs-bootmenu-image.bb
index b94cc232cd..6a4974fa9d 100644
--- a/packages/images/initramfs-bootmenu-image.bb
+++ b/packages/images/initramfs-bootmenu-image.bb
@@ -1,7 +1,7 @@
# initramfs image with interactive boot menu allowing to select rootfs location
# from choices of block devices, loopback images and NFS.
-IMAGE_INSTALL = "busybox-static initramfs-module-bootmenu initramfs-module-check-modules"
+IMAGE_INSTALL = "busybox-static initramfs-module-bootmenu initramfs-module-check-modules initramfs-module-kexecboot"
IMAGE_LINGUAS = ""
# Remove any kernel-image that the kernel-module-* packages may have pulled in.
diff --git a/packages/images/moko-underground-image.bb b/packages/images/moko-underground-image.bb
new file mode 100644
index 0000000000..5752ce6037
--- /dev/null
+++ b/packages/images/moko-underground-image.bb
@@ -0,0 +1,34 @@
+#------------------------------------------------------
+# Moko Underground OS Image Recipe
+#------------------------------------------------------
+
+IMAGE_LINGUAS = ""
+
+ADD_INSTALL = "\
+ fontconfig-utils \
+ \
+ ttf-dejavu-common \
+ ttf-dejavu-sans \
+ ttf-dejavu-serif \
+ \
+"
+
+
+IMAGE_INSTALL = "\
+ ${MACHINE_TASK_PROVIDER} \
+ netbase \
+ sysfsutils \
+ module-init-tools-depmod \
+ rsync \
+ screen \
+ fbset \
+ fbset-modes \
+ \
+ task-pyneo \
+ \
+ ${ADD_INSTALL} \
+"
+
+inherit image
+
+ROOTFS_POSTPROCESS_COMMAND += 'date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp'
diff --git a/packages/images/openmoko-python-devel-image.bb b/packages/images/openmoko-python-devel-image.bb
index 9d2a8db2c6..615042f3b8 100644
--- a/packages/images/openmoko-python-devel-image.bb
+++ b/packages/images/openmoko-python-devel-image.bb
@@ -2,5 +2,6 @@ require openmoko-image.bb
IMAGE_INSTALL += "\
task-openmoko-python-devel \
+ task-python-efl-examples \
+ edje-viewer \
"
-
diff --git a/packages/images/x11-gpe-java-image.bb b/packages/images/x11-gpe-java-image.bb
index 9547cab6f6..5a7ec5ec16 100644
--- a/packages/images/x11-gpe-java-image.bb
+++ b/packages/images/x11-gpe-java-image.bb
@@ -12,6 +12,7 @@ IMAGE_INSTALL = "\
${XSERVER} \
task-base-extended \
task-java \
+ task-java-gtk \
angstrom-x11-base-depends \
angstrom-gpe-task-base \
angstrom-gpe-task-settings \
diff --git a/packages/initrdscripts/devimage/devimage.sh b/packages/initrdscripts/devimage/devimage.sh
index e85debf245..8a264ed33d 100644
--- a/packages/initrdscripts/devimage/devimage.sh
+++ b/packages/initrdscripts/devimage/devimage.sh
@@ -7,6 +7,11 @@ mount -t sysfs sysfs /sys
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
+modprobe g_ether
+ifconfig usb0 192.168.2.202
+
+export PATH=$PATH:/usr/sbin
+
/usr/sbin/dropbear -E
/bin/sh
diff --git a/packages/initrdscripts/devimage_0.1.bb b/packages/initrdscripts/devimage_0.1.bb
index 08949b9515..0622dd0330 100644
--- a/packages/initrdscripts/devimage_0.1.bb
+++ b/packages/initrdscripts/devimage_0.1.bb
@@ -1,12 +1,14 @@
DESCRIPTION = "Set of files to initialize bare system suitable for kernel, etc. testing."
SRC_URI = "file://devimage.sh file://passwd file://dropbear_rsa_host_key"
-PR = "r2"
+PR = "r4"
do_install() {
- install -m 0755 ${WORKDIR}/devimage.sh ${D}/init
install -d ${D}/etc/dropbear
+ install -d ${D}/sbin
+ install -m 0755 ${WORKDIR}/devimage.sh ${D}/init
install -m 0600 ${WORKDIR}/dropbear_rsa_host_key ${D}/etc/dropbear/
install -m 0644 ${WORKDIR}/passwd ${D}/etc/
+ ln -s /init ${D}/sbin/init
}
-FILES_${PN} += " /init /etc/*"
+FILES_${PN} += " /init /etc/* /sbin/*"
diff --git a/packages/initrdscripts/files/10-initfs.sh b/packages/initrdscripts/files/10-initfs.sh
index bad649e5c2..c2a843eb12 100644
--- a/packages/initrdscripts/files/10-initfs.sh
+++ b/packages/initrdscripts/files/10-initfs.sh
@@ -3,3 +3,4 @@
modprobe -q vfat >/dev/null 2>&1
modprobe -q ext2 >/dev/null 2>&1
modprobe -q ext3 >/dev/null 2>&1
+modprobe -q jffs2 >/dev/null 2>&1
diff --git a/packages/initrdscripts/files/30-bootmenu.sh b/packages/initrdscripts/files/30-bootmenu.sh
index 7bc1429b1b..3f3b8c7079 100644
--- a/packages/initrdscripts/files/30-bootmenu.sh
+++ b/packages/initrdscripts/files/30-bootmenu.sh
@@ -95,6 +95,7 @@ while read maj min nblk dev; do
done < /proc/partitions
add_menu_item "NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image)"
+add_menu_item "Shell"
total=`echo -e $list | wc -l`
num=0
@@ -142,15 +143,23 @@ echo Selected: $sel
dev=`expr "$sel" : '\([^ /]*\)'`
path=`expr "$sel" : '[^/]*\([^ ]*\).*'`
+fstype=`expr "$sel" : '[^ ]* *\(.*\)'`
-if [ "$dev" == "NFS" ]; then
+if [ "$dev" == "Shell" ]; then
+ exec /bin/sh
+elif [ "$dev" == "NFS" ]; then
ROOT_DEVICE="/dev/nfs"
- CMDLINE="$CMDLINE nfsroot=192.168.2.200:/srv/nfs/oe/image"
+ CMDLINE="$CMDLINE root=/dev/nfs nfsroot=192.168.2.200:/srv/nfs/oe/image"
elif [ -n "$path" ]; then
ROOT_DEVICE="/dev/loop"
- CMDLINE="looproot=/dev/$dev:$path"
+ CMDLINE="$CMDLINE root=/dev/loop looproot=/dev/$dev:$path"
else
ROOT_DEVICE="/dev/$dev"
+ # jffs2 is not recognized by mount automagically
+ if [ "$fstype" == "(jffs2)" ]; then
+ ROOT_FSTYPE="jffs2"
+ fi
+ CMDLINE="$CMDLINE root=$ROOT_DEVICE"
fi
echo ROOT_DEVICE=$ROOT_DEVICE
diff --git a/packages/initrdscripts/files/85-blockboot.sh b/packages/initrdscripts/files/85-blockboot.sh
index 567f7e29b3..e1c3ed893e 100644
--- a/packages/initrdscripts/files/85-blockboot.sh
+++ b/packages/initrdscripts/files/85-blockboot.sh
@@ -3,6 +3,10 @@
if [ -e "$ROOT_DEVICE" ]; then
echo "booting from: $ROOT_DEVICE"
- mount "$ROOT_DEVICE" /mnt
+ type=""
+ if [ -n "$ROOT_FSTYPE" ]; then
+ type="-t $ROOT_FSTYPE"
+ fi
+ mount $type "$ROOT_DEVICE" /mnt || fatal "Unable to mount rootfs device"
BOOT_ROOT=/mnt
fi
diff --git a/packages/initrdscripts/files/87-kexecboot.sh b/packages/initrdscripts/files/87-kexecboot.sh
new file mode 100644
index 0000000000..9232934f98
--- /dev/null
+++ b/packages/initrdscripts/files/87-kexecboot.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# Allow kexecing to kernel in rootfs
+
+if [ -n "$BOOT_ROOT" -a -f "$BOOT_ROOT/boot/zImage" ]; then
+ if ! expr "$CMDLINE" : '.*nokexec'; then
+ echo "Kernel found in rootfs:"
+ ls -l "$BOOT_ROOT/boot/zImage"
+ initramfs=""
+ if [ -f "$BOOT_ROOT/boot/initramfs.bin" ]; then
+ echo "Initramfs found in rootfs:"
+ ls -l "$BOOT_ROOT/boot/initramfs.bin"
+ initramfs="--initrd=$BOOT_ROOT/boot/initramfs.bin"
+ fi
+ echo /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec"
+ sleep 10
+ /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec"
+ sleep 10000
+ fi
+fi
diff --git a/packages/initrdscripts/files/init.sh b/packages/initrdscripts/files/init.sh
index f8d5de9173..8b9fe12429 100644
--- a/packages/initrdscripts/files/init.sh
+++ b/packages/initrdscripts/files/init.sh
@@ -8,6 +8,7 @@ early_setup() {
mkdir /proc
mount -t proc proc /proc
mkdir /mnt
+ modprobe -q mtdblock
}
dev_setup()
@@ -30,6 +31,8 @@ read_args() {
case $arg in
root=*)
ROOT_DEVICE=$optarg ;;
+ rootfstype=*)
+ ROOT_FSTYPE=$optarg ;;
rootdelay=*)
rootdelay=$optarg ;;
esac
@@ -48,13 +51,13 @@ boot_root() {
exec switch_root -c /dev/console $BOOT_ROOT /sbin/init
}
-boot_failed() {
- echo "No valid root device was specified. Please add root=/dev/something to"
- echo "the kernel command-line and try again."
+fatal() {
+ echo $1
echo
exec sh
}
+
echo "Starting initramfs boot..."
early_setup
read_args
@@ -68,4 +71,5 @@ dev_setup
load_modules
[ -n "$BOOT_ROOT" ] && boot_root
-boot_failed
+
+fatal "No valid root device was specified. Please add root=/dev/something to the kernel command-line and try again."
diff --git a/packages/initrdscripts/initramfs-kexec_1.0.bb b/packages/initrdscripts/initramfs-kexec_1.0.bb
index b5bf497f37..b14ebbe60c 100644
--- a/packages/initrdscripts/initramfs-kexec_1.0.bb
+++ b/packages/initrdscripts/initramfs-kexec_1.0.bb
@@ -1,11 +1,11 @@
DESCRIPTON = "A init script that mounts a device and kexecs a new kernel from it."
-PR = "r3"
+PR = "r4"
do_compile() {
cat > init.sh << EOF
#!/bin/sh
/bin/mount -t proc proc /proc
-/bin/mount -t ${ROOTFS} /dev/${ROOTDEV} /mnt
+/bin/mount -t ${ROOTFS} ${ROOTDEV} /mnt
/usr/sbin/kexec -l /mnt/zImage
/usr/sbin/kexec -e
EOF
@@ -21,5 +21,5 @@ PACKAGE_ARCH = "all"
FILES_${PN} = "/init /proc /mnt"
-ROOTDEV = "mtdblock2"
+ROOTDEV = "mtd2"
ROOTFS = "jffs2"
diff --git a/packages/initrdscripts/initramfs-module-block_1.0.bb b/packages/initrdscripts/initramfs-module-block_1.0.bb
index 72812a2490..b4b2d43150 100644
--- a/packages/initrdscripts/initramfs-module-block_1.0.bb
+++ b/packages/initrdscripts/initramfs-module-block_1.0.bb
@@ -1,5 +1,5 @@
SRC_URI = "file://85-blockboot.sh"
-PR = "r1"
+PR = "r3"
RDEPENDS = "initramfs-uniboot"
DESCRIPTION = "An initramfs module for booting off normal block devices."
diff --git a/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb b/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
index e87ba69776..8c66521f30 100644
--- a/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
+++ b/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
@@ -1,5 +1,5 @@
SRC_URI = "file://30-bootmenu.sh"
-PR = "r8"
+PR = "r11"
DESCRIPTION = "An initramfs module with UI for selection of boot device."
RDEPENDS = "klibc-utils-fstype initramfs-uniboot initramfs-module-block initramfs-module-loop initramfs-module-nfs"
# For VFAT mounting.
diff --git a/packages/initrdscripts/initramfs-module-initfs_1.0.bb b/packages/initrdscripts/initramfs-module-initfs_1.0.bb
index 64bba4a304..2c2ec07bf5 100644
--- a/packages/initrdscripts/initramfs-module-initfs_1.0.bb
+++ b/packages/initrdscripts/initramfs-module-initfs_1.0.bb
@@ -1,5 +1,5 @@
SRC_URI = "file://10-initfs.sh"
-PR = "r2"
+PR = "r4"
DESCRIPTION = "An initramfs module for initializing filesystems."
RDEPENDS = "initramfs-uniboot"
RRECOMMENDS = "kernel-module-vfat kernel-module-ext2"
diff --git a/packages/initrdscripts/initramfs-module-kexecboot_1.0.bb b/packages/initrdscripts/initramfs-module-kexecboot_1.0.bb
new file mode 100644
index 0000000000..35100a94e6
--- /dev/null
+++ b/packages/initrdscripts/initramfs-module-kexecboot_1.0.bb
@@ -0,0 +1,12 @@
+SRC_URI = "file://87-kexecboot.sh"
+PR = "r0.4"
+DESCRIPTION = "An initramfs module for kexecing kernel from rootfs."
+RDEPENDS = "initramfs-uniboot kexec-static"
+
+do_install() {
+ install -d ${D}/initrd.d
+ install -m 0755 ${WORKDIR}/87-kexecboot.sh ${D}/initrd.d/
+}
+
+PACKAGE_ARCH = "all"
+FILES_${PN} += " /initrd.d/* "
diff --git a/packages/initrdscripts/initramfs-uniboot_1.0.bb b/packages/initrdscripts/initramfs-uniboot_1.0.bb
index 167ce71ffe..e0f726582e 100644
--- a/packages/initrdscripts/initramfs-uniboot_1.0.bb
+++ b/packages/initrdscripts/initramfs-uniboot_1.0.bb
@@ -1,6 +1,7 @@
SRC_URI = "file://init.sh"
-PR = "r2"
+PR = "r4"
DESCRIPTON = "A modular initramfs init script system."
+RRECOMMENDS = "kernel-module-mtdblock"
do_install() {
install -m 0755 ${WORKDIR}/init.sh ${D}/init
diff --git a/packages/initscripts/initscripts-1.0/banner b/packages/initscripts/initscripts-1.0/banner
index 21a01d2846..0349ce1954 100644
--- a/packages/initscripts/initscripts-1.0/banner
+++ b/packages/initscripts/initscripts-1.0/banner
@@ -8,6 +8,8 @@ if ( > /dev/tty0 ) 2>/dev/null; then
vtmaster=/dev/tty0
elif ( > /dev/vc/0 ) 2>/dev/null; then
vtmaster=/dev/vc/0
+elif ( > /dev/console ) 2>/dev/null; then
+ vtmaster=/dev/console
else
vtmaster=/dev/null
fi
diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb
index 4433d12318..55998c0a4a 100644
--- a/packages/initscripts/initscripts_1.0.bb
+++ b/packages/initscripts/initscripts_1.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
LICENSE = "GPL"
-PR = "r104"
+PR = "r105"
SRC_URI = "file://functions \
file://halt \
diff --git a/packages/ipaq-boot-params/files/h5000/params b/packages/ipaq-boot-params/files/h5000/params
index 2d1a571173..fb42935fd5 100644
--- a/packages/ipaq-boot-params/files/h5000/params
+++ b/packages/ipaq-boot-params/files/h5000/params
@@ -1 +1 @@
-set linuxargs "root=/dev/mtdblock1 noinitrd console=ttyS0,115200"
+set linuxargs "root=mtd1 noinitrd console=ttyS0,115200 console=tty0"
diff --git a/packages/ipaq-boot-params/files/params b/packages/ipaq-boot-params/files/params
index 42344d6fb7..fb42935fd5 100644
--- a/packages/ipaq-boot-params/files/params
+++ b/packages/ipaq-boot-params/files/params
@@ -1 +1 @@
-set linuxargs "root=/dev/mtdblock1 init=/linuxrc noinitrd console=none"
+set linuxargs "root=mtd1 noinitrd console=ttyS0,115200 console=tty0"
diff --git a/packages/ipaq-boot-params/ipaq-boot-params.bb b/packages/ipaq-boot-params/ipaq-boot-params.bb
index 15e3c9cd51..216811ab56 100644
--- a/packages/ipaq-boot-params/ipaq-boot-params.bb
+++ b/packages/ipaq-boot-params/ipaq-boot-params.bb
@@ -1,5 +1,6 @@
+DESCRIPTION = "Kernel boot parameters for HH.org bootldr"
LICENSE = "MIT"
-PR = "r2"
+PR = "r5"
COMPATIBLE_MACHINE = "(h3600|h3800|h3900|h5000|simpad)"
diff --git a/packages/iperf/iperf_2.0.2.bb b/packages/iperf/iperf_2.0.2.bb
index c54bafe70d..28d009ad58 100644
--- a/packages/iperf/iperf_2.0.2.bb
+++ b/packages/iperf/iperf_2.0.2.bb
@@ -14,7 +14,7 @@ S="${WORKDIR}/iperf-${PV}"
# --disable-threads is needed on epia/x86 with uclibc
do_configure() {
gnu-configize
- oe_runconf --exec-prefix=${STAGING_DIR} --disable-threads
+ oe_runconf --exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix} --disable-threads
}
do_compile() {
diff --git a/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb b/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
index 3101ecb3be..ba3c8ecd0c 100644
--- a/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
+++ b/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
@@ -1,7 +1,7 @@
require ipkg-utils_${PV}.bb
RDEPENDS = ""
-PR = "r15"
+PR = "r16"
inherit native
diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch b/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch
index 9f9b9359ce..ad6df4f2e9 100644
--- a/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch
+++ b/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch
@@ -86,12 +86,3 @@ Index: ipkg-utils/ipkg-make-index
if opt_s:
sys.exit(0)
-@@ -154,7 +177,7 @@ if packages_filename:
- os.rename(tmp_packages_filename, packages_filename)
- os.rename(tmp_gzip_filename, gzip_filename)
-
--if verbose:
-+if verbose:
- sys.stderr.write("Generate Packages.filelist file\n")
- files = {}
- names = packages.packages.keys()
diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch b/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch
index 25eb2cce6f..389a86018b 100644
--- a/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch
+++ b/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch
@@ -1,13 +1,6 @@
----
- arfile.py | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- ipkg.py | 106 ++++++++++++++++++++++++++---------------------------
- setup.py | 2 -
- 3 files changed, 177 insertions(+), 55 deletions(-)
-
-Index: ipkg-utils/arfile.py
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ ipkg-utils/arfile.py 2007-05-26 23:46:59.000000000 +0100
+diff -r 720080c24d2f arfile.py
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/arfile.py Sun Jan 27 23:26:35 2008 +0200
@@ -0,0 +1,124 @@
+"""
+arfile - A module to parse GNU ar archives.
@@ -133,23 +126,10 @@ Index: ipkg-utils/arfile.py
+
+ f2 = tarf.extractfile("control")
+ print f2.read()
-Index: ipkg-utils/setup.py
-===================================================================
---- ipkg-utils.orig/setup.py 2007-05-26 23:45:55.000000000 +0100
-+++ ipkg-utils/setup.py 2007-05-26 23:46:59.000000000 +0100
-@@ -16,6 +16,6 @@ distutils.core.setup( name = 'ipkg-utils
- platforms = 'POSIX',
- keywords = 'ipkg familiar',
- url = 'http://www.handhelds.org/sources.html/',
-- py_modules = [ 'ipkg' ],
-+ py_modules = [ 'ipkg', 'arfile' ],
- scripts = ['ipkg-compare-indexes', 'ipkg-make-index', 'ipkg-update-index', 'ipkg-build', 'ipkg-unbuild', 'ipkg-upload']
- )
-Index: ipkg-utils/ipkg.py
-===================================================================
---- ipkg-utils.orig/ipkg.py 2007-05-26 23:46:55.000000000 +0100
-+++ ipkg-utils/ipkg.py 2007-05-26 23:45:20.000000000 +0100
-@@ -41,6 +41,8 @@ import re
+diff -r 720080c24d2f ipkg.py
+--- a/ipkg.py Sun Jan 27 23:13:26 2008 +0200
++++ b/ipkg.py Sun Jan 27 23:26:35 2008 +0200
+@@ -41,6 +41,8 @@ import string
import string
import commands
from stat import ST_SIZE
@@ -158,7 +138,7 @@ Index: ipkg-utils/ipkg.py
class Version:
"""A class for holding parsed package version information."""
-@@ -131,78 +133,61 @@ class Package:
+@@ -131,77 +133,61 @@ class Package:
self.section = None
self.filename_header = None
self.file_list = []
@@ -198,8 +178,6 @@ Index: ipkg-utils/ipkg.py
- self.size = stat[ST_SIZE]
+
self.filename = os.path.basename(fn)
-+ assert self.isdeb == 1, "Old ipk format (non-deb) is unsupported"
-+
## sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,))
- if self.isdeb:
- control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - './control'","r")
@@ -227,15 +205,18 @@ Index: ipkg-utils/ipkg.py
- self.__dict__[name] = value
- else:
- line = control.readline()
++ if self.isdeb:
++ ar = arfile.ArFile(f)
++ tarStream = ar.open("control.tar.gz")
++ tarf = tarfile.open("control.tar.gz", "r", tarStream)
++
++ try:
++ control = tarf.extractfile("control")
++ except KeyError:
++ control = tarf.extractfile("./control")
++ else:
++ control = os.popen("tar --wildcards -xzO -f " + fn + " '*control.tar.gz' | tar xfzO - './control'", "r")
+
-+ ar = arfile.ArFile(f)
-+ tarStream = ar.open("control.tar.gz")
-+ tarf = tarfile.open("control.tar.gz", "r", tarStream)
-+
-+ try:
-+ control = tarf.extractfile("control")
-+ except KeyError:
-+ control = tarf.extractfile("./control")
+ self.read_control(control)
control.close()
- if self.isdeb:
@@ -251,7 +232,7 @@ Index: ipkg-utils/ipkg.py
self.scratch_dir = None
self.file_dir = None
self.meta_dir = None
-
++
+ def __getattr__(self, name):
+ if name == "md5":
+ self._computeFileMD5()
@@ -269,11 +250,10 @@ Index: ipkg-utils/ipkg.py
+ sum.update(data)
+ f.close()
+ self.md5 = sum.hexdigest()
-+
+
def read_control(self, control):
import os
-
-@@ -221,9 +203,15 @@ class Package:
+@@ -221,9 +207,15 @@ class Package:
value = value + '\n' + line
if name == 'size':
self.size = int(value)
@@ -290,20 +270,43 @@ Index: ipkg-utils/ipkg.py
return # consumes one blank line at end of package descriptoin
else:
line = control.readline()
-@@ -314,6 +302,16 @@ class Package:
+@@ -314,7 +306,27 @@ class Package:
return self.section
def get_file_list(self):
+- return self.file_list
+ if not self.fn:
+ return []
-+ f = open(self.fn, "rb")
-+ ar = arfile.ArFile(f)
-+ tarStream = ar.open("data.tar.gz")
-+ tarf = tarfile.open("data.tar.gz", "r", tarStream)
-+ self.file_list = tarf.getnames()
++
++ if self.isdeb:
++ f = open(self.fn, "rb")
++ ar = arfile.ArFile(f)
++ tarStream = ar.open("data.tar.gz")
++ tarf = tarfile.open("data.tar.gz", "r", tarStream)
++ self.file_list = tarf.getnames()
++ f.close()
++ else:
++ f = os.popen("tar xfzO " + self.fn + " '*data.tar.gz' | tar tfz -","r")
++ while 1:
++ line = f.readline()
++ if not line: break
++ self.file_list.append(string.rstrip(line))
++ f.close()
++
++ # Make sure that filelist has consistent format regardless of tar version
+ self.file_list = map(lambda a: ["./", ""][a.startswith("./")] + a, self.file_list)
-+
-+ f.close()
- return self.file_list
++ return self.file_list
def write_package(self, dirname):
+ buf = self.render_control()
+diff -r 720080c24d2f setup.py
+--- a/setup.py Sun Jan 27 23:13:26 2008 +0200
++++ b/setup.py Sun Jan 27 23:26:35 2008 +0200
+@@ -16,6 +16,6 @@ distutils.core.setup( name = 'ipkg-utils
+ platforms = 'POSIX',
+ keywords = 'ipkg familiar',
+ url = 'http://www.handhelds.org/sources.html/',
+- py_modules = [ 'ipkg' ],
++ py_modules = [ 'ipkg', 'arfile' ],
+ scripts = ['ipkg-compare-indexes', 'ipkg-make-index', 'ipkg-update-index', 'ipkg-build', 'ipkg-unbuild', 'ipkg-upload']
+ )
diff --git a/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb b/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
index c089796ccb..febecb0085 100644
--- a/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
+++ b/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL"
CONFLICTS = "ipkg-link"
RDEPENDS = "python"
SRCDATE = "20050404"
-PR = "r17"
+PR = "r18"
SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \
file://ipkg-utils-fix.patch;patch=1 \
diff --git a/packages/ipkg/files/enable_debversion.patch b/packages/ipkg/files/enable_debversion.patch
new file mode 100644
index 0000000000..e9c3a7a1d4
--- /dev/null
+++ b/packages/ipkg/files/enable_debversion.patch
@@ -0,0 +1,111 @@
+OE makes heavy use of the revision field so it makes sense to
+enable it. We don't want the familiar stuff though so patch that
+out.
+
+RP - 19/02/2008
+
+Index: ipkg-0.99.163/pkg.c
+===================================================================
+--- ipkg-0.99.163.orig/pkg.c 2008-02-19 00:35:03.000000000 +0000
++++ ipkg-0.99.163/pkg.c 2008-02-19 00:36:02.000000000 +0000
+@@ -1118,15 +1118,11 @@
+ return r;
+ }
+
+-#ifdef USE_DEBVERSION
+ r = verrevcmp(pkg->revision, ref_pkg->revision);
+ if (r) {
+ return r;
+ }
+
+- r = verrevcmp(pkg->familiar_revision, ref_pkg->familiar_revision);
+-#endif
+-
+ return r;
+ }
+
+@@ -1240,10 +1236,7 @@
+ {
+ char *complete_version;
+ char *epoch_str;
+-#ifdef USE_DEBVERSION
+ char *revision_str;
+- char *familiar_revision_str;
+-#endif
+
+ if (pkg->epoch) {
+ sprintf_alloc(&epoch_str, "%d:", pkg->epoch);
+@@ -1251,33 +1244,18 @@
+ epoch_str = strdup("");
+ }
+
+-#ifdef USE_DEBVERSION
+ if (pkg->revision && strlen(pkg->revision)) {
+ sprintf_alloc(&revision_str, "-%s", pkg->revision);
+ } else {
+ revision_str = strdup("");
+ }
+
+- if (pkg->familiar_revision && strlen(pkg->familiar_revision)) {
+- sprintf_alloc(&familiar_revision_str, "-fam%s", pkg->familiar_revision);
+- } else {
+- familiar_revision_str = strdup("");
+- }
+-#endif
+
+-#ifdef USE_DEBVERSION
+- sprintf_alloc(&complete_version, "%s%s%s%s",
+- epoch_str, pkg->version, revision_str, familiar_revision_str);
+-#else
+- sprintf_alloc(&complete_version, "%s%s",
+- epoch_str, pkg->version);
+-#endif
++ sprintf_alloc(&complete_version, "%s%s%s",
++ epoch_str, pkg->version, revision_str);
+
+ free(epoch_str);
+-#ifdef USE_DEBVERSION
+ free(revision_str);
+- free(familiar_revision_str);
+-#endif
+
+ return complete_version;
+ }
+Index: ipkg-0.99.163/pkg_parse.c
+===================================================================
+--- ipkg-0.99.163.orig/pkg_parse.c 2008-02-19 00:35:03.000000000 +0000
++++ ipkg-0.99.163/pkg_parse.c 2008-02-19 00:38:42.000000000 +0000
+@@ -105,9 +105,7 @@
+ int parseVersion(pkg_t *pkg, char *raw)
+ {
+ char *colon, *eepochcolon;
+-#ifdef USE_DEBVERSION
+ char *hyphen;
+-#endif
+ unsigned long epoch;
+
+ if (!*raw) {
+@@ -149,23 +147,12 @@
+ }
+ strcpy(pkg->version, raw);
+
+-#ifdef USE_DEBVERSION
+ hyphen= strrchr(pkg->version,'-');
+
+ if (hyphen) {
+ *hyphen++= 0;
+- if (strncmp("fam", hyphen, 3) == 0) {
+- pkg->familiar_revision=hyphen+3;
+- hyphen= strrchr(pkg->version,'-');
+- if (hyphen) {
+- *hyphen++= 0;
+- pkg->revision = hyphen;
+- }
+- } else {
+ pkg->revision = hyphen;
+- }
+ }
+-#endif
+
+ /*
+ fprintf(stderr,"Parsed version: %lu, %s, %s, %s\n",
diff --git a/packages/ipkg/files/update_version_comparision.patch b/packages/ipkg/files/update_version_comparision.patch
new file mode 100644
index 0000000000..b0d0df525b
--- /dev/null
+++ b/packages/ipkg/files/update_version_comparision.patch
@@ -0,0 +1,84 @@
+Update the version comparision to a more recent one from dpkg. This
+means it now recognises 0.0-foo > 0.0+foo as it should.
+
+RP - 19/02/2008
+
+Index: ipkg-0.99.163/pkg.c
+===================================================================
+--- ipkg-0.99.163.orig/pkg.c 2008-02-18 11:24:45.000000000 +0000
++++ ipkg-0.99.163/pkg.c 2008-02-19 00:24:50.000000000 +0000
+@@ -1128,43 +1130,37 @@
+ return r;
+ }
+
+-int verrevcmp(const char *val, const char *ref)
+-{
+- int vc, rc;
+- long vl, rl;
+- const char *vp, *rp;
+- const char *vsep, *rsep;
+-
+- if (!val) val= "";
+- if (!ref) ref= "";
+- for (;;) {
+- vp= val; while (*vp && !isdigit(*vp)) vp++;
+- rp= ref; while (*rp && !isdigit(*rp)) rp++;
+- for (;;) {
+- vc= (val == vp) ? 0 : *val++;
+- rc= (ref == rp) ? 0 : *ref++;
+- if (!rc && !vc) break;
+- if (vc && !isalpha(vc)) vc += 256; /* assumes ASCII character set */
+- if (rc && !isalpha(rc)) rc += 256;
+- if (vc != rc) return vc - rc;
+- }
+- val= vp;
+- ref= rp;
+- vl=0; if (isdigit(*vp)) vl= strtol(val,(char**)&val,10);
+- rl=0; if (isdigit(*rp)) rl= strtol(ref,(char**)&ref,10);
+- if (vl != rl) return vl - rl;
+-
+- vc = *val;
+- rc = *ref;
+- vsep = strchr(".-", vc);
+- rsep = strchr(".-", rc);
+- if (vsep && !rsep) return -1;
+- if (!vsep && rsep) return +1;
+-
+- if (!*val && !*ref) return 0;
+- if (!*val) return -1;
+- if (!*ref) return +1;
+- }
++/* assume ascii; warning: evaluates x multiple times! */
++#define order(x) ((x) == '~' ? -1 \
++ : isdigit((x)) ? 0 \
++ : !(x) ? 0 \
++ : isalpha((x)) ? (x) \
++ : (x) + 256)
++
++static int verrevcmp(const char *val, const char *ref) {
++ if (!val) val= "";
++ if (!ref) ref= "";
++
++ while (*val || *ref) {
++ int first_diff= 0;
++
++ while ( (*val && !isdigit(*val)) || (*ref && !isdigit(*ref)) ) {
++ int vc= order(*val), rc= order(*ref);
++ if (vc != rc) return vc - rc;
++ val++; ref++;
++ }
++
++ while ( *val == '0' ) val++;
++ while ( *ref == '0' ) ref++;
++ while (isdigit(*val) && isdigit(*ref)) {
++ if (!first_diff) first_diff= *val - *ref;
++ val++; ref++;
++ }
++ if (isdigit(*val)) return 1;
++ if (isdigit(*ref)) return -1;
++ if (first_diff) return first_diff;
++ }
++ return 0;
+ }
+
+ int pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op)
diff --git a/packages/ipkg/ipkg-native_0.99.163.bb b/packages/ipkg/ipkg-native_0.99.163.bb
index 7a95b28159..dd9ff16b65 100644
--- a/packages/ipkg/ipkg-native_0.99.163.bb
+++ b/packages/ipkg/ipkg-native_0.99.163.bb
@@ -2,11 +2,13 @@ S = "${WORKDIR}/ipkg-${PV}"
#require ipkg_${PV}.bb
require ipkg-native.inc
-PR = "r4"
+PR = "r6"
inherit autotools pkgconfig native
SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz \
+ file://update_version_comparision.patch;patch=1 \
+ file://enable_debversion.patch;patch=1 \
file://is-processing.patch;patch=1 \
file://1-pkg-parse--Optimize-inefficient-parsing.patch;patch=1 \
file://2-pkg-vec--Optimize-gross-inefficiency.patch;patch=1 \
diff --git a/packages/ipkg/ipkg.inc b/packages/ipkg/ipkg.inc
index 9154572f08..ee5da71c22 100644
--- a/packages/ipkg/ipkg.inc
+++ b/packages/ipkg/ipkg.inc
@@ -10,6 +10,8 @@ FILES_libipkg = "${libdir}/*.so.*"
AUTO_LIBNAME_PKGS = "libipkg"
SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://update_version_comparision.patch;patch=1 \
+ file://enable_debversion.patch;patch=1 \
file://ipkg-configure \
file://terse.patch;patch=1"
diff --git a/packages/ipkg/ipkg_0.99.163.bb b/packages/ipkg/ipkg_0.99.163.bb
index fccfe8d53f..f546f6e6c8 100644
--- a/packages/ipkg/ipkg_0.99.163.bb
+++ b/packages/ipkg/ipkg_0.99.163.bb
@@ -1,5 +1,5 @@
include ipkg.inc
-PR = "r6"
+PR = "r8"
S = "${WORKDIR}/ipkg-${PV}"
diff --git a/packages/joe/joe_3.1.bb b/packages/joe/joe_3.1.bb
index 31050477b8..d2f2aa6ad2 100644
--- a/packages/joe/joe_3.1.bb
+++ b/packages/joe/joe_3.1.bb
@@ -1,6 +1,8 @@
SECTION = "console/utils"
-DESCRIPTION = "Joe's own editor."
+DESCRIPTION = "Console text editor with good functionality, good choice for vi-haters."
+HOMEPAGE = "http://joe-editor.sourceforge.net/"
LICENSE ="GPL"
SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz"
+PR = "r1"
inherit autotools
diff --git a/packages/kdepimpi/files/gcc4.patch b/packages/kdepimpi/files/gcc4.patch
index 70bd00c889..4f0f212ea6 100644
--- a/packages/kdepimpi/files/gcc4.patch
+++ b/packages/kdepimpi/files/gcc4.patch
@@ -1,3 +1,6 @@
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
--- ./gammu/emb/gammu/depend/siemens/dsiemens.c 2006/04/14 23:30:53 1.1
+++ ./gammu/emb/gammu/depend/siemens/dsiemens.c 2006/04/14 23:31:08
@@ -351,7 +351,7 @@
diff --git a/packages/kdepimpi/files/gcc42.patch b/packages/kdepimpi/files/gcc42.patch
index 30e425aeda..e6328eb1ee 100644
--- a/packages/kdepimpi/files/gcc42.patch
+++ b/packages/kdepimpi/files/gcc42.patch
@@ -1,4 +1,8 @@
-diff --git a/kabc/secrecy.h b/kabc/secrecy.h
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+diff --git
+a/kabc/secrecy.h b/kabc/secrecy.h
index 21e22f2..3011ae9 100644
--- a/kabc/secrecy.h
+++ b/kabc/secrecy.h
diff --git a/packages/kdepimpi/files/qt-mt.patch b/packages/kdepimpi/files/qt-mt.patch
index c7e3f9d88a..f0a5721bd1 100644
--- a/packages/kdepimpi/files/qt-mt.patch
+++ b/packages/kdepimpi/files/qt-mt.patch
@@ -1,4 +1,8 @@
-diff --git a/microkde/kresources/resource.cpp b/microkde/kresources/resource.cpp
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+diff --git
+a/microkde/kresources/resource.cpp b/microkde/kresources/resource.cpp
index cccd485..65d82e2 100644
--- a/microkde/kresources/resource.cpp
+++ b/microkde/kresources/resource.cpp
diff --git a/packages/kdepimpi/kdepimpi-qte.inc b/packages/kdepimpi/kdepimpi-qte.inc
new file mode 100644
index 0000000000..3fa8781658
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-qte.inc
@@ -0,0 +1,163 @@
+DESCRIPTION = "KDE-Pim Platform Independent - port of KDE Pim to PDA"
+DESCRIPTION_kopi = "Korganizer/PI is a powerful calendar and ToDo Tool"
+DESCRIPTION_kopi-applet = "KDE Pim/PI applet"
+DESCRIPTION_kapi = "KAddressbook/PI is a port of KDE addressbook"
+DESCRIPTION_libmicrokdelibs = "KDE Pim/PI library - microkde"
+DESCRIPTION_libmicrokcal = "KDE Pim/PI library - microkcal"
+DESCRIPTION_libmicrokabc = "KDE Pim/PI library - microkabc"
+DESCRIPTION_libmicrokammu = "KDE Pim/PI fork of libGammu"
+DESCRIPTION_kammu = "KDE Pim/PI fork of gammu"
+
+SECTION = "opie/pim"
+PRIORITY = "optional"
+LICENSE = "GPL"
+HOMEPAGE = "http://www.pi-sync.net/ http://sf.net/projects/kdepimpi/"
+MAINTAINER = "Marcin Juszkiewicz <openembedded@hrw.one.pl>"
+
+# we can't build:
+# kabc/plugins/sharpdtm - wants libsl (Sharp ROM 3.x closed source library)
+# kabc/plugins/ldap - wants ldap libs (?)
+# kabc/plugins/opie - wants libopie1 (we don't plan to have it in OE)
+# kmicromail - conflict with OE libetpan, libmailwrapper/OPIE
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/kdepim"
+
+EXTRA_QMAKEVARS_POST += " \
+INCLUDEPATH+=../ \
+OBJECTS_DIR=obj/ MOC_DIR=moc/ \
+DESTDIR=${S}/dest \
+LIBS+=-L${S}/dest/ \
+LIBS-=-lzlib \
+LIBS+=-lz \
+"
+# That changes will be needed for KMicroMail/PI to get it build with OE libs
+#
+# LIBS-=-lkmicromailwrapper LIBS+=-lmailwrapper LIBS+=-lopiecore2 \
+
+QMAKE_PROFILES= "all.pro"
+
+SUBDIRS="qtcompat libical/src/libical libical/src/libicalss microkde libkcal libkdepim \
+ kabc korganizer kalarmd kaddressbook kabc/plugins/file kabc/plugins/dir \
+ kabc/formats/binary kabc/plugins/qtopia \
+ gammu/emb/common \
+ gammu/emb/gammu \
+# pwmanager/libcrypt/mpi \
+# pwmanager/libcrypt/error \
+# pwmanager/libcrypt/cipher \
+# pwmanager/libcrypt/zlib \
+# pwmanager/pwmanager \
+ "
+
+inherit palmtop
+
+do_configure_prepend() {
+ mv ${S}/kabc/formats/binary/kabcformat_binaryE.pro ${S}/kabc/formats/binary/binaryE.pro
+ echo -e "TEMPLATE=subdirs\nSUBDIRS=${SUBDIRS}\n" >all.pro
+ for d in ${SUBDIRS}
+ do
+ if [ -f ${d}/`basename ${d}`E.pro ];
+ then
+ mv -f ${d}/`basename ${d}`E.pro ${d}/`basename ${d}`.pro
+ fi
+ done
+}
+
+do_compile() {
+ export KDEPIMDIR=${S}
+ oe_runmake
+}
+
+HEADERS_DIRS = "qtcompat \
+microkde \
+microkde/kdecore \
+microkde/kdeui \
+microkde/kio \
+microkde/kresources \
+microkde/kutils \
+microkde/opie2 \
+kabc \
+libkcal \
+libkdepim "
+
+do_unstage() {
+
+ for dir in ${HEADERS_DIRS};
+ do
+ rm -rf ${STAGING_INCDIR}/kdepimpi/$dir
+ done
+
+ for f in libmicrokde libmicrokdepim libmicrokabc libmicrokcal libmicroqtcompat
+ do
+ rm -f ${STAGING_LIBDIR}/kdepimpi/$f*
+ done
+}
+
+addtask unstage before do_configure
+
+do_stage() {
+
+ for dir in ${HEADERS_DIRS};
+ do
+ install -d ${STAGING_INCDIR}/kdepimpi/$dir
+ install -m 0644 ${S}/$dir/*.h ${STAGING_INCDIR}/kdepimpi/$dir/
+ done
+
+ for f in libmicrokde libmicrokdepim libmicrokabc libmicrokcal libmicroqtcompat
+ do
+ oe_libinstall -so -C ${S}/dest/ $f ${STAGING_LIBDIR}/kdepimpi/
+ done
+}
+
+do_install() {
+ install -d ${D}${palmtopdir}/bin \
+ ${D}${palmtopdir}/lib \
+ ${D}${palmtopdir}/apps/1Pim \
+ ${D}${palmtopdir}/pics/kdepim/korganizer/icons16 \
+ ${D}${palmtopdir}/pics/kdepim/korganizer/iconsmini \
+ ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons16 \
+ ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons22 \
+ ${D}${palmtopdir}/plugins/applets
+
+ install -m 0644 ${S}/bin/kdepim/korganizer/ko16.png ${D}${palmtopdir}/pics/
+ install -m 0644 ${S}/bin/kdepim/korganizer/ko24.png ${D}${palmtopdir}/pics/
+ install -m 0644 ${S}/bin/kdepim/korganizer/*.* ${D}${palmtopdir}/pics/kdepim/korganizer
+ install -m 0644 ${S}/bin/kdepim/korganizer/icons16/*.png ${D}${palmtopdir}/pics/kdepim/korganizer/icons16
+ install -m 0644 ${S}/bin/kdepim/korganizer/iconsmini/*.png ${D}${palmtopdir}/pics/kdepim/korganizer/iconsmini
+ install -m 0644 korganizer/korganizer.desktop ${D}${palmtopdir}/apps/1Pim/korganizer.desktop
+
+ install -m 0644 ${S}/bin/kdepim/kaddressbook/*.* ${D}${palmtopdir}/pics/kdepim/kaddressbook
+ install -m 0644 ${S}/bin/kdepim/kaddressbook/icons16/*.png ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons16
+ install -m 0644 ${S}/bin/kdepim/kaddressbook/icons22/*.png ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons22
+ install -m 0644 kaddressbook/kaddressbook.desktop ${D}${palmtopdir}/apps/1Pim/kaddressbook.desktop
+
+ for f in libmicrokde libmicrokdepim libmicrokabc libmicrokcal libmicroqtcompat libmicrokabc_file libmicrokabc_dir libmicrokabcformat_binary libmicrokabc_qtopia
+ do
+ oe_libinstall -so -C ${S}/dest/ $f ${D}${palmtopdir}/lib
+ done
+
+ install -m 0755 ${S}/dest/kopi ${D}${palmtopdir}/bin/kopi
+ install -m 0755 ${S}/dest/kapi ${D}${palmtopdir}/bin/kapi
+
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 0755 ${S}/dest/kammu ${D}${bindir}/kammu
+ oe_libinstall -so -C ${S}/dest/ libmicrokammu ${D}${libdir}
+
+ for f in libkopialarmapplet
+ do
+ oe_libinstall -so -C ${S}/dest/ $f ${D}${palmtopdir}/plugins/applets
+ done
+}
+
+
+PACKAGES = "libmicrokcal libmicrokabc kopi-applet kopi kapi libmicrokdelibs kammu libmicrokammu"
+
+FILES_kopi = "${palmtopdir}/bin/kopi ${palmtopdir}/apps/1Pim/korganizer.desktop ${palmtopdir}/pics/kdepim/korganizer/* "
+FILES_kapi = "${palmtopdir}/bin/kapi ${palmtopdir}/apps/1Pim/kaddressbook.desktop ${palmtopdir}/pics/kdepim/kaddressbook/* ${palmtopdir}/lib/libmicrokabc_* ${palmtopdir}/lib/libmicrokabcformat_binary*"
+FILES_kopi-applet = "${palmtopdir}/plugins/applets/* ${palmtopdir}/pics/ko16.png ${palmtopdir}/pics/ko24.png"
+FILES_libmicrokabc = "${palmtopdir}/lib/libmicrokabc*"
+FILES_libmicrokcal = "${palmtopdir}/lib/libmicrokcal*"
+FILES_libmicrokdelibs = "${palmtopdir}/lib/*"
+FILES_kammu = "${bindir}/kammu"
+FILES_libmicrokammu = "${libdir}/libmicrokammu*"
diff --git a/packages/kdepimpi/kdepimpi-x11.inc b/packages/kdepimpi/kdepimpi-x11.inc
new file mode 100644
index 0000000000..80c246ad7c
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11.inc
@@ -0,0 +1,70 @@
+DESCRIPTION = "KDE-Pim Platform Independent - port of KDE Pim to PDA - X11 version"
+DESCRIPTION_kopi-x11 = "Korganizer/PI is a powerful calendar and ToDo Tool - X11 version"
+DESCRIPTION_kopi-applet-x11 = "KDE Pim/PI applet - X11 version"
+DESCRIPTION_kapi-x11 = "KAddressbook/PI is a port of KDE addressbook - X11 version"
+DESCRIPTION_libmicrokdelibs-x11 = "KDE Pim/PI library - microkde - X11 version"
+DESCRIPTION_libmicrokcal-x11 = "KDE Pim/PI library - microkcal - X11 version"
+DESCRIPTION_libmicrokabc-x11 = "KDE Pim/PI library - microkabc - X11 version"
+DESCRIPTION_libmicrokammu-x11 = "KDE Pim/PI fork of libGammu - X11 version"
+DESCRIPTION_kammu-x11 = "KDE Pim/PI fork of gammu - X11 version"
+
+SECTION = "x11/pim"
+
+inherit qmake qt3x11
+
+QMAKE_PROFILES= "kdepim-desktop.pro"
+
+do_install() {
+ oe_runmake install
+}
+
+do_install-broken() {
+ install -d ${D}${palmtopdir}/bin \
+ ${D}${palmtopdir}/lib \
+ ${D}${palmtopdir}/apps/1Pim \
+ ${D}${palmtopdir}/pics/kdepim/korganizer/icons16 \
+ ${D}${palmtopdir}/pics/kdepim/korganizer/iconsmini \
+ ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons16 \
+ ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons22 \
+ ${D}${palmtopdir}/plugins/applets
+
+ install -m 0644 ${S}/bin/kdepim/korganizer/ko16.png ${D}${palmtopdir}/pics/
+ install -m 0644 ${S}/bin/kdepim/korganizer/ko24.png ${D}${palmtopdir}/pics/
+ install -m 0644 ${S}/bin/kdepim/korganizer/*.* ${D}${palmtopdir}/pics/kdepim/korganizer
+ install -m 0644 ${S}/bin/kdepim/korganizer/icons16/*.png ${D}${palmtopdir}/pics/kdepim/korganizer/icons16
+ install -m 0644 ${S}/bin/kdepim/korganizer/iconsmini/*.png ${D}${palmtopdir}/pics/kdepim/korganizer/iconsmini
+ install -m 0644 korganizer/korganizer.desktop ${D}${palmtopdir}/apps/1Pim/korganizer.desktop
+
+ install -m 0644 ${S}/bin/kdepim/kaddressbook/*.* ${D}${palmtopdir}/pics/kdepim/kaddressbook
+ install -m 0644 ${S}/bin/kdepim/kaddressbook/icons16/*.png ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons16
+ install -m 0644 ${S}/bin/kdepim/kaddressbook/icons22/*.png ${D}${palmtopdir}/pics/kdepim/kaddressbook/icons22
+ install -m 0644 kaddressbook/kaddressbook.desktop ${D}${palmtopdir}/apps/1Pim/kaddressbook.desktop
+
+ for f in libmicrokde libmicrokdepim libmicrokabc libmicrokcal libmicroqtcompat libmicrokabc_file libmicrokabc_dir libmicrokabcformat_binary libmicrokabc_qtopia
+ do
+ oe_libinstall -so -C ${S}/dest/ $f ${D}${palmtopdir}/lib
+ done
+
+ install -m 0755 ${S}/dest/kopi ${D}${palmtopdir}/bin/kopi
+ install -m 0755 ${S}/dest/kapi ${D}${palmtopdir}/bin/kapi
+
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 0755 ${S}/dest/kammu ${D}${bindir}/kammu
+ oe_libinstall -so -C ${S}/dest/ libmicrokammu ${D}${libdir}
+
+ for f in libkopialarmapplet
+ do
+ oe_libinstall -so -C ${S}/dest/ $f ${D}${palmtopdir}/plugins/applets
+ done
+}
+
+PACKAGES = "libmicrokcal-x11 libmicrokabc-x11 kopi-applet-x11 kopi-x11 kapi-x11 libmicrokdelibs-x11 kammu-x11 libmicrokammu-x11"
+
+FILES_kopi-x11 = "${palmtopdir}/bin/kopi ${palmtopdir}/apps/1Pim/korganizer.desktop ${palmtopdir}/pics/kdepim/korganizer/* "
+FILES_kapi-x11 = "${palmtopdir}/bin/kapi ${palmtopdir}/apps/1Pim/kaddressbook.desktop ${palmtopdir}/pics/kdepim/kaddressbook/* ${palmtopdir}/lib/libmicrokabc_* ${palmtopdir}/lib/libmicrokabcformat_binary*"
+FILES_kopi-applet-x11 = "${palmtopdir}/plugins/applets/* ${palmtopdir}/pics/ko16.png ${palmtopdir}/pics/ko24.png"
+FILES_libmicrokabc-x11 = "${palmtopdir}/lib/libmicrokabc*"
+FILES_libmicrokcal-x11 = "${palmtopdir}/lib/libmicrokcal*"
+FILES_libmicrokdelibs-x11 = "${palmtopdir}/lib/*"
+FILES_kammu-x11 = "${bindir}/kammu"
+FILES_libmicrokammu-x11 = "${libdir}/libmicrokammu*"
diff --git a/packages/libpcap/libpcap-0.9.6/.mtn2git_empty b/packages/kdepimpi/kdepimpi-x11/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/libpcap/libpcap-0.9.6/.mtn2git_empty
+++ b/packages/kdepimpi/kdepimpi-x11/.mtn2git_empty
diff --git a/packages/kdepimpi/kdepimpi-x11/kabc.patch b/packages/kdepimpi/kdepimpi-x11/kabc.patch
new file mode 100644
index 0000000000..1f57b855c3
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11/kabc.patch
@@ -0,0 +1,24 @@
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- kdepim/kaddressbook/kaddressbook.pro~kabc
++++ kdepim/kaddressbook/kaddressbook.pro
+@@ -31,10 +31,10 @@
+ LIBS += ../libical/lib/libicalss.a
+
+ } else {
+-LIBS += ../bin/libmicrokdepim.so
+-LIBS += ../bin/libmicrokde.so
+-LIBS += ../bin/libmicrokabc.so
+-LIBS += ../bin/libmicrokcal.so
++LIBS += $(DESTDIR)/libmicrokdepim.so
++LIBS += $(DESTDIR)/libmicrokde.so
++LIBS += $(DESTDIR)/libmicrokabc.so
++LIBS += $(DESTDIR)/libmicrokcal.so
+ #LIBS += -lldap
+ }
+ OBJECTS_DIR = obj/unix
diff --git a/packages/kdepimpi/kdepimpi-x11/kammu.patch b/packages/kdepimpi/kdepimpi-x11/kammu.patch
new file mode 100644
index 0000000000..b7ccf7c731
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11/kammu.patch
@@ -0,0 +1,18 @@
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- kdepim/gammu/emb/gammu/gammu.pro~kammu
++++ kdepim/gammu/emb/gammu/gammu.pro
+@@ -47,7 +47,7 @@
+ depend/nokia/dct3trac/wmx-util.c \
+ depend/nokia/dct3trac/wmx.c
+ unix : {
+-LIBS += ../../../bin/libmicrogammu.so /usr/lib/libpthread.so
++LIBS += $(DESTDIR)/libmicrogammu.so
+ # bluetooth disabled for now
+ #/usr/lib/libbluetooth.so /usr/lib/libsdp.so
+ OBJECTS_DIR = obj/unix
diff --git a/packages/kdepimpi/kdepimpi-x11/korganizer.patch b/packages/kdepimpi/kdepimpi-x11/korganizer.patch
new file mode 100644
index 0000000000..3537b5ca10
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11/korganizer.patch
@@ -0,0 +1,24 @@
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- kdepim/korganizer/korganizer.pro~korganizer
++++ kdepim/korganizer/korganizer.pro
+@@ -34,10 +34,10 @@
+ LIBS += ../libical/lib/libical.a
+ LIBS += ../libical/lib/libicalss.a
+ } else {
+-LIBS += ../bin/libmicrokdepim.so
+-LIBS += ../bin/libmicrokcal.so
+-LIBS += ../bin/libmicrokde.so
+-LIBS += ../bin/libmicrokabc.so
++LIBS += $(DESTDIR)/libmicrokdepim.so
++LIBS += $(DESTDIR)/libmicrokcal.so
++LIBS += $(DESTDIR)/libmicrokde.so
++LIBS += $(DESTDIR)/libmicrokabc.so
+ #LIBS += -lbluetooth
+ #LIBS += -lsdp
+
diff --git a/packages/kdepimpi/kdepimpi-x11/libkcal.patch b/packages/kdepimpi/kdepimpi-x11/libkcal.patch
new file mode 100644
index 0000000000..e226c8c02b
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11/libkcal.patch
@@ -0,0 +1,16 @@
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+--- kdepim/libkcal/libkcal.pro~paths 2005-01-30 00:23:34.000000000 +0100
++++ kdepim/libkcal/libkcal.pro 2005-10-03 11:09:49.000000000 +0200
+@@ -11,8 +11,8 @@
+ DESTDIR = ../bin
+ DEFINES += DESKTOP_VERSION
+ unix: {
+-LIBS += ../libical/lib/libical.a
+-LIBS += ../libical/lib/libicalss.a
++LIBS += ../dest$(LIBICAL_PATH)/libical.a
++LIBS += ../dest$(LIBICAL_PATH)/libicalss.a
+ OBJECTS_DIR = obj/unix
+ MOC_DIR = moc/unix
+ }
diff --git a/packages/kdepimpi/kdepimpi-x11/nomail.patch b/packages/kdepimpi/kdepimpi-x11/nomail.patch
new file mode 100644
index 0000000000..b37ed7badf
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11/nomail.patch
@@ -0,0 +1,18 @@
+upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1898924&group_id=104103&atid=636951
+status: upstream is pretty dead
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- kdepim/kdepim-desktop.pro~nomail
++++ kdepim/kdepim-desktop.pro
+@@ -15,7 +15,7 @@
+ }
+ unix:{
+ !staticlib: {
+-SUBDIRS += libetpan kmicromail/libmailwrapper kmicromail pwmanager/libcrypt/cipher pwmanager/libcrypt/error pwmanager/libcrypt/mpi pwmanager/libcrypt/zlib pwmanager/pwmanager
++SUBDIRS += pwmanager/libcrypt/cipher pwmanager/libcrypt/error pwmanager/libcrypt/mpi pwmanager/libcrypt/zlib pwmanager/pwmanager
+ }
+ }
+
diff --git a/packages/kdepimpi/kdepimpi-x11_2.2.3.bb b/packages/kdepimpi/kdepimpi-x11_2.2.3.bb
new file mode 100644
index 0000000000..6c48baf266
--- /dev/null
+++ b/packages/kdepimpi/kdepimpi-x11_2.2.3.bb
@@ -0,0 +1,10 @@
+SRC_URI = "${SOURCEFORGE_MIRROR}/kdepimpi/kdepimpi-${PV}.tar.gz \
+file://libkcal.patch;patch=1 \
+file://kabc.patch;patch=1 \
+file://kammu.patch;patch=1 \
+file://korganizer.patch;patch=1 \
+file://nomail.patch;patch=1 \
+"
+
+include kdepimpi-base.inc
+include kdepimpi-x11.inc
diff --git a/packages/kphonepi/kphonepi_1.0.0.bb b/packages/kdepimpi/kphonepi_1.0.0.bb
index 1f8a5d8196..1f8a5d8196 100644
--- a/packages/kphonepi/kphonepi_1.0.0.bb
+++ b/packages/kdepimpi/kphonepi_1.0.0.bb
diff --git a/packages/ktimetrackerpi/ktimetrackerpi_0.9.7.bb b/packages/kdepimpi/ktimetrackerpi_0.9.7.bb
index d022dc55cc..d022dc55cc 100644
--- a/packages/ktimetrackerpi/ktimetrackerpi_0.9.7.bb
+++ b/packages/kdepimpi/ktimetrackerpi_0.9.7.bb
diff --git a/packages/kexec/files/kexec-klibc.patch b/packages/kexec/files/kexec-klibc.patch
new file mode 100644
index 0000000000..b8e2c81689
--- /dev/null
+++ b/packages/kexec/files/kexec-klibc.patch
@@ -0,0 +1,140 @@
+Index: kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-elf-rel-arm.c 2008-02-22 20:45:15.907610333 +0100
++++ kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c 2008-02-22 20:45:27.508612989 +0100
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+
+Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2008-02-22 20:45:15.959611260 +0100
++++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2008-02-22 20:45:27.508612989 +0100
+@@ -110,13 +110,13 @@
+ }
+
+ fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp);
+- if (ferror(fp)) {
++/* if (ferror(fp)) {
+ fprintf(stderr, "Cannot read %s: %s\n",
+ fn, strerror(errno));
+ fclose(fp);
+ return NULL;
+ }
+-
++*/
+ fclose(fp);
+ return (struct tag *) buf;
+ }
+Index: kexec-tools-1.101/kexec/ifdown.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/ifdown.c 2004-06-09 20:55:31.000000000 +0200
++++ kexec-tools-1.101/kexec/ifdown.c 2008-02-22 20:45:27.508612989 +0100
+@@ -14,7 +14,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+ #include <sys/time.h>
+-#include <sys/errno.h>
++#include <errno.h>
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+Index: kexec-tools-1.101/purgatory/Makefile
+===================================================================
+--- kexec-tools-1.101.orig/purgatory/Makefile 2005-01-08 23:36:32.000000000 +0100
++++ kexec-tools-1.101/purgatory/Makefile 2008-02-22 20:45:27.516611391 +0100
+@@ -13,7 +13,7 @@
+
+ PCFLAGS += $(call cc-option, -ffreestanding)
+ PCFLAGS += $(call cc-option, -fnobuiltin)
+-PCFLAGS += $(call cc-option, -fnostdinc)
++PCFLAGS += $(call cc-option, -nostdinc)
+ PCFLAGS += $(call cc-option, -fno-zero-initialized-in-bss)
+
+ PURGATORY_C_SRCS:=
+Index: kexec-tools-1.101/kexec/kexec-elf-rel.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/kexec-elf-rel.c 2005-01-13 14:04:21.000000000 +0100
++++ kexec-tools-1.101/kexec/kexec-elf-rel.c 2008-02-22 20:45:27.524612027 +0100
+@@ -4,7 +4,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
+-#include "elf.h"
++#include "../include/elf.h"
+ #include <boot/elf_boot.h>
+ #include "kexec.h"
+ #include "kexec-elf.h"
+Index: kexec-tools-1.101/kexec/kexec-syscall.h
+===================================================================
+--- kexec-tools-1.101.orig/kexec/kexec-syscall.h 2008-02-22 20:45:15.923611048 +0100
++++ kexec-tools-1.101/kexec/kexec-syscall.h 2008-02-22 20:45:27.524612027 +0100
+@@ -2,7 +2,7 @@
+ #define KEXEC_SYSCALL_H
+
+ #define __LIBRARY__
+-#include <syscall.h>
++/*#include <syscall.h>*/
+ #include <sys/syscall.h>
+ #include <unistd.h>
+
+@@ -21,7 +21,7 @@
+ #define LINUX_REBOOT_CMD_KEXEC_OLD 0x81726354
+ #define LINUX_REBOOT_CMD_KEXEC_OLD2 0x18263645
+ #define LINUX_REBOOT_CMD_KEXEC 0x45584543
+-
++/*
+ #ifdef __i386__
+ #define __NR_kexec_load 283
+ #endif
+@@ -43,18 +43,19 @@
+ #ifndef __NR_kexec_load
+ #error Unknown processor architecture. Needs a kexec_load syscall number.
+ #endif
+-
++*/
+ struct kexec_segment;
+-
++/*
+ static inline long kexec_load(void *entry, unsigned long nr_segments,
+ struct kexec_segment *segments, unsigned long flags)
+ {
+ return (long) syscall(__NR_kexec_load, entry, nr_segments, segments, flags);
+ }
+-
++*/
+ static inline long kexec_reboot(void)
+ {
+- return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
++ //return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
++ return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
+ }
+
+
+Index: kexec-tools-1.101/kexec/kexec.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/kexec.c 2008-02-22 20:45:15.923611048 +0100
++++ kexec-tools-1.101/kexec/kexec.c 2008-02-22 20:45:38.847612035 +0100
+@@ -29,9 +29,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <getopt.h>
+-#ifdef HAVE_ZLIB_H
+-#include <zlib.h>
+-#endif
++#include "zlib.h"
+ #include <sha256.h>
+ #include "kexec.h"
+ #include "kexec-syscall.h"
+@@ -383,7 +381,7 @@
+ return buf;
+ }
+
+-#if HAVE_ZLIB_H
++#if 1
+ char *slurp_decompress_file(const char *filename, off_t *r_size)
+ {
+ gzFile fp;
diff --git a/packages/kexec/kexec-tools-static_1.101.bb b/packages/kexec/kexec-tools-static_1.101.bb
index ca23917a11..5fa51b2e70 100644
--- a/packages/kexec/kexec-tools-static_1.101.bb
+++ b/packages/kexec/kexec-tools-static_1.101.bb
@@ -1,10 +1,21 @@
+# the binaries are statical linked against klibc
require kexec-tools.inc
-PR = "r0"
+PR = "r3"
+DEPENDS = "klibc"
-SRC_URI += "file://kexec-static.patch;patch=1"
+SRC_URI += "file://kexec-klibc.patch;patch=1"
S = "${WORKDIR}/kexec-tools-${PV}"
+EXTRA_OECONF = " --without-zlib"
+
+export CC=${TARGET_PREFIX}klcc
+
+# standart oe cflags don't work with klcc
+export CFLAGS=""
+export CPPFLAGS=""
+export LDFLAGS=""
+
PACKAGES =+ "kexec-static kdump-static"
FILES_kexec-static = "${sbindir}/kexec"
diff --git a/packages/kexec/kexec-tools.inc b/packages/kexec/kexec-tools.inc
index 5649934a5b..f806e71480 100644
--- a/packages/kexec/kexec-tools.inc
+++ b/packages/kexec/kexec-tools.inc
@@ -7,8 +7,6 @@ DEPENDS = "virtual/kernel zlib"
inherit autotools
-export LDFLAGS = "-L${STAGING_LIBDIR}"
-EXTRA_OECONF = " --with-zlib=yes"
SRC_URI = "http://www.xmission.com/~ebiederm/files/kexec/kexec-tools-${PV}.tar.gz \
file://kexec-tools-arm.patch;patch=1 \
diff --git a/packages/kexec/kexec-tools_1.101.bb b/packages/kexec/kexec-tools_1.101.bb
index 366fad4978..f74c7bcd83 100644
--- a/packages/kexec/kexec-tools_1.101.bb
+++ b/packages/kexec/kexec-tools_1.101.bb
@@ -1,3 +1,5 @@
require kexec-tools.inc
+export LDFLAGS = "-L${STAGING_LIBDIR}"
+EXTRA_OECONF = " --with-zlib=yes"
-PR = "r4"
+PR = "r5"
diff --git a/packages/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch b/packages/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch
new file mode 100644
index 0000000000..b52b3e309b
--- /dev/null
+++ b/packages/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch
@@ -0,0 +1,63 @@
+Index: klibc-1.5/usr/kinit/fstype/fstype.c
+===================================================================
+--- klibc-1.5.orig/usr/kinit/fstype/fstype.c 2008-02-28 00:48:35.319254938 +0100
++++ klibc-1.5/usr/kinit/fstype/fstype.c 2008-02-28 00:52:20.583257793 +0100
+@@ -20,7 +20,7 @@
+ #include <endian.h>
+ #include <netinet/in.h>
+ #include <sys/vfs.h>
+-
++#include <linux/types.h>
+ #define cpu_to_be32(x) __cpu_to_be32(x) /* Needed by romfs_fs.h */
+
+ #include "romfs_fs.h"
+@@ -33,6 +33,12 @@
+ #include "lvm2_sb.h"
+ #include "iso9660_sb.h"
+
++#if __BYTE_ORDER == __BIG_ENDIAN
++#include <linux/byteorder/big_endian.h>
++#else
++#include <linux/byteorder/little_endian.h>
++#endif
++
+ /*
+ * Slightly cleaned up version of jfs_superblock to
+ * avoid pulling in other kernel header files.
+@@ -54,6 +60,27 @@
+ /* Swap needs the definition of block size */
+ #include "swap_fs.h"
+
++static int jffs2_image(const unsigned char *buf, unsigned long *blocks)
++{
++ // Very sloppy! ;-E
++ if (*buf == 0x85 && buf[1] == 0x19)
++ return 1;
++
++ return 0;
++}
++
++static int vfat_image(const unsigned char *buf, unsigned long *blocks)
++{
++ const struct romfs_super_block *sb =
++ (const struct romfs_super_block *)buf;
++ if (!strncmp(buf + 54, "FAT12 ", 8)
++ || !strncmp(buf + 54, "FAT16 ", 8)
++ || !strncmp(buf + 82, "FAT32 ", 8))
++ return 1;
++
++ return 0;
++}
++
+ static int gzip_image(const void *buf, unsigned long long *bytes)
+ {
+ const unsigned char *p = buf;
+@@ -277,6 +304,8 @@
+ {1, "ext3", ext3_image},
+ {1, "ext2", ext2_image},
+ {1, "minix", minix_image},
++ {0, "jffs2", jffs2_image},
++ {0, "vfat", vfat_image},
+ {8, "reiserfs", reiserfs_image},
+ {64, "reiserfs", reiserfs_image},
+ {32, "jfs", jfs_image},
diff --git a/packages/klibc/files/install.patch b/packages/klibc/files/install.patch
deleted file mode 100644
index b165e8b177..0000000000
--- a/packages/klibc/files/install.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-# These are OE specific patches which make the install stuff work
-# in the OE build environment and fix the problem that the gzip
-# stuff should be all links to one executable but end up being
-# copies
---- klibc-1.1.1/Makefile.orig 2005-12-29 14:20:09.080981353 -0800
-+++ klibc-1.1.1/Makefile 2005-12-29 14:20:25.634022970 -0800
-@@ -61,7 +61,7 @@ local-install: $(CROSS)klcc
- mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d ; \
- for r in $(KRNLSRC)/include $(KRNLOBJ)/include $(KRNLOBJ)/include2 ; do \
- [ ! -d $$r/$$d ] || \
-- cp -rfL $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
-+ cp -rf $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
- done ; \
- done
- cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(ARCH) asm
---- klibc-1.1.1/gzip/Makefile.orig 2005-12-29 18:10:00.787869930 -0800
-+++ klibc-1.1.1/gzip/Makefile 2005-12-29 18:11:21.084922705 -0800
-@@ -70,9 +70,12 @@ clean:
- spotless: clean
- rm -f *~
-
--# These should presumably be shared...
- install: all
-- $(INSTALL_EXEC) gzip gunzip zcat $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin
-+ $(INSTALL_EXEC) gzip $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin
-+ rm -f $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gunzip
-+ ln $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gzip $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gunzip
-+ rm -f $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/zcat
-+ ln $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gzip $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/zcat
-
- ifneq ($(wildcard .*.d),)
- include $(wildcard .*.d)
---- klibc-1.1.1/klibc/Makefile.orig 2005-12-30 10:39:04.504930675 -0800
-+++ klibc-1.1.1/klibc/Makefile 2005-12-30 10:39:52.755966921 -0800
-@@ -184,6 +184,7 @@ install: all
- $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)lib
- $(INSTALL_EXEC) klibc-`cat $(SOLIB).hash`.so \
- $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)lib
-+ test -z "$(INSTALLROOT)" || \
- $(INSTALL_EXEC) klibc-`cat $(SOLIB).hash`.so \
- $(INSTALLROOT)/$(SHLIBDIR)
-
diff --git a/packages/klibc/files/klibc_kexecsyscall.patch b/packages/klibc/files/klibc_kexecsyscall.patch
new file mode 100644
index 0000000000..9b2dca4738
--- /dev/null
+++ b/packages/klibc/files/klibc_kexecsyscall.patch
@@ -0,0 +1,11 @@
+--- klibc-1.5/usr/klibc/SYSCALLS.def 2007-03-04 02:52:10.000000000 +0100
++++ klibc.clean/usr/klibc/SYSCALLS.def 2008-02-22 17:12:23.663612084 +0100
+@@ -13,6 +13,8 @@
+ #include <asm/unistd.h>
+ #include <klibc/sysconfig.h>
+ #include <bitsize.h>
++#include <asm/kexec.h>
++long kexec_load(void *, unsigned long , struct kexec_segment *, unsigned long );
+
+ /*
+ * Process-related syscalls
diff --git a/packages/klibc/files/staging.patch b/packages/klibc/files/staging.patch
new file mode 100644
index 0000000000..215daad456
--- /dev/null
+++ b/packages/klibc/files/staging.patch
@@ -0,0 +1,144 @@
+Index: klibc-1.5/Makefile
+===================================================================
+--- klibc-1.5.orig/Makefile 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/Makefile 2008-02-24 15:25:15.213824149 +0100
+@@ -33,7 +33,7 @@
+ export PERL := perl
+
+ # Location for installation
+-export prefix = /usr
++export prefix = $(INST)
+ export bindir = $(prefix)/bin
+ export libdir = $(prefix)/lib
+ export mandir = $(prefix)/man
+Index: klibc-1.5/scripts/Kbuild.install
+===================================================================
+--- klibc-1.5.orig/scripts/Kbuild.install 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/scripts/Kbuild.install 2008-02-24 15:24:28.085825030 +0100
+@@ -88,25 +88,21 @@
+ header:
+ $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
+ $(Q)mkdir -p $(INSTALLROOT)$(bindir)
+- $(Q)mkdir -p $(INSTALLROOT)$(mandir)/man1
+- $(Q)mkdir -p $(INSTALLROOT)$(SHLIBDIR)
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)
+ $(Q)-rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+ $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
+ mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
+ for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
+ $(KLIBCKERNELOBJ)/include2 ; do \
+ [ ! -d $$r/$$d ] || \
+- cp -rfL $$r/$$d/. \
++ cp -rfd $$r/$$d/. \
+ $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
+ done ; \
+ done
+ $(Q)cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(KLIBCARCH) asm
+ $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
+ $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
+
+ footer: header
+Index: klibc-1.5/usr/dash/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/dash/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/dash/Kbuild 2008-02-24 15:13:50.189827040 +0100
+@@ -107,5 +107,3 @@
+ $(obj)/arith.c: $(obj)/arith.h
+ $(Q):
+
+-# Targets to install
+-install-y := sh.shared
+Index: klibc-1.5/usr/gzip/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/gzip/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/gzip/Kbuild 2008-02-24 15:13:50.197824604 +0100
+@@ -21,5 +21,3 @@
+ # Cleaning
+ targets := gzip gzip.g gunzip zcat
+
+-# Targets to install
+-install-y := gzip gunzip zcat
+Index: klibc-1.5/usr/kinit/fstype/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/kinit/fstype/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/kinit/fstype/Kbuild 2008-02-24 15:13:50.201824503 +0100
+@@ -21,5 +21,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+Index: klibc-1.5/usr/kinit/ipconfig/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/kinit/ipconfig/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/kinit/ipconfig/Kbuild 2008-02-24 15:13:50.205824123 +0100
+@@ -27,5 +27,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+Index: klibc-1.5/usr/kinit/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/kinit/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/kinit/Kbuild 2008-02-24 15:13:50.209824302 +0100
+@@ -33,5 +33,3 @@
+ subdir- := fstype ipconfig nfsmount resume run-init
+
+
+-# install binary
+-install-y := kinit kinit.shared
+Index: klibc-1.5/usr/kinit/nfsmount/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/kinit/nfsmount/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/kinit/nfsmount/Kbuild 2008-02-24 15:13:50.213824201 +0100
+@@ -23,5 +23,3 @@
+
+ clean-dirs := static shared
+
+-# Install binary
+-install-y := $(shared-y)
+Index: klibc-1.5/usr/kinit/resume/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/kinit/resume/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/kinit/resume/Kbuild 2008-02-24 15:13:50.217824380 +0100
+@@ -26,5 +26,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+Index: klibc-1.5/usr/kinit/run-init/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/kinit/run-init/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/kinit/run-init/Kbuild 2008-02-24 15:13:50.221824559 +0100
+@@ -21,5 +21,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+Index: klibc-1.5/usr/klibc/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/klibc/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/klibc/Kbuild 2008-02-24 15:13:50.229824358 +0100
+@@ -175,5 +175,3 @@
+ $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib))
+ $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
+ $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib
+- $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
+- $(INSTALLROOT)$(SHLIBDIR)
+Index: klibc-1.5/usr/utils/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/utils/Kbuild 2007-03-04 02:52:10.000000000 +0100
++++ klibc-1.5/usr/utils/Kbuild 2008-02-24 15:13:50.229824358 +0100
+@@ -64,5 +64,3 @@
+ # Clean deletes the static and shared dir
+ clean-dirs := static shared
+
+-# install only install the shared binaries
+-install-y := $(shared-y) shared/reboot shared/poweroff
diff --git a/packages/klibc/klibc-common.inc b/packages/klibc/klibc-common.inc
index 146968eaf0..7b23ece856 100644
--- a/packages/klibc/klibc-common.inc
+++ b/packages/klibc/klibc-common.inc
@@ -4,32 +4,12 @@ DESCRIPTION = "klibc is intended to be a minimalistic libc subset for \
use with initramfs. It is deliberately written for small size, \
minimal entaglement, and portability, not speed."
LICENSE = "BSD-ADV"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/Stable/klibc-${PV}.tar.bz2"
-SRC_URI += "file://install.patch;patch=1"
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/Stable/klibc-${PV}.tar.bz2 \
+ file://fstype-sane-vfat-and-jffs2-for-1.5.patch;patch=1 \
+ "
S = "${WORKDIR}/klibc-${PV}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-# for the correct kernel staging path
-# inherit module-base
-
-EXTRA_OEMAKE = "'ARCH=${KLIBC_ARCH}' \
- 'CROSS=${TARGET_PREFIX}' \
- 'CC=${HOST_PREFIX}gcc' \
- 'LD=${HOST_PREFIX}ld' \
- 'AR=${AR}' \
- 'RANLIB=${RANLIB}' \
- 'NM=${TARGET_PREFIX}nm' \
- 'STRIP=echo' \
- 'SHLIBDIR=/lib' \
- 'HOST_CC=${BUILD_CC}' \
- 'HOST_CFLAGS=${BUILD_CFLAGS}' \
- 'HOST_LDFLAGS=${BUILD_LDFLAGS}' \
- 'HOST_LIBS=' \
- 'LDFLAGS=' \
- 'ARCHREQFLAGS=${HOST_CC_ARCH}' \
- 'OPTFLAGS=${TARGET_CFLAGS}' \
- 'mandir=${mandir}'"
-
KLIBC_ARCH = '${TARGET_ARCH}'
KLIBC_ARCH_armeb = 'arm'
KLIBC_ARCH_mipsel = 'mips'
@@ -38,25 +18,16 @@ KLIBC_ARCH_mipsel = 'mips'
# could be fixed, but for the moment:
ARM_INSTRUCTION_SET = "arm"
-TARGET_CFLAGS := "${@oe_filter_out('-I\S+', '${TARGET_CFLAGS}', d)} -I${STAGING_KERNEL_DIR}/include"
-
-INSTALLDIR = "/usr/lib/klibc"
-INSTALLPREFIX = "${INSTALLDIR}/${TARGET_PREFIX}"
-INSTALLBINDIR = "${INSTALLPREFIX}bin"
-INSTALLLIBDIR = "${INSTALLPREFIX}lib"
-INSTALLINCDIR = "${INSTALLPREFIX}include"
+SRC_URI_append_linux-gnueabi = "file://klibc-config-eabi.patch;patch=1 \
+ "
+SRC_URI_append_linux-uclibcgnueabi = "file://klibc-config-eabi.patch;patch=1 \
+ "
-PACKAGES = "${PN}-dbg ${PN} ${PN}-dev ${PN}-doc"
-
-FILES_${PN} = "/lib/*.so* ${INSTALLBINDIR}"
-FILES_${PN}-dev = "/usr/bin ${INSTALLINCDIR} ${INSTALLLIBDIR}"
+EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
+ 'CROSS_COMPILE=${TARGET_PREFIX}' \
+ "
do_configure () {
ln -sf ${STAGING_KERNEL_DIR} linux
}
-do_install() {
- # The installed -dev won't work because it has the cross compiler
- # path compiled in.
- oe_runmake 'INSTALLROOT=${D}' install
-}
diff --git a/packages/klibc/klibc-utils-static_1.5.bb b/packages/klibc/klibc-utils-static_1.5.bb
index bbb3248158..6d7a199967 100644
--- a/packages/klibc/klibc-utils-static_1.5.bb
+++ b/packages/klibc/klibc-utils-static_1.5.bb
@@ -1,22 +1,18 @@
require klibc-common.inc
-PR = "r3"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/Stable/klibc-${PV}.tar.bz2"
-
-SRC_URI_append_linux-gnueabi = "\
- file://klibc-config-eabi.patch;patch=1"
-
-EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
- 'CROSS_COMPILE=${TARGET_PREFIX}' \
- "
+PR = "r7"
+# We only want the static utils. klibc build both. So we install only what we want.
do_install() {
install -d ${D}${base_bindir}
install -m 755 usr/dash/sh ${D}${base_bindir}
install -m 755 usr/gzip/gzip ${D}${base_bindir}
- ln -s ${D}${base_bindir}/gzip ${D}${base_bindir}/gunzip
- ln -s ${D}${base_bindir}/gzip ${D}${base_bindir}/zcat
+ install -m 755 usr/kinit/kinit ${D}${base_bindir}
+ install -m 755 usr/kinit/fstype/static/fstype ${D}${base_bindir}
+ install -m 755 usr/kinit/ipconfig/static/ipconfig ${D}${base_bindir}
+ install -m 755 usr/kinit/nfsmount/static/nfsmount ${D}${base_bindir}
+ install -m 755 usr/kinit/resume/static/resume ${D}${base_bindir}
+ install -m 755 usr/kinit/run-init/static/run-init ${D}${base_bindir}
install -m 755 usr/utils/static/cat ${D}${base_bindir}
install -m 755 usr/utils/static/chroot ${D}${base_bindir}
install -m 755 usr/utils/static/cpio ${D}${base_bindir}
@@ -28,31 +24,50 @@ do_install() {
install -m 755 usr/utils/static/ln ${D}${base_bindir}
install -m 755 usr/utils/static/minips ${D}${base_bindir}
install -m 755 usr/utils/static/mkdir ${D}${base_bindir}
+ install -m 755 usr/utils/static/mkfifo ${D}${base_bindir}
install -m 755 usr/utils/static/mknod ${D}${base_bindir}
install -m 755 usr/utils/static/mount ${D}${base_bindir}
install -m 755 usr/utils/static/nuke ${D}${base_bindir}
install -m 755 usr/utils/static/pivot_root ${D}${base_bindir}
+ install -m 755 usr/utils/static/poweroff ${D}${base_bindir}
install -m 755 usr/utils/static/readlink ${D}${base_bindir}
+ install -m 755 usr/utils/static/reboot ${D}${base_bindir}
install -m 755 usr/utils/static/sleep ${D}${base_bindir}
install -m 755 usr/utils/static/true ${D}${base_bindir}
install -m 755 usr/utils/static/umount ${D}${base_bindir}
install -m 755 usr/utils/static/uname ${D}${base_bindir}
+ cd ${D}${base_bindir}
+ ln -s gzip gunzip
+ ln -s gzip zcat
+ cd -
}
PACKAGES = "klibc-utils-static-sh klibc-utils-static-gzip \
- klibc-utils-static-cat klibc-utils-static-chroot \
+ klibc-utils-static-kinit klibc-utils-static-fstype \
+ klibc-utils-static-ipconfig klibc-utils-static-nfsmount \
+ klibc-utils-static-resume klibc-utils-static-run-init \
+ klibc-utils-static-cat klibc-utils-static-chroot \
klibc-utils-static-cpio klibc-utils-static-dd \
klibc-utils-static-false klibc-utils-static-halt \
klibc-utils-static-insmod klibc-utils-static-kill \
klibc-utils-static-ln klibc-utils-static-minips \
- klibc-utils-static-mkdir klibc-utils-static-mknod \
- klibc-utils-static-mount klibc-utils-static-nuke \
- klibc-utils-static-pivot-root klibc-utils-static-readlink \
- klibc-utils-static-sleep klibc-utils-static-true \
- klibc-utils-static-umount klibc-utils-static-uname "
+ klibc-utils-static-mkdir klibc-utils-static-mkfifo \
+ klibc-utils-static-mknod klibc-utils-static-mount \
+ klibc-utils-static-nuke klibc-utils-static-pivot-root \
+ klibc-utils-static-poweroff klibc-utils-static-readlink \
+ klibc-utils-static-reboot klibc-utils-static-sleep \
+ klibc-utils-static-true klibc-utils-static-umount \
+ klibc-utils-static-uname \
+ "
FILES_klibc-utils-static-sh = "${base_bindir}/sh"
FILES_klibc-utils-static-gzip = "${base_bindir}/gzip ${base_bindir}/gunzip ${base_bindir}/zcat"
+FILES_klibc-utils-static-kinit = "${base_bindir}/kinit"
+FILES_klibc-utils-static-fstype = "${base_bindir}/fstype"
+FILES_klibc-utils-static-ipconfig = "${base_bindir}/ipconfig"
+FILES_klibc-utils-static-nfsmount = "${base_bindir}/nfsmount"
+FILES_klibc-utils-static-resume = "${base_bindir}/resume"
+FILES_klibc-utils-static-run-init = "${base_bindir}/run-init"
FILES_klibc-utils-static-cat = "${base_bindir}/cat"
FILES_klibc-utils-static-chroot = "${base_bindir}/chroot"
FILES_klibc-utils-static-cpio = "${base_bindir}/cpio"
@@ -64,11 +79,14 @@ FILES_klibc-utils-static-kill = "${base_bindir}/kill"
FILES_klibc-utils-static-ln = "${base_bindir}/ln"
FILES_klibc-utils-static-minips = "${base_bindir}/minips"
FILES_klibc-utils-static-mkdir = "${base_bindir}/mkdir"
+FILES_klibc-utils-static-mkfifo = "${base_bindir}/mkfifo"
FILES_klibc-utils-static-mknod = "${base_bindir}/mknod"
FILES_klibc-utils-static-mount = "${base_bindir}/mount"
FILES_klibc-utils-static-nuke = "${base_bindir}/nuke"
FILES_klibc-utils-static-pivot-root = "${base_bindir}/pivot_root"
+FILES_klibc-utils-static-poweroff = "${base_bindir}/poweroff"
FILES_klibc-utils-static-readlink = "${base_bindir}/readlink"
+FILES_klibc-utils-static-reboot = "${base_bindir}/reboot"
FILES_klibc-utils-static-sleep = "${base_bindir}/sleep"
FILES_klibc-utils-static-true = "${base_bindir}/true"
FILES_klibc-utils-static-umount = "${base_bindir}/umount"
diff --git a/packages/klibc/klibc.inc b/packages/klibc/klibc.inc
index efaf298e36..78e1bca125 100644
--- a/packages/klibc/klibc.inc
+++ b/packages/klibc/klibc.inc
@@ -1,17 +1,139 @@
require klibc-common.inc
-STAGING_KLIBC_DIR = "${STAGING_DIR_HOST}/klibc"
+SRC_URI += "file://staging.patch;patch=1 \
+ file://klibc_kexecsyscall.patch;patch=1 \
+ "
+# we want only the shared programms and the lib so we chose them manually
+do_install() {
+ install -d ${D}${base_bindir}
+ install -m 755 usr/dash/sh.shared ${D}${base_bindir}/sh
+ install -m 755 usr/gzip/gzip ${D}${base_bindir}
+ install -m 755 usr/kinit/kinit.shared ${D}${base_bindir}/kinit
+ install -m 755 usr/kinit/fstype/shared/fstype ${D}${base_bindir}
+ install -m 755 usr/kinit/ipconfig/shared/ipconfig ${D}${base_bindir}
+ install -m 755 usr/kinit/nfsmount/shared/nfsmount ${D}${base_bindir}
+ install -m 755 usr/kinit/resume/shared/resume ${D}${base_bindir}
+ install -m 755 usr/kinit/run-init/shared/run-init ${D}${base_bindir}
+ install -m 755 usr/utils/shared/cat ${D}${base_bindir}
+ install -m 755 usr/utils/shared/chroot ${D}${base_bindir}
+ install -m 755 usr/utils/shared/cpio ${D}${base_bindir}
+ install -m 755 usr/utils/shared/dd ${D}${base_bindir}
+ install -m 755 usr/utils/shared/false ${D}${base_bindir}
+ install -m 755 usr/utils/shared/halt ${D}${base_bindir}
+ install -m 755 usr/utils/shared/insmod ${D}${base_bindir}
+ install -m 755 usr/utils/shared/kill ${D}${base_bindir}
+ install -m 755 usr/utils/shared/ln ${D}${base_bindir}
+ install -m 755 usr/utils/shared/minips ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mkdir ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mkfifo ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mknod ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mount ${D}${base_bindir}
+ install -m 755 usr/utils/shared/nuke ${D}${base_bindir}
+ install -m 755 usr/utils/shared/pivot_root ${D}${base_bindir}
+ install -m 755 usr/utils/shared/poweroff ${D}${base_bindir}
+ install -m 755 usr/utils/shared/readlink ${D}${base_bindir}
+ install -m 755 usr/utils/shared/reboot ${D}${base_bindir}
+ install -m 755 usr/utils/shared/sleep ${D}${base_bindir}
+ install -m 755 usr/utils/shared/true ${D}${base_bindir}
+ install -m 755 usr/utils/shared/umount ${D}${base_bindir}
+ install -m 755 usr/utils/shared/uname ${D}${base_bindir}
+
+ install -d ${D}${base_libdir}
+ install -m 755 usr/klibc/klibc-*.so ${D}${base_libdir}
+ cd ${D}${base_libdir}
+ ln -s klibc-*.so klibc.so
+ cd -
+ cd ${D}${base_bindir}
+ ln -s gzip gunzip
+ ln -s gzip zcat
+ cd -
+}
+
+export INST=${STAGING_DIR_TARGET}
do_stage() {
- rm -rf "${STAGING_KLIBC_DIR}"
- oe_runmake 'prefix=${STAGING_KLIBC_DIR}' \
- 'bindir=${STAGING_BINDIR}' \
- 'mandir=${STAGING_DIR_HOST}${layout_mandir}' \
- install
- # The following is sufficient, at least in klibc 1.1.1 to make klcc
- # use the staged libraries and include files.
- sed -i -e 's@^\$prefix = .*$@\$prefix = "${STAGING_KLIBC_DIR}/lib/klibc";@' \
- '${STAGING_BINDIR}/${TARGET_PREFIX}klcc'
- # Perhaps other binaries need to be moved to cross?
- mv '${STAGING_BINDIR}/${TARGET_PREFIX}klcc' '${STAGING_BINDIR_CROSS}'
+ oe_runmake install
+ cp '${STAGING_DIR_TARGET}/bin/klcc' '${CROSS_DIR}/bin/${TARGET_PREFIX}klcc'
}
+
+PACKAGES = "${PN} klibc-utils-sh klibc-utils-kinit \
+ klibc-utils-fstype klibc-utils-ipconfig \
+ klibc-utils-nfsmount klibc-utils-resume \
+ klibc-utils-run-init klibc-utils-cat \
+ klibc-utils-chroot klibc-utils-cpio \
+ klibc-utils-dd klibc-utils-false \
+ klibc-utils-halt klibc-utils-insmod \
+ klibc-utils-kill klibc-utils-ln \
+ klibc-utils-minips klibc-utils-mkdir \
+ klibc-utils-mkfifo klibc-utils-mknod \
+ klibc-utils-mount klibc-utils-nuke \
+ klibc-utils-pivot-root klibc-utils-poweroff \
+ klibc-utils-readlink klibc-utils-reboot \
+ klibc-utils-sleep klibc-utils-true \
+ klibc-utils-umount klibc-utils-uname \
+ klibc-utils-gzip"
+
+FILES_${PN} = "${base_libdir}/klibc*.so"
+FILES_klibc-utils-sh = "${base_bindir}/sh"
+FILES_klibc-utils-static-gzip = "${base_bindir}/gzip ${base_bindir}/gunzip ${base_bindir}/zcat"
+FILES_klibc-utils-kinit = "${base_bindir}/kinit"
+FILES_klibc-utils-fstype = "${base_bindir}/fstype"
+FILES_klibc-utils-ipconfig = "${base_bindir}/ipconfig"
+FILES_klibc-utils-nfsmount = "${base_bindir}/nfsmount"
+FILES_klibc-utils-resume = "${base_bindir}/resume"
+FILES_klibc-utils-run-init = "${base_bindir}/run-init"
+FILES_klibc-utils-cat = "${base_bindir}/cat"
+FILES_klibc-utils-chroot = "${base_bindir}/chroot"
+FILES_klibc-utils-cpio = "${base_bindir}/cpio"
+FILES_klibc-utils-dd = "${base_bindir}/dd"
+FILES_klibc-utils-false = "${base_bindir}/false"
+FILES_klibc-utils-halt = "${base_bindir}/halt"
+FILES_klibc-utils-insmod = "${base_bindir}/insmod"
+FILES_klibc-utils-kill = "${base_bindir}/kill"
+FILES_klibc-utils-ln = "${base_bindir}/ln"
+FILES_klibc-utils-minips = "${base_bindir}/minips"
+FILES_klibc-utils-mkdir = "${base_bindir}/mkdir"
+FILES_klibc-utils-mkfifo = "${base_bindir}/mkfifo"
+FILES_klibc-utils-mknod = "${base_bindir}/mknod"
+FILES_klibc-utils-mount = "${base_bindir}/mount"
+FILES_klibc-utils-nuke = "${base_bindir}/nuke"
+FILES_klibc-utils-pivot-root = "${base_bindir}/pivot_root"
+FILES_klibc-utils-poweroff = "${base_bindir}/poweroff"
+FILES_klibc-utils-readlink = "${base_bindir}/readlink"
+FILES_klibc-utils-reboot = "${base_bindir}/reboot"
+FILES_klibc-utils-sleep = "${base_bindir}/sleep"
+FILES_klibc-utils-true = "${base_bindir}/true"
+FILES_klibc-utils-umount = "${base_bindir}/umount"
+FILES_klibc-utils-uname = "${base_bindir}/uname"
+
+# Yes we want exactly the klibc that was compiled with the utils
+RDEPENDS_klibc-utils-sh = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-kinit = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-fstype = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-ipconfig = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-nfsmount = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-resume = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-run-init = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-cat = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-chroot = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-cpio = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-dd = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-false = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-halt = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-insmod = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-kill = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-ln = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-minips = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mkdir = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mkfifo = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mknod = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mount = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-nuke = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-pivot-root = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-poweroff = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-readlink = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-reboot = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-sleep = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-true = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-umount = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-uname = "${PN} (=${PV}-${PR})"
diff --git a/packages/klibc/klibc_1.1.1.bb b/packages/klibc/klibc_1.1.1.bb
deleted file mode 100644
index ff715765d5..0000000000
--- a/packages/klibc/klibc_1.1.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require klibc.inc
-
-PR = "r1"
diff --git a/packages/klibc/klibc_0.190.bb b/packages/klibc/klibc_1.5.bb
index cd1ba9d56e..b5bd3557cf 100644
--- a/packages/klibc/klibc_0.190.bb
+++ b/packages/klibc/klibc_1.5.bb
@@ -1 +1,2 @@
require klibc.inc
+PR = "r5"
diff --git a/packages/kobodeluxe/files/fighter-48.xpm b/packages/kobodeluxe/files/fighter-48.xpm
new file mode 100644
index 0000000000..3c1e8c8b7a
--- /dev/null
+++ b/packages/kobodeluxe/files/fighter-48.xpm
@@ -0,0 +1,442 @@
+/* XPM */
+static char * fighter_48_xpm[] = {
+"40 40 399 2",
+" c None",
+". c #C8E2CD",
+"+ c #8AB7A3",
+"@ c #408474",
+"# c #023D3D",
+"$ c #F2FBEA",
+"% c #CEE5D1",
+"& c #7DB09B",
+"* c #063E32",
+"= c #002320",
+"- c #D0E6D2",
+"; c #F6FEEE",
+"> c #C7E0CC",
+", c #639C89",
+"' c #054137",
+") c #002629",
+"! c #A6C9B3",
+"~ c #E8F6E4",
+"{ c #EEF8E8",
+"] c #92BDA9",
+"^ c #3A7F6F",
+"/ c #074847",
+"( c #002924",
+"_ c #00286F",
+": c #9CC2AD",
+"< c #F0F9E9",
+"[ c #C8E0CC",
+"} c #6FA894",
+"| c #377F6E",
+"1 c #105251",
+"2 c #002F23",
+"3 c #002863",
+"4 c #ACCDB8",
+"5 c #F0F8E8",
+"6 c #ABCDB8",
+"7 c #62A28E",
+"8 c #3B8572",
+"9 c #195B5D",
+"0 c #003729",
+"a c #002750",
+"b c #8AB4A0",
+"c c #C4DDC9",
+"d c #E8F4E3",
+"e c #99C1AC",
+"f c #569D89",
+"g c #3D8876",
+"h c #23645D",
+"i c #013F3A",
+"j c #00273F",
+"k c #81B09C",
+"l c #CAE1CE",
+"m c #D1E7D3",
+"n c #86B4A0",
+"o c #4E9885",
+"p c #3F8A76",
+"q c #2A6C60",
+"r c #064646",
+"s c #002831",
+"t c #7AAD99",
+"u c #C8E1CD",
+"v c #BAD8C3",
+"w c #77AC98",
+"x c #4B9783",
+"y c #408B77",
+"z c #307465",
+"A c #094B4E",
+"B c #002A24",
+"C c #7EB09C",
+"D c #CCE4D0",
+"E c #AFD0BB",
+"F c #6BA693",
+"G c #489581",
+"H c #418E7A",
+"I c #337868",
+"J c #0D4F54",
+"K c #002C22",
+"L c #7AAE9A",
+"M c #C4E0CB",
+"N c #A4C8B2",
+"O c #66A490",
+"P c #46947F",
+"Q c #428F7A",
+"R c #357C6B",
+"S c #115355",
+"T c #002E22",
+"U c #002869",
+"V c #88B9A8",
+"W c #87B6A2",
+"X c #C5E1CC",
+"Y c #9FC4AF",
+"Z c #5DA08D",
+"` c #428F7B",
+" . c #377E6D",
+".. c #135555",
+"+. c #003124",
+"@. c #00275F",
+"#. c #001B3C",
+"$. c #8DBCAE",
+"%. c #7EB19D",
+"&. c #B9D9C2",
+"*. c #95BDA8",
+"=. c #5A9988",
+"-. c #4F7666",
+";. c #466F5F",
+">. c #357868",
+",. c #18595A",
+"'. c #003426",
+"). c #00275D",
+"!. c #001931",
+"~. c #9CC4B8",
+"{. c #75AC98",
+"]. c #AFD1BB",
+"^. c #8CAD9A",
+"/. c #B2ACA7",
+"(. c #C08F8E",
+"_. c #792D2C",
+":. c #271C19",
+"<. c #174A50",
+"[. c #003628",
+"}. c #00275C",
+"|. c #02202F",
+"1. c #D3E4DE",
+"2. c #80B5A4",
+"3. c #73AA97",
+"4. c #A9CBB6",
+"5. c #BDB3AC",
+"6. c #F7F0F0",
+"7. c #CB9B9B",
+"8. c #6B2222",
+"9. c #1B0404",
+"0. c #131112",
+"a. c #012E23",
+"b. c #002559",
+"c. c #042C31",
+"d. c #01120F",
+"e. c #ECEEEA",
+"f. c #C5DAD1",
+"g. c #76B09E",
+"h. c #75AC97",
+"i. c #A6AA9B",
+"j. c #E2C8C8",
+"k. c #DEC0C0",
+"l. c #AE6C6C",
+"m. c #460E0E",
+"n. c #150303",
+"o. c #110303",
+"p. c #07120D",
+"q. c #001F47",
+"r. c #042E2B",
+"s. c #03231D",
+"t. c #01110D",
+"u. c #E3E9E4",
+"v. c #82B7A5",
+"w. c #78B19E",
+"x. c #78AD98",
+"y. c #A88E86",
+"z. c #BF8686",
+"A. c #8D3E3E",
+"B. c #2F0808",
+"C. c #140303",
+"D. c #0D0604",
+"E. c #000F22",
+"F. c #04251F",
+"G. c #052D25",
+"H. c #032B23",
+"I. c #EFEFEC",
+"J. c #8ABCAB",
+"K. c #82B6A4",
+"L. c #7BB2A0",
+"M. c #79AB98",
+"N. c #A56F6B",
+"O. c #B77878",
+"P. c #AD6868",
+"Q. c #7C2A2A",
+"R. c #2C0707",
+"S. c #100403",
+"T. c #000A15",
+"U. c #041411",
+"V. c #052922",
+"W. c #064034",
+"X. c #04362C",
+"Y. c #EBEDEA",
+"Z. c #92C0B1",
+"`. c #7CB3A1",
+" + c #7EB4A2",
+".+ c #76A391",
+"++ c #9F5B5A",
+"@+ c #AA6363",
+"#+ c #A35959",
+"$+ c #742323",
+"%+ c #2A0707",
+"&+ c #020B13",
+"*+ c #050F0C",
+"=+ c #05201B",
+"-+ c #063D32",
+";+ c #095747",
+">+ c #064135",
+",+ c #DDE6E1",
+"'+ c #8ABBAA",
+")+ c #80B5A3",
+"!+ c #6EA18F",
+"~+ c #975150",
+"{+ c #A65E5E",
+"]+ c #9F5353",
+"^+ c #712020",
+"/+ c #280606",
+"(+ c #130303",
+"_+ c #280707",
+":+ c #030B13",
+"<+ c #050E0B",
+"[+ c #051914",
+"}+ c #06352B",
+"|+ c #095545",
+"1+ c #0A5A4A",
+"2+ c #084E3F",
+"3+ c #BAD5CB",
+"4+ c #81B6A5",
+"5+ c #80B6A3",
+"6+ c #6FA795",
+"7+ c #8A4846",
+"8+ c #9A4C4C",
+"9+ c #974747",
+"0+ c #671A1A",
+"a+ c #220606",
+"b+ c #120303",
+"c+ c #631818",
+"d+ c #030B15",
+"e+ c #050E0C",
+"f+ c #051712",
+"g+ c #052C24",
+"h+ c #074D3F",
+"i+ c #0A5C4C",
+"j+ c #0A5848",
+"k+ c #0A5C4B",
+"l+ c #0A6350",
+"m+ c #8DBFAE",
+"n+ c #84B8A7",
+"o+ c #7FB5A2",
+"p+ c #7BB3A0",
+"q+ c #7AB2A0",
+"r+ c #7DB4A2",
+"s+ c #81B6A3",
+"t+ c #6CA996",
+"u+ c #6F4C45",
+"v+ c #792222",
+"w+ c #802A2A",
+"x+ c #591111",
+"y+ c #1D0505",
+"z+ c #420D0D",
+"A+ c #572020",
+"B+ c #020D14",
+"C+ c #051512",
+"D+ c #052720",
+"E+ c #095A4B",
+"F+ c #095646",
+"G+ c #0A5849",
+"H+ c #0A5B4B",
+"I+ c #0A5A49",
+"J+ c #7FB5A3",
+"K+ c #6BA795",
+"L+ c #6E8173",
+"M+ c #470F0E",
+"N+ c #571010",
+"O+ c #3B0A0A",
+"P+ c #170404",
+"Q+ c #1C0505",
+"R+ c #5A1111",
+"S+ c #200E10",
+"T+ c #030C12",
+"U+ c #051612",
+"V+ c #05251F",
+"W+ c #063A2F",
+"X+ c #095848",
+"Y+ c #0A5949",
+"Z+ c #085142",
+"`+ c #7BB3A1",
+" @ c #6EA997",
+".@ c #74A794",
+"+@ c #423430",
+"@@ c #1C0404",
+"#@ c #360909",
+"$@ c #280909",
+"%@ c #010A12",
+"&@ c #030D10",
+"*@ c #050F0D",
+"=@ c #051814",
+"-@ c #052721",
+";@ c #06382E",
+">@ c #095546",
+",@ c #074C3E",
+"'@ c #58A894",
+")@ c #6CAE9B",
+"!@ c #81B6A4",
+"~@ c #6DA695",
+"{@ c #5B9B88",
+"]@ c #789888",
+"^@ c #221715",
+"/@ c #2C0808",
+"(@ c #2D0A0A",
+"_@ c #040D0A",
+":@ c #000B18",
+"<@ c #040D0F",
+"[@ c #05110F",
+"}@ c #051C16",
+"|@ c #063A30",
+"1@ c #095344",
+"2@ c #0A5B4A",
+"3@ c #095647",
+"4@ c #074B3D",
+"5@ c #053D32",
+"6@ c #18866E",
+"7@ c #3C9681",
+"8@ c #6DAE9B",
+"9@ c #7DB3A1",
+"0@ c #70A998",
+"a@ c #428776",
+"b@ c #82B09C",
+"c@ c #658E7D",
+"d@ c #342E28",
+"e@ c #3E1A17",
+"f@ c #141616",
+"g@ c #000E0A",
+"h@ c #000C1E",
+"i@ c #040E0E",
+"j@ c #051511",
+"k@ c #063E33",
+"l@ c #085344",
+"m@ c #084C3E",
+"n@ c #042F26",
+"o@ c #021F19",
+"p@ c #084D3E",
+"q@ c #0C5344",
+"r@ c #2F806E",
+"s@ c #60A895",
+"t@ c #75AD9B",
+"u@ c #307365",
+"v@ c #6DA793",
+"w@ c #76AA97",
+"x@ c #4C7E6F",
+"y@ c #34332C",
+"z@ c #091616",
+"A@ c #000C0D",
+"B@ c #000C21",
+"C@ c #041311",
+"D@ c #051B16",
+"E@ c #052821",
+"F@ c #05362C",
+"G@ c #032C24",
+"H@ c #021D18",
+"I@ c #02211B",
+"J@ c #042B23",
+"K@ c #145345",
+"L@ c #38806F",
+"M@ c #5DA592",
+"N@ c #72AE9C",
+"O@ c #24635D",
+"P@ c #4C927F",
+"Q@ c #70A995",
+"R@ c #529784",
+"S@ c #29524A",
+"T@ c #021B19",
+"U@ c #000E1A",
+"V@ c #00112E",
+"W@ c #041916",
+"X@ c #031B16",
+"Y@ c #021B16",
+"Z@ c #011411",
+"`@ c #011915",
+" # c #021E19",
+".# c #021C17",
+"+# c #03221C",
+"@# c #083B31",
+"## c #11525B",
+"$# c #2C7166",
+"%# c #5FA08D",
+"&# c #559A87",
+"*# c #195957",
+"=# c #00281E",
+"-# c #001B46",
+";# c #00173B",
+"># c #010C0B",
+",# c #010F0C",
+"'# c #01110F",
+")# c #023637",
+"!# c #0D5058",
+"~# c #377D6D",
+"{# c #2E7369",
+"]# c #05443F",
+"^# c #002742",
+"/# c #00276C",
+"(# c #001D42",
+"_# c #003E2F",
+":# c #05413A",
+"<# c #023930",
+"[# c #002A31",
+"}# c #00286B",
+"|# c #002727",
+"1# c #002651",
+"2# c #00286C",
+" ",
+" ",
+" . + @ # ",
+" . $ % & * = ",
+" - ; > , ' ) ",
+" ! ~ { ] ^ / ( _ ",
+" : < [ } | 1 2 3 ",
+" 4 5 6 7 8 9 0 a ",
+" b c d e f g h i j _ ",
+" k l m n o p q r s _ ",
+" t u v w x y z A B _ ",
+" C D E F G H I J K _ ",
+" L M N O P Q R S T U ",
+" V W X Y Z P ` ...+.@.#. ",
+" $.%.&.*.=.-.;.>.,.'.).!. ",
+" ~.{.].^./.(._.:.<.[.}.|. ",
+" 1.2.3.4.5.6.7.8.9.0.a.b.c.d. ",
+" e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t. ",
+" u.v.w.x.y.7.z.A.B.C.o.D.E.F.G.H. ",
+" I.J.K.L.M.N.O.P.Q.R.C.o.S.T.U.V.W.X. ",
+" Y.Z.`. + +.+++@+#+$+%+C.o.o.&+*+=+-+;+>+ ",
+" ,+'+`.)+`.)+!+~+{+]+^+/+(+(+_+:+<+[+}+|+1+2+ ",
+" I.3+4+K.`.)+L.5+6+7+8+9+0+a+b+a+c+d+e+f+g+h+i+j+k+l+ ",
+" m+n+o+`.p+q+r+s+`.t+u+v+w+x+y+b+z+A+B+e+C+D+W.E+F+G+H+I+ ",
+" J+`.K.q+)+L.)+ +q+K+L+M+N+O+P+Q+R+S+T+*+U+V+W+X+Y+;+i+Z+ ",
+" q+`.`+`+o+ +`.J+`+ @.@+@%+@@(+#@$@%@&@*@=@-@;@>@Y+X+i+,@ ",
+" '@)@`.!@`+r+`+J+r+~@{@]@^@(+/@(@_@:@<@[@}@V.|@1@2@3@4@5@ ",
+" 6@7@8@q+)+`. +9@0@a@b@c@d@e@f@g@h@i@j@=+g+k@l@m@n@o@ ",
+" p@q@r@s@r+L.5+t@u@v@w@x@y@z@A@B@C@D@E@G.F@G@o@H@ ",
+" I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ # ",
+" .#+#@###$#%#&#*#=#-#;#>#,#'# ",
+" )#!#~#{#]#^#/#(# ",
+" _#:#<#[#}#_ ",
+" |#1#2#_ ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/packages/kobodeluxe/kobodeluxe_0.5.1.bb b/packages/kobodeluxe/kobodeluxe_0.5.1.bb
index cc3f85bd19..e9162b9981 100644
--- a/packages/kobodeluxe/kobodeluxe_0.5.1.bb
+++ b/packages/kobodeluxe/kobodeluxe_0.5.1.bb
@@ -5,13 +5,14 @@ LICENSE = "GPL"
AUTHOR = "David Olofson <david@olofson.net>"
HOMEPAGE = "http://olofson.net/kobodl"
-PR = "r3"
+PR = "r4"
DEPENDS = "libsdl-image virtual/libsdl"
RDEPENDS_${PN} = "${PN}-data"
SRC_URI = "http://olofson.net/kobodl/download/KoboDeluxe-${PV}.tar.bz2 \
+ file://fighter-48.xpm \
file://debian-kobo.patch;patch=1 \
file://kobodeluxe-putenv.patch;patch=1 \
file://kobodeluxe-sysconf-support.patch;patch=1 \
@@ -22,12 +23,15 @@ SRC_URI = "http://olofson.net/kobodl/download/KoboDeluxe-${PV}.tar.bz2 \
S = "${WORKDIR}/KoboDeluxe-${PV}"
-inherit autotools
+inherit autotools sdl
-export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
+APPIMAGE = "${WORKDIR}/fighter-48.xpm"
+APPNAME = "kobodl"
EXTRA_OECONF = "--disable-opengl --disable-sdltest --enable-touchscreen"
+export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
+
do_configure_prepend() {
sed -i \
-e "s|width WIDTH_HERE|width ${MACHINE_DISPLAY_WIDTH_PIXELS}|" \
diff --git a/packages/konqueror/konqueror-embedded_20060404.bb b/packages/konqueror/konqueror-embedded_20060404.bb
index 9acfc71204..a84f47d471 100644
--- a/packages/konqueror/konqueror-embedded_20060404.bb
+++ b/packages/konqueror/konqueror-embedded_20060404.bb
@@ -35,9 +35,9 @@ EXTRA_OECONF = '--prefix=${palmtopdir} \
--with-extra-includes=${STAGING_INCDIR} \
--with-extra-libs=${STAGING_LIBDIR} \
--with-ssl-version=0.9.7e \
- --with-ssl-dir=${STAGING_LIBDIR}/.. \
- --with-qt-includes=${STAGING_DIR}/${HOST_SYS}/qt2/include \
- --with-qt-libraries=${STAGING_DIR}/${HOST_SYS}/qt2/lib \
+ --with-ssl-dir=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-qt-includes=${STAGING_DIR_HOST}/qt2/include \
+ --with-qt-libraries=${STAGING_DIR_HOST}/qt2/lib \
--enable-fontsubs \
--with-konq-tmp-prefix=/tmp/kde-cache \
# --enable-static \
diff --git a/packages/konqueror/konqueror-embedded_20070212.bb b/packages/konqueror/konqueror-embedded_20070212.bb
index 02e411e9f7..3fb8a5cfa6 100644
--- a/packages/konqueror/konqueror-embedded_20070212.bb
+++ b/packages/konqueror/konqueror-embedded_20070212.bb
@@ -36,9 +36,9 @@ EXTRA_OECONF = '--prefix=${palmtopdir} \
--with-extra-libs=${STAGING_LIBDIR} \
--with-qtopia-dir=${OPIEDIR} \
--with-ssl-version=0.9.7e \
- --with-ssl-dir=${STAGING_LIBDIR}/.. \
- --with-qt-includes=${STAGING_DIR}/${HOST_SYS}/qt2/include \
- --with-qt-libraries=${STAGING_DIR}/${HOST_SYS}/qt2/lib \
+ --with-ssl-dir=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-qt-includes=${STAGING_DIR_HOST}/qt2/include \
+ --with-qt-libraries=${STAGING_DIR_HOST}/qt2/lib \
--with-qt-dir=${QTDIR} \
--enable-fontsubs \
--with-konq-tmp-prefix=/tmp/kde-cache \
diff --git a/packages/lemon/lemon-native_3.3.5.bb b/packages/lemon/lemon-native_3.3.5.bb
deleted file mode 100644
index 4c721723de..0000000000
--- a/packages/lemon/lemon-native_3.3.5.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require lemon.inc
-inherit native
-
-do_stage() {
- install -d ${STAGING_BINDIR}
- install -m 0755 lemon ${STAGING_BINDIR}/
- install -d ${STAGING_DATADIR}/lemon
- install -m 0644 lempar.c ${STAGING_DATADIR}/lemon/
-}
diff --git a/packages/lemon/lemon-native_3.5.4.bb b/packages/lemon/lemon-native_3.5.4.bb
new file mode 100644
index 0000000000..55a083ccb7
--- /dev/null
+++ b/packages/lemon/lemon-native_3.5.4.bb
@@ -0,0 +1,11 @@
+require lemon.inc
+
+PR = "r0"
+
+inherit native
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install -m 0755 lemon ${STAGING_BINDIR}
+ install -m 0644 lempar.c ${STAGING_BINDIR}
+}
diff --git a/packages/lemon/lemon.inc b/packages/lemon/lemon.inc
index 9dcadbd674..7742fb8118 100644
--- a/packages/lemon/lemon.inc
+++ b/packages/lemon/lemon.inc
@@ -6,6 +6,7 @@ SECTION = "devel"
SRC_URI = "http://www.sqlite.org/sqlite-${PV}.tar.gz \
file://lemon.1"
+
S = "${WORKDIR}/sqlite-${PV}/tool"
do_compile() {
diff --git a/packages/lemon/lemon_3.3.5.bb b/packages/lemon/lemon_3.5.4.bb
index b057360010..4a7e5e77f0 100644
--- a/packages/lemon/lemon_3.3.5.bb
+++ b/packages/lemon/lemon_3.5.4.bb
@@ -1,10 +1,11 @@
require lemon.inc
+PR = "r0"
+
do_install() {
install -d ${D}${bindir}
- install -m 0755 lemon ${D}${bindir}/
- install -d ${D}${datadir}/lemon
- install -m 0644 lempar.c ${D}${datadir}/lemon/
+ install -m 0755 lemon ${D}${bindir}
+ install -m 0644 lempar.c ${D}${bindir}
install -d ${D}${mandir}/man1
install -m 0644 ${WORKDIR}/lemon.1 ${D}${mandir}/man1/
}
diff --git a/packages/libaio/libaio_0.3.103.bb b/packages/libaio/libaio_0.3.103.bb
index b0bc73617e..1453599855 100644
--- a/packages/libaio/libaio_0.3.103.bb
+++ b/packages/libaio/libaio_0.3.103.bb
@@ -26,8 +26,8 @@ do_unpack() {
}
do_stage () {
- #make install prefix='${STAGING_DIR}/${TARGET_SYS}'
- install -D -m 644 src/libaio.h ${STAGING_DIR}/${TARGET_SYS}/include/libaio.h
+ #make install prefix='${STAGING_DIR_TARGET}${layout_prefix}'
+ install -D -m 644 src/libaio.h ${STAGING_INCDIR}/libaio.h
oe_libinstall -so -C src libaio ${STAGING_LIBDIR}
}
diff --git a/packages/maemo4/hildon-1/.mtn2git_empty b/packages/libgcrypt/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo4/hildon-1/.mtn2git_empty
+++ b/packages/libgcrypt/files/.mtn2git_empty
diff --git a/packages/libgcrypt/files/add-pkgconfig-support.patch b/packages/libgcrypt/files/add-pkgconfig-support.patch
new file mode 100644
index 0000000000..9b00e8262a
--- /dev/null
+++ b/packages/libgcrypt/files/add-pkgconfig-support.patch
@@ -0,0 +1,62 @@
+diff -Nur libgcrypt-1.2.4/configure.ac libgcrypt11-1.2.4/configure.ac
+--- libgcrypt-1.2.4/configure.ac 2007-02-01 19:41:06.000000000 +0100
++++ libgcrypt11-1.2.4/configure.ac 2007-02-11 13:05:36.000000000 +0100
+@@ -808,6 +808,7 @@
+ src/Makefile
+ src/gcrypt.h
+ src/libgcrypt-config
++src/libgcrypt.pc
+ tests/Makefile
+ w32-dll/Makefile
+ ])
+diff -Nur libgcrypt-1.2.4/src/libgcrypt.pc.in libgcrypt11-1.2.4/src/libgcrypt.pc.in
+--- libgcrypt-1.2.4/src/libgcrypt.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ libgcrypt11-1.2.4/src/libgcrypt.pc.in 2007-02-11 13:03:30.000000000 +0100
+@@ -0,0 +1,32 @@
++# Process this file with autoconf to produce a pkg-config metadata file.
++# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation
++# Author: Simon Josefsson
++#
++# This file is free software; as a special exception the author gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++#
++# This file is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++# API info
++api_version=@LIBGCRYPT_CONFIG_API_VERSION@
++
++# Misc information.
++symmetric_ciphers=@LIBGCRYPT_CIPHERS@
++asymmetric_ciphers=@LIBGCRYPT_PUBKEY_CIPHERS@
++digests=@LIBGCRYPT_DIGESTS@
++
++Name: libgcrypt
++Description: GNU crypto library
++URL: http://www.gnupg.org
++Version: @VERSION@
++Libs: -L${libdir} @LIBGCRYPT_CONFIG_LIBS@
++Libs.private: @GPG_ERROR_LIBS@
++Cflags: -I${includedir} @LIBGCRYPT_CONFIG_CFLAGS@ @GPG_ERROR_CFLAGS@
+diff -Nur libgcrypt-1.2.4/src/Makefile.am libgcrypt11-1.2.4/src/Makefile.am
+--- libgcrypt-1.2.4/src/Makefile.am 2006-11-30 16:38:18.000000000 +0100
++++ libgcrypt11-1.2.4/src/Makefile.am 2007-02-11 13:10:03.000000000 +0100
+@@ -27,6 +27,11 @@
+
+ lib_LTLIBRARIES = libgcrypt.la
+
++# Pkg-config script.
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libgcrypt.pc
++DISTCLEANFILES = $(pkgconfig_DATA)
++
+ if HAVE_LD_VERSION_SCRIPT
+ libgcrypt_version_script_cmd = -Wl,--version-script=$(srcdir)/libgcrypt.vers
+ else
diff --git a/packages/maemo4/libconic/.mtn2git_empty b/packages/libgcrypt/libgcrypt-1.4.0/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/maemo4/libconic/.mtn2git_empty
+++ b/packages/libgcrypt/libgcrypt-1.4.0/.mtn2git_empty
diff --git a/packages/libgcrypt/libgcrypt-1.4.0/add-pkgconfig-support.patch b/packages/libgcrypt/libgcrypt-1.4.0/add-pkgconfig-support.patch
new file mode 100644
index 0000000000..dd5917e900
--- /dev/null
+++ b/packages/libgcrypt/libgcrypt-1.4.0/add-pkgconfig-support.patch
@@ -0,0 +1,49 @@
+Index: libgcrypt-1.4.0/configure.ac
+===================================================================
+--- libgcrypt-1.4.0.orig/configure.ac
++++ libgcrypt-1.4.0/configure.ac
+@@ -1072,6 +1072,7 @@ cipher/Makefile
+ doc/Makefile
+ src/Makefile
+ src/gcrypt.h
++src/libgcrypt.pc
+ src/libgcrypt-config
+ src/versioninfo.rc
+ tests/Makefile
+Index: libgcrypt-1.4.0/src/libgcrypt.pc.in
+===================================================================
+--- /dev/null
++++ libgcrypt-1.4.0/src/libgcrypt.pc.in
+@@ -0,0 +1,32 @@
++# Process this file with autoconf to produce a pkg-config metadata file.
++# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation
++# Author: Simon Josefsson
++#
++# This file is free software; as a special exception the author gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++#
++# This file is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
++# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++# API info
++api_version=@LIBGCRYPT_CONFIG_API_VERSION@
++
++# Misc information.
++symmetric_ciphers=@LIBGCRYPT_CIPHERS@
++asymmetric_ciphers=@LIBGCRYPT_PUBKEY_CIPHERS@
++digests=@LIBGCRYPT_DIGESTS@
++
++Name: libgcrypt
++Description: GNU crypto library
++URL: http://www.gnupg.org
++Version: @VERSION@
++Libs: -L${libdir} @LIBGCRYPT_CONFIG_LIBS@
++Libs.private: @GPG_ERROR_LIBS@
++Cflags: -I${includedir} @LIBGCRYPT_CONFIG_CFLAGS@ @GPG_ERROR_CFLAGS@
diff --git a/packages/libgcrypt/libgcrypt_1.2.3.bb b/packages/libgcrypt/libgcrypt.inc
index 74205da673..65f78db647 100644
--- a/packages/libgcrypt/libgcrypt_1.2.3.bb
+++ b/packages/libgcrypt/libgcrypt.inc
@@ -3,15 +3,11 @@ SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPL LGPL FDL"
DEPENDS = "libgpg-error"
-PR = "r1"
-# move libgcrypt-config into -dev package
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}"
-
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz"
+SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz \
+ file://add-pkgconfig-support.patch;patch=1"
-inherit autotools binconfig
+inherit autotools binconfig pkgconfig
EXTRA_OECONF = "--without-pth --disable-asm --with-capabilities"
@@ -20,3 +16,7 @@ ARM_INSTRUCTION_SET = "arm"
do_stage() {
autotools_stage_all
}
+
+# move libgcrypt-config into -dev package
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}"
diff --git a/packages/libgcrypt/libgcrypt_1.2.0.bb b/packages/libgcrypt/libgcrypt_1.2.0.bb
deleted file mode 100644
index be0ad787da..0000000000
--- a/packages/libgcrypt/libgcrypt_1.2.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-PR = "r2"
-DESCRIPTION = "A general purpose cryptographic library based on the code from GnuPG"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL LGPL FDL"
-DEPENDS = "libgpg-error"
-
-# move libgcrypt-config into -dev package
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}"
-
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz"
-
-inherit autotools binconfig
-
-EXTRA_OECONF = "--without-pth --disable-asm --with-capabilities"
-
-do_stage() {
- oe_libinstall -so -C src libgcrypt ${STAGING_LIBDIR}
- oe_libinstall -so -C src libgcrypt-pthread ${STAGING_LIBDIR}
- install -m 0755 src/libgcrypt-config ${STAGING_BINDIR_CROSS}/
-
- install -d ${STAGING_INCDIR}/
- for X in gcrypt.h gcrypt-module.h
- do
- install -m 0644 src/${X} ${STAGING_INCDIR}/${X}
- done
-
-}
diff --git a/packages/libgcrypt/libgcrypt_1.2.1.bb b/packages/libgcrypt/libgcrypt_1.2.1.bb
deleted file mode 100644
index 3f4942cae5..0000000000
--- a/packages/libgcrypt/libgcrypt_1.2.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A general purpose cryptographic library based on the code from GnuPG"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL LGPL FDL"
-DEPENDS = "libgpg-error"
-
-# move libgcrypt-config into -dev package
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}"
-
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz"
-
-inherit autotools binconfig
-
-EXTRA_OECONF = "--without-pth --disable-asm --with-capabilities"
-
-do_stage() {
- oe_libinstall -so -C src libgcrypt ${STAGING_LIBDIR}
- oe_libinstall -so -C src libgcrypt-pthread ${STAGING_LIBDIR}
- install -m 0755 src/libgcrypt-config ${STAGING_BINDIR_CROSS}/
-
- install -d ${STAGING_INCDIR}/
- for X in gcrypt.h gcrypt-module.h
- do
- install -m 0644 src/${X} ${STAGING_INCDIR}/${X}
- done
-
-}
diff --git a/packages/libgcrypt/libgcrypt_1.2.2.bb b/packages/libgcrypt/libgcrypt_1.2.2.bb
deleted file mode 100644
index 3f4942cae5..0000000000
--- a/packages/libgcrypt/libgcrypt_1.2.2.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A general purpose cryptographic library based on the code from GnuPG"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL LGPL FDL"
-DEPENDS = "libgpg-error"
-
-# move libgcrypt-config into -dev package
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}"
-
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz"
-
-inherit autotools binconfig
-
-EXTRA_OECONF = "--without-pth --disable-asm --with-capabilities"
-
-do_stage() {
- oe_libinstall -so -C src libgcrypt ${STAGING_LIBDIR}
- oe_libinstall -so -C src libgcrypt-pthread ${STAGING_LIBDIR}
- install -m 0755 src/libgcrypt-config ${STAGING_BINDIR_CROSS}/
-
- install -d ${STAGING_INCDIR}/
- for X in gcrypt.h gcrypt-module.h
- do
- install -m 0644 src/${X} ${STAGING_INCDIR}/${X}
- done
-
-}
diff --git a/packages/libgcrypt/libgcrypt_1.2.4.bb b/packages/libgcrypt/libgcrypt_1.2.4.bb
new file mode 100644
index 0000000000..2fe98d62e3
--- /dev/null
+++ b/packages/libgcrypt/libgcrypt_1.2.4.bb
@@ -0,0 +1,3 @@
+require libgcrypt.inc
+
+PR = "r2"
diff --git a/packages/libgcrypt/libgcrypt_1.4.0.bb b/packages/libgcrypt/libgcrypt_1.4.0.bb
index 74205da673..2fe98d62e3 100644
--- a/packages/libgcrypt/libgcrypt_1.4.0.bb
+++ b/packages/libgcrypt/libgcrypt_1.4.0.bb
@@ -1,22 +1,3 @@
-DESCRIPTION = "A general purpose cryptographic library based on the code from GnuPG"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL LGPL FDL"
-DEPENDS = "libgpg-error"
-PR = "r1"
+require libgcrypt.inc
-# move libgcrypt-config into -dev package
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}"
-
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz"
-
-inherit autotools binconfig
-
-EXTRA_OECONF = "--without-pth --disable-asm --with-capabilities"
-
-ARM_INSTRUCTION_SET = "arm"
-
-do_stage() {
- autotools_stage_all
-}
+PR = "r2"
diff --git a/packages/libgsm/libgsm_1.0.10.bb b/packages/libgsm/libgsm_1.0.10.bb
index 0a86bd0bb4..93d042ed36 100644
--- a/packages/libgsm/libgsm_1.0.10.bb
+++ b/packages/libgsm/libgsm_1.0.10.bb
@@ -3,10 +3,13 @@ SECTION = "libs"
PRIORITY = "optional"
#DEPENDS = ""
LICENSE = "libgsm"
+
+PR = "r1"
+
inherit pkgconfig gpe
SRC_URI = "http://www.netsw.org/audio/convert/gsm-${PV}.tar.gz \
- file://${FILESDIR}/libgsm_patch;patch=1;pnum=0"
+ file://${FILESDIR}/libgsm_patch;patch=1;pnum=0"
S = "${WORKDIR}/gsm-1.0-pl10/"
@@ -14,13 +17,14 @@ headers = "gsm.h"
do_stage () {
oe_libinstall -a -C lib libgsm ${STAGING_LIBDIR}
- mkdir -p ${STAGING_INCDIR}/gsm
- for h in ${headers}; do
- install -m 0644 ${S}/inc/$h ${STAGING_INCDIR}/gsm/$h
- done
+ mkdir -p ${STAGING_INCDIR}/gsm
+ for h in ${headers}; do
+ install -m 0644 ${S}/inc/$h ${STAGING_INCDIR}/gsm/$h
+ done
+ ln -s ${STAGING_INCDIR}/gsm/gsm.h ${STAGING_INCDIR}/gsm.h
}
#do_install () {
-# gpe_do_install
-# oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel
+# gpe_do_install
+# oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel
#}
diff --git a/packages/libidl/libidl_0.8.2.bb b/packages/libidl/libidl_0.8.2.bb
index 85114d6524..8a5b683d1e 100644
--- a/packages/libidl/libidl_0.8.2.bb
+++ b/packages/libidl/libidl_0.8.2.bb
@@ -6,5 +6,5 @@ S = "${WORKDIR}/libIDL-${PV}"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/libidl/libidl_0.8.3.bb b/packages/libidl/libidl_0.8.3.bb
index 7a5a0d454e..5f788a91d8 100644
--- a/packages/libidl/libidl_0.8.3.bb
+++ b/packages/libidl/libidl_0.8.3.bb
@@ -13,13 +13,7 @@ inherit autotools pkgconfig
# strange reason - so we do some sed fu to fix the path there
do_stage() {
- oe_runmake install \
- prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- infodir=${STAGING_INFODIR}
+ autotools_stage_all
cp ${STAGING_BINDIR}/libIDL-config-2 ${STAGING_BINDIR}/libIDL-config-2.orig
cat ${STAGING_BINDIR}/libIDL-config-2.orig | sed -e 's:${includedir}:${STAGING_INCDIR}:' > ${STAGING_BINDIR}/libIDL-config-2
diff --git a/packages/libidl/libidl_0.8.6.bb b/packages/libidl/libidl_0.8.6.bb
index 33a1154357..2f44147711 100644
--- a/packages/libidl/libidl_0.8.6.bb
+++ b/packages/libidl/libidl_0.8.6.bb
@@ -10,9 +10,6 @@ S = "${WORKDIR}/libIDL-${PV}"
BINCONFIG_GLOB = "*-config-2"
inherit autotools pkgconfig binconfig
-# Firefox uses the libIDL-config-2 script instead of pkgconfig (for some
-# strange reason - so we do some sed fu to fix the path there
-
do_stage() {
autotools_stage_all
}
diff --git a/packages/nonworking/apache/.mtn2git_empty b/packages/libjson/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/apache/.mtn2git_empty
+++ b/packages/libjson/.mtn2git_empty
diff --git a/packages/libjson/libjson_0.6.bb b/packages/libjson/libjson_0.6.bb
new file mode 100644
index 0000000000..4c93e82a0b
--- /dev/null
+++ b/packages/libjson/libjson_0.6.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "A library for parsing and creating JSON files"
+HOMEPAGE = "http://oss.metaparadigm.com/json-c/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "BSD"
+PR = "r0"
+
+SRC_URI = "http://oss.metaparadigm.com/json-c/json-c-${PV}.tar.gz"
+S = "${WORKDIR}/json-c-${PV}"
+
+inherit autotools
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/packages/libmatchbox/files/configure_fixes.patch b/packages/libmatchbox/files/configure_fixes.patch
new file mode 100644
index 0000000000..083d32a04f
--- /dev/null
+++ b/packages/libmatchbox/files/configure_fixes.patch
@@ -0,0 +1,79 @@
+---
+ configure.ac | 15 +++++++--------
+ libmb.pc.in | 2 +-
+ 2 files changed, 8 insertions(+), 9 deletions(-)
+
+Index: libmatchbox-1.9/configure.ac
+===================================================================
+--- libmatchbox-1.9.orig/configure.ac 2007-11-11 22:26:43.000000000 +0000
++++ libmatchbox-1.9/configure.ac 2007-11-11 22:52:09.000000000 +0000
+@@ -84,6 +84,7 @@ if test $have_libx11pc = yes; then
+ xft_pkg=xft
+ SUPPORTS_XFT=1
+ AC_DEFINE(USE_XFT, [1], [Use Xft])
++ XFT_REQUIRED="xft"
+ fi
+ # XXX : xau is missing from x11.pc - workaround is too add here
+ PKG_CHECK_MODULES(XLIBS, x11 xext $xft_pkg)
+@@ -108,6 +109,7 @@ if test x$enable_xft != xno; then
+ AC_DEFINE(USE_XFT, [1], [Use Xft])
+ SUPPORTS_XFT=1
+ AC_MSG_RESULT(yes)
++ XFT_REQUIRED="xft"
+ else
+
+ AC_PATH_PROG(XFT_CONFIG, xft-config, no)
+@@ -122,21 +124,17 @@ if test x$enable_xft != xno; then
+ AC_DEFINE(USE_XFT, [1], [Use Xft])
+ SUPPORTS_XFT=1
+ AC_MSG_RESULT(yes)
++ MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XFT_CFLAGS"
++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XFT_LIBS"
+ fi
+ fi
+ fi
+
+ XLIBS_CFLAGS="$XLIBS_CLAGS $XFT_CFLAGS"
+-XLIBS_LIBS="$X_LIBS $XFT_LIBS -lX11 -lXext"
+-
+-MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS"
++XLIBS_LIBS="$XLIBS_LIBS $XFT_LIBS -lX11 -lXext"
+
+ fi
+
+-# do this here for freetype include
+-MB_EXTRA_CFLAGS="$MB_EXTRA_CFLAGS $XLIBS_CFLAGS"
+-
+-
+ dnl ------ Check for Pango ---------------------------------------------------
+
+ if test x$enable_pango != xno; then
+@@ -172,7 +170,7 @@ if test x$enable_png != xno; then
+ AC_DEFINE(USE_PNG, [1], [Use Png])
+ SUPPORTS_PNG=1
+ PNG_LIBS="-lpng -lz"
+- MB_EXTRA_LIBS="$MB_EXTRA_LIBS $XLIBS_LIBS $PNG_LIBS"
++ MB_EXTRA_LIBS="$MB_EXTRA_LIBS $PNG_LIBS"
+ else
+ AC_MSG_WARN([*** Cannot find PNG, disabling support])
+ enable_png=no
+@@ -340,6 +338,7 @@ AC_SUBST(MB_EXTRA_CFLAGS)
+ AC_SUBST(XLIBS_REQUIRED)
+ AC_SUBST(PANGO_REQUIRED)
+ AC_SUBST(PNG_REQUIRED)
++AC_SUBST(XFT_REQUIRED)
+
+ dnl ------ Below used for mbconfig.h ----------------------------------------
+
+Index: libmatchbox-1.9/libmb.pc.in
+===================================================================
+--- libmatchbox-1.9.orig/libmb.pc.in 2007-11-11 22:30:47.000000000 +0000
++++ libmatchbox-1.9/libmb.pc.in 2007-11-11 22:31:01.000000000 +0000
+@@ -7,6 +7,6 @@ Name: libmb
+ Description: Utility Library used by Matchbox utilities.
+ Version: @VERSION@
+
+-Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@
++Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ @XFT_REQUIRED@
+ Libs: -L${libdir} -lmb @MB_EXTRA_LIBS@
+ Cflags: -I${includedir} @MB_EXTRA_CFLAGS@
diff --git a/packages/libmatchbox/libmatchbox_1.2.bb b/packages/libmatchbox/libmatchbox_1.2.bb
deleted file mode 100644
index 467a3b1d74..0000000000
--- a/packages/libmatchbox/libmatchbox_1.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require libmatchbox.inc
-
-PR = "r2"
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/libmatchbox/${PV}/libmatchbox-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
diff --git a/packages/libmatchbox/libmatchbox_1.3.bb b/packages/libmatchbox/libmatchbox_1.3.bb
deleted file mode 100644
index 7213e71542..0000000000
--- a/packages/libmatchbox/libmatchbox_1.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require libmatchbox.inc
-
-PR = "r1"
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/libmatchbox/${PV}/libmatchbox-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
diff --git a/packages/libmatchbox/libmatchbox_1.4.bb b/packages/libmatchbox/libmatchbox_1.4.bb
deleted file mode 100644
index 7213e71542..0000000000
--- a/packages/libmatchbox/libmatchbox_1.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require libmatchbox.inc
-
-PR = "r1"
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/libmatchbox/${PV}/libmatchbox-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
diff --git a/packages/libmatchbox/libmatchbox_1.5.bb b/packages/libmatchbox/libmatchbox_1.5.bb
deleted file mode 100644
index 2f63f7ee64..0000000000
--- a/packages/libmatchbox/libmatchbox_1.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require libmatchbox.inc
-
-PR = "r1"
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \
- file://check.m4 \
- file://autofoo.patch;patch=1"
-
-do_configure_prepend () {
- mv ${WORKDIR}/check.m4 ${S}/
-}
diff --git a/packages/libmatchbox/libmatchbox_1.6.bb b/packages/libmatchbox/libmatchbox_1.6.bb
deleted file mode 100644
index 29b04635ff..0000000000
--- a/packages/libmatchbox/libmatchbox_1.6.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require libmatchbox.inc
-
-PR = "r1"
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \
- file://check.m4 \
- file://fix-configure-for-1.9.patch;patch=1"
-
-do_configure_prepend () {
- mv ${WORKDIR}/check.m4 ${S}/
-}
diff --git a/packages/libmatchbox/libmatchbox_1.9.bb b/packages/libmatchbox/libmatchbox_1.9.bb
index b9044a1d60..a0c5e272c0 100644
--- a/packages/libmatchbox/libmatchbox_1.9.bb
+++ b/packages/libmatchbox/libmatchbox_1.9.bb
@@ -1,10 +1,12 @@
require libmatchbox.inc
-PR = "r1"
+
+PR = "r5"
SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \
- file://16bppfixes-2.patch;patch=1 \
+ file://16bppfixes.patch;patch=1 \
+ file://configure_fixes.patch;patch=1 \
file://check.m4"
do_configure_prepend () {
- mv ${WORKDIR}/check.m4 ${S}/
+ cp ${WORKDIR}/check.m4 ${S}/
}
diff --git a/packages/libmrss/files/better-parse-url-r0.patch b/packages/libmrss/files/better-parse-url-r0.patch
index 94a78110a2..b365819008 100644
--- a/packages/libmrss/files/better-parse-url-r0.patch
+++ b/packages/libmrss/files/better-parse-url-r0.patch
@@ -1,3 +1,10 @@
+upstream: mailed to bakunin_at_autistici_dot_org by Laibsch
+status: committed in upstream CVS on Feb 26th 2008
+comment: API addition to not manually setup the CURL connection and still
+be able to get the transfered feed and save it to secondary storage. done
+by zecke for the OpenMoko RSS reader.
+
+
Index: libmrss-0.17.2/src/mrss.h
===================================================================
--- libmrss-0.17.2.orig/src/mrss.h 2007-04-02 14:42:55.000000000 +0200
diff --git a/packages/nonworking/apache/apache-2.0.47/.mtn2git_empty b/packages/libpcap/libpcap-0.9.8/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/apache/apache-2.0.47/.mtn2git_empty
+++ b/packages/libpcap/libpcap-0.9.8/.mtn2git_empty
diff --git a/packages/libpcap/libpcap-0.9.6/shared.patch b/packages/libpcap/libpcap-0.9.8/shared.patch
index 159389bb87..159389bb87 100644
--- a/packages/libpcap/libpcap-0.9.6/shared.patch
+++ b/packages/libpcap/libpcap-0.9.8/shared.patch
diff --git a/packages/libpcap/libpcap_0.9.6.bb b/packages/libpcap/libpcap_0.9.8.bb
index 865e57ab93..865e57ab93 100644
--- a/packages/libpcap/libpcap_0.9.6.bb
+++ b/packages/libpcap/libpcap_0.9.8.bb
diff --git a/packages/libpixman/libpixman_0.1.5.bb b/packages/libpixman/libpixman_0.1.5.bb
index 6cedbf480d..bf23947fc1 100644
--- a/packages/libpixman/libpixman_0.1.5.bb
+++ b/packages/libpixman/libpixman_0.1.5.bb
@@ -8,5 +8,5 @@ SRC_URI = "http://cairographics.org/snapshots/libpixman-${PV}.tar.gz"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/libpixman/libpixman_0.1.6.bb b/packages/libpixman/libpixman_0.1.6.bb
index 6cedbf480d..bf23947fc1 100644
--- a/packages/libpixman/libpixman_0.1.6.bb
+++ b/packages/libpixman/libpixman_0.1.6.bb
@@ -8,5 +8,5 @@ SRC_URI = "http://cairographics.org/snapshots/libpixman-${PV}.tar.gz"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/libpixman/libpixman_cvs.bb b/packages/libpixman/libpixman_cvs.bb
index 956f652454..a75a284bca 100644
--- a/packages/libpixman/libpixman_cvs.bb
+++ b/packages/libpixman/libpixman_cvs.bb
@@ -12,5 +12,5 @@ DEFAULT_PREFERENCE = "-1"
inherit autotools pkgconfig
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/libpng/libpng-native_1.2.19.bb b/packages/libpng/libpng-native_1.2.19.bb
deleted file mode 100644
index 231b956678..0000000000
--- a/packages/libpng/libpng-native_1.2.19.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require libpng_${PV}.bb
-inherit native
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libpng-${PV}"
-DEPENDS = "zlib-native"
-
-INHIBIT_NATIVE_STAGE_INSTALL = "1"
-
-do_stage_append() {
- cp libpng.pc libpng12.pc
- install -m 644 png.h ${STAGING_INCDIR}/png.h
- install -m 644 pngconf.h ${STAGING_INCDIR}/pngconf.h
- oe_libinstall -so libpng12 ${STAGING_LIBDIR}/
- ln -sf libpng12.so ${STAGING_LIBDIR}/libpng.so
-}
diff --git a/packages/libpng/libpng_1.2.19.bb b/packages/libpng/libpng_1.2.19.bb
deleted file mode 100644
index 3730f3d727..0000000000
--- a/packages/libpng/libpng_1.2.19.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "PNG Library"
-HOMEPAGE = "http://www.libpng.org/"
-LICENSE = "libpng"
-SECTION = "libs"
-DEPENDS = "zlib"
-PRIORITY = "required"
-PR = "r0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/libpng-${PV}.tar.bz2"
-S = "${WORKDIR}/libpng-${PV}"
-
-inherit autotools binconfig pkgconfig
-
-do_stage() {
- cp libpng.pc libpng12.pc
- install -m 644 png.h ${STAGING_INCDIR}/png.h
- install -m 644 pngconf.h ${STAGING_INCDIR}/pngconf.h
- oe_libinstall -so libpng ${STAGING_LIBDIR}/
- oe_libinstall -so libpng12 ${STAGING_LIBDIR}/
- ln -sf libpng12.so ${STAGING_LIBDIR}/libpng.so
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${mandir}
- install -d ${D}${libdir}
- install -d ${D}${includedir}
- unset LDFLAGS
- oe_runmake 'prefix=${prefix}' 'DESTDIR=${D}' \
- 'DB=${D}${bindir}' 'DI=${D}${includedir}' \
- 'DL=${D}${libdir}' 'DM=${D}${mandir}' \
- install
-}
-
-python do_package() {
- if bb.data.getVar('DEBIAN_NAMES', d, 1):
- bb.data.setVar('PKG_${PN}', 'libpng12', d)
- bb.build.exec_func('package_do_package', d)
-}
-
-PACKAGES =+ "${PN}12-dbg ${PN}12 ${PN}12-dev"
-
-FILES_${PN}12-dbg += "${libdir}/libpng12*.dbg"
-FILES_${PN}12 = "${libdir}/libpng12.so.*"
-FILES_${PN}12-dev = "${libdir}/libpng12.* ${includedir}/libpng12 ${libdir}/pkgconfig/libpng12.pc"
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
- ${libdir}/*.a ${libdir}/pkgconfig \
- ${datadir}/aclocal ${bindir} ${sbindir}"
-
diff --git a/packages/libsdl/libsdl-qpe-1.2.9/explicit-extern-C.patch b/packages/libsdl/files/explicit-extern-C.patch
index 3dd44bea27..3dd44bea27 100644
--- a/packages/libsdl/libsdl-qpe-1.2.9/explicit-extern-C.patch
+++ b/packages/libsdl/files/explicit-extern-C.patch
diff --git a/packages/libsdl/libsdl-qpe-1.2.9/fixlibs-1.2.9.patch b/packages/libsdl/files/fixlibs-1.2.9.patch
index ebc6ec7769..ebc6ec7769 100644
--- a/packages/libsdl/libsdl-qpe-1.2.9/fixlibs-1.2.9.patch
+++ b/packages/libsdl/files/fixlibs-1.2.9.patch
diff --git a/packages/libsdl/libsdl-qpe-1.2.9/kill-stdc++-1.2.9.patch b/packages/libsdl/files/kill-stdc++-1.2.9.patch
index 884cb2191c..884cb2191c 100644
--- a/packages/libsdl/libsdl-qpe-1.2.9/kill-stdc++-1.2.9.patch
+++ b/packages/libsdl/files/kill-stdc++-1.2.9.patch
diff --git a/packages/libsdl/files/pagesize.patch b/packages/libsdl/files/pagesize.patch
new file mode 100644
index 0000000000..ea9ea9849b
--- /dev/null
+++ b/packages/libsdl/files/pagesize.patch
@@ -0,0 +1,15 @@
+Remove obsolete non-portable macro.
+
+Index: SDL-1.2.9/src/video/fbcon/SDL_fbvideo.c
+===================================================================
+--- SDL-1.2.9.orig/src/video/fbcon/SDL_fbvideo.c
++++ SDL-1.2.9/src/video/fbcon/SDL_fbvideo.c
+@@ -405,7 +405,7 @@ static int FB_VideoInit(_THIS, SDL_Pixel
+
+ /* Memory map the device, compensating for buggy PPC mmap() */
+ mapped_offset = (((long)finfo.smem_start) -
+- (((long)finfo.smem_start)&~(PAGE_SIZE-1)));
++ (((long)finfo.smem_start)&~(getpagesize()-1)));
+ mapped_memlen = finfo.smem_len+mapped_offset;
+ mapped_mem = mmap(NULL, mapped_memlen,
+ PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0);
diff --git a/packages/libsdl/libsdl-qpe-1.2.9/pygame-1.2.9.patch b/packages/libsdl/files/pygame-1.2.9.patch
index 4073de25bf..4073de25bf 100644
--- a/packages/libsdl/libsdl-qpe-1.2.9/pygame-1.2.9.patch
+++ b/packages/libsdl/files/pygame-1.2.9.patch
diff --git a/packages/libsdl/files/remove_path.patch b/packages/libsdl/files/remove_path.patch
new file mode 100644
index 0000000000..f5bee40bbd
--- /dev/null
+++ b/packages/libsdl/files/remove_path.patch
@@ -0,0 +1,18 @@
+OE goes to great lengths to set PATH correctly and this just breaks
+things since local sdl-config binaries will suddenly be preferred
+rather than those in staging.
+
+RP - 27/02/2008
+
+Index: SDL-1.2.9/sdl.m4
+===================================================================
+--- SDL-1.2.9.orig/sdl.m4 2008-02-27 10:08:38.000000000 +0000
++++ SDL-1.2.9/sdl.m4 2008-02-27 10:08:51.000000000 +0000
+@@ -33,7 +33,6 @@
+ fi
+
+ AC_REQUIRE([AC_CANONICAL_TARGET])
+- PATH="$prefix/bin:$prefix/usr/bin:$PATH"
+ AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
+ min_sdl_version=ifelse([$1], ,0.11.0,$1)
+ AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
diff --git a/packages/libsdl/libsdl-directfb_1.2.9.bb b/packages/libsdl/libsdl-directfb_1.2.9.bb
index 73e94e9d22..7a9bd88ee2 100644
--- a/packages/libsdl/libsdl-directfb_1.2.9.bb
+++ b/packages/libsdl/libsdl-directfb_1.2.9.bb
@@ -1,28 +1,13 @@
-DESCRIPTION = "Simple DirectMedia Layer - DirectFB Edition"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "alsa-lib directfb"
-PROVIDES = "virtual/libsdl"
-LICENSE = "LGPL"
+require libsdl.inc
-PR = "r3"
+DEPENDS = "alsa-lib directfb"
DEFAULT_PREFERENCE = "-1"
-SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
- file://agawa-piro-mickey-1.2.9.patch;patch=1 \
- file://pygame-1.2.9.patch;patch=1 \
- file://mouse-1.2.9.patch;patch=1 \
- file://kill-stdc++-1.2.9.patch;patch=1 \
- file://ipaq-1.2.9.patch;patch=1 \
- file://SDL-Akita-1.2.9.patch;patch=1 \
- file://fixlibs-1.2.9.patch;patch=1 \
- file://no-PAGE_SIZE.patch;patch=1 \
- file://explicit-extern-C.patch;patch=1 \
- file://acinclude.m4 \
- file://directfb_obsolete_calls.patch;patch=1"
-S = "${WORKDIR}/SDL-${PV}"
-
-inherit autotools binconfig
+SRC_URI += "\
+ file://explicit-extern-C.patch;patch=1 \
+ file://acinclude.m4 \
+ file://directfb_obsolete_calls.patch;patch=1 \
+"
CFLAGS_append += " -I${STAGING_INCDIR}/directfb -I${STAGING_INCDIR}/directfb-internal"
@@ -30,44 +15,7 @@ EXTRA_OECONF = "--disable-static --disable-debug --enable-cdrom --enable-threads
--enable-file --enable-oss --enable-alsa --disable-esd --disable-arts \
--disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
--disable-mintaudio --disable-nasm --disable-video-x11 --disable-video-dga \
- --disable-video-fbcon --enable-video-directfb --disable-video-ps2gs \
+ --enable-video-fbcon --enable-video-directfb --disable-video-ps2gs \
--disable-video-xbios --disable-video-gem --disable-video-dummy \
--disable-video-opengl --enable-input-events --enable-pthreads \
--disable-video-picogui --disable-video-qtopia --enable-dlopen"
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}/*config"
-
-do_configure_prepend() {
- rm -f ${S}/acinclude.m4
- cp ${WORKDIR}/acinclude.m4 ${S}/
- if [ "${PALMTOP_USE_MULTITHREADED_QT}" == "yes" ]
- then
- sed -i s,-lqte,-lqte-mt, src/Makefile
- fi
-}
-do_configure_append () {
- 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
- find ${S} -type f | xargs sed -i 's:I/usr/include:I${STAGING_INCDIR}:g'
-
-}
-
-do_stage() {
- oe_libinstall -so -C src libSDL ${STAGING_LIBDIR}
- rm ${STAGING_LIBDIR}/libSDL.la
- 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
-
- install -m 0644 *.m4 ${STAGING_DATADIR}/aclocal/
-}
diff --git a/packages/libsdl/libsdl-qpe_1.2.9.bb b/packages/libsdl/libsdl-qpe_1.2.9.bb
index 2fbf66b5d8..3583f20cf0 100644
--- a/packages/libsdl/libsdl-qpe_1.2.9.bb
+++ b/packages/libsdl/libsdl-qpe_1.2.9.bb
@@ -1,69 +1,31 @@
-DESCRIPTION = "Simple DirectMedia Layer - QtE-based Palmtop Environments Edition"
+require libsdl.inc
+
SECTION = "opie/libs"
-PRIORITY = "optional"
DEPENDS = "virtual/libqpe1 libopie2"
-PROVIDES = "virtual/libsdl"
-LICENSE = "LGPL"
-
-# NOTE: make sure to keep PR in sync with libsdl-x11
-PR = "r1"
-
-SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
- file://agawa-piro-mickey-1.2.9.patch;patch=1 \
- file://pygame-1.2.9.patch;patch=1 \
- file://mouse-1.2.9.patch;patch=1 \
- file://kill-stdc++-1.2.9.patch;patch=1 \
- file://ipaq-1.2.9.patch;patch=1 \
- file://SDL-Akita-1.2.9.patch;patch=1 \
- file://fixlibs-1.2.9.patch;patch=1 \
- file://no-PAGE_SIZE.patch;patch=1 \
- file://explicit-extern-C.patch;patch=1 \
- file://acinclude.m4"
-S = "${WORKDIR}/SDL-${PV}"
-inherit autotools binconfig
+SRC_URI += "\
+ file://agawa-piro-mickey-1.2.9.patch;patch=1 \
+ file://pygame-1.2.9.patch;patch=1 \
+ file://mouse-1.2.9.patch;patch=1 \
+ file://kill-stdc++-1.2.9.patch;patch=1 \
+ file://ipaq-1.2.9.patch;patch=1 \
+ file://SDL-Akita-1.2.9.patch;patch=1 \
+ file://fixlibs-1.2.9.patch;patch=1 \
+ file://explicit-extern-C.patch;patch=1 \
+"
EXTRA_OECONF = "--disable-static --disable-debug --enable-cdrom --enable-threads --enable-timers --enable-endian \
--enable-file --enable-oss --disable-alsa --disable-esd --disable-arts \
--disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
--disable-mintaudio --disable-nasm --disable-video-x11 --disable-video-dga \
- --disable-video-fbcon --disable-video-directfb --disable-video-ps2gs \
+ --enable-video-fbcon --disable-video-directfb --disable-video-ps2gs \
--disable-video-xbios --disable-video-gem --disable-video-dummy \
--disable-video-opengl --enable-input-events --enable-pthreads \
--disable-video-picogui --enable-video-qtopia --enable-dlopen"
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}/*config"
-
do_compile_prepend() {
- rm -f ${S}/acinclude.m4
- cp ${WORKDIR}/acinclude.m4 ${S}/
if [ "${PALMTOP_USE_MULTITHREADED_QT}" == "yes" ]
then
sed -i s,-lqte,-lqte-mt, src/Makefile
fi
}
-
-do_configure_append () {
- 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}
- rm ${STAGING_LIBDIR}/libSDL.la
- ln -sf libSDL.so ${STAGING_LIBDIR}/libSDL-1.2.so
- install -m 0655 src/main/libSDLmain.a src/main/.libs/
- oe_libinstall -a -C src/main libSDLmain ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/SDL
- for f in include/*.h
- do
- install -m 0644 $f ${STAGING_INCDIR}/SDL/
- done
-
- install -m 0644 *.m4 ${STAGING_DATADIR}/aclocal/
-}
diff --git a/packages/libsdl/libsdl-x11_1.2.9.bb b/packages/libsdl/libsdl-x11_1.2.9.bb
index 42c0ad3579..43148d4b00 100644
--- a/packages/libsdl/libsdl-x11_1.2.9.bb
+++ b/packages/libsdl/libsdl-x11_1.2.9.bb
@@ -1,56 +1,11 @@
-DESCRIPTION = "Simple DirectMedia Layer - X11 Edition"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "alsa-lib mesa virtual/libx11 libxext"
-PROVIDES = "virtual/libsdl"
-LICENSE = "LGPL"
-
-PR = "r2"
-
-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 binconfig
+require libsdl.inc
EXTRA_OECONF = "--disable-static --disable-debug --enable-cdrom --enable-threads --enable-timers --enable-endian \
--enable-file --enable-oss --enable-alsa --disable-esd --disable-arts \
--disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
--disable-mintaudio --disable-nasm --enable-video-x11 --disable-video-dga \
- --disable-video-fbcon --disable-video-directfb --disable-video-ps2gs \
+ --enable-video-fbcon --disable-video-directfb --disable-video-ps2gs \
--disable-video-xbios --disable-video-gem --disable-video-dummy \
--enable-video-opengl --enable-input-events --enable-pthreads \
--disable-video-picogui --disable-video-qtopia --enable-dlopen"
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}/*config"
-
-do_configure_prepend() {
- rm -f ${S}/acinclude.m4
- cp ${WORKDIR}/acinclude.m4 ${S}/
-}
-
-do_configure_append () {
- 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}
- rm ${STAGING_LIBDIR}/libSDL.la
- 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
-
- install -m 0644 *.m4 ${STAGING_DATADIR}/aclocal/
-}
diff --git a/packages/libsdl/libsdl-x11_1.2.7.bb b/packages/libsdl/libsdl.inc
index 125aec5f36..ad74ecc87c 100644
--- a/packages/libsdl/libsdl-x11_1.2.7.bb
+++ b/packages/libsdl/libsdl.inc
@@ -1,28 +1,22 @@
DESCRIPTION = "Simple DirectMedia Layer - X11 Edition"
SECTION = "libs"
PRIORITY = "optional"
-DEPENDS = "virtual/libx11 libxext"
+DEPENDS = "alsa-lib mesa virtual/libx11 libxext"
PROVIDES = "virtual/libsdl"
LICENSE = "LGPL"
-
-# NOTE: make sure to keep PR in sync with libsdl-qpe
-PR = "r9"
-
-SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
- file://extra-keys.patch;patch=1 \
- file://acinclude.m4"
+PR = "r4"
+
+SRC_URI = "\
+ http://www.libsdl.org/release/SDL-${PV}.tar.gz \
+ file://extra-keys.patch;patch=1 \
+ file://pagesize.patch;patch=1 \
+ file://remove_path.patch;patch=1 \
+ file://acinclude.m4"
S = "${WORKDIR}/SDL-${PV}"
inherit autotools binconfig
-EXTRA_OECONF = "--disable-static --disable-debug --enable-cdrom --enable-threads --enable-timers --enable-endian \
- --enable-file --enable-oss --enable-alsa --disable-esd --disable-arts \
- --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
- --disable-mintaudio --disable-nasm --enable-video-x11 --disable-video-dga \
- --disable-video-fbcon --disable-video-directfb --disable-video-ps2gs \
- --disable-video-xbios --disable-video-gem --disable-video-dummy \
- --disable-video-opengl --enable-input-events --enable-pthreads \
- --disable-video-picogui --disable-video-qtopia --enable-dlopen"
+EXTRA_OECONF = "<overwrite me>"
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_${PN}-dev += "${bindir}/*config"
diff --git a/packages/libxine/libxine-fb_1.0.bb b/packages/libxine/libxine-fb_1.0.bb
index d0f58303fa..a51dc83896 100644
--- a/packages/libxine/libxine-fb_1.0.bb
+++ b/packages/libxine/libxine-fb_1.0.bb
@@ -26,10 +26,10 @@ S = "${WORKDIR}/xine-lib-${PV}"
SOV = "1.0.7"
-EXTRA_OECONF="-with-zlib-path=${STAGING_DIR}/${HOST_SYS} \
- --with-vorbis-prefix=${STAGING_DIR}/${HOST_SYS} \
+EXTRA_OECONF="-with-zlib-path=${STAGING_EXECPREFIXDIR} \
+ --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
--disable-oggtest \
- --with-ogg-prefix=${STAGING_DIR}/${HOST_SYS} \
+ --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
--disable-altivec --disable-vis --disable-mlib \
--enable-shared --disable-static \
--disable-fb --disable-alsa --disable-vcd \
diff --git a/packages/libxine/libxine-x11_1.0.bb b/packages/libxine/libxine-x11_1.0.bb
index 28d3be1b3d..806f8fd4b7 100644
--- a/packages/libxine/libxine-x11_1.0.bb
+++ b/packages/libxine/libxine-x11_1.0.bb
@@ -5,7 +5,7 @@ PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound virtual/libx11 libxext libpng"
PROVIDES = "virtual/libxine"
-PR = "r0"
+PR = "r1"
inherit autotools pkgconfig gettext binconfig
@@ -17,7 +17,7 @@ SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/xine/xine-lib-${PV}.tar.
file://libxine-ffmpeg-enable-arm.patch;patch=1 \
file://no-caca-no-aalib.patch;patch=1 \
file://dont-have-xv.patch;patch=1 \
- file://restore-esd.patch;patch=1 \
+# file://restore-esd.patch;patch=1 \
file://fix-syntax-xine-vorbis-decoder.patch;patch=1 \
file://libxine-cut-memusage.patch;patch=1 \
file://mpegvideo-static-inlinine.patch;patch=1 \
@@ -27,10 +27,10 @@ S = "${WORKDIR}/xine-lib-${PV}"
SOV = "1.0.7"
-EXTRA_OECONF="-with-zlib-path=${STAGING_DIR}/${HOST_SYS} \
- --with-vorbis-prefix=${STAGING_DIR}/${HOST_SYS} \
+EXTRA_OECONF="-with-zlib-path=${STAGING_EXECPREFIXDIR} \
+ --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
--disable-oggtest \
- --with-ogg-prefix=${STAGING_DIR}/${HOST_SYS} \
+ --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
--disable-altivec --disable-vis --disable-mlib \
--disable-fb --disable-alsa --disable-vcd \
--disable-asf --disable-faad --disable-iconv \
diff --git a/packages/libxine/libxine_1.1.0.bb b/packages/libxine/libxine_1.1.0.bb
index 7732eb813e..9219e5fdcd 100644
--- a/packages/libxine/libxine_1.1.0.bb
+++ b/packages/libxine/libxine_1.1.0.bb
@@ -31,10 +31,10 @@ S = "${WORKDIR}/xine-lib-${PV}"
SOV = "1.0.7"
-EXTRA_OECONF="-with-zlib-path=${STAGING_DIR}/${HOST_SYS} \
- --with-vorbis-prefix=${STAGING_DIR}/${HOST_SYS} \
+EXTRA_OECONF="-with-zlib-path=${STAGING_EXECPREFIXDIR} \
+ --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
--disable-oggtest \
- --with-ogg-prefix=${STAGING_DIR}/${HOST_SYS} \
+ --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
--disable-altivec --disable-vis --disable-mlib \
--disable-fb --disable-alsa --disable-vcd \
--disable-asf --disable-faad --disable-iconv \
diff --git a/packages/libxslt/libxslt_1.1.17.bb b/packages/libxslt/libxslt_1.1.17.bb
index 2ae61eeaf5..d4fadc401b 100644
--- a/packages/libxslt/libxslt_1.1.17.bb
+++ b/packages/libxslt/libxslt_1.1.17.bb
@@ -32,8 +32,8 @@ do_stage () {
install -m 0644 ${S}/libexslt/$i ${STAGING_INCDIR}/libexslt/$i
done
- cat xslt-config | sed -e "s,^prefix=.*,prefix=${STAGING_DIR}/${HOST_SYS}," \
- -e "s,^exec_prefix=.*,exec_prefix=${STAGING_DIR}/${HOST_SYS}," \
+ cat xslt-config | sed -e "s,^prefix=.*,prefix=${STAGING_DIR_HOST}${layout_prefix}," \
+ -e "s,^exec_prefix=.*,exec_prefix=${STAGING_DIR_HOST}${layout_exec_prefix}," \
-e "s,^includedir=.*,includedir=${STAGING_INCDIR}," \
-e "s,^libdir=.*,libdir=${STAGING_LIBDIR}," > ${STAGING_BINDIR_CROSS}/xslt-config
chmod a+rx ${STAGING_BINDIR_CROSS}/xslt-config
diff --git a/packages/libzvbi/libzvbi_0.2.22.bb b/packages/libzvbi/libzvbi_0.2.22.bb
index 74e16c6239..a4ce1e55d5 100644
--- a/packages/libzvbi/libzvbi_0.2.22.bb
+++ b/packages/libzvbi/libzvbi_0.2.22.bb
@@ -5,11 +5,12 @@ HOMEPAGE = "http://zapping.sourceforge.net/ZVBI/index.html"
LICENSE = "GPL"
SECTION = "libs/multimedia"
DEPENDS = "libpng"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/zapping/zvbi-${PV}.tar.bz2"
S = "${WORKDIR}/zvbi-${PV}"
-inherit autotools
+inherit autotools pkgconfig
do_stage() {
autotools_stage_all
diff --git a/packages/libzvbi/libzvbi_0.2.25.bb b/packages/libzvbi/libzvbi_0.2.25.bb
index fe9fd1495c..9be7a7d42e 100644
--- a/packages/libzvbi/libzvbi_0.2.25.bb
+++ b/packages/libzvbi/libzvbi_0.2.25.bb
@@ -5,17 +5,16 @@ HOMEPAGE = "http://zapping.sourceforge.net/ZVBI/index.html"
LICENSE = "GPL"
SECTION = "libs/multimedia"
DEPENDS = "libpng"
-PR = "r0"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/zapping/zvbi-${PV}.tar.bz2"
S = "${WORKDIR}/zvbi-${PV}"
EXTRA_OECONF = "--without-x"
-inherit autotools
+inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
-
diff --git a/packages/lighttpd/lighttpd/src-server.c.patch b/packages/lighttpd/lighttpd/src-server.c.patch
index 6ca0c9ea40..dbf614b2bd 100644
--- a/packages/lighttpd/lighttpd/src-server.c.patch
+++ b/packages/lighttpd/lighttpd/src-server.c.patch
@@ -1,3 +1,6 @@
+upstream: http://trac.lighttpd.net/trac/ticket/1402
+status: pending
+
--- lighttpd/src/server.c.orig 2006-03-04 09:12:17.000000000 -0800
+++ lighttpd/src/server.c 2006-07-11 09:16:28.000000000 -0700
@@ -1174,8 +1174,8 @@
diff --git a/packages/linphone/linphone_1.3.99.8.bb b/packages/linphone/linphone_1.3.99.8.bb
index 05998f889d..f96bd66b82 100644
--- a/packages/linphone/linphone_1.3.99.8.bb
+++ b/packages/linphone/linphone_1.3.99.8.bb
@@ -15,9 +15,9 @@ inherit autotools
EXTRA_OECONF = "--disable-gnome_ui --disable-gtk-doc --without-ffmpeg \
--without-sdl --disable-video --enable-alsa \
- --with-osip=${STAGING_DIR}/${HOST_SYS} \
- --with-readline=${STAGING_DIR}/${HOST_SYS} \
- --with-speex=${STAGING_DIR}/${HOST_SYS} \
+ --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
--disable-truespeech --disable-manual \
--disable-glibtest --disable-glib"
diff --git a/packages/linphone/linphone_1.6.0.bb b/packages/linphone/linphone_1.6.0.bb
index 7a90cdd5c9..fe40b6a270 100644
--- a/packages/linphone/linphone_1.6.0.bb
+++ b/packages/linphone/linphone_1.6.0.bb
@@ -32,9 +32,9 @@ export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config
EXTRA_OECONF = "--disable-gtk-doc \
--without-ffmpeg --disable-video --without-sdl \
--enable-alsa \
- --with-osip=${STAGING_DIR}/${HOST_SYS} \
- --with-readline=${STAGING_DIR}/${HOST_SYS} \
- --with-speex=${STAGING_DIR}/${HOST_SYS} \
+ --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
+ --with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
--disable-truespeech --disable-manual \
--disable-gnome_ui"
diff --git a/packages/nonworking/apache/apache/.mtn2git_empty b/packages/linux/gumstix-kernel-2.6.21/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/apache/apache/.mtn2git_empty
+++ b/packages/linux/gumstix-kernel-2.6.21/.mtn2git_empty
diff --git a/packages/linux/gumstix-kernel-2.6.21/270-usb-gadget-udc.patch b/packages/linux/gumstix-kernel-2.6.21/270-usb-gadget-udc.patch
new file mode 100644
index 0000000000..630d188ea0
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/270-usb-gadget-udc.patch
@@ -0,0 +1,2739 @@
+Index: linux-2.6.21gum/drivers/usb/gadget/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/Kconfig
++++ linux-2.6.21gum/drivers/usb/gadget/Kconfig
+@@ -129,6 +129,28 @@ config USB_PXA2XX_SMALL
+ default y if USB_ETH
+ default y if USB_G_SERIAL
+
++config USB_GADGET_PXA27X
++ boolean "PXA 27x"
++ depends on ARCH_PXA && PXA27x
++ help
++ Intel's PXA 27x series XScale ARM-5TE processors include
++ an integrated full speed USB 1.1 device controller.
++
++ Say "y" to link the driver statically, or "m" to build a
++ dynamically linked module called "pxa27x_udc" and force all
++ gadget drivers to also be dynamically linked.
++
++config USB_PXA27X
++ tristate
++ depends on USB_GADGET_PXA27X
++ default USB_GADGET
++ select USB_GADGET_SELECTED
++
++config USB_PXA27X_DMA
++ bool # "Use DMA support"
++ depends on USB_GADGET_PXA27X
++ default n
++
+ config USB_GADGET_GOKU
+ boolean "Toshiba TC86C001 'Goku-S'"
+ depends on PCI
+Index: linux-2.6.21gum/drivers/usb/gadget/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/Makefile
++++ linux-2.6.21gum/drivers/usb/gadget/Makefile
+@@ -7,6 +7,7 @@ obj-$(CONFIG_USB_PXA2XX) += pxa2xx_udc.o
+ obj-$(CONFIG_USB_GOKU) += goku_udc.o
+ obj-$(CONFIG_USB_OMAP) += omap_udc.o
+ obj-$(CONFIG_USB_LH7A40X) += lh7a40x_udc.o
++obj-$(CONFIG_USB_PXA27X) += pxa27x_udc.o
+ obj-$(CONFIG_USB_AT91) += at91_udc.o
+ obj-$(CONFIG_USB_GADGET_GUMSTIX) += gumstix_gadget.o
+
+Index: linux-2.6.21gum/drivers/usb/gadget/pxa27x_udc.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/usb/gadget/pxa27x_udc.c
+@@ -0,0 +1,2352 @@
++/*
++ * linux/drivers/usb/gadget/pxa27x_udc.c
++ * Intel PXA2xx and IXP4xx on-chip full speed USB device controllers
++ *
++ * Copyright (C) 2002 Intrinsyc, Inc. (Frank Becker)
++ * Copyright (C) 2003 Robert Schwebel, Pengutronix
++ * Copyright (C) 2003 Benedikt Spranger, Pengutronix
++ * Copyright (C) 2003 David Brownell
++ * Copyright (C) 2003 Joshua Wise
++ * Copyright (C) 2004 Intel Corporation
++ * Copyright (C) 2005 SDG Systems, LLC (Aric Blumer)
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ */
++
++#undef DEBUG
++ // #define DEBUG 1
++ //#define VERBOSE DBG_VERBOSE
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/ioport.h>
++#include <linux/types.h>
++#include <linux/version.h>
++#include <linux/errno.h>
++#include <linux/delay.h>
++#include <linux/sched.h>
++#include <linux/slab.h>
++#include <linux/init.h>
++#include <linux/timer.h>
++#include <linux/list.h>
++#include <linux/interrupt.h>
++#include <linux/proc_fs.h>
++#include <linux/mm.h>
++#include <linux/platform_device.h>
++#include <linux/dma-mapping.h>
++#include <linux/irq.h>
++
++#include <asm/byteorder.h>
++#include <asm/dma.h>
++#include <asm/io.h>
++#include <asm/system.h>
++#include <asm/mach-types.h>
++#include <asm/unaligned.h>
++#include <asm/hardware.h>
++#include <asm/mach/irq.h>
++#include <asm/arch/pxa-regs.h>
++
++#include <linux/usb/ch9.h>
++#include <linux/usb_gadget.h>
++
++#include <asm/arch/udc.h>
++
++
++/*
++ * This driver handles the USB Device Controller (UDC) in Intel's PXA 27777777x
++ * series processors.
++ * Such controller drivers work with a gadget driver. The gadget driver
++ * returns descriptors, implements configuration and data protocols used
++ * by the host to interact with this device, and allocates endpoints to
++ * the different protocol interfaces. The controller driver virtualizes
++ * usb hardware so that the gadget drivers will be more portable.
++ *
++ * This UDC hardware wants to implement a bit too much USB protocol, so
++ * it constrains the sorts of USB configuration change events that work.
++ * The errata for these chips are misleading; some "fixed" bugs from
++ * pxa250 a0/a1 b0/b1/b2 sure act like they're still there.
++ */
++
++#define DRIVER_VERSION "21-Jul-2005"
++#define DRIVER_DESC "PXA 27x USB Device Controller driver"
++
++
++static const char driver_name [] = "pxa27x_udc";
++
++static const char ep0name [] = "ep0";
++
++
++#define USE_DMA
++//#define DISABLE_TEST_MODE
++
++#ifdef CONFIG_PROC_FS
++#define UDC_PROC_FILE
++#endif
++
++#include "pxa27x_udc.h"
++
++#if 0
++#ifdef CONFIG_EMBEDDED
++/* few strings, and little code to use them */
++#undef DEBUG
++#undef UDC_PROC_FILE
++#endif
++#endif
++
++#ifdef USE_DMA
++static int use_dma = 1;
++module_param(use_dma, bool, 0);
++MODULE_PARM_DESC (use_dma, "true to use dma");
++
++static void dma_nodesc_handler (int dmach, void *_ep);
++static void kick_dma(struct pxa27x_ep *ep, struct pxa27x_request *req);
++
++#define DMASTR " (dma support)"
++
++#else /* !USE_DMA */
++#define DMASTR " (pio only)"
++#endif
++
++#ifdef CONFIG_USB_PXA27X_SMALL
++#define SIZE_STR " (small)"
++#else
++#define SIZE_STR ""
++#endif
++
++#ifdef DISABLE_TEST_MODE
++/* (mode == 0) == no undocumented chip tweaks
++ * (mode & 1) == double buffer bulk IN
++ * (mode & 2) == double buffer bulk OUT
++ * ... so mode = 3 (or 7, 15, etc) does it for both
++ */
++static ushort fifo_mode = 0;
++module_param(fifo_mode, ushort, 0);
++MODULE_PARM_DESC (fifo_mode, "pxa27x udc fifo mode");
++#endif
++
++#define UDCISR0_IR0 0x3
++#define UDCISR_INT_MASK (UDC_INT_FIFOERROR | UDC_INT_PACKETCMP)
++#define UDCICR_INT_MASK UDCISR_INT_MASK
++
++#define UDCCSR_MASK (UDCCSR_FST | UDCCSR_DME)
++/* ---------------------------------------------------------------------------
++ * endpoint related parts of the api to the usb controller hardware,
++ * used by gadget driver; and the inner talker-to-hardware core.
++ * ---------------------------------------------------------------------------
++ */
++
++static void pxa27x_ep_fifo_flush (struct usb_ep *ep);
++static void nuke (struct pxa27x_ep *, int status);
++
++static void pio_irq_enable(int ep_num)
++{
++ if (ep_num < 16)
++ UDCICR0 |= 3 << (ep_num * 2);
++ else {
++ ep_num -= 16;
++ UDCICR1 |= 3 << (ep_num * 2);
++ }
++}
++
++static void pio_irq_disable(int ep_num)
++{
++ ep_num &= 0xf;
++ if (ep_num < 16)
++ UDCICR0 &= ~(3 << (ep_num * 2));
++ else {
++ ep_num -= 16;
++ UDCICR1 &= ~(3 << (ep_num * 2));
++ }
++}
++
++/* The UDCCR reg contains mask and interrupt status bits,
++ * so using '|=' isn't safe as it may ack an interrupt.
++ */
++#define UDCCR_MASK_BITS (UDCCR_OEN | UDCCR_UDE)
++
++static inline void udc_set_mask_UDCCR(int mask)
++{
++ UDCCR = (UDCCR & UDCCR_MASK_BITS) | (mask & UDCCR_MASK_BITS);
++}
++
++static inline void udc_clear_mask_UDCCR(int mask)
++{
++ UDCCR = (UDCCR & UDCCR_MASK_BITS) & ~(mask & UDCCR_MASK_BITS);
++}
++
++static inline void udc_ack_int_UDCCR(int mask)
++{
++ /* udccr contains the bits we dont want to change */
++ __u32 udccr = UDCCR & UDCCR_MASK_BITS;
++
++ UDCCR = udccr | (mask & ~UDCCR_MASK_BITS);
++}
++
++/*
++ * endpoint enable/disable
++ *
++ * we need to verify the descriptors used to enable endpoints. since pxa27x
++ * endpoint configurations are fixed, and are pretty much always enabled,
++ * there's not a lot to manage here.
++ *
++ * because pxa27x can't selectively initialize bulk (or interrupt) endpoints,
++ * (resetting endpoint halt and toggle), SET_INTERFACE is unusable except
++ * for a single interface (with only the default altsetting) and for gadget
++ * drivers that don't halt endpoints (not reset by set_interface). that also
++ * means that if you use ISO, you must violate the USB spec rule that all
++ * iso endpoints must be in non-default altsettings.
++ */
++static int pxa27x_ep_enable (struct usb_ep *_ep,
++ const struct usb_endpoint_descriptor *desc)
++{
++ struct pxa27x_ep *ep;
++ struct pxa27x_udc *dev;
++
++ ep = container_of (_ep, struct pxa27x_ep, ep);
++ if (!_ep || !desc || _ep->name == ep0name
++ || desc->bDescriptorType != USB_DT_ENDPOINT
++ || ep->fifo_size < le16_to_cpu(desc->wMaxPacketSize)) {
++ DMSG("%s, bad ep or descriptor\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ /* xfer types must match, except that interrupt ~= bulk */
++ if( ep->ep_type != USB_ENDPOINT_XFER_BULK
++ && desc->bmAttributes != USB_ENDPOINT_XFER_INT) {
++ DMSG("%s, %s type mismatch\n", __FUNCTION__, _ep->name);
++ return -EINVAL;
++ }
++
++ /* hardware _could_ do smaller, but driver doesn't */
++ if ((desc->bmAttributes == USB_ENDPOINT_XFER_BULK
++ && le16_to_cpu (desc->wMaxPacketSize)
++ != BULK_FIFO_SIZE)
++ || !desc->wMaxPacketSize) {
++ DMSG("%s, bad %s maxpacket\n", __FUNCTION__, _ep->name);
++ return -ERANGE;
++ }
++
++ dev = ep->dev;
++ if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) {
++ DMSG("%s, bogus device state\n", __FUNCTION__);
++ return -ESHUTDOWN;
++ }
++
++ ep->desc = desc;
++ ep->dma = -1;
++ ep->stopped = 0;
++ ep->pio_irqs = ep->dma_irqs = 0;
++ ep->ep.maxpacket = le16_to_cpu (desc->wMaxPacketSize);
++
++ /* flush fifo (mostly for OUT buffers) */
++ pxa27x_ep_fifo_flush (_ep);
++
++ /* ... reset halt state too, if we could ... */
++
++#ifdef USE_DMA
++ /* for (some) bulk and ISO endpoints, try to get a DMA channel and
++ * bind it to the endpoint. otherwise use PIO.
++ */
++ DMSG("%s: called attributes=%d\n", __FUNCTION__, ep->ep_type);
++ switch (ep->ep_type) {
++ case USB_ENDPOINT_XFER_ISOC:
++ if (le16_to_cpu(desc->wMaxPacketSize) % 32)
++ break;
++ // fall through
++ case USB_ENDPOINT_XFER_BULK:
++ if (!use_dma || !ep->reg_drcmr)
++ break;
++ ep->dma = pxa_request_dma ((char *)_ep->name,
++ (le16_to_cpu (desc->wMaxPacketSize) > 64)
++ ? DMA_PRIO_MEDIUM /* some iso */
++ : DMA_PRIO_LOW,
++ dma_nodesc_handler, ep);
++ if (ep->dma >= 0) {
++ *ep->reg_drcmr = DRCMR_MAPVLD | ep->dma;
++ DMSG("%s using dma%d\n", _ep->name, ep->dma);
++ }
++ default:
++ break;
++ }
++#endif
++ DBG(DBG_VERBOSE, "enabled %s\n", _ep->name);
++ return 0;
++}
++
++static int pxa27x_ep_disable (struct usb_ep *_ep)
++{
++ struct pxa27x_ep *ep;
++
++ ep = container_of (_ep, struct pxa27x_ep, ep);
++ if (!_ep || !ep->desc) {
++ DMSG("%s, %s not enabled\n", __FUNCTION__,
++ _ep ? ep->ep.name : NULL);
++ return -EINVAL;
++ }
++ nuke (ep, -ESHUTDOWN);
++
++#ifdef USE_DMA
++ if (ep->dma >= 0) {
++ *ep->reg_drcmr = 0;
++ pxa_free_dma (ep->dma);
++ ep->dma = -1;
++ }
++#endif
++
++ /* flush fifo (mostly for IN buffers) */
++ pxa27x_ep_fifo_flush (_ep);
++
++ ep->desc = 0;
++ ep->stopped = 1;
++
++ DBG(DBG_VERBOSE, "%s disabled\n", _ep->name);
++ return 0;
++}
++
++/*-------------------------------------------------------------------------*/
++
++/* for the pxa27x, these can just wrap kmalloc/kfree. gadget drivers
++ * must still pass correctly initialized endpoints, since other controller
++ * drivers may care about how it's currently set up (dma issues etc).
++ */
++
++/*
++ * pxa27x_ep_alloc_request - allocate a request data structure
++ */
++static struct usb_request *
++pxa27x_ep_alloc_request (struct usb_ep *_ep, unsigned gfp_flags)
++{
++ struct pxa27x_request *req;
++
++ req = kmalloc (sizeof *req, gfp_flags);
++ if (!req)
++ return 0;
++
++ memset (req, 0, sizeof *req);
++ INIT_LIST_HEAD (&req->queue);
++ return &req->req;
++}
++
++
++/*
++ * pxa27x_ep_free_request - deallocate a request data structure
++ */
++static void
++pxa27x_ep_free_request (struct usb_ep *_ep, struct usb_request *_req)
++{
++ struct pxa27x_request *req;
++
++ req = container_of(_req, struct pxa27x_request, req);
++ WARN_ON (!list_empty (&req->queue));
++ kfree(req);
++}
++
++
++/* PXA cache needs flushing with DMA I/O (it's dma-incoherent), but there's
++ * no device-affinity and the heap works perfectly well for i/o buffers.
++ * It wastes much less memory than dma_alloc_coherent() would, and even
++ * prevents cacheline (32 bytes wide) sharing problems.
++ */
++static void *
++pxa27x_ep_alloc_buffer(struct usb_ep *_ep, unsigned bytes,
++ dma_addr_t *dma, unsigned gfp_flags)
++{
++ char *retval;
++
++ retval = kmalloc (bytes, gfp_flags & ~(__GFP_DMA|__GFP_HIGHMEM));
++ if (retval)
++ *dma = virt_to_bus (retval);
++ return retval;
++}
++
++static void
++pxa27x_ep_free_buffer(struct usb_ep *_ep, void *buf, dma_addr_t dma,
++ unsigned bytes)
++{
++ kfree (buf);
++}
++
++/*-------------------------------------------------------------------------*/
++
++/*
++ * done - retire a request; caller blocked irqs
++ */
++static void done(struct pxa27x_ep *ep, struct pxa27x_request *req, int status)
++{
++ list_del_init(&req->queue);
++ if (likely (req->req.status == -EINPROGRESS))
++ req->req.status = status;
++ else
++ status = req->req.status;
++
++ if (status && status != -ESHUTDOWN)
++ DBG(DBG_VERBOSE, "complete %s req %p stat %d len %u/%u\n",
++ ep->ep.name, &req->req, status,
++ req->req.actual, req->req.length);
++
++ /* don't modify queue heads during completion callback */
++ req->req.complete(&ep->ep, &req->req);
++}
++
++
++static inline void ep0_idle (struct pxa27x_udc *dev)
++{
++ dev->ep0state = EP0_IDLE;
++ LED_EP0_OFF;
++}
++
++static int
++write_packet(volatile u32 *uddr, struct pxa27x_request *req, unsigned max)
++{
++ u32 *buf;
++ int length, count, remain;
++
++ buf = (u32*)(req->req.buf + req->req.actual);
++ prefetch(buf);
++
++ /* how big will this packet be? */
++ length = min(req->req.length - req->req.actual, max);
++ req->req.actual += length;
++
++ remain = length & 0x3;
++ count = length & ~(0x3);
++
++ while (likely(count)) {
++ *uddr = *buf++;
++ count -= 4;
++ }
++
++ if (remain) {
++ volatile u8* reg=(u8*)uddr;
++ char *rd =(u8*)buf;
++
++ while (remain--) {
++ *reg=*rd++;
++ }
++ }
++
++ return length;
++}
++
++/*
++ * write to an IN endpoint fifo, as many packets as possible.
++ * irqs will use this to write the rest later.
++ * caller guarantees at least one packet buffer is ready (or a zlp).
++ */
++static int
++write_fifo (struct pxa27x_ep *ep, struct pxa27x_request *req)
++{
++ unsigned max;
++
++ max = le16_to_cpu(ep->desc->wMaxPacketSize);
++ do {
++ int count;
++ int is_last, is_short;
++
++ count = write_packet(ep->reg_udcdr, req, max);
++
++ /* last packet is usually short (or a zlp) */
++ if (unlikely (count != max))
++ is_last = is_short = 1;
++ else {
++ if (likely(req->req.length != req->req.actual)
++ || req->req.zero)
++ is_last = 0;
++ else
++ is_last = 1;
++ /* interrupt/iso maxpacket may not fill the fifo */
++ is_short = unlikely (max < ep->fifo_size);
++ }
++
++ DMSG("wrote %s count:%d bytes%s%s %d left %p\n",
++ ep->ep.name, count,
++ is_last ? "/L" : "", is_short ? "/S" : "",
++ req->req.length - req->req.actual, &req->req);
++
++ /* let loose that packet. maybe try writing another one,
++ * double buffering might work. TSP, TPC, and TFS
++ * bit values are the same for all normal IN endpoints.
++ */
++ *ep->reg_udccsr = UDCCSR_PC;
++ if (is_short)
++ *ep->reg_udccsr = UDCCSR_SP;
++
++ /* requests complete when all IN data is in the FIFO */
++ if (is_last) {
++ done (ep, req, 0);
++ if (list_empty(&ep->queue) || unlikely(ep->dma >= 0)) {
++ pio_irq_disable (ep->ep_num);
++#ifdef USE_DMA
++ /* unaligned data and zlps couldn't use dma */
++ if (unlikely(!list_empty(&ep->queue))) {
++ req = list_entry(ep->queue.next,
++ struct pxa27x_request, queue);
++ kick_dma(ep,req);
++ return 0;
++ }
++#endif
++ }
++ return 1;
++ }
++
++ // TODO experiment: how robust can fifo mode tweaking be?
++ // double buffering is off in the default fifo mode, which
++ // prevents TFS from being set here.
++
++ } while (*ep->reg_udccsr & UDCCSR_FS);
++ return 0;
++}
++
++/* caller asserts req->pending (ep0 irq status nyet cleared); starts
++ * ep0 data stage. these chips want very simple state transitions.
++ */
++static inline
++void ep0start(struct pxa27x_udc *dev, u32 flags, const char *tag)
++{
++ UDCCSR0 = flags|UDCCSR0_SA|UDCCSR0_OPC;
++ UDCISR0 = UDCICR_INT(0, UDC_INT_FIFOERROR | UDC_INT_PACKETCMP);
++ dev->req_pending = 0;
++ DBG(DBG_VERY_NOISY, "%s %s, %02x/%02x\n",
++ __FUNCTION__, tag, UDCCSR0, flags);
++}
++
++static int
++write_ep0_fifo (struct pxa27x_ep *ep, struct pxa27x_request *req)
++{
++ unsigned count;
++ int is_short;
++
++ count = write_packet(&UDCDR0, req, EP0_FIFO_SIZE);
++ ep->dev->stats.write.bytes += count;
++
++ /* last packet "must be" short (or a zlp) */
++ is_short = (count != EP0_FIFO_SIZE);
++
++ DBG(DBG_VERY_NOISY, "ep0in %d bytes %d left %p\n", count,
++ req->req.length - req->req.actual, &req->req);
++
++ if (unlikely (is_short)) {
++ if (ep->dev->req_pending)
++ ep0start(ep->dev, UDCCSR0_IPR, "short IN");
++ else
++ UDCCSR0 = UDCCSR0_IPR;
++
++ count = req->req.length;
++ done (ep, req, 0);
++ ep0_idle(ep->dev);
++#if 0
++ /* This seems to get rid of lost status irqs in some cases:
++ * host responds quickly, or next request involves config
++ * change automagic, or should have been hidden, or ...
++ *
++ * FIXME get rid of all udelays possible...
++ */
++ if (count >= EP0_FIFO_SIZE) {
++ count = 100;
++ do {
++ if ((UDCCSR0 & UDCCSR0_OPC) != 0) {
++ /* clear OPC, generate ack */
++ UDCCSR0 = UDCCSR0_OPC;
++ break;
++ }
++ count--;
++ udelay(1);
++ } while (count);
++ }
++#endif
++ } else if (ep->dev->req_pending)
++ ep0start(ep->dev, 0, "IN");
++ return is_short;
++}
++
++
++/*
++ * read_fifo - unload packet(s) from the fifo we use for usb OUT
++ * transfers and put them into the request. caller should have made
++ * sure there's at least one packet ready.
++ *
++ * returns true if the request completed because of short packet or the
++ * request buffer having filled (and maybe overran till end-of-packet).
++ */
++static int
++read_fifo (struct pxa27x_ep *ep, struct pxa27x_request *req)
++{
++ for (;;) {
++ u32 *buf;
++ int bufferspace, count, is_short;
++
++ /* make sure there's a packet in the FIFO.*/
++ if (unlikely ((*ep->reg_udccsr & UDCCSR_PC) == 0))
++ break;
++ buf =(u32*) (req->req.buf + req->req.actual);
++ prefetchw(buf);
++ bufferspace = req->req.length - req->req.actual;
++
++ /* read all bytes from this packet */
++ if (likely (*ep->reg_udccsr & UDCCSR_BNE)) {
++ count = 0x3ff & *ep->reg_udcbcr;
++ req->req.actual += min (count, bufferspace);
++ } else /* zlp */
++ count = 0;
++
++ is_short = (count < ep->ep.maxpacket);
++ DMSG("read %s udccsr:%02x, count:%d bytes%s req %p %d/%d\n",
++ ep->ep.name, *ep->reg_udccsr, count,
++ is_short ? "/S" : "",
++ &req->req, req->req.actual, req->req.length);
++
++// dump_regs(ep->ep_num );
++ count = min(count, bufferspace);
++ while (likely (count > 0)) {
++ *buf++ = *ep->reg_udcdr;
++ count -= 4;
++ }
++ DMSG("Buf:0x%p\n", req->req.buf);
++
++ *ep->reg_udccsr = UDCCSR_PC;
++ /* RPC/RSP/RNE could now reflect the other packet buffer */
++
++ /* completion */
++ if (is_short || req->req.actual == req->req.length) {
++ done (ep, req, 0);
++ if (list_empty(&ep->queue))
++ pio_irq_disable (ep->ep_num);
++ return 1;
++ }
++
++ /* finished that packet. the next one may be waiting... */
++ }
++ return 0;
++}
++
++/*
++ * special ep0 version of the above. no UBCR0 or double buffering; status
++ * handshaking is magic. most device protocols don't need control-OUT.
++ * CDC vendor commands (and RNDIS), mass storage CB/CBI, and some other
++ * protocols do use them.
++ */
++static int
++read_ep0_fifo (struct pxa27x_ep *ep, struct pxa27x_request *req)
++{
++ u32 *buf, word;
++ unsigned bufferspace;
++
++ buf = (u32*) (req->req.buf + req->req.actual);
++ bufferspace = req->req.length - req->req.actual;
++
++ while (UDCCSR0 & UDCCSR0_RNE) {
++ word = UDCDR0;
++
++ if (unlikely (bufferspace == 0)) {
++ /* this happens when the driver's buffer
++ * is smaller than what the host sent.
++ * discard the extra data.
++ */
++ if (req->req.status != -EOVERFLOW)
++ DMSG("%s overflow\n", ep->ep.name);
++ req->req.status = -EOVERFLOW;
++ } else {
++ *buf++ = word;
++ req->req.actual += 4;
++ bufferspace -= 4;
++ }
++ }
++
++ UDCCSR0 = UDCCSR0_OPC ;
++
++ /* completion */
++ if (req->req.actual >= req->req.length)
++ return 1;
++
++ /* finished that packet. the next one may be waiting... */
++ return 0;
++}
++
++#ifdef USE_DMA
++
++#define MAX_IN_DMA ((DCMD_LENGTH + 1) - BULK_FIFO_SIZE)
++static void kick_dma(struct pxa27x_ep *ep, struct pxa27x_request *req)
++{
++ u32 dcmd = 0;
++ u32 len = req->req.length;
++ u32 buf = req->req.dma;
++ u32 fifo = io_v2p ((u32)ep->reg_udcdr);
++
++ buf += req->req.actual;
++ len -= req->req.actual;
++ ep->dma_con = 0;
++
++ DMSG("%s: req:0x%p length:%d, actual:%d dma:%d\n",
++ __FUNCTION__, &req->req, req->req.length,
++ req->req.actual,ep->dma);
++
++ /* no-descriptor mode can be simple for bulk-in, iso-in, iso-out */
++ DCSR(ep->dma) = DCSR_NODESC;
++ if (buf & 0x3)
++ DALGN |= 1 << ep->dma;
++ else
++ DALGN &= ~(1 << ep->dma);
++
++ if (ep->dir_in) {
++ DSADR(ep->dma) = buf;
++ DTADR(ep->dma) = fifo;
++ if (len > MAX_IN_DMA) {
++ len= MAX_IN_DMA;
++ ep->dma_con =1 ;
++ } else if (len >= ep->ep.maxpacket) {
++ if ((ep->dma_con = (len % ep->ep.maxpacket) != 0))
++ len = ep->ep.maxpacket;
++ }
++ dcmd = len | DCMD_BURST32 | DCMD_WIDTH4 | DCMD_ENDIRQEN
++ | DCMD_FLOWTRG | DCMD_INCSRCADDR;
++ } else {
++ DSADR(ep->dma) = fifo;
++ DTADR(ep->dma) = buf;
++ dcmd = len | DCMD_BURST32 | DCMD_WIDTH4 | DCMD_ENDIRQEN
++ | DCMD_FLOWSRC | DCMD_INCTRGADDR;
++ }
++ *ep->reg_udccsr = UDCCSR_DME;
++ DCMD(ep->dma) = dcmd;
++ DCSR(ep->dma) = DCSR_NODESC | DCSR_EORIRQEN \
++ | ((ep->dir_in) ? DCSR_STOPIRQEN : 0);
++ *ep->reg_drcmr = ep->dma | DRCMR_MAPVLD;
++ DCSR(ep->dma) |= DCSR_RUN;
++}
++
++static void cancel_dma(struct pxa27x_ep *ep)
++{
++ struct pxa27x_request *req;
++ u32 tmp;
++
++ if (DCSR(ep->dma) == 0 || list_empty(&ep->queue))
++ return;
++
++ DMSG("hehe dma:%d,dcsr:0x%x\n", ep->dma, DCSR(ep->dma));
++ DCSR(ep->dma) = 0;
++ while ((DCSR(ep->dma) & DCSR_STOPSTATE) == 0)
++ cpu_relax();
++
++ req = list_entry(ep->queue.next, struct pxa27x_request, queue);
++ tmp = DCMD(ep->dma) & DCMD_LENGTH;
++ req->req.actual = req->req.length - tmp;
++
++ /* the last tx packet may be incomplete, so flush the fifo.
++ * FIXME correct req.actual if we can
++ */
++ *ep->reg_udccsr = UDCCSR_FEF;
++}
++
++static void dma_nodesc_handler(int dmach, void *_ep)
++{
++ struct pxa27x_ep *ep = _ep;
++ struct pxa27x_request *req, *req_next;
++ u32 dcsr, tmp, completed;
++
++ local_irq_disable();
++
++ req = list_entry(ep->queue.next, struct pxa27x_request, queue);
++
++ DMSG("%s, buf:0x%p\n",__FUNCTION__, req->req.buf);
++
++ ep->dma_irqs++;
++ ep->dev->stats.irqs++;
++ HEX_DISPLAY(ep->dev->stats.irqs);
++
++ completed = 0;
++
++ dcsr = DCSR(dmach);
++ DCSR(ep->dma) &= ~DCSR_RUN;
++
++ if (dcsr & DCSR_BUSERR) {
++ DCSR(dmach) = DCSR_BUSERR;
++ printk(KERN_ERR " Buss Error\n");
++ req->req.status = -EIO;
++ completed = 1;
++ } else if (dcsr & DCSR_ENDINTR) {
++ DCSR(dmach) = DCSR_ENDINTR;
++ if (ep->dir_in) {
++ tmp = req->req.length - req->req.actual;
++ /* Last packet is a short one*/
++ if ( tmp < ep->ep.maxpacket) {
++ int count = 0;
++
++ *ep->reg_udccsr = UDCCSR_SP | \
++ (*ep->reg_udccsr & UDCCSR_MASK);
++ /*Wait for packet out */
++ while( (count++ < 10000) && \
++ !(*ep->reg_udccsr & UDCCSR_FS));
++ if (count >= 10000)
++ DMSG("Failed to send packet\n");
++ else
++ DMSG("%s: short packet sent len:%d,"
++ "length:%d,actual:%d\n", __FUNCTION__,
++ tmp, req->req.length, req->req.actual);
++ req->req.actual = req->req.length;
++ completed = 1;
++ /* There are still packets to transfer */
++ } else if ( ep->dma_con) {
++ DMSG("%s: more packets,length:%d,actual:%d\n",
++ __FUNCTION__,req->req.length,
++ req->req.actual);
++ req->req.actual += ep->ep.maxpacket;
++ completed = 0;
++ } else {
++ DMSG("%s: no more packets,length:%d,"
++ "actual:%d\n", __FUNCTION__,
++ req->req.length, req->req.actual);
++ req->req.actual = req->req.length;
++ completed = 1;
++ }
++ } else {
++ req->req.actual = req->req.length;
++ completed = 1;
++ }
++ } else if (dcsr & DCSR_EORINTR) { //Only happened in OUT DMA
++ int remain,udccsr ;
++
++ DCSR(dmach) = DCSR_EORINTR;
++ remain = DCMD(dmach) & DCMD_LENGTH;
++ req->req.actual = req->req.length - remain;
++
++ udccsr = *ep->reg_udccsr;
++ if (udccsr & UDCCSR_SP) {
++ *ep->reg_udccsr = UDCCSR_PC | (udccsr & UDCCSR_MASK);
++ completed = 1;
++ }
++ DMSG("%s: length:%d actual:%d\n",
++ __FUNCTION__, req->req.length, req->req.actual);
++ } else
++ DMSG("%s: Others dma:%d DCSR:0x%x DCMD:0x%x\n",
++ __FUNCTION__, dmach, DCSR(dmach), DCMD(dmach));
++
++ if (likely(completed)) {
++ if (req->queue.next != &ep->queue) {
++ req_next = list_entry(req->queue.next,
++ struct pxa27x_request, queue);
++ kick_dma(ep, req_next);
++ }
++ done(ep, req, 0);
++ } else {
++ kick_dma(ep, req);
++ }
++
++ local_irq_enable();
++}
++
++#endif
++/*-------------------------------------------------------------------------*/
++
++static int
++pxa27x_ep_queue(struct usb_ep *_ep, struct usb_request *_req, unsigned gfp_flags)
++{
++ struct pxa27x_ep *ep;
++ struct pxa27x_request *req;
++ struct pxa27x_udc *dev;
++ unsigned long flags;
++
++ req = container_of(_req, struct pxa27x_request, req);
++ if (unlikely (!_req || !_req->complete || !_req->buf||
++ !list_empty(&req->queue))) {
++ DMSG("%s, bad params\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ ep = container_of(_ep, struct pxa27x_ep, ep);
++ if (unlikely (!_ep || (!ep->desc && ep->ep.name != ep0name))) {
++ DMSG("%s, bad ep\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ DMSG("%s, ep point %d is queue\n", __FUNCTION__, ep->ep_num);
++
++ dev = ep->dev;
++ if (unlikely (!dev->driver
++ || dev->gadget.speed == USB_SPEED_UNKNOWN)) {
++ DMSG("%s, bogus device state\n", __FUNCTION__);
++ return -ESHUTDOWN;
++ }
++
++ /* iso is always one packet per request, that's the only way
++ * we can report per-packet status. that also helps with dma.
++ */
++ if (unlikely (ep->ep_type == USB_ENDPOINT_XFER_ISOC
++ && req->req.length > le16_to_cpu
++ (ep->desc->wMaxPacketSize)))
++ return -EMSGSIZE;
++
++#ifdef USE_DMA
++ // FIXME caller may already have done the dma mapping
++ if (ep->dma >= 0) {
++ _req->dma = dma_map_single(dev->dev, _req->buf, _req->length,
++ (ep->dir_in) ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
++ }
++#endif
++
++ DBG(DBG_NOISY, "%s queue req %p, len %d buf %p\n",
++ _ep->name, _req, _req->length, _req->buf);
++
++ local_irq_save(flags);
++
++ _req->status = -EINPROGRESS;
++ _req->actual = 0;
++
++ /* kickstart this i/o queue? */
++ if (list_empty(&ep->queue) && !ep->stopped) {
++ if (ep->desc == 0 /* ep0 */) {
++ unsigned length = _req->length;
++
++ switch (dev->ep0state) {
++ case EP0_IN_DATA_PHASE:
++ dev->stats.write.ops++;
++ if (write_ep0_fifo(ep, req))
++ req = 0;
++ break;
++
++ case EP0_OUT_DATA_PHASE:
++ dev->stats.read.ops++;
++ if (dev->req_pending)
++ ep0start(dev, UDCCSR0_IPR, "OUT");
++ if (length == 0 || ((UDCCSR0 & UDCCSR0_RNE) != 0
++ && read_ep0_fifo(ep, req))) {
++ ep0_idle(dev);
++ done(ep, req, 0);
++ req = 0;
++ }
++ break;
++ case EP0_NO_ACTION:
++ ep0_idle(dev);
++ req=0;
++ break;
++ default:
++ DMSG("ep0 i/o, odd state %d\n", dev->ep0state);
++ local_irq_restore (flags);
++ return -EL2HLT;
++ }
++#ifdef USE_DMA
++ /* either start dma or prime pio pump */
++ } else if (ep->dma >= 0) {
++ kick_dma(ep, req);
++#endif
++ /* can the FIFO can satisfy the request immediately? */
++ } else if (ep->dir_in
++ && (*ep->reg_udccsr & UDCCSR_FS) != 0
++ && write_fifo(ep, req)) {
++ req = 0;
++ } else if ((*ep->reg_udccsr & UDCCSR_FS) != 0
++ && read_fifo(ep, req)) {
++ req = 0;
++ }
++ DMSG("req:%p,ep->desc:%p,ep->dma:%d\n", req, ep->desc, ep->dma);
++ if (likely (req && ep->desc) && ep->dma < 0)
++ pio_irq_enable(ep->ep_num);
++ }
++
++ /* pio or dma irq handler advances the queue. */
++ if (likely (req != 0))
++ list_add_tail(&req->queue, &ep->queue);
++ local_irq_restore(flags);
++
++ return 0;
++}
++
++
++/*
++ * nuke - dequeue ALL requests
++ */
++static void nuke(struct pxa27x_ep *ep, int status)
++{
++ struct pxa27x_request *req;
++
++ /* called with irqs blocked */
++#ifdef USE_DMA
++ if (ep->dma >= 0 && !ep->stopped)
++ cancel_dma(ep);
++#endif
++ while (!list_empty(&ep->queue)) {
++ req = list_entry(ep->queue.next, struct pxa27x_request, queue);
++ done(ep, req, status);
++ }
++ if (ep->desc)
++ pio_irq_disable (ep->ep_num);
++}
++
++
++/* dequeue JUST ONE request */
++static int pxa27x_ep_dequeue(struct usb_ep *_ep, struct usb_request *_req)
++{
++ struct pxa27x_ep *ep;
++ struct pxa27x_request *req;
++ unsigned long flags;
++
++ ep = container_of(_ep, struct pxa27x_ep, ep);
++ if (!_ep || ep->ep.name == ep0name)
++ return -EINVAL;
++
++ local_irq_save(flags);
++
++ /* make sure it's actually queued on this endpoint */
++ list_for_each_entry (req, &ep->queue, queue) {
++ if (&req->req == _req)
++ break;
++ }
++ if (&req->req != _req) {
++ local_irq_restore(flags);
++ return -EINVAL;
++ }
++
++#ifdef USE_DMA
++ if (ep->dma >= 0 && ep->queue.next == &req->queue && !ep->stopped) {
++ cancel_dma(ep);
++ done(ep, req, -ECONNRESET);
++ /* restart i/o */
++ if (!list_empty(&ep->queue)) {
++ req = list_entry(ep->queue.next,
++ struct pxa27x_request, queue);
++ kick_dma(ep, req);
++ }
++ } else
++#endif
++ done(ep, req, -ECONNRESET);
++
++ local_irq_restore(flags);
++ return 0;
++}
++
++/*-------------------------------------------------------------------------*/
++
++static int pxa27x_ep_set_halt(struct usb_ep *_ep, int value)
++{
++ struct pxa27x_ep *ep;
++ unsigned long flags;
++
++ DMSG("%s is called\n", __FUNCTION__);
++ ep = container_of(_ep, struct pxa27x_ep, ep);
++ if (unlikely (!_ep
++ || (!ep->desc && ep->ep.name != ep0name))
++ || ep->ep_type == USB_ENDPOINT_XFER_ISOC) {
++ DMSG("%s, bad ep\n", __FUNCTION__);
++ return -EINVAL;
++ }
++ if (value == 0) {
++ /* this path (reset toggle+halt) is needed to implement
++ * SET_INTERFACE on normal hardware. but it can't be
++ * done from software on the PXA UDC, and the hardware
++ * forgets to do it as part of SET_INTERFACE automagic.
++ */
++ DMSG("only host can clear %s halt\n", _ep->name);
++ return -EROFS;
++ }
++
++ local_irq_save(flags);
++
++ if (ep->dir_in && ((*ep->reg_udccsr & UDCCSR_FS) == 0
++ || !list_empty(&ep->queue))) {
++ local_irq_restore(flags);
++ return -EAGAIN;
++ }
++
++ /* FST bit is the same for control, bulk in, bulk out, interrupt in */
++ *ep->reg_udccsr = UDCCSR_FST|UDCCSR_FEF;
++
++ /* ep0 needs special care */
++ if (!ep->desc) {
++ start_watchdog(ep->dev);
++ ep->dev->req_pending = 0;
++ ep->dev->ep0state = EP0_STALL;
++ LED_EP0_OFF;
++
++ /* and bulk/intr endpoints like dropping stalls too */
++ } else {
++ unsigned i;
++ for (i = 0; i < 1000; i += 20) {
++ if (*ep->reg_udccsr & UDCCSR_SST)
++ break;
++ udelay(20);
++ }
++ }
++ local_irq_restore(flags);
++
++ DBG(DBG_VERBOSE, "%s halt\n", _ep->name);
++ return 0;
++}
++
++static int pxa27x_ep_fifo_status(struct usb_ep *_ep)
++{
++ struct pxa27x_ep *ep;
++
++ ep = container_of(_ep, struct pxa27x_ep, ep);
++ if (!_ep) {
++ DMSG("%s, bad ep\n", __FUNCTION__);
++ return -ENODEV;
++ }
++ /* pxa can't report unclaimed bytes from IN fifos */
++ if (ep->dir_in)
++ return -EOPNOTSUPP;
++ if (ep->dev->gadget.speed == USB_SPEED_UNKNOWN
++ || (*ep->reg_udccsr & UDCCSR_FS) == 0)
++ return 0;
++ else
++ return (*ep->reg_udcbcr & 0xfff) + 1;
++}
++
++static void pxa27x_ep_fifo_flush(struct usb_ep *_ep)
++{
++ struct pxa27x_ep *ep;
++
++ ep = container_of(_ep, struct pxa27x_ep, ep);
++ if (!_ep || ep->ep.name == ep0name || !list_empty(&ep->queue)) {
++ DMSG("%s, bad ep\n", __FUNCTION__);
++ return;
++ }
++
++ /* toggle and halt bits stay unchanged */
++
++ /* for OUT, just read and discard the FIFO contents. */
++ if (!ep->dir_in) {
++ while (((*ep->reg_udccsr) & UDCCSR_BNE) != 0)
++ (void) *ep->reg_udcdr;
++ return;
++ }
++
++ /* most IN status is the same, but ISO can't stall */
++ *ep->reg_udccsr = UDCCSR_PC|UDCCSR_FST|UDCCSR_TRN
++ | (ep->ep_type == USB_ENDPOINT_XFER_ISOC)
++ ? 0 : UDCCSR_SST;
++}
++
++
++static struct usb_ep_ops pxa27x_ep_ops = {
++ .enable = pxa27x_ep_enable,
++ .disable = pxa27x_ep_disable,
++
++ .alloc_request = pxa27x_ep_alloc_request,
++ .free_request = pxa27x_ep_free_request,
++
++ .alloc_buffer = pxa27x_ep_alloc_buffer,
++ .free_buffer = pxa27x_ep_free_buffer,
++
++ .queue = pxa27x_ep_queue,
++ .dequeue = pxa27x_ep_dequeue,
++
++ .set_halt = pxa27x_ep_set_halt,
++ .fifo_status = pxa27x_ep_fifo_status,
++ .fifo_flush = pxa27x_ep_fifo_flush,
++};
++
++
++/* ---------------------------------------------------------------------------
++ * device-scoped parts of the api to the usb controller hardware
++ * ---------------------------------------------------------------------------
++ */
++
++static int pxa27x_udc_get_frame(struct usb_gadget *_gadget)
++{
++ return (UDCFNR & 0x3FF);
++}
++
++static int pxa27x_udc_wakeup(struct usb_gadget *_gadget)
++{
++ /* host may not have enabled remote wakeup */
++ if ((UDCCR & UDCCR_DWRE) == 0)
++ return -EHOSTUNREACH;
++ udc_set_mask_UDCCR(UDCCR_UDR);
++ return 0;
++}
++
++static const struct usb_gadget_ops pxa27x_udc_ops = {
++ .get_frame = pxa27x_udc_get_frame,
++ .wakeup = pxa27x_udc_wakeup,
++ // current versions must always be self-powered
++};
++
++
++/*-------------------------------------------------------------------------*/
++
++#ifdef UDC_PROC_FILE
++
++static const char proc_node_name [] = "driver/udc";
++
++static int
++udc_proc_read(char *page, char **start, off_t off, int count,
++ int *eof, void *_dev)
++{
++ char *buf = page;
++ struct pxa27x_udc *dev = _dev;
++ char *next = buf;
++ unsigned size = count;
++ unsigned long flags;
++ int i, t;
++ u32 tmp;
++
++ if (off != 0)
++ return 0;
++
++ local_irq_save(flags);
++
++ /* basic device status */
++ t = scnprintf(next, size, DRIVER_DESC "\n"
++ "%s version: %s\nGadget driver: %s\n",
++ driver_name, DRIVER_VERSION SIZE_STR DMASTR,
++ dev->driver ? dev->driver->driver.name : "(none)");
++ size -= t;
++ next += t;
++
++ /* registers for device and ep0 */
++ t = scnprintf(next, size,
++ "uicr %02X.%02X, usir %02X.%02x, ufnr %02X\n",
++ UDCICR1, UDCICR0, UDCISR1, UDCISR0, UDCFNR);
++ size -= t;
++ next += t;
++
++ tmp = UDCCR;
++ t = scnprintf(next, size,"udccr %02X =%s%s%s%s%s%s%s%s%s%s, con=%d,inter=%d,altinter=%d\n", tmp,
++ (tmp & UDCCR_OEN) ? " oen":"",
++ (tmp & UDCCR_AALTHNP) ? " aalthnp":"",
++ (tmp & UDCCR_AHNP) ? " rem" : "",
++ (tmp & UDCCR_BHNP) ? " rstir" : "",
++ (tmp & UDCCR_DWRE) ? " dwre" : "",
++ (tmp & UDCCR_SMAC) ? " smac" : "",
++ (tmp & UDCCR_EMCE) ? " emce" : "",
++ (tmp & UDCCR_UDR) ? " udr" : "",
++ (tmp & UDCCR_UDA) ? " uda" : "",
++ (tmp & UDCCR_UDE) ? " ude" : "",
++ (tmp & UDCCR_ACN) >> UDCCR_ACN_S,
++ (tmp & UDCCR_AIN) >> UDCCR_AIN_S,
++ (tmp & UDCCR_AAISN)>> UDCCR_AAISN_S );
++
++ size -= t;
++ next += t;
++
++ tmp = UDCCSR0;
++ t = scnprintf(next, size,
++ "udccsr0 %02X =%s%s%s%s%s%s%s\n", tmp,
++ (tmp & UDCCSR0_SA) ? " sa" : "",
++ (tmp & UDCCSR0_RNE) ? " rne" : "",
++ (tmp & UDCCSR0_FST) ? " fst" : "",
++ (tmp & UDCCSR0_SST) ? " sst" : "",
++ (tmp & UDCCSR0_DME) ? " dme" : "",
++ (tmp & UDCCSR0_IPR) ? " ipr" : "",
++ (tmp & UDCCSR0_OPC) ? " opc" : "");
++ size -= t;
++ next += t;
++
++ if (!dev->driver)
++ goto done;
++
++ t = scnprintf(next, size, "ep0 IN %lu/%lu, OUT %lu/%lu\nirqs %lu\n\n",
++ dev->stats.write.bytes, dev->stats.write.ops,
++ dev->stats.read.bytes, dev->stats.read.ops,
++ dev->stats.irqs);
++ size -= t;
++ next += t;
++
++ /* dump endpoint queues */
++ for (i = 0; i < UDC_EP_NUM; i++) {
++ struct pxa27x_ep *ep = &dev->ep [i];
++ struct pxa27x_request *req;
++ int t;
++
++ if (i != 0) {
++ const struct usb_endpoint_descriptor *d;
++
++ d = ep->desc;
++ if (!d)
++ continue;
++ tmp = *dev->ep [i].reg_udccsr;
++ t = scnprintf(next, size,
++ "%s max %d %s udccs %02x udccr:0x%x\n",
++ ep->ep.name, le16_to_cpu (d->wMaxPacketSize),
++ (ep->dma >= 0) ? "dma" : "pio", tmp,
++ *dev->ep[i].reg_udccr);
++ /* TODO translate all five groups of udccs bits! */
++
++ } else /* ep0 should only have one transfer queued */
++ t = scnprintf(next, size, "ep0 max 16 pio irqs %lu\n",
++ ep->pio_irqs);
++ if (t <= 0 || t > size)
++ goto done;
++ size -= t;
++ next += t;
++
++ if (list_empty(&ep->queue)) {
++ t = scnprintf(next, size, "\t(nothing queued)\n");
++ if (t <= 0 || t > size)
++ goto done;
++ size -= t;
++ next += t;
++ continue;
++ }
++ list_for_each_entry(req, &ep->queue, queue) {
++#ifdef USE_DMA
++ if (ep->dma >= 0 && req->queue.prev == &ep->queue)
++ t = scnprintf(next, size,
++ "\treq %p len %d/%d "
++ "buf %p (dma%d dcmd %08x)\n",
++ &req->req, req->req.actual,
++ req->req.length, req->req.buf,
++ ep->dma, DCMD(ep->dma)
++ // low 13 bits == bytes-to-go
++ );
++ else
++#endif
++ t = scnprintf(next, size,
++ "\treq %p len %d/%d buf %p\n",
++ &req->req, req->req.actual,
++ req->req.length, req->req.buf);
++ if (t <= 0 || t > size)
++ goto done;
++ size -= t;
++ next += t;
++ }
++ }
++
++done:
++ local_irq_restore(flags);
++ *eof = 1;
++ return count - size;
++}
++
++#define create_proc_files() \
++ create_proc_read_entry(proc_node_name, 0, NULL, udc_proc_read, dev)
++#define remove_proc_files() \
++ remove_proc_entry(proc_node_name, NULL)
++
++#else /* !UDC_PROC_FILE */
++#define create_proc_files() do {} while (0)
++#define remove_proc_files() do {} while (0)
++
++#endif /* UDC_PROC_FILE */
++
++/* "function" sysfs attribute */
++static ssize_t
++show_function (struct device *_dev, struct device_attribute *attr, char *buf)
++{
++ struct pxa27x_udc *dev = dev_get_drvdata (_dev);
++
++ if (!dev->driver
++ || !dev->driver->function
++ || strlen (dev->driver->function) > PAGE_SIZE)
++ return 0;
++ return scnprintf (buf, PAGE_SIZE, "%s\n", dev->driver->function);
++}
++static DEVICE_ATTR (function, S_IRUGO, show_function, NULL);
++
++/*-------------------------------------------------------------------------*/
++
++/*
++ * udc_disable - disable USB device controller
++ */
++static void udc_disable(struct pxa27x_udc *dev)
++{
++ UDCICR0 = UDCICR1 = 0x00000000;
++
++ udc_clear_mask_UDCCR(UDCCR_UDE);
++
++ /* Disable clock for USB device */
++ pxa_set_cken(CKEN11_USB, 0);
++
++ ep0_idle (dev);
++ dev->gadget.speed = USB_SPEED_UNKNOWN;
++ LED_CONNECTED_OFF;
++ if (dev->mach->udc_command)
++ dev->mach->udc_command(PXA2XX_UDC_CMD_DISCONNECT);
++}
++
++
++/*
++ * udc_reinit - initialize software state
++ */
++static void udc_reinit(struct pxa27x_udc *dev)
++{
++ u32 i;
++
++ dev->ep0state = EP0_IDLE;
++
++ /* basic endpoint records init */
++ for (i = 0; i < UDC_EP_NUM; i++) {
++ struct pxa27x_ep *ep = &dev->ep[i];
++
++ ep->stopped = 0;
++ ep->pio_irqs = ep->dma_irqs = 0;
++ }
++ dev->configuration = 0;
++ dev->interface = 0;
++ dev->alternate = 0;
++ /* the rest was statically initialized, and is read-only */
++}
++
++/* until it's enabled, this UDC should be completely invisible
++ * to any USB host.
++ */
++static void udc_enable (struct pxa27x_udc *dev)
++{
++ udc_clear_mask_UDCCR(UDCCR_UDE);
++
++ // MST_MSCWR2 &= ~(MST_MSCWR2_nUSBC_SC);
++
++ /* Enable clock for USB device */
++ pxa_set_cken(CKEN11_USB, 1);
++
++ UDCICR0 = UDCICR1 = 0;
++
++ ep0_idle(dev);
++ dev->gadget.speed = USB_SPEED_FULL;
++ dev->stats.irqs = 0;
++
++ udc_set_mask_UDCCR(UDCCR_UDE);
++ udelay (2);
++ if (UDCCR & UDCCR_EMCE)
++ {
++ printk(KERN_ERR ": There are error in configuration, udc disabled\n");
++ }
++
++ /* caller must be able to sleep in order to cope
++ * with startup transients.
++ */
++ msleep(100);
++
++ /* enable suspend/resume and reset irqs */
++ UDCICR1 = UDCICR1_IECC | UDCICR1_IERU | UDCICR1_IESU | UDCICR1_IERS;
++
++ /* enable ep0 irqs */
++ UDCICR0 = UDCICR_INT(0,UDCICR_INT_MASK);
++#if 0
++ for(i=1; i < UDC_EP_NUM; i++) {
++ if (dev->ep[i].assigned)
++ pio_irq_enable(i);
++ }
++#endif
++ if (dev->mach->udc_command)
++ dev->mach->udc_command(PXA2XX_UDC_CMD_CONNECT);
++}
++
++
++/* when a driver is successfully registered, it will receive
++ * control requests including set_configuration(), which enables
++ * non-control requests. then usb traffic follows until a
++ * disconnect is reported. then a host may connect again, or
++ * the driver might get unbound.
++ */
++int usb_gadget_register_driver(struct usb_gadget_driver *driver)
++{
++ struct pxa27x_udc *dev = the_controller;
++ int retval;
++#if 0
++ DMSG("dev=0x%x, driver=0x%x, speed=%d,"
++ "bind=0x%x, unbind=0x%x, disconnect=0x%x, setup=0x%x\n",
++ (unsigned)dev, (unsigned)driver, driver->speed,
++ (unsigned)driver->bind, (unsigned)driver->unbind,
++ (unsigned)driver->disconnect, (unsigned)driver->setup);
++#endif
++ if (!driver || driver->speed != USB_SPEED_FULL
++ || !driver->bind
++ || !driver->unbind
++ || !driver->disconnect
++ || !driver->setup)
++ return -EINVAL;
++ if (!dev)
++ return -ENODEV;
++ if (dev->driver)
++ return -EBUSY;
++
++ /* first hook up the driver ... */
++ dev->driver = driver;
++ dev->gadget.dev.driver = &driver->driver;
++
++ device_add (&dev->gadget.dev);
++ retval = driver->bind(&dev->gadget);
++ if (retval) {
++ DMSG("bind to driver %s --> error %d\n",
++ driver->driver.name, retval);
++ device_del (&dev->gadget.dev);
++
++ dev->driver = 0;
++ dev->gadget.dev.driver = 0;
++ return retval;
++ }
++ device_create_file(dev->dev, &dev_attr_function);
++
++ /* ... then enable host detection and ep0; and we're ready
++ * for set_configuration as well as eventual disconnect.
++ * NOTE: this shouldn't power up until later.
++ */
++ DMSG("registered gadget driver '%s'\n", driver->driver.name);
++ udc_enable(dev);
++ dump_state(dev);
++ return 0;
++}
++EXPORT_SYMBOL(usb_gadget_register_driver);
++
++static void
++stop_activity(struct pxa27x_udc *dev, struct usb_gadget_driver *driver)
++{
++ int i;
++
++ DMSG("Trace path 1\n");
++ /* don't disconnect drivers more than once */
++ if (dev->gadget.speed == USB_SPEED_UNKNOWN)
++ driver = 0;
++ dev->gadget.speed = USB_SPEED_UNKNOWN;
++
++ /* prevent new request submissions, kill any outstanding requests */
++ for (i = 0; i < UDC_EP_NUM; i++) {
++ struct pxa27x_ep *ep = &dev->ep[i];
++
++ ep->stopped = 1;
++ nuke(ep, -ESHUTDOWN);
++ }
++ del_timer_sync(&dev->timer);
++
++ /* report disconnect; the driver is already quiesced */
++ if (driver)
++ driver->disconnect(&dev->gadget);
++
++ /* re-init driver-visible data structures */
++ udc_reinit(dev);
++}
++
++int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
++{
++ struct pxa27x_udc *dev = the_controller;
++
++ if (!dev)
++ return -ENODEV;
++ if (!driver || driver != dev->driver)
++ return -EINVAL;
++
++ local_irq_disable();
++ udc_disable(dev);
++ stop_activity(dev, driver);
++ local_irq_enable();
++
++ driver->unbind(&dev->gadget);
++ dev->driver = 0;
++
++ device_del (&dev->gadget.dev);
++ device_remove_file(dev->dev, &dev_attr_function);
++
++ DMSG("unregistered gadget driver '%s'\n", driver->driver.name);
++ dump_state(dev);
++ return 0;
++}
++EXPORT_SYMBOL(usb_gadget_unregister_driver);
++
++#ifndef enable_disconnect_irq
++#define enable_disconnect_irq() do {} while (0)
++#define disable_disconnect_irq() do {} while (0)
++#endif
++
++
++/*-------------------------------------------------------------------------*/
++
++static inline void clear_ep_state (struct pxa27x_udc *dev)
++{
++ unsigned i;
++
++ /* hardware SET_{CONFIGURATION,INTERFACE} automagic resets endpoint
++ * fifos, and pending transactions mustn't be continued in any case.
++ */
++ for (i = 1; i < UDC_EP_NUM; i++)
++ nuke(&dev->ep[i], -ECONNABORTED);
++}
++
++static void udc_watchdog(unsigned long _dev)
++{
++ struct pxa27x_udc *dev = (void *)_dev;
++
++ local_irq_disable();
++ if (dev->ep0state == EP0_STALL
++ && (UDCCSR0 & UDCCSR0_FST) == 0
++ && (UDCCSR0 & UDCCSR0_SST) == 0) {
++ UDCCSR0 = UDCCSR0_FST|UDCCSR0_FTF;
++ DBG(DBG_VERBOSE, "ep0 re-stall\n");
++ start_watchdog(dev);
++ }
++ local_irq_enable();
++}
++
++static void handle_ep0 (struct pxa27x_udc *dev)
++{
++ u32 udccsr0 = UDCCSR0;
++ struct pxa27x_ep *ep = &dev->ep [0];
++ struct pxa27x_request *req;
++ union {
++ struct usb_ctrlrequest r;
++ u8 raw [8];
++ u32 word [2];
++ } u;
++
++ if (list_empty(&ep->queue))
++ req = 0;
++ else
++ req = list_entry(ep->queue.next, struct pxa27x_request, queue);
++
++ /* clear stall status */
++ if (udccsr0 & UDCCSR0_SST) {
++ nuke(ep, -EPIPE);
++ UDCCSR0 = UDCCSR0_SST;
++ del_timer(&dev->timer);
++ ep0_idle(dev);
++ }
++
++ /* previous request unfinished? non-error iff back-to-back ... */
++ if ((udccsr0 & UDCCSR0_SA) != 0 && dev->ep0state != EP0_IDLE) {
++ nuke(ep, 0);
++ del_timer(&dev->timer);
++ ep0_idle(dev);
++ }
++
++ switch (dev->ep0state) {
++ case EP0_NO_ACTION:
++ printk(KERN_INFO"%s: Busy\n", __FUNCTION__);
++ /*Fall through */
++ case EP0_IDLE:
++ /* late-breaking status? */
++ udccsr0 = UDCCSR0;
++
++ /* start control request? */
++ if (likely((udccsr0 & (UDCCSR0_OPC|UDCCSR0_SA|UDCCSR0_RNE))
++ == (UDCCSR0_OPC|UDCCSR0_SA|UDCCSR0_RNE))) {
++ int i;
++
++ nuke (ep, -EPROTO);
++ /* read SETUP packet */
++ for (i = 0; i < 2; i++) {
++ if (unlikely(!(UDCCSR0 & UDCCSR0_RNE))) {
++bad_setup:
++ DMSG("SETUP %d!\n", i);
++ goto stall;
++ }
++ u.word [i] = UDCDR0;
++ }
++ if (unlikely((UDCCSR0 & UDCCSR0_RNE) != 0))
++ goto bad_setup;
++
++ le16_to_cpus (&u.r.wValue);
++ le16_to_cpus (&u.r.wIndex);
++ le16_to_cpus (&u.r.wLength);
++
++ LED_EP0_ON;
++
++ DBG(DBG_VERBOSE, "SETUP %02x.%02x v%04x i%04x l%04x\n",
++ u.r.bRequestType, u.r.bRequest,
++ u.r.wValue, u.r.wIndex, u.r.wLength);
++ /* cope with automagic for some standard requests. */
++ dev->req_std = (u.r.bRequestType & USB_TYPE_MASK)
++ == USB_TYPE_STANDARD;
++ dev->req_config = 0;
++ dev->req_pending = 1;
++#if 0
++ switch (u.r.bRequest) {
++ /* hardware was supposed to hide this */
++ case USB_REQ_SET_CONFIGURATION:
++ case USB_REQ_SET_INTERFACE:
++ case USB_REQ_SET_ADDRESS:
++ printk(KERN_ERR "Should not come here\n");
++ break;
++ }
++
++#endif
++ if (u.r.bRequestType & USB_DIR_IN)
++ dev->ep0state = EP0_IN_DATA_PHASE;
++ else
++ dev->ep0state = EP0_OUT_DATA_PHASE;
++ i = dev->driver->setup(&dev->gadget, &u.r);
++
++ if (i < 0) {
++ /* hardware automagic preventing STALL... */
++ if (dev->req_config) {
++ /* hardware sometimes neglects to tell
++ * tell us about config change events,
++ * so later ones may fail...
++ */
++ WARN("config change %02x fail %d?\n",
++ u.r.bRequest, i);
++ return;
++ /* TODO experiment: if has_cfr,
++ * hardware didn't ACK; maybe we
++ * could actually STALL!
++ */
++ }
++ DBG(DBG_VERBOSE, "protocol STALL, "
++ "%02x err %d\n", UDCCSR0, i);
++stall:
++ /* the watchdog timer helps deal with cases
++ * where udc seems to clear FST wrongly, and
++ * then NAKs instead of STALLing.
++ */
++ ep0start(dev, UDCCSR0_FST|UDCCSR0_FTF, "stall");
++ start_watchdog(dev);
++ dev->ep0state = EP0_STALL;
++ LED_EP0_OFF;
++
++ /* deferred i/o == no response yet */
++ } else if (dev->req_pending) {
++ if (likely(dev->ep0state == EP0_IN_DATA_PHASE
++ || dev->req_std || u.r.wLength))
++ ep0start(dev, 0, "defer");
++ else
++ ep0start(dev, UDCCSR0_IPR, "defer/IPR");
++ }
++
++ /* expect at least one data or status stage irq */
++ return;
++
++ } else {
++ /* some random early IRQ:
++ * - we acked FST
++ * - IPR cleared
++ * - OPC got set, without SA (likely status stage)
++ */
++ UDCCSR0 = udccsr0 & (UDCCSR0_SA|UDCCSR0_OPC);
++ }
++ break;
++ case EP0_IN_DATA_PHASE: /* GET_DESCRIPTOR etc */
++ if (udccsr0 & UDCCSR0_OPC) {
++ UDCCSR0 = UDCCSR0_OPC|UDCCSR0_FTF;
++ DBG(DBG_VERBOSE, "ep0in premature status\n");
++ if (req)
++ done(ep, req, 0);
++ ep0_idle(dev);
++ } else /* irq was IPR clearing */ {
++ if (req) {
++ /* this IN packet might finish the request */
++ (void) write_ep0_fifo(ep, req);
++ } /* else IN token before response was written */
++ }
++ break;
++ case EP0_OUT_DATA_PHASE: /* SET_DESCRIPTOR etc */
++ if (udccsr0 & UDCCSR0_OPC) {
++ if (req) {
++ /* this OUT packet might finish the request */
++ if (read_ep0_fifo(ep, req))
++ done(ep, req, 0);
++ /* else more OUT packets expected */
++ } /* else OUT token before read was issued */
++ } else /* irq was IPR clearing */ {
++ DBG(DBG_VERBOSE, "ep0out premature status\n");
++ if (req)
++ done(ep, req, 0);
++ ep0_idle(dev);
++ }
++ break;
++ case EP0_STALL:
++ UDCCSR0 = UDCCSR0_FST;
++ break;
++ }
++ UDCISR0 = UDCISR_INT(0, UDCISR_INT_MASK);
++}
++
++
++static void handle_ep(struct pxa27x_ep *ep)
++{
++ struct pxa27x_request *req;
++ int completed;
++ u32 udccsr=0;
++
++ DMSG("%s is called\n", __FUNCTION__);
++ do {
++ completed = 0;
++ if (likely (!list_empty(&ep->queue))) {
++ req = list_entry(ep->queue.next,
++ struct pxa27x_request, queue);
++ } else
++ req = 0;
++
++// udccsr = *ep->reg_udccsr;
++ DMSG("%s: req:%p, udcisr0:0x%x udccsr %p:0x%x\n", __FUNCTION__,
++ req, UDCISR0, ep->reg_udccsr, *ep->reg_udccsr);
++ if (unlikely(ep->dir_in)) {
++ udccsr = (UDCCSR_SST | UDCCSR_TRN) & *ep->reg_udccsr;
++ if (unlikely (udccsr))
++ *ep->reg_udccsr = udccsr;
++
++ if (req && likely ((*ep->reg_udccsr & UDCCSR_FS) != 0))
++ completed = write_fifo(ep, req);
++
++ } else {
++ udccsr = (UDCCSR_SST | UDCCSR_TRN) & *ep->reg_udccsr;
++ if (unlikely(udccsr))
++ *ep->reg_udccsr = udccsr;
++
++ /* fifos can hold packets, ready for reading... */
++ if (likely(req)) {
++ completed = read_fifo(ep, req);
++ } else {
++ pio_irq_disable (ep->ep_num);
++ *ep->reg_udccsr = UDCCSR_FEF;
++ DMSG("%s: no req for out data\n",
++ __FUNCTION__);
++ }
++ }
++ ep->pio_irqs++;
++ } while (completed);
++}
++
++static void pxa27x_change_configuration (struct pxa27x_udc *dev)
++{
++ struct usb_ctrlrequest req ;
++
++ req.bRequestType = 0;
++ req.bRequest = USB_REQ_SET_CONFIGURATION;
++ req.wValue = dev->configuration;
++ req.wIndex = 0;
++ req.wLength = 0;
++
++ dev->ep0state = EP0_NO_ACTION;
++ dev->driver->setup(&dev->gadget, &req);
++
++}
++
++static void pxa27x_change_interface (struct pxa27x_udc *dev)
++{
++ struct usb_ctrlrequest req;
++
++ req.bRequestType = USB_RECIP_INTERFACE;
++ req.bRequest = USB_REQ_SET_INTERFACE;
++ req.wValue = dev->alternate;
++ req.wIndex = dev->interface;
++ req.wLength = 0;
++
++ dev->ep0state = EP0_NO_ACTION;
++ dev->driver->setup(&dev->gadget, &req);
++}
++
++/*
++ * pxa27x_udc_irq - interrupt handler
++ *
++ * avoid delays in ep0 processing. the control handshaking isn't always
++ * under software control (pxa250c0 and the pxa255 are better), and delays
++ * could cause usb protocol errors.
++ */
++static irqreturn_t
++pxa27x_udc_irq(int irq, void *_dev)
++{
++ struct pxa27x_udc *dev = _dev;
++ int handled;
++
++ dev->stats.irqs++;
++ HEX_DISPLAY(dev->stats.irqs);
++
++// printk("\n");
++ DBG(DBG_VERBOSE, "Interrupt, UDCISR0:0x%08x, UDCISR1:0x%08x, "
++ "UDCCR:0x%08x\n", UDCISR0, UDCISR1, UDCCR);
++ do {
++ u32 udcir = UDCISR1 & 0xF8000000;
++
++ handled = 0;
++
++ /* SUSpend Interrupt Request */
++ if (unlikely(udcir & UDCISR1_IRSU)) {
++ UDCISR1 = UDCISR1_IRSU;
++ handled = 1;
++ DBG(DBG_VERBOSE, "USB suspend\n");
++ if (dev->gadget.speed != USB_SPEED_UNKNOWN
++ && dev->driver
++ && dev->driver->suspend)
++ dev->driver->suspend(&dev->gadget);
++ ep0_idle (dev);
++ }
++
++ /* RESume Interrupt Request */
++ if (unlikely(udcir & UDCISR1_IRRU)) {
++ UDCISR1 = UDCISR1_IRRU;
++ handled = 1;
++ DBG(DBG_VERBOSE, "USB resume\n");
++
++ if (dev->gadget.speed != USB_SPEED_UNKNOWN
++ && dev->driver
++ && dev->driver->resume)
++ dev->driver->resume(&dev->gadget);
++ }
++
++ if (unlikely(udcir & UDCISR1_IRCC)) {
++ unsigned config, interface, alternate;
++
++ handled = 1;
++ DBG(DBG_VERBOSE, "USB SET_CONFIGURATION or "
++ "SET_INTERFACE command received\n");
++
++ UDCCR |= UDCCR_SMAC;
++
++ config = (UDCCR & UDCCR_ACN) >> UDCCR_ACN_S;
++
++ if (dev->configuration != config) {
++ dev->configuration = config;
++ pxa27x_change_configuration(dev) ;
++ }
++
++ interface = (UDCCR & UDCCR_AIN) >> UDCCR_AIN_S;
++ alternate = (UDCCR & UDCCR_AAISN) >> UDCCR_AAISN_S;
++
++ if ( (dev->configuration != interface) || \
++ (dev->alternate != alternate)){
++ dev->interface = config;
++ dev->alternate = alternate;
++ pxa27x_change_interface(dev);
++ }
++
++ UDCISR1 = UDCISR1_IRCC;
++ DMSG("%s: con:%d,inter:%d,alt:%d\n",
++ __FUNCTION__, config,interface, alternate);
++ }
++
++ /* ReSeT Interrupt Request - USB reset */
++ if (unlikely(udcir & UDCISR1_IRRS)) {
++ UDCISR1 = UDCISR1_IRRS;
++ handled = 1;
++
++ if ((UDCCR & UDCCR_UDA) == 0) {
++ DBG(DBG_VERBOSE, "USB reset start\n");
++
++ /* reset driver and endpoints,
++ * in case that's not yet done
++ */
++ stop_activity (dev, dev->driver);
++
++ }
++ INFO("USB reset\n");
++ dev->gadget.speed = USB_SPEED_FULL;
++ memset(&dev->stats, 0, sizeof dev->stats);
++
++ } else {
++ u32 udcisr0 = UDCISR0 ;
++ u32 udcisr1 = UDCISR1 & 0xFFFF;
++ int i;
++
++ if (unlikely (!udcisr0 && !udcisr1))
++ continue;
++
++ DBG(DBG_VERY_NOISY, "irq %02x.%02x\n", udcisr1,udcisr0);
++
++ /* control traffic */
++ if (udcisr0 & UDCISR0_IR0) {
++ dev->ep[0].pio_irqs++;
++ handle_ep0(dev);
++ handled = 1;
++ }
++
++ udcisr0 >>= 2;
++ /* endpoint data transfers */
++ for (i = 1; udcisr0!=0 && i < 16; udcisr0>>=2,i++) {
++ UDCISR0 = UDCISR_INT(i, UDCISR_INT_MASK);
++
++ if (udcisr0 & UDC_INT_FIFOERROR)
++ printk(KERN_ERR" Endpoint %d Fifo error\n", i);
++ if (udcisr0 & UDC_INT_PACKETCMP) {
++ handle_ep(&dev->ep[i]);
++ handled = 1;
++ }
++
++ }
++
++ for (i = 0; udcisr1!=0 && i < 8; udcisr1 >>= 2, i++) {
++ UDCISR1 = UDCISR_INT(i, UDCISR_INT_MASK);
++
++ if (udcisr1 & UDC_INT_FIFOERROR) {
++ printk(KERN_ERR" Endpoint %d fifo error\n", (i+16));
++ }
++
++ if (udcisr1 & UDC_INT_PACKETCMP) {
++ handle_ep(&dev->ep[i+16]);
++ handled = 1;
++ }
++ }
++ }
++
++ /* we could also ask for 1 msec SOF (SIR) interrupts */
++
++ } while (handled);
++ return IRQ_HANDLED;
++}
++
++static inline void validate_fifo_size(struct pxa27x_ep *pxa_ep, u8 bmAttributes)
++{
++ switch (bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
++ case USB_ENDPOINT_XFER_CONTROL:
++ pxa_ep->fifo_size = EP0_FIFO_SIZE;
++ break;
++ case USB_ENDPOINT_XFER_ISOC:
++ pxa_ep->fifo_size = ISO_FIFO_SIZE;
++ break;
++ case USB_ENDPOINT_XFER_BULK:
++ pxa_ep->fifo_size = BULK_FIFO_SIZE;
++ break;
++ case USB_ENDPOINT_XFER_INT:
++ pxa_ep->fifo_size = INT_FIFO_SIZE;
++ break;
++ default:
++ break;
++ }
++}
++
++static void udc_init_ep(struct pxa27x_udc *dev)
++{
++ int i;
++
++ INIT_LIST_HEAD (&dev->gadget.ep_list);
++ INIT_LIST_HEAD (&dev->gadget.ep0->ep_list);
++
++ for (i = 0; i < UDC_EP_NUM; i++) {
++ struct pxa27x_ep *ep = &dev->ep[i];
++
++ ep->dma = -1;
++ if (i != 0) {
++ memset(ep, 0, sizeof(*ep));
++ }
++ INIT_LIST_HEAD (&ep->queue);
++ }
++}
++#define NAME_SIZE 18
++
++struct usb_ep* pxa27x_ep_config(
++ struct usb_gadget *gadget,
++ struct usb_endpoint_descriptor *desc,
++ int config, int interface, int alt
++)
++{
++ u32 tmp ;
++ unsigned i;
++ char* name;
++ struct usb_ep * ep = NULL;
++ struct pxa27x_ep *pxa_ep = NULL;
++ struct pxa27x_udc *dev = the_controller;
++
++ DMSG("pxa27x_config_ep is called\n");
++ DMSG(" usb endpoint descriptor is:\n"
++ " bLength:%d\n"
++ " bDescriptorType:%x\n"
++ " bEndpointAddress:%x\n"
++ " bmAttributes:%x\n"
++ " wMaxPacketSize:%d\n",
++ desc->bLength,
++ desc->bDescriptorType,desc->bEndpointAddress,
++ desc->bmAttributes,desc->wMaxPacketSize);
++
++ for (i = 1; i < UDC_EP_NUM; i++) {
++ if(!dev->ep[i].assigned) {
++ pxa_ep = &dev->ep[i];
++ pxa_ep->assigned = 1;
++ pxa_ep->ep_num = i;
++ break;
++ }
++ }
++ if (unlikely(i == UDC_EP_NUM)) {
++ printk(KERN_ERR __FILE__ ": Failed to find a spare endpoint\n");
++ return ep;
++ }
++
++
++ ep = &pxa_ep->ep;
++
++ pxa_ep->dev = dev;
++ pxa_ep->desc = desc;
++ pxa_ep->pio_irqs = pxa_ep->dma_irqs = 0;
++ pxa_ep->dma = -1;
++
++ if (!(desc->bEndpointAddress & 0xF))
++ desc->bEndpointAddress |= i;
++
++ if (!(desc->wMaxPacketSize)) {
++ validate_fifo_size(pxa_ep, desc->bmAttributes);
++ desc->wMaxPacketSize = pxa_ep->fifo_size;
++ } else
++ pxa_ep->fifo_size = desc->wMaxPacketSize;
++
++ pxa_ep->dir_in = (desc->bEndpointAddress & USB_DIR_IN) ? 1 : 0;
++ pxa_ep->ep_type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
++ pxa_ep->stopped = 1;
++ pxa_ep->dma_con = 0;
++ pxa_ep->config = config;
++ pxa_ep->interface = interface;
++ pxa_ep->aisn = alt;
++
++ pxa_ep->reg_udccsr = &UDCCSR0 + i;
++ pxa_ep->reg_udcbcr = &UDCBCR0 + i;
++ pxa_ep->reg_udcdr = &UDCDR0 + i ;
++ pxa_ep->reg_udccr = &UDCCRA - 1 + i;
++#ifdef USE_DMA
++ pxa_ep->reg_drcmr = &DRCMR24 + i;
++#endif
++
++#if 0
++ DMSG("udccsr=0x%8x, udcbcr=0x%8x, udcdr=0x%8x,"
++ "udccr0=0x%8x\n",
++ (unsigned)pxa_ep->reg_udccsr,
++ (unsigned)pxa_ep->reg_udcbcr,
++ (unsigned)pxa_ep->reg_udcdr,
++ (unsigned)pxa_ep->reg_udccr);
++#endif
++ /* Configure UDCCR */
++ tmp = 0;
++ tmp |= (pxa_ep->config << UDCCONR_CN_S) & UDCCONR_CN;
++ tmp |= (pxa_ep->interface << UDCCONR_IN_S) & UDCCONR_IN;
++ tmp |= (pxa_ep->aisn << UDCCONR_AISN_S) & UDCCONR_AISN;
++ tmp |= (desc->bEndpointAddress << UDCCONR_EN_S) & UDCCONR_EN;
++ tmp |= (pxa_ep->ep_type << UDCCONR_ET_S) & UDCCONR_ET;
++ tmp |= (pxa_ep->dir_in) ? UDCCONR_ED : 0;
++ tmp |= (min(pxa_ep->fifo_size, (unsigned)desc->wMaxPacketSize) \
++ << UDCCONR_MPS_S ) & UDCCONR_MPS;
++ tmp |= UDCCONR_DE | UDCCONR_EE;
++// tmp |= UDCCONR_EE;
++
++ *pxa_ep->reg_udccr = tmp;
++
++#ifdef USE_DMA
++ /* Only BULK use DMA */
++ if ((pxa_ep->ep_type & USB_ENDPOINT_XFERTYPE_MASK)\
++ == USB_ENDPOINT_XFER_BULK)
++ *pxa_ep->reg_udccsr = UDCCSR_DME;
++#endif
++
++ DMSG("UDCCR: 0x%p is 0x%x\n", pxa_ep->reg_udccr,*pxa_ep->reg_udccr);
++
++ /* Fill ep name*/
++ name = kmalloc(NAME_SIZE, GFP_KERNEL);
++ if (!name) {
++ printk(KERN_ERR "%s: Error\n", __FUNCTION__);
++ return NULL;
++ }
++
++ switch (pxa_ep->ep_type) {
++ case USB_ENDPOINT_XFER_BULK:
++ sprintf(name, "Bulk-%s-%d", (pxa_ep->dir_in ? "in":"out"), i);
++ break;
++ case USB_ENDPOINT_XFER_INT:
++ sprintf(name, "Interrupt-%s-%d", (pxa_ep->dir_in ? \
++ "in":"out"), i);
++ break;
++ default:
++ sprintf(name, "endpoint-%s-%d", (pxa_ep->dir_in ? \
++ "in":"out"), i);
++ break;
++ }
++ ep->name = name;
++
++ ep->ops = &pxa27x_ep_ops;
++ ep->maxpacket = min((ushort)pxa_ep->fifo_size, desc->wMaxPacketSize);
++
++ list_add_tail (&ep->ep_list, &gadget->ep_list);
++ return ep;
++}
++
++EXPORT_SYMBOL(pxa27x_ep_config);
++
++/*-------------------------------------------------------------------------*/
++
++static void nop_release (struct device *dev)
++{
++ DMSG("%s %s\n", __FUNCTION__, dev->bus_id);
++}
++
++/* this uses load-time allocation and initialization (instead of
++ * doing it at run-time) to save code, eliminate fault paths, and
++ * be more obviously correct.
++ */
++static struct pxa27x_udc memory = {
++ .gadget = {
++ .ops = &pxa27x_udc_ops,
++ .ep0 = &memory.ep[0].ep,
++ .name = driver_name,
++ .dev = {
++ .bus_id = "gadget",
++ .release = nop_release,
++ },
++ },
++
++ /* control endpoint */
++ .ep[0] = {
++ .ep = {
++ .name = ep0name,
++ .ops = &pxa27x_ep_ops,
++ .maxpacket = EP0_FIFO_SIZE,
++ },
++ .dev = &memory,
++ .reg_udccsr = &UDCCSR0,
++ .reg_udcdr = &UDCDR0,
++ }
++};
++
++#define CP15R0_VENDOR_MASK 0xffffe000
++
++#define CP15R0_XSCALE_VALUE 0x69054000 /* intel/arm/xscale */
++
++/*
++ * probe - binds to the platform device
++ */
++static int __init pxa27x_udc_probe(struct platform_device *_dev)
++{
++ struct pxa27x_udc *dev = &memory;
++ int retval;
++ u32 chiprev;
++
++ /* insist on Intel/ARM/XScale */
++ asm("mrc%? p15, 0, %0, c0, c0" : "=r" (chiprev));
++ if ((chiprev & CP15R0_VENDOR_MASK) != CP15R0_XSCALE_VALUE) {
++ printk(KERN_ERR "%s: not XScale!\n", driver_name);
++ return -ENODEV;
++ }
++ /* other non-static parts of init */
++ dev->dev = &_dev->dev;
++ dev->mach = _dev->dev.platform_data;
++
++ init_timer(&dev->timer);
++ dev->timer.function = udc_watchdog;
++ dev->timer.data = (unsigned long) dev;
++
++ device_initialize(&dev->gadget.dev);
++ dev->gadget.dev.parent = &_dev->dev;
++ dev->gadget.dev.dma_mask = _dev->dev.dma_mask;
++
++ the_controller = dev;
++ platform_set_drvdata(_dev, dev);
++
++ udc_disable(dev);
++ udc_init_ep(dev);
++ udc_reinit(dev);
++
++ /* irq setup after old hardware state is cleaned up */
++ retval = request_irq(IRQ_USB, pxa27x_udc_irq,
++ SA_INTERRUPT, driver_name, dev);
++ if (retval != 0) {
++ printk(KERN_ERR "%s: can't get irq %i, err %d\n",
++ driver_name, IRQ_USB, retval);
++ return -EBUSY;
++ }
++ dev->got_irq = 1;
++
++ create_proc_files();
++
++ return 0;
++}
++
++static int __exit pxa27x_udc_remove(struct platform_device *_dev)
++{
++ struct pxa27x_udc *dev = (struct pxa27x_udc*)platform_get_drvdata(_dev);
++
++ udc_disable(dev);
++ remove_proc_files();
++ usb_gadget_unregister_driver(dev->driver);
++
++ if (dev->got_irq) {
++ free_irq(IRQ_USB, dev);
++ dev->got_irq = 0;
++ }
++ if (machine_is_lubbock() && dev->got_disc) {
++ free_irq(LUBBOCK_USB_DISC_IRQ, dev);
++ dev->got_disc = 0;
++ }
++ platform_set_drvdata(_dev, 0);
++ the_controller = 0;
++ return 0;
++}
++
++#ifdef CONFIG_PM
++static void pxa27x_udc_shutdown(struct platform_device *_dev)
++{
++ struct pxa27x_udc *dev = (struct pxa27x_udc*)platform_get_drvdata(_dev);
++
++ udc_disable(dev);
++}
++
++static int pxa27x_udc_suspend(struct platform_device *_dev, pm_message_t state)
++{
++ int i;
++ struct pxa27x_udc *dev = (struct pxa27x_udc*)platform_get_drvdata(_dev);
++
++ DMSG("%s is called\n", __FUNCTION__);
++ dev->udccsr0 = UDCCSR0;
++ for(i=1; (i<UDC_EP_NUM); i++) {
++ if (dev->ep[i].assigned) {
++ struct pxa27x_ep *ep = &dev->ep[i];
++
++ ep->udccsr_value = *ep->reg_udccsr;
++ ep->udccr_value = *ep->reg_udccr;
++ DMSG("EP%d, udccsr:0x%x, udccr:0x%x\n",
++ i, *ep->reg_udccsr, *ep->reg_udccr);
++ }
++ }
++
++ udc_clear_mask_UDCCR(UDCCR_UDE);
++ pxa_set_cken(CKEN11_USB, 0);
++ // MST_MSCWR2 |= MST_MSCWR2_nUSBC_SC;
++
++ return 0;
++}
++
++static int pxa27x_udc_resume(struct platform_device *_dev)
++{
++ int i;
++ struct pxa27x_udc *dev = (struct pxa27x_udc*)platform_get_drvdata(_dev);
++
++ DMSG("%s is called\n", __FUNCTION__);
++
++ UDCCSR0 = dev->udccsr0 & (UDCCSR0_FST | UDCCSR0_DME);
++ for (i=1; i < UDC_EP_NUM; i++) {
++ if (dev->ep[i].assigned) {
++ struct pxa27x_ep *ep = &dev->ep[i];
++
++ *ep->reg_udccsr = ep->udccsr_value;
++ *ep->reg_udccr = ep->udccr_value;
++ DMSG("EP%d, udccsr:0x%x, udccr:0x%x\n",
++ i, *ep->reg_udccsr, *ep->reg_udccr);
++ }
++ }
++ udc_enable(dev);
++ /* OTGPH bit is set when sleep mode is entered.
++ * it indicates that OTG pad is retaining its state.
++ * Upon exit from sleep mode and before clearing OTGPH,
++ * Software must configure the USB OTG pad, UDC, and UHC
++ * to the state they were in before entering sleep mode.*/
++ PSSR |= PSSR_OTGPH;
++ return 0;
++}
++#endif
++
++/*-------------------------------------------------------------------------*/
++
++static struct platform_driver udc_driver = {
++ .driver = {
++ .name = "pxa2xx-udc",
++ },
++ .probe = pxa27x_udc_probe,
++ .remove = __exit_p(pxa27x_udc_remove),
++
++#ifdef CONFIG_PM
++ // FIXME power management support
++ .shutdown = pxa27x_udc_shutdown,
++ .suspend = pxa27x_udc_suspend,
++ .resume = pxa27x_udc_resume
++#endif
++};
++
++static int __init udc_init(void)
++{
++ printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION);
++ return platform_driver_register(&udc_driver);
++}
++module_init(udc_init);
++
++static void __exit udc_exit(void)
++{
++ platform_driver_unregister(&udc_driver);
++}
++module_exit(udc_exit);
++
++MODULE_DESCRIPTION(DRIVER_DESC);
++MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell");
++MODULE_LICENSE("GPL");
++
+Index: linux-2.6.21gum/drivers/usb/gadget/pxa27x_udc.h
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/usb/gadget/pxa27x_udc.h
+@@ -0,0 +1,332 @@
++/*
++ * linux/drivers/usb/gadget/pxa27x_udc.h
++ * Intel PXA27x on-chip full speed USB device controller
++ *
++ * Copyright (C) 2003 Robert Schwebel <r.schwebel@pengutronix.de>, Pengutronix
++ * Copyright (C) 2003 David Brownell
++ * Copyright (C) 2004 Intel Corporation
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++#ifndef __LINUX_USB_GADGET_PXA27X_H
++#define __LINUX_USB_GADGET_PXA27X_H
++
++#include <linux/types.h>
++
++struct pxa27x_udc;
++
++struct pxa27x_ep {
++ struct usb_ep ep;
++ struct pxa27x_udc *dev;
++
++ const struct usb_endpoint_descriptor *desc;
++ struct list_head queue;
++ unsigned long pio_irqs;
++ unsigned long dma_irqs;
++
++ int dma;
++ unsigned fifo_size;
++ unsigned ep_num;
++ unsigned ep_type;
++
++ unsigned stopped : 1;
++ unsigned dma_con : 1;
++ unsigned dir_in : 1;
++ unsigned assigned : 1;
++
++ unsigned config;
++ unsigned interface;
++ unsigned aisn;
++ /* UDCCSR = UDC Control/Status Register for this EP
++ * UBCR = UDC Byte Count Remaining (contents of OUT fifo)
++ * UDCDR = UDC Endpoint Data Register (the fifo)
++ * UDCCR = UDC Endpoint Configuration Registers
++ * DRCM = DMA Request Channel Map
++ */
++ volatile u32 *reg_udccsr;
++ volatile u32 *reg_udcbcr;
++ volatile u32 *reg_udcdr;
++ volatile u32 *reg_udccr;
++#ifdef USE_DMA
++ volatile u32 *reg_drcmr;
++#define drcmr(n) .reg_drcmr = & DRCMR ## n ,
++#else
++#define drcmr(n)
++#endif
++
++#ifdef CONFIG_PM
++ unsigned udccsr_value;
++ unsigned udccr_value;
++#endif
++};
++
++struct pxa27x_request {
++ struct usb_request req;
++ struct list_head queue;
++};
++
++enum ep0_state {
++ EP0_IDLE,
++ EP0_IN_DATA_PHASE,
++ EP0_OUT_DATA_PHASE,
++// EP0_END_XFER,
++ EP0_STALL,
++ EP0_NO_ACTION
++};
++
++#define EP0_FIFO_SIZE ((unsigned)16)
++#define BULK_FIFO_SIZE ((unsigned)64)
++#define ISO_FIFO_SIZE ((unsigned)256)
++#define INT_FIFO_SIZE ((unsigned)8)
++
++struct udc_stats {
++ struct ep0stats {
++ unsigned long ops;
++ unsigned long bytes;
++ } read, write;
++ unsigned long irqs;
++};
++
++#ifdef CONFIG_USB_PXA27X_SMALL
++/* when memory's tight, SMALL config saves code+data. */
++//#undef USE_DMA
++//#define UDC_EP_NUM 3
++#endif
++
++#ifndef UDC_EP_NUM
++#define UDC_EP_NUM 24
++#endif
++
++struct pxa27x_udc {
++ struct usb_gadget gadget;
++ struct usb_gadget_driver *driver;
++
++ enum ep0_state ep0state;
++ struct udc_stats stats;
++ unsigned got_irq : 1,
++ got_disc : 1,
++ has_cfr : 1,
++ req_pending : 1,
++ req_std : 1,
++ req_config : 1;
++
++#define start_watchdog(dev) mod_timer(&dev->timer, jiffies + (HZ/200))
++ struct timer_list timer;
++
++ struct device *dev;
++ struct pxa2xx_udc_mach_info *mach;
++ u64 dma_mask;
++ struct pxa27x_ep ep [UDC_EP_NUM];
++
++ unsigned configuration,
++ interface,
++ alternate;
++#ifdef CONFIG_PM
++ unsigned udccsr0;
++#endif
++};
++
++/*-------------------------------------------------------------------------*/
++#if 0
++#ifdef DEBUG
++#define HEX_DISPLAY(n) do { \
++ if (machine_is_mainstone())\
++ { MST_LEDDAT1 = (n); } \
++ } while(0)
++
++#define HEX_DISPLAY1(n) HEX_DISPLAY(n)
++
++#define HEX_DISPLAY2(n) do { \
++ if (machine_is_mainstone()) \
++ { MST_LEDDAT2 = (n); } \
++ } while(0)
++
++#endif /* DEBUG */
++#endif
++/*-------------------------------------------------------------------------*/
++
++/* LEDs are only for debug */
++#ifndef HEX_DISPLAY
++#define HEX_DISPLAY(n) do {} while(0)
++#endif
++
++#ifndef LED_CONNECTED_ON
++#define LED_CONNECTED_ON do {} while(0)
++#define LED_CONNECTED_OFF do {} while(0)
++#endif
++#ifndef LED_EP0_ON
++#define LED_EP0_ON do {} while (0)
++#define LED_EP0_OFF do {} while (0)
++#endif
++
++static struct pxa27x_udc *the_controller;
++
++#if 0
++/*-------------------------------------------------------------------------*/
++
++
++/* one GPIO should be used to detect host disconnect */
++static inline int is_usb_connected(void)
++{
++ if (!the_controller->mach->udc_is_connected)
++ return 1;
++ return the_controller->mach->udc_is_connected();
++}
++
++/* one GPIO should force the host to see this device (or not) */
++static inline void make_usb_disappear(void)
++{
++ if (!the_controller->mach->udc_command)
++ return;
++ the_controller->mach->udc_command(PXA27X_UDC_CMD_DISCONNECT);
++}
++
++static inline void let_usb_appear(void)
++{
++ if (!the_controller->mach->udc_command)
++ return;
++ the_controller->mach->udc_command(PXA2XX_UDC_CMD_CONNECT);
++}
++#endif
++
++/*-------------------------------------------------------------------------*/
++
++/*
++ * Debugging support vanishes in non-debug builds. DBG_NORMAL should be
++ * mostly silent during normal use/testing, with no timing side-effects.
++ */
++#define DBG_NORMAL 1 /* error paths, device state transitions */
++#define DBG_VERBOSE 2 /* add some success path trace info */
++#define DBG_NOISY 3 /* ... even more: request level */
++#define DBG_VERY_NOISY 4 /* ... even more: packet level */
++
++#ifdef DEBUG
++
++static const char *state_name[] = {
++ "EP0_IDLE",
++ "EP0_IN_DATA_PHASE", "EP0_OUT_DATA_PHASE",
++ "EP0_END_XFER", "EP0_STALL"
++};
++
++#define DMSG(stuff...) printk(KERN_ERR "udc: " stuff)
++
++#ifdef VERBOSE
++# define UDC_DEBUG DBG_VERBOSE
++#else
++# define UDC_DEBUG DBG_NORMAL
++#endif
++
++static void __attribute__ ((__unused__))
++dump_udccr(const char *label)
++{
++ u32 udccr = UDCCR;
++ DMSG("%s 0x%08x =%s%s%s%s%s%s%s%s%s%s, con=%d,inter=%d,altinter=%d\n",
++ label, udccr,
++ (udccr & UDCCR_OEN) ? " oen":"",
++ (udccr & UDCCR_AALTHNP) ? " aalthnp":"",
++ (udccr & UDCCR_AHNP) ? " rem" : "",
++ (udccr & UDCCR_BHNP) ? " rstir" : "",
++ (udccr & UDCCR_DWRE) ? " dwre" : "",
++ (udccr & UDCCR_SMAC) ? " smac" : "",
++ (udccr & UDCCR_EMCE) ? " emce" : "",
++ (udccr & UDCCR_UDR) ? " udr" : "",
++ (udccr & UDCCR_UDA) ? " uda" : "",
++ (udccr & UDCCR_UDE) ? " ude" : "",
++ (udccr & UDCCR_ACN) >> UDCCR_ACN_S,
++ (udccr & UDCCR_AIN) >> UDCCR_AIN_S,
++ (udccr & UDCCR_AAISN)>> UDCCR_AAISN_S );
++}
++
++static void __attribute__ ((__unused__))
++dump_udccsr0(const char *label)
++{
++ u32 udccsr0 = UDCCSR0;
++
++ DMSG("%s %s 0x%08x =%s%s%s%s%s%s%s\n",
++ label, state_name[the_controller->ep0state], udccsr0,
++ (udccsr0 & UDCCSR0_SA) ? " sa" : "",
++ (udccsr0 & UDCCSR0_RNE) ? " rne" : "",
++ (udccsr0 & UDCCSR0_FST) ? " fst" : "",
++ (udccsr0 & UDCCSR0_SST) ? " sst" : "",
++ (udccsr0 & UDCCSR0_DME) ? " dme" : "",
++ (udccsr0 & UDCCSR0_IPR) ? " ipr" : "",
++ (udccsr0 & UDCCSR0_OPC) ? " opr" : "");
++}
++
++static void __attribute__ ((__unused__))
++dump_state(struct pxa27x_udc *dev)
++{
++ unsigned i;
++
++ DMSG("%s, udcicr %02X.%02X, udcsir %02X.%02x, udcfnr %02X\n",
++ state_name[dev->ep0state],
++ UDCICR1, UDCICR0, UDCISR1, UDCISR0, UDCFNR);
++ dump_udccr("udccr");
++
++ if (!dev->driver) {
++ DMSG("no gadget driver bound\n");
++ return;
++ } else
++ DMSG("ep0 driver '%s'\n", dev->driver->driver.name);
++
++
++ dump_udccsr0 ("udccsr0");
++ DMSG("ep0 IN %lu/%lu, OUT %lu/%lu\n",
++ dev->stats.write.bytes, dev->stats.write.ops,
++ dev->stats.read.bytes, dev->stats.read.ops);
++
++ for (i = 1; i < UDC_EP_NUM; i++) {
++ if (dev->ep [i].desc == 0)
++ continue;
++ DMSG ("udccs%d = %02x\n", i, *dev->ep->reg_udccsr);
++ }
++}
++
++#if 0
++static void dump_regs(u8 ep)
++{
++ DMSG("EP:%d UDCCSR:0x%08x UDCBCR:0x%08x\n UDCCR:0x%08x\n",
++ ep,UDCCSN(ep), UDCBCN(ep), UDCCN(ep));
++}
++static void dump_req (struct pxa27x_request *req)
++{
++ struct usb_request *r = &req->req;
++
++ DMSG("%s: buf:0x%08x length:%d dma:0x%08x actual:%d\n",
++ __FUNCTION__, (unsigned)r->buf, r->length,
++ r->dma, r->actual);
++}
++#endif
++
++#else
++
++#define DMSG(stuff...) do{}while(0)
++
++#define dump_udccr(x) do{}while(0)
++#define dump_udccsr0(x) do{}while(0)
++#define dump_state(x) do{}while(0)
++
++#define UDC_DEBUG ((unsigned)0)
++
++#endif
++
++#define DBG(lvl, stuff...) do{if ((lvl) <= UDC_DEBUG) DMSG(stuff);}while(0)
++
++#define WARN(stuff...) printk(KERN_WARNING "udc: " stuff)
++#define INFO(stuff...) printk(KERN_INFO "udc: " stuff)
++
++
++#endif /* __LINUX_USB_GADGET_PXA27X_H */
diff --git a/packages/linux/gumstix-kernel-2.6.21/arch-config.patch b/packages/linux/gumstix-kernel-2.6.21/arch-config.patch
new file mode 100644
index 0000000000..19a83101d8
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/arch-config.patch
@@ -0,0 +1,62 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/Kconfig
++++ linux-2.6.21gum/arch/arm/mach-pxa/Kconfig
+@@ -5,6 +5,10 @@ menu "Intel PXA2xx Implementations"
+ choice
+ prompt "Select target board"
+
++config ARCH_GUMSTIX
++ bool "Gumstix Platform"
++ depends on ARCH_PXA
++
+ config ARCH_LUBBOCK
+ bool "Intel DBPXA250 Development Platform"
+ select PXA25x
+@@ -116,6 +120,34 @@ config MACH_TOSA
+ bool "Enable Sharp SL-6000x (Tosa) Support"
+ depends on PXA_SHARPSL_25x
+
++choice
++ depends on ARCH_GUMSTIX
++ prompt "Gumstix Platform Version"
++ default ARCH_GUMSTIX_F
++
++config ARCH_GUMSTIX_ORIG
++ bool "Original Gumstix"
++ select PXA25x
++ help
++ The original gumstix platform, including the gs-200x and gs-400x and the waysmall
++ systems using these boards. (Almost nobody has one of these)
++
++config ARCH_GUMSTIX_F
++ bool "Gumstix-F"
++ select PXA25x
++ help
++ The updated Gumstix basix and connex boards with 60-pin connector, and
++ waysmall systems using these boards, including ws-200ax and ws-400ax.
++
++config ARCH_GUMSTIX_VERDEX
++ bool "Gumstix Verdex"
++ select PXA27x
++ help
++ The Gumstix verdex boards with 24, 60, and 120-pin connectors, and
++ computer systems using these boards.
++
++endchoice
++
+ config PXA25x
+ bool
+ help
+Index: linux-2.6.21gum/arch/arm/mach-pxa/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/Makefile
++++ linux-2.6.21gum/arch/arm/mach-pxa/Makefile
+@@ -8,6 +8,7 @@ obj-$(CONFIG_PXA25x) += pxa25x.o
+ obj-$(CONFIG_PXA27x) += pxa27x.o
+
+ # Specific board support
++obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o
+ obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o
+ obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o
+ obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o
diff --git a/packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpu.patch b/packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpu.patch
new file mode 100644
index 0000000000..6621fd0f51
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpu.patch
@@ -0,0 +1,117 @@
+Status: WORKS
+PXA CPU enhancements
+
+from patch 1667:
+- 64K PTEs
+from hh.org-cvs:
+- support in pxa_gpio_mode for active low
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: linux-2.6.21gum/arch/arm/mm/proc-xscale.S
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mm/proc-xscale.S
++++ linux-2.6.21gum/arch/arm/mm/proc-xscale.S
+@@ -474,11 +474,62 @@ ENTRY(cpu_xscale_set_pte_ext)
+ movne r2, #0 @ no -> fault
+
+ str r2, [r0] @ hardware version
++
++ @ We try to map 64K page entries when possible.
++ @ We do that for kernel space only since the usage pattern from
++ @ the setting of VM area is quite simple. User space is not worth
++ @ the implied complexity because of ever randomly changing PTEs
++ @ (page aging, swapout, etc) requiring constant coherency checks.
++ @ Since PTEs are usually set in increasing order, we test the
++ @ possibility for a large page only when given the last PTE of a
++ @ 64K boundary.
++ tsteq r1, #L_PTE_USER
++ andeq r1, r0, #(15 << 2)
++ teqeq r1, #(15 << 2)
++ beq 1f
++
+ mov ip, #0
+ mcr p15, 0, r0, c7, c10, 1 @ Clean D cache line
+ mcr p15, 0, ip, c7, c10, 4 @ Drain Write (& Fill) Buffer
+ mov pc, lr
+
++ @ See if we have 16 identical PTEs but with consecutive base addresses
++1: bic r3, r2, #0x0000f000
++ mov r1, #0x0000f000
++2: eor r2, r2, r3
++ teq r2, r1
++ bne 4f
++ subs r1, r1, #0x00001000
++ ldr r2, [r0, #-4]!
++ bne 2b
++ eors r2, r2, r3
++ bne 4f
++
++ @ Now create our LARGE PTE from the current EXT one.
++ bic r3, r3, #PTE_TYPE_MASK
++ orr r3, r3, #PTE_TYPE_LARGE
++ and r2, r3, #0x30 @ EXT_AP --> LARGE_AP0
++ orr r2, r2, r2, lsl #2 @ add LARGE_AP1
++ orr r2, r2, r2, lsl #4 @ add LARGE_AP3 + LARGE_AP2
++ and r1, r3, #0x3c0 @ EXT_TEX
++ bic r3, r3, #0x3c0
++ orr r2, r2, r1, lsl #(12 - 6) @ --> LARGE_TEX
++ orr r2, r2, r3 @ add remaining bits
++
++ @ then put it in the pagetable
++ mov r3, r2
++3: strd r2, [r0], #8
++ tst r0, #(15 << 2)
++ bne 3b
++
++ @ Then sync the 2 corresponding cache lines
++ sub r0, r0, #(16 << 2)
++ mcr p15, 0, r0, c7, c10, 1 @ Clean D cache line
++4: orr r0, r0, #(15 << 2)
++ mcr p15, 0, r0, c7, c10, 1 @ Clean D cache line
++ mov ip, #0
++ mcr p15, 0, ip, c7, c10, 4 @ Drain Write (& Fill) Buffer
++ mov pc, lr
+
+ .ltorg
+
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/pxa-regs.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/pxa-regs.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/pxa-regs.h
+@@ -1345,6 +1345,7 @@
+ #define GPIO_ALT_FN_2_OUT 0x280
+ #define GPIO_ALT_FN_3_IN 0x300
+ #define GPIO_ALT_FN_3_OUT 0x380
++#define GPIO_ACTIVE_LOW 0x1000
+ #define GPIO_MD_MASK_NR 0x07f
+ #define GPIO_MD_MASK_DIR 0x080
+ #define GPIO_MD_MASK_FN 0x300
+@@ -1597,6 +1598,25 @@
+ #define PWER_GPIO15 PWER_GPIO (15) /* GPIO [15] wake-up enable */
+ #define PWER_RTC 0x80000000 /* RTC alarm wake-up enable */
+
++#define PWER_GPIO(Nb) (1 << Nb) /* GPIO [0..15] wake-up enable */
++#define PWER_GPIO0 PWER_GPIO (0) /* GPIO [0] wake-up enable */
++#define PWER_GPIO1 PWER_GPIO (1) /* GPIO [1] wake-up enable */
++#define PWER_GPIO2 PWER_GPIO (2) /* GPIO [2] wake-up enable */
++#define PWER_GPIO3 PWER_GPIO (3) /* GPIO [3] wake-up enable */
++#define PWER_GPIO4 PWER_GPIO (4) /* GPIO [4] wake-up enable */
++#define PWER_GPIO5 PWER_GPIO (5) /* GPIO [5] wake-up enable */
++#define PWER_GPIO6 PWER_GPIO (6) /* GPIO [6] wake-up enable */
++#define PWER_GPIO7 PWER_GPIO (7) /* GPIO [7] wake-up enable */
++#define PWER_GPIO8 PWER_GPIO (8) /* GPIO [8] wake-up enable */
++#define PWER_GPIO9 PWER_GPIO (9) /* GPIO [9] wake-up enable */
++#define PWER_GPIO10 PWER_GPIO (10) /* GPIO [10] wake-up enable */
++#define PWER_GPIO11 PWER_GPIO (11) /* GPIO [11] wake-up enable */
++#define PWER_GPIO12 PWER_GPIO (12) /* GPIO [12] wake-up enable */
++#define PWER_GPIO13 PWER_GPIO (13) /* GPIO [13] wake-up enable */
++#define PWER_GPIO14 PWER_GPIO (14) /* GPIO [14] wake-up enable */
++#define PWER_GPIO15 PWER_GPIO (15) /* GPIO [15] wake-up enable */
++#define PWER_RTC 0x80000000 /* RTC alarm wake-up enable */
++
+
+ /*
+ * SSP Serial Port Registers
diff --git a/packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpufreq.patch b/packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpufreq.patch
new file mode 100644
index 0000000000..f3d8396a61
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bkpxa-pxa-cpufreq.patch
@@ -0,0 +1,403 @@
+Status: WORKS
+PXA CPU frequency change support
+added mods from Stefan Eletzhofer and Lothar Weissmann
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: linux-2.6.21gum/arch/arm/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/Kconfig
++++ linux-2.6.21gum/arch/arm/Kconfig
+@@ -800,7 +800,7 @@ config KEXEC
+
+ endmenu
+
+-if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX )
++if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA )
+
+ menu "CPU Frequency scaling"
+
+@@ -838,6 +838,12 @@ config CPU_FREQ_IMX
+
+ endmenu
+
++config CPU_FREQ_PXA
++ bool
++ depends on CPU_FREQ && ARCH_PXA
++ default y
++ select CPU_FREQ_DEFAULT_GOV_USERSPACE
++
+ endif
+
+ menu "Floating point emulation"
+Index: linux-2.6.21gum/arch/arm/mach-pxa/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/Makefile
++++ linux-2.6.21gum/arch/arm/mach-pxa/Makefile
+@@ -32,6 +32,7 @@ obj-$(CONFIG_LEDS) += $(led-y)
+ # Misc features
+ obj-$(CONFIG_PM) += pm.o sleep.o
+ obj-$(CONFIG_PXA_SSP) += ssp.o
++obj-$(CONFIG_CPU_FREQ) += cpu-pxa.o
+
+ ifeq ($(CONFIG_PXA27x),y)
+ obj-$(CONFIG_PM) += standby.o
+Index: linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+@@ -0,0 +1,321 @@
++/*
++ * linux/arch/arm/mach-pxa/cpu-pxa.c
++ *
++ * Copyright (C) 2002,2003 Intrinsyc Software
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * History:
++ * 31-Jul-2002 : Initial version [FB]
++ * 29-Jan-2003 : added PXA255 support [FB]
++ * 20-Apr-2003 : ported to v2.5 (Dustin McIntire, Sensoria Corp.)
++ *
++ * Note:
++ * This driver may change the memory bus clock rate, but will not do any
++ * platform specific access timing changes... for example if you have flash
++ * memory connected to CS0, you will need to register a platform specific
++ * notifier which will adjust the memory access strobes to maintain a
++ * minimum strobe width.
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/sched.h>
++#include <linux/init.h>
++#include <linux/cpufreq.h>
++
++#include <asm/hardware.h>
++#include <asm/arch/pxa-regs.h>
++
++#define DEBUG 0
++
++#ifdef DEBUG
++ static unsigned int freq_debug = DEBUG;
++ MODULE_PARM(freq_debug, "i");
++ MODULE_PARM_DESC(freq_debug, "Set the debug messages to on=1/off=0");
++#else
++ #define freq_debug 0
++#endif
++
++typedef struct
++{
++ unsigned int khz;
++ unsigned int membus;
++ unsigned int cccr;
++ unsigned int div2;
++} pxa_freqs_t;
++
++/* Define the refresh period in mSec for the SDRAM and the number of rows */
++#define SDRAM_TREF 64 /* standard 64ms SDRAM */
++#define SDRAM_ROWS 4096 /* 64MB=8192 32MB=4096 */
++#define MDREFR_DRI(x) ((x*SDRAM_TREF)/(SDRAM_ROWS*32))
++
++#define CCLKCFG_TURBO 0x1
++#define CCLKCFG_FCS 0x2
++#define PXA25x_MIN_FREQ 99500
++#define PXA25x_MAX_FREQ 398100
++#define MDREFR_DB2_MASK (MDREFR_K2DB2 | MDREFR_K1DB2)
++#define MDREFR_DRI_MASK 0xFFF
++
++
++/* Use the run mode frequencies for the CPUFREQ_POLICY_PERFORMANCE policy */
++static pxa_freqs_t pxa255_run_freqs[] =
++{
++ /* CPU MEMBUS CCCR DIV2*/
++ { 99500, 99500, 0x121, 1}, /* run= 99, turbo= 99, PXbus=50, SDRAM=50 */
++ {132700, 132700, 0x123, 1}, /* run=133, turbo=133, PXbus=66, SDRAM=66 */
++ {199100, 99500, 0x141, 0}, /* run=199, turbo=199, PXbus=99, SDRAM=99 */
++ {265400, 132700, 0x143, 1}, /* run=265, turbo=265, PXbus=133, SDRAM=66 */
++ {331800, 165900, 0x145, 1}, /* run=331, turbo=331, PXbus=166, SDRAM=83 */
++ {398100, 99500, 0x161, 0}, /* run=398, turbo=398, PXbus=196, SDRAM=99 */
++ {0,}
++};
++#define NUM_RUN_FREQS (sizeof(pxa255_run_freqs)/sizeof(pxa_freqs_t))
++
++static struct cpufreq_frequency_table pxa255_run_freq_table[NUM_RUN_FREQS+1];
++
++/* Use the turbo mode frequencies for the CPUFREQ_POLICY_POWERSAVE policy */
++static pxa_freqs_t pxa255_turbo_freqs[] =
++{
++ /* CPU MEMBUS CCCR DIV2*/
++ { 99500, 99500, 0x121, 1}, /* run=99, turbo= 99, PXbus=50, SDRAM=50 */
++ {199100, 99500, 0x221, 0}, /* run=99, turbo=199, PXbus=50, SDRAM=99 */
++ {298500, 99500, 0x321, 0}, /* run=99, turbo=287, PXbus=50, SDRAM=99 */
++ {298600, 99500, 0x1c1, 0}, /* run=199, turbo=287, PXbus=99, SDRAM=99 */
++ {398100, 99500, 0x241, 0}, /* run=199, turbo=398, PXbus=99, SDRAM=99 */
++ {0,}
++};
++#define NUM_TURBO_FREQS (sizeof(pxa255_turbo_freqs)/sizeof(pxa_freqs_t))
++
++static struct cpufreq_frequency_table pxa255_turbo_freq_table[NUM_TURBO_FREQS+1];
++
++extern unsigned get_clk_frequency_khz(int info);
++
++/* find a valid frequency point */
++static int pxa_verify_policy(struct cpufreq_policy *policy)
++{
++ int ret;
++ struct cpufreq_frequency_table *pxa_freqs_table;
++
++ if(policy->policy == CPUFREQ_POLICY_PERFORMANCE) {
++ pxa_freqs_table = pxa255_run_freq_table;
++ } else if (policy->policy == CPUFREQ_POLICY_POWERSAVE) {
++ pxa_freqs_table = pxa255_turbo_freq_table;
++ } else {
++ printk("CPU PXA: Unknown policy found. "
++ "Using CPUFREQ_POLICY_PERFORMANCE\n");
++ pxa_freqs_table = pxa255_run_freq_table;
++ }
++ ret=cpufreq_frequency_table_verify(policy, pxa_freqs_table);
++
++ if(freq_debug) {
++ printk("Verified CPU policy: %dKhz min to %dKhz max\n",
++ policy->min, policy->max);
++ }
++
++ return ret;
++}
++
++static int pxa_set_target(struct cpufreq_policy *policy,
++ unsigned int target_freq,
++ unsigned int relation)
++{
++ int idx;
++ unsigned long cpus_allowed;
++ int cpu = policy->cpu;
++ struct cpufreq_freqs freqs;
++ pxa_freqs_t *pxa_freq_settings;
++ struct cpufreq_frequency_table *pxa_freqs_table;
++ unsigned long flags;
++ unsigned int unused;
++ unsigned int preset_mdrefr, postset_mdrefr;
++
++ /*
++ * Save this threads cpus_allowed mask.
++ */
++ cpus_allowed = current->cpus_allowed;
++
++ /*
++ * Bind to the specified CPU. When this call returns,
++ * we should be running on the right CPU.
++ */
++ set_cpus_allowed(current, 1 << cpu);
++ BUG_ON(cpu != smp_processor_id());
++
++ /* Get the current policy */
++ if(policy->policy == CPUFREQ_POLICY_PERFORMANCE) {
++ pxa_freq_settings = pxa255_run_freqs;
++ pxa_freqs_table = pxa255_run_freq_table;
++ }else if (policy->policy == CPUFREQ_POLICY_POWERSAVE) {
++ pxa_freq_settings = pxa255_turbo_freqs;
++ pxa_freqs_table = pxa255_turbo_freq_table;
++ }else {
++ printk("CPU PXA: Unknown policy found. "
++ "Using CPUFREQ_POLICY_PERFORMANCE\n");
++ pxa_freq_settings = pxa255_run_freqs;
++ pxa_freqs_table = pxa255_run_freq_table;
++ }
++
++ /* Lookup the next frequency */
++ if (cpufreq_frequency_table_target(policy, pxa_freqs_table,
++ target_freq, relation, &idx)) {
++ return -EINVAL;
++ }
++
++ freqs.old = policy->cur;
++ freqs.new = pxa_freq_settings[idx].khz;
++ freqs.cpu = policy->cpu;
++ if(freq_debug) {
++ printk(KERN_INFO "Changing CPU frequency to %d Mhz, (SDRAM %d Mhz)\n",
++ freqs.new/1000, (pxa_freq_settings[idx].div2) ?
++ (pxa_freq_settings[idx].membus/2000) :
++ (pxa_freq_settings[idx].membus/1000));
++ }
++
++ void *ramstart = phys_to_virt(0xa0000000);
++
++ /*
++ * Tell everyone what we're about to do...
++ * you should add a notify client with any platform specific
++ * Vcc changing capability
++ */
++ cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
++
++ /* Calculate the next MDREFR. If we're slowing down the SDRAM clock
++ * we need to preset the smaller DRI before the change. If we're speeding
++ * up we need to set the larger DRI value after the change.
++ */
++ preset_mdrefr = postset_mdrefr = MDREFR;
++ if((MDREFR & MDREFR_DRI_MASK) > MDREFR_DRI(pxa_freq_settings[idx].membus)) {
++ preset_mdrefr = (preset_mdrefr & ~MDREFR_DRI_MASK) |
++ MDREFR_DRI(pxa_freq_settings[idx].membus);
++ }
++ postset_mdrefr = (postset_mdrefr & ~MDREFR_DRI_MASK) |
++ MDREFR_DRI(pxa_freq_settings[idx].membus);
++
++ /* If we're dividing the memory clock by two for the SDRAM clock, this
++ * must be set prior to the change. Clearing the divide must be done
++ * after the change.
++ */
++ if(pxa_freq_settings[idx].div2) {
++ preset_mdrefr |= MDREFR_DB2_MASK;
++ postset_mdrefr |= MDREFR_DB2_MASK;
++ } else {
++ postset_mdrefr &= ~MDREFR_DB2_MASK;
++ }
++
++ local_irq_save(flags);
++
++ /* Set new the CCCR */
++ CCCR = pxa_freq_settings[idx].cccr;
++
++ __asm__ __volatile__(" \
++ ldr r4, [%1] ; /* load MDREFR */ \
++ b 2f ; \
++ .align 5 ; \
++1: \
++ str %4, [%1] ; /* preset the MDREFR */ \
++ mcr p14, 0, %2, c6, c0, 0 ; /* set CCLKCFG[FCS] */ \
++ str %5, [%1] ; /* postset the MDREFR */ \
++ \
++ b 3f ; \
++2: b 1b ; \
++3: nop ; \
++ "
++ : "=&r" (unused)
++ : "r" (&MDREFR), "r" (CCLKCFG_TURBO|CCLKCFG_FCS), "r" (ramstart), \
++ "r" (preset_mdrefr), "r" (postset_mdrefr)
++ : "r4", "r5");
++ local_irq_restore(flags);
++
++ /*
++ * Restore the CPUs allowed mask.
++ */
++ set_cpus_allowed(current, cpus_allowed);
++
++ /*
++ * Tell everyone what we've just done...
++ * you should add a notify client with any platform specific
++ * SDRAM refresh timer adjustments
++ */
++ cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
++
++ return 0;
++}
++
++static int pxa_cpufreq_init(struct cpufreq_policy *policy)
++{
++ unsigned long cpus_allowed;
++ unsigned int cpu = policy->cpu;
++ int i;
++
++ cpus_allowed = current->cpus_allowed;
++
++ set_cpus_allowed(current, 1 << cpu);
++ BUG_ON(cpu != smp_processor_id());
++
++ /* set default policy and cpuinfo */
++ policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
++ policy->policy = CPUFREQ_POLICY_PERFORMANCE;
++ policy->cpuinfo.max_freq = PXA25x_MAX_FREQ;
++ policy->cpuinfo.min_freq = PXA25x_MIN_FREQ;
++ policy->cpuinfo.transition_latency = 1000; /* FIXME: 1 ms, assumed */
++ policy->cur = get_clk_frequency_khz(0); /* current freq */
++ policy->min = policy->max = policy->cur;
++
++ /* Generate the run cpufreq_frequency_table struct */
++ for(i=0;i<NUM_RUN_FREQS;i++) {
++ pxa255_run_freq_table[i].frequency = pxa255_run_freqs[i].khz;
++ pxa255_run_freq_table[i].index = i;
++ }
++ pxa255_run_freq_table[i].frequency = CPUFREQ_TABLE_END;
++ /* Generate the turbo cpufreq_frequency_table struct */
++ for(i=0;i<NUM_TURBO_FREQS;i++) {
++ pxa255_turbo_freq_table[i].frequency = pxa255_turbo_freqs[i].khz;
++ pxa255_turbo_freq_table[i].index = i;
++ }
++ pxa255_turbo_freq_table[i].frequency = CPUFREQ_TABLE_END;
++
++ set_cpus_allowed(current, cpus_allowed);
++ printk(KERN_INFO "PXA CPU frequency change support initialized\n");
++
++ return 0;
++}
++
++static struct cpufreq_driver pxa_cpufreq_driver = {
++ .verify = pxa_verify_policy,
++ .target = pxa_set_target,
++ .init = pxa_cpufreq_init,
++ .name = "PXA25x",
++};
++
++static int __init pxa_cpu_init(void)
++{
++ return cpufreq_register_driver(&pxa_cpufreq_driver);
++}
++
++static void __exit pxa_cpu_exit(void)
++{
++ cpufreq_unregister_driver(&pxa_cpufreq_driver);
++}
++
++
++MODULE_AUTHOR ("Intrinsyc Software Inc.");
++MODULE_DESCRIPTION ("CPU frequency changing driver for the PXA architecture");
++MODULE_LICENSE("GPL");
++module_init(pxa_cpu_init);
++module_exit(pxa_cpu_exit);
++
+Index: linux-2.6.21gum/Documentation/cpu-freq/user-guide.txt
+===================================================================
+--- linux-2.6.21gum.orig/Documentation/cpu-freq/user-guide.txt
++++ linux-2.6.21gum/Documentation/cpu-freq/user-guide.txt
+@@ -18,7 +18,7 @@
+ Contents:
+ ---------
+ 1. Supported Architectures and Processors
+-1.1 ARM
++1.1 ARM, PXA
+ 1.2 x86
+ 1.3 sparc64
+ 1.4 ppc
+@@ -37,14 +37,15 @@ Contents:
+ 1. Supported Architectures and Processors
+ =========================================
+
+-1.1 ARM
+--------
++1.1 ARM, PXA
++------------
+
+ The following ARM processors are supported by cpufreq:
+
+ ARM Integrator
+ ARM-SA1100
+ ARM-SA1110
++Intel PXA
+
+
+ 1.2 x86
diff --git a/packages/linux/gumstix-kernel-2.6.21/board-init.patch b/packages/linux/gumstix-kernel-2.6.21/board-init.patch
new file mode 100644
index 0000000000..5a15881208
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/board-init.patch
@@ -0,0 +1,81 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+@@ -0,0 +1,76 @@
++/*
++ * linux/arch/arm/mach-pxa/gumstix.c
++ *
++ * Support for the Gumstix computer platform
++ *
++ * Author: Craig Hughes
++ * Created: December 8 2004
++ * Copyright: (C) 2004, Craig Hughes
++ *
++ * 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.
++ */
++
++#include <asm/types.h>
++
++#include <linux/init.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++
++#include <asm/hardware.h>
++#include <asm/mach-types.h>
++#include <asm/mach/arch.h>
++#include <asm/mach/irq.h>
++#include <asm/arch/udc.h>
++#include <asm/arch/mmc.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/arch/gumstix.h>
++
++#include "generic.h"
++
++static int gumstix_mci_init(struct device *dev, irqreturn_t (*lubbock_detect_int)(int, void *, struct pt_regs *), void *data)
++{
++ // Set up MMC controller
++ pxa_gpio_mode(GPIO6_MMCCLK_MD);
++ pxa_gpio_mode(GPIO53_MMCCLK_MD);
++ pxa_gpio_mode(GPIO8_MMCCS0_MD);
++
++ return 0;
++}
++
++static struct pxamci_platform_data gumstix_mci_platform_data = {
++ .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
++ .init = &gumstix_mci_init,
++};
++
++static struct pxa2xx_udc_mach_info gumstix_udc_info __initdata = {
++ .gpio_vbus = GPIO_GUMSTIX_USB_GPIOn,
++ .gpio_pullup = GPIO_GUMSTIX_USB_GPIOx,
++};
++
++static struct platform_device gum_audio_device = {
++ .name = "pxa2xx-ac97",
++ .id = -1,
++};
++
++static struct platform_device *devices[] __initdata = {
++ &gum_audio_device,
++};
++
++static void __init gumstix_init(void)
++{
++ pxa_set_mci_info(&gumstix_mci_platform_data);
++ pxa_set_udc_info(&gumstix_udc_info);
++ (void) platform_add_devices(devices, ARRAY_SIZE(devices));
++}
++
++MACHINE_START(GUMSTIX, "The Gumstix Platform")
++ .phys_io = 0x40000000,
++ .boot_params = 0xa0000100,
++ .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
++ .timer = &pxa_timer,
++ .map_io = pxa_map_io,
++ .init_irq = pxa_init_irq,
++ .init_machine = gumstix_init,
++MACHINE_END
diff --git a/packages/linux/gumstix-kernel-2.6.21/bugfix-i2c-include.patch b/packages/linux/gumstix-kernel-2.6.21/bugfix-i2c-include.patch
new file mode 100644
index 0000000000..cb0036929a
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bugfix-i2c-include.patch
@@ -0,0 +1,12 @@
+Index: linux-2.6.21gum/drivers/i2c/busses/i2c-pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/i2c/busses/i2c-pxa.c
++++ linux-2.6.21gum/drivers/i2c/busses/i2c-pxa.c
+@@ -32,6 +32,7 @@
+ #include <linux/i2c-pxa.h>
+ #include <linux/platform_device.h>
+
++#include <asm/arch/pxa-regs.h>
+ #include <asm/hardware.h>
+ #include <asm/irq.h>
+ #include <asm/io.h>
diff --git a/packages/linux/gumstix-kernel-2.6.21/bugfix-mmc-clock.patch b/packages/linux/gumstix-kernel-2.6.21/bugfix-mmc-clock.patch
new file mode 100644
index 0000000000..cac8d735cf
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bugfix-mmc-clock.patch
@@ -0,0 +1,14 @@
+Index: linux-2.6.21gum/drivers/mmc/pxamci.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/mmc/pxamci.c
++++ linux-2.6.21gum/drivers/mmc/pxamci.c
+@@ -366,8 +366,7 @@ static void pxamci_set_ios(struct mmc_ho
+
+ if (ios->clock) {
+ unsigned int clk = CLOCKRATE / ios->clock;
+- if (CLOCKRATE / clk > ios->clock)
+- clk <<= 1;
++ if(clk > (1<<6)) clk = (1<<6);
+ host->clkrt = fls(clk) - 1;
+ pxa_set_cken(CKEN12_MMC, 1);
+
diff --git a/packages/linux/gumstix-kernel-2.6.21/bugfix-pxa-cpufreq.patch b/packages/linux/gumstix-kernel-2.6.21/bugfix-pxa-cpufreq.patch
new file mode 100644
index 0000000000..27388ca9ef
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bugfix-pxa-cpufreq.patch
@@ -0,0 +1,64 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/cpu-pxa.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+@@ -60,7 +60,7 @@ typedef struct
+
+ /* Define the refresh period in mSec for the SDRAM and the number of rows */
+ #define SDRAM_TREF 64 /* standard 64ms SDRAM */
+-#define SDRAM_ROWS 4096 /* 64MB=8192 32MB=4096 */
++#define SDRAM_ROWS 8192 /* 64MB=8192 32MB=4096 */
+ #define MDREFR_DRI(x) ((x*SDRAM_TREF)/(SDRAM_ROWS*32))
+
+ #define CCLKCFG_TURBO 0x1
+@@ -136,7 +136,7 @@ static int pxa_set_target(struct cpufreq
+ unsigned int relation)
+ {
+ int idx;
+- unsigned long cpus_allowed;
++ cpumask_t cpus_allowed;
+ int cpu = policy->cpu;
+ struct cpufreq_freqs freqs;
+ pxa_freqs_t *pxa_freq_settings;
+@@ -144,6 +144,7 @@ static int pxa_set_target(struct cpufreq
+ unsigned long flags;
+ unsigned int unused;
+ unsigned int preset_mdrefr, postset_mdrefr;
++ void *ramstart;
+
+ /*
+ * Save this threads cpus_allowed mask.
+@@ -154,7 +155,7 @@ static int pxa_set_target(struct cpufreq
+ * Bind to the specified CPU. When this call returns,
+ * we should be running on the right CPU.
+ */
+- set_cpus_allowed(current, 1 << cpu);
++ set_cpus_allowed(current, cpumask_of_cpu(cpu));
+ BUG_ON(cpu != smp_processor_id());
+
+ /* Get the current policy */
+@@ -187,7 +188,7 @@ static int pxa_set_target(struct cpufreq
+ (pxa_freq_settings[idx].membus/1000));
+ }
+
+- void *ramstart = phys_to_virt(0xa0000000);
++ ramstart = phys_to_virt(0xa0000000);
+
+ /*
+ * Tell everyone what we're about to do...
+@@ -260,13 +261,13 @@ static int pxa_set_target(struct cpufreq
+
+ static int pxa_cpufreq_init(struct cpufreq_policy *policy)
+ {
+- unsigned long cpus_allowed;
++ cpumask_t cpus_allowed;
+ unsigned int cpu = policy->cpu;
+ int i;
+
+ cpus_allowed = current->cpus_allowed;
+
+- set_cpus_allowed(current, 1 << cpu);
++ set_cpus_allowed(current, cpumask_of_cpu(cpu));
+ BUG_ON(cpu != smp_processor_id());
+
+ /* set default policy and cpuinfo */
diff --git a/packages/linux/gumstix-kernel-2.6.21/bugfix-serial-interrupt.patch b/packages/linux/gumstix-kernel-2.6.21/bugfix-serial-interrupt.patch
new file mode 100644
index 0000000000..7f2487ec00
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bugfix-serial-interrupt.patch
@@ -0,0 +1,25 @@
+Index: linux-2.6.21gum/drivers/serial/pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/serial/pxa.c
++++ linux-2.6.21gum/drivers/serial/pxa.c
+@@ -235,15 +235,19 @@ static inline irqreturn_t serial_pxa_irq
+ struct uart_pxa_port *up = dev_id;
+ unsigned int iir, lsr;
+
++ serial_out(up, UART_MCR, serial_in(up, UART_MCR) & ~UART_MCR_RTS); // Clear RTS
+ iir = serial_in(up, UART_IIR);
+ if (iir & UART_IIR_NO_INT)
+- return IRQ_NONE;
++ {
++ //printk(KERN_WARNING "serial_pxa_irq: odd -- interrupt triggered, but no interrupt in IIR: %08x\n",iir);
++ }
+ lsr = serial_in(up, UART_LSR);
+ if (lsr & UART_LSR_DR)
+ receive_chars(up, &lsr);
+ check_modem_status(up);
+ if (lsr & UART_LSR_THRE)
+ transmit_chars(up);
++ serial_out(up, UART_MCR, serial_in(up, UART_MCR) | UART_MCR_RTS); // Assert RTS
+ return IRQ_HANDLED;
+ }
+
diff --git a/packages/linux/gumstix-kernel-2.6.21/bugfix-serial-register-status.patch b/packages/linux/gumstix-kernel-2.6.21/bugfix-serial-register-status.patch
new file mode 100644
index 0000000000..e25436b8ee
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/bugfix-serial-register-status.patch
@@ -0,0 +1,69 @@
+Index: linux-2.6.21gum/drivers/serial/pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/serial/pxa.c
++++ linux-2.6.21gum/drivers/serial/pxa.c
+@@ -57,6 +57,8 @@ struct uart_pxa_port {
+ unsigned int lsr_break_flag;
+ unsigned int cken;
+ char *name;
++ unsigned int msr;
++ unsigned int lsr;
+ };
+
+ static inline unsigned int serial_in(struct uart_pxa_port *up, int offset)
+@@ -159,6 +161,7 @@ static inline void receive_chars(struct
+
+ ignore_char:
+ *status = serial_in(up, UART_LSR);
++ up->lsr = *status;
+ } while ((*status & UART_LSR_DR) && (max_count-- > 0));
+ tty_flip_buffer_push(tty);
+ }
+@@ -211,7 +214,7 @@ static inline void check_modem_status(st
+ int status;
+
+ status = serial_in(up, UART_MSR);
+-
++ up->msr = status;
+ if ((status & UART_MSR_ANY_DELTA) == 0)
+ return;
+
+@@ -242,6 +245,7 @@ static inline irqreturn_t serial_pxa_irq
+ //printk(KERN_WARNING "serial_pxa_irq: odd -- interrupt triggered, but no interrupt in IIR: %08x\n",iir);
+ }
+ lsr = serial_in(up, UART_LSR);
++ up->lsr = lsr;
+ if (lsr & UART_LSR_DR)
+ receive_chars(up, &lsr);
+ check_modem_status(up);
+@@ -258,7 +262,7 @@ static unsigned int serial_pxa_tx_empty(
+ unsigned int ret;
+
+ spin_lock_irqsave(&up->port.lock, flags);
+- ret = serial_in(up, UART_LSR) & UART_LSR_TEMT ? TIOCSER_TEMT : 0;
++ ret = up->lsr & UART_LSR_TEMT ? TIOCSER_TEMT : 0;
+ spin_unlock_irqrestore(&up->port.lock, flags);
+
+ return ret;
+@@ -270,7 +274,7 @@ static unsigned int serial_pxa_get_mctrl
+ unsigned char status;
+ unsigned int ret;
+
+- status = serial_in(up, UART_MSR);
++ status = up->msr;
+
+ ret = 0;
+ if (status & UART_MSR_DCD)
+@@ -400,10 +404,10 @@ static int serial_pxa_startup(struct uar
+ /*
+ * And clear the interrupt registers again for luck.
+ */
+- (void) serial_in(up, UART_LSR);
++ up->lsr = serial_in(up, UART_LSR);
+ (void) serial_in(up, UART_RX);
+ (void) serial_in(up, UART_IIR);
+- (void) serial_in(up, UART_MSR);
++ up->msr = serial_in(up, UART_MSR);
+
+ return 0;
+ }
diff --git a/packages/linux/gumstix-kernel-2.6.21/compact-flash.patch b/packages/linux/gumstix-kernel-2.6.21/compact-flash.patch
new file mode 100644
index 0000000000..e3bce37c85
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/compact-flash.patch
@@ -0,0 +1,287 @@
+Index: linux-2.6.21gum/drivers/pcmcia/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/pcmcia/Makefile
++++ linux-2.6.21gum/drivers/pcmcia/Makefile
+@@ -69,4 +69,4 @@ sa1100_cs-$(CONFIG_SA1100_SIMPAD) += sa
+ pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK) += pxa2xx_lubbock.o sa1111_generic.o
+ pxa2xx_cs-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o
+ pxa2xx_cs-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o
+-
++pxa2xx_cs-$(CONFIG_ARCH_GUMSTIX) += pxa2xx_gumstix.o
+Index: linux-2.6.21gum/drivers/pcmcia/pxa2xx_gumstix.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/pcmcia/pxa2xx_gumstix.c
+@@ -0,0 +1,272 @@
++/*
++ * linux/drivers/pcmcia/pxa2xx_gumstix.c
++ *
++ * Gumstix PCMCIA specific routines. Based on Mainstone
++ *
++ * Copyright 2004, Craig Hughes <craig@gumstix.com>
++ *
++ * 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.
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/errno.h>
++#include <linux/interrupt.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++
++#include <pcmcia/ss.h>
++
++#include <asm/hardware.h>
++#include <asm/delay.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/irq.h>
++#include <asm/io.h>
++
++#include <asm/arch/gumstix.h>
++
++#include "soc_common.h"
++
++static struct pcmcia_irqs gumstix_pcmcia_irqs0[] = {
++ { 0, GUMSTIX_S0_nCD_IRQ, "CF0 nCD" },
++ { 0, GUMSTIX_S0_nSTSCHG_IRQ, "CF0 nSTSCHG" },
++};
++
++static struct pcmcia_irqs gumstix_pcmcia_irqs1[] = {
++ { 1, GUMSTIX_S1_nCD_IRQ, "CF1 nCD" },
++ { 1, GUMSTIX_S1_nSTSCHG_IRQ, "CF1 nSTSCHG" },
++};
++
++static int net_cf_vx_mode = 0;
++
++static int gumstix_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
++{
++ if(skt->nr == 0)
++ {
++ pxa_gpio_mode(GPIO_GUMSTIX_nSTSCHG_0_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nCD_0_MD);
++ if(net_cf_vx_mode)
++ pxa_gpio_mode(GPIO_GUMSTIX_PRDY_nBSY_0_OLD_MD);
++ else
++ pxa_gpio_mode(GPIO_GUMSTIX_PRDY_nBSY_0_MD);
++ } else {
++ pxa_gpio_mode(GPIO_GUMSTIX_nSTSCHG_1_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nCD_1_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_PRDY_nBSY_1_MD);
++ }
++
++ pxa_gpio_mode(GPIO_GUMSTIX_nPOE_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPWE_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPIOR_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPIOW_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPCE_1_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPCE_2_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_pSKTSEL_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPREG_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPWAIT_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_nIOIS16_MD);
++
++ skt->irq = (skt->nr == 0) ? ((net_cf_vx_mode == 0) ? GUMSTIX_S0_PRDY_nBSY_IRQ : GUMSTIX_S0_PRDY_nBSY_OLD_IRQ) : GUMSTIX_S1_PRDY_nBSY_IRQ;
++
++ return (skt->nr == 0) ? soc_pcmcia_request_irqs(skt, gumstix_pcmcia_irqs0, ARRAY_SIZE(gumstix_pcmcia_irqs0)) :
++ soc_pcmcia_request_irqs(skt, gumstix_pcmcia_irqs1, ARRAY_SIZE(gumstix_pcmcia_irqs1));
++}
++
++static void gumstix_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
++{
++ if(skt->nr == 0)
++ {
++ soc_pcmcia_free_irqs(skt, gumstix_pcmcia_irqs0, ARRAY_SIZE(gumstix_pcmcia_irqs0));
++ } else {
++ soc_pcmcia_free_irqs(skt, gumstix_pcmcia_irqs1, ARRAY_SIZE(gumstix_pcmcia_irqs1));
++ }
++}
++
++static void gumstix_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
++ struct pcmcia_state *state)
++{
++ unsigned int cd, prdy_nbsy, nbvd1;
++ if(skt->nr == 0)
++ {
++ cd = GPIO_GUMSTIX_nCD_0;
++ if(net_cf_vx_mode)
++ prdy_nbsy = GPIO_GUMSTIX_PRDY_nBSY_0_OLD;
++ else
++ prdy_nbsy = GPIO_GUMSTIX_PRDY_nBSY_0;
++ nbvd1 = GPIO_GUMSTIX_nBVD1_0;
++ } else {
++ cd = GPIO_GUMSTIX_nCD_1;
++ prdy_nbsy = GPIO_GUMSTIX_PRDY_nBSY_1;
++ nbvd1 = GPIO_GUMSTIX_nBVD1_1;
++ }
++ state->detect = !(GPLR(cd) & GPIO_bit(cd));
++ state->ready = !!(GPLR(prdy_nbsy) & GPIO_bit(prdy_nbsy));
++ state->bvd1 = !!(GPLR(nbvd1) & GPIO_bit(nbvd1));
++ state->bvd2 = 1;
++ state->vs_3v = 0;
++ state->vs_Xv = 0;
++ state->wrprot = 0;
++}
++
++static int gumstix_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
++ const socket_state_t *state)
++{
++ return 0;
++}
++
++static void gumstix_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
++{
++ if(skt->nr) {
++ soc_pcmcia_enable_irqs(skt, gumstix_pcmcia_irqs0, ARRAY_SIZE(gumstix_pcmcia_irqs0));
++ } else {
++ soc_pcmcia_enable_irqs(skt, gumstix_pcmcia_irqs1, ARRAY_SIZE(gumstix_pcmcia_irqs1));
++ }
++}
++
++static void gumstix_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
++{
++ if(skt->nr) {
++ soc_pcmcia_disable_irqs(skt, gumstix_pcmcia_irqs0, ARRAY_SIZE(gumstix_pcmcia_irqs0));
++ } else {
++ soc_pcmcia_disable_irqs(skt, gumstix_pcmcia_irqs1, ARRAY_SIZE(gumstix_pcmcia_irqs1));
++ }
++}
++
++static struct pcmcia_low_level gumstix_pcmcia_ops = {
++ .owner = THIS_MODULE,
++ .hw_init = gumstix_pcmcia_hw_init,
++ .hw_shutdown = gumstix_pcmcia_hw_shutdown,
++ .socket_state = gumstix_pcmcia_socket_state,
++ .configure_socket = gumstix_pcmcia_configure_socket,
++ .socket_init = gumstix_pcmcia_socket_init,
++ .socket_suspend = gumstix_pcmcia_socket_suspend,
++ .nr = 2,
++};
++
++static struct platform_device *gumstix_pcmcia_device;
++
++inline void __init gumstix_pcmcia_cpld_clk(void)
++{
++ GPCR(GPIO_GUMSTIX_nPOE) = GPIO_bit(GPIO_GUMSTIX_nPOE);
++ GPSR(GPIO_GUMSTIX_nPOE) = GPIO_bit(GPIO_GUMSTIX_nPOE);
++}
++
++inline unsigned char __init gumstix_pcmcia_cpld_read_bits(int bits)
++{
++ unsigned char result = 0;
++ unsigned int shift = 0;
++ while(bits--)
++ {
++ result |= !!(GPLR(GPIO_GUMSTIX_nCD_0) & GPIO_bit(GPIO_GUMSTIX_nCD_0)) << shift;
++ shift ++;
++ gumstix_pcmcia_cpld_clk();
++ }
++ printk("CPLD responded with: %02x\n",result);
++ return result;
++}
++
++/* We use the CPLD on the CF-CF card to read a value from a shift register. If we can read that
++ * magic sequence, then we have 2 CF cards; otherwise we assume just one
++ * The CPLD will send the value of the shift register on GPIO11 (the CD line for slot 0)
++ * when RESET is held in reset. We use GPIO48 (nPOE) as a clock signal,
++ * GPIO52/53 (card enable for both cards) to control read/write to the shift register
++ */
++static void __init gumstix_count_cards(void)
++{
++ pxa_gpio_mode(GPIO_GUMSTIX_nPOE | GPIO_OUT);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPCE_1 | GPIO_OUT);
++ pxa_gpio_mode(GPIO_GUMSTIX_nPCE_2 | GPIO_OUT);
++ pxa_gpio_mode(GPIO_GUMSTIX_nCD_0 | GPIO_IN);
++ if(net_cf_vx_mode)
++ pxa_gpio_mode(GPIO_GUMSTIX_CF_OLD_RESET | GPIO_OUT);
++ else
++ pxa_gpio_mode(GPIO_GUMSTIX_CF_RESET | GPIO_OUT);
++
++ // Enter reset
++ if(net_cf_vx_mode)
++ GPSR(GPIO_GUMSTIX_CF_OLD_RESET) = GPIO_bit(GPIO_GUMSTIX_CF_OLD_RESET);
++ else
++ GPSR(GPIO_GUMSTIX_CF_RESET) = GPIO_bit(GPIO_GUMSTIX_CF_RESET);
++
++ // Setup the shift register
++ GPSR(GPIO_GUMSTIX_nPCE_1) = GPIO_bit(GPIO_GUMSTIX_nPCE_1);
++ GPCR(GPIO_GUMSTIX_nPCE_2) = GPIO_bit(GPIO_GUMSTIX_nPCE_2);
++
++ // Tick the clock to program the shift register
++ gumstix_pcmcia_cpld_clk();
++
++ // Now set shift register into read mode
++ GPCR(GPIO_GUMSTIX_nPCE_1) = GPIO_bit(GPIO_GUMSTIX_nPCE_1);
++ GPSR(GPIO_GUMSTIX_nPCE_2) = GPIO_bit(GPIO_GUMSTIX_nPCE_2);
++
++ // We can read the bits now -- 0xC2 means "Dual compact flash"
++ if(gumstix_pcmcia_cpld_read_bits(8) != 0xC2)
++ {
++ // We do not have 2 CF slots
++ gumstix_pcmcia_ops.nr = 1;
++ }
++}
++
++#ifdef CONFIG_ARCH_GUMSTIX_VERDEX
++static void __init gumstix_check_if_netCF_vx(void)
++{
++ void *network_controller_memory = ioremap(0x04000300,16);
++ // Look for the special 91c111 value in the bank select register
++ if((0xff00 & readw(network_controller_memory+0x0e)) == 0x3300) {
++ printk("Detected netCF-vx board: using older GPIO configuration\n");
++ net_cf_vx_mode = 1;
++ } else {
++ printk("Not netCF-vx board: using newer GPIO configuration\n");
++ net_cf_vx_mode = 0;
++ }
++ iounmap(network_controller_memory);
++}
++#endif
++
++static int __init gumstix_pcmcia_init(void)
++{
++ int ret;
++
++#ifdef CONFIG_ARCH_GUMSTIX_VERDEX
++ gumstix_check_if_netCF_vx();
++#endif
++
++ gumstix_count_cards();
++
++ udelay(50);
++ if(net_cf_vx_mode)
++ GPCR(GPIO_GUMSTIX_CF_OLD_RESET) = GPIO_bit(GPIO_GUMSTIX_CF_OLD_RESET);
++ else
++ GPCR(GPIO_GUMSTIX_CF_RESET) = GPIO_bit(GPIO_GUMSTIX_CF_RESET);
++
++ gumstix_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
++ if (!gumstix_pcmcia_device)
++ return -ENOMEM;
++
++ gumstix_pcmcia_device->dev.platform_data = &gumstix_pcmcia_ops;
++
++ ret = platform_device_add(gumstix_pcmcia_device);
++ if (ret)
++ platform_device_put(gumstix_pcmcia_device);
++
++ return ret;
++}
++
++static void __exit gumstix_pcmcia_exit(void)
++{
++ /*
++ * This call is supposed to free our gumstix_pcmcia_device.
++ * Unfortunately platform_device don't have a free method, and
++ * we can't assume it's free of any reference at this point so we
++ * can't free it either.
++ */
++ platform_device_unregister(gumstix_pcmcia_device);
++}
++
++fs_initcall(gumstix_pcmcia_init);
++module_exit(gumstix_pcmcia_exit);
++
++MODULE_LICENSE("GPL");
diff --git a/packages/linux/gumstix-kernel-2.6.21/compile-fix-pxa_cpufreq.patch b/packages/linux/gumstix-kernel-2.6.21/compile-fix-pxa_cpufreq.patch
new file mode 100644
index 0000000000..a8fc94bc9c
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/compile-fix-pxa_cpufreq.patch
@@ -0,0 +1,13 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/cpu-pxa.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+@@ -42,7 +42,7 @@
+
+ #define DEBUG 0
+
+-#ifdef DEBUG
++#if defined (DEBUG) && DEBUG > 0
+ static unsigned int freq_debug = DEBUG;
+ MODULE_PARM(freq_debug, "i");
+ MODULE_PARM_DESC(freq_debug, "Set the debug messages to on=1/off=0");
diff --git a/packages/linux/gumstix-kernel-2.6.21/cpufreq-better-freqs.patch b/packages/linux/gumstix-kernel-2.6.21/cpufreq-better-freqs.patch
new file mode 100644
index 0000000000..90bc021d85
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/cpufreq-better-freqs.patch
@@ -0,0 +1,53 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/cpu-pxa.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c
+@@ -65,8 +65,8 @@ typedef struct
+
+ #define CCLKCFG_TURBO 0x1
+ #define CCLKCFG_FCS 0x2
+-#define PXA25x_MIN_FREQ 99500
+-#define PXA25x_MAX_FREQ 398100
++#define PXA25x_MIN_FREQ 99533
++#define PXA25x_MAX_FREQ 530842
+ #define MDREFR_DB2_MASK (MDREFR_K2DB2 | MDREFR_K1DB2)
+ #define MDREFR_DRI_MASK 0xFFF
+
+@@ -75,12 +75,14 @@ typedef struct
+ static pxa_freqs_t pxa255_run_freqs[] =
+ {
+ /* CPU MEMBUS CCCR DIV2*/
+- { 99500, 99500, 0x121, 1}, /* run= 99, turbo= 99, PXbus=50, SDRAM=50 */
+- {132700, 132700, 0x123, 1}, /* run=133, turbo=133, PXbus=66, SDRAM=66 */
+- {199100, 99500, 0x141, 0}, /* run=199, turbo=199, PXbus=99, SDRAM=99 */
+- {265400, 132700, 0x143, 1}, /* run=265, turbo=265, PXbus=133, SDRAM=66 */
+- {331800, 165900, 0x145, 1}, /* run=331, turbo=331, PXbus=166, SDRAM=83 */
+- {398100, 99500, 0x161, 0}, /* run=398, turbo=398, PXbus=196, SDRAM=99 */
++ { 99533, 99533, 0x121, 1}, /* run= 99, turbo= 99, PXbus=50, SDRAM=50 */
++ {132710, 132710, 0x123, 1}, /* run=133, turbo=133, PXbus=66, SDRAM=66 */
++ {199066, 99533, 0x141, 0}, /* run=199, turbo=199, PXbus=99, SDRAM=99 */
++ {265421, 132710, 0x143, 0}, /* run=265, turbo=265, PXbus=133, SDRAM=133 */
++ {331776, 165888, 0x145, 1}, /* run=331, turbo=331, PXbus=166, SDRAM=83 */
++ {398131, 99533, 0x161, 0}, /* run=398, turbo=398, PXbus=99, SDRAM=99 */
++ {398131, 132710, 0x1c3, 0}, /* run=265, turbo=398, PXbus=133, SDRAM=133 */
++ {530842, 132710, 0x163, 0}, /* run=531, turbo=531, PXbus=133, SDRAM=133 */
+ {0,}
+ };
+ #define NUM_RUN_FREQS (sizeof(pxa255_run_freqs)/sizeof(pxa_freqs_t))
+@@ -91,11 +93,11 @@ static struct cpufreq_frequency_table px
+ static pxa_freqs_t pxa255_turbo_freqs[] =
+ {
+ /* CPU MEMBUS CCCR DIV2*/
+- { 99500, 99500, 0x121, 1}, /* run=99, turbo= 99, PXbus=50, SDRAM=50 */
+- {199100, 99500, 0x221, 0}, /* run=99, turbo=199, PXbus=50, SDRAM=99 */
+- {298500, 99500, 0x321, 0}, /* run=99, turbo=287, PXbus=50, SDRAM=99 */
+- {298600, 99500, 0x1c1, 0}, /* run=199, turbo=287, PXbus=99, SDRAM=99 */
+- {398100, 99500, 0x241, 0}, /* run=199, turbo=398, PXbus=99, SDRAM=99 */
++ { 99533, 99533, 0x121, 1}, /* run=99, turbo= 99, PXbus=99, SDRAM=50 */
++ {149299, 99533, 0x1a1, 0}, /* run=99, turbo=149, PXbus=99, SDRAM=99 */
++ {199066, 99533, 0x221, 0}, /* run=99, turbo=199, PXbus=99, SDRAM=99 */
++ {298598, 99533, 0x321, 0}, /* run=99, turbo=299, PXbus=99, SDRAM=99 */
++ {398131, 99533, 0x241, 1}, /* run=199, turbo=398, PXbus=99, SDRAM=50 */
+ {0,}
+ };
+ #define NUM_TURBO_FREQS (sizeof(pxa255_turbo_freqs)/sizeof(pxa_freqs_t))
diff --git a/packages/linux/gumstix-kernel-2.6.21/cpufreq-fixup.patch b/packages/linux/gumstix-kernel-2.6.21/cpufreq-fixup.patch
new file mode 100644
index 0000000000..8a64098167
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/cpufreq-fixup.patch
@@ -0,0 +1,26 @@
+Index: linux-2.6.21gum/drivers/cpufreq/cpufreq_ondemand.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/cpufreq/cpufreq_ondemand.c
++++ linux-2.6.21gum/drivers/cpufreq/cpufreq_ondemand.c
+@@ -573,7 +573,7 @@ static int cpufreq_governor_dbs(struct c
+ return 0;
+ }
+
+-static struct cpufreq_governor cpufreq_gov_dbs = {
++struct cpufreq_governor cpufreq_gov_dbs = {
+ .name = "ondemand",
+ .governor = cpufreq_governor_dbs,
+ .owner = THIS_MODULE,
+Index: linux-2.6.21gum/drivers/cpufreq/cpufreq_conservative.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/cpufreq/cpufreq_conservative.c
++++ linux-2.6.21gum/drivers/cpufreq/cpufreq_conservative.c
+@@ -551,7 +551,7 @@ static int cpufreq_governor_dbs(struct c
+ return 0;
+ }
+
+-static struct cpufreq_governor cpufreq_gov_dbs = {
++struct cpufreq_governor cpufreq_gov_dbs = {
+ .name = "conservative",
+ .governor = cpufreq_governor_dbs,
+ .owner = THIS_MODULE,
diff --git a/packages/linux/gumstix-kernel-2.6.21/cpufreq-ondemand-by-default.patch b/packages/linux/gumstix-kernel-2.6.21/cpufreq-ondemand-by-default.patch
new file mode 100644
index 0000000000..bb5443cdef
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/cpufreq-ondemand-by-default.patch
@@ -0,0 +1,42 @@
+Index: linux-2.6.21gum/drivers/cpufreq/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/cpufreq/Kconfig
++++ linux-2.6.21gum/drivers/cpufreq/Kconfig
+@@ -52,7 +52,7 @@ config CPU_FREQ_STAT_DETAILS
+
+ choice
+ prompt "Default CPUFreq governor"
+- default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
++ default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110 || CPU_FREQ_PXA
+ default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
+ help
+ This option sets which CPUFreq governor shall be loaded at
+@@ -75,6 +75,14 @@ config CPU_FREQ_DEFAULT_GOV_USERSPACE
+ program shall be able to set the CPU dynamically without having
+ to enable the userspace governor manually.
+
++config CPU_FREQ_DEFAULT_GOV_ONDEMAND
++ bool "ondemand"
++ select CPU_FREQ_GOV_ONDEMAND
++ help
++ Use the CPUFreq governor 'ondemand' as default. This sets
++ the frequency dynamically based on CPU load, throttling up
++ and down as necessary.
++
+ endchoice
+
+ config CPU_FREQ_GOV_PERFORMANCE
+Index: linux-2.6.21gum/include/linux/cpufreq.h
+===================================================================
+--- linux-2.6.21gum.orig/include/linux/cpufreq.h
++++ linux-2.6.21gum/include/linux/cpufreq.h
+@@ -286,6 +286,9 @@ extern struct cpufreq_governor cpufreq_g
+ #elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE)
+ extern struct cpufreq_governor cpufreq_gov_userspace;
+ #define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_userspace
++#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND)
++extern struct cpufreq_governor cpufreq_gov_dbs;
++#define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_dbs;
+ #endif
+
+
diff --git a/packages/linux/gumstix-kernel-2.6.21/disable-uncompress-message.patch b/packages/linux/gumstix-kernel-2.6.21/disable-uncompress-message.patch
new file mode 100644
index 0000000000..4d3d8cec3c
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/disable-uncompress-message.patch
@@ -0,0 +1,32 @@
+Index: linux-2.6.21gum/arch/arm/boot/compressed/misc.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/boot/compressed/misc.c
++++ linux-2.6.21gum/arch/arm/boot/compressed/misc.c
+@@ -322,7 +322,6 @@ void flush_window(void)
+ bytes_out += (ulg)outcnt;
+ output_ptr += (ulg)outcnt;
+ outcnt = 0;
+- putstr(".");
+ }
+
+ #ifndef arch_error
+@@ -354,9 +353,7 @@ decompress_kernel(ulg output_start, ulg
+ arch_decomp_setup();
+
+ makecrc();
+- putstr("Uncompressing Linux...");
+ gunzip();
+- putstr(" done, booting the kernel.\n");
+ return output_ptr;
+ }
+ #else
+@@ -368,9 +365,7 @@ int main()
+ output_data = output_buffer;
+
+ makecrc();
+- putstr("Uncompressing Linux...");
+ gunzip();
+- putstr("done.\n");
+ return 0;
+ }
+ #endif
diff --git a/packages/linux/gumstix-kernel-2.6.21/ethernet-config.patch b/packages/linux/gumstix-kernel-2.6.21/ethernet-config.patch
new file mode 100644
index 0000000000..baf4871504
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/ethernet-config.patch
@@ -0,0 +1,26 @@
+Index: linux-2.6.21gum/drivers/net/smc91x.h
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/smc91x.h
++++ linux-2.6.21gum/drivers/net/smc91x.h
+@@ -55,6 +55,21 @@
+ #define SMC_insw(a, r, p, l) readsw((a) + (r), p, l)
+ #define SMC_outsw(a, r, p, l) writesw((a) + (r), p, l)
+
++#elif defined(CONFIG_ARCH_GUMSTIX)
++#define SMC_CAN_USE_8BIT 0
++#define SMC_CAN_USE_16BIT 1
++#define SMC_CAN_USE_32BIT 0
++#define SMC_NOWAIT 1
++#define SMC_USE_PXA_DMA 1
++#define SMC_IO_SHIFT 0
++#define SMC_inw(a, r) readw((a) + (r))
++#define SMC_outw(v, a, r) writew(v, (a) + (r))
++#define SMC_insw(a, r, p, l) readsw((a) + (r), p, l)
++#define SMC_outsw(a, r, p, l) writesw((a) + (r), p, l)
++#define RPC_LSA_DEFAULT RPC_LED_100_10
++#define RPC_LSB_DEFAULT RPC_LED_TX_RX
++
++
+ #elif defined(CONFIG_REDWOOD_5) || defined(CONFIG_REDWOOD_6)
+
+ /* We can only do 16-bit reads and writes in the static memory space. */
diff --git a/packages/linux/gumstix-kernel-2.6.21/flash.patch b/packages/linux/gumstix-kernel-2.6.21/flash.patch
new file mode 100644
index 0000000000..a50a382f7a
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/flash.patch
@@ -0,0 +1,171 @@
+Index: linux-2.6.21gum/drivers/mtd/maps/gumstix-flash.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/mtd/maps/gumstix-flash.c
+@@ -0,0 +1,136 @@
++/*
++ * Map driver for the Gumstix platform
++ *
++ * Author: Craig Hughes
++ *
++ * 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.
++ */
++
++#include <linux/module.h>
++#include <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/map.h>
++#include <linux/mtd/partitions.h>
++#include <asm/io.h>
++#include <asm/hardware.h>
++#include <asm/arch/gumstix.h>
++
++
++#define ROM_ADDR 0x00000000
++#define FLASH_ADDR 0x00000000
++
++#define WINDOW_SIZE 64*1024*1024
++
++static struct map_info gumstix_flash_maps[1] = { {
++ .name = "Gumstix Flash ROM",
++ .size = WINDOW_SIZE,
++ .phys = FLASH_ADDR,
++ .bankwidth = 2,
++} };
++
++static struct mtd_partition gumstix_flash_partitions[] = {
++ {
++ .name = "Bootloader",
++ .size = 0x00040000,
++ .offset = FLASH_ADDR
++ },{
++ .name = "RootFS",
++ .size = MTDPART_SIZ_FULL,
++ .offset = MTDPART_OFS_APPEND
++ }
++};
++
++static struct mtd_info *mymtds[1];
++static struct mtd_partition *parsed_parts[1];
++static int nr_parsed_parts[1];
++
++static const char *probes[] = { NULL };
++
++static int __init gumstix_flashmap_init(void)
++{
++ int ret = 0, i;
++
++ for (i = 0; i < 1; i++) {
++ gumstix_flash_maps[i].virt = ioremap(gumstix_flash_maps[i].phys, WINDOW_SIZE);
++ if (!gumstix_flash_maps[i].virt) {
++ printk(KERN_WARNING "Failed to ioremap %s\n", gumstix_flash_maps[i].name);
++ if (!ret)
++ ret = -ENOMEM;
++ continue;
++ }
++ simple_map_init(&gumstix_flash_maps[i]);
++
++ printk(KERN_NOTICE "Probing %s at physical address 0x%08lx (%d-bit bankwidth)\n",
++ gumstix_flash_maps[i].name, gumstix_flash_maps[i].phys,
++ gumstix_flash_maps[i].bankwidth * 8);
++
++ mymtds[i] = do_map_probe("cfi_probe", &gumstix_flash_maps[i]);
++
++ if (!mymtds[i]) {
++ iounmap((void *)gumstix_flash_maps[i].virt);
++ if (gumstix_flash_maps[i].cached)
++ iounmap(gumstix_flash_maps[i].cached);
++ if (!ret)
++ ret = -EIO;
++ continue;
++ }
++ mymtds[i]->owner = THIS_MODULE;
++
++ ret = parse_mtd_partitions(mymtds[i], probes,
++ &parsed_parts[i], 0);
++
++ if (ret > 0)
++ nr_parsed_parts[i] = ret;
++ }
++
++ if (!mymtds[0])
++ return ret;
++
++ for (i = 0; i < 1; i++) {
++ if (!mymtds[i]) {
++ printk(KERN_WARNING "%s is absent. Skipping\n", gumstix_flash_maps[i].name);
++ } else if (nr_parsed_parts[i]) {
++ add_mtd_partitions(mymtds[i], parsed_parts[i], nr_parsed_parts[i]);
++ } else if (!i) {
++ printk("Using static partitions on %s\n", gumstix_flash_maps[i].name);
++ add_mtd_partitions(mymtds[i], gumstix_flash_partitions, ARRAY_SIZE(gumstix_flash_partitions));
++ } else {
++ printk("Registering %s as whole device\n", gumstix_flash_maps[i].name);
++ add_mtd_device(mymtds[i]);
++ }
++ }
++ return 0;
++}
++
++static void __exit gumstix_flashmap_cleanup(void)
++{
++ int i;
++ for (i = 0; i < 1; i++) {
++ if (!mymtds[i])
++ continue;
++
++ if (nr_parsed_parts[i] || !i)
++ del_mtd_partitions(mymtds[i]);
++ else
++ del_mtd_device(mymtds[i]);
++
++ map_destroy(mymtds[i]);
++ iounmap((void *)gumstix_flash_maps[i].virt);
++ if (gumstix_flash_maps[i].cached)
++ iounmap(gumstix_flash_maps[i].cached);
++
++ if (parsed_parts[i])
++ kfree(parsed_parts[i]);
++ }
++}
++
++module_init(gumstix_flashmap_init);
++module_exit(gumstix_flashmap_cleanup);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Gumstix, Inc. <gumstix-users@lists.sf.net>");
++MODULE_DESCRIPTION("MTD map driver for the Gumstix Platform");
+Index: linux-2.6.21gum/drivers/mtd/maps/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/mtd/maps/Kconfig
++++ linux-2.6.21gum/drivers/mtd/maps/Kconfig
+@@ -131,6 +131,13 @@ config MTD_SBC_GXX
+ More info at
+ <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
+
++config MTD_GUMSTIX
++ tristate "CFI Flash device mapped on Gumstix"
++ depends on ARCH_GUMSTIX && MTD_CFI_INTELEXT && MTD_PARTITIONS
++ help
++ This provides a driver for the on-board flash of the Gumstix
++ single board computers.
++
+ config MTD_LUBBOCK
+ tristate "CFI Flash device mapped on Intel Lubbock XScale eval board"
+ depends on ARCH_LUBBOCK && MTD_CFI_INTELEXT && MTD_PARTITIONS
+Index: linux-2.6.21gum/drivers/mtd/maps/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/mtd/maps/Makefile
++++ linux-2.6.21gum/drivers/mtd/maps/Makefile
+@@ -21,6 +21,7 @@ obj-$(CONFIG_MTD_ICHXROM) += ichxrom.o
+ obj-$(CONFIG_MTD_CK804XROM) += ck804xrom.o
+ obj-$(CONFIG_MTD_TSUNAMI) += tsunami_flash.o
+ obj-$(CONFIG_MTD_LUBBOCK) += lubbock-flash.o
++obj-$(CONFIG_MTD_GUMSTIX) += gumstix-flash.o
+ obj-$(CONFIG_MTD_MAINSTONE) += mainstone-flash.o
+ obj-$(CONFIG_MTD_MBX860) += mbx860.o
+ obj-$(CONFIG_MTD_CEIVA) += ceiva.o
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-asoc.patch b/packages/linux/gumstix-kernel-2.6.21/gumstix-asoc.patch
new file mode 100644
index 0000000000..48e64b5764
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-asoc.patch
@@ -0,0 +1,224 @@
+Index: linux-2.6.21gum/sound/soc/pxa/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/sound/soc/pxa/Kconfig
++++ linux-2.6.21gum/sound/soc/pxa/Kconfig
+@@ -16,6 +16,7 @@ config SND_PXA2XX_SOC_AC97
+ tristate
+ select AC97_BUS
+ select SND_SOC_AC97_BUS
++ select SND_PXA2XX_AC97
+
+ config SND_PXA2XX_SOC_I2S
+ tristate
+@@ -56,4 +57,12 @@ config SND_PXA2XX_SOC_TOSA
+ Say Y if you want to add support for SoC audio on Sharp
+ Zaurus SL-C6000x models (Tosa).
+
++config SND_PXA2XX_SOC_GUMSTIX
++ tristate "SoC AC97 Audio support for Gumstix"
++ depends on SND_PXA2XX_SOC && ARCH_GUMSTIX
++ select SND_PXA2XX_SOC_AC97
++ select SND_SOC_AC97_CODEC
++ help
++ Say Y if you want to add support for SoC audio on Gumstix
++
+ endmenu
+Index: linux-2.6.21gum/sound/soc/pxa/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/sound/soc/pxa/Makefile
++++ linux-2.6.21gum/sound/soc/pxa/Makefile
+@@ -12,9 +12,11 @@ snd-soc-corgi-objs := corgi.o
+ snd-soc-poodle-objs := poodle.o
+ snd-soc-tosa-objs := tosa.o
+ snd-soc-spitz-objs := spitz.o
++snd-soc-gumstix-objs := gumstix.o
+
+ obj-$(CONFIG_SND_PXA2XX_SOC_CORGI) += snd-soc-corgi.o
+ obj-$(CONFIG_SND_PXA2XX_SOC_POODLE) += snd-soc-poodle.o
+ obj-$(CONFIG_SND_PXA2XX_SOC_TOSA) += snd-soc-tosa.o
+ obj-$(CONFIG_SND_PXA2XX_SOC_SPITZ) += snd-soc-spitz.o
++obj-$(CONFIG_SND_PXA2XX_SOC_GUMSTIX) += snd-soc-gumstix.o
+
+Index: linux-2.6.21gum/sound/soc/pxa/gumstix.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/sound/soc/pxa/gumstix.c
+@@ -0,0 +1,109 @@
++/*
++ * gumstix.c -- SoC audio for Gumstix
++ *
++ * Copyright 2005 Wolfson Microelectronics PLC.
++ * Copyright 2005 Openedhand Ltd.
++ * Copyright 2007 Gumstix Inc.
++ *
++ * Authors: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
++ * Richard Purdie <richard@openedhand.com>
++ * Craig Hughes <craig@gumstix.com>
++ *
++ * 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.
++ *
++ * Revision history
++ * 26 April 2007 - Initial revision forked from tosa.c
++ *
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/device.h>
++
++#include <sound/driver.h>
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/soc.h>
++#include <sound/soc-dapm.h>
++
++#include <asm/mach-types.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/arch/hardware.h>
++#include <asm/arch/audio.h>
++#include <asm/arch/gumstix.h>
++
++#include "pxa2xx-pcm.h"
++#include "pxa2xx-ac97.h"
++#include "../codecs/ac97.h"
++
++static struct snd_soc_machine gumstix;
++
++static int gumstix_ac97_init(struct snd_soc_codec *codec)
++{
++ // For now, do nothing -- should move the ucb1400 patch stuff here
++ return 0;
++}
++
++/* For right now, just add UCB1400 -- once that's working, we can also add
++ * PCM channels via SPI to bluetooth module, GSM module, or whatnot */
++static struct snd_soc_dai_link gumstix_dai[] = {
++{
++ .name = "ucb1400",
++ .stream_name = "UCB1400",
++ .cpu_dai = &pxa_ac97_dai[PXA2XX_DAI_AC97_HIFI],
++ .codec_dai = &ac97_dai,
++ .init = gumstix_ac97_init,
++},
++};
++
++static struct snd_soc_machine snd_soc_machine_gumstix = {
++ .name = "Gumstix",
++ .dai_link = gumstix_dai,
++ .num_links = ARRAY_SIZE(gumstix_dai),
++};
++
++static struct snd_soc_device gumstix_snd_devdata = {
++ .machine = &snd_soc_machine_gumstix,
++ .platform = &pxa2xx_soc_platform,
++ .codec_dev = &soc_codec_dev_ac97,
++};
++
++static struct platform_device *gumstix_snd_device;
++
++static int __init gumstix_init(void)
++{
++ int ret;
++
++ if (!machine_is_gumstix())
++ return -ENODEV;
++
++ gumstix_snd_device = platform_device_alloc("soc-audio", -1);
++ if (!gumstix_snd_device)
++ return -ENOMEM;
++
++ platform_set_drvdata(gumstix_snd_device, &gumstix_snd_devdata);
++ gumstix_snd_devdata.dev = &gumstix_snd_device->dev;
++ ret = platform_device_add(gumstix_snd_device);
++
++ if (ret)
++ platform_device_put(gumstix_snd_device);
++
++ return ret;
++}
++
++static void __exit gumstix_exit(void)
++{
++ platform_device_unregister(gumstix_snd_device);
++}
++
++module_init(gumstix_init);
++module_exit(gumstix_exit);
++
++/* Module information */
++MODULE_AUTHOR("Craig Hughes <craig@gumstix.com>");
++MODULE_DESCRIPTION("ALSA SoC Gumstix");
++MODULE_LICENSE("GPL");
+Index: linux-2.6.21gum/sound/soc/codecs/ac97.c
+===================================================================
+--- linux-2.6.21gum.orig/sound/soc/codecs/ac97.c
++++ linux-2.6.21gum/sound/soc/codecs/ac97.c
+@@ -43,7 +43,7 @@ static int ac97_prepare(struct snd_pcm_s
+ #define STD_AC97_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |\
+ SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000)
+
+-static struct snd_soc_codec_dai ac97_dai = {
++struct snd_soc_codec_dai ac97_dai = {
+ .name = "AC97 HiFi",
+ .playback = {
+ .stream_name = "AC97 Playback",
+@@ -61,6 +61,8 @@ static struct snd_soc_codec_dai ac97_dai
+ .prepare = ac97_prepare,},
+ };
+
++EXPORT_SYMBOL_GPL(ac97_dai);
++
+ static unsigned int ac97_read(struct snd_soc_codec *codec,
+ unsigned int reg)
+ {
+Index: linux-2.6.21gum/sound/soc/codecs/ac97.h
+===================================================================
+--- linux-2.6.21gum.orig/sound/soc/codecs/ac97.h
++++ linux-2.6.21gum/sound/soc/codecs/ac97.h
+@@ -14,5 +14,6 @@
+ #define __LINUX_SND_SOC_AC97_H
+
+ extern struct snd_soc_codec_device soc_codec_dev_ac97;
++extern struct snd_soc_codec_dai ac97_dai;
+
+ #endif
+Index: linux-2.6.21gum/sound/soc/pxa/pxa2xx-ac97.c
+===================================================================
+--- linux-2.6.21gum.orig/sound/soc/pxa/pxa2xx-ac97.c
++++ linux-2.6.21gum/sound/soc/pxa/pxa2xx-ac97.c
+@@ -154,18 +154,26 @@ static void pxa2xx_ac97_warm_reset(struc
+
+ static void pxa2xx_ac97_cold_reset(struct snd_ac97 *ac97)
+ {
+- GCR &= GCR_COLD_RST; /* clear everything but nCRST */
+- GCR &= ~GCR_COLD_RST; /* then assert nCRST */
+-
+- gsr_bits = 0;
+ #ifdef CONFIG_PXA27x
+ /* PXA27x Developers Manual section 13.5.2.2.1 */
++ GCR |= GCR_ACLINK_OFF;
++ udelay(5);
++ GCR &= GCR_COLD_RST; /* Mask all interrupts */
++ GCR &= ~GCR_COLD_RST; /* cold reset */
++ udelay(5);
+ pxa_set_cken(1 << 31, 1);
+ udelay(5);
+- pxa_set_cken(1 << 31, 0);
++ GCR |= GCR_PRIRDY_IEN|GCR_SECRDY_IEN; /* unmask the interrupts */
++ pxa_set_cken(1 << 31, 0); /* clear CKEN31 */
++ udelay(5);
+ GCR = GCR_COLD_RST;
+ udelay(50);
++ wait_event_timeout(gsr_wq, gsr_bits & (GSR_PCR | GSR_SCR), 1);
+ #else
++ GCR &= GCR_COLD_RST; /* clear everything but nCRST */
++ GCR &= ~GCR_COLD_RST; /* then assert nCRST */
++
++ gsr_bits = 0;
+ GCR = GCR_COLD_RST;
+ GCR |= GCR_CDONE_IE|GCR_SDONE_IE;
+ wait_event_timeout(gsr_wq, gsr_bits & (GSR_PCR | GSR_SCR), 1);
diff --git a/packages/nonworking/apache/apache/apache-2.0.48/.mtn2git_empty b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/apache/apache/apache-2.0.48/.mtn2git_empty
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/.mtn2git_empty
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig
new file mode 100644
index 0000000000..418a1b4402
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig
@@ -0,0 +1,1619 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21
+# Thu Jan 31 10:02:15 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=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_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+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 is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+# CONFIG_SHMEM is not set
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_RT_MUTEXES=y
+CONFIG_TINY_SHMEM=y
+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_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+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_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX 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_NS9XXX 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_GUMSTIX=y
+# 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_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+# CONFIG_ARCH_GUMSTIX_ORIG is not set
+CONFIG_ARCH_GUMSTIX_F=y
+# CONFIG_ARCH_GUMSTIX_VERDEX 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
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+# CONFIG_IWMMXT is not set
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_PROC_GPIO=m
+# CONFIG_PROC_GPIO_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+# CONFIG_PCMCIA_IOCTL is not set
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=m
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+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_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ALIGNMENT_HANDLING=0x2
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE 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_PM_SYSFS_DEPRECATED is not set
+CONFIG_APM_EMULATION=m
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+# CONFIG_NET_IPGRE 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
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=y
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+# CONFIG_BRIDGE_NETFILTER is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK_SUPPORT=y
+# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=m
+# CONFIG_NF_NAT_IRC is not set
+CONFIG_NF_NAT_TFTP=m
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+# CONFIG_IP6_NF_RAW is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES 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=m
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# 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=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_NET_SCH_CLK_JIFFIES is not set
+CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y
+# CONFIG_NET_SCH_CLK_CPU is not set
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+# CONFIG_NET_ACT_SIMP is not set
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_ESTIMATOR=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_GUMSTIX=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 is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+# CONFIG_BT_HCIUART_BCSP 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_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES 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=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 is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=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
+# CONFIG_SSFDC 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 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# 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 is not set
+# 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=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_GUMSTIX=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# 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
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=2
+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_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL 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_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# 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 is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# 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
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP 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
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_PATA_PCMCIA=m
+# CONFIG_PATA_PLATFORM 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_IFB is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_SMC91X=m
+CONFIG_SMC91X_GUMSTIX=m
+# CONFIG_DM9000 is not set
+CONFIG_SMC911X=m
+CONFIG_SMC911X_GUMSTIX=m
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA 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=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# 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
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# 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_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# 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_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_UCB1400=m
+# 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=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=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS 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=m
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# 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
+
+#
+# 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_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# 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
+
+#
+# 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_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSC2003 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=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=m
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_AT25 is not set
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SVGALIB is not set
+# 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
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_ALPS_CDOLLAR is not set
+# CONFIG_FB_PXA_SHARP_LQ043_PSP is not set
+CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C=y
+# CONFIG_FB_PXA_NONEOFTHEABOVE is not set
+CONFIG_FB_PXA_PARAMETERS=y
+# 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=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+CONFIG_FONT_7x14=y
+# 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
+
+#
+# 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 is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+# 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_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC=m
+
+#
+# SoC Platforms
+#
+
+#
+# SoC Audio for the Atmel AT91
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_AC97=m
+CONFIG_SND_PXA2XX_SOC_GUMSTIX=m
+CONFIG_SND_SOC_AC97_CODEC=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID Devices
+#
+CONFIG_HID=m
+# CONFIG_HID_DEBUG 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=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_SELECTED=y
+CONFIG_USB_GADGET_GUMSTIX=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_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU 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=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_PXA=m
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=m
+CONFIG_RTC_INTF_PROC=m
+CONFIG_RTC_INTF_DEV=m
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=m
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG 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_GFS2_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 is not set
+# 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=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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE 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=y
+# 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=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
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC 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_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig-nofb b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig-nofb
new file mode 100644
index 0000000000..22e0ef0413
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-connex/defconfig-nofb
@@ -0,0 +1,1619 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21
+# Thu Jan 31 10:02:15 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=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_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+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 is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+# CONFIG_SHMEM is not set
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_RT_MUTEXES=y
+CONFIG_TINY_SHMEM=y
+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_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+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_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX 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_NS9XXX 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_GUMSTIX=y
+# 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_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+# CONFIG_ARCH_GUMSTIX_ORIG is not set
+CONFIG_ARCH_GUMSTIX_F=y
+# CONFIG_ARCH_GUMSTIX_VERDEX 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
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+# CONFIG_IWMMXT is not set
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_PROC_GPIO=m
+# CONFIG_PROC_GPIO_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+# CONFIG_PCMCIA_IOCTL is not set
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=m
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+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_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ALIGNMENT_HANDLING=0x2
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE 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_PM_SYSFS_DEPRECATED is not set
+CONFIG_APM_EMULATION=m
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+# CONFIG_NET_IPGRE 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
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=y
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+# CONFIG_BRIDGE_NETFILTER is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK_SUPPORT=y
+# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=m
+# CONFIG_NF_NAT_IRC is not set
+CONFIG_NF_NAT_TFTP=m
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+# CONFIG_IP6_NF_RAW is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES 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=m
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# 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=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_NET_SCH_CLK_JIFFIES is not set
+CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y
+# CONFIG_NET_SCH_CLK_CPU is not set
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+# CONFIG_NET_ACT_SIMP is not set
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_ESTIMATOR=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_GUMSTIX=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 is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+# CONFIG_BT_HCIUART_BCSP 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_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES 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=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 is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=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
+# CONFIG_SSFDC 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 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# 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 is not set
+# 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=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_GUMSTIX=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# 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
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=2
+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_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL 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_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# 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 is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# 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
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP 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
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_PATA_PCMCIA=m
+# CONFIG_PATA_PLATFORM 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_IFB is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_SMC91X=m
+CONFIG_SMC91X_GUMSTIX=m
+# CONFIG_DM9000 is not set
+CONFIG_SMC911X=m
+CONFIG_SMC911X_GUMSTIX=m
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA 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=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# 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
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# 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_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# 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_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_UCB1400=m
+# 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=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=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS 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=m
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# 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
+
+#
+# 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_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# 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
+
+#
+# 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_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSC2003 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=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=m
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_AT25 is not set
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+#CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+#CONFIG_FB_CFB_FILLRECT=y
+#CONFIG_FB_CFB_COPYAREA=y
+#CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SVGALIB is not set
+# 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
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+#CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_ALPS_CDOLLAR is not set
+# CONFIG_FB_PXA_SHARP_LQ043_PSP is not set
+#CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C=y
+# CONFIG_FB_PXA_NONEOFTHEABOVE is not set
+#CONFIG_FB_PXA_PARAMETERS=y
+# 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=y
+#CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+#CONFIG_FONT_7x14=y
+# 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
+
+#
+# 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 is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+# 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_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC=m
+
+#
+# SoC Platforms
+#
+
+#
+# SoC Audio for the Atmel AT91
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_AC97=m
+CONFIG_SND_PXA2XX_SOC_GUMSTIX=m
+CONFIG_SND_SOC_AC97_CODEC=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID Devices
+#
+CONFIG_HID=m
+# CONFIG_HID_DEBUG 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=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_SELECTED=y
+CONFIG_USB_GADGET_GUMSTIX=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_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU 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=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_PXA=m
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=m
+CONFIG_RTC_INTF_PROC=m
+CONFIG_RTC_INTF_DEV=m
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=m
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG 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_GFS2_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 is not set
+# 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=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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE 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=y
+# 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=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
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC 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_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
diff --git a/packages/nonworking/apache/apache/files/.mtn2git_empty b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/apache/apache/files/.mtn2git_empty
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/.mtn2git_empty
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig
new file mode 100644
index 0000000000..5a8728d26a
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig
@@ -0,0 +1,1791 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21
+# Thu Jan 31 08:45:53 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=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 is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+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 is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+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_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+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_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX 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_NS9XXX 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_GUMSTIX=y
+# 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_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+# CONFIG_ARCH_GUMSTIX_ORIG is not set
+# CONFIG_ARCH_GUMSTIX_F is not set
+CONFIG_ARCH_GUMSTIX_VERDEX=y
+CONFIG_PXA27x=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
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+CONFIG_IWMMXT=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_PROC_GPIO=m
+# CONFIG_PROC_GPIO_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+# CONFIG_PCMCIA_IOCTL is not set
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=m
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+CONFIG_NO_IDLE_HZ=y
+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_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ALIGNMENT_HANDLING=0x2
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE 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_PM_SYSFS_DEPRECATED is not set
+CONFIG_APM_EMULATION=m
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+# CONFIG_NET_IPGRE 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
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=y
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+# CONFIG_BRIDGE_NETFILTER is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK_SUPPORT=y
+# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=m
+# CONFIG_NF_NAT_IRC is not set
+CONFIG_NF_NAT_TFTP=m
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+# CONFIG_IP6_NF_RAW is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES 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=m
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# 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=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_NET_SCH_CLK_JIFFIES is not set
+CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y
+# CONFIG_NET_SCH_CLK_CPU is not set
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+# CONFIG_NET_ACT_SIMP is not set
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_ESTIMATOR=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_GUMSTIX=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 is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+# CONFIG_BT_HCIUART_BCSP is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X 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_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES 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=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 is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=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
+# CONFIG_SSFDC 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 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# 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 is not set
+# 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=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_GUMSTIX=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# 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
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=4
+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_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL 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_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# 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 is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# 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
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP 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
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_PATA_PCMCIA=m
+# CONFIG_PATA_PLATFORM 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_IFB is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_SMC91X=m
+CONFIG_SMC91X_GUMSTIX=m
+# CONFIG_DM9000 is not set
+CONFIG_SMC911X=m
+CONFIG_SMC911X_GUMSTIX=m
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA 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=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# 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
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_TSDEV=m
+CONFIG_INPUT_TSDEV_SCREEN_X=480
+CONFIG_INPUT_TSDEV_SCREEN_Y=272
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=m
+# 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_STOWAWAY is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# 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_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_UCB1400=m
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+# 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=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=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS 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=m
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# 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
+
+#
+# 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_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# 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
+
+#
+# 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_SENSORS_MAX6875 is not set
+CONFIG_SENSORS_TSC2003=m
+CONFIG_SENSORS_TSC2003_SYSFS=m
+# 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=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=m
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_AT25 is not set
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_ALPS_CDOLLAR is not set
+# CONFIG_FB_PXA_SHARP_LQ043_PSP is not set
+CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C=y
+# CONFIG_FB_PXA_NONEOFTHEABOVE is not set
+CONFIG_FB_PXA_PARAMETERS=y
+# 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=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+CONFIG_FONT_7x14=y
+# 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
+
+#
+# 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 is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+# 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_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC=m
+
+#
+# SoC Platforms
+#
+
+#
+# SoC Audio for the Atmel AT91
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_AC97=m
+CONFIG_SND_PXA2XX_SOC_GUMSTIX=m
+CONFIG_SND_SOC_AC97_CODEC=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID Devices
+#
+CONFIG_HID=m
+# CONFIG_HID_DEBUG 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_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_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV 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
+# CONFIG_USB_GTCO is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK 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_MII is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+CONFIG_USB_SERIAL_CP2101=m
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+# CONFIG_USB_SERIAL_PL2303 is not set
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OPTION is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX 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_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR 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=m
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_PXA=m
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=m
+CONFIG_RTC_INTF_PROC=m
+CONFIG_RTC_INTF_DEV=m
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=m
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG 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_GFS2_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 is not set
+# 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=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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE 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=y
+# 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=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
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC 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_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig-nofb b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig-nofb
new file mode 100644
index 0000000000..0634a90a94
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig-nofb
@@ -0,0 +1,1791 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21
+# Thu Jan 31 08:45:53 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=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 is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+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 is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+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_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+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_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX 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_NS9XXX 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_GUMSTIX=y
+# 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_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+# CONFIG_ARCH_GUMSTIX_ORIG is not set
+# CONFIG_ARCH_GUMSTIX_F is not set
+CONFIG_ARCH_GUMSTIX_VERDEX=y
+CONFIG_PXA27x=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
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+CONFIG_IWMMXT=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_PROC_GPIO=m
+# CONFIG_PROC_GPIO_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+# CONFIG_PCMCIA_IOCTL is not set
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=m
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+CONFIG_NO_IDLE_HZ=y
+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_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ALIGNMENT_HANDLING=0x2
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE 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_PM_SYSFS_DEPRECATED is not set
+CONFIG_APM_EMULATION=m
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+# CONFIG_NET_IPGRE 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
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=y
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+# CONFIG_BRIDGE_NETFILTER is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK_SUPPORT=y
+# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=m
+# CONFIG_NF_NAT_IRC is not set
+CONFIG_NF_NAT_TFTP=m
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+# CONFIG_IP6_NF_RAW is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES 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=m
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# 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=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_NET_SCH_CLK_JIFFIES is not set
+CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y
+# CONFIG_NET_SCH_CLK_CPU is not set
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+# CONFIG_NET_ACT_SIMP is not set
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_ESTIMATOR=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_GUMSTIX=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 is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+# CONFIG_BT_HCIUART_BCSP is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X 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_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES 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=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 is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=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
+# CONFIG_SSFDC 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 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# 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 is not set
+# 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=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_GUMSTIX=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# 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
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=m
+CONFIG_IDE_MAX_HWIFS=4
+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_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL 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_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# 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 is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# 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
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP 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
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_PATA_PCMCIA=m
+# CONFIG_PATA_PLATFORM 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_IFB is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_SMC91X=m
+CONFIG_SMC91X_GUMSTIX=m
+# CONFIG_DM9000 is not set
+CONFIG_SMC911X=m
+CONFIG_SMC911X_GUMSTIX=m
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA 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=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# 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
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_TSDEV=m
+CONFIG_INPUT_TSDEV_SCREEN_X=480
+CONFIG_INPUT_TSDEV_SCREEN_Y=272
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=m
+# 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_STOWAWAY is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# 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_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_UCB1400=m
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=m
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_LIBPS2=m
+# 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=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=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS 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=m
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# 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
+
+#
+# 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_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# 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
+
+#
+# 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_SENSORS_MAX6875 is not set
+CONFIG_SENSORS_TSC2003=m
+CONFIG_SENSORS_TSC2003_SYSFS=m
+# 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=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=m
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_AT25 is not set
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+#CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+#CONFIG_FB_CFB_FILLRECT=y
+#CONFIG_FB_CFB_COPYAREA=y
+#CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+#CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+#CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_ALPS_CDOLLAR is not set
+# CONFIG_FB_PXA_SHARP_LQ043_PSP is not set
+#CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C=y
+# CONFIG_FB_PXA_NONEOFTHEABOVE is not set
+#CONFIG_FB_PXA_PARAMETERS=y
+# 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=y
+#CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+#CONFIG_FONT_7x14=y
+# 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
+
+#
+# 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 is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+# 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_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC=m
+
+#
+# SoC Platforms
+#
+
+#
+# SoC Audio for the Atmel AT91
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_AC97=m
+CONFIG_SND_PXA2XX_SOC_GUMSTIX=m
+CONFIG_SND_SOC_AC97_CODEC=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID Devices
+#
+CONFIG_HID=m
+# CONFIG_HID_DEBUG 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_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_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV 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
+# CONFIG_USB_GTCO is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK 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_MII is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+CONFIG_USB_SERIAL_CP2101=m
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+# CONFIG_USB_SERIAL_PL2303 is not set
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OPTION is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX 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_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR 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=m
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_PXA=m
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=m
+CONFIG_RTC_INTF_PROC=m
+CONFIG_RTC_INTF_DEV=m
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=m
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG 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_GFS2_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 is not set
+# 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=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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE 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=y
+# 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=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
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC 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_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-fb-logo.patch b/packages/linux/gumstix-kernel-2.6.21/gumstix-fb-logo.patch
new file mode 100644
index 0000000000..436b3b2e08
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-fb-logo.patch
@@ -0,0 +1,10455 @@
+Index: linux-2.6.21gum/drivers/video/logo/logo_linux_clut224.ppm
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/logo/logo_linux_clut224.ppm
++++ linux-2.6.21gum/drivers/video/logo/logo_linux_clut224.ppm
+@@ -1,1604 +1,8848 @@
+ P3
+-# Standard 224-color Linux logo
+-80 80
++480 145
+ 255
+- 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 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 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 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 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 10 10 10 10 10 10
+- 10 10 10 6 6 6 6 6 6 6 6 6
+- 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 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 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 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 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 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 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 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 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 22 22 22 26 26 26 30 30 30 34 34 34
+- 30 30 30 30 30 30 26 26 26 18 18 18
+- 14 14 14 10 10 10 6 6 6 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 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 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
+- 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 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 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 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 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
+- 6 6 6 14 14 14 26 26 26 42 42 42
+- 54 54 54 66 66 66 78 78 78 78 78 78
+- 78 78 78 74 74 74 66 66 66 54 54 54
+- 42 42 42 26 26 26 18 18 18 10 10 10
+- 6 6 6 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 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 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 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 0 0 0 0 0
+- 0 0 1 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 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 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 0 0 0 10 10 10
+- 22 22 22 42 42 42 66 66 66 86 86 86
+- 66 66 66 38 38 38 38 38 38 22 22 22
+- 26 26 26 34 34 34 54 54 54 66 66 66
+- 86 86 86 70 70 70 46 46 46 26 26 26
+- 14 14 14 6 6 6 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 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 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 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 0 0
+- 0 0 1 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 50 50 50 82 82 82 58 58 58 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 54 54 54 86 86 86 66 66 66
+- 38 38 38 18 18 18 6 6 6 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 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 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
+- 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 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 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 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 78 78 78 34 34 34 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 70 70 70
+- 78 78 78 46 46 46 22 22 22 6 6 6
+- 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 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 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 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 42 42 42 82 82 82
+- 26 26 26 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 46 46 46 34 34 34 6 6 6 2 2 6
+- 42 42 42 78 78 78 42 42 42 18 18 18
+- 6 6 6 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 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 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 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 30 30 30 66 66 66 58 58 58
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 86 86 86 101 101 101 46 46 46 10 10 10
+- 2 2 6 58 58 58 70 70 70 34 34 34
+- 10 10 10 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 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 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 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 86 86 86 10 10 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 30 30 30
+- 94 94 94 94 94 94 58 58 58 26 26 26
+- 2 2 6 6 6 6 78 78 78 54 54 54
+- 22 22 22 6 6 6 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 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 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 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 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 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
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 62 62 62 62 62 62 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 54 54 54 38 38 38 18 18 18 10 10 10
+- 2 2 6 2 2 6 34 34 34 82 82 82
+- 38 38 38 14 14 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 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 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 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 10 10 10 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 50 50 50 18 18 18 6 6 6 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 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 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 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 54 54 54
+- 66 66 66 26 26 26 6 6 6 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 82 82 82 2 2 6 2 2 6
+- 2 2 6 6 6 6 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 14 14 14 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 18 18 18
+- 82 82 82 34 34 34 10 10 10 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 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 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 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 6 6 6 6 6 6 22 22 22 34 34 34
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 34 34 34
+- 10 10 10 50 50 50 22 22 22 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 86 86 86 42 42 42 14 14 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 38 38 38 116 116 116 94 94 94 22 22 22
+- 22 22 22 2 2 6 2 2 6 2 2 6
+- 14 14 14 86 86 86 138 138 138 162 162 162
+-154 154 154 38 38 38 26 26 26 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 46 46 46 14 14 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 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 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
+- 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 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 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 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 14 14 14
+-134 134 134 198 198 198 195 195 195 116 116 116
+- 10 10 10 2 2 6 2 2 6 6 6 6
+-101 98 89 187 187 187 210 210 210 218 218 218
+-214 214 214 134 134 134 14 14 14 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 50 50 50 18 18 18 6 6 6
+- 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 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 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 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 54 54 54
+-218 218 218 195 195 195 226 226 226 246 246 246
+- 58 58 58 2 2 6 2 2 6 30 30 30
+-210 210 210 253 253 253 174 174 174 123 123 123
+-221 221 221 234 234 234 74 74 74 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 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 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 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 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 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 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 0 0 0 14 14 14
+- 46 46 46 82 82 82 2 2 6 106 106 106
+-170 170 170 26 26 26 86 86 86 226 226 226
+-123 123 123 10 10 10 14 14 14 46 46 46
+-231 231 231 190 190 190 6 6 6 70 70 70
+- 90 90 90 238 238 238 158 158 158 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 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 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 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 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 86 86 86 6 6 6 116 116 116
+-106 106 106 6 6 6 70 70 70 149 149 149
+-128 128 128 18 18 18 38 38 38 54 54 54
+-221 221 221 106 106 106 2 2 6 14 14 14
+- 46 46 46 190 190 190 198 198 198 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 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 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 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 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 0 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 94 94 94 14 14 14 101 101 101
+-128 128 128 2 2 6 18 18 18 116 116 116
+-118 98 46 121 92 8 121 92 8 98 78 10
+-162 162 162 106 106 106 2 2 6 2 2 6
+- 2 2 6 195 195 195 195 195 195 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 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 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 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 0 0 0 0 0 1 0 0 1
+- 0 0 1 0 0 0 0 0 1 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 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 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 90 90 90 14 14 14 58 58 58
+-210 210 210 26 26 26 54 38 6 154 114 10
+-226 170 11 236 186 11 225 175 15 184 144 12
+-215 174 15 175 146 61 37 26 9 2 2 6
+- 70 70 70 246 246 246 138 138 138 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 66 66 66 26 26 26 6 6 6
+- 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 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 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 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 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 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 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 10 10 10
+-195 195 195 188 164 115 192 133 9 225 175 15
+-239 182 13 234 190 10 232 195 16 232 200 30
+-245 207 45 241 208 19 232 195 16 184 144 12
+-218 194 134 211 206 186 42 42 42 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 74 74 74 30 30 30 6 6 6
+- 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 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 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 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 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 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 0 0 0 10 10 10
+- 34 34 34 86 86 86 14 14 14 2 2 6
+-121 87 25 192 133 9 219 162 10 239 182 13
+-236 186 11 232 195 16 241 208 19 244 214 54
+-246 218 60 246 218 38 246 215 20 241 208 19
+-241 208 19 226 184 13 121 87 25 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 82 82 82 34 34 34 10 10 10
+- 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 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 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 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 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 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 0 0 0 10 10 10
+- 34 34 34 82 82 82 30 30 30 61 42 6
+-180 123 7 206 145 10 230 174 11 239 182 13
+-234 190 10 238 202 15 241 208 19 246 218 74
+-246 218 38 246 215 20 246 215 20 246 215 20
+-226 184 13 215 174 15 184 144 12 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 26 26 26 94 94 94 42 42 42 14 14 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 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 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 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 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 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 0 0 0 10 10 10
+- 30 30 30 78 78 78 50 50 50 104 69 6
+-192 133 9 216 158 10 236 178 12 236 186 11
+-232 195 16 241 208 19 244 214 54 245 215 43
+-246 215 20 246 215 20 241 208 19 198 155 10
+-200 144 11 216 158 10 156 118 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 90 90 90 54 54 54 18 18 18
+- 6 6 6 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 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 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 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 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 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 10 10 10
+- 30 30 30 78 78 78 46 46 46 22 22 22
+-137 92 6 210 162 10 239 182 13 238 190 10
+-238 202 15 241 208 19 246 215 20 246 215 20
+-241 208 19 203 166 17 185 133 11 210 150 10
+-216 158 10 210 150 10 102 78 10 2 2 6
+- 6 6 6 54 54 54 14 14 14 2 2 6
+- 2 2 6 62 62 62 74 74 74 30 30 30
+- 10 10 10 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 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 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 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 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 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 10 10 10
+- 34 34 34 78 78 78 50 50 50 6 6 6
+- 94 70 30 139 102 15 190 146 13 226 184 13
+-232 200 30 232 195 16 215 174 15 190 146 13
+-168 122 10 192 133 9 210 150 10 213 154 11
+-202 150 34 182 157 106 101 98 89 2 2 6
+- 2 2 6 78 78 78 116 116 116 58 58 58
+- 2 2 6 22 22 22 90 90 90 46 46 46
+- 18 18 18 6 6 6 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 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 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 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 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 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 50 50 50 6 6 6
+-128 128 128 174 154 114 156 107 11 168 122 10
+-198 155 10 184 144 12 197 138 11 200 144 11
+-206 145 10 206 145 10 197 138 11 188 164 115
+-195 195 195 198 198 198 174 174 174 14 14 14
+- 2 2 6 22 22 22 116 116 116 116 116 116
+- 22 22 22 2 2 6 74 74 74 70 70 70
+- 30 30 30 10 10 10 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 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 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 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 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 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 101 101 101 26 26 26 10 10 10
+-138 138 138 190 190 190 174 154 114 156 107 11
+-197 138 11 200 144 11 197 138 11 192 133 9
+-180 123 7 190 142 34 190 178 144 187 187 187
+-202 202 202 221 221 221 214 214 214 66 66 66
+- 2 2 6 2 2 6 50 50 50 62 62 62
+- 6 6 6 2 2 6 10 10 10 90 90 90
+- 50 50 50 18 18 18 6 6 6 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 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 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
+- 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 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 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 34 34 34
+- 74 74 74 74 74 74 2 2 6 6 6 6
+-144 144 144 198 198 198 190 190 190 178 166 146
+-154 121 60 156 107 11 156 107 11 168 124 44
+-174 154 114 187 187 187 190 190 190 210 210 210
+-246 246 246 253 253 253 253 253 253 182 182 182
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 62 62 62
+- 74 74 74 34 34 34 14 14 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 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 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
+- 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 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 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 22 22 22 54 54 54
+- 94 94 94 18 18 18 2 2 6 46 46 46
+-234 234 234 221 221 221 190 190 190 190 190 190
+-190 190 190 187 187 187 187 187 187 190 190 190
+-190 190 190 195 195 195 214 214 214 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+- 82 82 82 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 86 86 86 54 54 54 22 22 22 6 6 6
+- 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 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 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 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 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 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 46 46 46 90 90 90
+- 46 46 46 18 18 18 6 6 6 182 182 182
+-253 253 253 246 246 246 206 206 206 190 190 190
+-190 190 190 190 190 190 190 190 190 190 190 190
+-206 206 206 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-202 202 202 14 14 14 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 86 86 86 42 42 42 18 18 18
+- 6 6 6 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 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 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 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 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 0 6 6 6
+- 14 14 14 38 38 38 74 74 74 66 66 66
+- 2 2 6 6 6 6 90 90 90 250 250 250
+-253 253 253 253 253 253 238 238 238 198 198 198
+-190 190 190 190 190 190 195 195 195 221 221 221
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 82 82 82 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 78 78 78 70 70 70 34 34 34
+- 14 14 14 6 6 6 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 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 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 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 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 66 66 66 78 78 78 6 6 6
+- 2 2 6 18 18 18 218 218 218 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-226 226 226 231 231 231 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 178 178 178 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 18 18 18 90 90 90 62 62 62
+- 30 30 30 10 10 10 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 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 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 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 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 58 58 58 90 90 90 18 18 18 2 2 6
+- 2 2 6 110 110 110 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 18 18 18 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 94 94 94
+- 54 54 54 26 26 26 10 10 10 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 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 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
+- 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 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 90 90 90 26 26 26 2 2 6 2 2 6
+- 14 14 14 195 195 195 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 242 242 242 54 54 54 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 86 86 86 50 50 50 22 22 22 6 6 6
+- 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 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 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 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 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 38 38 38 82 82 82
+- 34 34 34 2 2 6 2 2 6 2 2 6
+- 42 42 42 195 195 195 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 242 242 242 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 246 246 246 238 238 238
+-226 226 226 231 231 231 101 101 101 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 38 38 38 82 82 82 42 42 42 14 14 14
+- 6 6 6 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 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 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 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 0 0 0 0 0
+- 10 10 10 26 26 26 62 62 62 66 66 66
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 70 70 70 170 170 170 206 206 206 234 234 234
+-246 246 246 250 250 250 250 250 250 238 238 238
+-226 226 226 231 231 231 238 238 238 250 250 250
+-250 250 250 250 250 250 246 246 246 231 231 231
+-214 214 214 206 206 206 202 202 202 202 202 202
+-198 198 198 202 202 202 182 182 182 18 18 18
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 62 62 62 66 66 66 30 30 30
+- 10 10 10 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 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 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 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 0 0 0 0 0
+- 14 14 14 42 42 42 82 82 82 18 18 18
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 94 94 94 182 182 182 218 218 218 242 242 242
+-250 250 250 253 253 253 253 253 253 250 250 250
+-234 234 234 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-238 238 238 226 226 226 210 210 210 202 202 202
+-195 195 195 195 195 195 210 210 210 158 158 158
+- 6 6 6 14 14 14 50 50 50 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 86 86 86 46 46 46
+- 18 18 18 6 6 6 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 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 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 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 70 70 70 2 2 6
+- 2 2 6 10 10 10 2 2 6 22 22 22
+-166 166 166 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-231 231 231 206 206 206 198 198 198 226 226 226
+- 94 94 94 2 2 6 6 6 6 38 38 38
+- 30 30 30 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 62 62 62 66 66 66
+- 26 26 26 10 10 10 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 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 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 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 50 50 50 2 2 6
+- 26 26 26 26 26 26 2 2 6 106 106 106
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 218 218 218 202 202 202
+-210 210 210 14 14 14 2 2 6 2 2 6
+- 30 30 30 22 22 22 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 86 86 86
+- 42 42 42 14 14 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 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 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 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 90 90 90 22 22 22 2 2 6
+- 42 42 42 2 2 6 18 18 18 218 218 218
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 221 221 221
+-218 218 218 101 101 101 2 2 6 14 14 14
+- 18 18 18 38 38 38 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 58 58 58 22 22 22 6 6 6 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 82 82 82 2 2 6 26 26 26
+- 22 22 22 2 2 6 123 123 123 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-238 238 238 198 198 198 6 6 6 38 38 38
+- 58 58 58 26 26 26 38 38 38 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 78 78 78 30 30 30 10 10 10 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 30 30 30
+- 74 74 74 58 58 58 2 2 6 42 42 42
+- 2 2 6 22 22 22 231 231 231 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 46 46 46 38 38 38
+- 42 42 42 14 14 14 38 38 38 14 14 14
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 86 86 86 46 46 46 14 14 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 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 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
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 42 42 42
+- 90 90 90 18 18 18 18 18 18 26 26 26
+- 2 2 6 116 116 116 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 94 94 94 6 6 6
+- 2 2 6 2 2 6 10 10 10 34 34 34
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 58 58 58 22 22 22 6 6 6
+- 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 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 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 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 26 26 26 66 66 66
+- 82 82 82 2 2 6 38 38 38 6 6 6
+- 14 14 14 210 210 210 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 246 246 246 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 144 144 144 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 74 74 74 30 30 30 10 10 10
+- 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 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 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 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 42 42 42 90 90 90
+- 26 26 26 6 6 6 42 42 42 2 2 6
+- 74 74 74 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 242 242 242 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 182 182 182 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 10 10 10 86 86 86 38 38 38 10 10 10
+- 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 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 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 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 66 66 66 82 82 82
+- 2 2 6 22 22 22 18 18 18 2 2 6
+-149 149 149 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 86 86 86 46 46 46 14 14 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 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 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 0 0 0 0 0 0 6 6 6
+- 18 18 18 46 46 46 86 86 86 18 18 18
+- 2 2 6 34 34 34 10 10 10 6 6 6
+-210 210 210 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 221 221 221 6 6 6
+- 2 2 6 2 2 6 6 6 6 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 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 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 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 0 0 0 10 10 10
+- 26 26 26 66 66 66 62 62 62 2 2 6
+- 2 2 6 38 38 38 10 10 10 26 26 26
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 6 6 6
+- 2 2 6 2 2 6 10 10 10 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 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 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 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 0 0 0 10 10 10
+- 38 38 38 78 78 78 6 6 6 2 2 6
+- 2 2 6 46 46 46 14 14 14 42 42 42
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 10 10 10
+- 2 2 6 2 2 6 22 22 22 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 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 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 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 6 6 6 18 18 18
+- 50 50 50 74 74 74 2 2 6 2 2 6
+- 14 14 14 70 70 70 34 34 34 62 62 62
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 14 14 14
+- 2 2 6 2 2 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 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 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 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 6 6 6 18 18 18
+- 54 54 54 62 62 62 2 2 6 2 2 6
+- 2 2 6 30 30 30 46 46 46 70 70 70
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 226 226 226 10 10 10
+- 2 2 6 6 6 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 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 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 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 6 6 6 22 22 22
+- 58 58 58 62 62 62 2 2 6 2 2 6
+- 2 2 6 2 2 6 30 30 30 78 78 78
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 22 22 22 34 34 34 18 14 6 22 22 22
+- 26 26 26 18 18 18 6 6 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 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 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 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 6 6 6 26 26 26
+- 62 62 62 106 106 106 74 54 14 185 133 11
+-210 162 10 121 92 8 6 6 6 62 62 62
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 158 158 158 18 18 18
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 6 6 6 18 18 18 66 66 66 38 38 38
+- 6 6 6 94 94 94 50 50 50 18 18 18
+- 6 6 6 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 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 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 10 10 10 10 10 10 18 18 18 38 38 38
+- 78 78 78 142 134 106 216 158 10 242 186 14
+-246 190 14 246 190 14 156 118 10 10 10 10
+- 90 90 90 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 230 190
+-238 204 91 238 204 91 181 142 44 37 26 9
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 38 38 38 46 46 46
+- 26 26 26 106 106 106 54 54 54 18 18 18
+- 6 6 6 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 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 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 22 22 22
+- 30 30 30 38 38 38 50 50 50 70 70 70
+-106 106 106 190 142 34 226 170 11 242 186 14
+-246 190 14 246 190 14 246 190 14 154 114 10
+- 6 6 6 74 74 74 226 226 226 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 228 184 62
+-241 196 14 241 208 19 232 195 16 38 30 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 30 30 30 26 26 26
+-203 166 17 154 142 90 66 66 66 26 26 26
+- 6 6 6 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 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 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 38 38 38 58 58 58
+- 78 78 78 86 86 86 101 101 101 123 123 123
+-175 146 61 210 150 10 234 174 13 246 186 14
+-246 190 14 246 190 14 246 190 14 238 190 10
+-102 78 10 2 2 6 46 46 46 198 198 198
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 224 178 62
+-242 186 14 241 196 14 210 166 10 22 18 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 121 92 8
+-238 202 15 232 195 16 82 82 82 34 34 34
+- 10 10 10 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 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 0 0 0 0 0 0 0
+- 14 14 14 38 38 38 70 70 70 154 122 46
+-190 142 34 200 144 11 197 138 11 197 138 11
+-213 154 11 226 170 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-225 175 15 46 32 6 2 2 6 22 22 22
+-158 158 158 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 242 242 242 224 178 62
+-239 182 13 236 186 11 213 154 11 46 32 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 225 175 15
+-238 190 10 236 186 11 112 100 78 42 42 42
+- 14 14 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 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 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 154 122 46 213 154 11
+-226 170 11 230 174 11 226 170 11 226 170 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 184 144 12 10 10 10 2 2 6
+- 6 6 6 116 116 116 242 242 242 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 198 198 198 214 170 54
+-236 178 12 236 178 12 210 150 10 137 92 6
+- 18 14 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 70 47 6 200 144 11 236 178 12
+-239 182 13 239 182 13 124 112 88 58 58 58
+- 22 22 22 6 6 6 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 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 0 10 10 10
+- 30 30 30 70 70 70 180 133 36 226 170 11
+-239 182 13 242 186 14 242 186 14 246 186 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 98 70 6 2 2 6
+- 2 2 6 2 2 6 66 66 66 221 221 221
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 206 206 206 198 198 198 214 166 58
+-230 174 11 230 174 11 216 158 10 192 133 9
+-163 110 8 116 81 8 102 78 10 116 81 8
+-167 114 7 197 138 11 226 170 11 239 182 13
+-242 186 14 242 186 14 162 146 94 78 78 78
+- 34 34 34 14 14 14 6 6 6 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 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 190 142 34 226 170 11
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 241 196 14 203 166 17 22 18 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+-218 218 218 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 206 206 206 198 198 198 202 162 69
+-226 170 11 236 178 12 224 166 10 210 150 10
+-200 144 11 197 138 11 192 133 9 197 138 11
+-210 150 10 226 170 11 242 186 14 246 190 14
+-246 190 14 246 186 14 225 175 15 124 112 88
+- 62 62 62 30 30 30 14 14 14 6 6 6
+- 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 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 174 135 50 224 166 10
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 139 102 15
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 78 78 78 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 214 214 214 198 198 198 190 150 46
+-219 162 10 236 178 12 234 174 13 224 166 10
+-216 158 10 213 154 11 213 154 11 216 158 10
+-226 170 11 239 182 13 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 206 162 42
+-101 101 101 58 58 58 30 30 30 14 14 14
+- 6 6 6 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 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 174 135 50 216 158 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 226 184 13
+- 61 42 6 2 2 6 2 2 6 2 2 6
+- 22 22 22 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 226 226 226 187 187 187 180 133 36
+-216 158 10 236 178 12 239 182 13 236 178 12
+-230 174 11 226 170 11 226 170 11 230 174 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 186 14 239 182 13
+-206 162 42 106 106 106 66 66 66 34 34 34
+- 14 14 14 6 6 6 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 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 213 154 11
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 241 196 14
+-190 146 13 18 14 6 2 2 6 2 2 6
+- 46 46 46 246 246 246 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 221 221 221 86 86 86 156 107 11
+-216 158 10 236 178 12 242 186 14 246 186 14
+-242 186 14 239 182 13 239 182 13 242 186 14
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 225 175 15 142 122 72 66 66 66
+- 30 30 30 10 10 10 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 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 210 150 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-232 195 16 121 92 8 34 34 34 106 106 106
+-221 221 221 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-242 242 242 82 82 82 18 14 6 163 110 8
+-216 158 10 236 178 12 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 163 133 67
+- 46 46 46 18 18 18 6 6 6 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 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 163 133 67 210 150 10
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 215 174 15 190 178 144 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 218 218 218
+- 58 58 58 2 2 6 22 18 6 167 114 7
+-216 158 10 236 178 12 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 186 14 242 186 14 190 150 46
+- 54 54 54 22 22 22 6 6 6 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 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 38 38 38 86 86 86 180 133 36 213 154 11
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 190 146 13 214 214 214
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 170 170 170 26 26 26
+- 2 2 6 2 2 6 37 26 9 163 110 8
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 224 166 10 142 122 72
+- 46 46 46 18 18 18 6 6 6 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 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 109 106 95 192 133 9 224 166 10
+-242 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 226 184 13 210 162 10 142 110 46
+-226 226 226 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-198 198 198 66 66 66 2 2 6 2 2 6
+- 2 2 6 2 2 6 50 34 6 156 107 11
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 242 186 14
+-234 174 13 213 154 11 154 122 46 66 66 66
+- 30 30 30 10 10 10 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 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 154 121 60 206 145 10 234 174 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 210 162 10 163 110 8
+- 61 42 6 138 138 138 218 218 218 250 250 250
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 210 210 210 144 144 144 66 66 66
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 163 110 8
+-216 158 10 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 239 182 13 230 174 11 216 158 10
+-190 142 34 124 112 88 70 70 70 38 38 38
+- 18 18 18 6 6 6 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 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 62 62 62 168 124 44 206 145 10 224 166 10
+-236 178 12 239 182 13 242 186 14 242 186 14
+-246 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 236 178 12 216 158 10 175 118 6
+- 80 54 7 2 2 6 6 6 6 30 30 30
+- 54 54 54 62 62 62 50 50 50 38 38 38
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 167 114 7
+-213 154 11 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 242 186 14 239 182 13 239 182 13
+-230 174 11 210 150 10 174 135 50 124 112 88
+- 82 82 82 54 54 54 34 34 34 18 18 18
+- 6 6 6 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 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 158 118 36 192 133 9 200 144 11
+-216 158 10 219 162 10 224 166 10 226 170 11
+-230 174 11 236 178 12 239 182 13 239 182 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 230 174 11 210 150 10 163 110 8
+-104 69 6 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 91 60 6 167 114 7
+-206 145 10 230 174 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 186 14 242 186 14
+-239 182 13 230 174 11 224 166 10 213 154 11
+-180 133 36 124 112 88 86 86 86 58 58 58
+- 38 38 38 22 22 22 10 10 10 6 6 6
+- 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 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 70 70 70 138 110 50 158 118 36
+-167 114 7 180 123 7 192 133 9 197 138 11
+-200 144 11 206 145 10 213 154 11 219 162 10
+-224 166 10 230 174 11 239 182 13 242 186 14
+-246 186 14 246 186 14 246 186 14 246 186 14
+-239 182 13 216 158 10 185 133 11 152 99 6
+-104 69 6 18 14 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 152 99 6
+-192 133 9 219 162 10 236 178 12 239 182 13
+-246 186 14 242 186 14 239 182 13 236 178 12
+-224 166 10 206 145 10 192 133 9 154 121 60
+- 94 94 94 62 62 62 42 42 42 22 22 22
+- 14 14 14 6 6 6 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 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 0 6 6 6
+- 18 18 18 34 34 34 58 58 58 78 78 78
+-101 98 89 124 112 88 142 110 46 156 107 11
+-163 110 8 167 114 7 175 118 6 180 123 7
+-185 133 11 197 138 11 210 150 10 219 162 10
+-226 170 11 236 178 12 236 178 12 234 174 13
+-219 162 10 197 138 11 163 110 8 130 83 6
+- 91 60 6 10 10 10 2 2 6 2 2 6
+- 18 18 18 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 26 26 26 2 2 6
+- 2 2 6 6 6 6 70 47 6 137 92 6
+-175 118 6 200 144 11 219 162 10 230 174 11
+-234 174 13 230 174 11 219 162 10 210 150 10
+-192 133 9 163 110 8 124 112 88 82 82 82
+- 50 50 50 30 30 30 14 14 14 6 6 6
+- 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 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 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 22 22 22 34 34 34
+- 42 42 42 58 58 58 74 74 74 86 86 86
+-101 98 89 122 102 70 130 98 46 121 87 25
+-137 92 6 152 99 6 163 110 8 180 123 7
+-185 133 11 197 138 11 206 145 10 200 144 11
+-180 123 7 156 107 11 130 83 6 104 69 6
+- 50 34 6 54 54 54 110 110 110 101 98 89
+- 86 86 86 82 82 82 78 78 78 78 78 78
+- 78 78 78 78 78 78 78 78 78 78 78 78
+- 78 78 78 82 82 82 86 86 86 94 94 94
+-106 106 106 101 101 101 86 66 34 124 80 6
+-156 107 11 180 123 7 192 133 9 200 144 11
+-206 145 10 200 144 11 192 133 9 175 118 6
+-139 102 15 109 106 95 70 70 70 42 42 42
+- 22 22 22 10 10 10 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 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 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 10 10 10
+- 14 14 14 22 22 22 30 30 30 38 38 38
+- 50 50 50 62 62 62 74 74 74 90 90 90
+-101 98 89 112 100 78 121 87 25 124 80 6
+-137 92 6 152 99 6 152 99 6 152 99 6
+-138 86 6 124 80 6 98 70 6 86 66 30
+-101 98 89 82 82 82 58 58 58 46 46 46
+- 38 38 38 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 38 38 38 42 42 42
+- 54 54 54 82 82 82 94 86 76 91 60 6
+-134 86 6 156 107 11 167 114 7 175 118 6
+-175 118 6 167 114 7 152 99 6 121 87 25
+-101 98 89 62 62 62 34 34 34 18 18 18
+- 6 6 6 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 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 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 0 0 0 0 0 0
+- 0 0 0 6 6 6 6 6 6 10 10 10
+- 18 18 18 22 22 22 30 30 30 42 42 42
+- 50 50 50 66 66 66 86 86 86 101 98 89
+-106 86 58 98 70 6 104 69 6 104 69 6
+-104 69 6 91 60 6 82 62 34 90 90 90
+- 62 62 62 38 38 38 22 22 22 14 14 14
+- 10 10 10 10 10 10 10 10 10 10 10 10
+- 10 10 10 10 10 10 6 6 6 10 10 10
+- 10 10 10 10 10 10 10 10 10 14 14 14
+- 22 22 22 42 42 42 70 70 70 89 81 66
+- 80 54 7 104 69 6 124 80 6 137 92 6
+-134 86 6 116 81 8 100 82 52 86 86 86
+- 58 58 58 30 30 30 14 14 14 6 6 6
+- 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 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 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 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 18 18 18 26 26 26 38 38 38 54 54 54
+- 70 70 70 86 86 86 94 86 76 89 81 66
+- 89 81 66 86 86 86 74 74 74 50 50 50
+- 30 30 30 14 14 14 6 6 6 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 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 34 34 34 58 58 58
+- 82 82 82 89 81 66 89 81 66 89 81 66
+- 94 86 66 94 86 76 74 74 74 50 50 50
+- 26 26 26 14 14 14 6 6 6 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 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 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
+- 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 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 14 14 14 18 18 18
+- 30 30 30 38 38 38 46 46 46 54 54 54
+- 50 50 50 42 42 42 30 30 30 18 18 18
+- 10 10 10 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 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 26 26 26
+- 38 38 38 50 50 50 58 58 58 58 58 58
+- 54 54 54 42 42 42 30 30 30 18 18 18
+- 10 10 10 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 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 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 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 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 0 6 6 6
+- 6 6 6 10 10 10 14 14 14 18 18 18
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 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 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 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 18 18 18 22 22 22 22 22 22
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 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 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 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 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 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 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 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 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 0 0 0 0
++8 8 8 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 17 17 17 44 44 44
++17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 27 27 27 45 45 45
++28 28 28 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 16 16 16 49 49 49
++38 38 38 3 3 3 0 0 0 6 6 6 3 3 3 0 0 0 16 16 16 49 49 49
++50 50 50 13 13 13 0 0 0 4 4 4 3 3 3 0 0 0 14 14 14 44 44 44
++56 56 56 21 21 21 0 0 0 0 0 0 8 8 8 0 0 0 8 8 8 45 45 45
++57 57 57 29 29 29 0 0 0 0 0 0 6 6 6 0 0 0 11 11 11 46 46 46
++59 59 59 29 29 29 0 0 0 0 0 0 4 4 4 0 0 0 8 8 8 42 42 42
++59 59 59 37 37 37 8 8 8 0 0 0 3 3 3 0 0 0 0 0 0 28 28 28
++63 63 63 36 36 36 10 10 10 3 3 3 0 0 0 3 3 3 8 8 8 10 10 10
++56 56 56 43 43 43 20 20 20 8 8 8 11 11 11 10 10 10 4 4 4 10 10 10
++52 52 52 38 38 38 13 13 13 0 0 0 10 10 10 10 10 10 3 3 3 8 8 8
++43 43 43 40 40 40 19 19 19 13 13 13 32 32 32 25 25 25 4 4 4 11 11 11
++29 29 29 43 43 43 25 25 25 0 0 0 11 11 11 13 13 13 3 3 3 13 13 13
++14 14 14 11 11 11 8 8 8 8 8 8 10 10 10 11 11 11 11 11 11 13 13 13
++13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 16 16 16 16 16 16 17 17 17
++17 17 17 16 16 16 19 19 19 23 23 23 19 19 19 11 11 11 14 14 14 23 23 23
++14 14 14 32 32 32 38 38 38 37 37 37 40 40 40 43 43 43 43 43 43 46 46 46
++45 45 45 40 40 40 44 44 44 49 49 49 42 42 42 27 27 27 21 21 21 28 28 28
++25 25 25 28 28 28 25 25 25 45 45 45 70 70 70 58 58 58 31 31 31 29 29 29
++29 29 29 34 34 34 70 70 70 51 51 51 42 42 42 56 56 56 29 29 29 42 42 42
++70 70 70 36 36 36 28 28 28 28 28 28 27 27 27 62 62 62 76 76 76 39 39 39
++32 32 32 25 25 25 33 33 33 49 49 49 68 68 68 52 52 52 49 49 49 50 50 50
++49 49 49 52 52 52 49 49 49 43 43 43 28 28 28 33 33 33 62 62 62 73 73 73
++76 76 76 63 63 63 33 33 33 28 28 28 65 65 65 71 71 71 66 66 66 34 34 34
++32 32 32 54 54 54 65 65 65 54 54 54 37 37 37 27 27 27 40 40 40 65 65 65
++39 39 39 44 44 44 54 54 54 70 70 70 73 73 73 53 53 53 42 42 42 53 53 53
++59 59 59 58 58 58 36 36 36 29 29 29 27 27 27 42 42 42 49 49 49 68 68 68
++43 43 43 20 20 20 42 42 42 54 54 54 42 42 42 33 33 33 27 27 27 31 31 31
++32 32 32 34 34 34 48 48 48 52 52 52 38 38 38 25 25 25 27 27 27 31 31 31
++28 28 28 28 28 28 27 27 27 27 27 27 27 27 27 27 27 27 25 25 25 24 24 24
++42 42 42 39 39 39 27 27 27 25 25 25 19 19 19 27 27 27 17 17 17 27 27 27
++19 19 19 23 23 23 20 20 20 27 27 27 23 23 23 28 28 28 48 48 48 39 39 39
++27 27 27 24 24 24 21 21 21 20 20 20 21 21 21 24 24 24 24 24 24 24 24 24
++33 33 33 46 46 46 49 49 49 43 43 43 44 44 44 43 43 43 42 42 42 46 46 46
++43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 42 42 42 42 42 42 42 42 42
++37 37 37 42 42 42 45 45 45 45 45 45 39 39 39 33 33 33 31 31 31 29 29 29
++31 31 31 29 29 29 27 27 27 25 25 25 25 25 25 28 28 28 29 29 29 31 31 31
++23 23 23 21 21 21 28 28 28 25 25 25 31 31 31 42 42 42 33 33 33 24 24 24
++23 23 23 16 16 16 31 31 31 27 27 27 14 14 14 23 23 23 28 28 28 36 36 36
++27 27 27 29 29 29 31 31 31 32 32 32 32 32 32 31 31 31 29 29 29 28 28 28
++29 29 29 24 24 24 27 27 27 27 27 27 27 27 27 29 29 29 27 27 27 25 25 25
++32 32 32 29 29 29 27 27 27 27 27 27 29 29 29 31 31 31 29 29 29 27 27 27
++29 29 29 27 27 27 27 27 27 29 29 29 32 32 32 32 32 32 28 28 28 23 23 23
++23 23 23 21 21 21 21 21 21 25 25 25 24 24 24 21 21 21 23 23 23 28 28 28
++21 21 21 28 28 28 40 40 40 43 43 43 29 29 29 21 21 21 29 29 29 32 32 32
++27 27 27 29 29 29 32 32 32 27 27 27 27 27 27 32 32 32 28 28 28 24 24 24
++36 36 36 38 38 38 36 36 36 23 23 23 28 28 28 28 28 28 28 28 28 24 24 24
++31 31 31 25 25 25 27 27 27 25 25 25 23 23 23 25 25 25 31 31 31 40 40 40
++42 42 42 28 28 28 24 24 24 28 28 28 27 27 27 28 28 28 29 29 29 23 23 23
++23 23 23 16 16 16 11 11 11 11 11 11 14 14 14 25 25 25 37 37 37 40 40 40
++17 17 17 11 11 11 23 23 23 33 33 33 31 31 31 31 31 31 32 32 32 28 28 28
++29 29 29 25 25 25 24 24 24 33 33 33 21 21 21 14 14 14 36 36 36 36 36 36
++4 4 4 19 19 19 17 17 17 21 21 21 20 20 20 11 11 11 16 16 16 14 14 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 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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0 3 3 3 19 19 19
++43 43 43 32 32 32 4 4 4 0 0 0 10 10 10 0 0 0 0 0 0 17 17 17
++39 39 39 29 29 29 11 11 11 0 0 0 6 6 6 0 0 0 0 0 0 20 20 20
++42 42 42 39 39 39 16 16 16 0 0 0 4 4 4 0 0 0 0 0 0 17 17 17
++45 45 45 43 43 43 19 19 19 0 0 0 6 6 6 0 0 0 0 0 0 20 20 20
++43 43 43 46 46 46 29 29 29 0 0 0 0 0 0 4 4 4 8 8 8 6 6 6
++49 49 49 51 51 51 33 33 33 4 4 4 0 0 0 4 4 4 8 8 8 8 8 8
++46 46 46 54 54 54 39 39 39 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0
++40 40 40 54 54 54 39 39 39 0 0 0 0 0 0 6 6 6 10 10 10 0 0 0
++27 27 27 56 56 56 42 42 42 6 6 6 6 6 6 0 0 0 0 0 0 19 19 19
++29 29 29 57 57 57 43 43 43 8 8 8 6 6 6 3 3 3 0 0 0 11 11 11
++21 21 21 40 40 40 38 38 38 13 13 13 0 0 0 6 6 6 6 6 6 3 3 3
++16 16 16 36 36 36 39 39 39 16 16 16 4 4 4 27 27 27 32 32 32 13 13 13
++13 13 13 36 36 36 44 44 44 24 24 24 0 0 0 8 8 8 16 16 16 8 8 8
++6 6 6 10 10 10 11 11 11 13 13 13 14 14 14 16 16 16 14 14 14 13 13 13
++13 13 13 13 13 13 14 14 14 14 14 14 16 16 16 16 16 16 17 17 17 17 17 17
++20 20 20 20 20 20 19 19 19 17 17 17 19 19 19 23 23 23 21 21 21 17 17 17
++25 25 25 34 34 34 36 36 36 37 37 37 45 45 45 46 46 46 43 43 43 43 43 43
++49 49 49 46 46 46 43 43 43 42 42 42 38 38 38 34 34 34 36 36 36 38 38 38
++37 37 37 36 36 36 36 36 36 46 46 46 59 59 59 56 56 56 42 42 42 33 33 33
++40 40 40 51 51 51 45 45 45 53 53 53 56 56 56 50 50 50 51 51 51 37 37 37
++50 50 50 52 52 52 46 46 46 43 43 43 51 51 51 58 58 58 57 57 57 52 52 52
++45 45 45 44 44 44 48 48 48 50 50 50 61 61 61 51 51 51 51 51 51 54 54 54
++50 50 50 54 54 54 54 54 54 57 57 57 50 50 50 45 45 45 56 56 56 58 58 58
++49 49 49 54 54 54 54 54 54 49 49 49 59 59 59 51 51 51 53 53 53 50 50 50
++44 44 44 54 54 54 57 57 57 52 52 52 52 52 52 52 52 52 54 54 54 60 60 60
++50 50 50 52 52 52 51 51 51 52 52 52 57 57 57 58 58 58 53 53 53 51 51 51
++54 54 54 54 54 54 44 44 44 52 52 52 46 46 46 48 48 48 46 46 46 50 50 50
++53 53 53 40 40 40 49 49 49 54 54 54 48 48 48 45 45 45 45 45 45 48 48 48
++43 43 43 42 42 42 45 45 45 46 46 46 43 43 43 46 46 46 50 50 50 48 48 48
++44 44 44 45 45 45 45 45 45 44 44 44 40 40 40 39 39 39 40 40 40 42 42 42
++44 44 44 48 48 48 38 38 38 43 43 43 40 40 40 45 45 45 37 37 37 43 43 43
++37 37 37 42 42 42 38 38 38 39 39 39 40 40 40 37 37 37 39 39 39 39 39 39
++39 39 39 39 39 39 39 39 39 39 39 39 38 38 38 37 37 37 34 34 34 32 32 32
++36 36 36 38 38 38 34 34 34 32 32 32 34 34 34 32 32 32 29 29 29 37 37 37
++32 32 32 33 33 33 33 33 33 32 32 32 31 31 31 31 31 31 31 31 31 32 32 32
++34 34 34 34 34 34 34 34 34 36 36 36 36 36 36 33 33 33 29 29 29 27 27 27
++29 29 29 33 33 33 32 32 32 25 25 25 25 25 25 32 32 32 36 36 36 33 33 33
++37 37 37 28 28 28 25 25 25 24 24 24 31 31 31 31 31 31 21 21 21 32 32 32
++24 24 24 37 37 37 32 32 32 25 25 25 32 32 32 31 31 31 24 24 24 27 27 27
++25 25 25 28 28 28 31 31 31 31 31 31 31 31 31 31 31 31 28 28 28 25 25 25
++29 29 29 25 25 25 28 28 28 33 33 33 34 34 34 33 33 33 31 31 31 33 33 33
++32 32 32 28 28 28 28 28 28 31 31 31 32 32 32 29 29 29 28 28 28 29 29 29
++31 31 31 29 29 29 28 28 28 31 31 31 34 34 34 34 34 34 31 31 31 27 27 27
++29 29 29 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 29 29 29 32 32 32
++34 34 34 38 38 38 40 40 40 36 36 36 25 25 25 25 25 25 29 29 29 23 23 23
++29 29 29 28 28 28 28 28 28 28 28 28 29 29 29 31 31 31 33 33 33 37 37 37
++39 39 39 31 31 31 32 32 32 32 32 32 25 25 25 31 31 31 28 28 28 29 29 29
++19 19 19 33 33 33 28 28 28 32 32 32 32 32 32 27 27 27 39 39 39 45 45 45
++34 34 34 28 28 28 32 32 32 34 34 34 28 28 28 27 27 27 32 32 32 33 33 33
++25 25 25 21 21 21 8 8 8 8 8 8 25 25 25 29 29 29 21 21 21 21 21 21
++13 13 13 10 10 10 19 19 19 29 29 29 27 27 27 25 25 25 25 25 25 21 21 21
++24 24 24 39 39 39 25 25 25 21 21 21 37 37 37 39 39 39 32 32 32 16 16 16
++13 13 13 11 11 11 10 10 10 20 20 20 24 24 24 19 19 19 13 13 13 6 6 6
++
++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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 0 0 0
++21 21 21 38 38 38 25 25 25 0 0 0 3 3 3 8 8 8 0 0 0 0 0 0
++21 21 21 40 40 40 32 32 32 0 0 0 0 0 0 8 8 8 0 0 0 0 0 0
++19 19 19 49 49 49 40 40 40 4 4 4 0 0 0 8 8 8 0 0 0 0 0 0
++16 16 16 50 50 50 45 45 45 11 11 11 0 0 0 6 6 6 0 0 0 0 0 0
++13 13 13 48 48 48 52 52 52 23 23 23 0 0 0 4 4 4 3 3 3 0 0 0
++16 16 16 49 49 49 57 57 57 32 32 32 4 4 4 0 0 0 0 0 0 0 0 0
++8 8 8 45 45 45 58 58 58 34 34 34 6 6 6 0 0 0 0 0 0 0 0 0
++0 0 0 45 45 45 57 57 57 31 31 31 3 3 3 0 0 0 4 4 4 0 0 0
++0 0 0 34 34 34 52 52 52 38 38 38 11 11 11 3 3 3 13 13 13 20 20 20
++11 11 11 31 31 31 49 49 49 39 39 39 8 8 8 0 0 0 10 10 10 3 3 3
++0 0 0 28 28 28 42 42 42 32 32 32 17 17 17 6 6 6 3 3 3 6 6 6
++3 3 3 21 21 21 40 40 40 39 39 39 16 16 16 4 4 4 17 17 17 27 27 27
++14 14 14 14 14 14 32 32 32 44 44 44 28 28 28 6 6 6 8 8 8 20 20 20
++4 4 4 11 11 11 14 14 14 13 13 13 13 13 13 17 17 17 17 17 17 13 13 13
++14 14 14 14 14 14 16 16 16 16 16 16 17 17 17 17 17 17 19 19 19 19 19 19
++21 21 21 21 21 21 19 19 19 17 17 17 20 20 20 24 24 24 25 25 25 24 24 24
++40 40 40 37 37 37 28 28 28 32 32 32 44 44 44 48 48 48 44 44 44 46 46 46
++45 45 45 49 49 49 49 49 49 45 45 45 45 45 45 50 50 50 51 51 51 50 50 50
++45 45 45 48 48 48 54 54 54 54 54 54 48 48 48 51 51 51 57 57 57 54 54 54
++56 56 56 51 51 51 53 53 53 50 50 50 51 51 51 57 57 57 53 53 53 57 57 57
++56 56 56 51 51 51 54 54 54 54 54 54 48 48 48 51 51 51 58 58 58 54 54 54
++60 60 60 56 56 56 51 51 51 46 46 46 59 59 59 57 57 57 53 53 53 53 53 53
++49 49 49 53 53 53 51 51 51 58 58 58 57 57 57 48 48 48 51 51 51 53 53 53
++54 54 54 51 51 51 56 56 56 48 48 48 53 53 53 46 46 46 51 51 51 60 60 60
++53 53 53 57 57 57 51 51 51 48 48 48 56 56 56 58 58 58 52 52 52 48 48 48
++54 54 54 53 53 53 54 54 54 53 53 53 49 49 49 50 50 50 53 53 53 51 51 51
++49 49 49 51 51 51 44 44 44 57 57 57 53 53 53 51 51 51 54 54 54 51 51 51
++54 54 54 54 54 54 50 50 50 50 50 50 51 51 51 51 51 51 51 51 51 42 42 42
++50 50 50 50 50 50 51 51 51 46 46 46 43 43 43 48 48 48 49 49 49 39 39 39
++43 43 43 45 45 45 48 48 48 48 48 48 45 45 45 43 43 43 44 44 44 45 45 45
++43 43 43 50 50 50 38 38 38 42 42 42 40 40 40 45 45 45 37 37 37 42 42 42
++42 42 42 43 43 43 39 39 39 34 34 34 44 44 44 44 44 44 33 33 33 42 42 42
++34 34 34 36 36 36 37 37 37 37 37 37 37 37 37 36 36 36 34 34 34 34 34 34
++37 37 37 32 32 32 27 27 27 32 32 32 39 39 39 37 37 37 33 33 33 37 37 37
++31 31 31 32 32 32 33 33 33 33 33 33 31 31 31 29 29 29 31 31 31 32 32 32
++33 33 33 29 29 29 25 25 25 27 27 27 31 31 31 32 32 32 31 31 31 27 27 27
++37 37 37 27 27 27 27 27 27 37 37 37 37 37 37 24 24 24 23 23 23 32 32 32
++17 17 17 34 34 34 37 37 37 25 25 25 32 32 32 34 34 34 24 24 24 37 37 37
++38 38 38 27 27 27 21 21 21 20 20 20 16 16 16 37 37 37 45 45 45 13 13 13
++23 23 23 24 24 24 24 24 24 23 23 23 21 21 21 24 24 24 32 32 32 39 39 39
++36 36 36 34 34 34 32 32 32 33 33 33 33 33 33 28 28 28 29 29 29 34 34 34
++27 27 27 25 25 25 29 29 29 36 36 36 36 36 36 32 32 32 31 31 31 34 34 34
++37 37 37 36 36 36 36 36 36 38 38 38 40 40 40 42 42 42 38 38 38 36 36 36
++40 40 40 40 40 40 39 39 39 39 39 39 39 39 39 42 42 42 42 42 42 40 40 40
++39 39 39 42 42 42 44 44 44 37 37 37 34 34 34 43 43 43 40 40 40 27 27 27
++24 24 24 24 24 24 17 17 17 13 13 13 16 16 16 27 27 27 39 39 39 44 44 44
++37 37 37 19 19 19 27 27 27 44 44 44 27 27 27 45 45 45 40 40 40 44 44 44
++38 38 38 40 40 40 8 8 8 21 21 21 42 42 42 42 42 42 53 53 53 44 44 44
++44 44 44 44 44 44 48 48 48 42 42 42 21 21 21 3 3 3 0 0 0 0 0 0
++11 11 11 19 19 19 8 8 8 13 13 13 37 37 37 37 37 37 21 21 21 24 24 24
++16 16 16 10 10 10 14 14 14 20 20 20 16 16 16 14 14 14 16 16 16 17 17 17
++0 0 0 8 8 8 0 0 0 11 11 11 36 36 36 36 36 36 21 21 21 4 4 4
++19 19 19 3 3 3 3 3 3 13 13 13 23 23 23 27 27 27 21 21 21 17 17 17
++
++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 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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 0 0 0
++0 0 0 23 23 23 39 39 39 24 24 24 0 0 0 0 0 0 10 10 10 0 0 0
++0 0 0 16 16 16 37 37 37 28 28 28 3 3 3 0 0 0 6 6 6 0 0 0
++0 0 0 17 17 17 39 39 39 37 37 37 11 11 11 0 0 0 4 4 4 4 4 4
++0 0 0 19 19 19 44 44 44 43 43 43 16 16 16 0 0 0 4 4 4 4 4 4
++0 0 0 20 20 20 45 45 45 49 49 49 28 28 28 0 0 0 0 0 0 8 8 8
++0 0 0 19 19 19 46 46 46 53 53 53 32 32 32 0 0 0 0 0 0 14 14 14
++0 0 0 8 8 8 36 36 36 56 56 56 43 43 43 4 4 4 0 0 0 14 14 14
++0 0 0 8 8 8 38 38 38 58 58 58 44 44 44 6 6 6 0 0 0 10 10 10
++3 3 3 0 0 0 32 32 32 51 51 51 36 36 36 20 20 20 19 19 19 14 14 14
++11 11 11 0 0 0 27 27 27 53 53 53 36 36 36 16 16 16 11 11 11 0 0 0
++8 8 8 8 8 8 24 24 24 44 44 44 42 42 42 16 16 16 0 0 0 4 4 4
++4 4 4 0 0 0 11 11 11 42 42 42 50 50 50 19 19 19 0 0 0 31 31 31
++28 28 28 13 13 13 10 10 10 37 37 37 52 52 52 24 24 24 0 0 0 17 17 17
++11 11 11 16 16 16 16 16 16 10 10 10 8 8 8 14 14 14 17 17 17 14 14 14
++16 16 16 16 16 16 17 17 17 17 17 17 19 19 19 19 19 19 20 20 20 20 20 20
++21 21 21 20 20 20 21 21 21 23 23 23 20 20 20 20 20 20 28 28 28 39 39 39
++39 39 39 32 32 32 24 24 24 32 32 32 46 46 46 49 49 49 45 45 45 49 49 49
++42 42 42 49 49 49 53 53 53 51 51 51 48 48 48 46 46 46 46 46 46 45 45 45
++57 57 57 53 53 53 52 52 52 49 49 49 43 43 43 45 45 45 52 52 52 54 54 54
++52 52 52 48 48 48 54 54 54 46 46 46 46 46 46 56 56 56 50 50 50 53 53 53
++51 51 51 50 50 50 57 57 57 58 58 58 48 48 48 51 51 51 54 54 54 44 44 44
++52 52 52 54 54 54 58 58 58 53 53 53 54 54 54 50 50 50 49 49 49 60 60 60
++58 58 58 53 53 53 42 42 42 51 51 51 61 61 61 57 57 57 58 58 58 58 58 58
++62 62 62 53 53 53 65 65 65 57 57 57 62 62 62 57 57 57 50 50 50 53 53 53
++53 53 53 59 59 59 59 59 59 57 57 57 56 56 56 49 49 49 45 45 45 51 51 51
++56 56 56 53 53 53 53 53 53 49 49 49 45 45 45 54 54 54 57 57 57 44 44 44
++52 52 52 65 65 65 52 52 52 50 50 50 44 44 44 39 39 39 46 46 46 43 43 43
++45 45 45 57 57 57 42 42 42 36 36 36 45 45 45 51 51 51 56 56 56 45 45 45
++36 36 36 38 38 38 42 42 42 40 40 40 37 37 37 44 44 44 52 52 52 51 51 51
++38 38 38 37 37 37 37 37 37 36 36 36 36 36 36 34 34 34 32 32 32 31 31 31
++43 43 43 51 51 51 31 31 31 28 28 28 25 25 25 28 28 28 21 21 21 27 27 27
++27 27 27 24 24 24 27 27 27 21 21 21 37 37 37 46 46 46 28 28 28 24 24 24
++21 21 21 21 21 21 21 21 21 20 20 20 19 19 19 20 20 20 21 21 21 24 24 24
++25 25 25 21 21 21 21 21 21 33 33 33 49 49 49 54 54 54 51 51 51 46 46 46
++51 51 51 53 53 53 57 57 57 57 57 57 54 54 54 52 52 52 51 51 51 52 52 52
++59 59 59 56 56 56 52 52 52 51 51 51 53 53 53 56 56 56 57 57 57 57 57 57
++48 48 48 25 25 25 14 14 14 29 29 29 42 42 42 34 34 34 17 17 17 6 6 6
++0 0 0 28 28 28 40 40 40 37 37 37 40 40 40 31 31 31 20 20 20 45 45 45
++50 50 50 17 17 17 13 13 13 0 0 0 3 3 3 48 48 48 56 56 56 28 28 28
++4 4 4 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 16 16 16 32 32 32
++39 39 39 51 51 51 50 50 50 49 49 49 50 50 50 46 46 46 45 45 45 42 42 42
++27 27 27 34 34 34 43 43 43 45 45 45 45 45 45 46 46 46 48 48 48 48 48 48
++43 43 43 43 43 43 43 43 43 45 45 45 48 48 48 49 49 49 46 46 46 45 45 45
++44 44 44 46 46 46 46 46 46 45 45 45 46 46 46 49 49 49 46 46 46 44 44 44
++42 42 42 44 44 44 50 50 50 45 45 45 45 45 45 51 51 51 42 42 42 33 33 33
++24 24 24 25 25 25 8 8 8 0 0 0 4 4 4 29 29 29 49 49 49 48 48 48
++19 19 19 0 0 0 16 16 16 40 40 40 11 11 11 44 44 44 32 32 32 34 34 34
++54 54 54 46 46 46 31 31 31 33 33 33 33 33 33 31 31 31 45 45 45 46 46 46
++50 50 50 51 51 51 54 54 54 52 52 52 38 38 38 21 21 21 13 13 13 11 11 11
++28 28 28 38 38 38 33 33 33 28 28 28 32 32 32 23 23 23 13 13 13 20 20 20
++23 23 23 16 16 16 11 11 11 10 10 10 4 4 4 3 3 3 8 8 8 14 14 14
++11 11 11 0 0 0 8 8 8 34 34 34 28 28 28 8 8 8 11 11 11 16 16 16
++42 42 42 27 27 27 25 25 25 16 16 16 8 8 8 19 19 19 21 21 21 19 19 19
++
++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 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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4
++6 6 6 0 0 0 20 20 20 39 39 39 21 21 21 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 17 17 17 44 44 44 29 29 29 0 0 0 0 0 0 6 6 6
++6 6 6 0 0 0 16 16 16 49 49 49 37 37 37 0 0 0 0 0 0 6 6 6
++8 8 8 0 0 0 16 16 16 52 52 52 42 42 42 8 8 8 0 0 0 3 3 3
++0 0 0 0 0 0 19 19 19 48 48 48 46 46 46 19 19 19 0 0 0 0 0 0
++3 3 3 0 0 0 13 13 13 43 43 43 51 51 51 31 31 31 6 6 6 0 0 0
++13 13 13 0 0 0 4 4 4 43 43 43 56 56 56 37 37 37 8 8 8 0 0 0
++10 10 10 0 0 0 4 4 4 44 44 44 58 58 58 38 38 38 8 8 8 0 0 0
++0 0 0 8 8 8 8 8 8 28 28 28 53 53 53 45 45 45 16 16 16 8 8 8
++0 0 0 8 8 8 3 3 3 24 24 24 53 53 53 39 39 39 6 6 6 10 10 10
++20 20 20 6 6 6 10 10 10 33 33 33 44 44 44 34 34 34 16 16 16 0 0 0
++13 13 13 10 10 10 0 0 0 14 14 14 45 45 45 50 50 50 25 25 25 0 0 0
++23 23 23 31 31 31 20 20 20 14 14 14 36 36 36 45 45 45 27 27 27 4 4 4
++10 10 10 14 14 14 14 14 14 10 10 10 11 11 11 16 16 16 17 17 17 14 14 14
++17 17 17 17 17 17 19 19 19 19 19 19 20 20 20 20 20 20 21 21 21 21 21 21
++20 20 20 23 23 23 23 23 23 20 20 20 21 21 21 29 29 29 37 37 37 42 42 42
++25 25 25 24 24 24 24 24 24 36 36 36 50 50 50 50 50 50 45 45 45 48 48 48
++49 49 49 50 50 50 50 50 50 45 45 45 34 34 34 28 28 28 32 32 32 40 40 40
++61 61 61 46 46 46 31 31 31 31 31 31 39 39 39 36 36 36 32 32 32 36 36 36
++72 72 72 76 76 76 37 37 37 38 38 38 42 42 42 42 42 42 71 71 71 54 54 54
++33 33 33 63 63 63 60 60 60 51 51 51 68 68 68 61 61 61 37 37 37 38 38 38
++36 36 36 52 52 52 73 73 73 71 71 71 50 50 50 34 34 34 39 39 39 74 74 74
++69 69 69 61 61 61 50 50 50 57 57 57 66 66 66 66 66 66 69 69 69 66 66 66
++72 72 72 68 68 68 78 78 78 65 65 65 65 65 65 61 61 61 58 58 58 57 57 57
++68 68 68 75 75 75 81 81 81 81 81 81 68 68 68 44 44 44 36 36 36 46 46 46
++58 58 58 50 50 50 39 39 39 33 33 33 46 46 46 71 71 71 69 69 69 40 40 40
++44 44 44 70 70 70 62 62 62 44 44 44 39 39 39 32 32 32 34 34 34 33 33 33
++45 45 45 66 66 66 49 49 49 28 28 28 27 27 27 37 37 37 54 54 54 58 58 58
++39 39 39 29 29 29 28 28 28 31 31 31 29 29 29 39 39 39 56 56 56 65 65 65
++40 40 40 32 32 32 23 23 23 21 21 21 27 27 27 32 32 32 32 32 32 29 29 29
++43 43 43 53 53 53 27 27 27 23 23 23 21 21 21 23 23 23 19 19 19 21 21 21
++19 19 19 11 11 11 23 23 23 21 21 21 32 32 32 50 50 50 33 33 33 4 4 4
++19 19 19 17 17 17 16 16 16 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13
++8 8 8 10 10 10 13 13 13 23 23 23 42 42 42 60 60 60 62 62 62 51 51 51
++48 48 48 51 51 51 54 54 54 56 56 56 53 53 53 51 51 51 49 49 49 49 49 49
++53 53 53 53 53 53 52 52 52 50 50 50 48 48 48 48 48 48 51 51 51 54 54 54
++57 57 57 45 45 45 16 16 16 0 0 0 24 24 24 51 51 51 37 37 37 0 0 0
++13 13 13 3 3 3 21 21 21 49 49 49 52 52 52 16 16 16 0 0 0 44 44 44
++45 45 45 38 38 38 27 27 27 0 0 0 29 29 29 54 54 54 29 29 29 49 49 49
++17 17 17 0 0 0 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 10 10 10
++13 13 13 43 43 43 44 44 44 43 43 43 49 49 49 49 49 49 46 46 46 33 33 33
++24 24 24 39 39 39 48 48 48 45 45 45 45 45 45 50 50 50 51 51 51 45 45 45
++45 45 45 45 45 45 45 45 45 46 46 46 49 49 49 49 49 49 49 49 49 48 48 48
++43 43 43 44 44 44 46 46 46 46 46 46 46 46 46 46 46 46 44 44 44 42 42 42
++48 48 48 46 46 46 52 52 52 44 44 44 36 36 36 32 32 32 20 20 20 25 25 25
++32 32 32 27 27 27 6 6 6 8 8 8 19 19 19 32 32 32 50 50 50 52 52 52
++11 11 11 0 0 0 24 24 24 37 37 37 3 3 3 40 40 40 17 17 17 16 16 16
++45 45 45 21 21 21 37 37 37 43 43 43 33 33 33 34 34 34 40 40 40 51 51 51
++51 51 51 49 49 49 48 48 48 51 51 51 53 53 53 50 50 50 46 46 46 46 46 46
++48 48 48 49 49 49 45 45 45 33 33 33 17 17 17 6 6 6 6 6 6 11 11 11
++23 23 23 20 20 20 16 16 16 11 11 11 6 6 6 0 0 0 3 3 3 11 11 11
++24 24 24 16 16 16 29 29 29 36 36 36 14 14 14 0 0 0 10 10 10 27 27 27
++49 49 49 45 45 45 48 48 48 31 31 31 0 0 0 13 13 13 31 31 31 25 25 25
++
++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 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 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 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 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 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 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 19 19 19 36 36 36 24 24 24 3 3 3 0 0 0
++3 3 3 4 4 4 0 0 0 20 20 20 38 38 38 29 29 29 11 11 11 0 0 0
++3 3 3 3 3 3 0 0 0 16 16 16 38 38 38 38 38 38 14 14 14 0 0 0
++0 0 0 0 0 0 0 0 0 16 16 16 44 44 44 46 46 46 20 20 20 0 0 0
++8 8 8 0 0 0 0 0 0 19 19 19 43 43 43 50 50 50 28 28 28 0 0 0
++3 3 3 0 0 0 0 0 0 16 16 16 39 39 39 52 52 52 34 34 34 0 0 0
++0 0 0 3 3 3 3 3 3 8 8 8 33 33 33 58 58 58 43 43 43 0 0 0
++3 3 3 0 0 0 0 0 0 6 6 6 32 32 32 54 54 54 43 43 43 3 3 3
++0 0 0 3 3 3 4 4 4 8 8 8 34 34 34 56 56 56 44 44 44 11 11 11
++0 0 0 11 11 11 0 0 0 0 0 0 28 28 28 49 49 49 42 42 42 27 27 27
++3 3 3 10 10 10 11 11 11 10 10 10 25 25 25 48 48 48 45 45 45 21 21 21
++11 11 11 13 13 13 16 16 16 4 4 4 10 10 10 45 45 45 51 51 51 16 16 16
++10 10 10 23 23 23 31 31 31 16 16 16 8 8 8 40 40 40 52 52 52 27 27 27
++13 13 13 11 11 11 13 13 13 16 16 16 20 20 20 20 20 20 19 19 19 16 16 16
++19 19 19 19 19 19 20 20 20 20 20 20 21 21 21 21 21 21 23 23 23 23 23 23
++20 20 20 27 27 27 25 25 25 17 17 17 28 28 28 45 45 45 44 44 44 29 29 29
++25 25 25 25 25 25 23 23 23 29 29 29 43 43 43 48 48 48 48 48 48 52 52 52
++54 54 54 49 49 49 42 42 42 34 34 34 28 28 28 29 29 29 43 43 43 57 57 57
++44 44 44 38 38 38 29 29 29 32 32 32 36 36 36 29 29 29 33 33 33 50 50 50
++78 78 78 77 77 77 51 51 51 38 38 38 31 31 31 34 34 34 62 62 62 68 68 68
++62 62 62 67 67 67 48 48 48 37 37 37 59 59 59 70 70 70 56 56 56 44 44 44
++45 45 45 53 53 53 72 72 72 73 73 73 57 57 57 44 44 44 39 39 39 72 72 72
++69 69 69 72 72 72 70 70 70 63 63 63 46 46 46 46 46 46 69 69 69 77 77 77
++77 77 77 60 60 60 58 58 58 54 54 54 75 75 75 87 87 87 87 87 87 72 72 72
++56 56 56 62 62 62 71 71 71 82 82 82 83 83 83 66 66 66 52 52 52 56 56 56
++51 51 51 34 34 34 33 33 33 51 51 51 60 60 60 60 60 60 59 59 59 61 61 61
++43 43 43 66 66 66 67 67 67 40 40 40 36 36 36 33 33 33 34 34 34 38 38 38
++34 34 34 61 61 61 60 60 60 39 39 39 27 27 27 31 31 31 50 50 50 63 63 63
++49 49 49 32 32 32 25 25 25 29 29 29 28 28 28 31 31 31 37 37 37 39 39 39
++62 62 62 49 49 49 31 31 31 21 21 21 23 23 23 25 25 25 25 25 25 23 23 23
++37 37 37 54 54 54 27 27 27 25 25 25 28 28 28 28 28 28 24 24 24 25 25 25
++27 27 27 19 19 19 21 21 21 19 19 19 27 27 27 50 50 50 51 51 51 32 32 32
++16 16 16 14 14 14 16 16 16 17 17 17 20 20 20 20 20 20 17 17 17 14 14 14
++10 10 10 11 11 11 11 11 11 11 11 11 28 28 28 54 54 54 65 65 65 57 57 57
++54 54 54 56 56 56 57 57 57 57 57 57 58 58 58 56 56 56 54 54 54 52 52 52
++51 51 51 53 53 53 54 54 54 52 52 52 48 48 48 46 46 46 49 49 49 52 52 52
++59 59 59 57 57 57 37 37 37 4 4 4 0 0 0 29 29 29 40 40 40 36 36 36
++10 10 10 0 0 0 16 16 16 46 46 46 50 50 50 28 28 28 6 6 6 20 20 20
++39 39 39 32 32 32 40 40 40 28 28 28 40 40 40 39 39 39 0 0 0 32 32 32
++50 50 50 28 28 28 4 4 4 3 3 3 8 8 8 3 3 3 0 0 0 0 0 0
++28 28 28 51 51 51 37 37 37 28 28 28 34 34 34 39 39 39 46 46 46 38 38 38
++25 25 25 40 40 40 48 48 48 45 45 45 43 43 43 48 48 48 46 46 46 40 40 40
++43 43 43 43 43 43 44 44 44 44 44 44 45 45 45 45 45 45 45 45 45 45 45 45
++46 46 46 46 46 46 48 48 48 50 50 50 49 49 49 44 44 44 44 44 44 48 48 48
++44 44 44 39 39 39 42 42 42 24 24 24 10 10 10 4 4 4 0 0 0 20 20 20
++32 32 32 21 21 21 4 4 4 24 24 24 28 28 28 17 17 17 37 37 37 50 50 50
++8 8 8 4 4 4 37 37 37 34 34 34 14 14 14 44 44 44 13 13 13 23 23 23
++39 39 39 0 0 0 21 21 21 27 27 27 24 24 24 38 38 38 37 37 37 50 50 50
++58 58 58 53 53 53 48 48 48 48 48 48 53 53 53 52 52 52 51 51 51 54 54 54
++48 48 48 37 37 37 28 28 28 19 19 19 8 8 8 10 10 10 16 16 16 16 16 16
++16 16 16 19 19 19 20 20 20 20 20 20 17 17 17 6 6 6 0 0 0 8 8 8
++17 17 17 36 36 36 33 33 33 3 3 3 0 0 0 3 3 3 3 3 3 16 16 16
++40 40 40 46 46 46 54 54 54 46 46 46 14 14 14 17 17 17 44 44 44 36 36 36
++
++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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 4 4 4 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0
++4 4 4 10 10 10 0 0 0 0 0 0 19 19 19 34 34 34 24 24 24 3 3 3
++0 0 0 16 16 16 0 0 0 0 0 0 20 20 20 40 40 40 37 37 37 0 0 0
++0 0 0 14 14 14 4 4 4 0 0 0 17 17 17 49 49 49 40 40 40 6 6 6
++0 0 0 13 13 13 3 3 3 0 0 0 20 20 20 53 53 53 45 45 45 14 14 14
++6 6 6 0 0 0 0 0 0 0 0 0 23 23 23 49 49 49 48 48 48 23 23 23
++3 3 3 8 8 8 8 8 8 3 3 3 14 14 14 40 40 40 48 48 48 33 33 33
++0 0 0 4 4 4 6 6 6 0 0 0 4 4 4 42 42 42 54 54 54 39 39 39
++6 6 6 8 8 8 4 4 4 0 0 0 3 3 3 34 34 34 49 49 49 40 40 40
++11 11 11 0 0 0 6 6 6 16 16 16 10 10 10 38 38 38 54 54 54 34 34 34
++13 13 13 0 0 0 6 6 6 6 6 6 0 0 0 33 33 33 57 57 57 42 42 42
++8 8 8 10 10 10 10 10 10 0 0 0 6 6 6 32 32 32 48 48 48 44 44 44
++19 19 19 6 6 6 14 14 14 14 14 14 0 0 0 20 20 20 49 49 49 53 53 53
++25 25 25 13 13 13 24 24 24 29 29 29 13 13 13 20 20 20 43 43 43 48 48 48
++31 31 31 20 20 20 13 13 13 17 17 17 21 21 21 19 19 19 19 19 19 20 20 20
++20 20 20 20 20 20 21 21 21 21 21 21 23 23 23 23 23 23 24 24 24 24 24 24
++24 24 24 24 24 24 25 25 25 31 31 31 42 42 42 48 48 48 38 38 38 23 23 23
++31 31 31 31 31 31 23 23 23 24 24 24 39 39 39 49 49 49 48 48 48 48 48 48
++46 46 46 43 43 43 36 36 36 32 32 32 36 36 36 46 46 46 56 56 56 59 59 59
++32 32 32 33 33 33 40 40 40 42 42 42 34 34 34 36 36 36 52 52 52 68 68 68
++43 43 43 43 43 43 68 68 68 58 58 58 40 40 40 37 37 37 33 33 33 63 63 63
++84 84 84 63 63 63 44 44 44 33 33 33 37 37 37 61 61 61 72 72 72 61 61 61
++66 66 66 52 52 52 52 52 52 57 57 57 61 61 61 69 69 69 48 48 48 60 60 60
++71 71 71 74 74 74 74 74 74 63 63 63 36 36 36 39 39 39 68 68 68 70 70 70
++85 85 85 68 68 68 63 63 63 69 69 69 84 84 84 78 78 78 75 75 75 54 54 54
++58 58 58 56 56 56 51 51 51 61 61 61 78 78 78 78 78 78 62 62 62 49 49 49
++40 40 40 36 36 36 50 50 50 69 69 69 61 61 61 34 34 34 43 43 43 78 78 78
++67 67 67 60 60 60 71 71 71 46 46 46 33 33 33 34 34 34 39 39 39 42 42 42
++29 29 29 50 50 50 66 66 66 59 59 59 51 51 51 52 52 52 57 57 57 66 66 66
++69 69 69 63 63 63 63 63 63 66 66 66 62 62 62 61 61 61 60 60 60 54 54 54
++77 77 77 69 69 69 57 57 57 46 46 46 39 39 39 33 33 33 28 28 28 23 23 23
++42 42 42 60 60 60 28 28 28 25 25 25 27 27 27 27 27 27 24 24 24 25 25 25
++29 29 29 28 28 28 19 19 19 17 17 17 21 21 21 34 34 34 51 51 51 53 53 53
++31 31 31 24 24 24 17 17 17 16 16 16 19 19 19 21 21 21 19 19 19 16 16 16
++19 19 19 16 16 16 14 14 14 11 11 11 20 20 20 44 44 44 60 60 60 58 58 58
++57 57 57 53 53 53 50 50 50 50 50 50 51 51 51 53 53 53 53 53 53 52 52 52
++50 50 50 52 52 52 53 53 53 54 54 54 53 53 53 51 51 51 49 49 49 49 49 49
++54 54 54 54 54 54 52 52 52 39 39 39 13 13 13 0 0 0 20 20 20 52 52 52
++20 20 20 13 13 13 33 33 33 33 33 33 25 25 25 42 42 42 37 37 37 8 8 8
++43 43 43 11 11 11 25 25 25 51 51 51 45 45 45 21 21 21 0 0 0 0 0 0
++39 39 39 36 36 36 23 23 23 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0
++44 44 44 51 51 51 16 16 16 0 0 0 3 3 3 6 6 6 25 25 25 29 29 29
++33 33 33 38 38 38 45 45 45 50 50 50 50 50 50 49 49 49 48 48 48 49 49 49
++44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 45 45 45 45 45 45
++50 50 50 44 44 44 44 44 44 48 48 48 44 44 44 36 36 36 40 40 40 52 52 52
++32 32 32 31 31 31 34 34 34 8 8 8 0 0 0 0 0 0 0 0 0 23 23 23
++25 25 25 27 27 27 14 14 14 24 24 24 14 14 14 0 0 0 29 29 29 45 45 45
++0 0 0 0 0 0 34 34 34 21 21 21 21 21 21 38 38 38 3 3 3 32 32 32
++36 36 36 28 28 28 28 28 28 8 8 8 0 0 0 0 0 0 10 10 10 33 33 33
++43 43 43 51 51 51 53 53 53 53 53 53 52 52 52 45 45 45 45 45 45 56 56 56
++48 48 48 36 36 36 16 16 16 3 3 3 8 8 8 13 13 13 11 11 11 13 13 13
++10 10 10 16 16 16 19 19 19 20 20 20 21 21 21 11 11 11 8 8 8 17 17 17
++32 32 32 37 37 37 29 29 29 3 3 3 0 0 0 4 4 4 0 0 0 6 6 6
++50 50 50 49 49 49 49 49 49 56 56 56 25 25 25 14 14 14 46 46 46 31 31 31
++
++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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++11 11 11 4 4 4 0 0 0 4 4 4 8 8 8 8 8 8 8 8 8 13 13 13
++3 3 3 0 0 0 8 8 8 6 6 6 0 0 0 23 23 23 42 42 42 29 29 29
++8 8 8 3 3 3 3 3 3 10 10 10 0 0 0 20 20 20 44 44 44 27 27 27
++13 13 13 0 0 0 8 8 8 13 13 13 0 0 0 21 21 21 44 44 44 42 42 42
++16 16 16 3 3 3 13 13 13 13 13 13 0 0 0 19 19 19 46 46 46 48 48 48
++8 8 8 10 10 10 14 14 14 8 8 8 0 0 0 20 20 20 46 46 46 57 57 57
++24 24 24 14 14 14 11 11 11 6 6 6 0 0 0 16 16 16 43 43 43 57 57 57
++29 29 29 3 3 3 0 0 0 3 3 3 0 0 0 6 6 6 37 37 37 59 59 59
++36 36 36 3 3 3 0 0 0 10 10 10 3 3 3 0 0 0 29 29 29 58 58 58
++37 37 37 13 13 13 0 0 0 19 19 19 21 21 21 4 4 4 21 21 21 58 58 58
++36 36 36 10 10 10 4 4 4 19 19 19 13 13 13 3 3 3 27 27 27 53 53 53
++39 39 39 11 11 11 4 4 4 16 16 16 3 3 3 0 0 0 23 23 23 52 52 52
++56 56 56 29 29 29 10 10 10 16 16 16 16 16 16 3 3 3 14 14 14 43 43 43
++49 49 49 31 31 31 20 20 20 28 28 28 25 25 25 6 6 6 14 14 14 42 42 42
++50 50 50 31 31 31 14 14 14 14 14 14 17 17 17 14 14 14 16 16 16 24 24 24
++20 20 20 21 21 21 21 21 21 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24
++28 28 28 17 17 17 25 25 25 48 48 48 53 53 53 37 37 37 24 24 24 27 27 27
++27 27 27 31 31 31 29 29 29 34 34 34 51 51 51 54 54 54 42 42 42 29 29 29
++32 32 32 36 36 36 33 33 33 32 32 32 42 42 42 53 53 53 49 49 49 34 34 34
++44 44 44 33 33 33 38 38 38 40 40 40 33 33 33 46 46 46 61 61 61 56 56 56
++36 36 36 46 46 46 54 54 54 75 75 75 65 65 65 38 38 38 54 54 54 72 72 72
++56 56 56 70 70 70 62 62 62 45 45 45 44 44 44 43 43 43 53 53 53 78 78 78
++71 71 71 51 51 51 39 39 39 42 42 42 58 58 58 78 78 78 56 56 56 58 58 58
++82 82 82 69 69 69 63 63 63 65 65 65 58 58 58 68 68 68 74 74 74 43 43 43
++66 66 66 73 73 73 85 85 85 84 84 84 66 66 66 40 40 40 69 69 69 81 81 81
++70 70 70 60 60 60 40 40 40 40 40 40 68 68 68 84 84 84 69 69 69 45 45 45
++38 38 38 60 60 60 68 68 68 56 56 56 40 40 40 32 32 32 48 48 48 73 73 73
++72 72 72 43 43 43 69 69 69 57 57 57 40 40 40 46 46 46 52 52 52 50 50 50
++68 68 68 68 68 68 78 78 78 73 73 73 69 69 69 69 69 69 57 57 57 57 57 57
++62 62 62 66 66 66 69 69 69 63 63 63 52 52 52 53 53 53 57 57 57 51 51 51
++56 56 56 60 60 60 67 67 67 70 70 70 70 70 70 67 67 67 63 63 63 62 62 62
++57 57 57 73 73 73 34 34 34 24 24 24 24 24 24 23 23 23 23 23 23 25 25 25
++20 20 20 31 31 31 20 20 20 24 24 24 24 24 24 11 11 11 28 28 28 45 45 45
++59 59 59 46 46 46 28 28 28 17 17 17 14 14 14 16 16 16 16 16 16 13 13 13
++14 14 14 10 10 10 11 11 11 13 13 13 16 16 16 33 33 33 50 50 50 52 52 52
++65 65 65 58 58 58 51 51 51 50 50 50 52 52 52 57 57 57 58 58 58 58 58 58
++50 50 50 50 50 50 51 51 51 56 56 56 58 58 58 57 57 57 51 51 51 45 45 45
++50 50 50 51 51 51 56 56 56 53 53 53 32 32 32 4 4 4 3 3 3 21 21 21
++57 57 57 39 39 39 46 46 46 25 25 25 0 0 0 29 29 29 51 51 51 31 31 31
++48 48 48 21 21 21 0 0 0 44 44 44 65 65 65 24 24 24 3 3 3 3 3 3
++0 0 0 33 33 33 45 45 45 21 21 21 0 0 0 3 3 3 11 11 11 6 6 6
++48 48 48 48 48 48 8 8 8 0 0 0 6 6 6 0 0 0 17 17 17 28 28 28
++20 20 20 17 17 17 27 27 27 42 42 42 44 44 44 37 37 37 37 37 37 45 45 45
++49 49 49 49 49 49 48 48 48 48 48 48 46 46 46 46 46 46 48 48 48 48 48 48
++44 44 44 34 34 34 33 33 33 37 37 37 31 31 31 21 21 21 31 31 31 49 49 49
++28 28 28 33 33 33 38 38 38 6 6 6 0 0 0 13 13 13 3 3 3 21 21 21
++24 24 24 45 45 45 32 32 32 17 17 17 0 0 0 0 0 0 37 37 37 49 49 49
++6 6 6 0 0 0 40 40 40 19 19 19 31 31 31 33 33 33 0 0 0 39 39 39
++28 28 28 36 36 36 8 8 8 0 0 0 0 0 0 3 3 3 0 0 0 3 3 3
++4 4 4 32 32 32 49 49 49 51 51 51 43 43 43 27 27 27 25 25 25 40 40 40
++44 44 44 39 39 39 11 11 11 0 0 0 13 13 13 14 14 14 6 6 6 17 17 17
++10 10 10 16 16 16 14 14 14 14 14 14 17 17 17 13 13 13 14 14 14 28 28 28
++36 36 36 0 0 0 4 4 4 23 23 23 13 13 13 0 0 0 0 0 0 23 23 23
++54 54 54 42 42 42 32 32 32 54 54 54 32 32 32 16 16 16 52 52 52 36 36 36
++
++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 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 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++4 4 4 8 8 8 13 13 13 17 17 17 20 20 20 20 20 20 19 19 19 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++19 19 19 19 19 19 20 20 20 21 21 21 19 19 19 17 17 17 28 28 28 40 40 40
++34 34 34 21 21 21 17 17 17 19 19 19 16 16 16 17 17 17 32 32 32 48 48 48
++37 37 37 24 24 24 10 10 10 14 14 14 20 20 20 11 11 11 23 23 23 49 49 49
++43 43 43 27 27 27 10 10 10 17 17 17 24 24 24 17 17 17 23 23 23 46 46 46
++46 46 46 31 31 31 14 14 14 16 16 16 20 20 20 11 11 11 21 21 21 50 50 50
++57 57 57 25 25 25 10 10 10 21 21 21 21 21 21 13 13 13 23 23 23 42 42 42
++57 57 57 39 39 39 14 14 14 3 3 3 3 3 3 0 0 0 10 10 10 36 36 36
++58 58 58 43 43 43 10 10 10 0 0 0 8 8 8 0 0 0 0 0 0 29 29 29
++63 63 63 36 36 36 10 10 10 19 19 19 13 13 13 0 0 0 13 13 13 8 8 8
++56 56 56 38 38 38 21 21 21 11 11 11 0 0 0 4 4 4 14 14 14 17 17 17
++52 52 52 44 44 44 13 13 13 0 0 0 19 19 19 19 19 19 8 8 8 21 21 21
++54 54 54 52 52 52 32 32 32 11 11 11 13 13 13 13 13 13 6 6 6 14 14 14
++48 48 48 50 50 50 31 31 31 28 28 28 28 28 28 16 16 16 16 16 16 14 14 14
++33 33 33 56 56 56 34 34 34 14 14 14 23 23 23 23 23 23 23 23 23 21 21 21
++27 27 27 21 21 21 21 21 21 27 27 27 28 28 28 24 24 24 23 23 23 25 25 25
++25 25 25 32 32 32 49 49 49 52 52 52 36 36 36 27 27 27 32 32 32 31 31 31
++36 36 36 23 23 23 34 34 34 53 53 53 49 49 49 34 34 34 32 32 32 33 33 33
++38 38 38 32 32 32 33 33 33 44 44 44 52 52 52 50 50 50 42 42 42 37 37 37
++39 39 39 40 40 40 37 37 37 37 37 37 50 50 50 63 63 63 57 57 57 39 39 39
++38 38 38 38 38 38 43 43 43 52 52 52 80 80 80 73 73 73 73 73 73 46 46 46
++44 44 44 61 61 61 74 74 74 65 65 65 43 43 43 42 42 42 60 60 60 74 74 74
++76 76 76 71 71 71 44 44 44 45 45 45 46 46 46 54 54 54 83 83 83 77 77 77
++81 81 81 63 63 63 42 42 42 59 59 59 81 81 81 80 80 80 44 44 44 50 50 50
++71 71 71 78 78 78 90 90 90 85 85 85 59 59 59 48 48 48 61 61 61 76 76 76
++80 80 80 61 61 61 39 39 39 58 58 58 72 72 72 81 81 81 87 87 87 57 57 57
++53 53 53 70 70 70 52 52 52 48 48 48 43 43 43 44 44 44 68 68 68 59 59 59
++74 74 74 71 71 71 71 71 71 74 74 74 71 71 71 62 62 62 59 59 59 61 61 61
++60 60 60 58 58 58 51 51 51 68 68 68 68 68 68 42 42 42 33 33 33 36 36 36
++39 39 39 45 45 45 67 67 67 70 70 70 43 43 43 31 31 31 37 37 37 33 33 33
++39 39 39 33 33 33 31 31 31 43 43 43 60 60 60 71 71 71 70 70 70 63 63 63
++52 52 52 73 73 73 69 69 69 67 67 67 54 54 54 51 51 51 34 34 34 29 29 29
++29 29 29 25 25 25 21 21 21 21 21 21 24 24 24 25 25 25 23 23 23 19 19 19
++32 32 32 49 49 49 58 58 58 48 48 48 28 28 28 17 17 17 17 17 17 21 21 21
++19 19 19 10 10 10 11 11 11 19 19 19 44 44 44 60 60 60 50 50 50 52 52 52
++53 53 53 60 60 60 59 59 59 54 54 54 53 53 53 50 50 50 50 50 50 60 60 60
++61 61 61 54 54 54 49 49 49 50 50 50 56 56 56 59 59 59 56 56 56 51 51 51
++46 46 46 46 46 46 51 51 51 57 57 57 51 51 51 32 32 32 8 8 8 0 0 0
++16 16 16 56 56 56 50 50 50 4 4 4 0 0 0 8 8 8 13 13 13 57 57 57
++49 49 49 38 38 38 23 23 23 48 48 48 32 32 32 52 52 52 32 32 32 13 13 13
++16 16 16 17 17 17 40 40 40 46 46 46 34 34 34 32 32 32 33 33 33 39 39 39
++54 54 54 42 42 42 31 31 31 29 29 29 29 29 29 28 28 28 27 27 27 29 29 29
++32 32 32 32 32 32 42 42 42 45 45 45 33 33 33 31 31 31 44 44 44 53 53 53
++28 28 28 40 40 40 45 45 45 25 25 25 10 10 10 0 0 0 4 4 4 50 50 50
++24 24 24 0 0 0 23 23 23 36 36 36 42 42 42 0 0 0 37 37 37 51 51 51
++28 28 28 32 32 32 34 34 34 6 6 6 0 0 0 3 3 3 0 0 0 23 23 23
++36 36 36 33 33 33 10 10 10 3 3 3 0 0 0 0 0 0 28 28 28 51 51 51
++28 28 28 0 0 0 57 57 57 13 13 13 44 44 44 29 29 29 0 0 0 40 40 40
++25 25 25 6 6 6 6 6 6 3 3 3 0 0 0 4 4 4 3 3 3 6 6 6
++11 11 11 0 0 0 11 11 11 44 44 44 54 54 54 44 44 44 39 39 39 45 45 45
++45 45 45 52 52 52 44 44 44 0 0 0 10 10 10 31 31 31 6 6 6 20 20 20
++16 16 16 10 10 10 13 13 13 14 14 14 13 13 13 28 28 28 40 40 40 36 36 36
++11 11 11 4 4 4 0 0 0 10 10 10 17 17 17 6 6 6 6 6 6 29 29 29
++49 49 49 50 50 50 21 21 21 24 24 24 44 44 44 43 43 43 43 43 43 44 44 44
++
++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 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 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 0 0 0 0 0 0 3 3 3 6 6 6 10 10 10 13 13 13 14 14 14
++21 21 21 21 21 21 21 21 21 20 20 20 19 19 19 17 17 17 16 16 16 14 14 14
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++16 16 16 16 16 16 17 17 17 20 20 20 17 17 17 14 14 14 21 21 21 29 29 29
++46 46 46 39 39 39 17 17 17 14 14 14 27 27 27 16 16 16 8 8 8 32 32 32
++49 49 49 40 40 40 27 27 27 20 20 20 21 21 21 16 16 16 14 14 14 25 25 25
++46 46 46 42 42 42 27 27 27 16 16 16 17 17 17 20 20 20 23 23 23 32 32 32
++54 54 54 45 45 45 27 27 27 17 17 17 23 23 23 23 23 23 19 19 19 20 20 20
++38 38 38 57 57 57 37 37 37 10 10 10 23 23 23 23 23 23 13 13 13 27 27 27
++46 46 46 54 54 54 42 42 42 13 13 13 0 0 0 3 3 3 4 4 4 4 4 4
++43 43 43 50 50 50 38 38 38 11 11 11 0 0 0 3 3 3 3 3 3 0 0 0
++21 21 21 59 59 59 45 45 45 16 16 16 10 10 10 0 0 0 3 3 3 8 8 8
++27 27 27 57 57 57 42 42 42 10 10 10 13 13 13 10 10 10 0 0 0 11 11 11
++20 20 20 45 45 45 51 51 51 23 23 23 0 0 0 11 11 11 20 20 20 4 4 4
++27 27 27 44 44 44 54 54 54 32 32 32 0 0 0 8 8 8 21 21 21 8 8 8
++13 13 13 46 46 46 49 49 49 38 38 38 28 28 28 23 23 23 25 25 25 17 17 17
++20 20 20 46 46 46 51 51 51 37 37 37 16 16 16 14 14 14 28 28 28 17 17 17
++20 20 20 23 23 23 24 24 24 21 21 21 21 21 21 25 25 25 28 28 28 27 27 27
++27 27 27 45 45 45 51 51 51 38 38 38 25 25 25 25 25 25 31 31 31 36 36 36
++25 25 25 37 37 37 50 50 50 51 51 51 39 39 39 32 32 32 37 37 37 42 42 42
++38 38 38 38 38 38 44 44 44 54 54 54 53 53 53 44 44 44 37 37 37 37 37 37
++43 43 43 38 38 38 42 42 42 54 54 54 62 62 62 56 56 56 45 45 45 39 39 39
++45 45 45 51 51 51 38 38 38 48 48 48 61 61 61 77 77 77 69 69 69 43 43 43
++46 46 46 34 34 34 68 68 68 83 83 83 58 58 58 69 69 69 85 85 85 56 56 56
++66 66 66 77 77 77 67 67 67 51 51 51 39 39 39 54 54 54 85 85 85 84 84 84
++89 89 89 61 61 61 50 50 50 68 68 68 69 69 69 83 83 83 78 78 78 70 70 70
++87 87 87 87 87 87 87 87 87 83 83 83 74 74 74 67 67 67 62 62 62 58 58 58
++75 75 75 75 75 75 67 67 67 69 69 69 60 60 60 65 65 65 89 89 89 82 82 82
++70 70 70 57 57 57 39 39 39 44 44 44 54 54 54 61 61 61 69 69 69 70 70 70
++77 77 77 76 76 76 72 72 72 67 67 67 63 63 63 61 61 61 60 60 60 60 60 60
++63 63 63 59 59 59 50 50 50 63 63 63 68 68 68 50 50 50 44 44 44 45 45 45
++36 36 36 32 32 32 46 46 46 66 66 66 62 62 62 46 46 46 39 39 39 40 40 40
++37 37 37 33 33 33 31 31 31 32 32 32 42 42 42 53 53 53 65 65 65 71 71 71
++54 54 54 62 62 62 51 51 51 48 48 48 45 45 45 59 59 59 63 63 63 72 72 72
++52 52 52 44 44 44 33 33 33 24 24 24 20 20 20 21 21 21 23 23 23 23 23 23
++8 8 8 24 24 24 40 40 40 52 52 52 53 53 53 45 45 45 28 28 28 13 13 13
++27 27 27 39 39 39 53 53 53 52 52 52 56 56 56 59 59 59 52 52 52 59 59 59
++50 50 50 58 58 58 59 59 59 56 56 56 56 56 56 53 53 53 52 52 52 58 58 58
++56 56 56 52 52 52 50 50 50 49 49 49 50 50 50 51 51 51 52 52 52 51 51 51
++49 49 49 48 48 48 49 49 49 53 53 53 52 52 52 43 43 43 27 27 27 16 16 16
++44 44 44 58 58 58 54 54 54 25 25 25 13 13 13 6 6 6 0 0 0 23 23 23
++56 56 56 57 57 57 52 52 52 57 57 57 39 39 39 56 56 56 53 53 53 50 50 50
++48 48 48 38 38 38 43 43 43 45 45 45 45 45 45 40 40 40 37 37 37 52 52 52
++39 39 39 36 36 36 29 29 29 25 25 25 25 25 25 27 27 27 28 28 28 28 28 28
++43 43 43 42 42 42 49 49 49 51 51 51 46 46 46 48 48 48 51 51 51 49 49 49
++51 51 51 59 59 59 57 57 57 32 32 32 20 20 20 19 19 19 11 11 11 27 27 27
++37 37 37 19 19 19 36 36 36 31 31 31 31 31 31 17 17 17 42 42 42 45 45 45
++28 28 28 28 28 28 36 36 36 17 17 17 11 11 11 14 14 14 6 6 6 28 28 28
++38 38 38 32 32 32 6 6 6 3 3 3 10 10 10 10 10 10 29 29 29 43 43 43
++25 25 25 10 10 10 50 50 50 19 19 19 31 31 31 33 33 33 31 31 31 42 42 42
++21 21 21 8 8 8 16 16 16 14 14 14 11 11 11 14 14 14 10 10 10 8 8 8
++8 8 8 17 17 17 24 24 24 32 32 32 44 44 44 48 48 48 40 40 40 31 31 31
++21 21 21 29 29 29 38 38 38 28 28 28 20 20 20 28 28 28 23 23 23 10 10 10
++11 11 11 17 17 17 11 11 11 6 6 6 21 21 21 37 37 37 36 36 36 25 25 25
++16 16 16 8 8 8 8 8 8 20 20 20 29 29 29 24 24 24 21 21 21 31 31 31
++36 36 36 40 40 40 29 29 29 24 24 24 32 32 32 40 40 40 43 43 43 36 36 36
++
++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 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 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 0 0 0 3 3 3 8 8 8 13 13 13 17 17 17 20 20 20 21 21 21
++19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 21 21 21 23 23 23 24 24 24
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++16 16 16 16 16 16 19 19 19 20 20 20 19 19 19 14 14 14 16 16 16 20 20 20
++29 29 29 48 48 48 37 37 37 14 14 14 20 20 20 24 24 24 16 16 16 17 17 17
++27 27 27 46 46 46 44 44 44 23 23 23 16 16 16 24 24 24 23 23 23 11 11 11
++27 27 27 49 49 49 48 48 48 21 21 21 10 10 10 17 17 17 19 19 19 11 11 11
++23 23 23 48 48 48 50 50 50 25 25 25 13 13 13 17 17 17 17 17 17 10 10 10
++19 19 19 43 43 43 50 50 50 31 31 31 14 14 14 17 17 17 19 19 19 11 11 11
++21 21 21 46 46 46 53 53 53 36 36 36 19 19 19 10 10 10 0 0 0 0 0 0
++10 10 10 38 38 38 57 57 57 42 42 42 8 8 8 0 0 0 3 3 3 0 0 0
++0 0 0 36 36 36 57 57 57 45 45 45 13 13 13 0 0 0 11 11 11 8 8 8
++0 0 0 36 36 36 54 54 54 42 42 42 16 16 16 0 0 0 4 4 4 11 11 11
++0 0 0 24 24 24 49 49 49 49 49 49 24 24 24 4 4 4 10 10 10 14 14 14
++10 10 10 20 20 20 45 45 45 52 52 52 28 28 28 8 8 8 14 14 14 19 19 19
++11 11 11 29 29 29 42 42 42 56 56 56 49 49 49 23 23 23 14 14 14 19 19 19
++16 16 16 24 24 24 40 40 40 53 53 53 38 38 38 16 16 16 21 21 21 27 27 27
++17 17 17 23 23 23 28 28 28 29 29 29 28 28 28 28 28 28 28 28 28 29 29 29
++42 42 42 48 48 48 37 37 37 25 25 25 32 32 32 33 33 33 29 29 29 33 33 33
++31 31 31 50 50 50 54 54 54 42 42 42 33 33 33 36 36 36 39 39 39 42 42 42
++32 32 32 49 49 49 61 61 61 57 57 57 44 44 44 36 36 36 39 39 39 46 46 46
++42 42 42 44 44 44 54 54 54 65 65 65 61 61 61 48 48 48 42 42 42 45 45 45
++48 48 48 39 39 39 52 52 52 49 49 49 75 75 75 58 58 58 75 75 75 69 69 69
++43 43 43 53 53 53 45 45 45 58 58 58 90 90 90 82 82 82 49 49 49 42 42 42
++48 48 48 65 65 65 77 77 77 72 72 72 62 62 62 67 67 67 72 72 72 66 66 66
++81 81 81 84 84 84 67 67 67 68 68 68 70 70 70 82 82 82 84 84 84 92 92 92
++78 78 78 65 65 65 73 73 73 90 90 90 87 87 87 77 77 77 65 65 65 44 44 44
++50 50 50 70 70 70 80 80 80 76 76 76 52 52 52 50 50 50 83 83 83 93 93 93
++87 87 87 62 62 62 54 54 54 60 60 60 76 76 76 87 87 87 81 81 81 85 85 85
++84 84 84 84 84 84 76 76 76 66 66 66 62 62 62 67 67 67 68 68 68 65 65 65
++67 67 67 65 65 65 60 60 60 71 71 71 82 82 82 75 75 75 72 72 72 73 73 73
++82 82 82 74 74 74 69 69 69 76 76 76 82 82 82 67 67 67 52 52 52 56 56 56
++40 40 40 43 43 43 44 44 44 40 40 40 37 37 37 38 38 38 43 43 43 48 48 48
++63 63 63 62 62 62 51 51 51 43 43 43 38 38 38 44 44 44 43 43 43 50 50 50
++61 61 61 57 57 57 50 50 50 44 44 44 40 40 40 38 38 38 38 38 38 38 38 38
++40 40 40 33 33 33 29 29 29 36 36 36 46 46 46 51 51 51 48 48 48 43 43 43
++46 46 46 52 52 52 57 57 57 50 50 50 48 48 48 46 46 46 37 37 37 38 38 38
++44 44 44 52 52 52 51 51 51 45 45 45 43 43 43 42 42 42 37 37 37 34 34 34
++39 39 39 40 40 40 42 42 42 39 39 39 36 36 36 36 36 36 38 38 38 42 42 42
++40 40 40 38 38 38 36 36 36 37 37 37 42 42 42 42 42 42 34 34 34 24 24 24
++32 32 32 29 29 29 39 39 39 34 34 34 23 23 23 24 24 24 28 28 28 34 34 34
++36 36 36 39 39 39 39 39 39 34 34 34 25 25 25 33 33 33 34 34 34 29 29 29
++32 32 32 25 25 25 24 24 24 28 28 28 38 38 38 29 29 29 14 14 14 31 31 31
++31 31 31 32 32 32 32 32 32 29 29 29 28 28 28 28 28 28 28 28 28 27 27 27
++24 24 24 29 29 29 37 37 37 38 38 38 32 32 32 31 31 31 32 32 32 29 29 29
++24 24 24 28 28 28 31 31 31 20 20 20 20 20 20 28 28 28 25 25 25 28 28 28
++44 44 44 32 32 32 36 36 36 25 25 25 21 21 21 23 23 23 32 32 32 29 29 29
++29 29 29 25 25 25 34 34 34 25 25 25 24 24 24 31 31 31 25 25 25 42 42 42
++33 33 33 36 36 36 25 25 25 28 28 28 33 33 33 25 25 25 23 23 23 23 23 23
++32 32 32 16 16 16 27 27 27 24 24 24 29 29 29 42 42 42 43 43 43 28 28 28
++31 31 31 24 24 24 33 33 33 31 31 31 28 28 28 33 33 33 29 29 29 25 25 25
++24 24 24 31 31 31 28 28 28 29 29 29 39 39 39 38 38 38 31 31 31 33 33 33
++21 21 21 29 29 29 32 32 32 36 36 36 28 28 28 25 25 25 27 27 27 3 3 3
++8 8 8 17 17 17 14 14 14 17 17 17 33 33 33 33 33 33 21 21 21 20 20 20
++23 23 23 13 13 13 13 13 13 23 23 23 29 29 29 32 32 32 33 33 33 31 31 31
++32 32 32 27 27 27 31 31 31 31 31 31 33 33 33 42 42 42 38 38 38 28 28 28
++
++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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++6 6 6 8 8 8 11 11 11 16 16 16 17 17 17 19 19 19 19 19 19 19 19 19
++20 20 20 19 19 19 19 19 19 17 17 17 17 17 17 19 19 19 19 19 19 20 20 20
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 19 19 19 17 17 17 17 17 17
++8 8 8 32 32 32 49 49 49 37 37 37 14 14 14 21 21 21 29 29 29 17 17 17
++11 11 11 37 37 37 49 49 49 37 37 37 20 20 20 13 13 13 11 11 11 10 10 10
++0 0 0 24 24 24 43 43 43 42 42 42 24 24 24 3 3 3 0 0 0 6 6 6
++0 0 0 21 21 21 44 44 44 42 42 42 21 21 21 0 0 0 0 0 0 17 17 17
++4 4 4 6 6 6 36 36 36 50 50 50 25 25 25 3 3 3 6 6 6 6 6 6
++0 0 0 16 16 16 38 38 38 53 53 53 44 44 44 16 16 16 0 0 0 10 10 10
++0 0 0 11 11 11 42 42 42 57 57 57 38 38 38 8 8 8 0 0 0 8 8 8
++10 10 10 0 0 0 33 33 33 63 63 63 39 39 39 8 8 8 8 8 8 8 8 8
++11 11 11 3 3 3 33 33 33 54 54 54 37 37 37 13 13 13 10 10 10 8 8 8
++10 10 10 3 3 3 17 17 17 49 49 49 58 58 58 23 23 23 0 0 0 20 20 20
++17 17 17 11 11 11 17 17 17 44 44 44 56 56 56 29 29 29 4 4 4 17 17 17
++21 21 21 4 4 4 16 16 16 51 51 51 62 62 62 39 39 39 20 20 20 19 19 19
++20 20 20 19 19 19 20 20 20 42 42 42 58 58 58 39 39 39 20 20 20 27 27 27
++29 29 29 27 27 27 28 28 28 33 33 33 32 32 32 27 27 27 32 32 32 42 42 42
++48 48 48 36 36 36 25 25 25 32 32 32 40 40 40 34 34 34 29 29 29 39 39 39
++49 49 49 53 53 53 43 43 43 33 33 33 39 39 39 44 44 44 39 39 39 37 37 37
++45 45 45 61 61 61 62 62 62 44 44 44 33 33 33 40 40 40 46 46 46 44 44 44
++43 43 43 58 58 58 66 66 66 57 57 57 46 46 46 45 45 45 49 49 49 50 50 50
++43 43 43 57 57 57 58 58 58 81 81 81 54 54 54 54 54 54 53 53 53 78 78 78
++70 70 70 49 49 49 49 49 49 69 69 69 82 82 82 84 84 84 72 72 72 53 53 53
++57 57 57 46 46 46 63 63 63 80 80 80 83 83 83 76 76 76 59 59 59 52 52 52
++67 67 67 94 94 94 84 84 84 76 76 76 72 72 72 76 76 76 77 77 77 91 91 91
++74 74 74 48 48 48 61 61 61 91 91 91 92 92 92 83 83 83 72 72 72 52 52 52
++62 62 62 72 72 72 80 80 80 82 82 82 65 65 65 56 56 56 76 76 76 85 85 85
++89 89 89 83 83 83 85 85 85 83 83 83 87 87 87 92 92 92 85 85 85 83 83 83
++85 85 85 84 84 84 77 77 77 69 69 69 66 66 66 66 66 66 63 63 63 60 60 60
++61 61 61 62 62 62 60 60 60 63 63 63 69 69 69 63 63 63 59 59 59 61 61 61
++60 60 60 61 61 61 58 58 58 56 56 56 60 60 60 60 60 60 57 57 57 57 57 57
++53 53 53 57 57 57 59 59 59 59 59 59 57 57 57 54 54 54 54 54 54 57 57 57
++51 51 51 49 49 49 50 50 50 50 50 50 50 50 50 52 52 52 48 48 48 53 53 53
++48 48 48 49 49 49 49 49 49 49 49 49 48 48 48 45 45 45 44 44 44 43 43 43
++48 48 48 44 44 44 42 42 42 44 44 44 45 45 45 44 44 44 44 44 44 44 44 44
++43 43 43 36 36 36 32 32 32 37 37 37 42 42 42 42 42 42 37 37 37 37 37 37
++33 33 33 38 38 38 38 38 38 33 33 33 34 34 34 39 39 39 38 38 38 34 34 34
++32 32 32 34 34 34 37 37 37 36 36 36 33 33 33 31 31 31 32 32 32 33 33 33
++31 31 31 33 33 33 31 31 31 28 28 28 31 31 31 36 36 36 36 36 36 29 29 29
++36 36 36 24 24 24 28 28 28 32 32 32 28 28 28 34 34 34 36 36 36 24 24 24
++32 32 32 28 28 28 32 32 32 31 31 31 34 34 34 29 29 29 31 31 31 25 25 25
++24 24 24 28 28 28 31 31 31 21 21 21 27 27 27 33 33 33 28 28 28 33 33 33
++25 25 25 23 23 23 23 23 23 27 27 27 29 29 29 29 29 29 29 29 29 29 29 29
++27 27 27 28 28 28 32 32 32 34 34 34 31 31 31 24 24 24 21 21 21 21 21 21
++32 32 32 27 27 27 31 31 31 33 33 33 28 28 28 24 24 24 29 29 29 39 39 39
++36 36 36 37 37 37 21 21 21 25 25 25 34 34 34 21 21 21 25 25 25 32 32 32
++32 32 32 25 25 25 32 32 32 20 20 20 23 23 23 36 36 36 32 32 32 43 43 43
++25 25 25 32 32 32 31 31 31 31 31 31 32 32 32 27 27 27 28 28 28 34 34 34
++34 34 34 28 28 28 23 23 23 38 38 38 39 39 39 45 45 45 27 27 27 27 27 27
++25 25 25 17 17 17 24 24 24 19 19 19 14 14 14 23 23 23 21 21 21 20 20 20
++28 28 28 23 23 23 23 23 23 42 42 42 49 49 49 21 21 21 11 11 11 42 42 42
++33 33 33 38 38 38 25 25 25 17 17 17 29 29 29 38 38 38 38 38 38 36 36 36
++17 17 17 14 14 14 20 20 20 36 36 36 38 38 38 16 16 16 4 4 4 21 21 21
++24 24 24 14 14 14 14 14 14 16 16 16 14 14 14 23 23 23 31 31 31 25 25 25
++39 39 39 19 19 19 27 27 27 39 39 39 49 49 49 45 45 45 24 24 24 24 24 24
++
++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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 6 6 6
++16 16 16 17 17 17 19 19 19 19 19 19 19 19 19 17 17 17 16 16 16 16 16 16
++19 19 19 19 19 19 20 20 20 20 20 20 19 19 19 19 19 19 17 17 17 16 16 16
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++19 19 19 19 19 19 17 17 17 17 17 17 17 17 17 19 19 19 19 19 19 17 17 17
++19 19 19 10 10 10 32 32 32 51 51 51 36 36 36 16 16 16 17 17 17 23 23 23
++21 21 21 11 11 11 24 24 24 48 48 48 43 43 43 16 16 16 4 4 4 20 20 20
++8 8 8 0 0 0 16 16 16 46 46 46 44 44 44 11 11 11 0 0 0 0 0 0
++8 8 8 0 0 0 6 6 6 40 40 40 44 44 44 14 14 14 0 0 0 0 0 0
++0 0 0 3 3 3 13 13 13 34 34 34 46 46 46 20 20 20 0 0 0 0 0 0
++0 0 0 0 0 0 17 17 17 45 45 45 52 52 52 36 36 36 13 13 13 0 0 0
++8 8 8 0 0 0 8 8 8 38 38 38 57 57 57 42 42 42 11 11 11 0 0 0
++10 10 10 4 4 4 14 14 14 39 39 39 56 56 56 37 37 37 6 6 6 6 6 6
++20 20 20 10 10 10 0 0 0 24 24 24 56 56 56 48 48 48 14 14 14 3 3 3
++8 8 8 11 11 11 10 10 10 23 23 23 48 48 48 49 49 49 27 27 27 6 6 6
++14 14 14 21 21 21 16 16 16 20 20 20 45 45 45 51 51 51 29 29 29 6 6 6
++19 19 19 16 16 16 17 17 17 24 24 24 43 43 43 56 56 56 40 40 40 11 11 11
++19 19 19 29 29 29 25 25 25 21 21 21 44 44 44 57 57 57 39 39 39 19 19 19
++34 34 34 29 29 29 25 25 25 23 23 23 25 25 25 32 32 32 43 43 43 51 51 51
++39 39 39 28 28 28 33 33 33 40 40 40 34 34 34 29 29 29 40 40 40 52 52 52
++54 54 54 46 46 46 33 33 33 34 34 34 45 45 45 43 43 43 39 39 39 49 49 49
++68 68 68 61 61 61 48 48 48 36 36 36 39 39 39 49 49 49 46 46 46 37 37 37
++57 57 57 66 66 66 62 62 62 46 46 46 40 40 40 50 50 50 53 53 53 46 46 46
++45 45 45 59 59 59 80 80 80 52 52 52 54 54 54 43 43 43 59 59 59 54 54 54
++85 85 85 66 66 66 81 81 81 82 82 82 52 52 52 67 67 67 89 89 89 68 68 68
++66 66 66 44 44 44 61 61 61 82 82 82 88 88 88 80 80 80 57 57 57 54 54 54
++74 74 74 84 84 84 93 93 93 94 94 94 68 68 68 76 76 76 81 81 81 69 69 69
++85 85 85 75 75 75 68 68 68 78 78 78 92 92 92 91 91 91 81 81 81 76 76 76
++82 82 82 65 65 65 56 56 56 72 72 72 80 80 80 78 78 78 84 84 84 85 85 85
++85 85 85 92 92 92 92 92 92 90 90 90 81 81 81 70 70 70 69 69 69 63 63 63
++56 56 56 54 54 54 58 58 58 66 66 66 71 71 71 70 70 70 69 69 69 70 70 70
++70 70 70 71 71 71 69 69 69 65 65 65 63 63 63 61 61 61 61 61 61 69 69 69
++65 65 65 66 66 66 68 68 68 66 66 66 61 61 61 63 63 63 63 63 63 58 58 58
++65 65 65 65 65 65 63 63 63 59 59 59 56 56 56 56 56 56 60 60 60 65 65 65
++59 59 59 53 53 53 59 59 59 53 53 53 51 51 51 51 51 51 48 48 48 52 52 52
++53 53 53 54 54 54 54 54 54 54 54 54 54 54 54 56 56 56 57 57 57 58 58 58
++46 46 46 50 50 50 52 52 52 51 51 51 45 45 45 43 43 43 44 44 44 49 49 49
++53 53 53 46 46 46 49 49 49 56 56 56 48 48 48 29 29 29 28 28 28 37 37 37
++45 45 45 45 45 45 45 45 45 42 42 42 43 43 43 49 49 49 52 52 52 49 49 49
++44 44 44 44 44 44 45 45 45 46 46 46 48 48 48 46 46 46 43 43 43 39 39 39
++38 38 38 44 44 44 46 46 46 40 40 40 38 38 38 42 42 42 43 43 43 43 43 43
++50 50 50 36 36 36 19 19 19 16 16 16 25 25 25 38 38 38 37 37 37 17 17 17
++40 40 40 28 28 28 33 33 33 39 39 39 34 34 34 11 11 11 10 10 10 14 14 14
++25 25 25 37 37 37 40 40 40 11 11 11 0 0 0 33 33 33 48 48 48 43 43 43
++29 29 29 14 14 14 4 4 4 14 14 14 25 25 25 29 29 29 34 34 34 42 42 42
++49 49 49 43 43 43 42 42 42 48 48 48 45 45 45 31 31 31 17 17 17 14 14 14
++4 4 4 0 0 0 4 4 4 13 13 13 10 10 10 8 8 8 21 21 21 32 32 32
++19 19 19 44 44 44 13 13 13 21 21 21 50 50 50 24 24 24 38 38 38 51 51 51
++49 49 49 43 43 43 45 45 45 25 25 25 19 19 19 29 29 29 16 16 16 11 11 11
++29 29 29 24 24 24 8 8 8 0 0 0 0 0 0 0 0 0 17 17 17 39 39 39
++21 21 21 46 46 46 46 46 46 43 43 43 37 37 37 42 42 42 4 4 4 45 45 45
++14 14 14 0 0 0 6 6 6 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 14 14 14 38 38 38 43 43 43 11 11 11 0 0 0 36 36 36
++49 49 49 42 42 42 42 42 42 19 19 19 23 23 23 46 46 46 45 45 45 53 53 53
++37 37 37 21 21 21 27 27 27 38 38 38 25 25 25 4 4 4 6 6 6 19 19 19
++20 20 20 16 16 16 19 19 19 14 14 14 3 3 3 10 10 10 20 20 20 16 16 16
++36 36 36 27 27 27 29 29 29 38 38 38 52 52 52 42 42 42 10 10 10 19 19 19
++
++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 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 0 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6 10 10 10 11 11 11
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 17 17 17 17 17 17
++17 17 17 19 19 19 19 19 19 19 19 19 19 19 19 17 17 17 16 16 16 16 16 16
++14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++10 10 10 11 11 11 10 10 10 6 6 6 8 8 8 11 11 11 13 13 13 10 10 10
++19 19 19 6 6 6 4 4 4 28 28 28 45 45 45 34 34 34 17 17 17 17 17 17
++24 24 24 6 6 6 8 8 8 32 32 32 46 46 46 46 46 46 32 32 32 16 16 16
++20 20 20 10 10 10 6 6 6 19 19 19 37 37 37 44 44 44 25 25 25 0 0 0
++6 6 6 0 0 0 0 0 0 14 14 14 36 36 36 46 46 46 28 28 28 0 0 0
++0 0 0 0 0 0 0 0 0 14 14 14 36 36 36 45 45 45 28 28 28 0 0 0
++0 0 0 0 0 0 0 0 0 17 17 17 40 40 40 57 57 57 39 39 39 0 0 0
++0 0 0 3 3 3 0 0 0 8 8 8 42 42 42 57 57 57 38 38 38 10 10 10
++0 0 0 8 8 8 20 20 20 13 13 13 27 27 27 56 56 56 45 45 45 10 10 10
++8 8 8 8 8 8 0 0 0 0 0 0 32 32 32 56 56 56 48 48 48 19 19 19
++0 0 0 10 10 10 17 17 17 10 10 10 16 16 16 51 51 51 57 57 57 23 23 23
++8 8 8 13 13 13 19 19 19 14 14 14 21 21 21 49 49 49 54 54 54 32 32 32
++13 13 13 20 20 20 25 25 25 11 11 11 21 21 21 52 52 52 52 52 52 34 34 34
++24 24 24 17 17 17 29 29 29 27 27 27 25 25 25 46 46 46 52 52 52 39 39 39
++23 23 23 28 28 28 28 28 28 24 24 24 31 31 31 43 43 43 46 46 46 40 40 40
++36 36 36 32 32 32 37 37 37 36 36 36 29 29 29 42 42 42 56 56 56 52 52 52
++43 43 43 39 39 39 38 38 38 44 44 44 44 44 44 39 39 39 48 48 48 66 66 66
++60 60 60 46 46 46 40 40 40 46 46 46 50 50 50 48 48 48 50 50 50 58 58 58
++71 71 71 61 61 61 51 51 51 48 48 48 51 51 51 53 53 53 51 51 51 48 48 48
++66 66 66 69 69 69 53 53 53 60 60 60 43 43 43 68 68 68 50 50 50 53 53 53
++53 53 53 94 94 94 91 91 91 59 59 59 53 53 53 54 54 54 61 61 61 84 84 84
++68 68 68 66 66 66 80 80 80 81 81 81 76 76 76 78 78 78 72 72 72 73 73 73
++91 91 91 90 90 90 93 93 93 91 91 91 77 77 77 84 84 84 67 67 67 54 54 54
++70 70 70 99 99 99 90 90 90 72 72 72 88 88 88 92 92 92 84 84 84 93 93 93
++82 82 82 56 56 56 45 45 45 69 69 69 92 92 92 96 96 96 92 92 92 88 88 88
++92 92 92 91 91 91 84 84 84 87 87 87 76 76 76 54 54 54 53 53 53 52 52 52
++54 54 54 52 52 52 57 57 57 69 69 69 73 73 73 70 70 70 66 66 66 67 67 67
++69 69 69 66 66 66 62 62 62 53 53 53 53 53 53 56 56 56 60 60 60 75 75 75
++62 62 62 48 48 48 44 44 44 49 49 49 44 44 44 42 42 42 44 44 44 44 44 44
++53 53 53 61 61 61 68 68 68 66 66 66 54 54 54 43 43 43 38 38 38 37 37 37
++61 61 61 59 59 59 76 76 76 66 66 66 57 57 57 49 49 49 37 37 37 34 34 34
++48 48 48 48 48 48 50 50 50 52 52 52 54 54 54 56 56 56 56 56 56 54 54 54
++67 67 67 69 69 69 68 68 68 65 65 65 65 65 65 68 68 68 67 67 67 63 63 63
++59 59 59 50 50 50 50 50 50 59 59 59 48 48 48 28 28 28 31 31 31 38 38 38
++56 56 56 52 52 52 52 52 52 53 53 53 52 52 52 54 54 54 57 57 57 54 54 54
++56 56 56 53 53 53 52 52 52 54 54 54 58 58 58 58 58 58 53 53 53 49 49 49
++49 49 49 54 54 54 58 58 58 56 56 56 51 51 51 49 49 49 50 50 50 50 50 50
++52 52 52 49 49 49 28 28 28 6 6 6 0 0 0 21 21 21 46 46 46 52 52 52
++52 52 52 25 25 25 31 31 31 56 56 56 48 48 48 28 28 28 8 8 8 0 0 0
++0 0 0 21 21 21 40 40 40 20 20 20 6 6 6 33 33 33 36 36 36 13 13 13
++44 44 44 28 28 28 14 14 14 16 16 16 24 24 24 32 32 32 42 42 42 51 51 51
++45 45 45 51 51 51 54 54 54 49 49 49 33 33 33 6 6 6 0 0 0 4 4 4
++0 0 0 8 8 8 0 0 0 0 0 0 6 6 6 16 16 16 20 20 20 13 13 13
++6 6 6 48 48 48 23 23 23 10 10 10 48 48 48 13 13 13 36 36 36 52 52 52
++49 49 49 43 43 43 52 52 52 42 42 42 37 37 37 44 44 44 27 27 27 19 19 19
++32 32 32 24 24 24 19 19 19 14 14 14 19 19 19 20 20 20 24 24 24 44 44 44
++14 14 14 50 50 50 52 52 52 25 25 25 21 21 21 43 43 43 3 3 3 43 43 43
++21 21 21 3 3 3 4 4 4 4 4 4 0 0 0 3 3 3 0 0 0 0 0 0
++4 4 4 28 28 28 34 34 34 29 29 29 34 34 34 38 38 38 40 40 40 50 50 50
++54 54 54 33 33 33 58 58 58 45 45 45 23 23 23 45 45 45 50 50 50 50 50 50
++50 50 50 38 38 38 33 33 33 24 24 24 8 8 8 13 13 13 20 20 20 11 11 11
++14 14 14 19 19 19 24 24 24 21 21 21 11 11 11 8 8 8 11 11 11 11 11 11
++21 21 21 38 38 38 37 37 37 28 28 28 37 37 37 29 29 29 4 4 4 10 10 10
++
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 3 3 3 6 6 6 10 10 10 14 14 14 17 17 17
++19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 19 19 19 19 19 19 19 19 19
++21 21 21 20 20 20 16 16 16 11 11 11 8 8 8 4 4 4 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 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 0 0 0 0
++0 0 0 6 6 6 6 6 6 0 0 0 0 0 0 3 3 3 4 4 4 0 0 0
++3 3 3 8 8 8 0 0 0 0 0 0 23 23 23 40 40 40 34 34 34 19 19 19
++20 20 20 23 23 23 21 21 21 16 16 16 27 27 27 49 49 49 44 44 44 14 14 14
++20 20 20 24 24 24 19 19 19 0 0 0 14 14 14 46 46 46 44 44 44 8 8 8
++0 0 0 6 6 6 8 8 8 0 0 0 8 8 8 44 44 44 49 49 49 23 23 23
++6 6 6 0 0 0 0 0 0 4 4 4 4 4 4 40 40 40 54 54 54 23 23 23
++6 6 6 0 0 0 0 0 0 3 3 3 25 25 25 50 50 50 51 51 51 29 29 29
++0 0 0 3 3 3 3 3 3 0 0 0 11 11 11 38 38 38 50 50 50 43 43 43
++11 11 11 0 0 0 23 23 23 13 13 13 0 0 0 40 40 40 59 59 59 36 36 36
++14 14 14 0 0 0 14 14 14 13 13 13 0 0 0 31 31 31 58 58 58 45 45 45
++23 23 23 6 6 6 11 11 11 14 14 14 6 6 6 27 27 27 50 50 50 50 50 50
++27 27 27 10 10 10 13 13 13 20 20 20 19 19 19 29 29 29 49 49 49 56 56 56
++24 24 24 10 10 10 16 16 16 19 19 19 24 24 24 42 42 42 51 51 51 59 59 59
++43 43 43 11 11 11 24 24 24 34 34 34 25 25 25 29 29 29 43 43 43 56 56 56
++33 33 33 29 29 29 31 31 31 39 39 39 46 46 46 46 46 46 38 38 38 32 32 32
++38 38 38 37 37 37 34 34 34 33 33 33 42 42 42 56 56 56 56 56 56 44 44 44
++39 39 39 40 40 40 44 44 44 45 45 45 43 43 43 50 50 50 60 60 60 63 63 63
++43 43 43 42 42 42 46 46 46 53 53 53 51 51 51 48 48 48 59 59 59 75 75 75
++66 66 66 53 53 53 48 48 48 53 53 53 57 57 57 53 53 53 57 57 57 66 66 66
++87 87 87 62 62 62 58 58 58 56 56 56 62 62 62 57 57 57 52 52 52 60 60 60
++73 73 73 89 89 89 90 90 90 75 75 75 63 63 63 52 52 52 53 53 53 67 67 67
++87 87 87 88 88 88 85 85 85 65 65 65 54 54 54 74 74 74 92 92 92 96 97 98
++92 92 92 89 89 89 88 88 88 84 84 84 87 87 87 91 91 91 56 56 56 62 62 62
++66 66 66 88 88 88 93 93 93 83 83 83 83 83 83 91 91 91 89 89 89 84 84 84
++90 90 90 81 81 81 78 78 78 84 84 84 90 90 90 89 89 89 85 85 85 87 87 87
++99 99 99 90 90 90 88 88 88 84 84 84 78 78 78 70 70 70 58 58 58 57 57 57
++58 58 58 58 58 58 59 59 59 66 66 66 72 72 72 74 74 74 73 73 73 72 72 72
++77 77 77 68 68 68 60 60 60 51 51 51 51 51 51 52 52 52 49 49 49 65 65 65
++78 78 78 67 67 67 51 51 51 46 46 46 48 48 48 43 43 43 43 43 43 49 49 49
++40 40 40 51 51 51 63 63 63 71 71 71 69 69 69 60 60 60 50 50 50 44 44 44
++34 34 34 42 42 42 75 75 75 68 68 68 65 65 65 65 65 65 61 61 61 61 61 61
++37 37 37 34 34 34 32 32 32 32 32 32 33 33 33 32 32 32 29 29 29 25 25 25
++27 27 27 37 37 37 45 45 45 52 52 52 61 61 61 65 65 65 49 49 49 25 25 25
++27 27 27 21 21 21 24 24 24 45 45 45 53 53 53 52 52 52 59 59 59 53 53 53
++32 32 32 28 28 28 40 40 40 54 54 54 56 56 56 57 57 57 60 60 60 61 61 61
++60 60 60 57 57 57 53 53 53 53 53 53 56 56 56 57 57 57 56 56 56 54 54 54
++51 51 51 52 52 52 54 54 54 58 58 58 57 57 57 52 52 52 49 49 49 49 49 49
++60 60 60 63 63 63 53 53 53 34 34 34 0 0 0 0 0 0 39 39 39 57 57 57
++43 43 43 4 4 4 0 0 0 50 50 50 42 42 42 44 44 44 27 27 27 10 10 10
++0 0 0 11 11 11 36 36 36 42 42 42 48 48 48 49 49 49 23 23 23 0 0 0
++34 34 34 36 36 36 32 32 32 27 27 27 29 29 29 39 39 39 46 46 46 49 49 49
++42 42 42 56 56 56 53 53 53 32 32 32 8 8 8 0 0 0 0 0 0 4 4 4
++0 0 0 10 10 10 0 0 0 0 0 0 19 19 19 19 19 19 13 13 13 0 0 0
++4 4 4 29 29 29 40 40 40 16 16 16 46 46 46 0 0 0 19 19 19 46 46 46
++33 33 33 21 21 21 42 42 42 49 49 49 51 51 51 56 56 56 43 43 43 44 44 44
++27 27 27 29 29 29 45 45 45 56 56 56 57 57 57 48 48 48 40 40 40 60 60 60
++31 31 31 42 42 42 44 44 44 23 23 23 14 14 14 43 43 43 21 21 21 28 28 28
++29 29 29 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 0 0 0 3 3 3
++21 21 21 27 27 27 16 16 16 0 0 0 0 0 0 21 21 21 31 31 31 31 31 31
++44 44 44 14 14 14 40 40 40 54 54 54 40 40 40 49 49 49 57 57 57 51 51 51
++48 48 48 49 49 49 39 39 39 21 21 21 10 10 10 17 17 17 20 20 20 10 10 10
++13 13 13 17 17 17 20 20 20 21 21 21 20 20 20 14 14 14 11 11 11 16 16 16
++24 24 24 39 39 39 33 33 33 21 21 21 20 20 20 16 16 16 13 13 13 8 8 8
++
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 4 4 4 8 8 8 13 13 13 17 17 17 20 20 20
++20 20 20 19 19 19 17 17 17 16 16 16 16 16 16 16 16 16 17 17 17 19 19 19
++6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++0 0 0 6 6 6 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 17 17 17 39 39 39 29 29 29
++3 3 3 8 8 8 20 20 20 20 20 20 16 16 16 28 28 28 44 44 44 48 48 48
++20 20 20 13 13 13 19 19 19 23 23 23 11 11 11 11 11 11 33 33 33 51 51 51
++11 11 11 0 0 0 0 0 0 4 4 4 0 0 0 10 10 10 38 38 38 57 57 57
++11 11 11 10 10 10 0 0 0 0 0 0 0 0 0 11 11 11 34 34 34 56 56 56
++21 21 21 0 0 0 3 3 3 16 16 16 16 16 16 21 21 21 43 43 43 59 59 59
++29 29 29 0 0 0 0 0 0 8 8 8 0 0 0 10 10 10 43 43 43 58 58 58
++39 39 39 10 10 10 11 11 11 17 17 17 8 8 8 3 3 3 24 24 24 65 65 65
++40 40 40 19 19 19 3 3 3 11 11 11 13 13 13 3 3 3 27 27 27 62 62 62
++49 49 49 24 24 24 4 4 4 13 13 13 14 14 14 4 4 4 24 24 24 54 54 54
++50 50 50 34 34 34 13 13 13 13 13 13 24 24 24 19 19 19 25 25 25 52 52 52
++59 59 59 28 28 28 21 21 21 24 24 24 25 25 25 33 33 33 33 33 33 40 40 40
++59 59 59 34 34 34 25 25 25 24 24 24 29 29 29 29 29 29 25 25 25 44 44 44
++63 63 63 36 36 36 27 27 27 48 48 48 54 54 54 38 38 38 31 31 31 40 40 40
++33 33 33 39 39 39 39 39 39 43 43 43 54 54 54 52 52 52 43 43 43 45 45 45
++46 46 46 45 45 45 44 44 44 39 39 39 46 46 46 67 67 67 69 69 69 49 49 49
++48 48 48 51 51 51 50 50 50 45 45 45 49 49 49 60 60 60 67 67 67 67 67 67
++51 51 51 50 50 50 52 52 52 56 56 56 52 52 52 52 52 52 68 68 68 88 88 88
++60 60 60 58 58 58 57 57 57 61 61 61 49 49 49 63 63 63 58 58 58 75 75 75
++90 90 90 62 62 62 66 66 66 88 88 88 84 84 84 65 65 65 59 59 59 62 62 62
++93 93 93 91 91 91 81 81 81 63 63 63 58 58 58 78 78 78 96 97 98 96 97 98
++83 83 83 60 60 60 85 85 85 93 93 93 80 80 80 93 93 93 72 72 72 73 73 73
++99 99 99 66 66 66 76 76 76 93 93 93 82 82 82 96 96 96 101 101 101 61 61 61
++88 88 88 96 96 96 96 97 98 82 82 82 66 66 66 63 63 63 74 74 74 88 88 88
++93 93 93 89 89 89 99 99 99 82 82 82 80 80 80 91 91 91 68 68 68 62 62 62
++60 60 60 61 61 61 59 59 59 58 58 58 63 63 63 73 73 73 75 75 75 71 71 71
++73 73 73 59 59 59 54 54 54 51 51 51 57 57 57 56 56 56 45 45 45 57 57 57
++73 73 73 82 82 82 67 67 67 50 50 50 54 54 54 52 52 52 44 44 44 49 49 49
++51 51 51 46 46 46 44 44 44 51 51 51 62 62 62 71 71 71 72 72 72 70 70 70
++53 53 53 51 51 51 72 72 72 46 46 46 36 36 36 43 43 43 52 52 52 60 60 60
++75 75 75 65 65 65 50 50 50 38 38 38 33 33 33 32 32 32 32 32 32 32 32 32
++28 28 28 29 29 29 24 24 24 23 23 23 42 42 42 62 62 62 62 62 62 48 48 48
++25 25 25 33 33 33 40 40 40 58 58 58 62 62 62 60 60 60 58 58 58 36 36 36
++14 14 14 11 11 11 32 32 32 54 54 54 57 57 57 53 53 53 56 56 56 57 57 57
++62 62 62 59 59 59 56 56 56 52 52 52 52 52 52 54 54 54 58 58 58 60 60 60
++53 53 53 48 48 48 49 49 49 56 56 56 60 60 60 56 56 56 49 49 49 46 46 46
++44 44 44 46 46 46 54 54 54 62 62 62 38 38 38 24 24 24 45 45 45 46 46 46
++59 59 59 23 23 23 8 8 8 44 44 44 16 16 16 37 37 37 38 38 38 34 34 34
++6 6 6 0 0 0 0 0 0 24 24 24 49 49 49 42 42 42 6 6 6 0 0 0
++0 0 0 20 20 20 34 34 34 29 29 29 31 31 31 44 44 44 48 48 48 42 42 42
++52 52 52 54 54 54 32 32 32 0 0 0 0 0 0 8 8 8 6 6 6 0 0 0
++0 0 0 8 8 8 0 0 0 13 13 13 31 31 31 13 13 13 0 0 0 0 0 0
++4 4 4 0 0 0 53 53 53 34 34 34 58 58 58 0 0 0 11 11 11 54 54 54
++51 51 51 27 27 27 39 39 39 46 46 46 39 39 39 29 29 29 11 11 11 20 20 20
++31 31 31 31 31 31 46 46 46 48 48 48 34 34 34 13 13 13 10 10 10 44 44 44
++49 49 49 38 38 38 51 51 51 46 46 46 21 21 21 37 37 37 38 38 38 28 28 28
++40 40 40 6 6 6 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 16 16 16
++39 39 39 16 16 16 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 4 4 4
++46 46 46 19 19 19 16 16 16 48 48 48 56 56 56 48 48 48 50 50 50 46 46 46
++38 38 38 50 50 50 46 46 46 32 32 32 24 24 24 14 14 14 8 8 8 16 16 16
++14 14 14 16 16 16 11 11 11 14 14 14 23 23 23 19 19 19 14 14 14 23 23 23
++39 39 39 36 36 36 21 21 21 21 21 21 16 16 16 8 8 8 20 20 20 11 11 11
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 0 0 0
++0 0 0 0 0 0 0 0 0 10 10 10 17 17 17 17 17 17 17 17 17 20 20 20
++16 16 16 17 17 17 17 17 17 19 19 19 19 19 19 14 14 14 8 8 8 3 3 3
++0 0 0 4 4 4 8 8 8 13 13 13 16 16 16 19 19 19 21 21 21 21 21 21
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++19 19 19 14 14 14 13 13 13 13 13 13 4 4 4 0 0 0 19 19 19 42 42 42
++23 23 23 8 8 8 0 0 0 8 8 8 21 21 21 16 16 16 21 21 21 44 44 44
++44 44 44 24 24 24 8 8 8 19 19 19 24 24 24 6 6 6 10 10 10 37 37 37
++50 50 50 14 14 14 0 0 0 3 3 3 3 3 3 0 0 0 11 11 11 34 34 34
++56 56 56 17 17 17 0 0 0 3 3 3 6 6 6 0 0 0 13 13 13 33 33 33
++54 54 54 28 28 28 0 0 0 3 3 3 23 23 23 21 21 21 21 21 21 36 36 36
++62 62 62 37 37 37 6 6 6 0 0 0 4 4 4 0 0 0 10 10 10 42 42 42
++62 62 62 48 48 48 23 23 23 8 8 8 8 8 8 4 4 4 10 10 10 28 28 28
++67 67 67 49 49 49 19 19 19 0 0 0 11 11 11 14 14 14 13 13 13 20 20 20
++65 65 65 52 52 52 23 23 23 0 0 0 11 11 11 19 19 19 13 13 13 11 11 11
++54 54 54 51 51 51 25 25 25 11 11 11 29 29 29 29 29 29 17 17 17 21 21 21
++53 53 53 52 52 52 38 38 38 20 20 20 23 23 23 39 39 39 37 37 37 21 21 21
++42 42 42 63 63 63 40 40 40 19 19 19 31 31 31 38 38 38 38 38 38 29 29 29
++44 44 44 59 59 59 56 56 56 57 57 57 42 42 42 33 33 33 36 36 36 34 34 34
++38 38 38 34 34 34 44 44 44 60 60 60 62 62 62 49 49 49 39 39 39 39 39 39
++48 48 48 37 37 37 37 37 37 56 56 56 69 69 69 67 67 67 56 56 56 49 49 49
++49 49 49 52 52 52 51 51 51 50 50 50 61 61 61 73 73 73 68 68 68 51 51 51
++57 57 57 54 54 54 58 58 58 57 57 57 57 57 57 72 72 72 82 82 82 72 72 72
++62 62 62 61 61 61 56 56 56 59 59 59 66 66 66 61 61 61 71 71 71 96 96 96
++59 59 59 68 68 68 62 62 62 65 65 65 94 94 94 90 90 90 66 66 66 87 87 87
++89 89 89 74 74 74 88 88 88 85 85 85 85 85 85 101 101 101 88 88 88 75 75 75
++87 87 87 91 91 91 92 92 92 92 92 92 74 74 74 68 68 68 91 91 91 99 99 99
++72 72 72 69 69 69 61 61 61 81 81 81 99 99 99 99 99 99 101 101 101 96 97 98
++96 96 96 93 93 93 96 97 98 87 87 87 60 60 60 62 62 62 80 80 80 81 81 81
++93 93 93 99 99 99 72 72 72 89 89 89 90 90 90 74 74 74 93 93 93 75 75 75
++60 60 60 65 65 65 66 66 66 58 58 58 60 60 60 62 62 62 67 67 67 89 89 89
++88 88 88 67 67 67 58 58 58 67 67 67 71 71 71 71 71 71 73 73 73 74 74 74
++82 82 82 87 87 87 87 87 87 77 77 77 72 72 72 75 75 75 77 77 77 75 75 75
++76 76 76 73 73 73 68 68 68 63 63 63 59 59 59 59 59 59 67 67 67 76 76 76
++81 81 81 78 78 78 81 81 81 59 59 59 56 56 56 39 39 39 42 42 42 40 40 40
++39 39 39 53 53 53 69 69 69 70 70 70 56 56 56 38 38 38 29 29 29 32 32 32
++28 28 28 29 29 29 31 31 31 27 27 27 24 24 24 32 32 32 52 52 52 70 70 70
++67 67 67 68 68 68 59 59 59 44 44 44 31 31 31 25 25 25 40 40 40 63 63 63
++50 50 50 17 17 17 6 6 6 38 38 38 61 61 61 59 59 59 52 52 52 56 56 56
++57 57 57 58 58 58 58 58 58 56 56 56 51 51 51 51 51 51 54 54 54 59 59 59
++59 59 59 52 52 52 50 50 50 49 49 49 51 51 51 59 59 59 60 60 60 51 51 51
++50 50 50 44 44 44 52 52 52 57 57 57 51 51 51 53 53 53 45 45 45 19 19 19
++8 8 8 50 50 50 32 32 32 21 21 21 42 42 42 19 19 19 10 10 10 56 56 56
++31 31 31 0 0 0 6 6 6 31 31 31 44 44 44 52 52 52 33 33 33 0 0 0
++4 4 4 19 19 19 20 20 20 31 31 31 49 49 49 39 39 39 32 32 32 52 52 52
++54 54 54 31 31 31 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6
++0 0 0 3 3 3 17 17 17 24 24 24 14 14 14 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 28 28 28 57 57 57 50 50 50 13 13 13 13 13 13 50 50 50
++50 50 50 31 31 31 50 50 50 21 21 21 0 0 0 3 3 3 0 0 0 20 20 20
++24 24 24 25 25 25 11 11 11 19 19 19 48 48 48 52 52 52 40 40 40 42 42 42
++38 38 38 19 19 19 33 33 33 46 46 46 51 51 51 54 54 54 50 50 50 53 53 53
++44 44 44 17 17 17 0 0 0 3 3 3 0 0 0 0 0 0 19 19 19 40 40 40
++10 10 10 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 39 39 39 32 32 32 21 21 21 42 42 42 50 50 50 42 42 42 45 45 45
++31 31 31 28 28 28 48 48 48 59 59 59 45 45 45 36 36 36 28 28 28 6 6 6
++17 17 17 17 17 17 13 13 13 14 14 14 19 19 19 19 19 19 27 27 27 42 42 42
++32 32 32 20 20 20 13 13 13 19 19 19 23 23 23 19 19 19 11 11 11 10 10 10
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 0 0 0
++0 0 0 0 0 0 4 4 4 14 14 14 20 20 20 19 19 19 17 17 17 20 20 20
++14 14 14 19 19 19 20 20 20 16 16 16 10 10 10 6 6 6 8 8 8 11 11 11
++13 13 13 14 14 14 17 17 17 19 19 19 20 20 20 20 20 20 19 19 19 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++21 21 21 19 19 19 20 20 20 23 23 23 19 19 19 11 11 11 14 14 14 23 23 23
++42 42 42 36 36 36 13 13 13 0 0 0 0 0 0 6 6 6 16 16 16 24 24 24
++44 44 44 43 43 43 28 28 28 14 14 14 17 17 17 19 19 19 13 13 13 10 10 10
++33 33 33 49 49 49 23 23 23 0 0 0 0 0 0 3 3 3 0 0 0 11 11 11
++33 33 33 51 51 51 28 28 28 0 0 0 4 4 4 3 3 3 0 0 0 11 11 11
++38 38 38 49 49 49 37 37 37 11 11 11 13 13 13 24 24 24 20 20 20 8 8 8
++40 40 40 53 53 53 42 42 42 8 8 8 0 0 0 8 8 8 11 11 11 4 4 4
++42 42 42 56 56 56 49 49 49 23 23 23 6 6 6 4 4 4 4 4 4 8 8 8
++37 37 37 56 56 56 51 51 51 23 23 23 4 4 4 6 6 6 11 11 11 13 13 13
++24 24 24 49 49 49 51 51 51 27 27 27 8 8 8 8 8 8 16 16 16 21 21 21
++28 28 28 53 53 53 60 60 60 32 32 32 8 8 8 23 23 23 28 28 28 10 10 10
++19 19 19 52 52 52 58 58 58 33 33 33 21 21 21 39 39 39 44 44 44 28 28 28
++29 29 29 49 49 49 53 53 53 45 45 45 27 27 27 21 21 21 34 34 34 28 28 28
++25 25 25 59 59 59 74 74 74 49 49 49 39 39 39 32 32 32 53 53 53 43 43 43
++36 36 36 51 51 51 61 61 61 58 58 58 50 50 50 43 43 43 42 42 42 46 46 46
++45 45 45 46 46 46 57 57 57 69 69 69 67 67 67 52 52 52 46 46 46 51 51 51
++54 54 54 50 50 50 53 53 53 63 63 63 69 69 69 65 65 65 58 58 58 56 56 56
++58 58 58 65 65 65 54 54 54 53 53 53 74 74 74 85 85 85 72 72 72 58 58 58
++63 63 63 58 58 58 65 65 65 65 65 65 60 60 60 81 81 81 90 90 90 70 70 70
++66 66 66 65 65 65 69 69 69 63 63 63 74 74 74 93 93 93 92 92 92 89 89 89
++67 67 67 54 54 54 82 82 82 96 96 96 94 94 94 90 90 90 72 72 72 68 68 68
++89 89 89 91 91 91 90 90 90 89 89 89 83 83 83 85 85 85 99 99 99 103 103 102
++83 83 83 69 69 69 70 70 70 95 95 94 103 103 102 96 96 96 99 99 99 95 95 94
++95 95 94 88 88 88 83 83 83 88 88 88 91 91 91 80 80 80 70 70 70 73 73 73
++80 80 80 99 99 99 91 91 91 72 72 72 82 82 82 87 87 87 77 77 77 87 87 87
++76 76 76 63 63 63 60 60 60 60 60 60 67 67 67 70 70 70 74 74 74 91 91 91
++94 94 94 95 95 94 94 94 94 87 87 87 77 77 77 82 82 82 85 85 85 77 77 77
++74 74 74 62 62 62 66 66 66 85 85 85 87 87 87 69 69 69 58 58 58 62 62 62
++67 67 67 68 68 68 70 70 70 74 74 74 75 75 75 76 76 76 81 81 81 87 87 87
++82 82 82 81 81 81 87 87 87 81 81 81 77 77 77 69 69 69 68 68 68 65 65 65
++63 63 63 53 53 53 52 52 52 68 68 68 78 78 78 71 71 71 56 56 56 44 44 44
++45 45 45 48 48 48 51 51 51 56 56 56 63 63 63 70 70 70 66 66 66 58 58 58
++44 44 44 65 65 65 65 65 65 39 39 39 20 20 20 17 17 17 24 24 24 32 32 32
++49 49 49 45 45 45 37 37 37 33 33 33 45 45 45 60 60 60 60 60 60 50 50 50
++53 53 53 58 58 58 62 62 62 61 61 61 56 56 56 51 51 51 51 51 51 52 52 52
++61 61 61 56 56 56 53 53 53 50 50 50 46 46 46 52 52 52 58 58 58 56 56 56
++52 52 52 46 46 46 51 51 51 52 52 52 46 46 46 45 45 45 38 38 38 21 21 21
++8 8 8 32 32 32 39 39 39 32 32 32 43 43 43 32 32 32 0 0 0 20 20 20
++43 43 43 42 42 42 17 17 17 40 40 40 36 36 36 17 17 17 45 45 45 28 28 28
++8 8 8 36 36 36 29 29 29 31 31 31 53 53 53 39 39 39 21 21 21 49 49 49
++34 34 34 14 14 14 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0
++4 4 4 17 17 17 23 23 23 14 14 14 4 4 4 4 4 4 4 4 4 0 0 0
++4 4 4 8 8 8 19 19 19 38 38 38 52 52 52 48 48 48 43 43 43 50 50 50
++42 42 42 19 19 19 33 33 33 21 21 21 8 8 8 24 24 24 20 20 20 27 27 27
++28 28 28 34 34 34 34 34 34 40 40 40 54 54 54 54 54 54 45 45 45 46 46 46
++49 49 49 31 31 31 44 44 44 49 49 49 23 23 23 14 14 14 36 36 36 54 54 54
++53 53 53 11 11 11 0 0 0 3 3 3 0 0 0 21 21 21 37 37 37 8 8 8
++8 8 8 4 4 4 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 0 0 0
++6 6 6 28 28 28 28 28 28 28 28 28 46 46 46 49 49 49 40 40 40 43 43 43
++44 44 44 20 20 20 24 24 24 45 45 45 48 48 48 38 38 38 36 36 36 36 36 36
++8 8 8 11 11 11 6 6 6 10 10 10 24 24 24 32 32 32 32 32 32 34 34 34
++14 14 14 13 13 13 14 14 14 16 16 16 16 16 16 16 16 16 20 20 20 27 27 27
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++0 0 0 3 3 3 11 11 11 19 19 19 21 21 21 19 19 19 19 19 19 20 20 20
++17 17 17 17 17 17 14 14 14 8 8 8 4 4 4 6 6 6 11 11 11 16 16 16
++17 17 17 19 19 19 20 20 20 21 21 21 23 23 23 21 21 21 20 20 20 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++19 19 19 19 19 19 20 20 20 23 23 23 24 24 24 21 21 21 17 17 17 13 13 13
++33 33 33 40 40 40 31 31 31 6 6 6 0 0 0 0 0 0 4 4 4 4 4 4
++23 23 23 42 42 42 42 42 42 23 23 23 17 17 17 24 24 24 20 20 20 8 8 8
++19 19 19 39 39 39 40 40 40 16 16 16 0 0 0 0 0 0 3 3 3 0 0 0
++10 10 10 38 38 38 48 48 48 25 25 25 0 0 0 0 0 0 3 3 3 0 0 0
++6 6 6 44 44 44 53 53 53 33 33 33 20 20 20 24 24 24 17 17 17 0 0 0
++0 0 0 46 46 46 61 61 61 38 38 38 11 11 11 3 3 3 0 0 0 0 0 0
++4 4 4 42 42 42 60 60 60 49 49 49 23 23 23 0 0 0 0 0 0 11 11 11
++3 3 3 42 42 42 60 60 60 48 48 48 24 24 24 8 8 8 8 8 8 16 16 16
++0 0 0 37 37 37 59 59 59 52 52 52 28 28 28 3 3 3 4 4 4 20 20 20
++16 16 16 32 32 32 54 54 54 57 57 57 33 33 33 16 16 16 19 19 19 23 23 23
++17 17 17 37 37 37 54 54 54 56 56 56 45 45 45 34 34 34 31 31 31 32 32 32
++23 23 23 34 34 34 50 50 50 60 60 60 44 44 44 24 24 24 29 29 29 34 34 34
++44 44 44 61 61 61 56 56 56 69 69 69 43 43 43 42 42 42 33 33 33 42 42 42
++40 40 40 62 62 62 65 65 65 49 49 49 43 43 43 45 45 45 48 48 48 51 51 51
++44 44 44 57 57 57 69 69 69 70 70 70 59 59 59 49 49 49 50 50 50 57 57 57
++53 53 53 56 56 56 65 65 65 73 73 73 69 69 69 58 58 58 56 56 56 61 61 61
++65 65 65 59 59 59 56 56 56 72 72 72 89 89 89 77 77 77 59 59 59 60 60 60
++61 61 61 67 67 67 65 65 65 65 65 65 81 81 81 91 91 91 80 80 80 62 62 62
++70 70 70 65 65 65 71 71 71 68 68 68 71 71 71 93 93 93 103 103 102 94 94 94
++67 67 67 61 61 61 90 90 90 105 105 105 99 99 99 91 91 91 76 76 76 75 75 75
++91 91 91 87 87 87 90 90 90 96 96 96 99 99 99 89 89 89 76 76 76 78 78 78
++101 101 101 89 89 89 95 95 94 109 110 110 101 101 101 96 96 96 105 105 105 103 103 102
++93 93 93 71 71 71 62 62 62 87 87 87 105 105 105 94 94 94 74 74 74 69 69 69
++67 67 67 78 78 78 103 103 102 91 91 91 78 78 78 88 88 88 81 81 81 75 75 75
++95 95 94 82 82 82 84 84 84 87 87 87 87 87 87 88 88 88 87 87 87 89 89 89
++76 76 76 87 87 87 91 91 91 74 74 74 56 56 56 56 56 56 61 61 61 54 54 54
++57 57 57 54 54 54 58 58 58 71 71 71 82 82 82 78 78 78 65 65 65 51 51 51
++51 51 51 49 49 49 49 49 49 51 51 51 51 51 51 49 49 49 50 50 50 53 53 53
++65 65 65 66 66 66 73 73 73 87 87 87 78 78 78 82 82 82 83 83 83 80 80 80
++76 76 76 66 66 66 63 63 63 74 74 74 77 77 77 70 70 70 67 67 67 72 72 72
++73 73 73 73 73 73 65 65 65 49 49 49 42 42 42 42 42 42 34 34 34 20 20 20
++28 28 28 32 32 32 45 45 45 63 63 63 59 59 59 28 28 28 11 11 11 27 27 27
++45 45 45 59 59 59 63 63 63 52 52 52 44 44 44 50 50 50 57 57 57 57 57 57
++51 51 51 53 53 53 57 57 57 60 60 60 60 60 60 58 58 58 54 54 54 51 51 51
++59 59 59 57 57 57 59 59 59 57 57 57 48 48 48 46 46 46 53 53 53 57 57 57
++63 63 63 52 52 52 40 40 40 34 34 34 27 27 27 20 20 20 17 17 17 16 16 16
++20 20 20 3 3 3 23 23 23 16 16 16 27 27 27 45 45 45 14 14 14 0 0 0
++23 23 23 40 40 40 48 48 48 33 33 33 6 6 6 0 0 0 24 24 24 43 43 43
++27 27 27 24 24 24 33 33 33 43 43 43 43 43 43 49 49 49 54 54 54 49 49 49
++8 8 8 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 3 3 3
++19 19 19 21 21 21 16 16 16 3 3 3 0 0 0 4 4 4 8 8 8 3 3 3
++4 4 4 0 0 0 4 4 4 34 34 34 53 53 53 45 45 45 32 32 32 36 36 36
++45 45 45 37 37 37 53 53 53 56 56 56 44 44 44 39 39 39 36 36 36 38 38 38
++28 28 28 28 28 28 27 27 27 27 27 27 31 31 31 34 34 34 36 36 36 37 37 37
++51 51 51 48 48 48 50 50 50 52 52 52 31 31 31 0 0 0 19 19 19 46 46 46
++52 52 52 36 36 36 6 6 6 0 0 0 23 23 23 36 36 36 20 20 20 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3
++0 0 0 10 10 10 21 21 21 32 32 32 42 42 42 39 39 39 31 31 31 32 32 32
++48 48 48 23 23 23 17 17 17 40 40 40 57 57 57 49 49 49 38 38 38 36 36 36
++33 33 33 20 20 20 3 3 3 8 8 8 29 29 29 34 34 34 28 28 28 25 25 25
++10 10 10 13 13 13 13 13 13 10 10 10 11 11 11 21 21 21 32 32 32 38 38 38
++
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 10 10 10 17 17 17 21 21 21 21 21 21 19 19 19 19 19 19 20 20 20
++21 21 21 13 13 13 4 4 4 3 3 3 11 11 11 17 17 17 17 17 17 16 16 16
++20 20 20 20 20 20 20 20 20 19 19 19 17 17 17 16 16 16 14 14 14 13 13 13
++14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++6 6 6 10 10 10 10 10 10 10 10 10 16 16 16 23 23 23 23 23 23 19 19 19
++14 14 14 27 27 27 37 37 37 37 37 37 23 23 23 3 3 3 0 0 0 3 3 3
++0 0 0 21 21 21 39 39 39 39 39 39 28 28 28 17 17 17 19 19 19 27 27 27
++14 14 14 10 10 10 32 32 32 43 43 43 19 19 19 0 0 0 3 3 3 0 0 0
++0 0 0 4 4 4 37 37 37 50 50 50 23 23 23 0 0 0 3 3 3 3 3 3
++0 0 0 16 16 16 39 39 39 51 51 51 43 43 43 23 23 23 11 11 11 14 14 14
++0 0 0 13 13 13 42 42 42 60 60 60 45 45 45 4 4 4 0 0 0 13 13 13
++0 0 0 11 11 11 38 38 38 58 58 58 50 50 50 19 19 19 3 3 3 16 16 16
++6 6 6 16 16 16 38 38 38 59 59 59 52 52 52 24 24 24 6 6 6 14 14 14
++8 8 8 8 8 8 29 29 29 56 56 56 56 56 56 29 29 29 11 11 11 19 19 19
++25 25 25 14 14 14 23 23 23 57 57 57 68 68 68 32 32 32 6 6 6 31 31 31
++27 27 27 16 16 16 28 28 28 56 56 56 66 66 66 49 49 49 32 32 32 29 29 29
++32 32 32 34 34 34 32 32 32 50 50 50 66 66 66 48 48 48 32 32 32 45 45 45
++62 62 62 32 32 32 40 40 40 51 51 51 78 78 78 46 46 46 46 46 46 40 40 40
++59 59 59 63 63 63 52 52 52 40 40 40 46 46 46 51 51 51 46 46 46 46 46 46
++57 57 57 67 67 67 67 67 67 56 56 56 50 50 50 57 57 57 60 60 60 56 56 56
++52 52 52 69 69 69 77 77 77 70 70 70 60 60 60 59 59 59 62 62 62 62 62 62
++63 63 63 58 58 58 74 74 74 90 90 90 77 77 77 62 62 62 65 65 65 70 70 70
++66 66 66 69 69 69 67 67 67 80 80 80 94 94 94 80 80 80 62 62 62 71 71 71
++69 69 69 70 70 70 69 69 69 76 76 76 90 90 90 87 87 87 84 84 84 96 96 96
++96 97 98 94 94 94 99 99 99 87 87 87 80 80 80 92 92 92 96 97 98 99 99 99
++77 77 77 70 70 70 83 83 83 101 101 101 112 112 113 95 95 94 70 70 70 80 80 80
++103 103 102 105 105 105 109 110 110 99 99 99 82 82 82 87 87 87 103 103 102 101 101 101
++105 105 105 75 75 75 70 70 70 87 87 87 91 91 91 92 92 92 88 88 88 72 72 72
++71 71 71 67 67 67 85 85 85 103 103 102 87 87 87 84 84 84 99 99 99 87 87 87
++101 101 101 94 94 94 103 103 102 93 93 93 75 75 75 73 73 73 69 69 69 61 61 61
++69 69 69 74 74 74 87 87 87 87 87 87 72 72 72 63 63 63 65 65 65 67 67 67
++57 57 57 66 66 66 63 63 63 53 53 53 63 63 63 83 83 83 82 82 82 63 63 63
++65 65 65 58 58 58 54 54 54 54 54 54 53 53 53 50 50 50 49 49 49 50 50 50
++49 49 49 50 50 50 54 54 54 76 76 76 60 60 60 66 66 66 71 71 71 70 70 70
++81 81 81 61 61 61 44 44 44 43 43 43 46 46 46 43 43 43 40 40 40 42 42 42
++58 58 58 68 68 68 66 66 66 44 44 44 23 23 23 19 19 19 28 28 28 34 34 34
++33 33 33 31 31 31 31 31 31 43 43 43 59 59 59 60 60 60 49 49 49 44 44 44
++57 57 57 52 52 52 56 56 56 59 59 59 43 43 43 23 23 23 37 37 37 65 65 65
++59 59 59 54 54 54 51 51 51 52 52 52 58 58 58 60 60 60 58 58 58 53 53 53
++52 52 52 52 52 52 59 59 59 62 62 62 54 54 54 50 50 50 52 52 52 52 52 52
++62 62 62 44 44 44 23 23 23 14 14 14 16 16 16 16 16 16 23 23 23 34 34 34
++40 40 40 16 16 16 23 23 23 13 13 13 11 11 11 33 33 33 23 23 23 4 4 4
++0 0 0 37 37 37 65 65 65 36 36 36 6 6 6 8 8 8 10 10 10 34 34 34
++36 36 36 25 25 25 37 37 37 34 34 34 8 8 8 23 23 23 45 45 45 38 38 38
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 4 4 4 16 16 16
++23 23 23 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 3 3 3 21 21 21 45 45 45 53 53 53 42 42 42 37 37 37 50 50 50
++51 51 51 40 40 40 38 38 38 37 37 37 19 19 19 3 3 3 10 10 10 16 16 16
++27 27 27 23 23 23 25 25 25 28 28 28 24 24 24 24 24 24 19 19 19 0 0 0
++31 31 31 46 46 46 25 25 25 36 36 36 59 59 59 39 39 39 31 31 31 53 53 53
++50 50 50 52 52 52 31 31 31 19 19 19 34 34 34 21 21 21 0 0 0 4 4 4
++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 0 0 17 17 17 36 36 36 43 43 43 40 40 40 36 36 36 32 32 32 31 31 31
++27 27 27 24 24 24 16 16 16 24 24 24 46 46 46 50 50 50 31 31 31 11 11 11
++48 48 48 29 29 29 14 14 14 24 24 24 39 39 39 32 32 32 17 17 17 16 16 16
++25 25 25 20 20 20 11 11 11 8 8 8 19 19 19 32 32 32 37 37 37 33 33 33
++
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++11 11 11 16 16 16 20 20 20 20 20 20 19 19 19 19 19 19 20 20 20 20 20 20
++16 16 16 11 11 11 6 6 6 10 10 10 17 17 17 23 23 23 21 21 21 19 19 19
++21 21 21 19 19 19 16 16 16 11 11 11 8 8 8 6 6 6 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 6 6 6 6 6 6 0 0 0 0 0 0 11 11 11 17 17 17 16 16 16
++19 19 19 20 20 20 32 32 32 42 42 42 34 34 34 14 14 14 4 4 4 6 6 6
++0 0 0 0 0 0 21 21 21 42 42 42 39 39 39 23 23 23 16 16 16 21 21 21
++14 14 14 16 16 16 14 14 14 32 32 32 44 44 44 19 19 19 0 0 0 3 3 3
++0 0 0 6 6 6 13 13 13 34 34 34 50 50 50 24 24 24 0 0 0 0 0 0
++4 4 4 0 0 0 14 14 14 44 44 44 53 53 53 38 38 38 16 16 16 0 0 0
++11 11 11 0 0 0 8 8 8 44 44 44 57 57 57 38 38 38 13 13 13 0 0 0
++14 14 14 0 0 0 4 4 4 38 38 38 58 58 58 51 51 51 25 25 25 0 0 0
++14 14 14 4 4 4 17 17 17 44 44 44 58 58 58 48 48 48 25 25 25 8 8 8
++20 20 20 4 4 4 10 10 10 37 37 37 56 56 56 53 53 53 32 32 32 11 11 11
++23 23 23 21 21 21 19 19 19 36 36 36 60 60 60 58 58 58 33 33 33 17 17 17
++24 24 24 25 25 25 25 25 25 34 34 34 54 54 54 67 67 67 49 49 49 19 19 19
++28 28 28 33 33 33 25 25 25 29 29 29 59 59 59 68 68 68 58 58 58 59 59 59
++44 44 44 42 42 42 25 25 25 51 51 51 51 51 51 76 76 76 59 59 59 57 57 57
++65 65 65 56 56 56 43 43 43 44 44 44 51 51 51 49 49 49 45 45 45 53 53 53
++73 73 73 69 69 69 59 59 59 51 51 51 51 51 51 57 57 57 58 58 58 56 56 56
++68 68 68 77 77 77 76 76 76 62 62 62 58 58 58 66 66 66 67 67 67 60 60 60
++62 62 62 78 78 78 91 91 91 78 78 78 59 59 59 66 66 66 75 75 75 68 68 68
++72 72 72 66 66 66 84 84 84 96 96 96 78 78 78 66 66 66 70 70 70 72 72 72
++71 71 71 76 76 76 72 72 72 84 84 84 99 99 99 82 82 82 70 70 70 88 88 88
++99 99 99 99 99 99 94 94 94 75 75 75 71 71 71 90 90 90 96 97 98 93 93 93
++76 76 76 73 73 73 84 84 84 94 94 94 105 105 105 105 105 105 94 94 94 105 105 105
++101 101 101 105 105 105 105 105 105 93 93 93 85 85 85 87 87 87 88 88 88 88 88 88
++105 105 105 93 93 93 91 91 91 87 87 87 76 76 76 88 88 88 101 101 101 93 93 93
++74 74 74 75 75 75 76 76 76 94 94 94 109 110 110 101 101 101 95 95 94 101 101 101
++93 93 93 84 84 84 93 93 93 87 87 87 67 67 67 66 66 66 68 68 68 67 67 67
++72 72 72 69 69 69 82 82 82 94 94 94 89 89 89 75 75 75 67 67 67 63 63 63
++65 65 65 63 63 63 60 60 60 57 57 57 60 60 60 69 69 69 78 78 78 85 85 85
++63 63 63 57 57 57 53 53 53 53 53 53 54 54 54 52 52 52 52 52 52 53 53 53
++51 51 51 52 52 52 54 54 54 76 76 76 52 52 52 48 48 48 52 52 52 52 52 52
++56 56 56 69 69 69 78 78 78 72 72 72 53 53 53 38 38 38 37 37 37 42 42 42
++39 39 39 51 51 51 62 62 62 63 63 63 52 52 52 39 39 39 32 32 32 29 29 29
++29 29 29 25 25 25 21 21 21 33 33 33 54 54 54 63 63 63 65 65 65 69 69 69
++42 42 42 20 20 20 20 20 20 43 43 43 50 50 50 37 37 37 38 38 38 54 54 54
++60 60 60 58 58 58 54 54 54 53 53 53 54 54 54 54 54 54 56 56 56 56 56 56
++51 51 51 49 49 49 53 53 53 59 59 59 58 58 58 57 57 57 54 54 54 46 46 46
++37 37 37 21 21 21 11 11 11 21 21 21 36 36 36 42 42 42 48 48 48 58 58 58
++49 49 49 48 48 48 49 49 49 40 40 40 21 21 21 11 11 11 13 13 13 6 6 6
++17 17 17 56 56 56 42 42 42 44 44 44 37 37 37 16 16 16 32 32 32 24 24 24
++17 17 17 46 46 46 40 40 40 14 14 14 3 3 3 0 0 0 14 14 14 46 46 46
++19 19 19 11 11 11 3 3 3 0 0 0 0 0 0 6 6 6 16 16 16 24 24 24
++14 14 14 3 3 3 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 3 3 3
++3 3 3 29 29 29 39 39 39 34 34 34 36 36 36 40 40 40 43 43 43 44 44 44
++52 52 52 38 38 38 27 27 27 37 37 37 39 39 39 37 37 37 44 44 44 44 44 44
++29 29 29 29 29 29 40 40 40 46 46 46 44 44 44 49 49 49 49 49 49 36 36 36
++32 32 32 46 46 46 13 13 13 16 16 16 56 56 56 52 52 52 43 43 43 53 53 53
++48 48 48 46 46 46 49 49 49 39 39 39 14 14 14 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++11 11 11 28 28 28 43 43 43 39 39 39 28 28 28 25 25 25 27 27 27 23 23 23
++25 25 25 34 34 34 24 24 24 19 19 19 38 38 38 50 50 50 39 39 39 25 25 25
++20 20 20 29 29 29 36 36 36 39 39 39 40 40 40 28 28 28 13 13 13 11 11 11
++24 24 24 21 21 21 17 17 17 19 19 19 28 28 28 36 36 36 31 31 31 17 17 17
++
++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 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6
++16 16 16 19 19 19 20 20 20 19 19 19 17 17 17 19 19 19 19 19 19 17 17 17
++4 4 4 11 11 11 17 17 17 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20
++10 10 10 10 10 10 8 8 8 8 8 8 8 8 8 10 10 10 11 11 11 13 13 13
++21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
++13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
++13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
++4 4 4 13 13 13 14 14 14 6 6 6 0 0 0 3 3 3 4 4 4 3 3 3
++14 14 14 13 13 13 20 20 20 29 29 29 34 34 34 36 36 36 25 25 25 8 8 8
++13 13 13 0 0 0 0 0 0 20 20 20 38 38 38 42 42 42 29 29 29 10 10 10
++19 19 19 16 16 16 11 11 11 16 16 16 32 32 32 40 40 40 24 24 24 0 0 0
++6 6 6 0 0 0 0 0 0 11 11 11 36 36 36 46 46 46 28 28 28 0 0 0
++10 10 10 0 0 0 0 0 0 14 14 14 42 42 42 58 58 58 38 38 38 0 0 0
++0 0 0 0 0 0 4 4 4 10 10 10 34 34 34 58 58 58 45 45 45 6 6 6
++4 4 4 6 6 6 6 6 6 10 10 10 36 36 36 61 61 61 52 52 52 16 16 16
++6 6 6 10 10 10 11 11 11 17 17 17 38 38 38 60 60 60 52 52 52 23 23 23
++10 10 10 19 19 19 17 17 17 13 13 13 32 32 32 60 60 60 57 57 57 25 25 25
++13 13 13 20 20 20 29 29 29 25 25 25 31 31 31 59 59 59 63 63 63 31 31 31
++19 19 19 29 29 29 29 29 29 25 25 25 40 40 40 61 61 61 59 59 59 40 40 40
++33 33 33 39 39 39 42 42 42 27 27 27 34 34 34 65 65 65 69 69 69 57 57 57
++37 37 37 38 38 38 53 53 53 29 29 29 48 48 48 56 56 56 77 77 77 80 80 80
++53 53 53 43 43 43 44 44 44 52 52 52 53 53 53 50 50 50 59 59 59 75 75 75
++71 71 71 58 58 58 52 52 52 60 60 60 61 61 61 54 54 54 58 58 58 70 70 70
++87 87 87 76 76 76 65 65 65 61 61 61 65 65 65 68 68 68 67 67 67 62 62 62
++78 78 78 90 90 90 82 82 82 65 65 65 67 67 67 73 73 73 70 70 70 69 69 69
++69 69 69 87 87 87 96 96 96 85 85 85 69 69 69 71 71 71 77 77 77 74 74 74
++78 78 78 82 82 82 80 80 80 85 85 85 87 87 87 82 82 82 82 82 82 80 80 80
++82 82 82 83 83 83 85 85 85 85 85 85 84 84 84 87 87 87 84 84 84 81 81 81
++83 83 83 90 90 90 93 93 93 87 87 87 94 94 94 105 105 105 109 110 110 109 110 110
++101 101 101 96 97 98 96 97 98 101 101 101 105 105 105 99 99 99 80 80 80 77 77 77
++92 92 92 105 105 105 105 104 105 85 85 85 74 74 74 80 80 80 91 91 91 101 101 101
++95 95 94 82 82 82 96 97 98 94 94 94 105 105 105 117 117 117 93 93 93 93 93 93
++99 99 99 83 83 83 93 93 93 101 101 101 94 94 94 92 92 92 92 92 92 93 93 93
++101 101 101 96 96 96 96 97 98 101 101 101 101 101 101 103 103 102 101 101 101 92 92 92
++96 96 96 92 92 92 90 90 90 88 88 88 83 83 83 78 78 78 85 85 85 95 95 94
++92 92 92 81 81 81 69 69 69 61 61 61 56 56 56 52 52 52 52 52 52 54 54 54
++52 52 52 53 53 53 57 57 57 78 78 78 63 63 63 46 46 46 50 50 50 46 46 46
++49 49 49 49 49 49 51 51 51 59 59 59 72 72 72 76 76 76 62 62 62 43 43 43
++39 39 39 33 33 33 37 37 37 52 52 52 66 66 66 62 62 62 46 46 46 31 31 31
++28 28 28 29 29 29 43 43 43 61 61 61 63 63 63 44 44 44 40 40 40 61 61 61
++56 56 56 38 38 38 20 20 20 24 24 24 43 43 43 54 54 54 44 44 44 24 24 24
++45 45 45 53 53 53 60 60 60 59 59 59 54 54 54 52 52 52 58 58 58 63 63 63
++57 57 57 51 51 51 50 50 50 51 51 51 54 54 54 59 59 59 56 56 56 42 42 42
++17 17 17 13 13 13 24 24 24 43 43 43 50 50 50 48 48 48 44 44 44 44 44 44
++42 42 42 48 48 48 42 42 42 43 43 43 38 38 38 23 23 23 17 17 17 6 6 6
++51 51 51 38 38 38 8 8 8 21 21 21 37 37 37 28 28 28 31 31 31 32 32 32
++31 31 31 45 45 45 37 37 37 17 17 17 11 11 11 6 6 6 8 8 8 24 24 24
++33 33 33 17 17 17 0 0 0 0 0 0 13 13 13 23 23 23 23 23 23 20 20 20
++4 4 4 11 11 11 11 11 11 6 6 6 8 8 8 14 14 14 11 11 11 3 3 3
++14 14 14 25 25 25 25 25 25 23 23 23 27 27 27 25 25 25 17 17 17 11 11 11
++23 23 23 16 16 16 14 14 14 24 24 24 25 25 25 19 19 19 19 19 19 16 16 16
++20 20 20 25 25 25 33 33 33 27 27 27 13 13 13 17 17 17 25 25 25 20 20 20
++20 20 20 24 24 24 6 6 6 0 0 0 6 6 6 10 10 10 11 11 11 10 10 10
++13 13 13 32 32 32 34 34 34 19 19 19 10 10 10 13 13 13 17 17 17 17 17 17
++11 11 11 11 11 11 13 13 13 11 11 11 10 10 10 8 8 8 10 10 10 11 11 11
++17 17 17 29 29 29 34 34 34 24 24 24 10 10 10 10 10 10 13 13 13 11 11 11
++13 13 13 16 16 16 8 8 8 4 4 4 16 16 16 17 17 17 11 11 11 13 13 13
++0 0 0 36 36 36 48 48 48 32 32 32 17 17 17 16 16 16 13 13 13 11 11 11
++4 4 4 16 16 16 27 27 27 32 32 32 33 33 33 28 28 28 17 17 17 6 6 6
++
++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 0 0 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 8 8 8 13 13 13
++16 16 16 19 19 19 20 20 20 17 17 17 19 19 19 20 20 20 16 16 16 10 10 10
++3 3 3 11 11 11 20 20 20 23 23 23 20 20 20 16 16 16 14 14 14 14 14 14
++4 4 4 6 6 6 10 10 10 14 14 14 17 17 17 19 19 19 20 20 20 20 20 20
++16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++13 13 13 16 16 16 19 19 19 16 16 16 13 13 13 10 10 10 6 6 6 3 3 3
++0 0 0 0 0 0 8 8 8 14 14 14 24 24 24 39 39 39 38 38 38 20 20 20
++16 16 16 0 0 0 0 0 0 0 0 0 20 20 20 42 42 42 43 43 43 24 24 24
++21 21 21 8 8 8 17 17 17 16 16 16 4 4 4 36 36 36 48 48 48 14 14 14
++10 10 10 0 0 0 0 0 0 4 4 4 3 3 3 38 38 38 52 52 52 20 20 20
++8 8 8 0 0 0 0 0 0 0 0 0 23 23 23 51 51 51 52 52 52 28 28 28
++0 0 0 8 8 8 11 11 11 0 0 0 6 6 6 38 38 38 51 51 51 39 39 39
++6 6 6 11 11 11 13 13 13 3 3 3 11 11 11 40 40 40 57 57 57 50 50 50
++19 19 19 14 14 14 10 10 10 6 6 6 17 17 17 44 44 44 56 56 56 49 49 49
++16 16 16 17 17 17 16 16 16 11 11 11 19 19 19 44 44 44 60 60 60 56 56 56
++29 29 29 20 20 20 28 28 28 29 29 29 20 20 20 37 37 37 59 59 59 57 57 57
++29 29 29 21 21 21 21 21 21 33 33 33 43 43 43 48 48 48 58 58 58 71 71 71
++38 38 38 29 29 29 36 36 36 36 36 36 44 44 44 63 63 63 69 69 69 72 72 72
++49 49 49 44 44 44 39 39 39 49 49 49 43 43 43 65 65 65 68 68 68 89 89 89
++57 57 57 48 48 48 50 50 50 54 54 54 53 53 53 62 62 62 74 74 74 76 76 76
++59 59 59 52 52 52 54 54 54 63 63 63 65 65 65 60 60 60 69 69 69 84 84 84
++83 83 83 69 69 69 60 60 60 66 66 66 70 70 70 67 67 67 70 70 70 77 77 77
++91 91 91 81 81 81 67 67 67 70 70 70 78 78 78 71 71 71 66 66 66 78 78 78
++78 78 78 96 97 98 88 88 88 71 71 71 78 78 78 83 83 83 77 77 77 83 83 83
++84 84 84 87 87 87 83 83 83 84 84 84 82 82 82 87 87 87 96 96 96 83 83 83
++87 87 87 84 84 84 84 84 84 89 89 89 88 88 88 84 84 84 87 87 87 92 92 92
++84 84 84 90 90 90 89 89 89 87 87 87 89 89 89 103 103 102 115 116 115 109 110 110
++99 99 99 84 84 84 89 89 89 99 99 99 103 103 102 101 101 101 85 85 85 80 80 80
++94 94 94 109 110 110 112 112 113 96 97 98 82 82 82 74 74 74 81 81 81 94 94 94
++117 117 117 99 99 99 105 105 105 92 92 92 88 88 88 112 112 113 109 110 110 99 99 99
++105 105 105 99 99 99 103 103 102 103 103 102 101 101 101 103 103 102 94 94 94 82 82 82
++81 81 81 76 76 76 73 73 73 71 71 71 74 74 74 90 90 90 103 103 102 103 103 102
++81 81 81 80 80 80 77 77 77 75 75 75 77 77 77 83 83 83 87 87 87 85 85 85
++99 99 99 92 92 92 84 84 84 77 77 77 71 71 71 65 65 65 61 61 61 61 61 61
++54 54 54 51 51 51 52 52 52 72 72 72 76 76 76 52 52 52 56 56 56 48 48 48
++48 48 48 45 45 45 42 42 42 40 40 40 46 46 46 58 58 58 68 68 68 74 74 74
++62 62 62 52 52 52 39 39 39 37 37 37 48 48 48 59 59 59 60 60 60 56 56 56
++52 52 52 68 68 68 66 66 66 46 46 46 37 37 37 34 34 34 29 29 29 25 25 25
++59 59 59 57 57 57 40 40 40 20 20 20 21 21 21 42 42 42 53 53 53 50 50 50
++44 44 44 51 51 51 58 58 58 59 59 59 57 57 57 54 54 54 58 58 58 62 62 62
++60 60 60 57 57 57 53 53 53 49 49 49 50 50 50 58 58 58 52 52 52 31 31 31
++17 17 17 20 20 20 40 40 40 53 53 53 44 44 44 34 34 34 31 31 31 25 25 25
++39 39 39 37 37 37 33 33 33 31 31 31 40 40 40 45 45 45 28 28 28 13 13 13
++51 51 51 19 19 19 11 11 11 6 6 6 24 24 24 34 34 34 19 19 19 32 32 32
++23 23 23 6 6 6 10 10 10 14 14 14 8 8 8 17 17 17 23 23 23 4 4 4
++23 23 23 14 14 14 6 6 6 11 11 11 24 24 24 28 28 28 21 21 21 11 11 11
++6 6 6 14 14 14 17 17 17 11 11 11 11 11 11 16 16 16 16 16 16 11 11 11
++11 11 11 13 13 13 17 17 17 28 28 28 32 32 32 19 19 19 6 6 6 13 13 13
++14 14 14 14 14 14 17 17 17 13 13 13 8 8 8 8 8 8 11 11 11 21 21 21
++13 13 13 24 24 24 32 32 32 24 24 24 13 13 13 13 13 13 14 14 14 8 8 8
++14 14 14 13 13 13 21 21 21 17 17 17 8 8 8 13 13 13 16 16 16 17 17 17
++27 27 27 42 42 42 23 23 23 0 0 0 14 14 14 13 13 13 0 0 0 10 10 10
++14 14 14 14 14 14 16 16 16 14 14 14 13 13 13 13 13 13 16 16 16 19 19 19
++36 36 36 34 34 34 25 25 25 16 16 16 14 14 14 13 13 13 13 13 13 14 14 14
++13 13 13 10 10 10 11 11 11 16 16 16 16 16 16 4 4 4 0 0 0 11 11 11
++23 23 23 39 39 39 34 34 34 13 13 13 3 3 3 6 6 6 11 11 11 16 16 16
++3 3 3 17 17 17 32 32 32 37 37 37 29 29 29 16 16 16 10 10 10 11 11 11
++
++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 0 0 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 10 10 10 16 16 16
++14 14 14 19 19 19 20 20 20 19 19 19 20 20 20 20 20 20 14 14 14 4 4 4
++10 10 10 13 13 13 17 17 17 21 21 21 21 21 21 17 17 17 10 10 10 3 3 3
++17 17 17 19 19 19 21 21 21 23 23 23 23 23 23 20 20 20 16 16 16 13 13 13
++14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++17 17 17 16 16 16 16 16 16 19 19 19 21 21 21 21 21 21 19 19 19 17 17 17
++4 4 4 0 0 0 3 3 3 3 3 3 4 4 4 23 23 23 37 37 37 37 37 37
++17 17 17 14 14 14 11 11 11 0 0 0 0 0 0 21 21 21 43 43 43 44 44 44
++19 19 19 24 24 24 21 21 21 13 13 13 6 6 6 10 10 10 29 29 29 51 51 51
++4 4 4 10 10 10 4 4 4 0 0 0 0 0 0 10 10 10 34 34 34 59 59 59
++13 13 13 4 4 4 8 8 8 11 11 11 8 8 8 23 23 23 46 46 46 59 59 59
++32 32 32 4 4 4 0 0 0 11 11 11 4 4 4 3 3 3 32 32 32 58 58 58
++40 40 40 10 10 10 0 0 0 11 11 11 11 11 11 16 16 16 42 42 42 65 65 65
++49 49 49 19 19 19 8 8 8 19 19 19 11 11 11 8 8 8 36 36 36 63 63 63
++59 59 59 25 25 25 14 14 14 28 28 28 20 20 20 6 6 6 29 29 29 58 58 58
++53 53 53 38 38 38 27 27 27 27 27 27 24 24 24 17 17 17 34 34 34 63 63 63
++62 62 62 39 39 39 28 28 28 39 39 39 42 42 42 33 33 33 40 40 40 59 59 59
++77 77 77 48 48 48 33 33 33 50 50 50 69 69 69 52 52 52 31 31 31 60 60 60
++82 82 82 54 54 54 45 45 45 43 43 43 62 62 62 69 69 69 58 58 58 53 53 53
++81 81 81 65 65 65 57 57 57 52 52 52 54 54 54 74 74 74 77 77 77 53 53 53
++56 56 56 60 60 60 62 62 62 59 59 59 59 59 59 67 67 67 77 77 77 84 84 84
++65 65 65 62 62 62 66 66 66 70 70 70 68 68 68 66 66 66 76 76 76 92 92 92
++84 84 84 70 70 70 71 71 71 77 77 77 72 72 72 71 71 71 78 78 78 81 81 81
++105 104 105 80 80 80 73 73 73 83 83 83 84 84 84 84 84 84 87 87 87 85 85 85
++85 85 85 89 89 89 81 81 81 84 84 84 88 88 88 92 92 92 101 101 101 94 94 94
++81 81 81 88 88 88 95 95 94 101 101 101 99 99 99 89 89 89 88 88 88 90 90 90
++99 99 99 91 91 91 84 84 84 92 92 92 91 91 91 93 93 93 112 112 113 112 112 113
++103 103 102 88 88 88 96 97 98 96 97 98 93 93 93 105 105 105 105 105 105 96 97 98
++93 93 93 90 90 90 105 105 105 115 116 115 96 96 96 88 88 88 103 103 102 109 110 110
++99 99 99 117 117 117 96 96 96 92 92 92 105 105 105 105 105 105 112 112 113 115 116 115
++99 99 99 105 104 105 103 103 102 84 84 84 84 84 84 103 103 102 96 96 96 73 73 73
++77 77 77 74 74 74 75 75 75 74 74 74 72 72 72 80 80 80 93 93 93 99 99 99
++96 97 98 82 82 82 68 68 68 66 66 66 69 69 69 68 68 68 65 65 65 62 62 62
++59 59 59 66 66 66 80 80 80 92 92 92 95 95 94 89 89 89 81 81 81 77 77 77
++69 69 69 58 58 58 50 50 50 65 65 65 83 83 83 53 53 53 57 57 57 46 46 46
++51 51 51 48 48 48 48 48 48 49 49 49 46 46 46 42 42 42 42 42 42 45 45 45
++67 67 67 72 72 72 65 65 65 42 42 42 29 29 29 42 42 42 63 63 63 75 75 75
++72 72 72 58 58 58 37 37 37 27 27 27 29 29 29 28 28 28 27 27 27 32 32 32
++25 25 25 49 49 49 65 65 65 52 52 52 23 23 23 10 10 10 34 34 34 63 63 63
++61 61 61 59 59 59 56 56 56 56 56 56 56 56 56 56 56 56 52 52 52 49 49 49
++60 60 60 60 60 60 59 59 59 52 52 52 50 50 50 57 57 57 45 45 45 19 19 19
++20 20 20 25 25 25 46 46 46 53 53 53 34 34 34 29 29 29 40 40 40 42 42 42
++49 49 49 48 48 48 59 59 59 39 39 39 36 36 36 49 49 49 28 28 28 19 19 19
++37 37 37 50 50 50 33 33 33 36 36 36 32 32 32 24 24 24 37 37 37 19 19 19
++16 16 16 21 21 21 16 16 16 10 10 10 14 14 14 10 10 10 6 6 6 16 16 16
++0 0 0 6 6 6 16 16 16 23 23 23 27 27 27 25 25 25 17 17 17 8 8 8
++13 13 13 11 11 11 13 13 13 17 17 17 14 14 14 6 6 6 10 10 10 20 20 20
++10 10 10 31 31 31 33 33 33 21 21 21 11 11 11 8 8 8 8 8 8 14 14 14
++13 13 13 6 6 6 11 11 11 8 8 8 14 14 14 20 20 20 8 8 8 8 8 8
++28 28 28 31 31 31 23 23 23 10 10 10 6 6 6 14 14 14 16 16 16 11 11 11
++13 13 13 6 6 6 13 13 13 8 8 8 17 17 17 20 20 20 8 8 8 25 25 25
++46 46 46 20 20 20 11 11 11 16 16 16 10 10 10 13 13 13 19 19 19 11 11 11
++11 11 11 13 13 13 13 13 13 11 11 11 11 11 11 13 13 13 17 17 17 21 21 21
++42 42 42 28 28 28 8 8 8 6 6 6 17 17 17 13 13 13 6 6 6 14 14 14
++10 10 10 8 8 8 11 11 11 14 14 14 13 13 13 13 13 13 19 19 19 25 25 25
++45 45 45 29 29 29 10 10 10 8 8 8 19 19 19 14 14 14 10 10 10 17 17 17
++19 19 19 24 24 24 33 33 33 36 36 36 24 24 24 10 10 10 10 10 10 20 20 20
++
++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 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 10 10 10 20 20 20
++19 19 19 20 20 20 16 16 16 17 17 17 23 23 23 14 14 14 3 3 3 11 11 11
++17 17 17 17 17 17 20 20 20 21 21 21 16 16 16 6 6 6 10 10 10 20 20 20
++23 23 23 20 20 20 17 17 17 13 13 13 8 8 8 4 4 4 3 3 3 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 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 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
++0 0 0 0 0 0 3 3 3 4 4 4 8 8 8 11 11 11 13 13 13 14 14 14
++17 17 17 14 14 14 11 11 11 6 6 6 0 0 0 0 0 0 20 20 20 39 39 39
++44 44 44 28 28 28 8 8 8 6 6 6 6 6 6 0 0 0 11 11 11 43 43 43
++46 46 46 23 23 23 8 8 8 21 21 21 23 23 23 0 0 0 0 0 0 37 37 37
++48 48 48 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 14 14 14 37 37 37
++58 58 58 19 19 19 0 0 0 11 11 11 17 17 17 13 13 13 24 24 24 42 42 42
++60 60 60 29 29 29 4 4 4 3 3 3 3 3 3 3 3 3 14 14 14 28 28 28
++63 63 63 36 36 36 13 13 13 10 10 10 6 6 6 6 6 6 20 20 20 34 34 34
++66 66 66 50 50 50 23 23 23 6 6 6 13 13 13 16 16 16 16 16 16 24 24 24
++63 63 63 54 54 54 29 29 29 8 8 8 13 13 13 20 20 20 21 21 21 27 27 27
++66 66 66 58 58 58 31 31 31 16 16 16 32 32 32 31 31 31 23 23 23 37 37 37
++65 65 65 66 66 66 38 38 38 36 36 36 48 48 48 39 39 39 33 33 33 34 34 34
++66 66 66 70 70 70 62 62 62 62 62 62 52 52 52 38 38 38 40 40 40 37 37 37
++58 58 58 78 78 78 56 56 56 60 60 60 74 74 74 52 52 52 45 45 45 57 57 57
++65 65 65 80 80 80 66 66 66 58 58 58 70 70 70 76 76 76 60 60 60 58 58 58
++61 61 61 65 65 65 62 62 62 60 60 60 71 71 71 85 85 85 82 82 82 70 70 70
++68 68 68 68 68 68 72 72 72 69 69 69 67 67 67 82 82 82 92 92 92 84 84 84
++75 75 75 76 76 76 74 74 74 78 78 78 82 82 82 75 75 75 83 83 83 105 105 105
++84 84 84 78 78 78 81 81 81 89 89 89 90 90 90 85 85 85 89 89 89 99 99 99
++103 103 102 90 90 90 78 78 78 83 83 83 101 101 101 112 112 113 103 103 102 87 87 87
++92 85 93 105 101 107 105 101 107 101 96 101 115 116 115 103 103 102 84 86 80 112 115 112
++115 116 115 105 105 105 99 100 97 96 95 96 92 90 91 92 85 93 101 96 101 112 112 113
++115 116 115 109 110 110 94 94 94 93 93 93 87 87 87 88 88 88 112 112 113 112 112 113
++91 91 91 85 85 85 99 99 99 115 116 115 115 116 115 115 116 115 112 112 113 105 104 105
++101 101 101 109 110 110 117 117 117 112 112 113 96 97 98 91 91 91 101 101 101 115 116 115
++109 110 110 96 96 96 96 96 96 105 105 105 93 93 93 87 87 87 103 103 102 99 99 99
++80 80 80 76 76 76 78 78 78 83 83 83 80 80 80 75 75 75 83 83 83 96 97 98
++101 101 101 101 101 101 94 94 94 81 81 81 70 70 70 68 68 68 68 68 68 67 67 67
++69 69 69 67 67 67 67 67 67 71 71 71 80 80 80 88 88 88 92 92 92 94 94 94
++88 88 88 87 87 87 76 76 76 75 75 75 81 81 81 63 63 63 48 48 48 57 57 57
++53 53 53 52 52 52 51 51 51 50 50 50 49 49 49 48 48 48 45 45 45 44 44 44
++48 48 48 46 46 46 66 66 66 74 74 74 62 62 62 68 68 68 73 73 73 57 57 57
++58 58 58 68 68 68 56 56 56 31 31 31 28 28 28 36 36 36 32 32 32 27 27 27
++29 29 29 25 25 25 34 34 34 59 59 59 59 59 59 48 48 48 59 59 59 62 62 62
++63 63 63 61 61 61 44 44 44 51 51 51 61 61 61 56 56 56 56 56 56 51 51 51
++57 57 57 60 60 60 58 58 58 58 58 58 51 51 51 50 50 50 25 25 25 28 28 28
++14 14 14 45 45 45 46 46 46 34 34 34 32 32 32 42 42 42 42 42 42 49 49 49
++54 54 54 45 45 45 52 52 52 52 52 52 36 36 36 38 38 38 40 40 40 19 19 19
++20 20 20 31 31 31 23 23 23 40 40 40 42 42 42 36 36 36 20 20 20 17 17 17
++19 19 19 13 13 13 14 14 14 6 6 6 13 13 13 17 17 17 3 3 3 13 13 13
++10 10 10 11 11 11 25 25 25 33 33 33 23 23 23 14 14 14 13 13 13 8 8 8
++6 6 6 10 10 10 14 14 14 14 14 14 13 13 13 11 11 11 11 11 11 13 13 13
++23 23 23 29 29 29 27 27 27 14 14 14 8 8 8 13 13 13 14 14 14 11 11 11
++10 10 10 14 14 14 16 16 16 8 8 8 13 13 13 6 6 6 3 3 3 29 29 29
++28 28 28 16 16 16 8 8 8 14 14 14 16 16 16 11 11 11 10 10 10 16 16 16
++13 13 13 11 11 11 11 11 11 11 11 11 8 8 8 11 11 11 25 25 25 42 42 42
++21 21 21 11 11 11 8 8 8 14 14 14 16 16 16 10 10 10 10 10 10 16 16 16
++8 8 8 16 16 16 17 17 17 10 10 10 6 6 6 17 17 17 32 32 32 39 39 39
++20 20 20 14 14 14 10 10 10 8 8 8 11 11 11 11 11 11 10 10 10 6 6 6
++14 14 14 13 13 13 6 6 6 10 10 10 17 17 17 13 13 13 20 20 20 42 42 42
++28 28 28 16 16 16 11 11 11 14 14 14 16 16 16 11 11 11 13 13 13 17 17 17
++31 31 31 39 39 39 34 34 34 14 14 14 10 10 10 24 24 24 25 25 25 13 13 13
++
++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 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 11 11 11 20 20 20
++17 17 17 20 20 20 17 17 17 17 17 17 20 20 20 11 11 11 4 4 4 13 13 13
++20 20 20 19 19 19 19 19 19 17 17 17 13 13 13 10 10 10 14 14 14 20 20 20
++19 19 19 16 16 16 11 11 11 6 6 6 3 3 3 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 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 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 0 0 0 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 8 8 8
++19 19 19 19 19 19 19 19 19 14 14 14 4 4 4 0 0 0 4 4 4 13 13 13
++39 39 39 43 43 43 32 32 32 11 11 11 0 0 0 0 0 0 3 3 3 16 16 16
++38 38 38 45 45 45 36 36 36 16 16 16 10 10 10 10 10 10 4 4 4 3 3 3
++31 31 31 46 46 46 21 21 21 0 0 0 3 3 3 6 6 6 0 0 0 11 11 11
++39 39 39 51 51 51 21 21 21 0 0 0 16 16 16 25 25 25 14 14 14 24 24 24
++25 25 25 57 57 57 40 40 40 0 0 0 3 3 3 10 10 10 0 0 0 11 11 11
++32 32 32 60 60 60 43 43 43 6 6 6 11 11 11 13 13 13 3 3 3 17 17 17
++39 39 39 59 59 59 54 54 54 27 27 27 8 8 8 8 8 8 13 13 13 16 16 16
++32 32 32 56 56 56 56 56 56 32 32 32 14 14 14 16 16 16 23 23 23 31 31 31
++36 36 36 59 59 59 65 65 65 37 37 37 13 13 13 25 25 25 34 34 34 23 23 23
++33 33 33 54 54 54 61 61 61 54 54 54 38 38 38 34 34 34 44 44 44 34 34 34
++38 38 38 71 71 71 77 77 77 60 60 60 42 42 42 42 42 42 54 54 54 49 49 49
++46 46 46 66 66 66 81 81 81 81 81 81 48 48 48 40 40 40 65 65 65 45 45 45
++59 59 59 62 62 62 82 82 82 77 77 77 72 72 72 50 50 50 59 59 59 61 61 61
++62 62 62 58 58 58 61 61 61 73 73 73 81 81 81 77 77 77 71 71 71 68 68 68
++70 70 70 74 74 74 69 69 69 70 70 70 85 85 85 88 88 88 80 80 80 78 78 78
++80 80 80 74 74 74 81 81 81 81 81 81 75 75 75 93 93 93 103 103 102 84 84 84
++80 80 80 87 87 87 90 90 90 88 88 88 85 85 85 89 89 89 96 97 98 103 103 102
++99 99 99 82 82 82 80 80 80 101 101 101 112 112 113 103 103 102 89 89 89 87 87 87
++91 93 92 109 110 110 107 112 107 83 83 83 91 92 87 121 121 119 121 121 119 107 112 107
++99 100 97 95 95 94 99 100 97 105 105 105 105 105 105 101 96 101 96 91 95 96 95 96
++121 121 119 112 112 113 115 116 115 99 99 99 91 91 91 103 103 102 105 105 105 115 116 115
++105 105 105 99 99 99 105 105 105 117 117 117 115 116 115 117 117 117 117 117 117 109 110 110
++105 105 105 99 99 99 101 101 101 105 105 105 103 103 102 90 90 90 91 91 91 101 101 101
++105 104 105 117 117 117 105 105 105 99 99 99 101 101 101 91 91 91 93 93 93 103 103 102
++94 94 94 84 84 84 75 75 75 76 76 76 78 78 78 77 77 77 78 78 78 83 83 83
++99 99 99 103 103 102 105 105 105 101 101 101 91 91 91 83 83 83 75 75 75 70 70 70
++69 69 69 69 69 69 67 67 67 62 62 62 61 61 61 68 68 68 81 81 81 91 91 91
++95 95 94 96 96 96 91 91 91 92 92 92 93 93 93 76 76 76 58 58 58 58 58 58
++53 53 53 50 50 50 48 48 48 48 48 48 50 50 50 50 50 50 46 46 46 43 43 43
++40 40 40 36 36 36 52 52 52 69 69 69 71 71 71 75 75 75 68 68 68 40 40 40
++34 34 34 56 56 56 66 66 66 57 57 57 43 43 43 27 27 27 20 20 20 25 25 25
++24 24 24 27 27 27 37 37 37 60 60 60 66 66 66 62 62 62 67 67 67 60 60 60
++49 49 49 60 60 60 57 57 57 54 54 54 56 56 56 53 53 53 56 56 56 57 57 57
++51 51 51 57 57 57 58 58 58 61 61 61 53 53 53 50 50 50 23 23 23 23 23 23
++27 27 27 54 54 54 53 53 53 28 28 28 28 28 28 34 34 34 44 44 44 53 53 53
++49 49 49 40 40 40 51 51 51 54 54 54 38 38 38 36 36 36 37 37 37 20 20 20
++23 23 23 38 38 38 34 34 34 46 46 46 38 38 38 25 25 25 11 11 11 13 13 13
++8 8 8 13 13 13 20 20 20 13 13 13 14 14 14 16 16 16 8 8 8 20 20 20
++17 17 17 23 23 23 28 28 28 21 21 21 8 8 8 13 13 13 19 19 19 11 11 11
++17 17 17 13 13 13 10 10 10 11 11 11 16 16 16 17 17 17 14 14 14 11 11 11
++39 39 39 25 25 25 11 11 11 8 8 8 13 13 13 14 14 14 11 11 11 10 10 10
++14 14 14 8 8 8 17 17 17 13 13 13 11 11 11 23 23 23 27 27 27 31 31 31
++25 25 25 13 13 13 6 6 6 11 11 11 14 14 14 10 10 10 8 8 8 13 13 13
++21 21 21 19 19 19 13 13 13 8 8 8 17 17 17 29 29 29 34 34 34 33 33 33
++19 19 19 17 17 17 14 14 14 11 11 11 11 11 11 14 14 14 13 13 13 8 8 8
++8 8 8 19 19 19 25 25 25 25 25 25 25 25 25 31 31 31 37 37 37 39 39 39
++19 19 19 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 23 23 23
++14 14 14 23 23 23 24 24 24 21 21 21 23 23 23 27 27 27 34 34 34 44 44 44
++28 28 28 11 11 11 4 4 4 19 19 19 23 23 23 11 11 11 10 10 10 25 25 25
++37 37 37 37 37 37 36 36 36 32 32 32 25 25 25 19 19 19 14 14 14 14 14 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
++3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6 13 13 13 20 20 20
++17 17 17 20 20 20 19 19 19 16 16 16 16 16 16 10 10 10 8 8 8 17 17 17
++21 21 21 21 21 21 17 17 17 11 11 11 11 11 11 16 16 16 19 19 19 19 19 19
++14 14 14 10 10 10 4 4 4 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 11 11 11 17 17 17 17 17 17 14 14 14 10 10 10 3 3 3 0 0 0
++17 17 17 39 39 39 43 43 43 25 25 25 8 8 8 0 0 0 0 0 0 0 0 0
++20 20 20 44 44 44 48 48 48 25 25 25 14 14 14 16 16 16 8 8 8 0 0 0
++11 11 11 37 37 37 43 43 43 21 21 21 0 0 0 0 0 0 3 3 3 0 0 0
++10 10 10 40 40 40 48 48 48 23 23 23 3 3 3 16 16 16 24 24 24 19 19 19
++3 3 3 38 38 38 51 51 51 33 33 33 8 8 8 4 4 4 6 6 6 0 0 0
++0 0 0 40 40 40 59 59 59 44 44 44 17 17 17 4 4 4 8 8 8 11 11 11
++10 10 10 44 44 44 61 61 61 49 49 49 27 27 27 13 13 13 13 13 13 20 20 20
++10 10 10 40 40 40 59 59 59 54 54 54 38 38 38 23 23 23 23 23 23 33 33 33
++19 19 19 38 38 38 60 60 60 60 60 60 37 37 37 21 21 21 25 25 25 31 31 31
++16 16 16 45 45 45 67 67 67 69 69 69 50 50 50 34 34 34 39 39 39 37 37 37
++49 49 49 63 63 63 71 71 71 70 70 70 56 56 56 42 42 42 44 44 44 46 46 46
++42 42 42 63 63 63 74 74 74 82 82 82 66 66 66 46 46 46 56 56 56 56 56 56
++49 49 49 65 65 65 76 76 76 96 97 98 67 67 67 63 63 63 56 56 56 68 68 68
++62 62 62 63 63 63 72 72 72 83 83 83 82 82 82 72 72 72 67 67 67 70 70 70
++72 72 72 74 74 74 73 73 73 81 81 81 94 94 94 89 89 89 76 76 76 76 76 76
++81 81 81 84 84 84 80 80 80 78 78 78 94 94 94 105 105 105 96 96 96 80 80 80
++83 83 83 92 92 92 93 93 93 87 87 87 89 89 89 101 101 101 105 105 105 99 99 99
++87 87 87 87 87 87 96 97 98 112 112 113 109 110 110 91 91 91 87 87 87 99 99 99
++113 122 108 94 99 95 91 96 86 88 90 87 99 100 97 115 116 115 121 121 119 128 121 122
++101 101 101 103 103 102 109 110 110 115 116 115 112 112 113 105 104 105 101 96 101 101 96 101
++103 103 102 103 103 102 115 116 115 105 105 105 103 103 102 101 101 101 90 90 90 101 101 101
++121 121 119 112 112 113 115 116 115 117 117 117 115 116 115 115 116 115 117 117 117 112 112 113
++99 99 99 88 88 88 87 87 87 101 101 101 109 110 110 103 103 102 93 93 93 91 91 91
++112 112 113 115 116 115 105 105 105 101 101 101 103 103 102 105 105 105 105 105 105 92 92 92
++109 110 110 99 99 99 87 87 87 81 81 81 82 82 82 83 83 83 81 81 81 78 78 78
++83 83 83 90 90 90 101 101 101 109 110 110 105 105 105 96 96 96 87 87 87 84 84 84
++72 72 72 70 70 70 67 67 67 66 66 66 66 66 66 68 68 68 69 69 69 69 69 69
++83 83 83 85 85 85 89 89 89 94 94 94 96 96 96 91 91 91 82 82 82 75 75 75
++62 62 62 57 57 57 50 50 50 46 46 46 49 49 49 50 50 50 49 49 49 46 46 46
++53 53 53 63 63 63 76 76 76 73 73 73 58 58 58 56 56 56 65 65 65 68 68 68
++42 42 42 40 40 40 45 45 45 57 57 57 59 59 59 45 45 45 37 37 37 43 43 43
++59 59 59 63 63 63 66 66 66 71 71 71 67 67 67 61 61 61 60 60 60 49 49 49
++21 21 21 33 33 33 50 50 50 58 58 58 62 62 62 57 57 57 51 51 51 61 61 61
++53 53 53 56 56 56 56 56 56 62 62 62 59 59 59 57 57 57 24 24 24 16 16 16
++29 29 29 57 57 57 59 59 59 21 21 21 36 36 36 36 36 36 51 51 51 61 61 61
++56 56 56 45 45 45 49 49 49 49 49 49 31 31 31 25 25 25 27 27 27 16 16 16
++23 23 23 44 44 44 44 44 44 52 52 52 33 33 33 16 16 16 6 6 6 14 14 14
++8 8 8 25 25 25 39 39 39 36 36 36 32 32 32 29 29 29 27 27 27 39 39 39
++43 43 43 34 34 34 17 17 17 3 3 3 14 14 14 37 37 37 36 36 36 10 10 10
++6 6 6 0 0 0 0 0 0 13 13 13 32 32 32 40 40 40 37 37 37 29 29 29
++19 19 19 0 0 0 3 3 3 29 29 29 45 45 45 44 44 44 39 39 39 42 42 42
++43 43 43 27 27 27 38 38 38 33 33 33 21 21 21 38 38 38 44 44 44 28 28 28
++17 17 17 4 4 4 0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 0 0 0 3 3 3 24 24 24 39 39 39 45 45 45 45 45 45
++46 46 46 34 34 34 11 11 11 0 0 0 21 21 21 51 51 51 58 58 58 48 48 48
++54 54 54 56 56 56 52 52 52 45 45 45 42 42 42 43 43 43 44 44 44 44 44 44
++24 24 24 29 29 29 33 33 33 34 34 34 31 31 31 28 28 28 31 31 31 33 33 33
++32 32 32 32 32 32 39 39 39 45 45 45 44 44 44 45 45 45 50 50 50 51 51 51
++51 51 51 40 40 40 29 29 29 33 33 33 42 42 42 34 34 34 31 31 31 40 40 40
++31 31 31 29 29 29 39 39 39 53 53 53 46 46 46 23 23 23 11 11 11 19 19 19
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 10 10 10 14 14 14 20 20 20
++17 17 17 20 20 20 20 20 20 16 16 16 10 10 10 6 6 6 11 11 11 20 20 20
++21 21 21 21 21 21 16 16 16 10 10 10 13 13 13 20 20 20 20 20 20 14 14 14
++6 6 6 4 4 4 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 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 0 0 8 8 8 11 11 11 17 17 17 20 20 20 14 14 14 3 3 3
++0 0 0 19 19 19 38 38 38 42 42 42 27 27 27 4 4 4 0 0 0 6 6 6
++6 6 6 21 21 21 38 38 38 44 44 44 36 36 36 16 16 16 4 4 4 8 8 8
++0 0 0 4 4 4 38 38 38 50 50 50 20 20 20 0 0 0 3 3 3 10 10 10
++0 0 0 8 8 8 43 43 43 51 51 51 24 24 24 10 10 10 21 21 21 24 24 24
++16 16 16 0 0 0 29 29 29 56 56 56 37 37 37 4 4 4 0 0 0 8 8 8
++8 8 8 0 0 0 34 34 34 63 63 63 45 45 45 13 13 13 8 8 8 14 14 14
++8 8 8 14 14 14 37 37 37 58 58 58 56 56 56 32 32 32 19 19 19 25 25 25
++25 25 25 20 20 20 34 34 34 60 60 60 63 63 63 39 39 39 21 21 21 24 24 24
++27 27 27 20 20 20 28 28 28 59 59 59 70 70 70 39 39 39 16 16 16 36 36 36
++32 32 32 43 43 43 48 48 48 62 62 62 72 72 72 49 49 49 32 32 32 44 44 44
++59 59 59 43 43 43 42 42 42 66 66 66 75 75 75 61 61 61 48 48 48 45 45 45
++59 59 59 70 70 70 53 53 53 65 65 65 89 89 89 70 70 70 51 51 51 58 58 58
++60 60 60 70 70 70 83 83 83 66 66 66 92 92 92 76 76 76 74 74 74 61 61 61
++65 65 65 80 80 80 89 89 89 81 81 81 71 71 71 71 71 71 74 74 74 75 75 75
++72 72 72 73 73 73 87 87 87 95 95 94 87 87 87 83 83 83 84 84 84 80 80 80
++84 84 84 84 84 84 81 81 81 92 92 92 109 110 110 96 97 98 82 82 82 90 90 90
++94 94 94 92 92 92 88 88 88 90 90 90 101 101 101 109 110 110 103 103 102 88 88 88
++85 85 85 105 105 105 121 121 119 112 112 113 95 95 94 92 92 92 103 103 102 115 116 115
++99 100 97 91 93 92 88 90 87 99 99 99 117 117 117 121 113 124 111 104 112 124 112 115
++115 116 115 112 115 112 105 105 105 101 101 101 99 99 99 100 101 103 105 104 105 103 103 102
++99 99 99 112 112 113 109 110 110 121 121 119 122 121 126 101 101 101 101 101 101 101 101 101
++112 112 113 105 105 105 109 110 110 112 112 113 112 112 113 117 117 117 125 122 126 122 121 126
++105 105 105 99 99 99 91 91 91 93 93 93 103 103 102 109 110 110 105 105 105 96 96 96
++96 97 98 109 110 110 117 117 117 112 112 113 99 99 99 101 101 101 109 110 110 103 103 102
++105 105 105 105 105 105 96 97 98 87 87 87 81 81 81 82 82 82 83 83 83 82 82 82
++78 78 78 83 83 83 94 94 94 105 104 105 105 105 105 103 103 102 99 99 99 101 101 101
++96 96 96 89 89 89 78 78 78 72 72 72 70 70 70 70 70 70 68 68 68 65 65 65
++63 63 63 63 63 63 71 71 71 77 77 77 83 83 83 92 92 92 96 97 98 90 90 90
++90 90 90 83 83 83 71 71 71 60 60 60 53 53 53 52 52 52 53 53 53 54 54 54
++74 74 74 71 71 71 61 61 61 45 45 45 36 36 36 38 38 38 51 51 51 62 62 62
++71 71 71 48 48 48 34 34 34 51 51 51 70 70 70 71 71 71 65 65 65 66 66 66
++66 66 66 70 70 70 69 69 69 62 62 62 52 52 52 49 49 49 53 53 53 56 56 56
++40 40 40 24 24 24 36 36 36 56 56 56 68 68 68 57 57 57 38 38 38 53 53 53
++60 60 60 57 57 57 51 51 51 59 59 59 61 61 61 61 61 61 27 27 27 13 13 13
++28 28 28 54 54 54 59 59 59 20 20 20 44 44 44 36 36 36 49 49 49 52 52 52
++50 50 50 40 40 40 37 37 37 32 32 32 24 24 24 28 28 28 33 33 33 25 25 25
++25 25 25 45 45 45 46 46 46 51 51 51 28 28 28 14 14 14 11 11 11 19 19 19
++16 16 16 38 38 38 53 53 53 52 52 52 50 50 50 44 44 44 42 42 42 49 49 49
++44 44 44 46 46 46 39 39 39 24 24 24 25 25 25 42 42 42 48 48 48 39 39 39
++11 11 11 6 6 6 8 8 8 21 21 21 36 36 36 40 40 40 33 33 33 23 23 23
++4 4 4 3 3 3 21 21 21 46 46 46 54 54 54 45 45 45 39 39 39 44 44 44
++54 54 54 38 38 38 48 48 48 42 42 42 25 25 25 34 34 34 36 36 36 20 20 20
++10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++8 8 8 0 0 0 0 0 0 23 23 23 31 31 31 27 27 27 34 34 34 50 50 50
++51 51 51 52 52 52 37 37 37 10 10 10 3 3 3 25 25 25 44 44 44 49 49 49
++48 48 48 50 50 50 51 51 51 48 48 48 40 40 40 27 27 27 8 8 8 0 0 0
++16 16 16 19 19 19 23 23 23 24 24 24 24 24 24 24 24 24 25 25 25 28 28 28
++29 29 29 13 13 13 25 25 25 46 46 46 45 45 45 33 33 33 32 32 32 33 33 33
++24 24 24 27 27 27 11 11 11 6 6 6 28 28 28 40 40 40 37 37 37 33 33 33
++10 10 10 0 0 0 6 6 6 17 17 17 13 13 13 0 0 0 4 4 4 23 23 23
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 13 13 13 17 17 17 20 20 20
++17 17 17 20 20 20 21 21 21 16 16 16 6 6 6 6 6 6 14 14 14 20 20 20
++19 19 19 19 19 19 16 16 16 11 11 11 16 16 16 21 21 21 17 17 17 8 8 8
++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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 4 4 4 3 3 3 10 10 10 19 19 19 17 17 17 10 10 10
++0 0 0 4 4 4 24 24 24 42 42 42 39 39 39 20 20 20 0 0 0 0 0 0
++6 6 6 6 6 6 24 24 24 45 45 45 46 46 46 28 28 28 11 11 11 3 3 3
++0 0 0 4 4 4 13 13 13 34 34 34 48 48 48 23 23 23 0 0 0 8 8 8
++3 3 3 6 6 6 8 8 8 29 29 29 51 51 51 37 37 37 14 14 14 20 20 20
++21 21 21 8 8 8 3 3 3 36 36 36 56 56 56 29 29 29 0 0 0 10 10 10
++14 14 14 4 4 4 0 0 0 33 33 33 63 63 63 49 49 49 13 13 13 6 6 6
++16 16 16 3 3 3 14 14 14 44 44 44 61 61 61 54 54 54 36 36 36 20 20 20
++31 31 31 17 17 17 20 20 20 42 42 42 59 59 59 56 56 56 36 36 36 16 16 16
++24 24 24 27 27 27 23 23 23 36 36 36 61 61 61 65 65 65 43 43 43 25 25 25
++34 34 34 39 39 39 36 36 36 43 43 43 68 68 68 71 71 71 57 57 57 60 60 60
++46 46 46 42 42 42 39 39 39 46 46 46 65 65 65 77 77 77 69 69 69 54 54 54
++68 68 68 60 60 60 52 52 52 58 58 58 69 69 69 81 81 81 77 77 77 51 51 51
++74 74 74 85 85 85 62 62 62 70 70 70 71 71 71 96 97 98 75 75 75 67 67 67
++72 72 72 87 87 87 88 88 88 75 75 75 68 68 68 75 75 75 80 80 80 75 75 75
++78 78 78 84 84 84 95 95 94 94 94 94 81 81 81 80 80 80 87 87 87 85 85 85
++87 87 87 80 80 80 96 96 96 109 110 110 95 95 94 87 87 87 91 91 91 92 92 92
++96 97 98 92 92 92 93 93 93 103 103 102 109 110 110 101 101 101 93 93 93 90 90 90
++103 103 102 121 121 119 121 121 119 99 99 99 92 92 92 105 105 105 115 116 115 112 112 113
++96 91 95 101 96 101 111 104 112 121 113 124 122 121 126 105 104 105 94 94 95 96 97 98
++127 127 127 121 121 119 105 105 105 93 93 93 96 97 98 109 110 110 109 110 110 100 101 103
++109 110 110 121 121 119 109 110 110 121 121 119 125 125 127 115 116 115 117 117 117 115 116 115
++112 112 113 109 110 110 109 110 110 109 110 110 109 110 110 115 116 115 121 121 119 117 117 117
++127 127 127 117 117 117 103 103 102 92 92 92 93 93 93 103 103 102 109 110 110 112 112 113
++89 89 89 112 112 113 112 112 113 105 105 105 112 112 113 105 104 105 94 94 94 109 110 110
++105 105 105 109 110 110 109 110 110 99 99 99 92 92 92 92 92 92 95 95 94 95 95 94
++96 96 96 96 96 96 101 101 101 105 105 105 105 105 105 103 103 102 103 103 102 105 105 105
++105 104 105 105 104 105 101 101 101 91 91 91 80 80 80 72 72 72 71 71 71 72 72 72
++68 68 68 63 63 63 67 67 67 69 69 69 70 70 70 83 83 83 91 91 91 83 83 83
++90 90 90 89 89 89 85 85 85 76 76 76 69 69 69 68 68 68 72 72 72 77 77 77
++80 80 80 69 69 69 51 51 51 44 44 44 50 50 50 54 54 54 54 54 54 56 56 56
++85 85 85 73 73 73 69 69 69 74 74 74 78 78 78 77 77 77 76 76 76 77 77 77
++67 67 67 63 63 63 57 57 57 43 43 43 31 31 31 24 24 24 28 28 28 39 39 39
++65 65 65 36 36 36 28 28 28 40 40 40 58 58 58 56 56 56 40 40 40 53 53 53
++57 57 57 54 54 54 48 48 48 51 51 51 51 51 51 53 53 53 24 24 24 17 17 17
++29 29 29 48 48 48 52 52 52 16 16 16 42 42 42 28 28 28 33 33 33 31 31 31
++36 36 36 34 34 34 31 31 31 27 27 27 29 29 29 37 37 37 33 33 33 19 19 19
++34 34 34 49 49 49 45 45 45 48 48 48 24 24 24 16 16 16 16 16 16 19 19 19
++19 19 19 40 40 40 52 52 52 54 54 54 54 54 54 49 49 49 43 43 43 43 43 43
++43 43 43 51 51 51 53 53 53 46 46 46 42 42 42 43 43 43 49 49 49 53 53 53
++50 50 50 46 46 46 45 45 45 48 48 48 50 50 50 49 49 49 43 43 43 37 37 37
++34 34 34 37 37 37 44 44 44 50 50 50 46 46 46 38 38 38 37 37 37 42 42 42
++50 50 50 40 40 40 49 49 49 45 45 45 33 33 33 31 31 31 28 28 28 32 32 32
++43 43 43 39 39 39 37 37 37 38 38 38 38 38 38 37 37 37 37 37 37 38 38 38
++37 37 37 29 29 29 34 34 34 45 45 45 42 42 42 29 29 29 33 33 33 50 50 50
++39 39 39 51 51 51 57 57 57 50 50 50 43 43 43 43 43 43 49 49 49 52 52 52
++46 46 46 43 43 43 40 40 40 43 43 43 46 46 46 48 48 48 46 46 46 45 45 45
++43 43 43 39 39 39 33 33 33 29 29 29 27 27 27 23 23 23 19 19 19 14 14 14
++13 13 13 0 0 0 19 19 19 38 38 38 29 29 29 11 11 11 8 8 8 10 10 10
++13 13 13 17 17 17 8 8 8 8 8 8 32 32 32 44 44 44 34 34 34 21 21 21
++13 13 13 16 16 16 13 13 13 8 8 8 10 10 10 20 20 20 32 32 32 39 39 39
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 6 6 6 14 14 14 20 20 20 20 20 20
++17 17 17 19 19 19 21 21 21 14 14 14 4 4 4 8 8 8 17 17 17 20 20 20
++17 17 17 16 16 16 14 14 14 14 14 14 19 19 19 20 20 20 13 13 13 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 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 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 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 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 4 4 4 0 0 0 0 0 0 3 3 3 13 13 13 17 17 17 19 19 19
++10 10 10 0 0 0 6 6 6 24 24 24 38 38 38 40 40 40 23 23 23 0 0 0
++0 0 0 6 6 6 14 14 14 25 25 25 39 39 39 49 49 49 33 33 33 0 0 0
++4 4 4 0 0 0 0 0 0 10 10 10 38 38 38 51 51 51 31 31 31 0 0 0
++10 10 10 0 0 0 0 0 0 3 3 3 32 32 32 51 51 51 43 43 43 20 20 20
++19 19 19 17 17 17 8 8 8 6 6 6 31 31 31 51 51 51 39 39 39 4 4 4
++0 0 0 13 13 13 10 10 10 4 4 4 33 33 33 61 61 61 50 50 50 11 11 11
++10 10 10 11 11 11 13 13 13 17 17 17 40 40 40 65 65 65 58 58 58 29 29 29
++11 11 11 23 23 23 23 23 23 17 17 17 33 33 33 62 62 62 62 62 62 36 36 36
++19 19 19 24 24 24 31 31 31 25 25 25 33 33 33 67 67 67 73 73 73 42 42 42
++46 46 46 53 53 53 53 53 53 34 34 34 39 39 39 70 70 70 74 74 74 58 58 58
++39 39 39 46 46 46 50 50 50 40 40 40 45 45 45 68 68 68 77 77 77 81 81 81
++58 58 58 48 48 48 52 52 52 59 59 59 54 54 54 70 70 70 88 88 88 81 81 81
++83 83 83 61 61 61 70 70 70 60 60 60 72 72 72 72 72 72 93 93 93 83 83 83
++85 85 85 81 81 81 75 75 75 74 74 74 75 75 75 77 77 77 77 77 77 76 76 76
++88 88 88 96 97 98 93 93 93 84 84 84 87 87 87 84 84 84 82 82 82 88 88 88
++83 83 83 99 99 99 109 110 110 99 99 99 87 87 87 90 90 90 96 97 98 95 95 94
++95 95 94 99 99 99 109 110 110 115 116 115 105 104 105 89 89 89 93 93 93 109 110 110
++127 127 127 117 117 117 103 103 102 96 96 96 105 105 105 115 116 115 109 110 110 96 97 98
++111 104 112 111 104 112 121 121 119 118 122 119 94 99 95 91 96 86 86 124 83 86 124 83
++112 115 112 118 122 119 121 121 119 115 116 115 112 112 113 112 112 113 112 112 113 109 110 110
++105 105 105 112 112 113 121 121 119 112 112 113 115 116 115 128 128 128 117 117 117 115 116 115
++109 110 110 109 110 110 112 112 113 112 112 113 112 112 113 117 117 117 121 121 119 121 121 119
++127 127 127 117 117 117 109 110 110 105 105 105 101 101 101 99 99 99 109 110 110 121 121 119
++109 110 110 103 103 102 103 103 102 105 105 105 115 116 115 115 116 115 99 99 99 99 99 99
++112 112 113 115 116 115 115 116 115 109 110 110 109 110 110 109 110 110 109 110 110 105 105 105
++105 104 105 103 103 102 103 103 102 105 104 105 105 104 105 103 103 102 101 101 101 103 103 102
++96 96 96 99 99 99 99 99 99 99 99 99 95 95 94 89 89 89 83 83 83 80 80 80
++82 82 82 77 77 77 77 77 77 75 75 75 73 73 73 80 80 80 83 83 83 73 73 73
++70 70 70 75 75 75 81 81 81 81 81 81 77 77 77 76 76 76 80 80 80 84 84 84
++77 77 77 75 75 75 72 72 72 70 70 70 68 68 68 65 65 65 66 66 66 69 69 69
++59 59 59 62 62 62 67 67 67 63 63 63 54 54 54 52 52 52 56 56 56 54 54 54
++58 58 58 51 51 51 46 46 46 38 38 38 38 38 38 39 39 39 36 36 36 43 43 43
++51 51 51 43 43 43 32 32 32 28 28 28 43 43 43 51 51 51 45 45 45 45 45 45
++43 43 43 46 46 46 43 43 43 44 44 44 38 38 38 40 40 40 20 20 20 24 24 24
++24 24 24 36 36 36 39 39 39 16 16 16 32 32 32 23 23 23 27 27 27 27 27 27
++27 27 27 34 34 34 37 37 37 37 37 37 40 40 40 39 39 39 24 24 24 8 8 8
++45 45 45 53 53 53 48 48 48 46 46 46 20 20 20 16 16 16 16 16 16 14 14 14
++27 27 27 45 45 45 49 49 49 50 50 50 53 53 53 50 50 50 46 46 46 40 40 40
++48 48 48 51 51 51 52 52 52 54 54 54 54 54 54 48 48 48 43 43 43 46 46 46
++51 51 51 49 49 49 46 46 46 43 43 43 42 42 42 42 42 42 44 44 44 45 45 45
++46 46 46 48 48 48 49 49 49 49 49 49 49 49 49 49 49 49 50 50 50 50 50 50
++48 48 48 45 45 45 50 50 50 45 45 45 37 37 37 29 29 29 28 28 28 43 43 43
++48 48 48 46 46 46 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 46 46 46
++43 43 43 45 45 45 46 46 46 46 46 46 46 46 46 48 48 48 48 48 48 48 48 48
++48 48 48 45 45 45 44 44 44 49 49 49 53 53 53 52 52 52 46 46 46 40 40 40
++48 48 48 45 45 45 45 45 45 49 49 49 49 49 49 42 42 42 32 32 32 27 27 27
++20 20 20 14 14 14 10 10 10 10 10 10 13 13 13 16 16 16 14 14 14 11 11 11
++11 11 11 25 25 25 38 38 38 34 34 34 19 19 19 11 11 11 13 13 13 11 11 11
++16 16 16 10 10 10 14 14 14 28 28 28 36 36 36 28 28 28 13 13 13 0 0 0
++6 6 6 17 17 17 19 19 19 11 11 11 17 17 17 31 31 31 33 33 33 25 25 25
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 6 6 6 17 17 17 21 21 21 20 20 20
++17 17 17 17 17 17 21 21 21 14 14 14 3 3 3 10 10 10 20 20 20 17 17 17
++19 19 19 14 14 14 13 13 13 17 17 17 20 20 20 16 16 16 6 6 6 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 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 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
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 13 13 13 21 21 21
++13 13 13 3 3 3 0 0 0 6 6 6 24 24 24 43 43 43 39 39 39 16 16 16
++0 0 0 0 0 0 10 10 10 14 14 14 25 25 25 45 45 45 45 45 45 24 24 24
++8 8 8 0 0 0 0 0 0 3 3 3 6 6 6 42 42 42 52 52 52 16 16 16
++10 10 10 0 0 0 4 4 4 6 6 6 0 0 0 31 31 31 56 56 56 40 40 40
++24 24 24 14 14 14 19 19 19 6 6 6 0 0 0 39 39 39 58 58 58 29 29 29
++10 10 10 6 6 6 20 20 20 10 10 10 0 0 0 38 38 38 63 63 63 42 42 42
++19 19 19 16 16 16 13 13 13 10 10 10 20 20 20 46 46 46 59 59 59 53 53 53
++20 20 20 23 23 23 21 21 21 14 14 14 19 19 19 45 45 45 63 63 63 60 60 60
++36 36 36 23 23 23 28 28 28 31 31 31 25 25 25 45 45 45 69 69 69 70 70 70
++50 50 50 45 45 45 46 46 46 37 37 37 42 42 42 66 66 66 74 74 74 75 75 75
++53 53 53 44 44 44 46 46 46 46 46 46 51 51 51 62 62 62 74 74 74 94 94 94
++63 63 63 56 56 56 51 51 51 57 57 57 62 62 62 66 66 66 78 78 78 99 99 99
++82 82 82 66 66 66 60 60 60 76 76 76 60 60 60 74 74 74 88 88 88 99 99 99
++94 94 94 80 80 80 72 72 72 76 76 76 80 80 80 77 77 77 81 81 81 89 89 89
++95 95 94 95 95 94 87 87 87 83 83 83 90 90 90 87 87 87 84 84 84 91 91 91
++94 94 94 112 112 113 103 103 102 87 87 87 94 94 94 99 99 99 94 94 94 101 101 101
++101 101 101 109 110 110 112 112 113 109 110 110 96 97 98 94 94 94 109 110 110 125 122 126
++128 128 128 109 110 110 99 99 99 105 105 105 115 116 115 112 112 113 103 103 102 99 99 99
++105 101 107 125 122 126 116 129 109 86 124 83 86 124 83 83 172 72 83 172 115 83 172 72
++94 99 95 107 112 107 118 122 119 128 129 128 118 122 119 105 105 105 105 104 105 112 112 113
++105 105 105 112 112 113 129 129 130 125 122 126 121 121 119 128 128 128 117 117 117 115 116 115
++117 117 117 121 121 119 121 121 119 115 116 115 115 116 115 117 117 117 117 117 117 115 116 115
++115 116 115 112 112 113 115 116 115 117 117 117 115 116 115 109 110 110 112 112 113 117 117 117
++115 116 115 101 101 101 115 116 115 117 117 117 103 103 102 105 105 105 109 110 110 105 104 105
++109 110 110 109 110 110 105 105 105 105 105 105 109 110 110 109 110 110 105 105 105 103 103 102
++101 101 101 101 101 101 101 101 101 99 99 99 99 99 99 99 99 99 99 99 99 96 96 96
++99 99 99 94 94 94 89 89 89 89 89 89 93 93 93 95 95 94 93 93 93 90 90 90
++87 87 87 84 84 84 83 83 83 83 83 83 83 83 83 85 85 85 83 83 83 77 77 77
++74 74 74 77 77 77 80 80 80 78 78 78 75 75 75 72 72 72 69 69 69 68 68 68
++75 75 75 67 67 67 65 65 65 67 67 67 67 67 67 66 66 66 62 62 62 60 60 60
++60 60 60 58 58 58 59 59 59 57 57 57 53 53 53 59 59 59 60 60 60 51 51 51
++52 52 52 53 53 53 53 53 53 43 43 43 49 49 49 56 56 56 46 46 46 48 48 48
++38 38 38 52 52 52 48 48 48 39 39 39 42 42 42 44 44 44 42 42 42 33 33 33
++34 34 34 37 37 37 34 34 34 39 39 39 38 38 38 43 43 43 23 23 23 27 27 27
++17 17 17 28 28 28 36 36 36 32 32 32 31 31 31 25 25 25 32 32 32 38 38 38
++29 29 29 34 34 34 38 38 38 42 42 42 43 43 43 33 33 33 27 27 27 33 33 33
++48 48 48 57 57 57 50 50 50 48 48 48 19 19 19 13 13 13 16 16 16 11 11 11
++37 37 37 53 53 53 49 49 49 46 46 46 50 50 50 50 50 50 53 53 53 49 49 49
++40 40 40 51 51 51 56 56 56 56 56 56 52 52 52 42 42 42 39 39 39 50 50 50
++53 53 53 52 52 52 49 49 49 45 45 45 43 43 43 43 43 43 45 45 45 48 48 48
++44 44 44 43 43 43 44 44 44 45 45 45 48 48 48 48 48 48 44 44 44 42 42 42
++44 44 44 42 42 42 44 44 44 34 34 34 25 25 25 25 25 25 28 28 28 40 40 40
++48 48 48 48 48 48 48 48 48 48 48 48 46 46 46 46 46 46 48 48 48 48 48 48
++46 46 46 48 48 48 46 46 46 43 43 43 45 45 45 49 49 49 46 46 46 40 40 40
++50 50 50 50 50 50 49 49 49 44 44 44 40 40 40 40 40 40 46 46 46 51 51 51
++50 50 50 38 38 38 27 27 27 21 21 21 17 17 17 11 11 11 10 10 10 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 13 13 13 14 14 14 16 16 16 14 14 14
++21 21 21 34 34 34 34 34 34 20 20 20 11 11 11 11 11 11 13 13 13 14 14 14
++13 13 13 10 10 10 27 27 27 42 42 42 32 32 32 20 20 20 19 19 19 14 14 14
++17 17 17 17 17 17 13 13 13 11 11 11 19 19 19 28 28 28 28 28 28 20 20 20
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 6 6 6 17 17 17 21 21 21 20 20 20
++17 17 17 17 17 17 20 20 20 14 14 14 3 3 3 11 11 11 20 20 20 16 16 16
++21 21 21 13 13 13 11 11 11 17 17 17 19 19 19 11 11 11 3 3 3 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 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 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
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 13 13 13
++19 19 19 8 8 8 3 3 3 4 4 4 10 10 10 29 29 29 40 40 40 36 36 36
++3 3 3 0 0 0 8 8 8 21 21 21 19 19 19 21 21 21 38 38 38 50 50 50
++0 0 0 8 8 8 10 10 10 0 0 0 0 0 0 4 4 4 31 31 31 57 57 57
++14 14 14 10 10 10 6 6 6 8 8 8 4 4 4 3 3 3 28 28 28 59 59 59
++36 36 36 25 25 25 17 17 17 13 13 13 6 6 6 3 3 3 29 29 29 62 62 62
++39 39 39 14 14 14 0 0 0 10 10 10 16 16 16 10 10 10 32 32 32 67 67 67
++44 44 44 16 16 16 10 10 10 21 21 21 14 14 14 11 11 11 40 40 40 70 70 70
++58 58 58 23 23 23 11 11 11 28 28 28 24 24 24 16 16 16 40 40 40 69 69 69
++59 59 59 38 38 38 24 24 24 31 31 31 32 32 32 27 27 27 45 45 45 76 76 76
++80 80 80 49 49 49 33 33 33 46 46 46 63 63 63 48 48 48 37 37 37 74 74 74
++84 84 84 57 57 57 48 48 48 50 50 50 61 61 61 68 68 68 61 61 61 67 67 67
++89 89 89 73 73 73 62 62 62 54 54 54 59 59 59 76 76 76 82 82 82 74 74 74
++91 91 91 78 78 78 70 70 70 68 68 68 74 74 74 72 72 72 81 81 81 92 92 92
++99 99 99 88 88 88 80 80 80 78 78 78 76 76 76 77 77 77 89 89 89 103 103 102
++99 99 99 83 83 83 83 83 83 91 91 91 88 88 88 87 87 87 94 94 94 95 95 94
++121 121 119 96 97 98 90 90 90 96 97 98 96 96 96 96 96 96 101 101 101 103 103 102
++112 112 113 115 116 115 109 110 110 96 96 96 95 95 94 112 112 113 125 125 127 128 128 128
++117 117 117 105 105 105 109 110 110 121 121 119 115 116 115 103 103 102 103 103 102 115 116 115
++127 127 127 116 129 109 86 124 83 86 124 83 83 172 115 83 172 72 83 172 72 83 172 72
++112 115 112 105 105 105 112 115 112 129 129 130 128 129 128 112 112 113 105 105 105 115 116 115
++112 112 113 115 116 115 121 121 119 137 137 137 127 127 127 109 110 110 121 121 119 121 121 119
++115 116 115 121 121 119 121 121 119 115 116 115 115 116 115 121 121 119 121 121 119 117 117 117
++115 116 115 121 121 119 117 117 117 112 112 113 112 112 113 117 117 117 117 117 117 112 112 113
++115 116 115 112 112 113 112 112 113 109 110 110 112 112 113 115 116 115 109 110 110 112 112 113
++109 110 110 109 110 110 105 105 105 105 105 105 105 105 105 105 104 105 103 103 102 103 103 102
++103 103 102 105 104 105 101 101 101 95 95 94 94 94 94 96 97 98 96 97 98 94 94 94
++96 97 98 99 99 99 101 101 101 96 97 98 91 91 91 87 87 87 85 85 85 85 85 85
++85 85 85 84 84 84 82 82 82 84 84 84 87 87 87 87 87 87 85 85 85 84 84 84
++84 84 84 82 82 82 78 78 78 78 78 78 81 81 81 80 80 80 76 76 76 74 74 74
++75 75 75 69 69 69 71 71 71 76 76 76 74 74 74 72 72 72 72 72 72 70 70 70
++61 61 61 53 53 53 51 51 51 52 52 52 54 54 54 62 62 62 60 60 60 45 45 45
++45 45 45 57 57 57 59 59 59 38 38 38 38 38 38 48 48 48 37 37 37 37 37 37
++37 37 37 54 54 54 51 51 51 52 52 52 53 53 53 49 49 49 54 54 54 52 52 52
++34 34 34 31 31 31 27 27 27 38 38 38 48 48 48 56 56 56 29 29 29 24 24 24
++20 20 20 32 32 32 45 45 45 52 52 52 36 36 36 31 31 31 34 34 34 43 43 43
++52 52 52 49 49 49 42 42 42 39 39 39 32 32 32 14 14 14 21 21 21 50 50 50
++44 44 44 56 56 56 53 53 53 50 50 50 19 19 19 13 13 13 17 17 17 13 13 13
++39 39 39 56 56 56 46 46 46 42 42 42 43 43 43 45 45 45 56 56 56 54 54 54
++50 50 50 48 48 48 40 40 40 44 44 44 57 57 57 58 58 58 46 46 46 43 43 43
++44 44 44 44 44 44 46 46 46 48 48 48 48 48 48 48 48 48 46 46 46 45 45 45
++51 51 51 48 48 48 46 46 46 49 49 49 48 48 48 44 44 44 44 44 44 48 48 48
++46 46 46 42 42 42 44 44 44 32 32 32 23 23 23 37 37 37 44 44 44 48 48 48
++45 45 45 46 46 46 46 46 46 45 45 45 45 45 45 45 45 45 46 46 46 46 46 46
++44 44 44 40 40 40 42 42 42 46 46 46 48 48 48 45 45 45 45 45 45 49 49 49
++48 48 48 48 48 48 46 46 46 45 45 45 49 49 49 51 51 51 45 45 45 37 37 37
++37 37 37 27 27 27 17 17 17 16 16 16 14 14 14 10 10 10 11 11 11 14 14 14
++10 10 10 14 14 14 19 19 19 19 19 19 14 14 14 13 13 13 14 14 14 17 17 17
++37 37 37 34 34 34 19 19 19 8 8 8 14 14 14 13 13 13 10 10 10 16 16 16
++13 13 13 19 19 19 38 38 38 37 37 37 10 10 10 4 4 4 17 17 17 11 11 11
++17 17 17 10 10 10 11 11 11 27 27 27 36 36 36 31 31 31 19 19 19 11 11 11
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++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 0 0 0 0 0 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++10 10 10 23 23 23 8 8 8 0 0 0 10 10 10 19 19 19 23 23 23 38 38 38
++39 39 39 10 10 10 0 0 0 17 17 17 25 25 25 17 17 17 21 21 21 40 40 40
++56 56 56 4 4 4 0 0 0 11 11 11 6 6 6 0 0 0 6 6 6 28 28 28
++59 59 59 14 14 14 0 0 0 3 3 3 8 8 8 6 6 6 4 4 4 27 27 27
++60 60 60 37 37 37 21 21 21 20 20 20 14 14 14 6 6 6 13 13 13 24 24 24
++67 67 67 36 36 36 11 11 11 11 11 11 13 13 13 13 13 13 19 19 19 25 25 25
++62 62 62 51 51 51 28 28 28 11 11 11 14 14 14 19 19 19 24 24 24 37 37 37
++73 73 73 54 54 54 28 28 28 20 20 20 27 27 27 25 25 25 25 25 25 37 37 37
++68 68 68 74 74 74 44 44 44 27 27 27 37 37 37 39 39 39 46 46 46 52 52 52
++71 71 71 74 74 74 59 59 59 65 65 65 50 50 50 43 43 43 42 42 42 43 43 43
++74 74 74 83 83 83 63 63 63 61 61 61 71 71 71 59 59 59 53 53 53 57 57 57
++75 75 75 85 85 85 68 68 68 61 61 61 83 83 83 83 83 83 67 67 67 70 70 70
++77 77 77 94 94 94 87 87 87 69 69 69 76 76 76 94 94 94 91 91 91 75 75 75
++87 87 87 96 97 98 90 90 90 83 83 83 82 82 82 91 91 91 105 105 105 99 99 99
++90 90 90 88 88 88 89 89 89 91 91 91 90 90 90 92 92 92 103 103 102 117 117 117
++99 99 99 95 95 94 93 93 93 96 96 96 101 101 101 105 104 105 105 104 105 105 104 105
++121 121 119 105 104 105 103 103 102 105 105 105 109 110 110 121 121 119 129 129 130 122 121 126
++109 108 122 122 111 100 113 122 108 98 114 115 124 112 115 124 112 115 112 115 112 122 111 100
++105 107 94 86 124 83 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 72 86 124 83 118 122 119 143 136 140 143 136 140 105 107 94 109 108 122 91 96 86
++99 99 99 112 112 113 129 129 130 134 134 134 131 131 131 115 116 115 121 121 119 121 121 119
++125 125 127 122 121 126 125 125 127 118 122 119 78 79 82 40 42 44 50 51 53 46 47 50
++43 44 47 43 44 47 43 44 47 43 44 47 43 44 47 43 44 47 43 44 47 43 44 47
++46 47 50 46 47 50 46 47 50 42 43 45 35 36 38 43 44 47 122 121 126 118 122 119
++121 121 119 115 116 115 103 103 102 96 97 98 105 105 105 121 121 119 121 121 119 109 110 110
++92 92 92 91 91 91 91 91 91 92 92 92 94 94 94 93 93 93 87 87 87 82 82 82
++85 85 85 90 90 90 101 101 101 105 105 105 109 110 110 103 103 102 92 92 92 83 83 83
++80 80 80 75 75 75 71 71 71 72 72 72 74 74 74 80 80 80 91 91 91 103 103 102
++101 101 101 91 91 91 99 99 99 96 96 96 87 87 87 85 85 85 80 80 80 82 82 82
++83 83 83 89 89 89 88 88 88 76 76 76 65 65 65 58 58 58 51 51 51 45 45 45
++44 44 44 44 44 44 43 43 43 43 43 43 44 44 44 51 51 51 60 60 60 68 68 68
++38 38 38 46 46 46 63 63 63 56 56 56 34 34 34 27 27 27 31 31 31 48 48 48
++63 63 63 59 59 59 56 56 56 66 66 66 67 67 67 66 66 66 48 48 48 60 60 60
++42 42 42 20 20 20 10 10 10 20 20 20 38 38 38 53 53 53 49 49 49 25 25 25
++21 21 21 23 23 23 40 40 40 56 56 56 52 52 52 42 42 42 32 32 32 21 21 21
++10 10 10 19 19 19 21 21 21 17 17 17 24 24 24 39 39 39 49 49 49 50 50 50
++44 44 44 51 51 51 49 49 49 32 32 32 16 16 16 11 11 11 11 11 11 10 10 10
++48 48 48 50 50 50 50 50 50 46 46 46 43 43 43 43 43 43 48 48 48 52 52 52
++53 53 53 48 48 48 43 43 43 44 44 44 50 50 50 53 53 53 52 52 52 50 50 50
++45 45 45 46 46 46 49 49 49 51 51 51 52 52 52 52 52 52 50 50 50 48 48 48
++45 45 45 48 48 48 46 46 46 43 43 43 45 45 45 49 49 49 46 46 46 40 40 40
++48 48 48 40 40 40 29 29 29 24 24 24 27 27 27 36 36 36 44 44 44 50 50 50
++45 45 45 46 46 46 46 46 46 46 46 46 46 46 46 45 45 45 44 44 44 43 43 43
++42 42 42 45 45 45 48 48 48 48 48 48 45 45 45 45 45 45 48 48 48 51 51 51
++48 48 48 46 46 46 48 48 48 45 45 45 36 36 36 25 25 25 32 32 32 43 43 43
++16 16 16 14 14 14 14 14 14 13 13 13 11 11 11 11 11 11 11 11 11 13 13 13
++20 20 20 8 8 8 6 6 6 16 16 16 16 16 16 11 11 11 24 24 24 42 42 42
++29 29 29 23 23 23 13 13 13 10 10 10 13 13 13 17 17 17 16 16 16 11 11 11
++32 32 32 33 33 33 27 27 27 16 16 16 11 11 11 16 16 16 16 16 16 11 11 11
++14 14 14 8 8 8 20 20 20 38 38 38 34 34 34 13 13 13 3 3 3 17 17 17
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 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
++0 0 0 3 3 3 6 6 6 10 10 10 11 11 11 13 13 13 13 13 13 13 13 13
++13 13 13 13 13 13 10 10 10 6 6 6 3 3 3 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 0 0 0 0 0 0 0 0
++6 6 6 20 20 20 13 13 13 0 0 0 6 6 6 14 14 14 19 19 19 29 29 29
++38 38 38 36 36 36 23 23 23 4 4 4 6 6 6 21 21 21 24 24 24 17 17 17
++39 39 39 43 43 43 25 25 25 0 0 0 4 4 4 10 10 10 0 0 0 6 6 6
++23 23 23 56 56 56 20 20 20 0 0 0 11 11 11 0 0 0 4 4 4 10 10 10
++31 31 31 57 57 57 43 43 43 16 16 16 21 21 21 16 16 16 3 3 3 17 17 17
++31 31 31 59 59 59 46 46 46 14 14 14 14 14 14 8 8 8 0 0 0 21 21 21
++39 39 39 60 60 60 57 57 57 31 31 31 13 13 13 14 14 14 19 19 19 23 23 23
++39 39 39 69 69 69 68 68 68 33 33 33 16 16 16 25 25 25 29 29 29 24 24 24
++48 48 48 68 68 68 68 68 68 54 54 54 38 38 38 42 42 42 53 53 53 42 42 42
++39 39 39 81 81 81 82 82 82 62 62 62 32 32 32 43 43 43 52 52 52 44 44 44
++50 50 50 73 73 73 85 85 85 81 81 81 59 59 59 48 48 48 59 59 59 60 60 60
++61 61 61 77 77 77 91 91 91 90 90 90 80 80 80 68 68 68 66 66 66 70 70 70
++67 67 67 84 84 84 91 91 91 87 87 87 87 87 87 87 87 87 83 83 83 82 82 82
++80 80 80 85 85 85 105 105 105 91 91 91 94 94 94 109 110 110 92 92 92 87 87 87
++90 90 90 92 92 92 92 92 92 90 90 90 95 95 94 105 105 105 109 110 110 105 105 105
++96 97 98 101 101 101 101 101 101 99 99 99 99 99 99 103 103 102 105 105 105 109 110 110
++109 110 110 103 103 102 105 105 105 112 112 113 117 117 117 125 122 126 125 125 127 115 116 115
++115 116 115 122 111 100 109 110 110 98 114 115 109 108 122 109 108 122 98 114 115 83 172 72
++146 184 30 83 172 72 83 172 72 83 172 115 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 72 86 124 83 238 240 244 254 249 251 255 255 255 255 255 255 252 251 251 252 251 251
++252 251 251 200 220 210 200 220 210 200 220 210 200 220 210 180 183 185 180 183 185 169 175 167
++112 112 113 118 122 119 122 121 126 115 116 115 26 29 32 1 3 7 11 13 16 14 16 19
++11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16
++11 13 16 6 8 11 11 13 16 20 21 24 6 8 11 58 59 61 109 110 110 117 117 117
++121 121 119 121 121 119 115 116 115 103 103 102 95 95 94 103 103 102 115 116 115 125 125 127
++117 117 117 105 105 105 94 94 94 89 89 89 88 88 88 89 89 89 92 92 92 96 97 98
++88 88 88 87 87 87 83 83 83 84 84 84 90 90 90 99 99 99 105 105 105 112 112 113
++96 97 98 95 95 94 88 88 88 76 76 76 67 67 67 69 69 69 82 82 82 94 94 94
++93 93 93 89 89 89 95 95 94 84 84 84 63 63 63 57 57 57 58 58 58 68 68 68
++58 58 58 69 69 69 78 78 78 75 75 75 59 59 59 46 46 46 45 45 45 52 52 52
++43 43 43 43 43 43 42 42 42 39 39 39 40 40 40 45 45 45 52 52 52 57 57 57
++71 71 71 31 31 31 48 48 48 70 70 70 59 59 59 60 60 60 63 63 63 52 52 52
++40 40 40 38 38 38 45 45 45 63 63 63 65 65 65 57 57 57 34 34 34 45 45 45
++60 60 60 42 42 42 20 20 20 10 10 10 19 19 19 37 37 37 44 44 44 38 38 38
++24 24 24 19 19 19 27 27 27 40 40 40 48 48 48 51 51 51 49 49 49 39 39 39
++40 40 40 46 46 46 45 45 45 38 38 38 39 39 39 49 49 49 57 57 57 58 58 58
++56 56 56 45 45 45 31 31 31 19 19 19 11 11 11 8 8 8 16 16 16 23 23 23
++46 46 46 49 49 49 51 51 51 51 51 51 50 50 50 49 49 49 49 49 49 50 50 50
++54 54 54 53 53 53 50 50 50 48 48 48 48 48 48 50 50 50 52 52 52 53 53 53
++43 43 43 43 43 43 44 44 44 49 49 49 52 52 52 52 52 52 49 49 49 44 44 44
++45 45 45 45 45 45 45 45 45 45 45 45 48 48 48 49 49 49 48 48 48 44 44 44
++40 40 40 33 33 33 27 27 27 27 27 27 34 34 34 42 42 42 45 45 45 46 46 46
++46 46 46 46 46 46 46 46 46 46 46 46 45 45 45 45 45 45 44 44 44 44 44 44
++48 48 48 46 46 46 45 45 45 44 44 44 45 45 45 46 46 46 48 48 48 48 48 48
++50 50 50 46 46 46 34 34 34 23 23 23 23 23 23 32 32 32 33 33 33 28 28 28
++14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14
++10 10 10 17 17 17 17 17 17 10 10 10 14 14 14 27 27 27 34 34 34 32 32 32
++23 23 23 14 14 14 13 13 13 19 19 19 17 17 17 11 11 11 16 16 16 27 27 27
++33 33 33 28 28 28 20 20 20 11 11 11 10 10 10 13 13 13 13 13 13 11 11 11
++4 4 4 24 24 24 37 37 37 31 31 31 19 19 19 13 13 13 13 13 13 13 13 13
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++10 10 10 11 11 11 16 16 16 19 19 19 20 20 20 19 19 19 17 17 17 17 17 17
++20 20 20 19 19 19 17 17 17 14 14 14 11 11 11 8 8 8 3 3 3 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 0 0
++0 0 0 14 14 14 17 17 17 6 6 6 0 0 0 8 8 8 16 16 16 17 17 17
++23 23 23 37 37 37 34 34 34 14 14 14 6 6 6 20 20 20 24 24 24 14 14 14
++24 24 24 33 33 33 39 39 39 19 19 19 0 0 0 6 6 6 3 3 3 0 0 0
++4 4 4 25 25 25 54 54 54 23 23 23 0 0 0 13 13 13 0 0 0 6 6 6
++4 4 4 36 36 36 50 50 50 39 39 39 24 24 24 21 21 21 20 20 20 14 14 14
++3 3 3 40 40 40 59 59 59 43 43 43 16 16 16 4 4 4 11 11 11 14 14 14
++11 11 11 45 45 45 61 61 61 50 50 50 31 31 31 17 17 17 14 14 14 19 19 19
++19 19 19 50 50 50 68 68 68 59 59 59 39 39 39 24 24 24 24 24 24 32 32 32
++25 25 25 50 50 50 69 69 69 73 73 73 57 57 57 44 44 44 46 46 46 39 39 39
++40 40 40 67 67 67 74 74 74 76 76 76 52 52 52 45 45 45 45 45 45 50 50 50
++46 46 46 68 68 68 88 88 88 91 91 91 69 69 69 51 51 51 58 58 58 59 59 59
++49 49 49 70 70 70 94 94 94 99 99 99 81 81 81 66 66 66 66 66 66 72 72 72
++70 70 70 71 71 71 87 87 87 105 105 105 105 104 105 78 78 78 71 71 71 87 87 87
++81 81 81 90 90 90 87 87 87 112 112 113 115 116 115 96 96 96 99 99 99 85 85 85
++92 92 92 94 94 94 94 94 94 96 97 98 105 105 105 112 112 113 109 110 110 99 99 99
++101 101 101 103 103 102 105 104 105 103 103 102 103 103 102 105 105 105 109 110 110 109 110 110
++103 103 102 105 105 105 115 116 115 121 121 119 125 122 126 127 127 127 121 121 119 112 112 113
++98 114 115 109 108 122 109 108 122 121 113 124 113 122 108 86 124 83 141 180 99 146 184 30
++146 184 30 83 172 72 83 172 72 83 172 115 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 72 83 172 115 238 240 244 255 255 255 252 251 251 255 255 255 255 255 255 252 251 251
++255 255 255 252 251 251 255 255 255 255 255 255 255 255 255 252 251 251 246 251 251 200 220 210
++134 134 134 122 121 126 129 129 130 87 87 87 1 3 7 11 13 16 6 8 11 10 11 14
++8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13
++11 13 16 1 3 7 6 8 11 11 13 16 8 10 13 96 97 98 109 110 110 112 112 113
++121 121 119 128 128 128 131 131 131 121 121 119 105 105 105 96 96 96 99 99 99 103 103 102
++127 127 127 122 121 126 115 116 115 105 105 105 101 101 101 95 95 94 91 91 91 88 88 88
++94 94 94 91 91 91 87 87 87 84 84 84 83 83 83 85 85 85 90 90 90 93 93 93
++105 105 105 105 105 105 103 103 102 93 93 93 85 85 85 85 85 85 93 93 93 101 101 101
++82 82 82 70 70 70 75 75 75 87 87 87 94 94 94 92 92 92 72 72 72 54 54 54
++57 57 57 60 60 60 71 71 71 81 81 81 76 76 76 61 61 61 52 52 52 52 52 52
++50 50 50 50 50 50 48 48 48 45 45 45 43 43 43 42 42 42 43 43 43 44 44 44
++76 76 76 66 66 66 72 72 72 75 75 75 72 72 72 65 65 65 48 48 48 42 42 42
++50 50 50 67 67 67 59 59 59 32 32 32 28 28 28 56 56 56 49 49 49 37 37 37
++62 62 62 51 51 51 28 28 28 6 6 6 8 8 8 19 19 19 25 25 25 29 29 29
++24 24 24 19 19 19 20 20 20 27 27 27 37 37 37 50 50 50 56 56 56 51 51 51
++50 50 50 56 56 56 56 56 56 49 49 49 45 45 45 49 49 49 51 51 51 50 50 50
++54 54 54 37 37 37 23 23 23 21 21 21 17 17 17 11 11 11 20 20 20 36 36 36
++42 42 42 43 43 43 46 46 46 50 50 50 52 52 52 51 51 51 46 46 46 43 43 43
++48 48 48 51 51 51 52 52 52 49 49 49 44 44 44 42 42 42 44 44 44 48 48 48
++49 49 49 46 46 46 44 44 44 48 48 48 52 52 52 54 54 54 53 53 53 50 50 50
++46 46 46 45 45 45 45 45 45 48 48 48 48 48 48 46 46 46 44 44 44 44 44 44
++31 31 31 28 28 28 27 27 27 33 33 33 43 43 43 48 48 48 46 46 46 43 43 43
++46 46 46 46 46 46 45 45 45 45 45 45 44 44 44 44 44 44 45 45 45 45 45 45
++49 49 49 45 45 45 44 44 44 45 45 45 48 48 48 48 48 48 43 43 43 38 38 38
++37 37 37 28 28 28 14 14 14 11 11 11 25 25 25 37 37 37 32 32 32 17 17 17
++11 11 11 11 11 11 11 11 11 11 11 11 13 13 13 14 14 14 16 16 16 16 16 16
++10 10 10 17 17 17 17 17 17 13 13 13 24 24 24 39 39 39 37 37 37 20 20 20
++13 13 13 11 11 11 13 13 13 16 16 16 14 14 14 14 14 14 25 25 25 38 38 38
++27 27 27 20 20 20 13 13 13 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11
++14 14 14 34 34 34 38 38 38 19 19 19 4 4 4 11 11 11 17 17 17 13 13 13
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 10 10 10
++19 19 19 19 19 19 19 19 19 17 17 17 16 16 16 14 14 14 11 11 11 10 10 10
++14 14 14 14 14 14 17 17 17 19 19 19 19 19 19 16 16 16 8 8 8 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++0 0 0 10 10 10 20 20 20 13 13 13 0 0 0 4 4 4 17 17 17 14 14 14
++11 11 11 14 14 14 27 27 27 37 37 37 31 31 31 16 16 16 14 14 14 25 25 25
++19 19 19 4 4 4 27 27 27 40 40 40 20 20 20 0 0 0 4 4 4 6 6 6
++0 0 0 6 6 6 27 27 27 48 48 48 27 27 27 0 0 0 11 11 11 0 0 0
++6 6 6 0 0 0 32 32 32 54 54 54 42 42 42 27 27 27 25 25 25 20 20 20
++14 14 14 11 11 11 39 39 39 58 58 58 39 39 39 19 19 19 16 16 16 11 11 11
++11 11 11 17 17 17 37 37 37 59 59 59 57 57 57 32 32 32 17 17 17 23 23 23
++25 25 25 20 20 20 37 37 37 67 67 67 69 69 69 42 42 42 27 27 27 38 38 38
++42 42 42 50 50 50 56 56 56 72 72 72 80 80 80 50 50 50 28 28 28 42 42 42
++62 62 62 45 45 45 45 45 45 83 83 83 83 83 83 62 62 62 42 42 42 50 50 50
++68 68 68 69 69 69 67 67 67 80 80 80 90 90 90 74 74 74 56 56 56 56 56 56
++63 63 63 77 77 77 80 80 80 81 81 81 89 89 89 84 84 84 71 71 71 71 71 71
++78 78 78 77 77 77 87 87 87 103 103 102 105 104 105 90 90 90 80 80 80 82 82 82
++89 89 89 82 82 82 96 96 96 109 110 110 112 112 113 105 105 105 92 92 92 96 97 98
++95 95 94 93 93 93 96 97 98 109 110 110 115 116 115 109 110 110 103 103 102 101 101 101
++105 105 105 103 103 102 103 103 102 109 110 110 115 116 115 115 116 115 112 112 113 109 110 110
++109 110 110 121 121 119 125 122 126 122 121 126 127 127 127 127 127 127 122 121 126 121 121 119
++125 128 138 122 111 100 105 107 94 86 124 83 83 172 72 83 172 72 83 172 72 146 184 30
++146 184 30 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72 83 172 115
++83 172 72 83 172 115 200 220 210 248 249 239 255 255 255 255 255 255 252 251 251 255 255 255
++255 255 255 252 251 251 255 255 255 255 255 255 252 251 251 252 251 251 255 255 255 238 240 244
++166 167 167 127 127 127 122 121 126 14 16 19 0 0 4 10 11 14 8 10 13 14 16 19
++11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16
++11 13 16 14 16 19 11 13 16 8 10 13 49 50 52 131 131 131 125 125 127 117 117 117
++112 112 113 121 121 119 128 128 128 129 129 130 121 121 119 112 112 113 105 104 105 103 103 102
++105 105 105 117 117 117 125 125 127 121 121 119 112 112 113 109 110 110 101 101 101 91 91 91
++89 89 89 92 92 92 94 94 94 94 94 94 91 91 91 87 87 87 85 85 85 84 84 84
++87 87 87 87 87 87 92 92 92 101 101 101 105 104 105 103 103 102 103 103 102 105 105 105
++90 90 90 76 76 76 68 68 68 68 68 68 77 77 77 87 87 87 87 87 87 83 83 83
++70 70 70 54 54 54 49 49 49 63 63 63 80 80 80 78 78 78 62 62 62 48 48 48
++46 46 46 46 46 46 46 46 46 50 50 50 56 56 56 62 62 62 68 68 68 71 71 71
++69 69 69 80 80 80 67 67 67 39 39 39 49 49 49 67 67 67 60 60 60 58 58 58
++54 54 54 45 45 45 32 32 32 14 14 14 14 14 14 37 37 37 49 49 49 63 63 63
++66 66 66 63 63 63 45 45 45 23 23 23 17 17 17 14 14 14 11 11 11 17 17 17
++20 20 20 23 23 23 21 21 21 17 17 17 17 17 17 28 28 28 36 36 36 36 36 36
++44 44 44 52 52 52 56 56 56 52 52 52 46 46 46 44 44 44 43 43 43 40 40 40
++29 29 29 17 17 17 13 13 13 20 20 20 20 20 20 19 19 19 34 34 34 54 54 54
++46 46 46 46 46 46 46 46 46 51 51 51 56 56 56 56 56 56 51 51 51 46 46 46
++44 44 44 49 49 49 54 54 54 53 53 53 49 49 49 44 44 44 43 43 43 43 43 43
++54 54 54 51 51 51 48 48 48 46 46 46 48 48 48 51 51 51 54 54 54 57 57 57
++51 51 51 46 46 46 45 45 45 48 48 48 45 45 45 38 38 38 34 34 34 37 37 37
++25 25 25 28 28 28 34 34 34 42 42 42 48 48 48 50 50 50 48 48 48 45 45 45
++46 46 46 46 46 46 45 45 45 44 44 44 44 44 44 44 44 44 45 45 45 46 46 46
++43 43 43 44 44 44 48 48 48 50 50 50 49 49 49 43 43 43 33 33 33 25 25 25
++16 16 16 8 8 8 13 13 13 29 29 29 37 37 37 31 31 31 17 17 17 10 10 10
++13 13 13 13 13 13 13 13 13 11 11 11 13 13 13 13 13 13 14 14 14 16 16 16
++17 17 17 10 10 10 11 11 11 25 25 25 37 37 37 37 37 37 24 24 24 13 13 13
++8 8 8 17 17 17 14 14 14 3 3 3 10 10 10 28 28 28 37 37 37 32 32 32
++16 16 16 11 11 11 10 10 10 14 14 14 14 14 14 10 10 10 13 13 13 20 20 20
++36 36 36 31 31 31 20 20 20 8 8 8 6 6 6 11 11 11 14 14 14 14 14 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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++0 0 0 0 0 0 3 3 3 3 3 3 4 4 4 8 8 8 13 13 13 17 17 17
++17 17 17 16 16 16 13 13 13 10 10 10 6 6 6 4 4 4 3 3 3 3 3 3
++4 4 4 4 4 4 8 8 8 11 11 11 16 16 16 17 17 17 14 14 14 11 11 11
++4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++0 0 0 6 6 6 19 19 19 16 16 16 0 0 0 3 3 3 19 19 19 19 19 19
++16 16 16 4 4 4 14 14 14 34 34 34 39 39 39 23 23 23 14 14 14 20 20 20
++17 17 17 13 13 13 4 4 4 28 28 28 44 44 44 19 19 19 0 0 0 8 8 8
++4 4 4 10 10 10 0 0 0 29 29 29 50 50 50 24 24 24 0 0 0 0 0 0
++8 8 8 10 10 10 10 10 10 33 33 33 56 56 56 42 42 42 19 19 19 23 23 23
++25 25 25 25 25 25 23 23 23 43 43 43 62 62 62 45 45 45 17 17 17 17 17 17
++24 24 24 16 16 16 25 25 25 50 50 50 62 62 62 53 53 53 37 37 37 25 25 25
++31 31 31 27 27 27 33 33 33 51 51 51 67 67 67 68 68 68 53 53 53 34 34 34
++39 39 39 40 40 40 38 38 38 52 52 52 77 77 77 74 74 74 58 58 58 63 63 63
++52 52 52 42 42 42 37 37 37 61 61 61 75 75 75 84 84 84 66 66 66 57 57 57
++72 72 72 62 62 62 52 52 52 61 61 61 85 85 85 89 89 89 73 73 73 66 66 66
++87 87 87 85 85 85 72 72 72 70 70 70 88 88 88 96 97 98 87 87 87 73 73 73
++82 82 82 94 94 94 94 94 94 82 82 82 87 87 87 105 105 105 103 103 102 82 82 82
++82 82 82 96 96 96 109 110 110 99 99 99 99 99 99 115 116 115 105 105 105 96 97 98
++95 95 94 99 99 99 105 105 105 115 116 115 112 112 113 105 104 105 101 101 101 105 105 105
++105 105 105 103 103 102 105 105 105 121 121 119 125 122 126 117 117 117 115 116 115 115 116 115
++125 122 126 125 122 126 121 121 119 121 121 119 128 128 128 131 131 131 125 122 126 115 116 115
++109 108 122 86 124 83 83 172 72 83 172 72 83 172 115 83 172 72 83 172 72 83 172 72
++141 180 99 83 172 72 83 172 115 83 172 72 83 172 72 83 172 72 83 172 72 83 172 115
++83 172 72 83 172 72 136 172 147 248 249 239 255 255 255 255 255 255 248 249 239 255 255 255
++255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 255 255 255 252 251 251 200 220 210
++125 125 127 117 117 117 87 88 90 1 3 7 26 29 32 8 10 13 10 11 14 6 8 11
++8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13
++6 8 11 14 16 19 1 3 7 11 13 16 78 79 82 122 121 126 125 125 127 122 121 126
++112 112 113 117 117 117 127 127 127 133 133 133 133 133 133 127 127 127 121 121 119 117 117 117
++117 117 117 127 127 127 131 131 131 129 129 130 125 125 127 122 121 126 122 121 126 122 121 126
++115 116 115 115 116 115 112 112 113 105 105 105 99 99 99 93 93 93 90 90 90 90 90 90
++83 83 83 78 78 78 87 87 87 101 101 101 105 105 105 101 101 101 99 99 99 105 105 105
++101 101 101 103 103 102 99 99 99 93 93 93 90 90 90 89 89 89 94 94 94 99 99 99
++91 91 91 76 76 76 63 63 63 67 67 67 80 80 80 88 88 88 84 84 84 76 76 76
++82 82 82 81 81 81 78 78 78 76 76 76 73 73 73 66 66 66 57 57 57 50 50 50
++28 28 28 45 45 45 74 74 74 72 72 72 61 61 61 71 71 71 70 70 70 56 56 56
++29 29 29 13 13 13 21 21 21 29 29 29 36 36 36 37 37 37 42 42 42 58 58 58
++63 63 63 70 70 70 58 58 58 34 34 34 19 19 19 10 10 10 13 13 13 28 28 28
++46 46 46 46 46 46 37 37 37 21 21 21 14 14 14 17 17 17 20 20 20 21 21 21
++23 23 23 28 28 28 31 31 31 27 27 27 21 21 21 19 19 19 17 17 17 14 14 14
++20 20 20 11 11 11 6 6 6 10 10 10 14 14 14 24 24 24 39 39 39 54 54 54
++51 51 51 48 48 48 45 45 45 48 48 48 51 51 51 54 54 54 53 53 53 50 50 50
++45 45 45 46 46 46 48 48 48 49 49 49 49 49 49 46 46 46 44 44 44 42 42 42
++50 50 50 52 52 52 52 52 52 49 49 49 44 44 44 44 44 44 49 49 49 53 53 53
++54 54 54 49 49 49 45 45 45 45 45 45 39 39 39 29 29 29 27 27 27 29 29 29
++29 29 29 36 36 36 43 43 43 48 48 48 48 48 48 46 46 46 48 48 48 49 49 49
++46 46 46 45 45 45 44 44 44 44 44 44 44 44 44 45 45 45 46 46 46 46 46 46
++45 45 45 48 48 48 50 50 50 46 46 46 38 38 38 28 28 28 20 20 20 16 16 16
++8 8 8 19 19 19 32 32 32 39 39 39 31 31 31 13 13 13 4 4 4 10 10 10
++16 16 16 14 14 14 13 13 13 13 13 13 11 11 11 13 13 13 13 13 13 13 13 13
++14 14 14 13 13 13 21 21 21 36 36 36 36 36 36 20 20 20 11 11 11 13 13 13
++10 10 10 14 14 14 11 11 11 8 8 8 21 21 21 37 37 37 33 33 33 17 17 17
++13 13 13 10 10 10 11 11 11 14 14 14 13 13 13 11 11 11 21 21 21 33 33 33
++37 37 37 21 21 21 8 8 8 8 8 8 13 13 13 11 11 11 10 10 10 10 10 10
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++0 0 0 0 0 0 3 3 3 6 6 6 11 11 11 14 14 14 16 16 16 17 17 17
++8 8 8 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 11 11 11 17 17 17 21 21 21
++11 11 11 6 6 6 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 14 14 14 17 17 17 3 3 3 0 0 0 16 16 16 23 23 23
++19 19 19 13 13 13 4 4 4 6 6 6 25 25 25 40 40 40 33 33 33 13 13 13
++19 19 19 14 14 14 0 0 0 8 8 8 33 33 33 38 38 38 24 24 24 0 0 0
++8 8 8 0 0 0 8 8 8 3 3 3 28 28 28 52 52 52 23 23 23 8 8 8
++6 6 6 8 8 8 4 4 4 10 10 10 33 33 33 52 52 52 44 44 44 21 21 21
++25 25 25 29 29 29 28 28 28 31 31 31 46 46 46 61 61 61 51 51 51 28 28 28
++25 25 25 31 31 31 32 32 32 33 33 33 48 48 48 68 68 68 63 63 63 40 40 40
++29 29 29 38 38 38 42 42 42 38 38 38 49 49 49 71 71 71 73 73 73 53 53 53
++36 36 36 37 37 37 38 38 38 29 29 29 45 45 45 77 77 77 80 80 80 62 62 62
++33 33 33 44 44 44 44 44 44 43 43 43 49 49 49 82 82 82 84 84 84 83 83 83
++59 59 59 52 52 52 59 59 59 54 54 54 58 58 58 85 85 85 95 95 94 84 84 84
++85 85 85 69 69 69 70 70 70 72 72 72 71 71 71 90 90 90 101 101 101 85 85 85
++93 93 93 92 92 92 88 88 88 81 81 81 83 83 83 99 99 99 105 105 105 103 103 102
++93 93 93 112 112 113 99 99 99 95 95 94 94 94 94 99 99 99 121 121 119 105 105 105
++99 99 99 109 110 110 115 116 115 112 112 113 105 104 105 105 104 105 105 105 105 105 105 105
++105 105 105 109 110 110 117 117 117 127 127 127 122 121 126 115 116 115 115 116 115 121 121 119
++129 129 130 121 121 119 117 117 117 125 125 127 134 134 134 134 134 134 121 121 119 105 105 105
++146 184 30 146 184 30 141 180 99 136 172 147 136 172 147 83 172 115 83 172 72 83 172 72
++83 172 72 83 172 72 83 172 115 83 172 115 83 172 72 83 172 115 83 172 115 83 172 115
++83 172 115 83 172 72 141 180 99 248 249 239 255 255 255 252 251 251 255 255 255 255 255 255
++252 251 251 255 255 255 255 255 255 252 251 251 255 255 255 252 251 251 255 255 255 231 224 220
++137 137 137 137 138 139 35 36 38 11 13 16 14 16 19 0 0 4 16 20 21 14 16 19
++11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16
++11 13 16 14 16 19 1 3 7 51 52 54 109 110 110 105 105 105 122 121 126 133 133 133
++131 131 131 128 128 128 125 125 127 128 128 128 133 133 133 134 134 134 128 128 128 121 121 119
++112 112 113 109 110 110 112 112 113 121 121 119 121 121 119 105 105 105 105 105 105 112 112 113
++117 117 117 117 117 117 121 121 119 121 121 119 117 117 117 112 112 113 112 112 113 109 110 110
++105 105 105 99 99 99 99 99 99 101 101 101 94 94 94 83 83 83 85 85 85 96 96 96
++105 105 105 103 103 102 87 87 87 78 78 78 80 80 80 81 81 81 85 85 85 85 85 85
++87 87 87 93 93 93 96 96 96 91 91 91 83 83 83 77 77 77 81 81 81 87 87 87
++80 80 80 72 72 72 61 61 61 53 53 53 50 50 50 46 46 46 42 42 42 38 38 38
++59 59 59 60 60 60 73 73 73 75 75 75 66 66 66 49 49 49 46 46 46 70 70 70
++38 38 38 31 31 31 44 44 44 44 44 44 48 48 48 45 45 45 43 43 43 43 43 43
++46 46 46 62 62 62 66 66 66 51 51 51 33 33 33 28 28 28 40 40 40 56 56 56
++68 68 68 59 59 59 39 39 39 21 21 21 19 19 19 19 19 19 19 19 19 20 20 20
++31 31 31 29 29 29 25 25 25 19 19 19 14 14 14 14 14 14 16 16 16 17 17 17
++23 23 23 19 19 19 16 16 16 23 23 23 34 34 34 43 43 43 45 45 45 44 44 44
++54 54 54 52 52 52 49 49 49 48 48 48 50 50 50 52 52 52 54 54 54 56 56 56
++52 52 52 48 48 48 44 44 44 44 44 44 48 48 48 50 50 50 50 50 50 49 49 49
++45 45 45 52 52 52 58 58 58 56 56 56 50 50 50 44 44 44 44 44 44 48 48 48
++51 51 51 48 48 48 44 44 44 39 39 39 33 33 33 28 28 28 27 27 27 29 29 29
++37 37 37 43 43 43 49 49 49 49 49 49 46 46 46 45 45 45 46 46 46 50 50 50
++45 45 45 45 45 45 44 44 44 44 44 44 45 45 45 45 45 45 46 46 46 46 46 46
++51 51 51 49 49 49 44 44 44 33 33 33 20 20 20 11 11 11 10 10 10 13 13 13
++14 14 14 32 32 32 39 39 39 28 28 28 11 11 11 8 8 8 16 16 16 20 20 20
++16 16 16 16 16 16 14 14 14 13 13 13 11 11 11 11 11 11 11 11 11 11 11 11
++10 10 10 24 24 24 36 36 36 33 33 33 20 20 20 6 6 6 8 8 8 14 14 14
++14 14 14 8 8 8 13 13 13 27 27 27 36 36 36 31 31 31 17 17 17 6 6 6
++16 16 16 13 13 13 11 11 11 10 10 10 11 11 11 17 17 17 28 28 28 38 38 38
++17 17 17 17 17 17 16 16 16 13 13 13 13 13 13 14 14 14 13 13 13 10 10 10
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++0 0 0 0 0 0 4 4 4 11 11 11 17 17 17 17 17 17 13 13 13 8 8 8
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 11 11 11 16 16 16
++17 17 17 11 11 11 3 3 3 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++3 3 3 0 0 0 10 10 10 19 19 19 10 10 10 0 0 0 6 6 6 21 21 21
++16 16 16 16 16 16 0 0 0 0 0 0 10 10 10 38 38 38 42 42 42 28 28 28
++20 20 20 6 6 6 0 0 0 6 6 6 6 6 6 31 31 31 46 46 46 16 16 16
++0 0 0 3 3 3 0 0 0 11 11 11 3 3 3 25 25 25 59 59 59 21 21 21
++13 13 13 0 0 0 8 8 8 10 10 10 3 3 3 38 38 38 58 58 58 36 36 36
++24 24 24 14 14 14 27 27 27 28 28 28 19 19 19 48 48 48 67 67 67 48 48 48
++33 33 33 32 32 32 32 32 32 28 28 28 33 33 33 53 53 53 66 66 66 59 59 59
++43 43 43 36 36 36 36 36 36 36 36 36 36 36 36 49 49 49 66 66 66 73 73 73
++42 42 42 32 32 32 33 33 33 28 28 28 42 42 42 68 68 68 74 74 74 72 72 72
++52 52 52 48 48 48 45 45 45 46 46 46 48 48 48 72 72 72 80 80 80 94 94 94
++66 66 66 54 54 54 63 63 63 57 57 57 52 52 52 77 77 77 95 95 94 95 95 94
++83 83 83 63 63 63 68 68 68 74 74 74 65 65 65 77 77 77 101 101 101 99 99 99
++105 105 105 85 85 85 80 80 80 89 89 89 88 88 88 84 84 84 99 99 99 115 116 115
++121 121 119 99 99 99 103 103 102 92 92 92 91 91 91 103 103 102 101 101 101 121 121 119
++115 116 115 117 117 117 115 116 115 105 105 105 105 104 105 105 105 105 109 110 110 105 105 105
++112 112 113 121 121 119 125 125 127 122 121 126 115 116 115 115 116 115 117 117 117 125 122 126
++125 125 127 117 117 117 125 125 127 137 137 137 137 137 137 129 129 130 121 121 119 109 110 110
++146 184 30 146 184 30 146 184 30 136 172 147 136 172 147 83 172 115 83 172 72 83 172 72
++83 172 72 83 172 72 83 172 72 83 172 72 187 210 182 187 210 182 83 172 72 83 172 72
++83 172 72 83 172 72 83 172 72 231 246 232 255 255 255 252 251 251 255 255 255 248 249 239
++255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 246 251 251 255 255 255 231 224 220
++133 133 133 100 101 103 0 0 4 16 20 21 8 10 13 8 10 13 16 20 21 10 11 14
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++8 10 13 8 10 13 11 13 16 100 101 103 129 129 130 122 121 126 129 129 130 137 138 139
++139 139 139 133 133 133 121 121 119 112 112 113 117 117 117 129 129 130 133 133 133 131 131 131
++109 110 110 103 103 102 103 103 102 115 116 115 121 121 119 117 117 117 105 105 105 103 103 102
++103 103 102 105 105 105 112 112 113 117 117 117 121 121 119 121 121 119 121 121 119 115 116 115
++115 116 115 112 112 113 109 110 110 103 103 102 91 91 91 81 81 81 78 78 78 81 81 81
++95 95 94 105 104 105 94 94 94 85 85 85 76 76 76 66 66 66 69 69 69 69 69 69
++62 62 62 72 72 72 87 87 87 90 90 90 77 77 77 59 59 59 53 53 53 58 58 58
++84 84 84 71 71 71 54 54 54 48 48 48 52 52 52 63 63 63 73 73 73 78 78 78
++75 75 75 69 69 69 45 45 45 40 40 40 68 68 68 59 59 59 34 34 34 59 59 59
++65 65 65 32 32 32 39 39 39 50 50 50 52 52 52 36 36 36 38 38 38 54 54 54
++42 42 42 53 53 53 66 66 66 63 63 63 53 53 53 53 53 53 60 60 60 65 65 65
++53 53 53 45 45 45 27 27 27 14 14 14 17 17 17 17 17 17 19 19 19 28 28 28
++29 29 29 25 25 25 19 19 19 14 14 14 14 14 14 14 14 14 16 16 16 17 17 17
++16 16 16 16 16 16 24 24 24 38 38 38 51 51 51 56 56 56 51 51 51 44 44 44
++51 51 51 51 51 51 51 51 51 49 49 49 48 48 48 49 49 49 51 51 51 54 54 54
++51 51 51 49 49 49 46 46 46 46 46 46 48 48 48 50 50 50 50 50 50 50 50 50
++40 40 40 44 44 44 48 48 48 49 49 49 46 46 46 42 42 42 39 39 39 38 38 38
++40 40 40 40 40 40 39 39 39 33 33 33 32 32 32 34 34 34 38 38 38 39 39 39
++45 45 45 45 45 45 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46
++44 44 44 44 44 44 45 45 45 45 45 45 46 46 46 46 46 46 46 46 46 46 46 46
++45 45 45 39 39 39 28 28 28 17 17 17 8 8 8 8 8 8 13 13 13 17 17 17
++27 27 27 32 32 32 29 29 29 16 16 16 8 8 8 14 14 14 20 20 20 21 21 21
++14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14
++23 23 23 32 32 32 33 33 33 23 23 23 10 10 10 8 8 8 13 13 13 14 14 14
++11 11 11 13 13 13 23 23 23 34 34 34 32 32 32 17 17 17 8 8 8 10 10 10
++16 16 16 13 13 13 11 11 11 13 13 13 21 21 21 28 28 28 29 29 29 25 25 25
++6 6 6 16 16 16 20 20 20 16 16 16 11 11 11 14 14 14 20 20 20 24 24 24
++
++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 0 0 0 0 0 0 0 0 3 3 3 11 11 11 20 20 20 21 21 21 17 17 17
++20 20 20 17 17 17 20 20 20 10 10 10 10 10 10 20 20 20 17 17 17 20 20 20
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 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 0
++0 0 0 0 0 0 6 6 6 14 14 14 20 20 20 17 17 17 8 8 8 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
++0 0 0 3 3 3 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3
++20 20 20 13 13 13 4 4 4 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++3 3 3 0 0 0 6 6 6 19 19 19 14 14 14 0 0 0 0 0 0 20 20 20
++19 19 19 13 13 13 4 4 4 3 3 3 4 4 4 16 16 16 32 32 32 44 44 44
++16 16 16 24 24 24 3 3 3 0 0 0 6 6 6 0 0 0 27 27 27 50 50 50
++10 10 10 10 10 10 16 16 16 0 0 0 0 0 0 10 10 10 25 25 25 53 53 53
++20 20 20 11 11 11 4 4 4 8 8 8 8 8 8 8 8 8 31 31 31 60 60 60
++24 24 24 17 17 17 13 13 13 17 17 17 20 20 20 20 20 20 39 39 39 67 67 67
++53 53 53 27 27 27 23 23 23 34 34 34 28 28 28 23 23 23 43 43 43 67 67 67
++60 60 60 36 36 36 27 27 27 31 31 31 25 25 25 25 25 25 49 49 49 70 70 70
++74 74 74 46 46 46 34 34 34 49 49 49 67 67 67 53 53 53 45 45 45 82 82 82
++82 82 82 57 57 57 43 43 43 53 53 53 61 61 61 76 76 76 70 70 70 82 82 82
++89 89 89 67 67 67 58 58 58 59 59 59 70 70 70 78 78 78 80 80 80 96 96 96
++99 99 99 81 81 81 73 73 73 76 76 76 75 75 75 75 75 75 92 92 92 109 110 110
++109 110 110 90 90 90 83 83 83 87 87 87 85 85 85 85 85 85 96 96 96 105 105 105
++117 117 117 109 110 110 96 96 96 99 99 99 101 101 101 96 97 98 105 105 105 109 110 110
++129 129 130 117 117 117 105 105 105 105 105 105 109 110 110 109 110 110 109 110 110 109 110 110
++121 121 119 128 128 128 127 127 127 115 116 115 112 112 113 117 117 117 121 121 119 121 121 119
++121 121 119 117 117 117 137 137 137 147 147 148 134 134 134 121 121 119 122 121 126 121 121 119
++86 124 83 141 180 99 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 72 83 172 72 83 172 72 83 172 72 136 172 147 136 172 147 83 172 72 83 172 72
++83 172 72 83 172 72 141 180 99 187 210 182 254 249 251 252 251 251 246 251 251 252 251 251
++252 251 251 255 255 255 255 255 255 252 251 251 252 251 251 255 255 255 252 251 251 161 161 162
++122 121 126 37 39 42 11 13 16 11 13 16 8 10 13 14 16 19 8 10 13 10 11 14
++11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16
++8 10 13 11 13 16 24 25 28 133 133 133 137 137 137 137 138 139 125 125 127 115 116 115
++121 121 119 129 129 130 133 133 133 121 121 119 112 112 113 115 116 115 125 122 126 128 128 128
++129 129 130 121 121 119 109 110 110 103 103 102 115 116 115 128 128 128 121 121 119 103 103 102
++105 104 105 101 101 101 96 97 98 99 99 99 103 103 102 109 110 110 115 116 115 121 121 119
++112 112 113 117 117 117 121 121 119 115 116 115 109 110 110 105 105 105 94 94 94 81 81 81
++89 89 89 105 105 105 101 101 101 96 97 98 91 91 91 77 77 77 73 73 73 68 68 68
++68 68 68 60 60 60 66 66 66 84 84 84 89 89 89 75 75 75 62 62 62 59 59 59
++82 82 82 81 81 81 81 81 81 83 83 83 84 84 84 76 76 76 63 63 63 52 52 52
++38 38 38 43 43 43 43 43 43 33 33 33 48 48 48 66 66 66 53 53 53 37 37 37
++63 63 63 51 51 51 57 57 57 44 44 44 46 46 46 48 48 48 50 50 50 40 40 40
++45 45 45 42 42 42 46 46 46 48 48 48 43 43 43 46 46 46 46 46 46 37 37 37
++38 38 38 37 37 37 29 29 29 27 27 27 28 28 28 27 27 27 34 34 34 51 51 51
++29 29 29 27 27 27 25 25 25 28 28 28 31 31 31 31 31 31 28 28 28 25 25 25
++28 28 28 28 28 28 32 32 32 39 39 39 42 42 42 37 37 37 32 32 32 31 31 31
++27 27 27 31 31 31 33 33 33 32 32 32 28 28 28 25 25 25 28 28 28 32 32 32
++27 27 27 29 29 29 33 33 33 34 34 34 33 33 33 31 31 31 28 28 28 27 27 27
++33 33 33 29 29 29 27 27 27 28 28 28 29 29 29 31 31 31 28 28 28 24 24 24
++31 31 31 36 36 36 34 34 34 31 31 31 32 32 32 40 40 40 48 48 48 50 50 50
++50 50 50 45 45 45 42 42 42 43 43 43 48 48 48 49 49 49 46 46 46 43 43 43
++43 43 43 44 44 44 45 45 45 46 46 46 46 46 46 46 46 46 46 46 46 45 45 45
++33 33 33 24 24 24 13 13 13 6 6 6 10 10 10 16 16 16 20 20 20 21 21 21
++43 43 43 28 28 28 16 16 16 19 19 19 21 21 21 17 17 17 10 10 10 6 6 6
++13 13 13 13 13 13 11 11 11 11 11 11 13 13 13 14 14 14 16 16 16 16 16 16
++43 43 43 32 32 32 19 19 19 13 13 13 14 14 14 17 17 17 16 16 16 14 14 14
++6 6 6 24 24 24 36 36 36 31 31 31 16 16 16 4 4 4 10 10 10 19 19 19
++11 11 11 11 11 11 11 11 11 20 20 20 33 33 33 38 38 38 25 25 25 4 4 4
++16 16 16 13 13 13 11 11 11 13 13 13 11 11 11 11 11 11 24 24 24 39 39 39
++
++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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 4 4 4 3 3 3 0 0 0
++0 0 0 13 13 13 19 19 19 14 14 14 10 10 10 6 6 6 4 4 4 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6 4 4 4
++4 4 4 21 21 21 19 19 19 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 6 6 6 17 17 17 13 13 13 0 0 0 3 3 3 19 19 19
++17 17 17 17 17 17 3 3 3 3 3 3 0 0 0 16 16 16 21 21 21 28 28 28
++51 51 51 20 20 20 0 0 0 6 6 6 3 3 3 0 0 0 4 4 4 24 24 24
++51 51 51 6 6 6 0 0 0 4 4 4 3 3 3 8 8 8 14 14 14 27 27 27
++57 57 57 21 21 21 6 6 6 3 3 3 8 8 8 16 16 16 17 17 17 31 31 31
++63 63 63 31 31 31 8 8 8 14 14 14 14 14 14 10 10 10 21 21 21 38 38 38
++69 69 69 46 46 46 25 25 25 17 17 17 19 19 19 25 25 25 28 28 28 25 25 25
++69 69 69 61 61 61 34 34 34 28 28 28 31 31 31 27 27 27 36 36 36 39 39 39
++80 80 80 70 70 70 51 51 51 65 65 65 54 54 54 43 43 43 39 39 39 44 44 44
++78 78 78 91 91 91 60 60 60 54 54 54 78 78 78 65 65 65 49 49 49 57 57 57
++82 82 82 95 95 94 75 75 75 56 56 56 77 77 77 89 89 89 74 74 74 66 66 66
++94 94 94 99 99 99 89 89 89 73 73 73 77 77 77 94 94 94 95 95 94 81 81 81
++99 99 99 109 110 110 105 105 105 88 88 88 84 84 84 99 99 99 109 110 110 105 105 105
++99 99 99 127 127 127 112 112 113 91 91 91 101 101 101 105 105 105 105 105 105 127 127 127
++109 110 110 127 127 127 121 121 119 112 112 113 109 110 110 105 105 105 117 117 117 125 125 127
++134 134 134 125 125 127 115 116 115 115 116 115 125 125 127 134 134 134 131 131 131 125 122 126
++121 121 119 131 131 131 142 143 144 134 134 134 127 127 127 125 125 127 125 125 127 137 137 137
++116 129 109 83 172 115 83 172 72 83 172 72 83 172 72 83 172 115 83 172 72 83 172 72
++83 172 72 83 172 115 83 172 115 83 172 72 83 172 72 83 172 115 83 172 115 83 172 72
++83 172 72 83 172 72 141 180 99 141 180 99 252 251 251 255 255 255 248 249 239 252 251 251
++255 255 255 252 251 251 255 255 255 252 251 251 255 255 255 255 255 255 252 251 251 231 246 232
++83 84 85 20 21 24 8 10 13 11 13 16 6 8 11 11 13 16 8 10 13 14 16 19
++10 11 14 14 16 19 6 8 11 6 8 11 14 16 19 11 13 16 8 10 13 10 11 14
++13 13 13 14 14 14 92 92 92 117 117 117 121 121 119 133 133 133 134 134 134 121 121 119
++117 117 117 121 121 119 129 129 130 134 134 134 122 121 126 112 112 113 115 116 115 115 116 115
++133 133 133 134 134 134 125 122 126 109 110 110 109 110 110 115 116 115 121 121 119 127 127 127
++105 105 105 101 101 101 103 103 102 105 104 105 101 101 101 95 95 94 105 104 105 117 117 117
++109 110 110 109 110 110 109 110 110 112 112 113 112 112 113 112 112 113 112 112 113 109 110 110
++105 105 105 103 103 102 103 103 102 105 105 105 105 105 105 101 101 101 90 90 90 85 85 85
++87 87 87 77 77 77 80 80 80 90 90 90 91 91 91 91 91 91 92 92 92 92 92 92
++83 83 83 77 77 77 84 84 84 78 78 78 53 53 53 44 44 44 50 50 50 44 44 44
++46 46 46 40 40 40 36 36 36 39 39 39 44 44 44 48 48 48 52 52 52 57 57 57
++42 42 42 57 57 57 53 53 53 43 43 43 48 48 48 51 51 51 46 46 46 46 46 46
++46 46 46 42 42 42 44 44 44 45 45 45 39 39 39 38 38 38 40 40 40 39 39 39
++36 36 36 45 45 45 39 39 39 31 31 31 39 39 39 49 49 49 43 43 43 37 37 37
++34 34 34 29 29 29 34 34 34 34 34 34 27 27 27 29 29 29 34 34 34 28 28 28
++33 33 33 29 29 29 34 34 34 43 43 43 38 38 38 31 31 31 32 32 32 28 28 28
++31 31 31 29 29 29 28 28 28 29 29 29 31 31 31 27 27 27 25 25 25 29 29 29
++28 28 28 44 44 44 31 31 31 24 24 24 29 29 29 29 29 29 32 32 32 23 23 23
++25 25 25 29 29 29 24 24 24 23 23 23 29 29 29 29 29 29 27 27 27 32 32 32
++40 40 40 42 42 42 43 43 43 46 46 46 49 49 49 50 50 50 46 46 46 44 44 44
++46 46 46 50 50 50 46 46 46 45 45 45 50 50 50 48 48 48 42 42 42 44 44 44
++45 45 45 48 48 48 49 49 49 46 46 46 46 46 46 46 46 46 40 40 40 33 33 33
++16 16 16 13 13 13 14 14 14 16 16 16 13 13 13 13 13 13 27 27 27 43 43 43
++28 28 28 21 21 21 13 13 13 10 10 10 11 11 11 14 14 14 13 13 13 11 11 11
++14 14 14 8 8 8 13 13 13 20 20 20 14 14 14 6 6 6 21 21 21 43 43 43
++32 32 32 20 20 20 10 10 10 13 13 13 19 19 19 16 16 16 11 11 11 11 11 11
++23 23 23 39 39 39 44 44 44 29 29 29 17 17 17 21 21 21 28 28 28 29 29 29
++27 27 27 28 28 28 31 31 31 36 36 36 37 37 37 34 34 34 29 29 29 27 27 27
++28 28 28 31 31 31 29 29 29 24 24 24 27 27 27 36 36 36 38 38 38 36 36 36
++
++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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4 0 0 0
++4 4 4 14 14 14 19 19 19 13 13 13 6 6 6 4 4 4 3 3 3 0 0 0
++0 0 0 0 0 0 3 3 3 8 8 8 11 11 11 13 13 13 11 11 11 10 10 10
++14 14 14 14 14 14 11 11 11 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 20 20 20 19 19 19 4 4 4 3 3 3 3 3 3 0 0 0 0 0 0
++3 3 3 0 0 0 4 4 4 16 16 16 13 13 13 0 0 0 3 3 3 17 17 17
++17 17 17 19 19 19 3 3 3 3 3 3 0 0 0 16 16 16 20 20 20 27 27 27
++29 29 29 49 49 49 25 25 25 0 0 0 3 3 3 8 8 8 0 0 0 10 10 10
++27 27 27 52 52 52 17 17 17 3 3 3 11 11 11 0 0 0 8 8 8 4 4 4
++21 21 21 59 59 59 25 25 25 6 6 6 14 14 14 0 0 0 13 13 13 16 16 16
++36 36 36 59 59 59 38 38 38 0 0 0 16 16 16 21 21 21 10 10 10 14 14 14
++32 32 32 63 63 63 52 52 52 21 21 21 24 24 24 21 21 21 13 13 13 29 29 29
++37 37 37 71 71 71 62 62 62 37 37 37 29 29 29 28 28 28 32 32 32 32 32 32
++42 42 42 78 78 78 78 78 78 62 62 62 33 33 33 40 40 40 49 49 49 45 45 45
++54 54 54 77 77 77 85 85 85 78 78 78 59 59 59 45 45 45 56 56 56 58 58 58
++60 60 60 78 78 78 92 92 92 89 89 89 77 77 77 69 69 69 65 65 65 65 65 65
++76 76 76 91 91 91 96 96 96 88 88 88 85 85 85 92 92 92 91 91 91 83 83 83
++81 81 81 103 103 102 112 112 113 103 103 102 99 99 99 105 105 105 105 105 105 96 96 96
++99 99 99 99 99 99 121 121 119 121 121 119 101 101 101 109 110 110 122 121 126 112 112 113
++112 112 113 105 105 105 133 133 133 121 121 119 105 105 105 121 121 119 121 121 119 131 131 131
++128 128 128 117 117 117 115 116 115 128 128 128 134 134 134 128 128 128 122 121 126 127 127 127
++131 131 131 140 140 140 137 137 137 125 125 127 125 125 127 133 133 133 137 137 137 145 146 147
++140 140 140 86 124 83 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 72 83 172 115 136 172 147 83 172 72 83 172 72 83 172 72 83 172 72 141 180 99
++83 172 72 83 172 72 83 172 72 141 180 99 246 251 251 255 255 255 255 255 255 255 255 255
++255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 246 251 251 231 224 220 109 110 110
++49 50 52 6 8 11 10 11 14 11 13 16 6 8 11 14 16 19 8 10 13 10 11 14
++8 10 13 11 13 16 10 11 14 8 10 13 11 13 16 11 13 16 11 13 16 11 13 16
++4 4 4 42 42 42 109 110 110 121 121 119 117 117 117 127 127 127 137 137 137 137 138 139
++125 125 127 127 127 127 129 129 130 131 131 131 127 127 127 121 121 119 121 121 119 117 117 117
++125 122 126 137 137 137 142 143 144 134 134 134 125 122 126 115 116 115 117 117 117 125 125 127
++125 122 126 112 112 113 101 101 101 96 97 98 103 103 102 109 110 110 112 112 113 112 112 113
++96 96 96 94 94 94 92 92 92 92 92 92 92 92 92 93 93 93 93 93 93 92 92 92
++109 110 110 105 105 105 105 105 105 105 104 105 99 99 99 96 96 96 101 101 101 105 105 105
++94 94 94 83 83 83 83 83 83 82 82 82 70 70 70 74 74 74 87 87 87 87 87 87
++67 67 67 54 54 54 60 60 60 77 77 77 73 73 73 52 52 52 44 44 44 50 50 50
++42 42 42 43 43 43 43 43 43 39 39 39 33 33 33 37 37 37 53 53 53 70 70 70
++38 38 38 45 45 45 53 53 53 53 53 53 48 48 48 44 44 44 45 45 45 46 46 46
++45 45 45 43 43 43 44 44 44 44 44 44 40 40 40 43 43 43 40 40 40 29 29 29
++37 37 37 36 36 36 28 28 28 31 31 31 42 42 42 43 43 43 33 33 33 28 28 28
++32 32 32 31 31 31 34 34 34 43 43 43 45 45 45 37 37 37 32 32 32 38 38 38
++36 36 36 37 37 37 44 44 44 48 48 48 39 39 39 34 34 34 37 37 37 36 36 36
++39 39 39 32 32 32 29 29 29 37 37 37 39 39 39 37 37 37 37 37 37 42 42 42
++37 37 37 49 49 49 42 42 42 40 40 40 40 40 40 34 34 34 39 39 39 40 40 40
++38 38 38 44 44 44 42 42 42 38 38 38 39 39 39 38 38 38 39 39 39 48 48 48
++46 46 46 45 45 45 46 46 46 50 50 50 54 54 54 54 54 54 50 50 50 45 45 45
++43 43 43 49 49 49 48 48 48 46 46 46 48 48 48 44 44 44 40 40 40 45 45 45
++44 44 44 46 46 46 49 49 49 48 48 48 45 45 45 39 39 39 25 25 25 11 11 11
++10 10 10 11 11 11 10 10 10 4 4 4 14 14 14 29 29 29 37 37 37 36 36 36
++16 16 16 14 14 14 11 11 11 13 13 13 16 16 16 16 16 16 14 14 14 11 11 11
++11 11 11 16 16 16 11 11 11 4 4 4 13 13 13 29 29 29 38 38 38 37 37 37
++13 13 13 11 11 11 14 14 14 20 20 20 24 24 24 29 29 29 36 36 36 40 40 40
++40 40 40 36 36 36 29 29 29 25 25 25 27 27 27 28 28 28 27 27 27 24 24 24
++16 16 16 29 29 29 37 37 37 32 32 32 24 24 24 21 21 21 20 20 20 20 20 20
++23 23 23 20 20 20 20 20 20 27 27 27 33 33 33 33 33 33 28 28 28 23 23 23
++
++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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3
++13 13 13 17 17 17 17 17 17 11 11 11 4 4 4 0 0 0 0 0 0 0 0 0
++0 0 0 4 4 4 10 10 10 13 13 13 11 11 11 8 8 8 4 4 4 3 3 3
++4 4 4 10 10 10 14 14 14 13 13 13 6 6 6 0 0 0 0 0 0 4 4 4
++0 0 0 16 16 16 17 17 17 8 8 8 4 4 4 3 3 3 0 0 0 0 0 0
++4 4 4 0 0 0 3 3 3 16 16 16 14 14 14 0 0 0 3 3 3 16 16 16
++19 19 19 19 19 19 4 4 4 3 3 3 0 0 0 16 16 16 19 19 19 24 24 24
++19 19 19 40 40 40 42 42 42 16 16 16 0 0 0 4 4 4 8 8 8 0 0 0
++17 17 17 24 24 24 50 50 50 24 24 24 0 0 0 11 11 11 0 0 0 8 8 8
++8 8 8 27 27 27 56 56 56 28 28 28 3 3 3 14 14 14 0 0 0 16 16 16
++6 6 6 44 44 44 59 59 59 38 38 38 13 13 13 11 11 11 16 16 16 10 10 10
++10 10 10 40 40 40 59 59 59 50 50 50 28 28 28 19 19 19 23 23 23 28 28 28
++20 20 20 46 46 46 67 67 67 63 63 63 39 39 39 28 28 28 38 38 38 33 33 33
++37 37 37 66 66 66 75 75 75 76 76 76 50 50 50 39 39 39 40 40 40 48 48 48
++42 42 42 62 62 62 87 87 87 91 91 91 63 63 63 48 48 48 60 60 60 60 60 60
++53 53 53 70 70 70 92 92 92 99 99 99 82 82 82 62 62 62 65 65 65 77 77 77
++73 73 73 75 75 75 91 91 91 109 110 110 105 105 105 87 87 87 80 80 80 89 89 89
++85 85 85 90 90 90 103 103 102 115 116 115 117 117 117 105 105 105 99 99 99 96 97 98
++99 99 99 99 99 99 112 112 113 121 121 119 121 121 119 121 121 119 117 117 117 109 110 110
++105 105 105 115 116 115 115 116 115 131 131 131 127 127 127 117 117 117 137 137 137 125 122 126
++121 121 119 117 117 117 125 125 127 137 137 137 134 134 134 122 121 126 122 121 126 133 133 133
++133 133 133 139 139 139 129 129 130 127 127 127 129 129 130 137 138 139 142 143 144 144 145 144
++124 112 115 116 129 109 83 172 115 83 172 115 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 115 83 172 115 141 180 99 83 172 72 83 172 115 83 172 72 146 184 30 146 184 30
++141 180 99 83 172 72 83 172 72 83 172 72 231 246 232 252 251 251 255 255 255 252 251 251
++255 255 255 255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 252 251 251 180 183 185
++14 16 19 1 3 7 14 16 19 11 13 16 6 8 11 16 20 21 8 10 13 10 11 14
++8 10 13 11 13 16 14 16 19 10 11 14 6 8 11 11 13 16 11 13 16 11 13 16
++17 17 17 78 78 78 121 121 119 117 117 117 112 112 113 109 110 110 125 122 126 133 133 133
++137 137 137 137 138 139 134 134 134 133 133 133 134 134 134 133 133 133 127 127 127 121 121 119
++121 121 119 121 121 119 128 128 128 133 133 133 131 131 131 128 128 128 125 122 126 121 121 119
++127 127 127 121 121 119 109 110 110 103 103 102 112 112 113 121 121 119 117 117 117 103 103 102
++99 99 99 96 96 96 93 93 93 92 92 92 92 92 92 92 92 92 91 91 91 90 90 90
++85 85 85 95 95 94 112 112 113 109 110 110 88 88 88 75 75 75 87 87 87 99 99 99
++94 94 94 73 73 73 62 62 62 66 66 66 65 65 65 61 61 61 70 70 70 81 81 81
++87 87 87 68 68 68 52 52 52 65 65 65 82 82 82 73 73 73 52 52 52 44 44 44
++44 44 44 45 45 45 48 48 48 48 48 48 43 43 43 39 39 39 44 44 44 52 52 52
++66 66 66 43 43 43 39 39 39 49 49 49 50 50 50 51 51 51 51 51 51 42 42 42
++49 49 49 52 52 52 57 57 57 59 59 59 62 62 62 67 67 67 54 54 54 29 29 29
++16 16 16 19 19 19 24 24 24 34 34 34 36 36 36 20 20 20 6 6 6 11 11 11
++17 17 17 43 43 43 57 57 57 59 59 59 50 50 50 23 23 23 6 6 6 19 19 19
++42 42 42 43 43 43 52 52 52 54 54 54 46 46 46 46 46 46 53 53 53 58 58 58
++54 54 54 50 50 50 46 46 46 46 46 46 48 48 48 51 51 51 52 52 52 50 50 50
++45 45 45 50 50 50 48 48 48 53 53 53 53 53 53 45 45 45 45 45 45 49 49 49
++46 46 46 53 53 53 54 54 54 50 50 50 46 46 46 43 43 43 46 46 46 56 56 56
++52 52 52 50 50 50 48 48 48 50 50 50 53 53 53 56 56 56 53 53 53 50 50 50
++43 43 43 49 49 49 49 49 49 46 46 46 45 45 45 43 43 43 42 42 42 46 46 46
++44 44 44 49 49 49 50 50 50 45 45 45 36 36 36 25 25 25 13 13 13 3 3 3
++11 11 11 13 13 13 10 10 10 13 13 13 24 24 24 34 34 34 31 31 31 17 17 17
++14 14 14 13 13 13 10 10 10 10 10 10 11 11 11 13 13 13 14 14 14 14 14 14
++14 14 14 19 19 19 14 14 14 6 6 6 21 21 21 42 42 42 40 40 40 25 25 25
++34 34 34 37 37 37 34 34 34 24 24 24 16 16 16 16 16 16 24 24 24 29 29 29
++37 37 37 20 20 20 8 8 8 17 17 17 24 24 24 19 19 19 13 13 13 11 11 11
++20 20 20 33 33 33 36 36 36 21 21 21 11 11 11 13 13 13 16 16 16 13 13 13
++11 11 11 10 10 10 20 20 20 32 32 32 34 34 34 24 24 24 14 14 14 11 11 11
++
++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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6
++19 19 19 19 19 19 14 14 14 8 8 8 0 0 0 0 0 0 0 0 0 3 3 3
++11 11 11 11 11 11 11 11 11 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 6 6 6 8 8 8 6 6 6 4 4 4 4 4 4 6 6 6
++0 0 0 11 11 11 17 17 17 11 11 11 6 6 6 3 3 3 0 0 0 0 0 0
++6 6 6 0 0 0 0 0 0 14 14 14 14 14 14 3 3 3 3 3 3 14 14 14
++19 19 19 19 19 19 3 3 3 3 3 3 0 0 0 16 16 16 17 17 17 21 21 21
++20 20 20 13 13 13 32 32 32 40 40 40 17 17 17 0 0 0 6 6 6 4 4 4
++3 3 3 4 4 4 28 28 28 51 51 51 27 27 27 0 0 0 13 13 13 11 11 11
++6 6 6 8 8 8 29 29 29 52 52 52 33 33 33 6 6 6 17 17 17 11 11 11
++10 10 10 6 6 6 40 40 40 61 61 61 37 37 37 6 6 6 11 11 11 23 23 23
++19 19 19 10 10 10 38 38 38 62 62 62 49 49 49 31 31 31 27 27 27 24 24 24
++28 28 28 23 23 23 42 42 42 70 70 70 67 67 67 39 39 39 32 32 32 46 46 46
++58 58 58 45 45 45 48 48 48 82 82 82 80 80 80 60 60 60 39 39 39 44 44 44
++59 59 59 60 60 60 63 63 63 80 80 80 88 88 88 73 73 73 58 58 58 57 57 57
++59 59 59 75 75 75 82 82 82 91 91 91 101 101 101 87 87 87 68 68 68 74 74 74
++80 80 80 75 75 75 87 87 87 109 110 110 112 112 113 93 93 93 84 84 84 89 89 89
++93 93 93 89 89 89 96 97 98 115 116 115 121 121 119 112 112 113 101 101 101 99 99 99
++103 103 102 109 110 110 103 103 102 112 112 113 134 134 134 133 133 133 112 112 113 105 105 105
++117 117 117 112 112 113 115 116 115 121 121 119 140 140 140 142 143 144 122 121 126 125 122 126
++117 117 117 128 128 128 134 134 134 129 129 130 125 122 126 127 127 127 133 133 133 140 140 140
++133 133 133 133 133 133 128 128 128 137 138 139 139 139 139 142 143 144 139 139 139 134 134 134
++128 121 122 231 224 220 231 246 232 136 172 147 83 172 115 83 172 72 83 172 72 83 172 72
++83 172 72 83 172 72 83 172 72 83 172 115 141 180 99 146 184 30 141 180 99 146 184 30
++141 180 99 83 172 72 83 172 72 83 172 72 200 220 210 252 251 251 252 251 251 255 255 255
++252 251 251 246 251 251 255 255 255 255 255 255 255 255 255 252 251 251 180 183 185 88 88 88
++10 11 14 11 13 16 20 21 24 8 10 13 6 8 11 14 16 19 8 10 13 14 16 19
++10 11 14 8 10 13 14 16 19 10 11 14 6 8 11 11 13 16 10 11 14 6 8 11
++28 28 28 93 93 93 115 116 115 115 116 115 121 121 119 117 117 117 122 121 126 134 134 134
++137 138 139 142 143 144 139 139 139 137 137 137 142 143 144 142 143 144 137 137 137 133 133 133
++129 129 130 128 128 128 134 134 134 140 140 140 133 133 133 128 128 128 129 129 130 129 129 130
++127 127 127 128 128 128 125 125 127 117 117 117 117 117 117 117 117 117 109 110 110 96 97 98
++99 99 99 99 99 99 99 99 99 96 97 98 96 97 98 95 95 94 92 92 92 89 89 89
++87 87 87 85 85 85 99 99 99 112 112 113 105 105 105 95 95 94 88 88 88 78 78 78
++96 96 96 91 91 91 75 75 75 68 68 68 74 74 74 65 65 65 57 57 57 70 70 70
++85 85 85 84 84 84 67 67 67 50 50 50 63 63 63 77 77 77 65 65 65 39 39 39
++51 51 51 46 46 46 42 42 42 42 42 42 39 39 39 37 37 37 37 37 37 39 39 39
++69 69 69 57 57 57 57 57 57 60 60 60 51 51 51 48 48 48 51 51 51 48 48 48
++52 52 52 49 49 49 43 43 43 38 38 38 48 48 48 67 67 67 67 67 67 45 45 45
++6 6 6 17 17 17 29 29 29 33 33 33 20 20 20 0 0 0 6 6 6 27 27 27
++48 48 48 57 57 57 51 51 51 40 40 40 43 43 43 43 43 43 25 25 25 8 8 8
++36 36 36 33 33 33 49 49 49 56 56 56 51 51 51 48 48 48 46 46 46 50 50 50
++54 54 54 58 58 58 58 58 58 49 49 49 43 43 43 50 50 50 51 51 51 42 42 42
++51 51 51 49 49 49 46 46 46 52 52 52 58 58 58 54 54 54 49 49 49 44 44 44
++45 45 45 50 50 50 52 52 52 50 50 50 45 45 45 43 43 43 44 44 44 49 49 49
++53 53 53 51 51 51 48 48 48 45 45 45 45 45 45 49 49 49 52 52 52 56 56 56
++49 49 49 49 49 49 46 46 46 44 44 44 45 45 45 44 44 44 45 45 45 46 46 46
++48 48 48 50 50 50 48 48 48 36 36 36 20 20 20 11 11 11 13 13 13 17 17 17
++13 13 13 10 10 10 17 17 17 32 32 32 37 37 37 27 27 27 13 13 13 6 6 6
++13 13 13 13 13 13 13 13 13 11 11 11 10 10 10 10 10 10 11 11 11 13 13 13
++10 10 10 11 11 11 17 17 17 28 28 28 38 38 38 39 39 39 34 34 34 27 27 27
++16 16 16 19 19 19 17 17 17 11 11 11 14 14 14 28 28 28 38 38 38 42 42 42
++16 16 16 6 6 6 4 4 4 14 14 14 13 13 13 4 4 4 4 4 4 14 14 14
++36 36 36 32 32 32 21 21 21 10 10 10 8 8 8 16 16 16 16 16 16 11 11 11
++6 6 6 16 16 16 28 28 28 32 32 32 24 24 24 11 11 11 6 6 6 13 13 13
++
++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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 10 10 10
++21 21 21 17 17 17 11 11 11 4 4 4 0 0 0 0 0 0 3 3 3 8 8 8
++11 11 11 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6
++8 8 8 4 4 4 4 4 4 4 4 4 6 6 6 4 4 4 0 0 0 0 0 0
++0 0 0 6 6 6 16 16 16 13 13 13 6 6 6 3 3 3 3 3 3 0 0 0
++6 6 6 0 0 0 0 0 0 14 14 14 14 14 14 3 3 3 3 3 3 14 14 14
++19 19 19 19 19 19 3 3 3 3 3 3 0 0 0 16 16 16 17 17 17 20 20 20
++17 17 17 13 13 13 8 8 8 27 27 27 43 43 43 21 21 21 0 0 0 10 10 10
++0 0 0 13 13 13 6 6 6 32 32 32 50 50 50 27 27 27 4 4 4 6 6 6
++10 10 10 17 17 17 8 8 8 34 34 34 54 54 54 33 33 33 13 13 13 11 11 11
++19 19 19 10 10 10 6 6 6 36 36 36 58 58 58 39 39 39 11 11 11 19 19 19
++21 21 21 20 20 20 16 16 16 38 38 38 63 63 63 53 53 53 27 27 27 24 24 24
++27 27 27 36 36 36 24 24 24 40 40 40 75 75 75 63 63 63 36 36 36 53 53 53
++50 50 50 43 43 43 37 37 37 58 58 58 73 73 73 85 85 85 66 66 66 50 50 50
++69 69 69 61 61 61 50 50 50 60 60 60 88 88 88 89 89 89 68 68 68 59 59 59
++78 78 78 83 83 83 73 73 73 74 74 74 95 95 94 99 99 99 83 83 83 75 75 75
++80 80 80 91 91 91 93 93 93 88 88 88 95 95 94 109 110 110 105 105 105 89 89 89
++85 85 85 101 101 101 109 110 110 105 104 105 109 110 110 121 121 119 115 116 115 96 97 98
++105 104 105 103 103 102 115 116 115 125 122 126 125 122 126 129 129 130 127 127 127 105 105 105
++117 117 117 115 116 115 117 117 117 125 125 127 140 140 140 140 140 140 125 125 127 128 128 128
++129 129 130 137 137 137 134 134 134 125 125 127 125 122 126 137 137 137 144 145 144 144 145 144
++142 143 144 137 138 139 131 131 131 142 143 144 137 138 139 147 147 148 137 138 139 121 121 119
++180 183 185 238 240 244 255 255 255 248 249 239 136 172 147 83 172 72 83 172 72 83 172 115
++83 172 72 83 172 72 146 184 30 146 184 30 146 184 30 146 184 30 141 180 99 83 172 72
++83 172 72 83 172 72 83 172 72 83 172 72 136 172 147 255 255 255 252 251 251 252 251 251
++255 255 255 255 255 255 252 251 251 252 251 251 252 251 251 255 255 255 200 220 210 16 16 16
++14 16 19 14 16 19 11 13 16 6 8 11 10 11 14 11 13 16 6 8 11 14 16 19
++11 13 16 6 8 11 11 13 16 8 10 13 10 11 14 14 16 19 6 8 11 8 10 13
++54 54 54 101 101 101 105 105 105 115 116 115 129 129 130 127 127 127 129 129 130 140 140 140
++131 131 131 140 140 140 137 138 139 133 133 133 139 139 139 142 143 144 144 145 144 147 147 148
++140 140 140 133 133 133 134 134 134 140 140 140 137 137 137 134 134 134 137 137 137 137 137 137
++134 134 134 137 138 139 137 137 137 129 129 130 121 121 119 109 110 110 105 104 105 103 103 102
++101 101 101 99 99 99 96 97 98 95 95 94 95 95 94 94 94 94 91 91 91 90 90 90
++92 92 92 84 84 84 90 90 90 105 105 105 105 105 105 103 103 102 99 99 99 92 92 92
++83 83 83 99 99 99 99 99 99 78 78 78 67 67 67 65 65 65 63 63 63 63 63 63
++56 56 56 74 74 74 84 84 84 69 69 69 58 58 58 68 68 68 74 74 74 66 66 66
++44 44 44 44 44 44 44 44 44 44 44 44 40 40 40 36 36 36 38 38 38 44 44 44
++67 67 67 69 69 69 67 67 67 59 59 59 51 51 51 50 50 50 51 51 51 50 50 50
++40 40 40 33 33 33 23 23 23 16 16 16 29 29 29 57 57 57 67 67 67 54 54 54
++33 33 33 31 31 31 27 27 27 20 20 20 13 13 13 21 21 21 42 42 42 57 57 57
++63 63 63 46 46 46 21 21 21 0 0 0 6 6 6 37 37 37 52 52 52 44 44 44
++19 19 19 13 13 13 40 40 40 58 58 58 61 61 61 59 59 59 48 48 48 48 48 48
++48 48 48 46 46 46 53 53 53 54 54 54 46 46 46 44 44 44 49 49 49 49 49 49
++56 56 56 50 50 50 46 46 46 44 44 44 48 48 48 54 54 54 52 52 52 46 46 46
++46 46 46 45 45 45 46 46 46 48 48 48 46 46 46 46 46 46 44 44 44 42 42 42
++50 50 50 51 51 51 52 52 52 49 49 49 44 44 44 44 44 44 49 49 49 54 54 54
++56 56 56 49 49 49 44 44 44 43 43 43 45 45 45 49 49 49 49 49 49 46 46 46
++50 50 50 44 44 44 34 34 34 21 21 21 11 11 11 6 6 6 13 13 13 19 19 19
++6 6 6 13 13 13 27 27 27 37 37 37 32 32 32 17 17 17 10 10 10 13 13 13
++8 8 8 11 11 11 14 14 14 16 16 16 16 16 16 14 14 14 13 13 13 11 11 11
++21 21 21 25 25 25 34 34 34 40 40 40 34 34 34 21 21 21 14 14 14 16 16 16
++11 11 11 11 11 11 10 10 10 11 11 11 23 23 23 34 34 34 33 33 33 25 25 25
++8 8 8 13 13 13 17 17 17 16 16 16 10 10 10 11 11 11 23 23 23 34 34 34
++37 37 37 21 21 21 6 6 6 8 8 8 14 14 14 16 16 16 13 13 13 13 13 13
++17 17 17 27 27 27 31 31 31 23 23 23 13 13 13 10 10 10 11 11 11 14 14 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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 13 13 13
++23 23 23 16 16 16 8 8 8 3 3 3 0 0 0 0 0 0 4 4 4 11 11 11
++13 13 13 8 8 8 0 0 0 0 0 0 3 3 3 8 8 8 11 11 11 13 13 13
++14 14 14 10 10 10 6 6 6 6 6 6 10 10 10 8 8 8 3 3 3 0 0 0
++0 0 0 4 4 4 14 14 14 14 14 14 4 4 4 0 0 0 3 3 3 0 0 0
++4 4 4 0 0 0 3 3 3 16 16 16 14 14 14 0 0 0 3 3 3 16 16 16
++17 17 17 17 17 17 0 0 0 3 3 3 0 0 0 17 17 17 17 17 17 19 19 19
++24 24 24 13 13 13 0 0 0 8 8 8 29 29 29 39 39 39 23 23 23 0 0 0
++8 8 8 0 0 0 13 13 13 0 0 0 32 32 32 59 59 59 24 24 24 0 0 0
++14 14 14 0 0 0 17 17 17 10 10 10 34 34 34 61 61 61 33 33 33 16 16 16
++8 8 8 14 14 14 10 10 10 10 10 10 33 33 33 57 57 57 48 48 48 17 17 17
++16 16 16 20 20 20 17 17 17 19 19 19 42 42 42 63 63 63 57 57 57 31 31 31
++20 20 20 32 32 32 33 33 33 21 21 21 44 44 44 81 81 81 77 77 77 52 52 52
++29 29 29 43 43 43 42 42 42 38 38 38 46 46 46 84 84 84 84 84 84 77 77 77
++56 56 56 51 51 51 56 56 56 52 52 52 61 61 61 87 87 87 91 91 91 80 80 80
++87 87 87 75 75 75 68 68 68 63 63 63 70 70 70 91 91 91 103 103 102 95 95 94
++87 87 87 95 95 94 91 91 91 81 81 81 85 85 85 105 104 105 112 112 113 105 105 105
++93 93 93 105 105 105 109 110 110 99 99 99 96 97 98 109 110 110 117 117 117 117 117 117
++105 105 105 109 110 110 127 127 127 125 122 126 109 110 110 115 116 115 129 129 130 127 127 127
++115 116 115 125 125 127 125 122 126 137 137 137 128 128 128 121 121 119 142 143 144 137 137 137
++144 145 144 134 134 134 127 127 127 128 128 128 137 137 137 144 145 144 144 145 144 144 145 144
++140 140 140 140 140 140 134 134 134 137 138 139 134 134 134 147 147 148 129 129 130 125 125 127
++238 240 244 255 255 255 255 255 255 255 255 255 248 249 239 136 172 147 83 172 115 83 172 115
++83 172 115 141 180 99 146 184 30 146 184 30 146 184 30 83 172 72 83 172 72 83 172 72
++83 172 72 83 172 72 83 172 72 83 172 72 112 122 122 255 255 255 252 251 251 248 249 239
++252 251 251 255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 200 220 210 40 40 40
++11 13 16 8 10 13 6 8 11 8 10 13 11 13 16 10 11 14 6 8 11 10 11 14
++14 16 19 6 8 11 11 13 16 6 8 11 11 13 16 14 16 19 6 8 11 26 29 32
++83 83 83 103 103 102 99 99 99 109 110 110 121 121 119 121 121 119 125 125 127 134 134 134
++134 134 134 140 140 140 139 139 139 133 133 133 131 131 131 133 133 133 137 138 139 144 145 144
++142 143 144 129 129 130 121 121 119 125 122 126 129 129 130 137 137 137 137 137 137 134 134 134
++134 134 134 134 134 134 137 137 137 137 137 137 131 131 131 121 121 119 115 116 115 115 116 115
++109 110 110 105 105 105 101 101 101 96 96 96 95 95 94 95 95 94 95 95 94 95 95 94
++87 87 87 88 88 88 94 94 94 99 99 99 93 93 93 85 85 85 89 89 89 103 103 102
++89 89 89 80 80 80 89 89 89 91 91 91 70 70 70 62 62 62 69 69 69 65 65 65
++59 59 59 61 61 61 77 77 77 87 87 87 70 70 70 58 58 58 69 69 69 84 84 84
++53 53 53 46 46 46 42 42 42 46 46 46 53 53 53 60 60 60 68 68 68 74 74 74
++57 57 57 65 65 65 63 63 63 59 59 59 60 60 60 62 62 62 51 51 51 33 33 33
++28 28 28 24 24 24 23 23 23 24 24 24 32 32 32 51 51 51 62 62 62 59 59 59
++51 51 51 34 34 34 19 19 19 17 17 17 32 32 32 53 53 53 62 62 62 56 56 56
++44 44 44 25 25 25 17 17 17 11 11 11 0 0 0 14 14 14 40 40 40 51 51 51
++50 50 50 39 39 39 51 51 51 49 49 49 48 48 48 53 53 53 43 43 43 39 39 39
++36 36 36 16 16 16 29 29 29 53 53 53 50 50 50 37 37 37 44 44 44 58 58 58
++54 54 54 50 50 50 51 51 51 42 42 42 38 38 38 49 49 49 54 54 54 57 57 57
++52 52 52 45 45 45 44 44 44 48 48 48 50 50 50 53 53 53 51 51 51 44 44 44
++45 45 45 50 50 50 54 54 54 54 54 54 51 51 51 46 46 46 46 46 46 48 48 48
++56 56 56 48 48 48 44 44 44 44 44 44 45 45 45 49 49 49 50 50 50 44 44 44
++44 44 44 31 31 31 16 16 16 11 11 11 11 11 11 11 11 11 10 10 10 8 8 8
++17 17 17 31 31 31 34 34 34 25 25 25 13 13 13 10 10 10 13 13 13 11 11 11
++14 14 14 11 11 11 10 10 10 10 10 10 13 13 13 19 19 19 24 24 24 27 27 27
++29 29 29 42 42 42 45 45 45 33 33 33 16 16 16 8 8 8 8 8 8 8 8 8
++11 11 11 13 13 13 17 17 17 25 25 25 33 33 33 33 33 33 21 21 21 4 4 4
++14 14 14 17 17 17 14 14 14 10 10 10 13 13 13 24 24 24 34 34 34 38 38 38
++19 19 19 8 8 8 6 6 6 14 14 14 16 16 16 8 8 8 10 10 10 17 17 17
++31 31 31 31 31 31 23 23 23 11 11 11 10 10 10 17 17 17 17 17 17 13 13 13
++
++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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 4 4 4 16 16 16
++20 20 20 13 13 13 4 4 4 0 0 0 0 0 0 0 0 0 8 8 8 16 16 16
++11 11 11 6 6 6 0 0 0 0 0 0 6 6 6 10 10 10 8 8 8 3 3 3
++6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 4 4 4 3 3 3
++0 0 0 4 4 4 14 14 14 16 16 16 3 3 3 0 0 0 3 3 3 0 0 0
++3 3 3 0 0 0 4 4 4 16 16 16 13 13 13 0 0 0 3 3 3 17 17 17
++16 16 16 14 14 14 0 0 0 0 0 0 0 0 0 19 19 19 17 17 17 20 20 20
++28 28 28 4 4 4 6 6 6 6 6 6 0 0 0 29 29 29 42 42 42 10 10 10
++0 0 0 8 8 8 0 0 0 8 8 8 10 10 10 31 31 31 58 58 58 20 20 20
++8 8 8 6 6 6 0 0 0 17 17 17 13 13 13 32 32 32 65 65 65 28 28 28
++8 8 8 6 6 6 23 23 23 16 16 16 0 0 0 38 38 38 62 62 62 42 42 42
++27 27 27 11 11 11 23 23 23 24 24 24 16 16 16 45 45 45 68 68 68 51 51 51
++34 34 34 21 21 21 36 36 36 31 31 31 31 31 31 69 69 69 84 84 84 65 65 65
++44 44 44 43 43 43 40 40 40 40 40 40 42 42 42 69 69 69 77 77 77 92 92 92
++60 60 60 48 48 48 60 60 60 54 54 54 48 48 48 76 76 76 96 97 98 96 97 98
++81 81 81 67 67 67 68 68 68 72 72 72 72 72 72 83 83 83 101 101 101 105 105 105
++103 103 102 89 89 89 83 83 83 87 87 87 88 88 88 88 88 88 103 103 102 121 121 119
++115 116 115 105 105 105 99 99 99 101 101 101 99 99 99 99 99 99 112 112 113 129 129 130
++117 117 117 127 127 127 121 121 119 109 110 110 109 110 110 112 112 113 121 121 119 137 137 137
++128 128 128 121 121 119 142 143 144 129 129 130 117 117 117 131 131 131 133 133 133 147 147 148
++144 145 144 133 133 133 128 128 128 137 137 137 144 145 144 142 143 144 142 143 144 145 146 147
++139 139 139 142 143 144 137 137 137 140 140 140 137 137 137 137 137 137 125 122 126 180 183 185
++252 251 251 252 251 251 238 240 244 255 255 255 254 249 251 248 249 239 187 210 182 83 172 115
++83 172 72 83 172 72 146 184 30 146 184 30 83 172 72 83 172 72 83 172 72 83 172 72
++83 172 115 83 172 115 86 124 83 86 124 83 109 110 110 238 240 244 252 251 251 255 255 255
++255 255 255 252 251 251 255 255 255 255 255 255 255 255 255 238 240 244 142 143 144 0 0 0
++6 8 11 6 8 11 8 10 13 11 13 16 10 11 14 10 11 14 11 13 16 6 8 11
++11 13 16 8 10 13 14 16 19 6 8 11 11 13 16 11 13 16 10 11 14 53 54 57
++88 88 88 91 91 91 91 91 91 105 105 105 105 105 105 121 121 119 128 128 128 128 128 128
++139 139 139 140 140 140 144 145 144 144 145 144 134 134 134 128 128 128 131 131 131 134 134 134
++140 140 140 144 145 144 142 143 144 133 133 133 127 127 127 125 125 127 129 129 130 139 139 139
++129 129 130 128 128 128 128 128 128 133 133 133 137 137 137 134 134 134 129 129 130 127 127 127
++117 117 117 115 116 115 109 110 110 105 104 105 101 101 101 99 99 99 96 96 96 94 94 94
++96 97 98 93 93 93 89 89 89 96 96 96 105 104 105 93 93 93 82 82 82 88 88 88
++105 105 105 87 87 87 85 85 85 96 96 96 92 92 92 75 75 75 67 67 67 66 66 66
++70 70 70 59 59 59 58 58 58 73 73 73 77 77 77 65 65 65 62 62 62 78 78 78
++70 70 70 68 68 68 70 70 70 76 76 76 77 77 77 68 68 68 52 52 52 42 42 42
++42 42 42 56 56 56 74 74 74 75 75 75 62 62 62 58 58 58 48 48 48 23 23 23
++32 32 32 21 21 21 20 20 20 21 21 21 19 19 19 31 31 31 51 51 51 63 63 63
++53 53 53 39 39 39 32 32 32 39 39 39 52 52 52 63 63 63 57 57 57 38 38 38
++16 16 16 6 6 6 16 16 16 37 37 37 46 46 46 46 46 46 46 46 46 46 46 46
++52 52 52 46 46 46 48 48 48 20 20 20 16 16 16 46 46 46 49 49 49 44 44 44
++28 28 28 0 0 0 6 6 6 40 40 40 42 42 42 33 33 33 39 39 39 48 48 48
++46 46 46 39 39 39 50 50 50 48 48 48 42 42 42 48 48 48 51 51 51 58 58 58
++54 54 54 45 45 45 43 43 43 45 45 45 46 46 46 53 53 53 57 57 57 51 51 51
++46 46 46 46 46 46 48 48 48 50 50 50 51 51 51 49 49 49 43 43 43 38 38 38
++49 49 49 45 45 45 48 48 48 49 49 49 44 44 44 45 45 45 46 46 46 43 43 43
++29 29 29 19 19 19 10 10 10 10 10 10 14 14 14 14 14 14 14 14 14 16 16 16
++36 36 36 37 37 37 29 29 29 14 14 14 4 4 4 10 10 10 11 11 11 10 10 10
++16 16 16 13 13 13 10 10 10 13 13 13 19 19 19 24 24 24 28 28 28 28 28 28
++24 24 24 36 36 36 34 34 34 17 17 17 6 6 6 16 16 16 21 21 21 19 19 19
++8 8 8 14 14 14 25 25 25 33 33 33 33 33 33 24 24 24 16 16 16 13 13 13
++17 17 17 13 13 13 6 6 6 8 8 8 21 21 21 32 32 32 31 31 31 23 23 23
++8 8 8 8 8 8 13 13 13 16 16 16 11 11 11 8 8 8 16 16 16 28 28 28
++32 32 32 24 24 24 14 14 14 8 8 8 11 11 11 17 17 17 17 17 17 14 14 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 0 0 0 0 0 0 0 0 0 0 0 10 10 10 20 20 20 21 21 21 17 17 17
++17 17 17 19 19 19 17 17 17 11 11 11 11 11 11 17 17 17 19 19 19 17 17 17
++20 20 20 3 3 3 21 21 21 19 19 19 20 20 20 4 4 4 3 3 3 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 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 6 6 6 17 17 17
++19 19 19 10 10 10 0 0 0 0 0 0 0 0 0 3 3 3 10 10 10 19 19 19
++0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 11 11 11 4 4 4 0 0 0
++0 0 0 3 3 3 8 8 8 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0
++4 4 4 3 3 3 14 14 14 16 16 16 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 6 6 6 17 17 17 13 13 13 0 0 0 3 3 3 19 19 19
++14 14 14 14 14 14 0 0 0 0 0 0 0 0 0 19 19 19 19 19 19 20 20 20
++19 19 19 13 13 13 4 4 4 0 0 0 0 0 0 4 4 4 27 27 27 51 51 51
++4 4 4 8 8 8 13 13 13 0 0 0 0 0 0 8 8 8 24 24 24 65 65 65
++19 19 19 6 6 6 11 11 11 10 10 10 10 10 10 13 13 13 27 27 27 60 60 60
++29 29 29 17 17 17 11 11 11 19 19 19 16 16 16 8 8 8 32 32 32 66 66 66
++45 45 45 28 28 28 19 19 19 27 27 27 25 25 25 16 16 16 37 37 37 72 72 72
++57 57 57 37 37 37 23 23 23 36 36 36 60 60 60 43 43 43 36 36 36 87 87 87
++71 71 71 49 49 49 38 38 38 48 48 48 51 51 51 67 67 67 66 66 66 83 83 83
++88 88 88 59 59 59 58 58 58 59 59 59 56 56 56 69 69 69 84 84 84 96 97 98
++95 95 94 80 80 80 65 65 65 70 70 70 78 78 78 74 74 74 85 85 85 112 112 113
++112 112 113 92 92 92 82 82 82 88 88 88 88 88 88 84 84 84 95 95 94 115 116 115
++122 121 126 109 110 110 99 99 99 103 103 102 105 105 105 105 104 105 105 105 105 115 116 115
++137 137 137 127 127 127 112 112 113 112 112 113 117 117 117 117 117 117 115 116 115 121 121 119
++137 138 139 144 145 144 128 128 128 121 121 119 128 128 128 129 129 130 137 138 139 140 140 140
++139 139 139 137 137 137 137 138 139 142 143 144 140 140 140 137 137 137 142 143 144 149 151 153
++149 149 149 145 146 147 139 139 139 145 146 147 140 140 140 125 122 126 128 128 128 238 240 244
++254 249 251 252 251 251 246 251 251 255 255 255 254 249 251 254 249 251 248 249 239 187 210 182
++83 172 72 83 172 72 83 172 72 83 172 115 83 172 115 83 172 72 83 172 72 83 172 115
++86 124 83 98 114 115 112 115 112 128 121 122 124 112 115 200 220 210 252 251 251 255 255 255
++252 251 251 255 255 255 252 251 251 252 251 251 255 255 255 252 251 251 200 220 210 27 27 27
++10 11 14 14 16 19 16 20 21 11 13 16 1 3 7 10 11 14 20 21 24 10 11 14
++11 13 16 11 13 16 16 20 21 6 8 11 11 13 16 8 10 13 14 16 19 73 74 76
++91 91 91 84 84 84 90 90 90 105 105 105 105 105 105 128 128 128 133 133 133 125 122 126
++134 134 134 137 137 137 149 149 149 155 156 156 144 145 144 134 134 134 133 133 133 129 129 130
++131 131 131 144 145 144 145 146 147 142 143 144 140 140 140 137 137 137 131 131 131 133 133 133
++137 137 137 129 129 130 121 121 119 121 121 119 127 127 127 133 133 133 134 134 134 133 133 133
++127 127 127 125 125 127 122 121 126 121 121 119 117 117 117 109 110 110 103 103 102 96 96 96
++93 93 93 92 92 92 87 87 87 96 96 96 109 110 110 95 95 94 78 78 78 85 85 85
++81 81 81 103 103 102 93 93 93 81 81 81 96 96 96 92 92 92 70 70 70 67 67 67
++60 60 60 67 67 67 60 60 60 66 66 66 87 87 87 88 88 88 78 78 78 84 84 84
++87 87 87 78 78 78 67 67 67 54 54 54 44 44 44 43 43 43 53 53 53 67 67 67
++75 75 75 59 59 59 59 59 59 58 58 58 48 48 48 58 58 58 58 58 58 29 29 29
++32 32 32 23 23 23 28 28 28 33 33 33 23 23 23 20 20 20 39 39 39 58 58 58
++60 60 60 53 53 53 57 57 57 61 61 61 60 60 60 57 57 57 49 49 49 36 36 36
++44 44 44 54 54 54 53 53 53 48 48 48 43 43 43 27 27 27 8 8 8 4 4 4
++38 38 38 46 46 46 52 52 52 11 11 11 6 6 6 54 54 54 60 60 60 52 52 52
++43 43 43 19 19 19 21 21 21 40 40 40 46 46 46 50 50 50 52 52 52 44 44 44
++37 37 37 24 24 24 43 43 43 54 54 54 53 53 53 52 52 52 44 44 44 48 48 48
++51 51 51 42 42 42 38 38 38 39 39 39 39 39 39 48 48 48 56 56 56 53 53 53
++51 51 51 43 43 43 37 37 37 38 38 38 45 45 45 48 48 48 40 40 40 33 33 33
++40 40 40 42 42 42 51 51 51 53 53 53 43 43 43 40 40 40 43 43 43 40 40 40
++13 13 13 11 11 11 13 13 13 16 16 16 14 14 14 14 14 14 24 24 24 36 36 36
++43 43 43 27 27 27 13 13 13 13 13 13 16 16 16 14 14 14 13 13 13 16 16 16
++4 4 4 11 11 11 20 20 20 31 31 31 36 36 36 32 32 32 21 21 21 11 11 11
++37 37 37 37 37 37 28 28 28 13 13 13 8 8 8 13 13 13 13 13 13 6 6 6
++14 14 14 23 23 23 33 33 33 34 34 34 21 21 21 4 4 4 6 6 6 17 17 17
++16 16 16 8 8 8 8 8 8 21 21 21 34 34 34 36 36 36 23 23 23 6 6 6
++13 13 13 16 16 16 17 17 17 11 11 11 8 8 8 14 14 14 27 27 27 37 37 37
++24 24 24 16 16 16 11 11 11 14 14 14 14 14 14 11 11 11 13 13 13 19 19 19
++
++3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 14 14 14 19 19 19 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++19 19 19 14 14 14 14 14 14 17 17 17 17 17 17 10 10 10 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 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++21 21 21 8 8 8 0 0 0 6 6 6 0 0 0 0 0 0 17 17 17 0 0 0
++0 0 0 0 0 0 0 0 0 4 4 4 8 8 8 8 8 8 4 4 4 0 0 0
++0 0 0 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++0 0 0 10 10 10 17 17 17 11 11 11 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 4 4 4 11 11 11 11 11 11 4 4 4 0 0 0 8 8 8 17 17 17
++19 19 19 10 10 10 0 0 0 0 0 0 8 8 8 17 17 17 20 20 20 20 20 20
++20 20 20 8 8 8 0 0 0 4 4 4 4 4 4 0 0 0 10 10 10 21 21 21
++52 52 52 11 11 11 3 3 3 8 8 8 0 0 0 0 0 0 10 10 10 27 27 27
++60 60 60 19 19 19 11 11 11 4 4 4 6 6 6 10 10 10 14 14 14 20 20 20
++63 63 63 31 31 31 17 17 17 13 13 13 16 16 16 20 20 20 17 17 17 29 29 29
++66 66 66 46 46 46 24 24 24 20 20 20 29 29 29 28 28 28 28 28 28 38 38 38
++71 71 71 63 63 63 39 39 39 52 52 52 50 50 50 40 40 40 36 36 36 46 46 46
++75 75 75 81 81 81 49 49 49 46 46 46 73 73 73 61 61 61 44 44 44 59 59 59
++87 87 87 95 95 94 65 65 65 46 46 46 80 80 80 91 91 91 71 71 71 68 68 68
++95 95 94 101 101 101 90 90 90 71 71 71 74 74 74 94 94 94 96 97 98 83 83 83
++105 105 105 109 110 110 101 101 101 87 87 87 84 84 84 96 97 98 109 110 110 109 110 110
++109 110 110 125 122 126 115 116 115 99 99 99 103 103 102 105 105 105 112 112 113 128 128 128
++121 121 119 137 137 137 125 125 127 117 117 117 121 121 119 115 116 115 121 121 119 129 129 130
++137 137 137 142 143 144 137 137 137 128 128 128 131 131 131 144 145 144 142 143 144 128 128 128
++133 133 133 142 143 144 152 153 154 144 145 144 134 134 134 140 140 140 152 153 154 157 157 157
++144 145 144 142 143 144 139 139 139 155 156 156 142 143 144 134 134 134 180 183 185 252 251 251
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++187 210 182 83 172 115 83 172 72 83 172 72 83 172 72 83 172 72 86 124 83 107 112 107
++117 117 117 122 121 126 127 127 127 118 122 119 125 125 127 166 165 167 255 255 255 255 255 255
++255 255 255 255 255 255 252 251 251 252 251 251 255 255 255 169 175 167 57 57 57 0 0 0
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++8 10 13 14 16 19 8 10 13 14 16 19 10 11 14 6 8 11 43 44 47 69 70 72
++84 84 84 94 94 94 96 96 96 96 97 98 105 105 105 117 117 117 131 131 131 144 145 144
++129 129 130 133 133 133 142 143 144 149 149 149 155 156 156 149 151 153 140 140 140 129 129 130
++131 131 131 133 133 133 140 140 140 142 143 144 134 134 134 134 134 134 140 140 140 142 143 144
++142 143 144 134 134 134 125 122 126 117 117 117 117 117 117 122 121 126 128 128 128 133 133 133
++127 127 127 115 116 115 105 105 105 105 105 105 112 112 113 117 117 117 121 121 119 122 121 126
++121 121 119 112 112 113 109 110 110 109 110 110 112 112 113 109 110 110 99 99 99 89 89 89
++87 87 87 99 99 99 105 104 105 99 99 99 96 96 96 99 99 99 93 93 93 82 82 82
++90 90 90 91 91 91 93 93 93 88 88 88 83 83 83 87 87 87 85 85 85 71 71 71
++70 70 70 80 80 80 59 59 59 60 60 60 63 63 63 73 73 73 71 71 71 65 65 65
++37 37 37 43 43 43 37 37 37 56 56 56 61 61 61 50 50 50 56 56 56 45 45 45
++24 24 24 29 29 29 23 23 23 17 17 17 25 25 25 34 34 34 45 45 45 60 60 60
++60 60 60 60 60 60 61 61 61 61 61 61 59 59 59 56 56 56 54 54 54 54 54 54
++36 36 36 20 20 20 17 17 17 31 31 31 27 27 27 8 8 8 0 0 0 16 16 16
++13 13 13 31 31 31 49 49 49 28 28 28 19 19 19 39 39 39 34 34 34 24 24 24
++39 39 39 42 42 42 32 32 32 38 38 38 43 43 43 40 40 40 37 37 37 13 13 13
++37 37 37 48 48 48 46 46 46 44 44 44 50 50 50 42 42 42 21 21 21 11 11 11
++38 38 38 44 44 44 42 42 42 49 49 49 29 29 29 40 40 40 38 38 38 33 33 33
++27 27 27 11 11 11 16 16 16 3 3 3 8 8 8 33 33 33 34 34 34 37 37 37
++27 27 27 13 13 13 23 23 23 34 34 34 23 23 23 4 4 4 8 8 8 17 17 17
++19 19 19 10 10 10 13 13 13 16 16 16 4 4 4 10 10 10 31 31 31 43 43 43
++32 32 32 16 16 16 13 13 13 4 4 4 11 11 11 21 21 21 8 8 8 8 8 8
++21 21 21 10 10 10 11 11 11 23 23 23 17 17 17 4 4 4 17 17 17 42 42 42
++39 39 39 21 21 21 8 8 8 14 14 14 21 21 21 16 16 16 11 11 11 13 13 13
++16 16 16 36 36 36 38 38 38 19 19 19 8 8 8 19 19 19 20 20 20 10 10 10
++13 13 13 10 10 10 14 14 14 39 39 39 33 33 33 13 13 13 19 19 19 10 10 10
++8 8 8 16 16 16 11 11 11 11 11 11 19 19 19 31 31 31 36 36 36 20 20 20
++8 8 8 16 16 16 6 6 6 4 4 4 13 13 13 21 21 21 0 0 0 19 19 19
++
++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 0 0 3 3 3 0 0 0 0 0 0 14 14 14 19 19 19 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++19 19 19 14 14 14 14 14 14 19 19 19 17 17 17 10 10 10 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 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++20 20 20 8 8 8 0 0 0 4 4 4 0 0 0 3 3 3 19 19 19 4 4 4
++4 4 4 0 0 0 0 0 0 3 3 3 10 10 10 11 11 11 4 4 4 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 0 0
++3 3 3 13 13 13 16 16 16 11 11 11 3 3 3 0 0 0 0 0 0 0 0 0
++0 0 0 8 8 8 17 17 17 11 11 11 0 0 0 0 0 0 10 10 10 20 20 20
++17 17 17 8 8 8 0 0 0 0 0 0 10 10 10 17 17 17 20 20 20 20 20 20
++21 21 21 10 10 10 0 0 0 4 4 4 4 4 4 0 0 0 4 4 4 16 16 16
++20 20 20 51 51 51 17 17 17 0 0 0 8 8 8 0 0 0 14 14 14 6 6 6
++27 27 27 59 59 59 19 19 19 13 13 13 6 6 6 6 6 6 10 10 10 8 8 8
++27 27 27 63 63 63 32 32 32 16 16 16 24 24 24 8 8 8 17 17 17 19 19 19
++31 31 31 61 61 61 56 56 56 27 27 27 23 23 23 29 29 29 28 28 28 28 28 28
++34 34 34 76 76 76 71 71 71 50 50 50 25 25 25 36 36 36 43 43 43 40 40 40
++53 53 53 72 72 72 76 76 76 70 70 70 54 54 54 45 45 45 53 53 53 52 52 52
++66 66 66 83 83 83 90 90 90 87 87 87 81 81 81 70 70 70 63 63 63 68 68 68
++73 73 73 95 95 94 105 104 105 93 93 93 85 85 85 89 89 89 87 87 87 75 75 75
++81 81 81 105 105 105 115 116 115 101 101 101 96 96 96 109 110 110 112 112 113 99 99 99
++96 97 98 112 112 113 127 127 127 121 121 119 109 110 110 115 116 115 122 121 126 121 121 119
++115 116 115 115 116 115 139 139 139 127 127 127 115 116 115 125 125 127 122 121 126 137 138 139
++129 129 130 128 128 128 133 133 133 140 140 140 140 140 140 134 134 134 133 133 133 134 134 134
++137 137 137 144 145 144 149 149 149 147 147 148 142 143 144 149 149 149 157 157 157 157 157 157
++147 147 148 139 139 139 152 153 154 149 151 153 149 149 149 134 134 134 231 246 232 255 255 255
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++254 249 251 200 220 210 141 180 99 146 184 30 146 184 30 83 172 72 86 124 83 121 113 124
++118 122 119 118 122 119 118 122 119 113 122 108 118 122 119 134 134 134 255 255 255 255 255 255
++255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 255 255 255 92 92 92 27 27 27
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++10 11 14 8 10 13 11 13 16 14 16 19 6 8 11 20 21 24 53 54 57 71 72 74
++78 78 78 92 92 92 101 101 101 105 105 105 115 116 115 122 121 126 128 128 128 134 134 134
++142 143 144 140 140 140 142 143 144 144 145 144 147 147 148 147 147 148 144 145 144 142 143 144
++137 137 137 134 134 134 137 138 139 139 139 139 134 134 134 134 134 134 137 137 137 133 133 133
++133 133 133 134 134 134 134 134 134 128 128 128 117 117 117 115 116 115 121 121 119 127 127 127
++128 128 128 115 116 115 109 110 110 109 110 110 109 110 110 103 103 102 99 99 99 103 103 102
++103 103 102 105 105 105 105 104 105 101 101 101 96 97 98 99 99 99 99 99 99 96 97 98
++92 92 92 90 90 90 90 90 90 91 91 91 89 89 89 83 83 83 81 81 81 82 82 82
++76 76 76 75 75 75 76 76 76 70 70 70 63 63 63 67 67 67 69 69 69 61 61 61
++61 61 61 63 63 63 51 51 51 58 58 58 52 52 52 56 56 56 54 54 54 45 45 45
++48 48 48 48 48 48 34 34 34 44 44 44 45 45 45 36 36 36 44 44 44 37 37 37
++34 34 34 37 37 37 37 37 37 38 38 38 40 40 40 37 37 37 32 32 32 33 33 33
++25 25 25 33 33 33 32 32 32 24 24 24 25 25 25 28 28 28 25 25 25 21 21 21
++20 20 20 29 29 29 33 33 33 27 27 27 20 20 20 19 19 19 19 19 19 16 16 16
++20 20 20 11 11 11 23 23 23 17 17 17 10 10 10 16 16 16 13 13 13 17 17 17
++39 39 39 28 28 28 14 14 14 17 17 17 17 17 17 11 11 11 14 14 14 14 14 14
++19 19 19 8 8 8 8 8 8 13 13 13 10 10 10 14 14 14 25 25 25 32 32 32
++23 23 23 17 17 17 6 6 6 13 13 13 8 8 8 14 14 14 11 11 11 11 11 11
++16 16 16 3 3 3 10 10 10 20 20 20 13 13 13 19 19 19 34 34 34 28 28 28
++16 16 16 8 8 8 13 13 13 21 21 21 17 17 17 8 8 8 11 11 11 17 17 17
++14 14 14 11 11 11 11 11 11 10 10 10 13 13 13 28 28 28 36 36 36 28 28 28
++13 13 13 10 10 10 17 17 17 13 13 13 11 11 11 16 16 16 10 10 10 17 17 17
++8 8 8 14 14 14 14 14 14 11 11 11 13 13 13 23 23 23 32 32 32 37 37 37
++21 21 21 17 17 17 14 14 14 14 14 14 11 11 11 8 8 8 13 13 13 20 20 20
++39 39 39 29 29 29 17 17 17 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10
++13 13 13 24 24 24 32 32 32 29 29 29 19 19 19 16 16 16 14 14 14 8 8 8
++14 14 14 10 10 10 3 3 3 14 14 14 27 27 27 33 33 33 28 28 28 14 14 14
++14 14 14 19 19 19 17 17 17 13 13 13 6 6 6 21 21 21 16 16 16 31 31 31
++
++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 0 0 3 3 3 0 0 0 3 3 3 16 16 16 19 19 19 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++19 19 19 14 14 14 14 14 14 19 19 19 17 17 17 10 10 10 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 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++19 19 19 8 8 8 0 0 0 4 4 4 0 0 0 3 3 3 19 19 19 8 8 8
++8 8 8 3 3 3 0 0 0 3 3 3 11 11 11 13 13 13 6 6 6 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++11 11 11 14 14 14 14 14 14 8 8 8 3 3 3 3 3 3 0 0 0 0 0 0
++0 0 0 13 13 13 20 20 20 10 10 10 0 0 0 0 0 0 14 14 14 21 21 21
++13 13 13 6 6 6 0 0 0 3 3 3 11 11 11 19 19 19 21 21 21 21 21 21
++21 21 21 10 10 10 0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 6 6 6
++11 11 11 25 25 25 51 51 51 19 19 19 0 0 0 17 17 17 0 0 0 3 3 3
++16 16 16 17 17 17 57 57 57 16 16 16 14 14 14 11 11 11 10 10 10 8 8 8
++10 10 10 28 28 28 59 59 59 36 36 36 17 17 17 27 27 27 10 10 10 21 21 21
++14 14 14 44 44 44 67 67 67 56 56 56 28 28 28 25 25 25 31 31 31 21 21 21
++31 31 31 65 65 65 71 71 71 67 67 67 40 40 40 32 32 32 33 33 33 40 40 40
++34 34 34 65 65 65 91 91 91 89 89 89 54 54 54 39 39 39 57 57 57 56 56 56
++50 50 50 72 72 72 92 92 92 95 95 94 80 80 80 60 60 60 60 60 60 75 75 75
++68 68 68 78 78 78 99 99 99 112 112 113 103 103 102 82 82 82 76 76 76 87 87 87
++80 80 80 92 92 92 109 110 110 117 117 117 115 116 115 109 110 110 101 101 101 99 99 99
++99 99 99 103 103 102 121 121 119 127 127 127 121 121 119 121 121 119 125 125 127 112 112 113
++109 110 110 121 121 119 121 121 119 137 137 137 133 133 133 121 121 119 139 139 139 131 131 131
++125 125 127 125 125 127 134 134 134 149 149 149 145 146 147 133 133 133 129 129 130 139 139 139
++147 147 148 144 145 144 144 145 144 145 146 147 149 151 153 157 157 157 155 156 156 144 145 144
++142 143 144 144 145 144 157 157 157 147 147 148 134 134 134 169 175 167 255 255 255 252 251 251
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++254 249 251 255 255 255 231 224 220 146 184 30 146 184 30 146 184 30 83 172 72 112 122 122
++116 129 109 116 129 109 118 122 119 118 122 119 113 122 108 107 112 107 238 240 244 252 251 251
++255 255 255 246 251 251 255 255 255 255 255 255 246 251 251 157 157 157 10 10 10 13 13 13
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++11 13 16 1 3 7 14 16 19 11 13 16 6 8 11 37 39 42 66 69 71 76 76 76
++83 83 83 94 94 94 103 103 102 109 110 110 121 121 119 127 127 127 129 129 130 134 134 134
++140 140 140 140 140 140 142 143 144 142 143 144 142 143 144 142 143 144 142 143 144 140 140 140
++140 140 140 137 137 137 134 134 134 134 134 134 133 133 133 133 133 133 129 129 130 127 127 127
++131 131 131 128 128 128 125 122 126 122 121 126 125 122 126 125 122 126 121 121 119 121 121 119
++121 121 119 112 112 113 109 110 110 115 116 115 115 116 115 105 105 105 105 104 105 105 105 105
++103 103 102 103 103 102 99 99 99 93 93 93 93 93 93 95 95 94 94 94 94 89 89 89
++92 92 92 84 84 84 82 82 82 85 85 85 82 82 82 73 73 73 72 72 72 77 77 77
++74 74 74 72 72 72 72 72 72 69 69 69 63 63 63 63 63 63 67 67 67 65 65 65
++62 62 62 56 56 56 52 52 52 62 62 62 52 52 52 50 50 50 52 52 52 46 46 46
++45 45 45 46 46 46 36 36 36 43 43 43 44 44 44 37 37 37 43 43 43 36 36 36
++39 39 39 32 32 32 33 33 33 40 40 40 40 40 40 36 36 36 29 29 29 24 24 24
++24 24 24 32 32 32 25 25 25 17 17 17 23 23 23 24 24 24 21 21 21 24 24 24
++20 20 20 36 36 36 37 37 37 21 21 21 14 14 14 24 24 24 27 27 27 17 17 17
++27 27 27 11 11 11 17 17 17 20 20 20 13 13 13 13 13 13 21 21 21 32 32 32
++31 31 31 20 20 20 10 10 10 0 0 0 10 10 10 19 19 19 14 14 14 13 13 13
++19 19 19 14 14 14 13 13 13 16 16 16 17 17 17 23 23 23 29 29 29 31 31 31
++17 17 17 6 6 6 14 14 14 16 16 16 16 16 16 6 6 6 11 11 11 13 13 13
++13 13 13 17 17 17 3 3 3 14 14 14 20 20 20 25 25 25 38 38 38 16 16 16
++8 8 8 13 13 13 11 11 11 10 10 10 13 13 13 14 14 14 13 13 13 14 14 14
++14 14 14 10 10 10 10 10 10 14 14 14 25 25 25 37 37 37 32 32 32 14 14 14
++10 10 10 11 11 11 19 19 19 16 16 16 11 11 11 11 11 11 8 8 8 14 14 14
++10 10 10 14 14 14 11 11 11 8 8 8 20 20 20 37 37 37 37 37 37 25 25 25
++6 6 6 17 17 17 20 20 20 13 13 13 3 3 3 8 8 8 21 21 21 31 31 31
++38 38 38 23 23 23 11 11 11 16 16 16 21 21 21 17 17 17 13 13 13 14 14 14
++19 19 19 31 31 31 36 36 36 19 19 19 10 10 10 14 14 14 11 11 11 14 14 14
++17 17 17 14 14 14 14 14 14 27 27 27 32 32 32 31 31 31 11 11 11 8 8 8
++10 10 10 8 8 8 14 14 14 13 13 13 3 3 3 24 24 24 29 29 29 32 32 32
++
++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 0 0 3 3 3 0 0 0 3 3 3 17 17 17 20 20 20 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++17 17 17 14 14 14 16 16 16 19 19 19 16 16 16 8 8 8 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 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++17 17 17 10 10 10 0 0 0 3 3 3 0 0 0 3 3 3 19 19 19 11 11 11
++3 3 3 3 3 3 3 3 3 4 4 4 10 10 10 10 10 10 8 8 8 4 4 4
++6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++14 14 14 13 13 13 10 10 10 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 16 16 16 16 16 16 0 0 0 0 0 0 8 8 8 19 19 19 20 20 20
++8 8 8 3 3 3 0 0 0 4 4 4 14 14 14 20 20 20 21 21 21 20 20 20
++17 17 17 6 6 6 0 0 0 4 4 4 6 6 6 3 3 3 0 0 0 0 0 0
++0 0 0 8 8 8 31 31 31 46 46 46 20 20 20 0 0 0 13 13 13 8 8 8
++6 6 6 11 11 11 16 16 16 57 57 57 21 21 21 17 17 17 11 11 11 11 11 11
++8 8 8 10 10 10 31 31 31 57 57 57 40 40 40 19 19 19 25 25 25 19 19 19
++23 23 23 21 21 21 40 40 40 63 63 63 58 58 58 31 31 31 23 23 23 37 37 37
++51 51 51 39 39 39 40 40 40 75 75 75 73 73 73 51 51 51 31 31 31 40 40 40
++51 51 51 65 65 65 70 70 70 82 82 82 82 82 82 62 62 62 53 53 53 53 53 53
++51 51 51 73 73 73 81 81 81 87 87 87 96 97 98 84 84 84 63 63 63 67 67 67
++74 74 74 74 74 74 89 89 89 109 110 110 109 110 110 92 92 92 84 84 84 88 88 88
++89 89 89 85 85 85 96 97 98 121 121 119 125 125 127 109 110 110 96 97 98 99 99 99
++105 104 105 101 101 101 105 105 105 121 121 119 133 133 133 129 129 130 117 117 117 109 110 110
++117 117 117 115 116 115 121 121 119 128 128 128 144 145 144 144 145 144 127 127 127 128 128 128
++127 127 127 137 137 137 144 145 144 144 145 144 142 143 144 142 143 144 142 143 144 140 140 140
++149 149 149 142 143 144 139 139 139 144 145 144 157 157 157 161 161 162 152 153 154 137 138 139
++145 146 147 161 161 162 155 156 156 145 146 147 128 128 128 238 240 244 255 255 255 252 251 251
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++252 251 251 252 251 251 248 249 239 231 224 220 141 180 99 146 184 30 83 172 72 83 172 72
++113 122 108 118 122 119 125 125 127 122 121 126 118 122 119 107 112 107 200 220 210 252 251 251
++252 251 251 255 255 255 246 251 251 255 255 255 255 255 255 200 220 210 48 48 48 4 4 4
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++11 13 16 6 8 11 14 16 19 6 8 11 14 16 19 53 54 57 72 73 75 78 79 82
++88 88 88 99 99 99 105 104 105 109 110 110 122 121 126 131 131 131 134 134 134 139 139 139
++140 140 140 142 143 144 144 145 144 144 145 144 142 143 144 140 140 140 139 139 139 139 139 139
++142 143 144 139 139 139 137 138 139 137 137 137 134 134 134 134 134 134 133 133 133 129 129 130
++129 129 130 129 129 130 129 129 130 127 127 127 125 122 126 121 121 119 117 117 117 117 117 117
++117 117 117 115 116 115 115 116 115 112 112 113 109 110 110 109 110 110 105 105 105 105 105 105
++105 105 105 103 103 102 99 99 99 99 99 99 99 99 99 95 95 94 90 90 90 87 87 87
++89 89 89 87 87 87 84 84 84 83 83 83 82 82 82 78 78 78 76 76 76 76 76 76
++75 75 75 71 71 71 69 69 69 68 68 68 67 67 67 65 65 65 63 63 63 62 62 62
++59 59 59 57 57 57 54 54 54 57 57 57 52 52 52 50 50 50 52 52 52 53 53 53
++50 50 50 50 50 50 42 42 42 44 44 44 44 44 44 38 38 38 40 40 40 34 34 34
++43 43 43 32 32 32 36 36 36 44 44 44 39 39 39 36 36 36 36 36 36 32 32 32
++28 28 28 31 31 31 24 24 24 23 23 23 28 28 28 23 23 23 19 19 19 29 29 29
++36 36 36 31 31 31 23 23 23 16 16 16 16 16 16 20 20 20 20 20 20 17 17 17
++14 14 14 16 16 16 21 21 21 19 19 19 8 8 8 17 17 17 36 36 36 32 32 32
++16 16 16 13 13 13 23 23 23 19 19 19 23 23 23 24 24 24 8 8 8 16 16 16
++8 8 8 23 23 23 17 17 17 8 8 8 25 25 25 38 38 38 25 25 25 8 8 8
++19 19 19 4 4 4 21 21 21 8 8 8 16 16 16 8 8 8 19 19 19 14 14 14
++11 11 11 19 19 19 4 4 4 17 17 17 34 34 34 27 27 27 17 17 17 11 11 11
++8 8 8 25 25 25 23 23 23 10 10 10 13 13 13 17 17 17 13 13 13 13 13 13
++17 17 17 8 8 8 13 13 13 28 28 28 34 34 34 29 29 29 19 19 19 13 13 13
++19 19 19 13 13 13 11 11 11 11 11 11 17 17 17 19 19 19 14 14 14 10 10 10
++20 20 20 10 10 10 8 8 8 21 21 21 34 34 34 34 34 34 24 24 24 14 14 14
++11 11 11 19 19 19 19 19 19 10 10 10 10 10 10 23 23 23 32 32 32 33 33 33
++8 8 8 14 14 14 14 14 14 10 10 10 8 8 8 13 13 13 14 14 14 11 11 11
++31 31 31 33 33 33 19 19 19 11 11 11 13 13 13 6 6 6 8 8 8 19 19 19
++4 4 4 19 19 19 31 31 31 34 34 34 29 29 29 27 27 27 3 3 3 20 20 20
++14 14 14 13 13 13 16 16 16 14 14 14 14 14 14 28 28 28 28 28 28 20 20 20
++
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 3 3 3 0 0 0 4 4 4 17 17 17 20 20 20 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++17 17 17 14 14 14 16 16 16 19 19 19 16 16 16 6 6 6 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 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++17 17 17 13 13 13 0 0 0 0 0 0 0 0 0 3 3 3 19 19 19 14 14 14
++0 0 0 0 0 0 6 6 6 8 8 8 6 6 6 6 6 6 10 10 10 13 13 13
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6 10 10 10 13 13 13
++13 13 13 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 16 16 16 8 8 8 0 0 0 0 0 0 16 16 16 21 21 21 16 16 16
++3 3 3 0 0 0 3 3 3 8 8 8 16 16 16 20 20 20 21 21 21 20 20 20
++11 11 11 3 3 3 0 0 0 3 3 3 6 6 6 6 6 6 3 3 3 0 0 0
++0 0 0 11 11 11 4 4 4 31 31 31 44 44 44 16 16 16 0 0 0 16 16 16
++8 8 8 10 10 10 16 16 16 21 21 21 58 58 58 17 17 17 13 13 13 6 6 6
++14 14 14 19 19 19 8 8 8 34 34 34 57 57 57 38 38 38 20 20 20 17 17 17
++17 17 17 27 27 27 16 16 16 36 36 36 70 70 70 54 54 54 29 29 29 51 51 51
++44 44 44 31 31 31 28 28 28 57 57 57 69 69 69 74 74 74 56 56 56 46 46 46
++69 69 69 60 60 60 40 40 40 59 59 59 90 90 90 87 87 87 65 65 65 50 50 50
++72 72 72 78 78 78 70 70 70 71 71 71 95 95 94 103 103 102 84 84 84 69 69 69
++74 74 74 89 89 89 93 93 93 88 88 88 96 97 98 112 112 113 103 103 102 78 78 78
++84 84 84 96 96 96 105 105 105 109 110 110 115 116 115 121 121 119 112 112 113 96 96 96
++101 101 101 105 104 105 109 110 110 121 121 119 133 133 133 131 131 131 121 121 119 112 112 113
++121 121 119 115 116 115 121 121 119 128 128 128 144 145 144 147 147 148 129 129 130 129 129 130
++134 134 134 144 145 144 144 145 144 134 134 134 137 137 137 149 151 153 155 156 156 144 145 144
++137 138 139 137 138 139 140 140 140 149 149 149 158 159 161 160 161 160 155 156 156 149 149 149
++157 157 157 160 161 160 142 143 144 137 137 137 180 183 185 255 255 255 252 251 251 255 255 255
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++246 251 251 246 251 251 255 255 255 254 249 251 238 240 244 136 172 147 83 172 72 83 172 72
++113 122 108 118 122 119 122 121 126 122 121 126 122 121 126 126 132 129 157 157 157 255 255 255
++255 255 255 246 251 251 255 255 255 252 251 251 252 251 251 200 220 210 42 42 42 14 14 14
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++10 11 14 11 13 16 14 16 19 6 8 11 33 34 37 66 69 71 73 74 76 83 84 85
++91 91 91 103 103 102 109 110 110 117 117 117 129 129 130 137 137 137 140 140 140 142 143 144
++147 147 148 147 147 148 147 147 148 147 147 148 145 146 147 144 145 144 144 145 144 144 145 144
++134 134 134 137 138 139 140 140 140 137 138 139 137 137 137 134 134 134 134 134 134 137 138 139
++133 133 133 129 129 130 128 128 128 128 128 128 129 129 130 128 128 128 122 121 126 121 121 119
++121 121 119 117 117 117 115 116 115 117 117 117 115 116 115 112 112 113 109 110 110 112 112 113
++103 103 102 101 101 101 101 101 101 103 103 102 99 99 99 90 90 90 93 93 93 103 103 102
++93 93 93 88 88 88 84 84 84 83 83 83 83 83 83 82 82 82 82 82 82 84 84 84
++87 87 87 81 81 81 71 71 71 67 67 67 67 67 67 63 63 63 59 59 59 58 58 58
++59 59 59 69 69 69 66 66 66 56 56 56 59 59 59 52 52 52 44 44 44 51 51 51
++45 45 45 45 45 45 37 37 37 38 38 38 40 40 40 44 44 44 53 53 53 53 53 53
++54 54 54 50 50 50 57 57 57 59 59 59 46 46 46 36 36 36 32 32 32 25 25 25
++27 27 27 38 38 38 42 42 42 42 42 42 44 44 44 38 38 38 28 28 28 28 28 28
++31 31 31 20 20 20 13 13 13 14 14 14 16 16 16 13 13 13 11 11 11 13 13 13
++10 10 10 19 19 19 21 21 21 27 27 27 20 20 20 28 28 28 46 46 46 31 31 31
++33 33 33 33 33 33 46 46 46 46 46 46 42 42 42 25 25 25 13 13 13 37 37 37
++43 43 43 44 44 44 39 39 39 29 29 29 33 33 33 48 48 48 43 43 43 20 20 20
++43 43 43 44 44 44 39 39 39 6 6 6 37 37 37 39 39 39 38 38 38 46 46 46
++16 16 16 0 0 0 16 16 16 39 39 39 40 40 40 20 20 20 0 0 0 3 3 3
++3 3 3 28 28 28 31 31 31 16 16 16 13 13 13 14 14 14 11 11 11 13 13 13
++14 14 14 19 19 19 25 25 25 33 33 33 31 31 31 17 17 17 10 10 10 13 13 13
++14 14 14 10 10 10 4 4 4 14 14 14 25 25 25 28 28 28 21 21 21 11 11 11
++17 17 17 14 14 14 23 23 23 36 36 36 36 36 36 23 23 23 11 11 11 13 13 13
++17 17 17 14 14 14 11 11 11 11 11 11 24 24 24 36 36 36 32 32 32 20 20 20
++4 4 4 14 14 14 19 19 19 13 13 13 8 8 8 16 16 16 23 23 23 27 27 27
++44 44 44 43 43 43 6 6 6 3 3 3 11 11 11 0 0 0 8 8 8 0 0 0
++3 3 3 24 24 24 33 33 33 25 25 25 19 19 19 31 31 31 10 10 10 39 39 39
++48 48 48 54 54 54 52 52 52 46 46 46 49 49 49 46 46 46 45 45 45 43 43 43
++
++13 13 13 10 10 10 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 4 4 4 0 0 0 6 6 6 19 19 19 21 21 21 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++16 16 16 16 16 16 17 17 17 20 20 20 16 16 16 6 6 6 0 0 0 3 3 3
++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 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++17 17 17 16 16 16 0 0 0 0 0 0 0 0 0 0 0 0 16 16 16 16 16 16
++0 0 0 0 0 0 6 6 6 6 6 6 3 3 3 3 3 3 8 8 8 14 14 14
++8 8 8 8 8 8 8 8 8 10 10 10 13 13 13 14 14 14 16 16 16 17 17 17
++8 8 8 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6
++16 16 16 11 11 11 0 0 0 0 0 0 8 8 8 20 20 20 20 20 20 10 10 10
++0 0 0 0 0 0 4 4 4 11 11 11 17 17 17 20 20 20 20 20 20 17 17 17
++6 6 6 0 0 0 0 0 0 3 3 3 6 6 6 6 6 6 6 6 6 4 4 4
++11 11 11 0 0 0 13 13 13 4 4 4 27 27 27 45 45 45 13 13 13 4 4 4
++4 4 4 6 6 6 11 11 11 16 16 16 19 19 19 58 58 58 19 19 19 16 16 16
++21 21 21 4 4 4 19 19 19 8 8 8 33 33 33 62 62 62 36 36 36 21 21 21
++14 14 14 27 27 27 25 25 25 20 20 20 40 40 40 69 69 69 68 68 68 45 45 45
++25 25 25 31 31 31 33 33 33 37 37 37 42 42 42 72 72 72 73 73 73 70 70 70
++52 52 52 46 46 46 40 40 40 51 51 51 63 63 63 80 80 80 88 88 88 72 72 72
++80 80 80 66 66 66 60 60 60 59 59 59 68 68 68 92 92 92 103 103 102 88 88 88
++83 83 83 90 90 90 85 85 85 74 74 74 87 87 87 109 110 110 112 112 113 101 101 101
++92 92 92 105 105 105 109 110 110 99 99 99 101 101 101 117 117 117 125 122 126 115 116 115
++103 103 102 112 112 113 127 127 127 121 121 119 112 112 113 125 122 126 137 137 137 129 129 130
++117 117 117 125 122 126 125 122 126 140 140 140 133 133 133 128 128 128 147 147 148 137 137 137
++142 143 144 140 140 140 134 134 134 133 133 133 139 139 139 149 149 149 155 156 156 152 153 154
++139 139 139 144 145 144 152 153 154 157 157 157 157 157 157 152 153 154 155 156 156 163 163 163
++163 163 163 145 146 147 144 145 144 137 138 139 248 249 239 252 251 251 255 255 255 255 255 255
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++246 251 251 255 255 255 254 249 251 255 255 255 255 255 255 231 246 232 83 172 115 83 172 72
++86 124 83 113 122 108 122 121 126 125 122 126 113 122 108 116 129 109 116 129 109 255 255 255
++255 255 255 255 255 255 252 251 251 252 251 251 231 224 220 231 224 220 128 128 128 11 11 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++10 11 14 14 16 19 11 13 16 16 20 21 53 54 57 73 74 76 75 78 80 87 88 90
++101 101 101 112 112 113 117 117 117 121 121 119 129 129 130 139 139 139 144 145 144 152 153 154
++147 147 148 147 147 148 149 149 149 149 151 153 152 153 154 149 149 149 144 145 144 140 140 140
++144 145 144 152 153 154 155 156 156 152 153 154 149 149 149 147 147 148 147 147 148 152 153 154
++144 145 144 133 133 133 122 121 126 122 121 126 131 131 131 137 138 139 137 137 137 131 131 131
++122 121 126 112 112 113 112 112 113 125 122 126 128 128 128 121 121 119 115 116 115 122 121 126
++112 112 113 103 103 102 99 99 99 99 99 99 95 95 94 91 91 91 95 95 94 105 104 105
++105 104 105 88 88 88 78 78 78 83 83 83 83 83 83 76 76 76 80 80 80 90 90 90
++103 103 102 99 99 99 85 85 85 72 72 72 68 68 68 63 63 63 60 60 60 60 60 60
++59 59 59 75 75 75 76 76 76 62 62 62 71 71 71 58 58 58 38 38 38 45 45 45
++39 39 39 43 43 43 46 46 46 50 50 50 58 58 58 66 66 66 72 72 72 72 72 72
++63 63 63 63 63 63 62 62 62 56 56 56 40 40 40 29 29 29 24 24 24 19 19 19
++21 21 21 46 46 46 63 63 63 62 62 62 59 59 59 57 57 57 48 48 48 31 31 31
++8 8 8 13 13 13 16 16 16 13 13 13 11 11 11 10 10 10 10 10 10 8 8 8
++16 16 16 13 13 13 14 14 14 44 44 44 44 44 44 43 43 43 63 63 63 49 49 49
++53 53 53 61 61 61 54 54 54 38 38 38 45 45 45 52 52 52 44 44 44 43 43 43
++19 19 19 6 6 6 31 31 31 46 46 46 37 37 37 44 44 44 52 52 52 36 36 36
++23 23 23 54 54 54 49 49 49 11 11 11 37 37 37 38 38 38 23 23 23 53 53 53
++40 40 40 6 6 6 28 28 28 33 33 33 23 23 23 39 39 39 28 28 28 0 0 0
++0 0 0 17 17 17 24 24 24 17 17 17 11 11 11 10 10 10 11 11 11 13 13 13
++13 13 13 31 31 31 36 36 36 27 27 27 17 17 17 13 13 13 10 10 10 11 11 11
++10 10 10 16 16 16 16 16 16 24 24 24 27 27 27 21 21 21 19 19 19 8 8 8
++4 4 4 24 24 24 39 39 39 37 37 37 23 23 23 13 13 13 13 13 13 16 16 16
++14 14 14 8 8 8 10 10 10 23 23 23 34 34 34 34 34 34 23 23 23 11 11 11
++16 16 16 8 8 8 16 16 16 36 36 36 42 42 42 33 33 33 36 36 36 49 49 49
++51 51 51 51 51 51 19 19 19 0 0 0 0 0 0 0 0 0 6 6 6 0 0 0
++27 27 27 31 31 31 24 24 24 4 4 4 8 8 8 37 37 37 6 6 6 42 42 42
++29 29 29 44 44 44 46 46 46 38 38 38 34 34 34 23 23 23 36 36 36 48 48 48
++
++21 21 21 17 17 17 10 10 10 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 4 4 4 0 0 0 6 6 6 19 19 19 21 21 21 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++16 16 16 16 16 16 17 17 17 20 20 20 16 16 16 4 4 4 0 0 0 3 3 3
++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 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++19 19 19 19 19 19 3 3 3 0 0 0 0 0 0 0 0 0 14 14 14 16 16 16
++3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6 6 6 6
++16 16 16 16 16 16 16 16 16 16 16 16 14 14 14 13 13 13 11 11 11 10 10 10
++4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 6 6 6 13 13 13
++11 11 11 6 6 6 0 0 0 6 6 6 14 14 14 20 20 20 14 14 14 6 6 6
++0 0 0 0 0 0 6 6 6 14 14 14 19 19 19 20 20 20 19 19 19 16 16 16
++4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 6 6 6
++6 6 6 10 10 10 0 0 0 11 11 11 6 6 6 19 19 19 46 46 46 8 8 8
++3 3 3 6 6 6 6 6 6 10 10 10 16 16 16 20 20 20 60 60 60 25 25 25
++16 16 16 16 16 16 6 6 6 20 20 20 13 13 13 32 32 32 68 68 68 36 36 36
++28 28 28 20 20 20 29 29 29 29 29 29 25 25 25 58 58 58 74 74 74 51 51 51
++36 36 36 31 31 31 33 33 33 36 36 36 34 34 34 62 62 62 72 72 72 82 82 82
++48 48 48 44 44 44 50 50 50 52 52 52 42 42 42 62 62 62 95 95 94 92 92 92
++72 72 72 54 54 54 58 58 58 67 67 67 63 63 63 75 75 75 96 96 96 99 99 99
++101 101 101 84 84 84 73 73 73 75 75 75 83 83 83 90 90 90 105 105 105 121 121 119
++112 112 113 105 105 105 99 99 99 96 96 96 96 96 96 101 101 101 115 116 115 129 129 130
++117 117 117 121 121 119 125 125 127 115 116 115 105 105 105 115 116 115 133 133 133 139 139 139
++131 131 131 121 121 119 144 145 144 134 134 134 121 121 119 134 134 134 140 140 140 149 149 149
++147 147 148 137 137 137 133 133 133 140 140 140 144 145 144 144 145 144 145 146 147 149 151 153
++152 153 154 155 156 156 155 156 156 157 157 157 157 157 157 149 151 153 152 153 154 166 167 167
++166 167 167 152 153 154 152 153 154 149 149 149 231 246 232 255 255 255 252 251 251 255 255 255
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++255 255 255 254 249 251 254 249 251 255 255 255 252 251 251 255 255 255 246 251 251 136 172 147
++83 172 115 116 129 109 113 122 108 113 122 108 116 129 109 86 124 83 116 129 109 231 246 232
++252 251 251 255 255 255 255 255 255 252 251 251 246 251 251 200 220 210 200 220 210 42 42 42
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++11 13 16 11 13 16 11 13 16 35 36 38 69 70 72 81 81 81 87 87 87 90 91 93
++109 110 110 121 121 119 127 127 127 127 127 127 131 131 131 139 139 139 149 149 149 160 161 160
++149 151 153 147 147 148 147 147 148 149 151 153 155 156 156 152 153 154 145 146 147 140 140 140
++140 140 140 149 149 149 149 151 153 147 147 148 144 145 144 139 139 139 137 137 137 142 143 144
++145 146 147 145 146 147 144 145 144 134 134 134 128 128 128 128 128 128 134 134 134 142 143 144
++129 129 130 121 121 119 115 116 115 117 117 117 121 121 119 121 121 119 115 116 115 112 112 113
++121 121 119 112 112 113 101 101 101 93 93 93 93 93 93 95 95 94 94 94 94 91 91 91
++109 110 110 93 93 93 82 82 82 81 81 81 80 80 80 73 73 73 75 75 75 84 84 84
++95 95 94 101 101 101 93 93 93 75 75 75 65 65 65 59 59 59 56 56 56 59 59 59
++54 54 54 62 62 62 74 74 74 68 68 68 77 77 77 62 62 62 46 46 46 53 53 53
++58 58 58 63 63 63 70 70 70 72 72 72 73 73 73 75 75 75 71 71 71 67 67 67
++68 68 68 67 67 67 52 52 52 33 33 33 24 24 24 23 23 23 23 23 23 21 21 21
++11 11 11 25 25 25 51 51 51 61 61 61 51 51 51 45 45 45 43 43 43 33 33 33
++6 6 6 11 11 11 13 13 13 10 10 10 8 8 8 10 10 10 11 11 11 8 8 8
++4 4 4 3 3 3 10 10 10 48 48 48 42 42 42 32 32 32 62 62 62 57 57 57
++54 54 54 62 62 62 38 38 38 19 19 19 37 37 37 52 52 52 48 48 48 33 33 33
++8 8 8 6 6 6 27 27 27 43 43 43 42 42 42 39 39 39 40 40 40 36 36 36
++8 8 8 32 32 32 50 50 50 38 38 38 27 27 27 34 34 34 19 19 19 33 33 33
++54 54 54 37 37 37 27 27 27 6 6 6 0 0 0 39 39 39 49 49 49 20 20 20
++4 4 4 6 6 6 14 14 14 17 17 17 11 11 11 10 10 10 13 13 13 13 13 13
++24 24 24 34 34 34 29 29 29 16 16 16 11 11 11 11 11 11 10 10 10 13 13 13
++16 16 16 24 24 24 21 21 21 25 25 25 20 20 20 8 8 8 13 13 13 8 8 8
++17 17 17 33 33 33 38 38 38 25 25 25 11 11 11 11 11 11 16 16 16 14 14 14
++11 11 11 10 10 10 20 20 20 33 33 33 31 31 31 19 19 19 19 19 19 29 29 29
++23 23 23 0 0 0 13 13 13 48 48 48 56 56 56 36 36 36 32 32 32 50 50 50
++44 44 44 37 37 37 36 36 36 11 11 11 0 0 0 0 0 0 4 4 4 14 14 14
++34 34 34 24 24 24 10 10 10 0 0 0 13 13 13 43 43 43 0 0 0 38 38 38
++10 10 10 23 23 23 38 38 38 37 37 37 25 25 25 3 3 3 33 33 33 45 45 45
++
++27 27 27 21 21 21 13 13 13 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 4 4 4 3 3 3 6 6 6 20 20 20 21 21 21 17 17 17 20 20 20
++17 17 17 21 21 21 14 14 14 8 8 8 16 16 16 19 19 19 17 17 17 19 19 19
++16 16 16 16 16 16 19 19 19 20 20 20 14 14 14 4 4 4 0 0 0 3 3 3
++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 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 19 19 19
++20 20 20 20 20 20 4 4 4 0 0 0 0 0 0 0 0 0 13 13 13 16 16 16
++11 11 11 4 4 4 0 0 0 0 0 0 4 4 4 8 8 8 3 3 3 0 0 0
++0 0 0 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 10 10 10 19 19 19
++3 3 3 3 3 3 6 6 6 14 14 14 20 20 20 17 17 17 10 10 10 3 3 3
++0 0 0 0 0 0 8 8 8 16 16 16 20 20 20 20 20 20 17 17 17 14 14 14
++4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6
++0 0 0 3 3 3 10 10 10 0 0 0 4 4 4 10 10 10 17 17 17 51 51 51
++14 14 14 11 11 11 11 11 11 10 10 10 10 10 10 14 14 14 20 20 20 60 60 60
++24 24 24 16 16 16 23 23 23 17 17 17 11 11 11 14 14 14 32 32 32 68 68 68
++38 38 38 29 29 29 11 11 11 31 31 31 57 57 57 39 39 39 36 36 36 77 77 77
++56 56 56 37 37 37 31 31 31 38 38 38 42 42 42 68 68 68 68 68 68 72 72 72
++75 75 75 56 56 56 44 44 44 50 50 50 48 48 48 59 59 59 83 83 83 85 85 85
++92 92 92 70 70 70 60 60 60 69 69 69 70 70 70 65 65 65 82 82 82 112 112 113
++109 110 110 90 90 90 78 78 78 82 82 82 83 83 83 82 82 82 93 93 93 112 112 113
++121 121 119 103 103 102 93 93 93 99 99 99 99 99 99 96 96 96 105 104 105 121 121 119
++131 131 131 127 127 127 109 110 110 109 110 110 121 121 119 115 116 115 112 112 113 133 133 133
++140 140 140 144 145 144 133 133 133 128 128 128 128 128 128 129 129 130 144 145 144 144 145 144
++152 153 154 140 140 140 139 139 139 147 147 148 149 151 153 142 143 144 140 140 140 144 145 144
++161 161 162 155 156 156 147 147 148 149 151 153 157 157 157 157 157 157 155 156 156 166 165 167
++157 157 157 161 161 162 142 143 144 140 140 140 147 147 148 255 255 255 231 246 232 252 251 251
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++252 251 251 252 251 251 254 249 251 255 255 255 252 251 251 248 249 239 252 251 251 255 255 255
++141 180 99 83 172 115 86 124 83 86 124 83 83 172 115 83 172 115 141 180 99 187 210 182
++255 255 255 255 255 255 252 251 251 255 255 255 200 220 210 200 220 210 238 240 244 169 175 167
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++14 16 19 8 10 13 11 13 16 50 51 53 76 76 76 83 84 85 94 94 95 91 92 94
++105 105 105 125 122 126 134 134 134 137 137 137 139 139 139 142 143 144 147 147 148 157 157 157
++166 165 167 155 156 156 147 147 148 145 146 147 152 153 154 157 157 157 155 156 156 149 151 153
++147 147 148 152 153 154 152 153 154 149 149 149 147 147 148 140 140 140 134 134 134 137 137 137
++139 139 139 144 145 144 147 147 148 147 147 148 144 145 144 137 138 139 137 137 137 137 137 137
++139 139 139 137 138 139 127 127 127 112 112 113 117 117 117 131 131 131 128 128 128 112 112 113
++115 116 115 121 121 119 112 112 113 99 99 99 91 91 91 94 94 94 94 94 94 88 88 88
++105 105 105 101 101 101 91 91 91 81 81 81 77 77 77 77 77 77 75 75 75 71 71 71
++82 82 82 99 99 99 101 101 101 83 83 83 69 69 69 60 60 60 57 57 57 60 60 60
++58 58 58 54 54 54 75 75 75 78 78 78 89 89 89 77 77 77 71 71 71 81 81 81
++70 70 70 73 73 73 77 77 77 73 73 73 72 72 72 74 74 74 70 70 70 67 67 67
++71 71 71 70 70 70 49 49 49 24 24 24 23 23 23 28 28 28 24 24 24 23 23 23
++27 27 27 14 14 14 40 40 40 66 66 66 52 52 52 36 36 36 44 44 44 54 54 54
++27 27 27 13 13 13 0 0 0 6 6 6 11 11 11 10 10 10 8 8 8 11 11 11
++0 0 0 17 17 17 25 25 25 50 50 50 27 27 27 10 10 10 53 53 53 52 52 52
++59 59 59 54 54 54 34 34 34 42 42 42 45 45 45 20 20 20 24 24 24 44 44 44
++21 21 21 37 37 37 16 16 16 3 3 3 34 34 34 40 40 40 34 34 34 51 51 51
++33 33 33 0 0 0 32 32 32 51 51 51 13 13 13 43 43 43 34 34 34 0 0 0
++42 42 42 45 45 45 14 14 14 0 0 0 0 0 0 0 0 0 25 25 25 54 54 54
++19 19 19 4 4 4 8 8 8 17 17 17 14 14 14 11 11 11 14 14 14 11 11 11
++38 38 38 29 29 29 16 16 16 11 11 11 16 16 16 10 10 10 6 6 6 19 19 19
++19 19 19 24 24 24 14 14 14 16 16 16 11 11 11 4 4 4 20 20 20 19 19 19
++39 39 39 36 36 36 25 25 25 14 14 14 10 10 10 13 13 13 13 13 13 10 10 10
++14 14 14 17 17 17 32 32 32 40 40 40 23 23 23 0 0 0 20 20 20 53 53 53
++46 46 46 25 25 25 27 27 27 51 51 51 52 52 52 29 29 29 28 28 28 49 49 49
++33 33 33 10 10 10 42 42 42 24 24 24 0 0 0 4 4 4 4 4 4 49 49 49
++20 20 20 4 4 4 0 0 0 0 0 0 25 25 25 50 50 50 0 0 0 43 43 43
++21 21 21 21 21 21 44 44 44 51 51 51 33 33 33 6 6 6 36 36 36 37 37 37
++
++0 0 0 11 11 11 23 23 23 19 19 19 4 4 4 0 0 0 0 0 0 4 4 4
++4 4 4 0 0 0 4 4 4 19 19 19 17 17 17 19 19 19 20 20 20 16 16 16
++17 17 17 16 16 16 14 14 14 14 14 14 17 17 17 19 19 19 17 17 17 17 17 17
++10 10 10 16 16 16 21 21 21 19 19 19 10 10 10 3 3 3 0 0 0 4 4 4
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6
++19 19 19 16 16 16 11 11 11 4 4 4 0 0 0 0 0 0 6 6 6 10 10 10
++16 16 16 6 6 6 0 0 0 0 0 0 4 4 4 10 10 10 4 4 4 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 0 0
++4 4 4 3 3 3 3 3 3 6 6 6 10 10 10 11 11 11 8 8 8 4 4 4
++0 0 0 4 4 4 14 14 14 19 19 19 14 14 14 8 8 8 3 3 3 3 3 3
++0 0 0 4 4 4 11 11 11 16 16 16 19 19 19 17 17 17 13 13 13 10 10 10
++4 4 4 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 6 6
++4 4 4 6 6 6 6 6 6 8 8 8 10 10 10 11 11 11 13 13 13 13 13 13
++49 49 49 16 16 16 10 10 10 6 6 6 13 13 13 13 13 13 11 11 11 23 23 23
++59 59 59 29 29 29 16 16 16 21 21 21 17 17 17 16 16 16 24 24 24 25 25 25
++69 69 69 40 40 40 29 29 29 51 51 51 46 46 46 29 29 29 37 37 37 37 37 37
++69 69 69 68 68 68 39 39 39 43 43 43 67 67 67 53 53 53 39 39 39 50 50 50
++82 82 82 80 80 80 57 57 57 42 42 42 62 62 62 77 77 77 67 67 67 52 52 52
++90 90 90 88 88 88 74 74 74 59 59 59 66 66 66 87 87 87 91 91 91 82 82 82
++105 105 105 103 103 102 95 95 94 84 84 84 77 77 77 82 82 82 96 96 96 109 110 110
++109 110 110 121 121 119 109 110 110 93 93 93 99 99 99 105 104 105 105 105 105 121 121 119
++122 121 126 131 131 131 121 121 119 112 112 113 121 121 119 115 116 115 115 116 115 128 128 128
++140 140 140 144 145 144 137 137 137 127 127 127 133 133 133 144 145 144 142 143 144 133 133 133
++137 138 139 152 153 154 161 161 162 152 153 154 140 140 140 137 137 137 144 145 144 152 153 154
++157 157 157 155 156 156 161 161 162 166 165 167 157 157 157 155 156 156 158 159 161 163 163 163
++145 146 147 160 161 160 163 163 163 134 134 134 142 143 144 157 157 157 109 110 110 252 251 251
++231 224 220 255 255 255 255 255 255 255 255 255 252 251 251 255 255 255 252 251 251 255 255 255
++255 255 255 252 251 251 255 255 255 255 255 255 255 255 255 252 251 251 255 255 255 255 255 255
++252 251 251 169 175 167 83 172 115 83 172 72 83 172 72 83 172 72 83 172 115 136 172 147
++246 251 251 255 255 255 252 251 251 252 251 251 252 251 251 200 220 210 238 240 244 238 240 244
++89 90 92 8 10 13 11 13 16 6 8 11 22 23 26 0 0 4 8 10 13 14 16 19
++16 16 16 0 0 0 29 29 29 71 71 71 84 84 84 89 89 89 101 101 101 105 105 105
++115 116 115 121 121 119 137 137 137 147 147 148 149 149 149 145 146 147 145 146 147 149 151 153
++157 157 157 166 167 167 160 161 160 149 149 149 149 149 149 152 153 154 155 156 156 161 161 162
++160 161 160 152 153 154 142 143 144 140 140 140 147 147 148 152 153 154 144 145 144 133 133 133
++129 129 130 134 134 134 140 140 140 144 145 144 137 138 139 133 133 133 137 137 137 144 145 144
++140 140 140 140 140 140 137 138 139 133 133 133 125 125 127 117 117 117 121 121 119 127 127 127
++112 112 113 109 110 110 125 122 126 115 116 115 94 94 94 93 93 93 93 93 93 90 90 90
++91 91 91 112 112 113 99 99 99 81 81 81 83 83 83 82 82 82 77 77 77 74 74 74
++73 73 73 88 88 88 101 101 101 95 95 94 77 77 77 62 62 62 62 62 62 70 70 70
++80 80 80 78 78 78 80 80 80 84 84 84 90 90 90 88 88 88 71 71 71 52 52 52
++48 48 48 71 71 71 77 77 77 70 70 70 70 70 70 69 69 69 57 57 57 45 45 45
++63 63 63 74 74 74 61 61 61 34 34 34 24 24 24 27 27 27 25 25 25 23 23 23
++20 20 20 6 6 6 28 28 28 52 52 52 58 58 58 37 37 37 17 17 17 37 37 37
++52 52 52 16 16 16 4 4 4 13 13 13 4 4 4 13 13 13 20 20 20 0 0 0
++4 4 4 36 36 36 42 42 42 45 45 45 45 45 45 42 42 42 51 51 51 52 52 52
++19 19 19 46 46 46 59 59 59 42 42 42 14 14 14 0 0 0 8 8 8 19 19 19
++45 45 45 36 36 36 4 4 4 0 0 0 0 0 0 23 23 23 58 58 58 48 48 48
++51 51 51 33 33 33 10 10 10 40 40 40 49 49 49 27 27 27 37 37 37 46 46 46
++31 31 31 53 53 53 59 59 59 21 21 21 0 0 0 0 0 0 11 11 11 20 20 20
++24 24 24 19 19 19 14 14 14 14 14 14 10 10 10 10 10 10 25 25 25 43 43 43
++31 31 31 20 20 20 11 11 11 13 13 13 16 16 16 14 14 14 11 11 11 11 11 11
++31 31 31 36 36 36 21 21 21 6 6 6 10 10 10 13 13 13 19 19 19 33 33 33
++42 42 42 19 19 19 10 10 10 17 17 17 14 14 14 11 11 11 13 13 13 10 10 10
++14 14 14 36 36 36 43 43 43 40 40 40 29 29 29 0 0 0 8 8 8 48 48 48
++25 25 25 49 49 49 54 54 54 51 51 51 39 39 39 34 34 34 52 52 52 57 57 57
++39 39 39 0 0 0 32 32 32 34 34 34 0 0 0 19 19 19 36 36 36 14 14 14
++0 0 0 0 0 0 0 0 0 3 3 3 32 32 32 29 29 29 0 0 0 39 39 39
++38 38 38 32 32 32 38 38 38 52 52 52 52 52 52 37 37 37 37 37 37 52 52 52
++
++0 0 0 0 0 0 13 13 13 25 25 25 24 24 24 8 8 8 0 0 0 0 0 0
++3 3 3 0 0 0 6 6 6 19 19 19 19 19 19 17 17 17 20 20 20 17 17 17
++17 17 17 16 16 16 13 13 13 14 14 14 17 17 17 19 19 19 17 17 17 16 16 16
++11 11 11 16 16 16 20 20 20 17 17 17 8 8 8 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 8 8 8 10 10 10
++17 17 17 16 16 16 10 10 10 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6
++17 17 17 13 13 13 8 8 8 4 4 4 4 4 4 8 8 8 11 11 11 13 13 13
++10 10 10 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 4 4 4 8 8 8 11 11 11 13 13 13 10 10 10 4 4 4 0 0 0
++0 0 0 10 10 10 17 17 17 20 20 20 16 16 16 10 10 10 6 6 6 4 4 4
++6 6 6 13 13 13 19 19 19 23 23 23 21 21 21 17 17 17 11 11 11 6 6 6
++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 0 0 0 0 0 3 3 3 4 4 4 6 6 6 8 8 8 8 8 8 10 10 10
++20 20 20 59 59 59 17 17 17 10 10 10 8 8 8 6 6 6 6 6 6 13 13 13
++27 27 27 48 48 48 36 36 36 11 11 11 19 19 19 20 20 20 16 16 16 28 28 28
++29 29 29 65 65 65 58 58 58 42 42 42 36 36 36 23 23 23 23 23 23 33 33 33
++53 53 53 62 62 62 66 66 66 65 65 65 50 50 50 40 40 40 46 46 46 39 39 39
++56 56 56 89 89 89 72 72 72 58 58 58 80 80 80 63 63 63 40 40 40 69 69 69
++67 67 67 91 91 91 99 99 99 83 83 83 76 76 76 87 87 87 84 84 84 69 69 69
++78 78 78 105 105 105 115 116 115 95 95 94 88 88 88 103 103 102 105 105 105 93 93 93
++96 96 96 109 110 110 121 121 119 109 110 110 96 97 98 105 105 105 117 117 117 115 116 115
++112 112 113 121 121 119 129 129 130 128 128 128 115 116 115 115 116 115 127 127 127 134 134 134
++131 131 131 137 137 137 137 137 137 137 137 137 140 140 140 137 138 139 133 133 133 133 133 133
++142 143 144 149 149 149 155 156 156 149 151 153 144 145 144 144 145 144 149 151 153 157 157 157
++149 149 149 149 151 153 158 159 161 163 163 163 158 159 161 157 157 157 160 161 160 161 161 162
++158 159 161 152 153 154 152 153 154 152 153 154 122 121 126 128 128 128 115 116 115 144 145 144
++83 83 83 238 240 244 231 224 220 231 224 220 255 255 255 246 251 251 255 255 255 252 251 251
++252 251 251 255 255 255 255 255 255 252 251 251 255 255 255 255 255 255 255 255 255 255 255 255
++252 251 251 252 251 251 187 210 182 83 172 115 83 172 72 83 172 72 83 172 115 83 172 115
++252 251 251 252 251 251 252 251 251 255 255 255 200 220 210 180 183 185 246 251 251 238 240 244
++187 210 182 14 16 19 11 13 16 16 20 21 1 3 7 26 29 32 0 0 4 20 21 24
++10 10 10 14 14 14 46 46 46 77 77 77 87 87 87 91 91 91 105 104 105 112 112 113
++121 121 119 125 125 127 137 137 137 149 149 149 157 157 157 157 157 157 152 153 154 149 149 149
++155 156 156 160 161 160 161 161 162 157 157 157 149 151 153 145 146 147 147 147 148 157 157 157
++157 157 157 152 153 154 144 145 144 140 140 140 144 145 144 147 147 148 145 146 147 144 145 144
++131 131 131 133 133 133 137 137 137 140 140 140 140 140 140 133 133 133 127 127 127 121 121 119
++129 129 130 133 133 133 137 138 139 140 140 140 134 134 134 129 129 130 131 131 131 137 137 137
++128 128 128 125 125 127 128 128 128 115 116 115 105 105 105 103 103 102 96 96 96 94 94 94
++95 95 94 105 105 105 101 101 101 92 92 92 89 89 89 87 87 87 88 88 88 83 83 83
++84 84 84 91 91 91 99 99 99 103 103 102 101 101 101 96 96 96 93 93 93 92 92 92
++73 73 73 73 73 73 73 73 73 74 74 74 77 77 77 76 76 76 67 67 67 54 54 54
++52 52 52 56 56 56 50 50 50 45 45 45 51 51 51 53 53 53 44 44 44 38 38 38
++34 34 34 44 44 44 42 42 42 33 33 33 33 33 33 32 32 32 25 25 25 21 21 21
++20 20 20 27 27 27 40 40 40 52 52 52 62 62 62 46 46 46 14 14 14 23 23 23
++44 44 44 48 48 48 28 28 28 8 8 8 14 14 14 16 16 16 6 6 6 10 10 10
++37 37 37 43 43 43 23 23 23 24 24 24 51 51 51 59 59 59 54 54 54 56 56 56
++57 57 57 46 46 46 56 56 56 50 50 50 27 27 27 8 8 8 10 10 10 32 32 32
++25 25 25 54 54 54 29 29 29 0 0 0 0 0 0 4 4 4 31 31 31 48 48 48
++51 51 51 54 54 54 27 27 27 33 33 33 54 54 54 50 50 50 46 46 46 37 37 37
++20 20 20 24 24 24 48 48 48 49 49 49 23 23 23 0 0 0 0 0 0 11 11 11
++14 14 14 19 19 19 14 14 14 6 6 6 14 14 14 29 29 29 34 34 34 28 28 28
++11 11 11 8 8 8 8 8 8 11 11 11 13 13 13 13 13 13 13 13 13 14 14 14
++34 34 34 11 11 11 10 10 10 20 20 20 13 13 13 14 14 14 29 29 29 37 37 37
++24 24 24 14 14 14 13 13 13 16 16 16 10 10 10 6 6 6 11 11 11 17 17 17
++43 43 43 43 43 43 40 40 40 48 48 48 56 56 56 48 48 48 44 44 44 59 59 59
++32 32 32 40 40 40 38 38 38 40 40 40 39 39 39 38 38 38 48 48 48 45 45 45
++53 53 53 4 4 4 19 19 19 43 43 43 28 28 28 23 23 23 27 27 27 13 13 13
++3 3 3 4 4 4 0 0 0 0 0 0 27 27 27 29 29 29 8 8 8 40 40 40
++34 34 34 25 25 25 37 37 37 48 48 48 46 46 46 54 54 54 58 58 58 44 44 44
++
++0 0 0 0 0 0 0 0 0 14 14 14 24 24 24 19 19 19 4 4 4 0 0 0
++0 0 0 0 0 0 10 10 10 19 19 19 19 19 19 19 19 19 20 20 20 19 19 19
++19 19 19 14 14 14 13 13 13 14 14 14 19 19 19 20 20 20 19 19 19 14 14 14
++13 13 13 17 17 17 20 20 20 16 16 16 6 6 6 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 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 0 4 4 4 6 6 6
++17 17 17 17 17 17 14 14 14 6 6 6 0 0 0 0 0 0 0 0 0 6 6 6
++11 11 11 14 14 14 13 13 13 6 6 6 0 0 0 0 0 0 3 3 3 11 11 11
++14 14 14 11 11 11 8 8 8 4 4 4 4 4 4 6 6 6 8 8 8 10 10 10
++10 10 10 11 11 11 11 11 11 10 10 10 6 6 6 3 3 3 0 0 0 0 0 0
++10 10 10 13 13 13 16 16 16 14 14 14 8 8 8 0 0 0 0 0 0 0 0 0
++6 6 6 13 13 13 20 20 20 23 23 23 19 19 19 11 11 11 4 4 4 0 0 0
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 6 6 6 8 8 8 10 10 10 10 10 10 11 11 11 11 11 11
++19 19 19 23 23 23 59 59 59 19 19 19 19 19 19 14 14 14 11 11 11 16 16 16
++16 16 16 36 36 36 51 51 51 42 42 42 21 21 21 17 17 17 24 24 24 24 24 24
++27 27 27 58 58 58 69 69 69 52 52 52 25 25 25 23 23 23 37 37 37 32 32 32
++29 29 29 52 52 52 77 77 77 78 78 78 44 44 44 27 27 27 45 45 45 42 42 42
++45 45 45 49 49 49 82 82 82 95 95 94 66 66 66 49 49 49 58 58 58 59 59 59
++54 54 54 70 70 70 90 90 90 101 101 101 92 92 92 75 75 75 70 70 70 74 74 74
++72 72 72 88 88 88 103 103 102 109 110 110 105 105 105 101 101 101 95 95 94 90 90 90
++89 89 89 99 99 99 117 117 117 121 121 119 112 112 113 112 112 113 117 117 117 109 110 110
++105 105 105 115 116 115 128 128 128 133 133 133 125 125 127 125 125 127 133 133 133 137 137 137
++125 122 126 128 128 128 137 137 137 145 146 147 147 147 148 134 134 134 129 129 130 139 139 139
++149 151 153 147 147 148 145 146 147 149 149 149 155 156 156 155 156 156 152 153 154 149 149 149
++144 145 144 149 151 153 161 161 162 166 167 167 161 161 162 161 161 162 161 161 162 157 157 157
++157 157 157 152 153 154 142 143 144 149 149 149 131 131 131 129 129 130 128 128 128 96 96 96
++94 94 94 131 131 131 73 73 73 180 183 185 231 224 220 180 183 185 255 255 255 255 255 255
++255 255 255 252 251 251 252 251 251 255 255 255 246 251 251 255 255 255 255 255 255 252 251 251
++246 251 251 252 251 251 252 251 251 187 210 182 83 172 115 83 172 72 83 172 72 83 172 72
++252 251 251 248 249 239 255 255 255 231 224 220 200 220 210 238 240 244 246 251 251 246 251 251
++246 251 251 117 117 117 11 13 16 6 8 11 10 11 14 6 8 11 14 16 19 6 8 11
++4 4 4 33 33 33 65 65 65 84 84 84 89 89 89 94 94 94 109 110 110 121 121 119
++129 129 130 131 131 131 137 137 137 147 147 148 157 157 157 166 165 167 161 161 162 155 156 156
++152 153 154 155 156 156 163 163 163 166 167 167 158 159 161 149 151 153 152 153 154 160 161 160
++157 157 157 155 156 156 149 149 149 144 145 144 140 140 140 140 140 140 144 145 144 152 153 154
++137 138 139 134 134 134 133 133 133 134 134 134 142 143 144 142 143 144 133 133 133 121 121 119
++121 121 119 125 125 127 129 129 130 137 137 137 134 134 134 131 131 131 128 128 128 128 128 128
++133 133 133 129 129 130 127 127 127 121 121 119 127 127 127 129 129 130 121 121 119 121 121 119
++109 110 110 112 112 113 112 112 113 117 117 117 109 110 110 103 103 102 109 110 110 103 103 102
++96 97 98 93 93 93 91 91 91 94 94 94 96 96 96 89 89 89 71 71 71 54 54 54
++61 61 61 61 61 61 60 60 60 58 58 58 58 58 58 58 58 58 54 54 54 51 51 51
++56 56 56 53 53 53 49 49 49 50 50 50 56 56 56 52 52 52 43 43 43 39 39 39
++39 39 39 38 38 38 32 32 32 31 31 31 34 34 34 33 33 33 29 29 29 32 32 32
++28 28 28 43 43 43 42 42 42 42 42 42 63 63 63 58 58 58 21 21 21 10 10 10
++23 23 23 51 51 51 44 44 44 20 20 20 14 14 14 3 3 3 3 3 3 31 31 31
++49 49 49 24 24 24 13 13 13 36 36 36 56 56 56 45 45 45 32 32 32 50 50 50
++59 59 59 33 33 33 44 44 44 52 52 52 43 43 43 38 38 38 32 32 32 29 29 29
++0 0 0 29 29 29 46 46 46 38 38 38 6 6 6 0 0 0 10 10 10 19 19 19
++46 46 46 63 63 63 43 43 43 42 42 42 56 56 56 45 45 45 42 42 42 48 48 48
++44 44 44 17 17 17 32 32 32 56 56 56 51 51 51 24 24 24 0 0 0 4 4 4
++10 10 10 14 14 14 11 11 11 10 10 10 24 24 24 39 39 39 32 32 32 13 13 13
++6 6 6 11 11 11 14 14 14 14 14 14 14 14 14 16 16 16 20 20 20 23 23 23
++24 24 24 10 10 10 8 8 8 13 13 13 19 19 19 33 33 33 38 38 38 23 23 23
++8 8 8 14 14 14 14 14 14 10 10 10 8 8 8 10 10 10 19 19 19 31 31 31
++45 45 45 39 39 39 40 40 40 48 48 48 48 48 48 38 38 38 36 36 36 40 40 40
++50 50 50 48 48 48 42 42 42 49 49 49 53 53 53 51 51 51 52 52 52 49 49 49
++53 53 53 16 16 16 10 10 10 43 43 43 40 40 40 16 16 16 3 3 3 0 0 0
++0 0 0 3 3 3 8 8 8 11 11 11 38 38 38 42 42 42 24 24 24 46 46 46
++54 54 54 51 51 51 44 44 44 32 32 32 34 34 34 50 50 50 44 44 44 16 16 16
++
++0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 23 23 23 20 20 20 6 6 6
++0 0 0 4 4 4 13 13 13 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20
++19 19 19 14 14 14 13 13 13 14 14 14 20 20 20 21 21 21 17 17 17 13 13 13
++16 16 16 17 17 17 19 19 19 13 13 13 4 4 4 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 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 0 3 3 3 3 3 3
++14 14 14 19 19 19 20 20 20 14 14 14 4 4 4 0 0 0 0 0 0 4 4 4
++6 6 6 13 13 13 16 16 16 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0
++6 6 6 8 8 8 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++8 8 8 8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 13 13 13
++19 19 19 17 17 17 14 14 14 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0
++10 10 10 16 16 16 20 20 20 20 20 20 14 14 14 8 8 8 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0
++3 3 3 3 3 3 4 4 4 4 4 4 6 6 6 8 8 8 8 8 8 8 8 8
++3 3 3 11 11 11 16 16 16 57 57 57 21 21 21 16 16 16 8 8 8 8 8 8
++16 16 16 4 4 4 34 34 34 58 58 58 38 38 38 14 14 14 19 19 19 23 23 23
++48 48 48 33 33 33 44 44 44 58 58 58 44 44 44 33 33 33 34 34 34 24 24 24
++37 37 37 51 51 51 59 59 59 71 71 71 67 67 67 44 44 44 39 39 39 45 45 45
++40 40 40 58 58 58 70 70 70 78 78 78 81 81 81 65 65 65 51 51 51 59 59 59
++60 60 60 57 57 57 73 73 73 99 99 99 101 101 101 80 80 80 70 70 70 77 77 77
++83 83 83 72 72 72 85 85 85 112 112 113 121 121 119 101 101 101 87 87 87 92 92 92
++93 93 93 94 94 94 101 101 101 117 117 117 129 129 130 125 125 127 112 112 113 105 104 105
++109 110 110 115 116 115 115 116 115 125 122 126 140 140 140 140 140 140 129 129 130 128 128 128
++125 122 126 129 129 130 137 138 139 144 145 144 147 147 148 140 140 140 139 139 139 147 147 148
++149 149 149 142 143 144 140 140 140 149 151 153 161 161 162 161 161 162 152 153 154 144 145 144
++152 153 154 157 157 157 166 165 167 166 167 167 163 163 163 166 165 167 166 165 167 157 157 157
++152 153 154 144 145 144 142 143 144 137 137 137 137 137 137 129 129 130 115 116 115 101 101 101
++83 83 83 87 87 87 74 74 74 96 96 96 78 78 78 101 101 101 200 220 210 157 157 157
++255 255 255 252 251 251 252 251 251 255 255 255 255 255 255 252 251 251 255 255 255 255 255 255
++238 240 244 255 255 255 254 249 251 252 251 251 187 210 182 83 172 115 83 172 72 83 172 72
++200 220 210 246 251 251 255 255 255 246 251 251 180 183 185 238 240 244 238 240 244 238 240 244
++238 240 244 231 224 220 42 43 45 10 11 14 16 20 21 8 10 13 14 16 19 10 11 14
++10 10 10 49 49 49 77 77 77 87 87 87 93 93 93 101 101 101 112 112 113 127 127 127
++139 139 139 142 143 144 144 145 144 145 146 147 155 156 156 163 163 163 166 167 167 163 163 163
++157 157 157 152 153 154 160 161 160 166 167 167 161 161 162 161 161 162 163 163 163 160 161 160
++155 156 156 155 156 156 155 156 156 152 153 154 144 145 144 137 137 137 140 140 140 145 146 147
++149 149 149 142 143 144 131 131 131 125 125 127 129 129 130 137 137 137 134 134 134 129 129 130
++121 121 119 121 121 119 125 125 127 131 131 131 137 138 139 140 140 140 137 137 137 134 134 134
++131 131 131 127 127 127 121 121 119 112 112 113 112 112 113 112 112 113 103 103 102 93 93 93
++101 101 101 96 97 98 96 97 98 105 105 105 99 99 99 83 83 83 82 82 82 78 78 78
++74 74 74 73 73 73 76 76 76 87 87 87 96 97 98 94 94 94 76 76 76 60 60 60
++66 66 66 65 65 65 61 61 61 59 59 59 58 58 58 57 57 57 57 57 57 54 54 54
++45 45 45 51 51 51 57 57 57 59 59 59 54 54 54 45 45 45 38 38 38 39 39 39
++44 44 44 43 43 43 40 40 40 39 39 39 39 39 39 34 34 34 31 31 31 32 32 32
++40 40 40 44 44 44 29 29 29 25 25 25 51 51 51 60 60 60 34 34 34 10 10 10
++6 6 6 24 24 24 45 45 45 44 44 44 19 19 19 3 3 3 25 25 25 50 50 50
++21 21 21 8 8 8 39 39 39 58 58 58 52 52 52 40 40 40 39 39 39 61 61 61
++43 43 43 29 29 29 25 25 25 34 34 34 32 32 32 40 40 40 39 39 39 0 0 0
++0 0 0 0 0 0 29 29 29 46 46 46 25 25 25 3 3 3 0 0 0 3 3 3
++23 23 23 51 51 51 46 46 46 44 44 44 49 49 49 39 39 39 44 44 44 57 57 57
++49 49 49 28 28 28 28 28 28 43 43 43 56 56 56 48 48 48 20 20 20 13 13 13
++14 14 14 10 10 10 14 14 14 27 27 27 34 34 34 28 28 28 17 17 17 10 10 10
++17 17 17 17 17 17 16 16 16 11 11 11 11 11 11 17 17 17 23 23 23 24 24 24
++13 13 13 19 19 19 10 10 10 11 11 11 34 34 34 40 40 40 24 24 24 11 11 11
++10 10 10 19 19 19 13 13 13 4 4 4 16 16 16 25 25 25 32 32 32 40 40 40
++33 33 33 34 34 34 50 50 50 58 58 58 51 51 51 44 44 44 49 49 49 51 51 51
++43 43 43 42 42 42 44 44 44 54 54 54 56 56 56 48 48 48 48 48 48 51 51 51
++59 59 59 50 50 50 34 34 34 46 46 46 51 51 51 38 38 38 40 40 40 39 39 39
++44 44 44 42 42 42 43 43 43 46 46 46 60 60 60 53 53 53 36 36 36 51 51 51
++23 23 23 42 42 42 31 31 31 21 21 21 48 48 48 62 62 62 54 54 54 51 51 51
++
++0 0 0 8 8 8 8 8 8 0 0 0 3 3 3 16 16 16 24 24 24 24 24 24
++6 6 6 13 13 13 17 17 17 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20
++17 17 17 14 14 14 13 13 13 16 16 16 20 20 20 20 20 20 17 17 17 14 14 14
++17 17 17 19 19 19 17 17 17 11 11 11 4 4 4 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
++8 8 8 14 14 14 20 20 20 19 19 19 10 10 10 0 0 0 0 0 0 0 0 0
++3 3 3 10 10 10 16 16 16 17 17 17 13 13 13 8 8 8 3 3 3 0 0 0
++0 0 0 0 0 0 3 3 3 4 4 4 6 6 6 4 4 4 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 17 17 17 24 24 24
++19 19 19 16 16 16 10 10 10 3 3 3 0 0 0 3 3 3 10 10 10 14 14 14
++19 19 19 21 21 21 23 23 23 19 19 19 11 11 11 4 4 4 4 4 4 6 6 6
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 10 10 10 10 10 10 10 10 10
++10 10 10 10 10 10 16 16 16 21 21 21 58 58 58 19 19 19 16 16 16 8 8 8
++13 13 13 13 13 13 14 14 14 37 37 37 58 58 58 42 42 42 24 24 24 39 39 39
++44 44 44 33 33 33 24 24 24 44 44 44 69 69 69 57 57 57 29 29 29 34 34 34
++58 58 58 51 51 51 32 32 32 51 51 51 78 78 78 69 69 69 49 49 49 40 40 40
++54 54 54 76 76 76 58 58 58 52 52 52 87 87 87 84 84 84 57 57 57 62 62 62
++65 65 65 76 76 76 82 82 82 82 82 82 91 91 91 101 101 101 90 90 90 69 69 69
++75 75 75 85 85 85 94 94 94 103 103 102 112 112 113 115 116 115 105 105 105 91 91 91
++94 94 94 96 96 96 101 101 101 112 112 113 127 127 127 128 128 128 117 117 117 109 110 110
++112 112 113 112 112 113 112 112 113 121 121 119 142 143 144 144 145 144 133 133 133 127 127 127
++128 128 128 137 137 137 134 134 134 133 133 133 140 140 140 149 149 149 149 151 153 152 153 154
++140 140 140 137 137 137 140 140 140 149 151 153 158 159 161 158 159 161 155 156 156 152 153 154
++157 157 157 158 159 161 163 163 163 163 163 163 161 161 162 166 165 167 166 167 167 161 161 162
++152 153 154 137 137 137 149 149 149 140 140 140 127 127 127 121 121 119 109 110 110 95 95 94
++91 91 91 84 84 84 77 77 77 54 54 54 58 58 58 63 63 63 78 78 78 52 52 52
++231 224 220 128 128 128 200 220 210 238 240 244 246 251 251 255 255 255 255 255 255 255 255 255
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 200 220 210 141 180 99 83 172 72
++169 175 167 252 251 251 238 240 244 180 183 185 231 224 220 238 240 244 238 240 244 246 251 251
++238 240 244 252 251 251 152 153 154 6 8 11 26 29 32 14 16 19 6 8 11 14 16 19
++25 25 25 60 60 60 82 82 82 89 89 89 99 99 99 109 110 110 115 116 115 128 128 128
++140 140 140 147 147 148 152 153 154 152 153 154 152 153 154 157 157 157 166 165 167 166 167 167
++166 167 167 157 157 157 155 156 156 155 156 156 157 157 157 166 165 167 163 163 163 149 151 153
++149 149 149 149 149 149 155 156 156 157 157 157 152 153 154 142 143 144 137 137 137 137 138 139
++149 149 149 147 147 148 140 140 140 129 129 130 128 128 128 134 134 134 142 143 144 144 145 144
++128 128 128 122 121 126 121 121 119 121 121 119 129 129 130 137 137 137 134 134 134 129 129 130
++133 133 133 127 127 127 127 127 127 125 125 127 115 116 115 112 112 113 109 110 110 93 93 93
++90 90 90 91 91 91 89 89 89 101 101 101 101 101 101 85 85 85 78 78 78 81 81 81
++71 71 71 73 73 73 78 78 78 85 85 85 88 88 88 85 85 85 75 75 75 67 67 67
++69 69 69 66 66 66 62 62 62 61 61 61 61 61 61 60 60 60 57 57 57 54 54 54
++49 49 49 54 54 54 58 58 58 52 52 52 42 42 42 37 37 37 40 40 40 43 43 43
++37 37 37 38 38 38 39 39 39 34 34 34 31 31 31 33 33 33 39 39 39 42 42 42
++43 43 43 36 36 36 23 23 23 21 21 21 34 34 34 45 45 45 38 38 38 16 16 16
++13 13 13 4 4 4 29 29 29 45 45 45 36 36 36 34 34 34 45 45 45 42 42 42
++4 4 4 36 36 36 58 58 58 39 39 39 33 33 33 49 49 49 45 45 45 42 42 42
++58 58 58 51 51 51 25 25 25 39 39 39 36 36 36 31 31 31 54 54 54 28 28 28
++6 6 6 0 0 0 0 0 0 20 20 20 48 48 48 34 34 34 0 0 0 0 0 0
++0 0 0 38 38 38 48 48 48 40 40 40 43 43 43 51 51 51 52 52 52 39 39 39
++51 51 51 56 56 56 53 53 53 48 48 48 56 56 56 46 46 46 17 17 17 17 17 17
++13 13 13 13 13 13 25 25 25 37 37 37 32 32 32 14 14 14 8 8 8 16 16 16
++17 17 17 13 13 13 8 8 8 8 8 8 13 13 13 17 17 17 17 17 17 14 14 14
++13 13 13 11 11 11 14 14 14 34 34 34 43 43 43 21 21 21 3 3 3 19 19 19
++11 11 11 19 19 19 10 10 10 8 8 8 28 28 28 38 38 38 36 36 36 34 34 34
++17 17 17 13 13 13 27 27 27 40 40 40 43 43 43 48 48 48 51 51 51 45 45 45
++40 40 40 38 38 38 43 43 43 46 46 46 38 38 38 19 19 19 8 8 8 14 14 14
++39 39 39 50 50 50 42 42 42 45 45 45 49 49 49 36 36 36 31 31 31 25 25 25
++21 21 21 10 10 10 11 11 11 24 24 24 37 37 37 32 32 32 29 29 29 51 51 51
++39 39 39 54 54 54 49 49 49 42 42 42 50 50 50 42 42 42 28 28 28 37 37 37
++
++4 4 4 0 0 0 0 0 0 8 8 8 3 3 3 0 0 0 6 6 6 27 27 27
++16 16 16 23 23 23 21 21 21 17 17 17 20 20 20 20 20 20 17 17 17 19 19 19
++14 14 14 14 14 14 16 16 16 17 17 17 19 19 19 19 19 19 17 17 17 14 14 14
++19 19 19 19 19 19 16 16 16 10 10 10 4 4 4 0 0 0 0 0 0 3 3 3
++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 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 0 10 10 10 17 17 17 19 19 19 11 11 11 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 6 6 6 14 14 14 19 19 19 17 17 17 11 11 11 4 4 4
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 6 6 6 11 11 11 13 13 13 13 13 13 14 14 14 14 14 14
++6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 13 13 13 19 19 19
++21 21 21 20 20 20 17 17 17 11 11 11 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8
++14 14 14 8 8 8 11 11 11 14 14 14 16 16 16 59 59 59 24 24 24 21 21 21
++14 14 14 19 19 19 11 11 11 13 13 13 39 39 39 60 60 60 57 57 57 42 42 42
++25 25 25 24 24 24 23 23 23 23 23 23 44 44 44 65 65 65 60 60 60 56 56 56
++45 45 45 38 38 38 29 29 29 40 40 40 56 56 56 66 66 66 69 69 69 54 54 54
++70 70 70 48 48 48 51 51 51 58 58 58 56 56 56 82 82 82 92 92 92 62 62 62
++71 71 71 84 84 84 81 81 81 66 66 66 74 74 74 99 99 99 103 103 102 84 84 84
++75 75 75 96 96 96 101 101 101 87 87 87 91 91 91 115 116 115 121 121 119 105 104 105
++93 93 93 101 101 101 115 116 115 115 116 115 105 105 105 121 121 119 131 131 131 121 121 119
++115 116 115 112 112 113 122 121 126 131 131 131 128 128 128 134 134 134 140 140 140 134 134 134
++134 134 134 139 139 139 133 133 133 127 127 127 137 137 137 149 151 153 152 153 154 152 153 154
++140 140 140 144 145 144 149 149 149 149 149 149 149 149 149 149 149 149 157 157 157 166 165 167
++158 159 161 157 157 157 160 161 160 161 161 162 160 161 160 163 163 163 166 167 167 161 161 162
++147 147 148 147 147 148 144 145 144 137 137 137 125 122 126 117 117 117 115 116 115 99 99 99
++89 89 89 78 78 78 76 76 76 65 65 65 67 67 67 56 56 56 46 46 46 56 56 56
++62 62 62 46 46 46 127 127 127 78 78 78 180 183 185 252 251 251 231 224 220 255 255 255
++254 249 251 255 255 255 246 251 251 255 255 255 254 249 251 248 249 239 200 220 210 83 172 115
++152 153 154 246 251 251 255 255 255 231 246 232 180 183 185 246 251 251 246 251 251 231 246 232
++246 251 251 238 240 244 238 240 244 78 79 82 0 0 4 8 10 13 14 16 19 1 3 7
++48 48 48 69 69 69 84 84 84 93 93 93 105 105 105 115 116 115 121 121 119 129 129 130
++139 139 139 149 151 153 161 161 162 163 163 163 157 157 157 157 157 157 161 161 162 166 167 167
++166 167 167 163 163 163 155 156 156 152 153 154 158 159 161 166 167 167 166 167 167 155 156 156
++147 147 148 147 147 148 149 149 149 155 156 156 157 157 157 149 151 153 142 143 144 137 137 137
++139 139 139 144 145 144 149 149 149 145 146 147 142 143 144 140 140 140 144 145 144 147 147 148
++147 147 148 142 143 144 134 134 134 129 129 130 133 133 133 137 137 137 137 137 137 134 134 134
++133 133 133 128 128 128 129 129 130 131 131 131 121 121 119 117 117 117 121 121 119 103 103 102
++96 96 96 99 99 99 94 94 94 105 104 105 112 112 113 103 103 102 96 96 96 96 96 96
++103 103 102 103 103 102 99 99 99 91 91 91 81 81 81 71 71 71 66 66 66 63 63 63
++66 66 66 61 61 61 59 59 59 59 59 59 59 59 59 57 57 57 54 54 54 54 54 54
++63 63 63 59 59 59 54 54 54 48 48 48 42 42 42 43 43 43 45 45 45 42 42 42
++37 37 37 37 37 37 39 39 39 36 36 36 29 29 29 36 36 36 46 46 46 51 51 51
++34 34 34 31 31 31 29 29 29 31 31 31 23 23 23 24 24 24 32 32 32 19 19 19
++20 20 20 10 10 10 4 4 4 20 20 20 48 48 48 60 60 60 43 43 43 13 13 13
++32 32 32 52 52 52 43 43 43 20 20 20 37 37 37 50 50 50 25 25 25 0 0 0
++52 52 52 48 48 48 19 19 19 44 44 44 38 38 38 0 0 0 33 33 33 45 45 45
++25 25 25 14 14 14 0 0 0 3 3 3 33 33 33 44 44 44 28 28 28 0 0 0
++0 0 0 19 19 19 39 39 39 50 50 50 52 52 52 52 52 52 51 51 51 49 49 49
++56 56 56 56 56 56 51 51 51 45 45 45 48 48 48 32 32 32 3 3 3 13 13 13
++8 8 8 25 25 25 37 37 37 32 32 32 19 19 19 13 13 13 14 14 14 17 17 17
++14 14 14 10 10 10 11 11 11 23 23 23 28 28 28 24 24 24 16 16 16 10 10 10
++8 8 8 11 11 11 33 33 33 43 43 43 24 24 24 6 6 6 13 13 13 17 17 17
++6 6 6 13 13 13 14 14 14 20 20 20 34 34 34 38 38 38 29 29 29 17 17 17
++25 25 25 19 19 19 23 23 23 29 29 29 32 32 32 42 42 42 46 46 46 38 38 38
++42 42 42 37 37 37 44 44 44 49 49 49 45 45 45 36 36 36 24 24 24 29 29 29
++42 42 42 44 44 44 40 40 40 46 46 46 45 45 45 27 27 27 10 10 10 0 0 0
++10 10 10 3 3 3 8 8 8 23 23 23 28 28 28 20 20 20 20 20 20 36 36 36
++38 38 38 32 32 32 36 36 36 37 37 37 25 25 25 21 21 21 28 28 28 33 33 33
++
++21 21 21 3 3 3 0 0 0 6 6 6 4 4 4 0 0 0 0 0 0 16 16 16
++25 25 25 31 31 31 24 24 24 16 16 16 20 20 20 20 20 20 16 16 16 16 16 16
++13 13 13 14 14 14 19 19 19 19 19 19 19 19 19 17 17 17 16 16 16 16 16 16
++20 20 20 19 19 19 14 14 14 10 10 10 4 4 4 3 3 3 4 4 4 6 6 6
++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 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 10 10 10 17 17 17 19 19 19 16 16 16 11 11 11 6 6 6 4 4 4
++0 0 0 0 0 0 0 0 0 8 8 8 14 14 14 17 17 17 16 16 16 13 13 13
++13 13 13 10 10 10 6 6 6 3 3 3 0 0 0 3 3 3 6 6 6 8 8 8
++13 13 13 14 14 14 17 17 17 20 20 20 20 20 20 17 17 17 13 13 13 8 8 8
++3 3 3 3 3 3 0 0 0 3 3 3 6 6 6 10 10 10 14 14 14 16 16 16
++19 19 19 17 17 17 14 14 14 10 10 10 4 4 4 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 6 6 6 6 6 6
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 10 10 10
++11 11 11 8 8 8 10 10 10 13 13 13 16 16 16 21 21 21 62 62 62 23 23 23
++21 21 21 16 16 16 20 20 20 16 16 16 17 17 17 51 51 51 66 66 66 42 42 42
++25 25 25 16 16 16 29 29 29 20 20 20 17 17 17 56 56 56 74 74 74 66 66 66
++39 39 39 38 38 38 42 42 42 48 48 48 42 42 42 54 54 54 80 80 80 77 77 77
++68 68 68 51 51 51 51 51 51 58 58 58 58 58 58 72 72 72 88 88 88 85 85 85
++87 87 87 77 77 77 70 70 70 69 69 69 74 74 74 83 83 83 96 96 96 105 105 105
++96 97 98 96 97 98 93 93 93 87 87 87 89 89 89 101 101 101 112 112 113 121 121 119
++105 105 105 112 112 113 121 121 119 115 116 115 105 105 105 115 116 115 128 128 128 129 129 130
++125 122 126 121 121 119 133 133 133 134 134 134 121 121 119 127 127 127 142 143 144 144 145 144
++144 145 144 140 140 140 133 133 133 134 134 134 144 145 144 149 149 149 149 149 149 152 153 154
++152 153 154 155 156 156 155 156 156 149 149 149 147 147 148 149 149 149 157 157 157 163 163 163
++163 163 163 157 157 157 160 161 160 163 163 163 163 163 163 163 163 163 163 163 163 160 161 160
++152 153 154 160 161 160 140 140 140 128 128 128 121 121 119 117 117 117 105 104 105 99 99 99
++92 92 92 70 70 70 67 67 67 70 70 70 50 50 50 63 63 63 71 71 71 53 53 53
++49 49 49 66 66 66 57 57 57 54 54 54 128 128 128 105 105 105 169 175 167 255 255 255
++200 220 210 252 251 251 252 251 251 246 251 251 254 249 251 255 255 255 246 251 251 231 246 232
++126 132 129 246 251 251 231 224 220 187 210 182 246 251 251 238 240 244 238 240 244 246 251 251
++238 240 244 246 251 251 246 251 251 180 183 185 14 16 19 16 20 21 11 13 16 14 16 19
++69 69 69 76 76 76 88 88 88 101 101 101 112 112 113 121 121 119 128 128 128 137 137 137
++144 145 144 149 151 153 161 161 162 166 167 167 166 167 167 161 161 162 160 161 160 161 161 162
++163 163 163 166 167 167 163 163 163 163 163 163 166 165 167 166 167 167 163 163 163 166 165 167
++155 156 156 152 153 154 147 147 148 147 147 148 152 153 154 155 156 156 149 149 149 142 143 144
++137 137 137 142 143 144 149 149 149 149 151 153 144 145 144 134 134 134 128 128 128 128 128 128
++134 134 134 137 137 137 134 134 134 129 129 130 125 125 127 127 127 127 129 129 130 133 133 133
++133 133 133 131 131 131 128 128 128 128 128 128 125 125 127 125 125 127 129 129 130 117 117 117
++117 117 117 112 112 113 105 104 105 105 105 105 109 110 110 105 105 105 105 105 105 92 92 92
++81 81 81 82 82 82 80 80 80 75 75 75 70 70 70 68 68 68 70 70 70 72 72 72
++68 68 68 66 66 66 63 63 63 62 62 62 60 60 60 58 58 58 62 62 62 69 69 69
++70 70 70 52 52 52 43 43 43 44 44 44 42 42 42 39 39 39 38 38 38 33 33 33
++32 32 32 34 34 34 50 50 50 62 62 62 57 57 57 45 45 45 38 38 38 33 33 33
++27 27 27 33 33 33 31 31 31 32 32 32 25 25 25 19 19 19 27 27 27 20 20 20
++19 19 19 17 17 17 6 6 6 17 17 17 49 49 49 58 58 58 39 39 39 19 19 19
++51 51 51 37 37 37 25 25 25 38 38 38 49 49 49 45 45 45 32 32 32 10 10 10
++45 45 45 54 54 54 38 38 38 44 44 44 45 45 45 10 10 10 4 4 4 25 25 25
++44 44 44 32 32 32 11 11 11 0 0 0 0 0 0 23 23 23 52 52 52 31 31 31
++37 37 37 32 32 32 36 36 36 52 52 52 57 57 57 34 34 34 25 25 25 46 46 46
++45 45 45 28 28 28 29 29 29 34 34 34 32 32 32 21 21 21 6 6 6 14 14 14
++20 20 20 37 37 37 39 39 39 21 21 21 8 8 8 16 16 16 19 19 19 11 11 11
++16 16 16 11 11 11 20 20 20 34 34 34 37 37 37 25 25 25 14 14 14 14 14 14
++13 13 13 29 29 29 40 40 40 27 27 27 3 3 3 13 13 13 23 23 23 6 6 6
++6 6 6 14 14 14 25 25 25 32 32 32 29 29 29 27 27 27 21 21 21 13 13 13
++16 16 16 16 16 16 19 19 19 20 20 20 24 24 24 33 33 33 36 36 36 31 31 31
++23 23 23 14 14 14 21 21 21 21 21 21 20 20 20 20 20 20 13 13 13 23 23 23
++40 40 40 25 25 25 23 23 23 20 20 20 17 17 17 21 21 21 20 20 20 19 19 19
++13 13 13 21 21 21 31 31 31 37 37 37 31 31 31 21 21 21 17 17 17 17 17 17
++21 21 21 8 8 8 13 13 13 14 14 14 6 6 6 21 21 21 33 33 33 25 25 25
++
++42 42 42 24 24 24 6 6 6 4 4 4 10 10 10 8 8 8 8 8 8 13 13 13
++31 31 31 34 34 34 25 25 25 16 16 16 20 20 20 20 20 20 14 14 14 14 14 14
++11 11 11 16 16 16 20 20 20 20 20 20 17 17 17 16 16 16 16 16 16 17 17 17
++20 20 20 17 17 17 14 14 14 10 10 10 4 4 4 4 4 4 6 6 6 8 8 8
++16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
++16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 14 14 14
++11 11 11 14 14 14 20 20 20 23 23 23 21 21 21 20 20 20 17 17 17 16 16 16
++16 16 16 14 14 14 11 11 11 13 13 13 14 14 14 19 19 19 21 21 21 24 24 24
++14 14 14 16 16 16 17 17 17 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++17 17 17 17 17 17 17 17 17 20 20 20 23 23 23 24 24 24 21 21 21 19 19 19
++20 20 20 20 20 20 20 20 20 21 21 21 23 23 23 21 21 21 20 20 20 19 19 19
++21 21 21 21 21 21 20 20 20 21 21 21 21 21 21 23 23 23 23 23 23 23 23 23
++23 23 23 23 23 23 24 24 24 25 25 25 28 28 28 29 29 29 31 31 31 31 31 31
++31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
++36 36 36 29 29 29 36 36 36 39 39 39 34 34 34 34 34 34 36 36 36 62 62 62
++38 38 38 44 44 44 40 40 40 39 39 39 48 48 48 48 48 48 52 52 52 68 68 68
++51 51 51 50 50 50 49 49 49 44 44 44 56 56 56 62 62 62 58 58 58 74 74 74
++70 70 70 58 58 58 50 50 50 60 60 60 60 60 60 62 62 62 81 81 81 88 88 88
++81 81 81 71 71 71 66 66 66 71 71 71 72 72 72 67 67 67 77 77 77 101 101 101
++96 97 98 80 80 80 75 75 75 87 87 87 88 88 88 78 78 78 88 88 88 109 110 110
++115 116 115 99 99 99 93 93 93 103 103 102 105 105 105 101 101 101 105 105 105 121 121 119
++127 127 127 125 122 126 112 112 113 112 112 113 121 121 119 115 116 115 112 112 113 134 134 134
++137 137 137 137 138 139 134 134 134 129 129 130 128 128 128 129 129 130 137 137 137 145 146 147
++149 149 149 140 140 140 137 137 137 147 147 148 155 156 156 145 146 147 144 145 144 152 153 154
++157 157 157 157 157 157 152 153 154 149 149 149 155 156 156 161 161 162 163 163 163 160 161 160
++166 167 167 163 163 163 166 165 167 166 167 167 166 167 167 163 163 163 161 161 162 157 157 157
++166 167 167 149 149 149 147 147 148 142 143 144 121 121 119 125 125 127 101 101 101 99 99 99
++89 89 89 85 85 85 72 72 72 75 75 75 59 59 59 59 59 59 50 50 50 63 63 63
++61 61 61 50 50 50 65 65 65 50 50 50 57 57 57 40 40 40 103 103 102 200 220 210
++180 183 185 248 249 239 231 224 220 231 224 220 255 255 255 252 251 251 254 249 251 254 249 251
++238 240 244 200 220 210 180 183 185 238 240 244 246 251 251 246 251 251 246 251 251 238 240 244
++246 251 251 238 240 244 238 240 244 238 240 244 127 127 127 0 0 4 14 16 19 37 39 42
++82 82 82 82 82 82 92 92 92 109 110 110 117 117 117 121 121 119 131 131 131 142 143 144
++149 151 153 149 151 153 157 157 157 166 167 167 166 167 167 166 167 167 161 161 162 160 161 160
++157 157 157 166 167 167 166 167 167 166 167 167 166 165 167 152 153 154 152 153 154 163 163 163
++163 163 163 157 157 157 147 147 148 142 143 144 145 146 147 152 153 154 152 153 154 147 147 148
++140 140 140 140 140 140 144 145 144 149 149 149 147 147 148 137 138 139 128 128 128 127 127 127
++127 127 127 137 137 137 140 140 140 131 131 131 121 121 119 115 116 115 121 121 119 122 121 126
++134 134 134 134 134 134 121 121 119 121 121 119 125 122 126 125 122 126 127 127 127 121 121 119
++105 105 105 94 94 94 87 87 87 90 90 90 87 87 87 95 95 94 103 103 102 82 82 82
++83 83 83 82 82 82 80 80 80 77 77 77 75 75 75 73 73 73 71 71 71 69 69 69
++63 63 63 63 63 63 62 62 62 60 60 60 53 53 53 52 52 52 63 63 63 76 76 76
++77 77 77 50 50 50 37 37 37 42 42 42 38 38 38 32 32 32 34 34 34 38 38 38
++34 34 34 29 29 29 48 48 48 70 70 70 67 67 67 46 46 46 32 32 32 24 24 24
++24 24 24 36 36 36 24 24 24 24 24 24 32 32 32 27 27 27 27 27 27 21 21 21
++17 17 17 19 19 19 31 31 31 44 44 44 49 49 49 46 46 46 48 48 48 52 52 52
++53 53 53 20 20 20 28 28 28 49 49 49 21 21 21 23 23 23 46 46 46 11 11 11
++20 20 20 51 51 51 42 42 42 16 16 16 38 38 38 40 40 40 0 0 0 0 0 0
++29 29 29 52 52 52 29 29 29 8 8 8 0 0 0 0 0 0 40 40 40 57 57 57
++46 46 46 33 33 33 11 11 11 23 23 23 56 56 56 54 54 54 39 39 39 53 53 53
++54 54 54 38 38 38 53 53 53 57 57 57 32 32 32 17 17 17 14 14 14 16 16 16
++38 38 38 43 43 43 36 36 36 16 16 16 8 8 8 14 14 14 14 14 14 3 3 3
++17 17 17 11 11 11 20 20 20 34 34 34 32 32 32 13 13 13 6 6 6 14 14 14
++33 33 33 40 40 40 27 27 27 6 6 6 11 11 11 16 16 16 8 8 8 8 8 8
++11 11 11 20 20 20 37 37 37 38 38 38 21 21 21 13 13 13 20 20 20 20 20 20
++19 19 19 20 20 20 19 19 19 21 21 21 32 32 32 37 37 37 28 28 28 14 14 14
++20 20 20 14 14 14 23 23 23 17 17 17 14 14 14 21 21 21 24 24 24 40 40 40
++27 27 27 16 16 16 28 28 28 19 19 19 8 8 8 27 27 27 28 28 28 19 19 19
++13 13 13 29 29 29 38 38 38 34 34 34 24 24 24 23 23 23 25 25 25 16 16 16
++8 8 8 17 17 17 14 14 14 10 10 10 24 24 24 37 37 37 27 27 27 3 3 3
++
++33 33 33 43 43 43 43 43 43 31 31 31 24 24 24 27 27 27 27 27 27 21 21 21
++11 11 11 29 29 29 39 39 39 32 32 32 20 20 20 17 17 17 21 21 21 24 24 24
++25 25 25 20 20 20 14 14 14 14 14 14 20 20 20 24 24 24 23 23 23 19 19 19
++19 19 19 21 21 21 27 27 27 29 29 29 31 31 31 29 29 29 28 28 28 27 27 27
++29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
++29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
++28 28 28 27 27 27 25 25 25 23 23 23 21 21 21 20 20 20 19 19 19 17 17 17
++27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29
++24 24 24 23 23 23 23 23 23 21 21 21 20 20 20 20 20 20 19 19 19 19 19 19
++25 25 25 27 27 27 28 28 28 29 29 29 31 31 31 29 29 29 29 29 29 28 28 28
++31 31 31 28 28 28 24 24 24 19 19 19 17 17 17 16 16 16 16 16 16 17 17 17
++25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 27 27 27 27 27 27 27 27 27
++28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 31 31 31 31 31 31
++31 31 31 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 32 32 32
++34 34 34 32 32 32 34 34 34 38 38 38 37 37 37 34 34 34 37 37 37 42 42 42
++57 57 57 46 46 46 43 43 43 50 50 50 49 49 49 40 40 40 42 42 42 52 52 52
++66 66 66 57 57 57 43 43 43 54 54 54 65 65 65 54 54 54 51 51 51 53 53 53
++73 73 73 71 71 71 61 61 61 56 56 56 66 66 66 76 76 76 71 71 71 59 59 59
++87 87 87 82 82 82 72 72 72 65 65 65 69 69 69 80 80 80 80 80 80 73 73 73
++96 96 96 91 91 91 84 84 84 80 80 80 80 80 80 85 85 85 93 93 93 101 101 101
++109 110 110 105 105 105 99 99 99 94 94 94 91 91 91 95 95 94 105 105 105 115 116 115
++125 122 126 125 122 126 117 117 117 112 112 113 109 110 110 115 116 115 121 121 119 121 121 119
++134 134 134 137 137 137 134 134 134 122 121 126 129 129 130 142 143 144 137 137 137 134 134 134
++139 139 139 147 147 148 152 153 154 144 145 144 137 138 139 139 139 139 145 146 147 152 153 154
++152 153 154 157 157 157 157 157 157 152 153 154 152 153 154 157 157 157 157 157 157 155 156 156
++158 159 161 166 167 167 166 167 167 166 167 167 161 161 162 160 161 160 160 161 160 160 161 160
++155 156 156 152 153 154 149 149 149 140 140 140 128 128 128 115 116 115 105 105 105 103 103 102
++91 91 91 85 85 85 77 77 77 72 72 72 69 69 69 67 67 67 63 63 63 60 60 60
++58 58 58 61 61 61 59 59 59 57 57 57 61 61 61 50 50 50 71 71 71 180 183 185
++246 251 251 180 183 185 231 224 220 200 220 210 231 224 220 166 167 167 255 255 255 231 224 220
++255 255 255 180 183 185 231 246 232 238 240 244 238 240 244 238 240 244 238 240 244 238 240 244
++238 240 244 238 240 244 246 251 251 238 240 244 231 246 232 37 39 42 16 20 21 66 69 71
++77 77 77 88 88 88 94 94 94 109 110 110 125 125 127 129 129 130 134 134 134 144 145 144
++149 149 149 157 157 157 161 161 162 160 161 160 166 167 167 169 175 167 169 175 167 160 161 160
++158 159 161 161 161 162 166 167 167 166 167 167 163 163 163 155 156 156 152 153 154 157 157 157
++157 157 157 161 161 162 157 157 157 147 147 148 142 143 144 144 145 144 152 153 154 155 156 156
++139 139 139 140 140 140 149 151 153 140 140 140 139 139 139 149 149 149 133 133 133 125 125 127
++127 127 127 127 127 127 131 131 131 137 137 137 131 131 131 117 117 117 112 112 113 115 116 115
++117 117 117 133 133 133 129 129 130 115 116 115 115 116 115 121 121 119 121 121 119 121 121 119
++117 117 117 101 101 101 89 89 89 84 84 84 83 83 83 90 90 90 93 93 93 87 87 87
++83 83 83 83 83 83 75 75 75 73 73 73 78 78 78 77 77 77 69 69 69 67 67 67
++69 69 69 60 60 60 61 61 61 53 53 53 52 52 52 61 61 61 66 66 66 80 80 80
++80 80 80 60 60 60 43 43 43 39 39 39 39 39 39 37 37 37 34 34 34 38 38 38
++34 34 34 27 27 27 32 32 32 58 58 58 70 70 70 49 49 49 24 24 24 25 25 25
++25 25 25 23 23 23 21 21 21 25 25 25 28 28 28 28 28 28 25 25 25 23 23 23
++19 19 19 43 43 43 39 39 39 36 36 36 46 46 46 14 14 14 24 24 24 52 52 52
++44 44 44 37 37 37 44 44 44 19 19 19 17 17 17 8 8 8 38 38 38 40 40 40
++36 36 36 44 44 44 58 58 58 33 33 33 28 28 28 45 45 45 23 23 23 0 0 0
++0 0 0 20 20 20 46 46 46 43 43 43 19 19 19 34 34 34 56 56 56 45 45 45
++45 45 45 46 46 46 48 48 48 50 50 50 52 52 52 54 54 54 54 54 54 54 54 54
++39 39 39 36 36 36 60 60 60 49 49 49 4 4 4 4 4 4 25 25 25 36 36 36
++33 33 33 28 28 28 19 19 19 13 13 13 11 11 11 14 14 14 14 14 14 13 13 13
++6 6 6 25 25 25 37 37 37 31 31 31 14 14 14 8 8 8 20 20 20 32 32 32
++43 43 43 25 25 25 13 13 13 14 14 14 16 16 16 10 10 10 11 11 11 19 19 19
++13 13 13 21 21 21 45 45 45 42 42 42 6 6 6 6 6 6 24 24 24 17 17 17
++21 21 21 14 14 14 17 17 17 33 33 33 46 46 46 50 50 50 50 50 50 51 51 51
++44 44 44 56 56 56 42 42 42 0 0 0 0 0 0 23 23 23 33 33 33 19 19 19
++0 0 0 3 3 3 45 45 45 21 21 21 8 8 8 48 48 48 48 48 48 48 48 48
++34 34 34 29 29 29 31 31 31 39 39 39 44 44 44 37 37 37 20 20 20 8 8 8
++16 16 16 8 8 8 13 13 13 28 28 28 31 31 31 19 19 19 10 10 10 13 13 13
++
++19 19 19 33 33 33 43 43 43 39 39 39 28 28 28 21 21 21 20 20 20 21 21 21
++17 17 17 19 19 19 27 27 27 36 36 36 34 34 34 24 24 24 17 17 17 19 19 19
++20 20 20 19 19 19 17 17 17 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20
++20 20 20 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 19 19 19 19 19 19
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
++20 20 20 17 17 17 16 16 16 14 14 14 14 14 14 16 16 16 19 19 19 20 20 20
++23 23 23 21 21 21 20 20 20 17 17 17 16 16 16 14 14 14 14 14 14 14 14 14
++19 19 19 19 19 19 19 19 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17
++17 17 17 17 17 17 16 16 16 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++21 21 21 21 21 21 21 21 21 21 21 21 20 20 20 19 19 19 17 17 17 16 16 16
++8 8 8 8 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11
++8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
++17 17 17 13 13 13 10 10 10 11 11 11 13 13 13 10 10 10 11 11 11 16 16 16
++31 31 31 51 51 51 56 56 56 34 34 34 17 17 17 21 21 21 27 27 27 23 23 23
++42 42 42 59 59 59 56 56 56 45 45 45 37 37 37 29 29 29 32 32 32 29 29 29
++43 43 43 69 69 69 60 60 60 49 49 49 62 62 62 51 51 51 36 36 36 56 56 56
++58 58 58 80 80 80 83 83 83 66 66 66 61 61 61 75 75 75 76 76 76 61 61 61
++68 68 68 96 97 98 101 101 101 76 76 76 72 72 72 96 96 96 101 101 101 82 82 82
++87 87 87 103 103 102 112 112 113 101 101 101 92 92 92 96 97 98 109 110 110 115 116 115
++101 101 101 115 116 115 127 127 127 121 121 119 103 103 102 101 101 101 115 116 115 129 129 130
++125 125 127 128 128 128 137 137 137 137 137 137 137 137 137 133 133 133 122 121 126 129 129 130
++129 129 130 142 143 144 152 153 154 147 147 148 137 137 137 134 134 134 145 146 147 157 157 157
++147 147 148 152 153 154 157 157 157 160 161 160 157 157 157 152 153 154 149 149 149 149 149 149
++157 157 157 166 167 167 169 175 167 166 167 167 166 167 167 163 163 163 161 161 162 158 159 161
++152 153 154 149 149 149 144 145 144 139 139 139 131 131 131 121 121 119 109 110 110 103 103 102
++92 92 92 87 87 87 81 81 81 76 76 76 73 73 73 71 71 71 67 67 67 63 63 63
++67 67 67 65 65 65 57 57 57 51 51 51 59 59 59 59 59 59 43 43 43 92 92 92
++238 240 244 238 240 244 238 240 244 231 224 220 231 224 220 200 220 210 200 220 210 200 220 210
++180 183 185 180 183 185 238 240 244 238 240 244 246 251 251 238 240 244 238 240 244 238 240 244
++238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 149 151 153 26 29 32 83 84 85
++85 85 85 95 95 94 103 103 102 117 117 117 129 129 130 133 133 133 142 143 144 149 149 149
++152 153 154 160 161 160 163 163 163 158 159 161 161 161 162 166 167 167 169 175 167 166 167 167
++163 163 163 166 167 167 166 167 167 166 167 167 163 163 163 161 161 162 157 157 157 152 153 154
++155 156 156 157 157 157 157 157 157 152 153 154 147 147 148 144 145 144 145 146 147 147 147 148
++155 156 156 152 153 154 152 153 154 137 137 137 134 134 134 145 146 147 142 143 144 144 145 144
++128 128 128 127 127 127 128 128 128 131 131 131 129 129 130 121 121 119 115 116 115 115 116 115
++115 116 115 127 127 127 131 131 131 125 125 127 115 116 115 115 116 115 115 116 115 112 112 113
++121 121 119 105 105 105 94 94 94 87 87 87 87 87 87 88 88 88 88 88 88 83 83 83
++80 80 80 83 83 83 80 80 80 76 76 76 75 75 75 70 70 70 70 70 70 80 80 80
++78 78 78 60 60 60 54 54 54 56 56 56 61 61 61 65 65 65 60 60 60 68 68 68
++84 84 84 65 65 65 46 46 46 42 42 42 42 42 42 37 37 37 33 33 33 33 33 33
++32 32 32 34 34 34 42 42 42 60 60 60 71 71 71 56 56 56 32 32 32 23 23 23
++23 23 23 21 21 21 20 20 20 19 19 19 19 19 19 20 20 20 23 23 23 25 25 25
++36 36 36 36 36 36 24 24 24 19 19 19 32 32 32 24 24 24 39 39 39 45 45 45
++48 48 48 45 45 45 49 49 49 11 11 11 0 0 0 0 0 0 37 37 37 42 42 42
++34 34 34 25 25 25 52 52 52 43 43 43 21 21 21 38 38 38 33 33 33 11 11 11
++11 11 11 23 23 23 46 46 46 53 53 53 45 45 45 51 51 51 52 52 52 32 32 32
++36 36 36 46 46 46 54 54 54 51 51 51 42 42 42 38 38 38 46 46 46 56 56 56
++31 31 31 20 20 20 34 34 34 27 27 27 8 8 8 23 23 23 33 33 33 33 33 33
++20 20 20 17 17 17 13 13 13 13 13 13 14 14 14 16 16 16 16 16 16 14 14 14
++11 11 11 32 32 32 37 37 37 20 20 20 8 8 8 19 19 19 33 33 33 37 37 37
++24 24 24 16 16 16 10 10 10 11 11 11 10 10 10 10 10 10 16 16 16 24 24 24
++49 49 49 44 44 44 54 54 54 52 52 52 27 27 27 19 19 19 27 27 27 20 20 20
++14 14 14 24 24 24 36 36 36 40 40 40 44 44 44 48 48 48 52 52 52 54 54 54
++53 53 53 53 53 53 40 40 40 21 21 21 20 20 20 31 31 31 24 24 24 4 4 4
++10 10 10 11 11 11 40 40 40 23 23 23 6 6 6 36 36 36 42 42 42 45 45 45
++42 42 42 45 45 45 48 48 48 43 43 43 28 28 28 11 11 11 10 10 10 17 17 17
++8 8 8 19 19 19 28 28 28 29 29 29 21 21 21 11 11 11 10 10 10 11 11 11
++
++0 0 0 3 3 3 17 17 17 28 28 28 28 28 28 21 21 21 17 17 17 17 17 17
++21 21 21 14 14 14 16 16 16 31 31 31 38 38 38 32 32 32 21 21 21 14 14 14
++17 17 17 16 16 16 19 19 19 23 23 23 20 20 20 16 16 16 16 16 16 23 23 23
++20 20 20 14 14 14 6 6 6 3 3 3 4 4 4 6 6 6 6 6 6 6 6 6
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++8 8 8 4 4 4 3 3 3 0 0 0 4 4 4 11 11 11 17 17 17 21 21 21
++21 21 21 19 19 19 14 14 14 10 10 10 6 6 6 3 3 3 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 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 11 11 11 14 14 14
++16 16 16 17 17 17 21 21 21 23 23 23 21 21 21 17 17 17 13 13 13 8 8 8
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6
++16 16 16 11 11 11 8 8 8 10 10 10 10 10 10 8 8 8 8 8 8 10 10 10
++16 16 16 44 44 44 53 53 53 36 36 36 16 16 16 19 19 19 24 24 24 21 21 21
++14 14 14 52 52 52 61 61 61 51 51 51 37 37 37 27 27 27 29 29 29 27 27 27
++27 27 27 50 50 50 68 68 68 72 72 72 61 61 61 40 40 40 34 34 34 44 44 44
++42 42 42 60 60 60 78 78 78 85 85 85 77 77 77 67 67 67 59 59 59 57 57 57
++54 54 54 78 78 78 95 95 94 93 93 93 91 91 91 93 93 93 87 87 87 73 73 73
++75 75 75 92 92 92 105 105 105 109 110 110 109 110 110 109 110 110 105 105 105 96 97 98
++94 94 94 109 110 110 125 125 127 129 129 130 121 121 119 115 116 115 117 117 117 127 127 127
++115 116 115 117 117 117 133 133 133 144 145 144 144 145 144 131 131 131 121 121 119 133 133 133
++137 137 137 139 139 139 144 145 144 149 151 153 152 153 154 149 151 153 149 149 149 149 149 149
++142 143 144 144 145 144 155 156 156 163 163 163 163 163 163 155 156 156 152 153 154 155 156 156
++158 159 161 166 167 167 169 175 167 169 175 167 166 167 167 166 167 167 161 161 162 155 156 156
++152 153 154 147 147 148 142 143 144 140 140 140 137 137 137 128 128 128 117 117 117 105 105 105
++99 99 99 94 94 94 89 89 89 85 85 85 83 83 83 80 80 80 75 75 75 71 71 71
++70 70 70 70 70 70 67 67 67 61 61 61 60 60 60 70 70 70 56 56 56 51 51 51
++139 140 142 252 251 251 238 240 244 238 240 244 238 240 244 255 255 255 238 240 244 246 251 251
++200 220 210 231 224 220 231 246 232 252 251 251 231 246 232 255 255 255 231 246 232 238 240 244
++238 240 244 246 251 251 238 240 244 238 240 244 246 251 251 238 240 244 96 98 100 75 78 80
++87 87 87 99 99 99 105 105 105 121 121 119 133 133 133 139 139 139 149 151 153 155 156 156
++157 157 157 161 161 162 166 167 167 163 163 163 161 161 162 163 163 163 166 167 167 169 175 167
++166 167 167 166 167 167 166 167 167 158 159 161 161 161 162 166 167 167 163 163 163 152 153 154
++152 153 154 152 153 154 155 156 156 157 157 157 152 153 154 145 146 147 142 143 144 142 143 144
++155 156 156 149 149 149 149 149 149 137 137 137 133 133 133 140 140 140 137 138 139 144 145 144
++131 131 131 127 127 127 122 121 126 125 125 127 128 128 128 127 127 127 121 121 119 115 116 115
++109 110 110 115 116 115 128 128 128 133 133 133 121 121 119 112 112 113 115 116 115 109 110 110
++115 116 115 109 110 110 96 97 98 90 90 90 90 90 90 89 89 89 85 85 85 84 84 84
++77 77 77 78 78 78 78 78 78 76 76 76 74 74 74 70 70 70 75 75 75 88 88 88
++84 84 84 62 62 62 56 56 56 61 61 61 67 67 67 61 61 61 51 51 51 56 56 56
++85 85 85 67 67 67 49 49 49 42 42 42 40 40 40 36 36 36 33 33 33 33 33 33
++32 32 32 40 40 40 46 46 46 54 54 54 61 61 61 54 54 54 32 32 32 14 14 14
++23 23 23 24 24 24 23 23 23 17 17 17 14 14 14 20 20 20 28 28 28 34 34 34
++45 45 45 31 31 31 19 19 19 13 13 13 17 17 17 25 25 25 39 39 39 23 23 23
++37 37 37 38 38 38 42 42 42 8 8 8 6 6 6 13 13 13 42 42 42 40 40 40
++24 24 24 11 11 11 42 42 42 44 44 44 29 29 29 39 39 39 43 43 43 39 39 39
++46 46 46 37 37 37 34 34 34 36 36 36 37 37 37 39 39 39 32 32 32 13 13 13
++11 11 11 27 27 27 38 38 38 32 32 32 16 16 16 8 8 8 20 20 20 34 34 34
++28 28 28 14 14 14 14 14 14 14 14 14 23 23 23 38 38 38 33 33 33 20 20 20
++10 10 10 8 8 8 10 10 10 13 13 13 14 14 14 14 14 14 13 13 13 13 13 13
++14 14 14 28 28 28 28 28 28 11 11 11 13 13 13 32 32 32 38 38 38 29 29 29
++10 10 10 11 11 11 13 13 13 10 10 10 8 8 8 11 11 11 23 23 23 31 31 31
++37 37 37 25 25 25 25 25 25 29 29 29 21 21 21 16 16 16 17 17 17 17 17 17
++16 16 16 29 29 29 34 34 34 28 28 28 20 20 20 23 23 23 27 27 27 28 28 28
++24 24 24 19 19 19 19 19 19 27 27 27 33 33 33 29 29 29 17 17 17 6 6 6
++8 8 8 4 4 4 21 21 21 11 11 11 0 0 0 17 17 17 28 28 28 32 32 32
++17 17 17 19 19 19 20 20 20 17 17 17 10 10 10 3 3 3 8 8 8 16 16 16
++14 14 14 28 28 28 32 32 32 20 20 20 8 8 8 10 10 10 13 13 13 11 11 11
++
++0 0 0 0 0 0 0 0 0 6 6 6 27 27 27 31 31 31 23 23 23 13 13 13
++19 19 19 19 19 19 17 17 17 16 16 16 25 25 25 34 34 34 32 32 32 21 21 21
++21 21 21 16 16 16 17 17 17 21 21 21 21 21 21 16 16 16 16 16 16 21 21 21
++17 17 17 10 10 10 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 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 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 0 0 0 0 0 0 4 4 4 11 11 11 16 16 16
++21 21 21 20 20 20 17 17 17 14 14 14 11 11 11 8 8 8 4 4 4 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 13 13 13 17 17 17 20 20 20
++19 19 19 20 20 20 21 21 21 20 20 20 16 16 16 10 10 10 3 3 3 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8
++8 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11
++10 10 10 11 11 11 13 13 13 14 14 14 13 13 13 11 11 11 13 13 13 16 16 16
++39 39 39 32 32 32 37 37 37 49 49 49 43 43 43 21 21 21 14 14 14 27 27 27
++31 31 31 49 49 49 52 52 52 56 56 56 50 50 50 32 32 32 31 31 31 34 34 34
++34 34 34 43 43 43 66 66 66 75 75 75 63 63 63 52 52 52 49 49 49 44 44 44
++51 51 51 48 48 48 65 65 65 89 89 89 88 88 88 65 65 65 53 53 53 62 62 62
++66 66 66 58 58 58 73 73 73 101 101 101 105 105 105 84 84 84 71 71 71 78 78 78
++84 84 84 83 83 83 90 90 90 105 105 105 115 116 115 112 112 113 99 99 99 89 89 89
++99 99 99 99 99 99 105 105 105 121 121 119 128 128 128 127 127 127 117 117 117 112 112 113
++115 116 115 117 117 117 127 127 127 137 137 137 142 143 144 134 134 134 128 128 128 134 134 134
++140 140 140 133 133 133 131 131 131 142 143 144 152 153 154 152 153 154 144 145 144 137 137 137
++144 145 144 144 145 144 152 153 154 158 159 161 158 159 161 155 156 156 157 157 157 163 163 163
++158 159 161 166 165 167 166 167 167 166 167 167 166 167 167 166 165 167 158 159 161 152 153 154
++155 156 156 149 151 153 145 146 147 144 145 144 142 143 144 134 134 134 125 125 127 117 117 117
++109 110 110 105 104 105 99 99 99 95 95 94 92 92 92 89 89 89 84 84 84 80 80 80
++75 75 75 73 73 73 73 73 73 71 71 71 59 59 59 59 59 59 65 65 65 62 62 62
++56 57 59 180 183 185 238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244
++180 183 185 187 210 182 200 220 210 246 251 251 238 240 244 238 240 244 246 251 251 246 251 251
++246 251 251 238 240 244 238 240 244 238 240 244 246 251 251 252 251 251 180 183 185 78 79 82
++90 90 90 105 105 105 112 112 113 121 121 119 137 137 137 144 145 144 152 153 154 155 156 156
++158 159 161 163 163 163 166 167 167 166 167 167 166 167 167 163 163 163 166 167 167 166 167 167
++166 167 167 166 167 167 163 163 163 157 157 157 160 161 160 166 167 167 163 163 163 155 156 156
++152 153 154 149 151 153 152 153 154 157 157 157 155 156 156 147 147 148 142 143 144 142 143 144
++144 145 144 142 143 144 145 146 147 140 140 140 134 134 134 134 134 134 129 129 130 134 134 134
++133 133 133 128 128 128 122 121 126 121 121 119 125 125 127 127 127 127 122 121 126 117 117 117
++112 112 113 109 110 110 112 112 113 115 116 115 109 110 110 105 105 105 105 105 105 109 110 110
++103 103 102 105 104 105 96 96 96 91 91 91 94 94 94 90 90 90 85 85 85 87 87 87
++88 88 88 84 84 84 77 77 77 74 74 74 74 74 74 72 72 72 71 71 71 72 72 72
++72 72 72 65 65 65 63 63 63 67 67 67 65 65 65 57 57 57 52 52 52 57 57 57
++54 54 54 50 50 50 48 48 48 50 50 50 50 50 50 45 45 45 42 42 42 42 42 42
++51 51 51 49 49 49 40 40 40 33 33 33 37 37 37 40 40 40 37 37 37 29 29 29
++32 32 32 33 33 33 31 31 31 27 27 27 27 27 27 33 33 33 40 40 40 44 44 44
++32 32 32 21 21 21 23 23 23 24 24 24 17 17 17 21 21 21 27 27 27 8 8 8
++19 19 19 17 17 17 23 23 23 11 11 11 28 28 28 31 31 31 36 36 36 20 20 20
++8 8 8 6 6 6 19 19 19 16 16 16 16 16 16 14 14 14 6 6 6 20 20 20
++19 19 19 10 10 10 8 8 8 20 20 20 33 33 33 32 32 32 20 20 20 11 11 11
++10 10 10 13 13 13 14 14 14 11 11 11 6 6 6 4 4 4 8 8 8 11 11 11
++19 19 19 11 11 11 10 10 10 20 20 20 33 33 33 33 33 33 20 20 20 10 10 10
++10 10 10 10 10 10 11 11 11 14 14 14 14 14 14 10 10 10 10 10 10 11 11 11
++14 14 14 16 16 16 14 14 14 19 19 19 31 31 31 38 38 38 28 28 28 10 10 10
++11 11 11 16 16 16 17 17 17 11 11 11 11 11 11 21 21 21 29 29 29 33 33 33
++24 24 24 16 16 16 8 8 8 10 10 10 14 14 14 13 13 13 13 13 13 16 16 16
++37 37 37 34 34 34 27 27 27 14 14 14 10 10 10 13 13 13 13 13 13 10 10 10
++14 14 14 16 16 16 27 27 27 38 38 38 34 34 34 20 20 20 11 11 11 14 14 14
++14 14 14 14 14 14 16 16 16 16 16 16 14 14 14 25 25 25 34 34 34 27 27 27
++13 13 13 8 8 8 6 6 6 8 8 8 13 13 13 16 16 16 14 14 14 13 13 13
++28 28 28 29 29 29 20 20 20 6 6 6 4 4 4 16 16 16 17 17 17 10 10 10
++
++8 8 8 4 4 4 0 0 0 10 10 10 24 24 24 33 33 33 31 31 31 23 23 23
++14 14 14 21 21 21 20 20 20 14 14 14 16 16 16 25 25 25 33 33 33 33 33 33
++28 28 28 19 19 19 14 14 14 17 17 17 20 20 20 19 19 19 17 17 17 17 17 17
++11 11 11 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++16 16 16 17 17 17 19 19 19 20 20 20 20 20 20 19 19 19 16 16 16 14 14 14
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++14 14 14 14 14 14 14 14 14 16 16 16 17 17 17 17 17 17 19 19 19 19 19 19
++23 23 23 20 20 20 16 16 16 11 11 11 6 6 6 3 3 3 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 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8
++3 3 3 10 10 10 13 13 13 11 11 11 8 8 8 11 11 11 21 21 21 29 29 29
++37 37 37 13 13 13 13 13 13 42 42 42 49 49 49 28 28 28 17 17 17 28 28 28
++40 40 40 39 39 39 32 32 32 42 42 42 46 46 46 33 33 33 34 34 34 42 42 42
++37 37 37 54 54 54 49 49 49 45 45 45 60 60 60 57 57 57 44 44 44 52 52 52
++56 56 56 58 58 58 62 62 62 67 67 67 71 71 71 70 70 70 67 67 67 63 63 63
++70 70 70 65 65 65 70 70 70 84 84 84 89 89 89 82 82 82 78 78 78 83 83 83
++87 87 87 84 84 84 87 87 87 96 97 98 101 101 101 99 99 99 96 97 98 101 101 101
++103 103 102 99 99 99 101 101 101 112 112 113 117 117 117 117 117 117 115 116 115 117 117 117
++117 117 117 125 125 127 125 125 127 127 127 127 129 129 130 131 131 131 129 129 130 129 129 130
++137 137 137 133 133 133 133 133 133 137 138 139 142 143 144 140 140 140 142 143 144 144 145 144
++147 147 148 149 149 149 152 153 154 152 153 154 152 153 154 152 153 154 155 156 156 158 159 161
++157 157 157 158 159 161 161 161 162 161 161 162 163 163 163 163 163 163 160 161 160 155 156 156
++157 157 157 155 156 156 152 153 154 147 147 148 142 143 144 137 137 137 131 131 131 127 127 127
++117 117 117 115 116 115 109 110 110 103 103 102 101 101 101 96 96 96 90 90 90 87 87 87
++83 83 83 76 76 76 71 71 71 75 75 75 73 73 73 63 63 63 65 65 65 63 63 63
++51 52 54 90 91 93 231 224 220 238 240 244 246 251 251 238 240 244 255 255 255 238 240 244
++246 251 251 238 240 244 187 210 182 238 240 244 238 240 244 238 240 244 246 251 251 238 240 244
++238 240 244 238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 137 138 139
++94 94 94 112 112 113 122 121 126 128 128 128 142 143 144 149 149 149 149 151 153 158 159 161
++166 165 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 165 167 166 167 167
++166 167 167 166 165 167 161 161 162 160 161 160 160 161 160 160 161 160 158 159 161 157 157 157
++157 157 157 152 153 154 149 151 153 152 153 154 152 153 154 147 147 148 147 147 148 149 149 149
++144 145 144 142 143 144 144 145 144 140 140 140 137 138 139 134 134 134 131 131 131 134 134 134
++131 131 131 129 129 130 127 127 127 125 122 126 122 121 126 121 121 119 121 121 119 121 121 119
++121 121 119 117 117 117 109 110 110 109 110 110 112 112 113 105 105 105 101 101 101 101 101 101
++96 96 96 101 101 101 95 95 94 92 92 92 94 94 94 90 90 90 85 85 85 88 88 88
++84 84 84 82 82 82 77 77 77 74 74 74 74 74 74 77 77 77 73 73 73 65 65 65
++62 62 62 68 68 68 69 69 69 67 67 67 61 61 61 57 57 57 58 58 58 59 59 59
++49 49 49 49 49 49 50 50 50 49 49 49 45 45 45 42 42 42 45 45 45 51 51 51
++53 53 53 44 44 44 37 37 37 34 34 34 34 34 34 36 36 36 36 36 36 34 34 34
++31 31 31 31 31 31 28 28 28 25 25 25 28 28 28 34 34 34 36 36 36 32 32 32
++19 19 19 16 16 16 20 20 20 25 25 25 21 21 21 20 20 20 19 19 19 20 20 20
++24 24 24 14 14 14 17 17 17 20 20 20 38 38 38 33 33 33 23 23 23 6 6 6
++19 19 19 20 20 20 19 19 19 13 13 13 17 17 17 17 17 17 8 8 8 14 14 14
++11 11 11 13 13 13 19 19 19 29 29 29 34 34 34 21 21 21 6 6 6 8 8 8
++21 21 21 13 13 13 6 6 6 8 8 8 17 17 17 21 21 21 17 17 17 10 10 10
++10 10 10 13 13 13 16 16 16 28 28 28 31 31 31 16 16 16 10 10 10 17 17 17
++14 14 14 13 13 13 13 13 13 16 16 16 13 13 13 8 8 8 11 11 11 19 19 19
++17 17 17 10 10 10 16 16 16 34 34 34 40 40 40 28 28 28 11 11 11 4 4 4
++14 14 14 17 17 17 14 14 14 11 11 11 19 19 19 31 31 31 36 36 36 33 33 33
++13 13 13 17 17 17 14 14 14 6 6 6 11 11 11 17 17 17 19 19 19 21 21 21
++34 34 34 23 23 23 11 11 11 10 10 10 13 13 13 14 14 14 13 13 13 14 14 14
++16 16 16 21 21 21 31 31 31 32 32 32 23 23 23 8 8 8 6 6 6 14 14 14
++14 14 14 17 17 17 13 13 13 17 17 17 24 24 24 32 32 32 31 31 31 6 6 6
++11 11 11 17 17 17 20 20 20 17 17 17 13 13 13 13 13 13 20 20 20 25 25 25
++31 31 31 21 21 21 8 8 8 4 4 4 13 13 13 19 19 19 16 16 16 10 10 10
++
++0 0 0 8 8 8 20 20 20 19 19 19 17 17 17 23 23 23 32 32 32 37 37 37
++20 20 20 17 17 17 20 20 20 23 23 23 19 19 19 14 14 14 24 24 24 37 37 37
++32 32 32 24 24 24 17 17 17 14 14 14 19 19 19 21 21 21 17 17 17 13 13 13
++4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 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 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 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++6 6 6 10 10 10 14 14 14 17 17 17 20 20 20 20 20 20 20 20 20 20 20 20
++23 23 23 23 23 23 21 21 21 21 21 21 20 20 20 19 19 19 17 17 17 17 17 17
++16 16 16 17 17 17 20 20 20 21 21 21 21 21 21 20 20 20 19 19 19 17 17 17
++17 17 17 13 13 13 8 8 8 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 6 6 6
++8 8 8 13 13 13 13 13 13 10 10 10 10 10 10 19 19 19 31 31 31 38 38 38
++11 11 11 10 10 10 14 14 14 27 27 27 36 36 36 38 38 38 34 34 34 31 31 31
++27 27 27 34 34 34 28 28 28 34 34 34 42 42 42 38 38 38 40 40 40 40 40 40
++39 39 39 48 48 48 48 48 48 44 44 44 49 49 49 51 51 51 48 48 48 48 48 48
++50 50 50 59 59 59 62 62 62 59 59 59 60 60 60 67 67 67 68 68 68 63 63 63
++65 65 65 72 72 72 77 77 77 76 76 76 76 76 76 81 81 81 83 83 83 82 82 82
++82 82 82 87 87 87 90 90 90 91 91 91 93 93 93 99 99 99 101 101 101 101 101 101
++101 101 101 103 103 102 109 110 110 112 112 113 112 112 113 112 112 113 115 116 115 117 117 117
++112 112 113 127 127 127 125 122 126 121 121 119 125 122 126 127 127 127 129 129 130 129 129 130
++131 131 131 134 134 134 139 139 139 142 143 144 142 143 144 142 143 144 144 145 144 147 147 148
++145 146 147 147 147 148 149 149 149 149 149 149 149 149 149 152 153 154 152 153 154 152 153 154
++155 156 156 157 157 157 157 157 157 157 157 157 158 159 161 163 163 163 163 163 163 161 161 162
++158 159 161 157 157 157 155 156 156 149 149 149 144 145 144 140 140 140 137 137 137 134 134 134
++128 128 128 125 122 126 117 117 117 112 112 113 109 110 110 105 105 105 101 101 101 96 96 96
++91 91 91 90 90 90 83 83 83 78 78 78 87 87 87 80 80 80 73 73 73 67 67 67
++69 70 72 58 59 61 152 153 154 238 240 244 238 240 244 238 240 244 238 240 244 238 240 244
++238 240 244 238 240 244 158 159 161 180 183 185 200 220 210 246 251 251 238 240 244 238 240 244
++238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 246 251 251 200 220 210
++109 110 110 105 105 105 125 125 127 134 134 134 144 145 144 152 153 154 152 153 154 166 165 167
++166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167
++166 165 167 161 161 162 161 161 162 163 163 163 161 161 162 157 157 157 155 156 156 158 159 161
++157 157 157 155 156 156 152 153 154 149 151 153 149 149 149 147 147 148 149 149 149 152 153 154
++145 146 147 142 143 144 140 140 140 140 140 140 142 143 144 140 140 140 134 134 134 133 133 133
++129 129 130 129 129 130 129 129 130 128 128 128 125 125 127 121 121 119 117 117 117 117 117 117
++115 116 115 117 117 117 105 105 105 101 101 101 109 110 110 109 110 110 101 101 101 96 97 98
++96 96 96 99 99 99 96 96 96 93 93 93 92 92 92 89 89 89 85 85 85 87 87 87
++76 76 76 78 78 78 82 82 82 81 81 81 75 75 75 74 74 74 73 73 73 67 67 67
++73 73 73 77 77 77 70 70 70 63 63 63 59 59 59 56 56 56 57 57 57 50 50 50
++54 54 54 54 54 54 53 53 53 49 49 49 44 44 44 44 44 44 51 51 51 58 58 58
++44 44 44 36 36 36 36 36 36 40 40 40 38 38 38 33 33 33 31 31 31 29 29 29
++36 36 36 39 39 39 38 38 38 36 36 36 39 39 39 44 44 44 39 39 39 29 29 29
++37 37 37 31 31 31 24 24 24 21 21 21 17 17 17 21 21 21 14 14 14 27 27 27
++39 39 39 34 34 34 33 33 33 37 37 37 45 45 45 38 38 38 34 34 34 36 36 36
++32 32 32 23 23 23 29 29 29 29 29 29 24 24 24 32 32 32 37 37 37 25 25 25
++33 33 33 33 33 33 36 36 36 39 39 39 37 37 37 28 28 28 29 29 29 39 39 39
++36 36 36 29 29 29 25 25 25 27 27 27 32 32 32 36 36 36 33 33 33 31 31 31
++32 32 32 33 33 33 31 31 31 33 33 33 23 23 23 4 4 4 16 16 16 29 29 29
++14 14 14 11 11 11 13 13 13 16 16 16 14 14 14 11 11 11 20 20 20 32 32 32
++24 24 24 20 20 20 28 28 28 40 40 40 34 34 34 13 13 13 6 6 6 19 19 19
++11 11 11 11 11 11 11 11 11 16 16 16 28 28 28 39 39 39 40 40 40 34 34 34
++34 34 34 44 44 44 46 46 46 39 39 39 36 36 36 39 39 39 43 43 43 44 44 44
++43 43 43 37 37 37 37 37 37 42 42 42 42 42 42 38 38 38 38 38 38 43 43 43
++36 36 36 39 39 39 40 40 40 39 39 39 37 37 37 37 37 37 39 39 39 42 42 42
++36 36 36 39 39 39 37 37 37 38 38 38 43 43 43 45 45 45 34 34 34 10 10 10
++4 4 4 10 10 10 13 13 13 8 8 8 6 6 6 14 14 14 24 24 24 31 31 31
++19 19 19 11 11 11 10 10 10 16 16 16 19 19 19 14 14 14 11 11 11 11 11 11
++
++3 3 3 10 10 10 17 17 17 19 19 19 16 16 16 16 16 16 25 25 25 36 36 36
++31 31 31 23 23 23 19 19 19 20 20 20 19 19 19 14 14 14 19 19 19 27 27 27
++29 29 29 29 29 29 25 25 25 17 17 17 17 17 17 20 20 20 17 17 17 10 10 10
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 3 3 3 6 6 6 10 10 10 13 13 13 16 16 16 19 19 19 20 20 20
++20 20 20 20 20 20 20 20 20 19 19 19 19 19 19 17 17 17 17 17 17 17 17 17
++14 14 14 16 16 16 17 17 17 19 19 19 19 19 19 17 17 17 14 14 14 13 13 13
++8 8 8 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8
++6 6 6 8 8 8 8 8 8 8 8 8 16 16 16 25 25 25 27 27 27 23 23 23
++16 16 16 24 24 24 29 29 29 27 27 27 27 27 27 32 32 32 33 33 33 29 29 29
++28 28 28 40 40 40 36 36 36 36 36 36 39 39 39 38 38 38 42 42 42 38 38 38
++46 46 46 36 36 36 48 48 48 56 56 56 42 42 42 46 46 46 59 59 59 52 52 52
++56 56 56 52 52 52 56 56 56 63 63 63 63 63 63 58 58 58 62 62 62 71 71 71
++73 73 73 70 70 70 73 73 73 78 78 78 78 78 78 75 75 75 78 78 78 87 87 87
++89 89 89 89 89 89 89 89 89 90 90 90 94 94 94 99 99 99 99 99 99 96 97 98
++103 103 102 105 105 105 109 110 110 105 105 105 105 105 105 109 110 110 112 112 113 115 116 115
++121 121 119 125 122 126 117 117 117 125 122 126 129 129 130 127 127 127 129 129 130 134 134 134
++134 134 134 134 134 134 134 134 134 137 137 137 140 140 140 144 145 144 142 143 144 140 140 140
++149 149 149 145 146 147 147 147 148 152 153 154 155 156 156 152 153 154 152 153 154 155 156 156
++158 159 161 161 161 162 161 161 162 157 157 157 157 157 157 161 161 162 163 163 163 161 161 162
++166 165 167 161 161 162 157 157 157 155 156 156 155 156 156 149 151 153 144 145 144 140 140 140
++140 140 140 134 134 134 128 128 128 125 125 127 121 121 119 121 121 119 115 116 115 112 112 113
++105 105 105 105 105 105 101 101 101 83 83 83 87 87 87 80 80 80 73 73 73 69 69 69
++58 59 61 69 70 72 60 61 64 200 220 210 238 240 244 246 251 251 238 240 244 238 240 244
++238 240 244 255 255 255 231 246 232 200 220 210 238 240 244 246 251 251 246 251 251 238 240 244
++238 240 244 246 251 251 238 240 244 238 240 244 246 251 251 246 251 251 238 240 244 246 251 251
++166 167 167 109 110 110 121 121 119 140 140 140 144 145 144 158 159 161 157 157 157 166 167 167
++166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167
++163 163 163 158 159 161 160 161 160 166 167 167 166 167 167 158 159 161 155 156 156 155 156 156
++155 156 156 157 157 157 157 157 157 152 153 154 147 147 148 145 146 147 147 147 148 149 149 149
++147 147 148 142 143 144 137 138 139 140 140 140 145 146 147 147 147 148 139 139 139 128 128 128
++128 128 128 127 127 127 128 128 128 133 133 133 129 129 130 121 121 119 115 116 115 115 116 115
++128 128 128 129 129 130 121 121 119 105 105 105 109 110 110 125 122 126 128 128 128 121 121 119
++99 99 99 96 97 98 96 96 96 95 95 94 91 91 91 89 89 89 88 88 88 85 85 85
++83 83 83 80 80 80 88 88 88 91 91 91 78 78 78 66 66 66 66 66 66 68 68 68
++81 81 81 80 80 80 66 66 66 62 62 62 58 58 58 54 54 54 58 58 58 52 52 52
++48 48 48 50 50 50 54 54 54 58 58 58 61 61 61 63 63 63 63 63 63 62 62 62
++60 60 60 49 49 49 45 45 45 43 43 43 34 34 34 33 33 33 36 36 36 34 34 34
++43 43 43 51 51 51 56 56 56 54 54 54 57 57 57 61 61 61 58 58 58 49 49 49
++53 53 53 49 49 49 43 43 43 32 32 32 14 14 14 23 23 23 13 13 13 20 20 20
++37 37 37 45 45 45 49 49 49 49 49 49 51 51 51 46 46 46 48 48 48 57 57 57
++56 56 56 50 50 50 52 52 52 54 54 54 45 45 45 46 46 46 51 51 51 45 45 45
++44 44 44 42 42 42 46 46 46 51 51 51 48 48 48 43 43 43 44 44 44 48 48 48
++50 50 50 51 51 51 50 50 50 49 49 49 48 48 48 48 48 48 51 51 51 53 53 53
++48 48 48 46 46 46 33 33 33 25 25 25 14 14 14 11 11 11 27 27 27 25 25 25
++13 13 13 10 10 10 11 11 11 16 16 16 14 14 14 13 13 13 24 24 24 38 38 38
++29 29 29 33 33 33 34 34 34 29 29 29 17 17 17 10 10 10 13 13 13 19 19 19
++8 8 8 11 11 11 17 17 17 28 28 28 39 39 39 45 45 45 43 43 43 37 37 37
++44 44 44 49 49 49 53 53 53 50 50 50 39 39 39 34 34 34 36 36 36 36 36 36
++39 39 39 40 40 40 43 43 43 44 44 44 42 42 42 39 39 39 39 39 39 42 42 42
++43 43 43 42 42 42 39 39 39 37 37 37 38 38 38 40 40 40 42 42 42 39 39 39
++38 38 38 39 39 39 42 42 42 40 40 40 38 38 38 32 32 32 19 19 19 10 10 10
++19 19 19 16 16 16 10 10 10 10 10 10 19 19 19 27 27 27 25 25 25 19 19 19
++10 10 10 10 10 10 13 13 13 17 17 17 16 16 16 11 11 11 10 10 10 13 13 13
++
++44 44 44 25 25 25 11 11 11 17 17 17 23 23 23 19 19 19 16 16 16 20 20 20
++39 39 39 33 33 33 19 19 19 6 6 6 11 11 11 21 21 21 21 21 21 13 13 13
++24 24 24 33 33 33 32 32 32 21 21 21 16 16 16 19 19 19 17 17 17 8 8 8
++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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++3 3 3 0 0 0 0 0 0 3 3 3 6 6 6 13 13 13 17 17 17 20 20 20
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20
++21 21 21 21 21 21 20 20 20 17 17 17 14 14 14 10 10 10 4 4 4 3 3 3
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8
++8 8 8 10 10 10 11 11 11 20 20 20 32 32 32 36 36 36 24 24 24 4 4 4
++21 21 21 17 17 17 23 23 23 32 32 32 31 31 31 23 23 23 28 28 28 40 40 40
++33 33 33 36 36 36 23 23 23 24 24 24 33 33 33 37 37 37 51 51 51 60 60 60
++50 50 50 45 45 45 34 34 34 36 36 36 44 44 44 44 44 44 53 53 53 76 76 76
++69 69 69 58 58 58 51 51 51 53 53 53 57 57 57 58 58 58 68 68 68 81 81 81
++90 90 90 72 72 72 62 62 62 69 69 69 74 74 74 73 73 73 81 81 81 94 94 94
++105 105 105 94 94 94 88 88 88 89 89 89 89 89 89 87 87 87 95 95 94 109 110 110
++121 121 119 121 121 119 115 116 115 105 104 105 103 103 102 112 112 113 125 125 127 133 133 133
++140 140 140 128 128 128 112 112 113 128 128 128 137 138 139 127 127 127 128 128 128 133 133 133
++149 151 153 147 147 148 139 139 139 131 131 131 133 133 133 142 143 144 149 149 149 149 149 149
++161 161 162 152 153 154 149 149 149 157 157 157 157 157 157 149 151 153 149 149 149 155 156 156
++166 167 167 166 167 167 166 167 167 161 161 162 157 157 157 158 159 161 160 161 160 158 159 161
++169 175 167 166 167 167 161 161 162 161 161 162 166 165 167 161 161 162 152 153 154 144 145 144
++149 149 149 144 145 144 139 139 139 134 134 134 133 133 133 133 133 133 129 129 130 128 128 128
++115 116 115 109 110 110 112 112 113 92 92 92 95 95 94 89 89 89 82 82 82 78 78 78
++76 76 76 63 65 67 16 20 21 71 72 74 246 251 251 238 240 244 246 251 251 246 251 251
++238 240 244 238 240 244 231 224 220 180 183 185 180 183 185 238 240 244 238 240 244 246 251 251
++238 240 244 238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 246 251 251 238 240 244
++238 240 244 131 131 131 127 127 127 147 147 148 147 147 148 166 167 167 163 163 163 166 165 167
++161 161 162 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 169 175 167 169 175 167
++163 163 163 158 159 161 160 161 160 166 167 167 166 167 167 163 163 163 157 157 157 152 153 154
++149 151 153 157 157 157 161 161 162 155 156 156 147 147 148 144 145 144 144 145 144 144 145 144
++157 157 157 147 147 148 137 137 137 137 137 137 147 147 148 152 153 154 147 147 148 134 134 134
++128 128 128 125 122 126 127 127 127 134 134 134 134 134 134 125 122 126 115 116 115 112 112 113
++109 110 110 121 121 119 127 127 127 115 116 115 109 110 110 121 121 119 121 121 119 101 101 101
++101 101 101 95 95 94 96 96 96 96 96 96 90 90 90 91 91 91 93 93 93 87 87 87
++76 76 76 68 68 68 78 78 78 95 95 94 87 87 87 72 72 72 74 74 74 85 85 85
++73 73 73 70 70 70 58 58 58 61 61 61 60 60 60 56 56 56 68 68 68 71 71 71
++77 77 77 67 67 67 54 54 54 50 50 50 54 54 54 63 63 63 69 69 69 69 69 69
++69 69 69 67 67 67 70 70 70 68 68 68 57 57 57 49 49 49 40 40 40 27 27 27
++23 23 23 38 38 38 49 49 49 50 50 50 51 51 51 57 57 57 57 57 57 52 52 52
++51 51 51 54 54 54 60 60 60 46 46 46 17 17 17 28 28 28 19 19 19 14 14 14
++21 21 21 42 42 42 51 51 51 50 50 50 50 50 50 48 48 48 44 44 44 48 48 48
++42 42 42 50 50 50 45 45 45 46 46 46 50 50 50 40 40 40 40 40 40 56 56 56
++50 50 50 42 42 42 44 44 44 50 50 50 49 49 49 48 48 48 49 49 49 44 44 44
++50 50 50 52 52 52 53 53 53 50 50 50 45 45 45 45 45 45 50 50 50 54 54 54
++40 40 40 36 36 36 16 16 16 4 4 4 4 4 4 20 20 20 33 33 33 14 14 14
++14 14 14 10 10 10 13 13 13 17 17 17 14 14 14 11 11 11 23 23 23 38 38 38
++31 31 31 39 39 39 32 32 32 11 11 11 4 4 4 17 17 17 17 17 17 4 4 4
++11 11 11 17 17 17 28 28 28 42 42 42 49 49 49 49 49 49 44 44 44 39 39 39
++39 39 39 38 38 38 49 49 49 56 56 56 46 46 46 39 39 39 43 43 43 44 44 44
++36 36 36 39 39 39 39 39 39 34 34 34 34 34 34 40 40 40 43 43 43 39 39 39
++42 42 42 40 40 40 39 39 39 40 40 40 40 40 40 40 40 40 42 42 42 43 43 43
++40 40 40 37 37 37 45 45 45 44 44 44 36 36 36 23 23 23 8 8 8 20 20 20
++10 10 10 11 11 11 13 13 13 16 16 16 25 25 25 31 31 31 24 24 24 13 13 13
++13 13 13 13 13 13 11 11 11 10 10 10 10 10 10 11 11 11 13 13 13 13 13 13
++
++36 36 36 36 36 36 29 29 29 20 20 20 16 16 16 17 17 17 17 17 17 16 16 16
++20 20 20 32 32 32 33 33 33 20 20 20 13 13 13 19 19 19 21 21 21 14 14 14
++19 19 19 25 25 25 31 31 31 31 31 31 25 25 25 17 17 17 6 6 6 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4
++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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++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 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 0 3 3 3 4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 4 4 4 8 8 8 10 10 10 11 11 11 8 8 8 6 6 6 4 4 4
++4 4 4 4 4 4 4 4 4 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6
++10 10 10 3 3 3 14 14 14 34 34 34 34 34 34 17 17 17 10 10 10 19 19 19
++27 27 27 23 23 23 19 19 19 32 32 32 46 46 46 38 38 38 21 21 21 23 23 23
++57 57 57 43 43 43 24 24 24 23 23 23 40 40 40 52 52 52 46 46 46 33 33 33
++73 73 73 48 48 48 42 42 42 34 34 34 36 36 36 56 56 56 73 73 73 59 59 59
++88 88 88 68 68 68 59 59 59 51 51 51 49 49 49 54 54 54 66 66 66 90 90 90
++96 96 96 88 88 88 72 72 72 68 68 68 73 73 73 70 70 70 73 73 73 90 90 90
++105 105 105 112 112 113 93 93 93 80 80 80 89 89 89 92 92 92 89 89 89 99 99 99
++115 116 115 127 127 127 121 121 119 99 99 99 105 105 105 128 128 128 125 122 126 115 116 115
++129 129 130 137 137 137 140 140 140 134 134 134 127 127 127 121 121 119 127 127 127 134 134 134
++144 145 144 149 149 149 147 147 148 140 140 140 137 138 139 144 145 144 145 146 147 142 143 144
++144 145 144 161 161 162 163 163 163 149 149 149 144 145 144 147 147 148 152 153 154 161 161 162
++163 163 163 169 175 167 166 167 167 160 161 160 158 159 161 157 157 157 161 161 162 158 159 161
++163 163 163 166 167 167 166 167 167 166 167 167 169 175 167 161 161 162 155 156 156 152 153 154
++152 153 154 152 153 154 155 156 156 149 149 149 142 143 144 144 145 144 142 143 144 131 131 131
++125 125 127 127 127 127 121 121 119 115 116 115 103 103 102 94 94 94 94 94 94 87 87 87
++71 72 74 60 61 64 8 10 13 8 10 13 147 147 148 238 240 244 238 240 244 238 240 244
++238 240 244 238 240 244 238 240 244 238 240 244 200 220 210 238 240 244 238 240 244 246 251 251
++238 240 244 246 251 251 238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244
++238 240 244 187 210 182 134 134 134 142 143 144 155 156 156 158 159 161 169 175 167 161 161 162
++166 167 167 166 167 167 166 167 167 163 163 163 163 163 163 169 175 167 169 175 167 161 161 162
++158 159 161 160 161 160 158 159 161 158 159 161 163 163 163 166 167 167 161 161 162 155 156 156
++149 151 153 149 151 153 155 156 156 158 159 161 157 157 157 147 147 148 142 143 144 142 143 144
++139 139 139 155 156 156 149 149 149 134 134 134 137 138 139 147 147 148 145 146 147 144 145 144
++137 137 137 129 129 130 121 121 119 121 121 119 128 128 128 133 133 133 127 127 127 115 116 115
++109 110 110 109 110 110 121 121 119 125 125 127 117 117 117 115 116 115 109 110 110 101 101 101
++99 99 99 96 97 98 96 97 98 95 95 94 91 91 91 90 90 90 96 97 98 105 105 105
++84 84 84 78 78 78 76 76 76 85 85 85 96 96 96 99 99 99 87 87 87 75 75 75
++66 66 66 65 65 65 61 61 61 62 62 62 70 70 70 80 80 80 82 82 82 77 77 77
++61 61 61 53 53 53 54 54 54 63 63 63 61 61 61 51 51 51 56 56 56 70 70 70
++68 68 68 66 66 66 63 63 63 65 65 65 66 66 66 65 65 65 60 60 60 56 56 56
++32 32 32 42 42 42 44 44 44 40 40 40 45 45 45 57 57 57 59 59 59 52 52 52
++52 52 52 58 58 58 50 50 50 51 51 51 42 42 42 14 14 14 13 13 13 25 25 25
++36 36 36 40 40 40 46 46 46 49 49 49 50 50 50 50 50 50 49 49 49 48 48 48
++50 50 50 49 49 49 46 46 46 42 42 42 38 38 38 39 39 39 43 43 43 46 46 46
++40 40 40 40 40 40 40 40 40 39 39 39 39 39 39 38 38 38 38 38 38 38 38 38
++36 36 36 42 42 42 44 44 44 49 49 49 39 39 39 34 34 34 45 45 45 44 44 44
++32 32 32 21 21 21 17 17 17 11 11 11 20 20 20 8 8 8 32 32 32 19 19 19
++14 14 14 13 13 13 14 14 14 17 17 17 14 14 14 13 13 13 25 25 25 38 38 38
++38 38 38 25 25 25 14 14 14 11 11 11 13 13 13 14 14 14 14 14 14 14 14 14
++11 11 11 32 32 32 44 44 44 39 39 39 36 36 36 44 44 44 51 51 51 50 50 50
++33 33 33 40 40 40 44 44 44 43 43 43 42 42 42 44 44 44 42 42 42 38 38 38
++39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
++39 39 39 39 39 39 38 38 38 38 38 38 38 38 38 38 38 38 39 39 39 42 42 42
++36 36 36 44 44 44 44 44 44 32 32 32 17 17 17 11 11 11 11 11 11 10 10 10
++16 16 16 8 8 8 13 13 13 28 28 28 31 31 31 20 20 20 13 13 13 16 16 16
++14 14 14 11 11 11 11 11 11 16 16 16 13 13 13 13 13 13 24 24 24 38 38 38
++
++21 21 21 34 34 34 37 37 37 24 24 24 14 14 14 17 17 17 21 21 21 20 20 20
++16 16 16 19 19 19 27 27 27 33 33 33 28 28 28 17 17 17 16 16 16 23 23 23
++16 16 16 14 14 14 21 21 21 33 33 33 32 32 32 14 14 14 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 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 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 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
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 8 8 8 10 10 10
++13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++10 10 10 6 6 6 0 0 0 0 0 0 6 6 6 10 10 10 11 11 11 11 11 11
++0 0 0 17 17 17 34 34 34 37 37 37 23 23 23 8 8 8 14 14 14 28 28 28
++24 24 24 24 24 24 36 36 36 46 46 46 38 38 38 20 20 20 16 16 16 24 24 24
++32 32 32 60 60 60 48 48 48 32 32 32 51 51 51 46 46 46 27 27 27 38 38 38
++33 33 33 71 71 71 59 59 59 43 43 43 45 45 45 72 72 72 57 57 57 44 44 44
++45 45 45 87 87 87 75 75 75 58 58 58 53 53 53 68 68 68 88 88 88 61 61 61
++62 62 62 93 93 93 94 94 94 74 74 74 70 70 70 76 76 76 85 85 85 96 97 98
++88 88 88 101 101 101 112 112 113 103 103 102 87 87 87 87 87 87 99 99 99 109 110 110
++115 116 115 121 121 119 125 122 126 117 117 117 121 121 119 121 121 119 109 110 110 112 112 113
++117 117 117 129 129 130 139 139 139 134 134 134 125 122 126 121 121 119 129 129 130 140 140 140
++134 134 134 140 140 140 144 145 144 147 147 148 144 145 144 139 139 139 137 138 139 139 139 139
++149 149 149 157 157 157 160 161 160 157 157 157 152 153 154 152 153 154 152 153 154 157 157 157
++157 157 157 169 175 167 166 167 167 166 165 167 161 161 162 157 157 157 160 161 160 158 159 161
++157 157 157 166 167 167 166 167 167 169 175 167 169 175 167 161 161 162 157 157 157 157 157 157
++155 156 156 157 157 157 158 159 161 157 157 157 152 153 154 155 156 156 149 151 153 140 140 140
++137 137 137 128 128 128 125 125 127 128 128 128 115 116 115 105 105 105 103 103 102 85 85 85
++87 88 90 20 21 24 14 16 19 11 13 16 25 27 29 200 220 210 246 251 251 238 240 244
++238 240 244 246 251 251 246 251 251 238 240 244 180 183 185 180 183 185 231 224 220 238 240 244
++246 251 251 246 251 251 238 240 244 238 240 244 238 240 244 246 251 251 238 240 244 246 251 251
++238 240 244 238 240 244 149 151 153 142 143 144 157 157 157 152 153 154 180 183 185 161 161 162
++166 167 167 166 167 167 166 165 167 166 165 167 166 167 167 169 175 167 166 167 167 161 161 162
++161 161 162 161 161 162 158 159 161 157 157 157 157 157 157 158 159 161 161 161 162 163 163 163
++152 153 154 149 151 153 149 149 149 155 156 156 157 157 157 152 153 154 145 146 147 140 140 140
++144 145 144 140 140 140 149 149 149 144 145 144 131 131 131 139 139 139 147 147 148 137 137 137
++140 140 140 134 134 134 125 122 126 117 117 117 121 121 119 127 127 127 128 128 128 122 121 126
++109 110 110 105 105 105 109 110 110 117 117 117 115 116 115 109 110 110 105 104 105 99 99 99
++101 101 101 96 96 96 94 94 94 92 92 92 87 87 87 82 82 82 85 85 85 91 91 91
++103 103 102 99 99 99 95 95 94 92 92 92 90 90 90 84 84 84 74 74 74 67 67 67
++68 68 68 72 72 72 76 76 76 77 77 77 81 81 81 83 83 83 80 80 80 75 75 75
++59 59 59 59 59 59 61 61 61 63 63 63 59 59 59 52 52 52 50 50 50 52 52 52
++49 49 49 44 44 44 39 39 39 37 37 37 37 37 37 38 38 38 37 37 37 36 36 36
++46 46 46 43 43 43 34 34 34 27 27 27 27 27 27 32 32 32 31 31 31 25 25 25
++28 28 28 32 32 32 27 27 27 32 32 32 29 29 29 19 19 19 27 27 27 34 34 34
++28 28 28 25 25 25 23 23 23 23 23 23 23 23 23 21 21 21 23 23 23 25 25 25
++21 21 21 21 21 21 21 21 21 20 20 20 21 21 21 25 25 25 32 32 32 37 37 37
++20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 17 17 17
++21 21 21 20 20 20 17 17 17 21 21 21 19 19 19 21 21 21 36 36 36 33 33 33
++23 23 23 14 14 14 13 13 13 10 10 10 13 13 13 13 13 13 23 23 23 10 10 10
++11 11 11 11 11 11 13 13 13 13 13 13 11 11 11 20 20 20 33 33 33 39 39 39
++25 25 25 14 14 14 8 8 8 13 13 13 16 16 16 11 11 11 10 10 10 14 14 14
++34 34 34 32 32 32 29 29 29 28 28 28 31 31 31 38 38 38 46 46 46 52 52 52
++52 52 52 45 45 45 37 37 37 36 36 36 44 44 44 52 52 52 48 48 48 38 38 38
++39 39 39 39 39 39 38 38 38 39 39 39 40 40 40 40 40 40 39 39 39 39 39 39
++40 40 40 40 40 40 39 39 39 38 38 38 38 38 38 38 38 38 39 39 39 40 40 40
++42 42 42 37 37 37 28 28 28 19 19 19 14 14 14 14 14 14 14 14 14 13 13 13
++8 8 8 19 19 19 29 29 29 31 31 31 23 23 23 14 14 14 11 11 11 13 13 13
++8 8 8 14 14 14 16 16 16 13 13 13 16 16 16 24 24 24 25 25 25 20 20 20
++
++14 14 14 27 27 27 36 36 36 34 34 34 27 27 27 20 20 20 17 17 17 17 17 17
++11 11 11 11 11 11 21 21 21 36 36 36 38 38 38 27 27 27 17 17 17 19 19 19
++14 14 14 13 13 13 17 17 17 25 25 25 27 27 27 17 17 17 4 4 4 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 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 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 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
++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 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 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 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 0 0 0 0 0 0 0 0 3 3 3 8 8 8 11 11 11 13 13 13
++10 10 10 8 8 8 6 6 6 4 4 4 4 4 4 6 6 6 10 10 10 11 11 11
++13 13 13 10 10 10 4 4 4 0 0 0 4 4 4 10 10 10 11 11 11 10 10 10
++13 13 13 31 31 31 39 39 39 27 27 27 10 10 10 8 8 8 20 20 20 28 28 28
++19 19 19 25 25 25 43 43 43 44 44 44 23 23 23 14 14 14 24 24 24 25 25 25
++19 19 19 45 45 45 61 61 61 59 59 59 48 48 48 32 32 32 25 25 25 32 32 32
++32 32 32 45 45 45 70 70 70 58 58 58 66 66 66 48 48 48 51 51 51 39 39 39
++45 45 45 57 57 57 84 84 84 69 69 69 67 67 67 82 82 82 63 63 63 61 61 61
++59 59 59 67 67 67 99 99 99 99 99 99 69 69 69 82 82 82 101 101 101 80 80 80
++71 71 71 88 88 88 105 105 105 109 110 110 96 96 96 95 95 94 105 105 105 112 112 113
++96 96 96 99 99 99 115 116 115 127 127 127 127 127 127 112 112 113 99 99 99 112 112 113
++125 122 126 129 129 130 137 138 139 139 139 139 133 133 133 129 129 130 133 133 133 137 137 137
++125 122 126 129 129 130 142 143 144 152 153 154 149 151 153 140 140 140 137 138 139 142 143 144
++152 153 154 147 147 148 152 153 154 158 159 161 161 161 162 157 157 157 152 153 154 149 149 149
++157 157 157 166 167 167 166 167 167 166 165 167 166 165 167 161 161 162 161 161 162 157 157 157
++155 156 156 163 163 163 166 167 167 169 175 167 169 175 167 166 167 167 163 163 163 161 161 162
++158 159 161 161 161 162 163 163 163 163 163 163 163 163 163 163 163 163 158 159 161 147 147 148
++144 145 144 139 139 139 133 133 133 137 137 137 128 128 128 117 117 117 109 110 110 96 96 96
++71 72 74 8 10 13 20 21 24 0 0 4 0 0 4 73 74 76 246 251 251 238 240 244
++238 240 244 238 240 244 246 251 251 246 251 251 238 240 244 200 220 210 238 240 244 238 240 244
++238 240 244 238 240 244 238 240 244 238 240 244 238 240 244 246 251 251 238 240 244 238 240 244
++238 240 244 246 251 251 200 220 210 139 140 142 152 153 154 166 165 167 166 167 167 169 175 167
++166 165 167 166 167 167 166 165 167 166 167 167 169 175 167 166 167 167 166 165 167 161 161 162
++161 161 162 160 161 160 158 159 161 157 157 157 152 153 154 152 153 154 158 159 161 166 167 167
++157 157 157 152 153 154 145 146 147 147 147 148 152 153 154 157 157 157 149 151 153 144 145 144
++137 137 137 140 140 140 142 143 144 144 145 144 142 143 144 137 137 137 134 134 134 137 138 139
++137 138 139 137 137 137 129 129 130 121 121 119 115 116 115 117 117 117 125 122 126 128 128 128
++121 121 119 109 110 110 103 103 102 105 105 105 112 112 113 105 105 105 99 99 99 101 101 101
++99 99 99 94 94 94 93 93 93 96 97 98 96 97 98 91 91 91 91 91 91 95 95 94
++109 110 110 105 105 105 103 103 102 93 93 93 83 83 83 74 74 74 71 71 71 71 71 71
++81 81 81 83 83 83 84 84 84 84 84 84 84 84 84 84 84 84 82 82 82 77 77 77
++58 58 58 62 62 62 61 61 61 54 54 54 51 51 51 51 51 51 48 48 48 40 40 40
++43 43 43 44 44 44 45 45 45 46 46 46 46 46 46 46 46 46 44 44 44 43 43 43
++49 49 49 40 40 40 33 33 33 29 29 29 25 25 25 24 24 24 29 29 29 38 38 38
++33 33 33 34 34 34 29 29 29 33 33 33 32 32 32 31 31 31 37 37 37 31 31 31
++19 19 19 14 14 14 16 16 16 24 24 24 31 31 31 29 29 29 28 28 28 29 29 29
++28 28 28 28 28 28 28 28 28 27 27 27 27 27 27 29 29 29 34 34 34 38 38 38
++27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 25 25 25 25 25 25 25 25 25
++31 31 31 28 28 28 24 24 24 31 31 31 32 32 32 33 33 33 40 40 40 31 31 31
++16 16 16 11 11 11 10 10 10 11 11 11 10 10 10 24 24 24 16 16 16 6 6 6
++14 14 14 10 10 10 10 10 10 10 10 10 17 17 17 33 33 33 38 38 38 28 28 28
++14 14 14 8 8 8 10 10 10 14 14 14 13 13 13 8 8 8 14 14 14 28 28 28
++43 43 43 31 31 31 23 23 23 24 24 24 25 25 25 20 20 20 24 24 24 34 34 34
++51 51 51 49 49 49 43 43 43 39 39 39 40 40 40 46 46 46 49 49 49 49 49 49
++42 42 42 39 39 39 38 38 38 38 38 38 40 40 40 42 42 42 40 40 40 39 39 39
++42 42 42 42 42 42 39 39 39 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40
++43 43 43 28 28 28 13 13 13 8 8 8 14 14 14 16 16 16 13 13 13 10 10 10
++13 13 13 29 29 29 34 34 34 23 23 23 11 11 11 11 11 11 13 13 13 10 10 10
++8 8 8 13 13 13 14 14 14 14 14 14 21 21 21 28 28 28 24 24 24 13 13 13
++
++21 21 21 16 16 16 23 23 23 38 38 38 42 42 42 28 28 28 13 13 13 8 8 8
++11 11 11 19 19 19 21 21 21 24 24 24 32 32 32 38 38 38 29 29 29 10 10 10
++14 14 14 23 23 23 21 21 21 10 10 10 11 11 11 21 21 21 21 21 21 10 10 10
++0 0 0 0 0 0 4 4 4 6 6 6 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 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 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 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 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 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 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 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 11 11 11 11 11 11 10 10 10
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4
++11 11 11 14 14 14 14 14 14 10 10 10 6 6 6 8 8 8 10 10 10 8 8 8
++37 37 37 33 33 33 21 21 21 6 6 6 6 6 6 20 20 20 25 25 25 20 20 20
++25 25 25 32 32 32 33 33 33 21 21 21 11 11 11 23 23 23 29 29 29 19 19 19
++23 23 23 27 27 27 51 51 51 65 65 65 49 49 49 31 31 31 29 29 29 29 29 29
++38 38 38 34 34 34 44 44 44 87 87 87 61 61 61 51 51 51 33 33 33 48 48 48
++53 53 53 45 45 45 52 52 52 87 87 87 91 91 91 63 63 63 56 56 56 60 60 60
++65 65 65 67 67 67 71 71 71 89 89 89 105 105 105 94 94 94 74 74 74 72 72 72
++76 76 76 83 83 83 83 83 83 93 93 93 112 112 113 112 112 113 101 101 101 99 99 99
++92 92 92 99 99 99 115 116 115 125 125 127 128 128 128 121 121 119 112 112 113 121 121 119
++128 128 128 121 121 119 121 121 119 129 129 130 139 139 139 140 140 140 133 133 133 121 121 119
++125 125 127 131 131 131 142 143 144 149 149 149 149 149 149 147 147 148 145 146 147 145 146 147
++147 147 148 139 139 139 142 143 144 155 156 156 161 161 162 163 163 163 157 157 157 144 145 144
++161 161 162 166 167 167 157 157 157 158 159 161 166 167 167 166 167 167 166 167 167 157 157 157
++161 161 162 161 161 162 160 161 160 169 175 167 180 183 185 169 175 167 166 167 167 163 163 163
++163 163 163 163 163 163 163 163 163 166 165 167 166 167 167 166 167 167 163 163 163 152 153 154
++149 149 149 152 153 154 142 143 144 137 137 137 134 134 134 127 127 127 117 117 117 109 110 110
++35 36 38 11 13 16 14 16 19 14 16 19 14 16 19 1 3 7 142 143 144 246 251 251
++246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 180 183 185 180 183 185 200 220 210
++238 240 244 238 240 244 238 240 244 238 240 244 238 240 244 246 251 251 246 251 251 246 251 251
++238 240 244 246 251 251 238 240 244 180 183 185 149 149 149 161 161 162 169 175 167 169 175 167
++163 163 163 166 167 167 166 165 167 166 167 167 169 175 167 166 167 167 158 159 161 161 161 162
++158 159 161 157 157 157 157 157 157 158 159 161 155 156 156 149 151 153 152 153 154 160 161 160
++161 161 162 157 157 157 149 149 149 142 143 144 144 145 144 149 151 153 152 153 154 149 149 149
++133 133 133 140 140 140 137 137 137 139 139 139 147 147 148 140 140 140 133 133 133 142 143 144
++129 129 130 131 131 131 134 134 134 133 133 133 121 121 119 112 112 113 115 116 115 125 122 126
++128 128 128 121 121 119 105 105 105 103 103 102 109 110 110 105 104 105 99 99 99 105 104 105
++96 96 96 93 93 93 96 96 96 105 105 105 109 110 110 105 105 105 105 104 105 105 105 105
++101 101 101 99 99 99 93 93 93 85 85 85 75 75 75 73 73 73 77 77 77 83 83 83
++90 90 90 87 87 87 84 84 84 83 83 83 83 83 83 83 83 83 80 80 80 76 76 76
++68 68 68 67 67 67 58 58 58 45 45 45 42 42 42 46 46 46 48 48 48 42 42 42
++45 45 45 49 49 49 52 52 52 56 56 56 58 58 58 59 59 59 59 59 59 59 59 59
++59 59 59 54 54 54 52 52 52 49 49 49 36 36 36 21 21 21 31 31 31 48 48 48
++54 54 54 54 54 54 52 52 52 51 51 51 45 45 45 44 44 44 43 43 43 19 19 19
++20 20 20 16 16 16 21 21 21 38 38 38 50 50 50 51 51 51 49 49 49 49 49 49
++51 51 51 50 50 50 48 48 48 45 45 45 44 44 44 44 44 44 45 45 45 46 46 46
++49 49 49 48 48 48 48 48 48 46 46 46 46 46 46 45 45 45 44 44 44 44 44 44
++39 39 39 40 40 40 38 38 38 44 44 44 43 43 43 44 44 44 49 49 49 37 37 37
++16 16 16 13 13 13 11 11 11 17 17 17 11 11 11 36 36 36 14 14 14 10 10 10
++20 20 20 10 10 10 8 8 8 19 19 19 32 32 32 40 40 40 32 32 32 10 10 10
++11 11 11 13 13 13 14 14 14 14 14 14 11 11 11 16 16 16 28 28 28 39 39 39
++28 28 28 29 29 29 33 33 33 39 39 39 37 37 37 20 20 20 11 11 11 21 21 21
++37 37 37 42 42 42 45 45 45 42 42 42 38 38 38 39 39 39 45 45 45 51 51 51
++45 45 45 43 43 43 38 38 38 38 38 38 39 39 39 40 40 40 40 40 40 39 39 39
++42 42 42 40 40 40 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40
++36 36 36 23 23 23 11 11 11 13 13 13 16 16 16 13 13 13 10 10 10 11 11 11
++31 31 31 31 31 31 23 23 23 8 8 8 6 6 6 17 17 17 17 17 17 8 8 8
++16 16 16 10 10 10 11 11 11 23 23 23 28 28 28 27 27 27 24 24 24 27 27 27
++
++21 21 21 13 13 13 13 13 13 27 27 27 37 37 37 36 36 36 24 24 24 13 13 13
++13 13 13 23 23 23 23 23 23 13 13 13 20 20 20 36 36 36 37 37 37 23 23 23
++16 16 16 24 24 24 19 19 19 0 0 0 0 0 0 14 14 14 24 24 24 20 20 20
++11 11 11 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 4 4 4
++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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 3 3 3 8 8 8 11 11 11 11 11 11 8 8 8 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 6 6 6
++4 4 4 14 14 14 19 19 19 10 10 10 3 3 3 6 6 6 14 14 14 19 19 19
++36 36 36 23 23 23 4 4 4 0 0 0 13 13 13 25 25 25 25 25 25 20 20 20
++38 38 38 34 34 34 20 20 20 8 8 8 17 17 17 21 21 21 16 16 16 13 13 13
++31 31 31 40 40 40 32 32 32 37 37 37 57 57 57 48 48 48 28 28 28 36 36 36
++28 28 28 48 48 48 59 59 59 44 44 44 82 82 82 60 60 60 49 49 49 42 42 42
++42 42 42 52 52 52 59 59 59 80 80 80 87 87 87 75 75 75 68 68 68 54 54 54
++65 65 65 63 63 63 65 65 65 85 85 85 105 105 105 99 99 99 77 77 77 72 72 72
++83 83 83 81 81 81 76 76 76 91 91 91 115 116 115 117 117 117 101 101 101 88 88 88
++99 99 99 105 105 105 112 112 113 109 110 110 117 117 117 128 128 128 125 122 126 125 125 127
++117 117 117 109 110 110 112 112 113 127 127 127 137 138 139 144 145 144 140 140 140 127 127 127
++134 134 134 140 140 140 139 139 139 134 134 134 140 140 140 152 153 154 152 153 154 145 146 147
++139 139 139 137 138 139 144 145 144 149 151 153 152 153 154 157 157 157 158 159 161 149 151 153
++163 163 163 163 163 163 152 153 154 152 153 154 163 163 163 166 167 167 166 167 167 163 163 163
++163 163 163 158 159 161 157 157 157 166 167 167 169 175 167 166 167 167 169 175 167 166 167 167
++166 167 167 166 165 167 161 161 162 163 163 163 166 167 167 169 175 167 166 167 167 161 161 162
++155 156 156 157 157 157 149 149 149 142 143 144 137 137 137 137 137 137 127 127 127 93 93 93
++10 11 14 11 13 16 6 8 11 20 21 24 6 8 11 24 25 28 20 21 24 200 220 210
++238 240 244 238 240 244 246 251 251 246 251 251 252 251 251 238 240 244 200 220 210 238 240 244
++238 240 244 252 251 251 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 238 240 244
++238 240 244 238 240 244 238 240 244 231 246 232 152 153 154 160 161 160 163 163 163 169 175 167
++163 163 163 166 167 167 166 165 167 166 167 167 169 175 167 163 163 163 157 157 157 161 161 162
++160 161 160 157 157 157 157 157 157 157 157 157 157 157 157 152 153 154 149 149 149 152 153 154
++155 156 156 157 157 157 155 156 156 145 146 147 140 140 140 144 145 144 149 149 149 149 151 153
++147 147 148 134 134 134 137 137 137 139 139 139 133 133 133 140 140 140 147 147 148 137 138 139
++133 133 133 127 127 127 128 128 128 137 137 137 133 133 133 117 117 117 109 110 110 112 112 113
++122 121 126 127 127 127 115 116 115 105 105 105 105 105 105 105 105 105 101 101 101 103 103 102
++96 96 96 96 96 96 101 101 101 109 110 110 112 112 113 109 110 110 105 105 105 105 104 105
++99 99 99 93 93 93 85 85 85 78 78 78 75 75 75 77 77 77 84 84 84 88 88 88
++87 87 87 87 87 87 87 87 87 84 84 84 78 78 78 72 72 72 69 69 69 68 68 68
++63 63 63 59 59 59 50 50 50 45 45 45 50 50 50 59 59 59 67 67 67 70 70 70
++58 58 58 56 56 56 52 52 52 50 50 50 50 50 50 53 53 53 58 58 58 61 61 61
++62 62 62 60 60 60 61 61 61 59 59 59 44 44 44 24 24 24 24 24 24 36 36 36
++53 53 53 57 57 57 56 56 56 54 54 54 49 49 49 51 51 51 49 49 49 23 23 23
++24 24 24 16 16 16 16 16 16 28 28 28 43 43 43 49 49 49 50 50 50 50 50 50
++49 49 49 49 49 49 48 48 48 46 46 46 46 46 46 48 48 48 48 48 48 48 48 48
++49 49 49 49 49 49 48 48 48 46 46 46 44 44 44 43 43 43 42 42 42 42 42 42
++39 39 39 42 42 42 39 39 39 40 40 40 39 39 39 44 44 44 54 54 54 48 48 48
++16 16 16 14 14 14 11 11 11 19 19 19 16 16 16 37 37 37 14 14 14 14 14 14
++13 13 13 10 10 10 16 16 16 33 33 33 45 45 45 39 39 39 21 21 21 4 4 4
++13 13 13 16 16 16 13 13 13 11 11 11 20 20 20 31 31 31 34 34 34 32 32 32
++20 20 20 33 33 33 43 43 43 49 49 49 52 52 52 44 44 44 33 33 33 33 33 33
++36 36 36 29 29 29 24 24 24 29 29 29 38 38 38 44 44 44 43 43 43 39 39 39
++50 50 50 45 45 45 40 40 40 38 38 38 38 38 38 38 38 38 39 39 39 39 39 39
++39 39 39 38 38 38 38 38 38 39 39 39 42 42 42 42 42 42 39 39 39 37 37 37
++21 21 21 17 17 17 16 16 16 17 17 17 14 14 14 10 10 10 16 16 16 25 25 25
++36 36 36 24 24 24 10 10 10 4 4 4 11 11 11 19 19 19 17 17 17 11 11 11
++13 13 13 14 14 14 21 21 21 32 32 32 34 34 34 31 31 31 32 32 32 39 39 39
++
++13 13 13 19 19 19 16 16 16 8 8 8 17 17 17 34 34 34 37 37 37 29 29 29
++17 17 17 19 19 19 20 20 20 17 17 17 16 16 16 21 21 21 32 32 32 42 42 42
++23 23 23 16 16 16 8 8 8 4 4 4 0 0 0 0 0 0 8 8 8 20 20 20
++28 28 28 6 6 6 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 3 3 3
++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 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 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 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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 8 8 8 11 11 11 11 11 11 8 8 8 3 3 3 0 0 0
++3 3 3 4 4 4 6 6 6 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6
++0 0 0 13 13 13 14 14 14 6 6 6 3 3 3 13 13 13 24 24 24 28 28 28
++11 11 11 8 8 8 8 8 8 13 13 13 17 17 17 20 20 20 24 24 24 27 27 27
++32 32 32 21 21 21 8 8 8 16 16 16 28 28 28 16 16 16 10 10 10 31 31 31
++44 44 44 43 43 43 29 29 29 23 23 23 42 42 42 56 56 56 49 49 49 36 36 36
++39 39 39 62 62 62 45 45 45 43 43 43 44 44 44 81 81 81 66 66 66 51 51 51
++44 44 44 59 59 59 81 81 81 56 56 56 58 58 58 90 90 90 80 80 80 72 72 72
++59 59 59 60 60 60 87 87 87 91 91 91 72 72 72 91 91 91 105 105 105 81 81 81
++76 76 76 73 73 73 90 90 90 105 104 105 103 103 102 105 105 105 112 112 113 105 104 105
++103 103 102 105 105 105 105 104 105 94 94 94 105 105 105 128 128 128 128 128 128 127 127 127
++112 112 113 112 112 113 122 121 126 129 129 130 128 128 128 134 134 134 142 143 144 140 140 140
++137 137 137 137 137 137 131 131 131 125 125 127 133 133 133 149 151 153 155 156 156 149 149 149
++137 138 139 144 145 144 152 153 154 149 151 153 145 146 147 149 149 149 158 159 161 161 161 162
++161 161 162 163 163 163 152 153 154 149 151 153 155 156 156 157 157 157 166 167 167 166 167 167
++161 161 162 157 157 157 160 161 160 169 175 167 166 167 167 163 163 163 169 175 167 169 175 167
++166 167 167 166 167 167 163 163 163 166 165 167 169 175 167 180 183 185 169 175 167 169 175 167
++166 165 167 152 153 154 152 153 154 152 153 154 139 139 139 144 145 144 125 125 127 52 52 52
++8 10 13 11 13 16 14 16 19 0 0 4 14 16 19 8 10 13 6 8 11 96 97 98
++238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 180 183 185 200 220 210
++200 220 210 231 246 232 238 240 244 238 240 244 246 251 251 238 240 244 246 251 251 238 240 244
++246 251 251 238 240 244 246 251 251 238 240 244 200 220 210 152 153 154 157 157 157 169 175 167
++166 167 167 166 167 167 166 167 167 166 167 167 166 167 167 161 161 162 157 157 157 160 161 160
++161 161 162 157 157 157 152 153 154 152 153 154 152 153 154 152 153 154 149 149 149 147 147 148
++145 146 147 152 153 154 157 157 157 152 153 154 144 145 144 142 143 144 142 143 144 144 145 144
++155 156 156 147 147 148 137 137 137 128 128 128 128 128 128 137 137 137 144 145 144 140 140 140
++142 143 144 127 127 127 121 121 119 128 128 128 133 133 133 127 127 127 112 112 113 105 105 105
++105 105 105 117 117 117 117 117 117 109 110 110 105 105 105 105 105 105 103 103 102 99 99 99
++96 97 98 103 103 102 105 105 105 109 110 110 112 112 113 112 112 113 105 105 105 103 103 102
++96 96 96 89 89 89 82 82 82 80 80 80 83 83 83 88 88 88 91 91 91 91 91 91
++87 87 87 87 87 87 85 85 85 77 77 77 67 67 67 60 60 60 63 63 63 71 71 71
++78 78 78 72 72 72 66 66 66 62 62 62 63 63 63 65 65 65 67 67 67 69 69 69
++71 71 71 68 68 68 62 62 62 58 58 58 54 54 54 53 53 53 52 52 52 51 51 51
++57 57 57 54 54 54 56 56 56 59 59 59 56 56 56 43 43 43 32 32 32 25 25 25
++42 42 42 52 52 52 51 51 51 49 49 49 48 48 48 52 52 52 56 56 56 40 40 40
++21 21 21 16 16 16 14 14 14 24 24 24 39 39 39 49 49 49 49 49 49 45 45 45
++48 48 48 46 46 46 45 45 45 45 45 45 46 46 46 46 46 46 46 46 46 45 45 45
++43 43 43 43 43 43 42 42 42 40 40 40 38 38 38 37 37 37 36 36 36 36 36 36
++38 38 38 43 43 43 42 42 42 43 43 43 39 39 39 42 42 42 48 48 48 36 36 36
++14 14 14 13 13 13 8 8 8 16 16 16 20 20 20 27 27 27 13 13 13 14 14 14
++0 0 0 17 17 17 27 27 27 39 39 39 48 48 48 32 32 32 13 13 13 16 16 16
++14 14 14 11 11 11 8 8 8 16 16 16 31 31 31 39 39 39 29 29 29 10 10 10
++34 34 34 43 43 43 40 40 40 39 39 39 51 51 51 53 53 53 45 45 45 44 44 44
++39 39 39 27 27 27 14 14 14 19 19 19 31 31 31 38 38 38 38 38 38 37 37 37
++48 48 48 46 46 46 44 44 44 40 40 40 39 39 39 38 38 38 38 38 38 39 39 39
++38 38 38 37 37 37 38 38 38 39 39 39 42 42 42 39 39 39 34 34 34 29 29 29
++13 13 13 14 14 14 14 14 14 14 14 14 11 11 11 14 14 14 25 25 25 37 37 37
++24 24 24 16 16 16 10 10 10 14 14 14 16 16 16 14 14 14 13 13 13 16 16 16
++8 8 8 25 25 25 38 38 38 38 38 38 37 37 37 39 39 39 40 40 40 39 39 39
++
++14 14 14 17 17 17 14 14 14 10 10 10 11 11 11 23 23 23 34 34 34 38 38 38
++28 28 28 19 19 19 16 16 16 21 21 21 20 20 20 14 14 14 23 23 23 38 38 38
++34 34 34 17 17 17 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 8 8 8
++24 24 24 17 17 17 6 6 6 0 0 0 0 0 0 3 3 3 3 3 3 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 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 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
++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 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 4 4 4 8 8 8 11 11 11 10 10 10 6 6 6 3 3 3 0 0 0
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3
++3 3 3 10 10 10 11 11 11 6 6 6 13 13 13 23 23 23 25 25 25 20 20 20
++0 0 0 6 6 6 13 13 13 16 16 16 16 16 16 19 19 19 21 21 21 24 24 24
++19 19 19 8 8 8 8 8 8 20 20 20 24 24 24 19 19 19 28 28 28 46 46 46
++43 43 43 27 27 27 29 29 29 29 29 29 21 21 21 42 42 42 60 60 60 51 51 51
++65 65 65 37 37 37 43 43 43 36 36 36 37 37 37 48 48 48 76 76 76 66 66 66
++61 61 61 74 74 74 53 53 53 52 52 52 53 53 53 60 60 60 90 90 90 87 87 87
++61 61 61 88 88 88 87 87 87 68 68 68 70 70 70 81 81 81 89 89 89 99 99 99
++84 84 84 82 82 82 96 97 98 103 103 102 89 89 89 93 93 93 112 112 113 121 121 119
++112 112 113 105 104 105 99 99 99 101 101 101 115 116 115 125 125 127 125 122 126 133 133 133
++121 121 119 121 121 119 125 125 127 122 121 126 112 112 113 121 121 119 134 134 134 140 140 140
++140 140 140 133 133 133 127 127 127 128 128 128 134 134 134 142 143 144 147 147 148 149 151 153
++147 147 148 149 149 149 149 149 149 145 146 147 144 145 144 144 145 144 152 153 154 161 161 162
++161 161 162 163 163 163 155 156 156 149 151 153 152 153 154 152 153 154 160 161 160 166 167 167
++166 167 167 161 161 162 161 161 162 169 175 167 166 167 167 158 159 161 166 167 167 169 175 167
++166 167 167 166 167 167 166 165 167 166 167 167 169 175 167 169 175 167 169 175 167 169 175 167
++169 175 167 157 157 157 157 157 157 157 157 157 147 147 148 142 143 144 105 105 105 14 14 14
++14 16 19 6 8 11 22 23 26 8 10 13 0 0 4 20 21 24 6 8 11 6 8 11
++161 161 162 238 240 244 246 251 251 238 240 244 238 240 244 246 251 251 238 240 244 231 224 220
++200 220 210 200 220 210 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 238 240 244
++238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 158 159 161 166 167 167 166 167 167
++166 167 167 166 167 167 166 167 167 166 167 167 161 161 162 158 159 161 158 159 161 157 157 157
++157 157 157 155 156 156 152 153 154 149 151 153 149 151 153 152 153 154 149 149 149 147 147 148
++144 145 144 147 147 148 149 151 153 152 153 154 149 151 153 144 145 144 140 140 140 137 138 139
++144 145 144 152 153 154 140 140 140 127 127 127 133 133 133 131 131 131 128 128 128 140 140 140
++145 146 147 134 134 134 121 121 119 117 117 117 125 122 126 128 128 128 122 121 126 112 112 113
++105 104 105 109 110 110 112 112 113 109 110 110 105 104 105 105 104 105 103 103 102 96 96 96
++99 99 99 109 110 110 115 116 115 109 110 110 109 110 110 109 110 110 109 110 110 101 101 101
++87 87 87 83 83 83 80 80 80 84 84 84 91 91 91 96 97 98 96 96 96 93 93 93
++89 89 89 81 81 81 73 73 73 68 68 68 65 65 65 66 66 66 71 71 71 78 78 78
++77 77 77 76 76 76 74 74 74 72 72 72 71 71 71 70 70 70 69 69 69 68 68 68
++69 69 69 67 67 67 66 66 66 65 65 65 62 62 62 57 57 57 50 50 50 44 44 44
++56 56 56 57 57 57 57 57 57 58 58 58 60 60 60 56 56 56 39 39 39 20 20 20
++31 31 31 50 50 50 51 51 51 50 50 50 50 50 50 52 52 52 56 56 56 51 51 51
++21 21 21 21 21 21 20 20 20 24 24 24 39 39 39 53 53 53 54 54 54 48 48 48
++51 51 51 50 50 50 49 49 49 49 49 49 49 49 49 49 49 49 45 45 45 43 43 43
++42 42 42 42 42 42 42 42 42 40 40 40 40 40 40 40 40 40 39 39 39 39 39 39
++36 36 36 40 40 40 39 39 39 42 42 42 39 39 39 38 38 38 34 34 34 10 10 10
++13 13 13 13 13 13 10 10 10 16 16 16 29 29 29 16 16 16 14 14 14 13 13 13
++10 10 10 32 32 32 31 31 31 31 31 31 43 43 43 29 29 29 8 8 8 20 20 20
++14 14 14 10 10 10 14 14 14 28 28 28 34 34 34 29 29 29 17 17 17 8 8 8
++46 46 46 51 51 51 39 39 39 32 32 32 42 42 42 45 45 45 43 43 43 48 48 48
++42 42 42 36 36 36 29 29 29 24 24 24 21 21 21 23 23 23 32 32 32 42 42 42
++42 42 42 44 44 44 46 46 46 45 45 45 43 43 43 39 39 39 39 39 39 39 39 39
++39 39 39 38 38 38 39 39 39 40 40 40 40 40 40 37 37 37 27 27 27 19 19 19
++13 13 13 13 13 13 11 11 11 11 11 11 17 17 17 25 25 25 28 28 28 28 28 28
++13 13 13 11 11 11 13 13 13 16 16 16 14 14 14 11 11 11 13 13 13 17 17 17
++21 21 21 36 36 36 44 44 44 42 42 42 38 38 38 40 40 40 40 40 40 38 38 38
++
++24 24 24 10 10 10 10 10 10 23 23 23 23 23 23 11 11 11 19 19 19 38 38 38
++39 39 39 24 24 24 14 14 14 20 20 20 24 24 24 19 19 19 16 16 16 17 17 17
++45 45 45 29 29 29 8 8 8 0 0 0 0 0 0 4 4 4 4 4 4 0 0 0
++6 6 6 24 24 24 28 28 28 11 11 11 0 0 0 0 0 0 3 3 3 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 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 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
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 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 0 3 3 3 8 8 8 10 10 10 6 6 6 4 4 4 3 3 3 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 6 6
++4 4 4 10 10 10 13 13 13 14 14 14 24 24 24 31 31 31 20 20 20 0 0 0
++16 16 16 14 14 14 8 8 8 6 6 6 14 14 14 24 24 24 21 21 21 13 13 13
++17 17 17 14 14 14 17 17 17 14 14 14 8 8 8 24 24 24 44 44 44 48 48 48
++23 23 23 23 23 23 21 21 21 27 27 27 27 27 27 20 20 20 40 40 40 77 77 77
++57 57 57 38 38 38 25 25 25 40 40 40 39 39 39 36 36 36 49 49 49 78 78 78
++82 82 82 54 54 54 49 49 49 51 51 51 54 54 54 57 57 57 63 63 63 89 89 89
++93 93 93 85 85 85 70 70 70 65 65 65 69 69 69 68 68 68 75 75 75 95 95 94
++105 105 105 103 103 102 94 94 94 87 87 87 83 83 83 87 87 87 99 99 99 115 116 115
++121 121 119 96 97 98 94 94 94 109 110 110 117 117 117 109 110 110 103 103 102 122 121 126
++137 137 137 127 127 127 125 122 126 121 121 119 112 112 113 121 121 119 139 139 139 142 143 144
++149 151 153 137 137 137 131 131 131 140 140 140 140 140 140 129 129 130 133 133 133 144 145 144
++160 161 160 149 151 153 139 139 139 140 140 140 145 146 147 144 145 144 144 145 144 152 153 154
++163 163 163 163 163 163 152 153 154 149 151 153 152 153 154 152 153 154 157 157 157 158 159 161
++169 175 167 166 167 167 161 161 162 169 175 167 166 167 167 157 157 157 161 161 162 161 161 162
++169 175 167 169 175 167 166 167 167 166 167 167 169 175 167 166 167 167 163 163 163 166 165 167
++169 175 167 169 175 167 160 161 160 155 156 156 157 157 157 134 134 134 80 80 80 0 0 0
++11 13 16 6 8 11 11 13 16 8 10 13 20 21 24 0 0 4 20 21 24 14 16 19
++37 39 42 200 220 210 238 240 244 238 240 244 246 251 251 238 240 244 246 251 251 231 246 232
++187 210 182 180 183 185 238 240 244 246 251 251 238 240 244 246 251 251 238 240 244 238 240 244
++238 240 244 238 240 244 238 240 244 252 251 251 238 240 244 231 224 220 140 140 140 169 175 167
++166 167 167 166 167 167 166 167 167 166 167 167 157 157 157 157 157 157 161 161 162 157 157 157
++149 149 149 152 153 154 155 156 156 152 153 154 149 151 153 152 153 154 149 149 149 147 147 148
++149 149 149 144 145 144 142 143 144 147 147 148 152 153 154 149 149 149 140 140 140 137 137 137
++137 137 137 137 137 137 144 145 144 144 145 144 129 129 130 127 127 127 129 129 130 129 129 130
++144 145 144 144 145 144 133 133 133 115 116 115 112 112 113 127 127 127 129 129 130 121 121 119
++112 112 113 105 105 105 105 105 105 105 105 105 101 101 101 101 101 101 103 103 102 99 99 99
++101 101 101 115 116 115 121 121 119 109 110 110 101 101 101 103 103 102 101 101 101 92 92 92
++81 81 81 80 80 80 81 81 81 88 88 88 95 95 94 99 99 99 94 94 94 90 90 90
++84 84 84 70 70 70 60 60 60 66 66 66 77 77 77 83 83 83 81 81 81 77 77 77
++73 73 73 76 76 76 76 76 76 72 72 72 70 70 70 71 71 71 70 70 70 65 65 65
++67 67 67 63 63 63 61 61 61 61 61 61 63 63 63 62 62 62 59 59 59 54 54 54
++44 44 44 53 53 53 57 57 57 56 56 56 59 59 59 60 60 60 48 48 48 28 28 28
++17 17 17 45 45 45 51 51 51 51 51 51 53 53 53 50 50 50 51 51 51 51 51 51
++31 31 31 28 28 28 17 17 17 10 10 10 23 23 23 45 45 45 52 52 52 48 48 48
++44 44 44 43 43 43 43 43 43 44 44 44 46 46 46 46 46 46 44 44 44 42 42 42
++38 38 38 38 38 38 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40
++43 43 43 42 42 42 36 36 36 37 37 37 40 40 40 44 44 44 42 42 42 17 17 17
++14 14 14 14 14 14 13 13 13 19 19 19 38 38 38 10 10 10 17 17 17 14 14 14
++27 27 27 45 45 45 27 27 27 14 14 14 38 38 38 33 33 33 8 8 8 16 16 16
++14 14 14 14 14 14 28 28 28 39 39 39 32 32 32 10 10 10 8 8 8 24 24 24
++45 45 45 53 53 53 46 46 46 39 39 39 44 44 44 43 43 43 44 44 44 59 59 59
++46 46 46 43 43 43 38 38 38 32 32 32 23 23 23 19 19 19 27 27 27 39 39 39
++34 34 34 42 42 42 48 48 48 50 50 50 45 45 45 42 42 42 39 39 39 39 39 39
++40 40 40 40 40 40 40 40 40 42 42 42 40 40 40 33 33 33 21 21 21 11 11 11
++17 17 17 13 13 13 10 10 10 13 13 13 25 25 25 33 33 33 24 24 24 8 8 8
++13 13 13 13 13 13 11 11 11 10 10 10 10 10 10 13 13 13 16 16 16 17 17 17
++42 42 42 38 38 38 39 39 39 43 43 43 40 40 40 34 34 34 36 36 36 43 43 43
++
++48 48 48 24 24 24 17 17 17 20 20 20 14 14 14 17 17 17 21 21 21 16 16 16
++36 36 36 33 33 33 25 25 25 17 17 17 16 16 16 19 19 19 19 19 19 14 14 14
++0 0 0 33 33 33 33 33 33 8 8 8 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 8 8 8 23 23 23 25 25 25 13 13 13 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0 0 0 0 6 6 6
++4 4 4 3 3 3 3 3 3 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 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 0 3 3 3 3 3 3 4 4 4 4 4 4
++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 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 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 3 3 3 14 14 14 11 11 11 0 0 0 0 0 0 8 8 8 3 3 3
++0 0 0 10 10 10 8 8 8 0 0 0 3 3 3 13 13 13 11 11 11 0 0 0
++3 3 3 0 0 0 11 11 11 28 28 28 29 29 29 16 16 16 4 4 4 4 4 4
++8 8 8 14 14 14 13 13 13 8 8 8 14 14 14 24 24 24 23 23 23 11 11 11
++16 16 16 8 8 8 13 13 13 16 16 16 24 24 24 44 44 44 44 44 44 19 19 19
++20 20 20 21 21 21 28 28 28 25 25 25 23 23 23 42 42 42 56 56 56 50 50 50
++72 72 72 48 48 48 39 39 39 34 34 34 38 38 38 45 45 45 51 51 51 71 71 71
++82 82 82 67 67 67 48 48 48 48 48 48 56 56 56 52 52 52 57 57 57 77 77 77
++95 95 94 87 87 87 75 75 75 68 68 68 67 67 67 70 70 70 73 73 73 76 76 76
++105 105 105 112 112 113 93 93 93 76 76 76 81 81 81 101 101 101 109 110 110 93 93 93
++112 112 113 121 121 119 115 116 115 112 112 113 101 101 101 105 105 105 105 105 105 112 112 113
++128 128 128 137 138 139 127 127 127 112 112 113 121 121 119 129 129 130 125 125 127 121 121 119
++134 134 134 147 147 148 144 145 144 129 129 130 127 127 127 129 129 130 134 134 134 140 140 140
++147 147 148 155 156 156 152 153 154 142 143 144 137 137 137 142 143 144 144 145 144 144 145 144
++158 159 161 166 167 167 157 157 157 152 153 154 152 153 154 152 153 154 155 156 156 155 156 156
++157 157 157 166 165 167 169 175 167 166 167 167 158 159 161 158 159 161 163 163 163 160 161 160
++158 159 161 169 175 167 180 183 185 166 167 167 166 167 167 166 167 167 166 167 167 166 167 167
++166 165 167 166 167 167 166 167 167 160 161 160 149 149 149 126 132 129 2 8 7 6 13 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++10 11 14 89 90 92 238 240 244 238 240 244 246 251 251 238 240 244 246 251 251 238 240 244
++169 175 167 200 220 210 200 220 210 238 240 244 238 240 244 246 251 251 246 251 251 238 240 244
++246 251 251 238 240 244 246 251 251 238 240 244 246 251 251 238 240 244 180 183 185 149 151 153
++169 175 167 166 167 167 169 175 167 155 156 156 166 167 167 149 151 153 157 157 157 155 156 156
++152 153 154 152 153 154 152 153 154 149 151 153 149 149 149 149 149 149 147 147 148 147 147 148
++142 143 144 145 146 147 144 145 144 137 138 139 144 145 144 157 157 157 152 153 154 137 138 139
++131 131 131 133 133 133 139 139 139 142 143 144 139 139 139 129 129 130 122 121 126 122 121 126
++125 122 126 137 137 137 142 143 144 122 121 126 109 110 110 109 110 110 115 116 115 133 133 133
++128 128 128 115 116 115 105 105 105 103 103 102 105 105 105 103 103 102 91 91 91 101 101 101
++109 110 110 109 110 110 112 112 113 112 112 113 112 112 113 103 103 102 94 94 94 87 87 87
++76 76 76 81 81 81 93 93 93 99 99 99 93 93 93 94 94 94 94 94 94 85 85 85
++58 58 58 73 73 73 81 81 81 76 76 76 73 73 73 77 77 77 80 80 80 80 80 80
++75 75 75 75 75 75 73 73 73 70 70 70 68 68 68 69 69 69 68 68 68 67 67 67
++62 62 62 61 61 61 62 62 62 61 61 61 63 63 63 65 65 65 59 59 59 58 58 58
++46 46 46 40 40 40 57 57 57 61 61 61 50 50 50 58 58 58 60 60 60 39 39 39
++40 40 40 44 44 44 52 52 52 57 57 57 51 51 51 50 50 50 53 53 53 53 53 53
++42 42 42 20 20 20 14 14 14 13 13 13 19 19 19 43 43 43 54 54 54 44 44 44
++46 46 46 48 48 48 48 48 48 44 44 44 42 42 42 40 40 40 40 40 40 42 42 42
++42 42 42 38 38 38 38 38 38 42 42 42 43 43 43 40 40 40 40 40 40 45 45 45
++42 42 42 39 39 39 40 40 40 39 39 39 38 38 38 43 43 43 36 36 36 13 13 13
++19 19 19 14 14 14 6 6 6 21 21 21 34 34 34 16 16 16 4 4 4 31 31 31
++40 40 40 29 29 29 16 16 16 19 19 19 37 37 37 17 17 17 16 16 16 11 11 11
++10 10 10 33 33 33 38 38 38 27 27 27 17 17 17 11 11 11 13 13 13 23 23 23
++38 38 38 40 40 40 46 46 46 51 51 51 48 48 48 40 40 40 39 39 39 45 45 45
++56 56 56 49 49 49 40 40 40 37 37 37 36 36 36 34 34 34 33 33 33 34 34 34
++20 20 20 42 42 42 42 42 42 38 38 38 54 54 54 54 54 54 40 40 40 37 37 37
++46 46 46 38 38 38 37 37 37 43 43 43 40 40 40 27 27 27 14 14 14 13 13 13
++14 14 14 4 4 4 10 10 10 28 28 28 33 33 33 23 23 23 14 14 14 16 16 16
++19 19 19 14 14 14 14 14 14 16 16 16 13 13 13 13 13 13 24 24 24 39 39 39
++39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
++
++27 27 27 43 43 43 29 29 29 11 11 11 23 23 23 20 20 20 10 10 10 20 20 20
++20 20 20 36 36 36 39 39 39 24 24 24 13 13 13 16 16 16 11 11 11 0 0 0
++6 6 6 0 0 0 24 24 24 33 33 33 10 10 10 0 0 0 8 8 8 0 0 0
++3 3 3 0 0 0 4 4 4 23 23 23 29 29 29 19 19 19 4 4 4 0 0 0
++6 6 6 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 4 4 4 3 3 3 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 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 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 0 0 0 0 0 0
++0 0 0 3 3 3 14 14 14 11 11 11 0 0 0 0 0 0 8 8 8 3 3 3
++0 0 0 8 8 8 6 6 6 0 0 0 0 0 0 8 8 8 11 11 11 8 8 8
++3 3 3 10 10 10 19 19 19 20 20 20 13 13 13 4 4 4 4 4 4 11 11 11
++4 4 4 6 6 6 13 13 13 23 23 23 29 29 29 27 27 27 19 19 19 13 13 13
++14 14 14 19 19 19 8 8 8 20 20 20 46 46 46 39 39 39 17 17 17 23 23 23
++19 19 19 29 29 29 21 21 21 19 19 19 42 42 42 53 53 53 43 43 43 31 31 31
++39 39 39 69 69 69 52 52 52 40 40 40 39 39 39 51 51 51 72 72 72 49 49 49
++46 46 46 75 75 75 74 74 74 51 51 51 49 49 49 58 58 58 69 69 69 82 82 82
++65 65 65 82 82 82 85 85 85 74 74 74 65 65 65 59 59 59 70 70 70 92 92 92
++93 93 93 95 95 94 109 110 110 91 91 91 91 91 91 109 110 110 94 94 94 91 91 91
++95 95 94 112 112 113 121 121 119 117 117 117 99 99 99 101 101 101 109 110 110 122 121 126
++112 112 113 125 125 127 127 127 127 125 125 127 128 128 128 125 122 126 117 117 117 121 121 119
++129 129 130 140 140 140 145 146 147 140 140 140 133 133 133 129 129 130 134 134 134 144 145 144
++137 138 139 145 146 147 152 153 154 149 149 149 144 145 144 142 143 144 144 145 144 144 145 144
++155 156 156 163 163 163 158 159 161 158 159 161 157 157 157 149 149 149 149 149 149 152 153 154
++152 153 154 157 157 157 166 167 167 169 175 167 163 163 163 157 157 157 160 161 160 161 161 162
++161 161 162 166 165 167 166 167 167 166 167 167 169 175 167 166 167 167 163 163 163 166 165 167
++166 165 167 163 163 163 169 175 167 157 157 157 157 157 157 66 69 71 10 16 15 6 13 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++11 13 16 1 3 7 166 167 167 238 240 244 238 240 244 246 251 251 238 240 244 238 240 244
++246 251 251 238 240 244 200 220 210 238 240 244 238 240 244 238 240 244 238 240 244 238 240 244
++238 240 244 238 240 244 246 251 251 246 251 251 238 240 244 238 240 244 231 224 220 149 151 153
++166 167 167 169 175 167 161 161 162 157 157 157 152 153 154 166 167 167 145 146 147 157 157 157
++152 153 154 152 153 154 152 153 154 149 151 153 149 149 149 147 147 148 147 147 148 145 146 147
++142 143 144 144 145 144 144 145 144 139 139 139 137 137 137 142 143 144 145 146 147 147 147 148
++134 134 134 129 129 130 129 129 130 133 133 133 137 137 137 134 134 134 127 127 127 121 121 119
++117 117 117 127 127 127 134 134 134 125 125 127 115 116 115 109 110 110 109 110 110 127 127 127
++125 122 126 112 112 113 105 105 105 101 101 101 105 104 105 103 103 102 95 95 94 105 105 105
++112 112 113 112 112 113 109 110 110 109 110 110 105 105 105 99 99 99 89 89 89 80 80 80
++78 78 78 92 92 92 99 99 99 95 95 94 94 94 94 93 93 93 83 83 83 70 70 70
++72 72 72 78 78 78 82 82 82 81 81 81 81 81 81 82 82 82 80 80 80 74 74 74
++75 75 75 74 74 74 74 74 74 76 76 76 76 76 76 71 71 71 65 65 65 61 61 61
++63 63 63 59 59 59 58 58 58 58 58 58 59 59 59 60 60 60 59 59 59 61 61 61
++57 57 57 45 45 45 50 50 50 60 60 60 59 59 59 56 56 56 54 54 54 53 53 53
++42 42 42 33 33 33 43 43 43 56 56 56 52 52 52 48 48 48 50 50 50 52 52 52
++50 50 50 31 31 31 23 23 23 20 20 20 20 20 20 37 37 37 48 48 48 40 40 40
++48 48 48 46 46 46 44 44 44 39 39 39 37 37 37 37 37 37 40 40 40 44 44 44
++43 43 43 39 39 39 38 38 38 39 39 39 39 39 39 38 38 38 39 39 39 43 43 43
++39 39 39 38 38 38 39 39 39 38 38 38 37 37 37 42 42 42 33 33 33 13 13 13
++10 10 10 11 11 11 11 11 11 21 21 21 31 31 31 23 23 23 21 21 21 38 38 38
++29 29 29 17 17 17 11 11 11 24 24 24 39 39 39 13 13 13 10 10 10 13 13 13
++25 25 25 33 33 33 28 28 28 16 16 16 10 10 10 10 10 10 20 20 20 37 37 37
++38 38 38 38 38 38 40 40 40 44 44 44 44 44 44 40 40 40 37 37 37 36 36 36
++42 42 42 51 51 51 52 52 52 43 43 43 38 38 38 39 39 39 33 33 33 21 21 21
++21 21 21 33 33 33 37 37 37 38 38 38 45 45 45 50 50 50 46 46 46 42 42 42
++40 40 40 39 39 39 43 43 43 43 43 43 32 32 32 14 14 14 6 6 6 13 13 13
++4 4 4 17 17 17 28 28 28 31 31 31 24 24 24 16 16 16 11 11 11 13 13 13
++4 4 4 11 11 11 11 11 11 8 8 8 16 16 16 31 31 31 39 39 39 39 39 39
++38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
++
++21 21 21 32 32 32 39 39 39 32 32 32 17 17 17 16 16 16 19 19 19 14 14 14
++14 14 14 20 20 20 31 31 31 37 37 37 28 28 28 10 10 10 0 0 0 0 0 0
++0 0 0 0 0 0 4 4 4 24 24 24 31 31 31 16 16 16 0 0 0 0 0 0
++8 8 8 0 0 0 0 0 0 11 11 11 27 27 27 32 32 32 17 17 17 0 0 0
++0 0 0 3 3 3 3 3 3 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 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 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 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 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 0 0 0 0 0 0
++0 0 0 3 3 3 13 13 13 11 11 11 0 0 0 0 0 0 6 6 6 3 3 3
++3 3 3 6 6 6 8 8 8 6 6 6 3 3 3 3 3 3 6 6 6 8 8 8
++0 0 0 11 11 11 17 17 17 11 11 11 3 3 3 4 4 4 10 10 10 14 14 14
++3 3 3 20 20 20 33 33 33 33 33 33 24 24 24 16 16 16 14 14 14 16 16 16
++13 13 13 13 13 13 27 27 27 40 40 40 37 37 37 24 24 24 19 19 19 19 19 19
++23 23 23 19 19 19 19 19 19 38 38 38 56 56 56 43 43 43 24 24 24 28 28 28
++27 27 27 44 44 44 71 71 71 49 49 49 49 49 49 72 72 72 52 52 52 42 42 42
++40 40 40 51 51 51 81 81 81 74 74 74 45 45 45 67 67 67 89 89 89 65 65 65
++56 56 56 65 65 65 88 88 88 92 92 92 73 73 73 74 74 74 92 92 92 96 96 96
++75 75 75 87 87 87 88 88 88 117 117 117 115 116 115 85 85 85 90 90 90 88 88 88
++101 101 101 109 110 110 115 116 115 121 121 119 112 112 113 112 112 113 115 116 115 121 121 119
++103 103 102 117 117 117 128 128 128 134 134 134 134 134 134 121 121 119 112 112 113 121 121 119
++128 128 128 129 129 130 139 139 139 144 145 144 142 143 144 137 137 137 137 137 137 137 137 137
++131 131 131 137 137 137 147 147 148 152 153 154 152 153 154 144 145 144 142 143 144 142 143 144
++155 156 156 157 157 157 152 153 154 161 161 162 163 163 163 152 153 154 147 147 148 147 147 148
++152 153 154 152 153 154 161 161 162 169 175 167 166 167 167 161 161 162 157 157 157 157 157 157
++161 161 162 160 161 160 160 161 160 166 167 167 169 175 167 169 175 167 161 161 162 158 159 161
++161 161 162 158 159 161 166 167 167 158 159 161 144 145 144 2 8 7 14 20 19 6 13 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++6 8 11 8 10 13 26 29 32 231 224 220 238 240 244 238 240 244 246 251 251 238 240 244
++238 240 244 231 224 220 180 183 185 200 220 210 246 251 251 238 240 244 238 240 244 238 240 244
++238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 246 251 251 238 240 244 180 183 185
++157 157 157 169 175 167 147 147 148 163 163 163 149 149 149 157 157 157 152 153 154 152 153 154
++152 153 154 149 151 153 149 149 149 149 149 149 147 147 148 145 146 147 144 145 144 144 145 144
++142 143 144 140 140 140 142 143 144 140 140 140 134 134 134 131 131 131 137 138 139 149 149 149
++142 143 144 133 133 133 125 122 126 125 122 126 133 133 133 137 138 139 133 133 133 125 125 127
++117 117 117 117 117 117 127 127 127 129 129 130 127 127 127 117 117 117 112 112 113 128 128 128
++117 117 117 109 110 110 103 103 102 101 101 101 103 103 102 99 99 99 99 99 99 115 116 115
++115 116 115 112 112 113 109 110 110 105 104 105 101 101 101 92 92 92 83 83 83 74 74 74
++87 87 87 99 99 99 99 99 99 96 96 96 96 96 96 85 85 85 69 69 69 65 65 65
++84 84 84 84 84 84 85 85 85 84 84 84 82 82 82 81 81 81 77 77 77 73 73 73
++75 75 75 74 74 74 72 72 72 66 66 66 51 51 51 38 38 38 38 38 38 46 46 46
++52 52 52 43 43 43 36 36 36 38 38 38 42 42 42 46 46 46 57 57 57 65 65 65
++58 58 58 50 50 50 40 40 40 49 49 49 58 58 58 51 51 51 46 46 46 53 53 53
++39 39 39 16 16 16 28 28 28 52 52 52 51 51 51 44 44 44 48 48 48 50 50 50
++48 48 48 25 25 25 11 11 11 16 16 16 20 20 20 34 34 34 46 46 46 42 42 42
++42 42 42 42 42 42 43 43 43 44 44 44 42 42 42 39 39 39 38 38 38 39 39 39
++44 44 44 40 40 40 38 38 38 39 39 39 38 38 38 37 37 37 38 38 38 42 42 42
++38 38 38 38 38 38 39 39 39 38 38 38 38 38 38 40 40 40 31 31 31 11 11 11
++10 10 10 10 10 10 14 14 14 23 23 23 31 31 31 33 33 33 33 33 33 34 34 34
++16 16 16 10 10 10 14 14 14 33 33 33 38 38 38 8 8 8 14 14 14 28 28 28
++34 34 34 28 28 28 16 16 16 10 10 10 8 8 8 10 10 10 25 25 25 48 48 48
++42 42 42 40 40 40 39 39 39 42 42 42 45 45 45 48 48 48 43 43 43 37 37 37
++39 39 39 50 50 50 53 53 53 46 46 46 40 40 40 42 42 42 39 39 39 32 32 32
++23 23 23 23 23 23 34 34 34 44 44 44 44 44 44 49 49 49 51 51 51 45 45 45
++37 37 37 38 38 38 40 40 40 38 38 38 24 24 24 8 8 8 6 6 6 16 16 16
++11 11 11 28 28 28 34 34 34 24 24 24 13 13 13 13 13 13 13 13 13 10 10 10
++13 13 13 16 16 16 16 16 16 19 19 19 29 29 29 43 43 43 45 45 45 39 39 39
++40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
++
++24 24 24 16 16 16 33 33 33 43 43 43 25 25 25 17 17 17 21 21 21 14 14 14
++21 21 21 11 11 11 14 14 14 31 31 31 33 33 33 17 17 17 0 0 0 0 0 0
++0 0 0 10 10 10 0 0 0 0 0 0 27 27 27 28 28 28 6 6 6 0 0 0
++0 0 0 8 8 8 4 4 4 0 0 0 6 6 6 28 28 28 29 29 29 14 14 14
++0 0 0 0 0 0 4 4 4 8 8 8 4 4 4 0 0 0 0 0 0 4 4 4
++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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 4 4 4
++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 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 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 0 0 0 11 11 11 13 13 13 3 3 3 0 0 0 6 6 6 3 3 3
++3 3 3 6 6 6 11 11 11 13 13 13 8 8 8 0 0 0 0 0 0 3 3 3
++6 6 6 10 10 10 11 11 11 8 8 8 6 6 6 8 8 8 8 8 8 4 4 4
++6 6 6 31 31 31 37 37 37 20 20 20 10 10 10 19 19 19 24 24 24 19 19 19
++4 4 4 21 21 21 46 46 46 42 42 42 13 13 13 13 13 13 27 27 27 17 17 17
++19 19 19 14 14 14 38 38 38 56 56 56 42 42 42 23 23 23 25 25 25 34 34 34
++28 28 28 32 32 32 42 42 42 71 71 71 76 76 76 54 54 54 45 45 45 38 38 38
++46 46 46 50 50 50 52 52 52 68 68 68 87 87 87 80 80 80 61 61 61 57 57 57
++60 60 60 54 54 54 66 66 66 82 82 82 89 89 89 94 94 94 89 89 89 73 73 73
++75 75 75 70 70 70 92 92 92 109 110 110 109 110 110 94 94 94 84 84 84 99 99 99
++105 105 105 94 94 94 93 93 93 112 112 113 122 121 126 125 125 127 112 112 113 99 99 99
++99 99 99 112 112 113 122 121 126 129 129 130 134 134 134 129 129 130 125 125 127 127 127 127
++127 127 127 121 121 119 125 125 127 137 138 139 144 145 144 145 146 147 139 139 139 125 125 127
++133 133 133 131 131 131 137 137 137 147 147 148 155 156 156 152 153 154 144 145 144 139 139 139
++157 157 157 155 156 156 144 145 144 152 153 154 163 163 163 160 161 160 152 153 154 147 147 148
++155 156 156 149 149 149 155 156 156 166 167 167 166 167 167 166 167 167 158 159 161 152 153 154
++157 157 157 161 161 162 161 161 162 161 161 162 169 175 167 169 175 167 166 165 167 155 156 156
++158 159 161 157 157 157 155 156 156 157 157 157 95 95 94 0 3 0 10 16 15 6 13 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++22 23 26 6 8 11 10 11 14 99 99 99 246 251 251 238 240 244 238 240 244 246 251 251
++238 240 244 238 240 244 238 240 244 200 220 210 246 251 251 238 240 244 246 251 251 238 240 244
++246 251 251 238 240 244 238 240 244 246 251 251 246 251 251 238 240 244 238 240 244 246 251 251
++166 165 167 149 149 149 149 151 153 157 157 157 149 151 153 149 149 149 157 157 157 147 147 148
++149 149 149 149 149 149 147 147 148 147 147 148 145 146 147 144 145 144 144 145 144 144 145 144
++142 143 144 137 137 137 137 137 137 140 140 140 139 139 139 133 133 133 133 133 133 137 138 139
++145 146 147 140 140 140 129 129 130 122 121 126 125 125 127 133 133 133 134 134 134 133 133 133
++121 121 119 115 116 115 115 116 115 125 122 126 129 129 130 128 128 128 125 125 127 129 129 130
++112 112 113 105 104 105 103 103 102 103 103 102 101 101 101 96 97 98 103 103 102 117 117 117
++115 116 115 112 112 113 109 110 110 101 101 101 92 92 92 84 84 84 80 80 80 77 77 77
++95 95 94 94 94 94 94 94 94 99 99 99 93 93 93 74 74 74 67 67 67 78 78 78
++85 85 85 84 84 84 87 87 87 87 87 87 78 78 78 75 75 75 77 77 77 78 78 78
++75 75 75 67 67 67 57 57 57 51 51 51 42 42 42 37 37 37 49 49 49 66 66 66
++68 68 68 58 58 58 48 48 48 48 48 48 42 42 42 37 37 37 46 46 46 48 48 48
++57 57 57 57 57 57 45 45 45 46 46 46 56 56 56 58 58 58 54 54 54 48 48 48
++48 48 48 21 21 21 31 31 31 56 56 56 56 56 56 51 51 51 56 56 56 53 53 53
++57 57 57 36 36 36 17 17 17 24 24 24 29 29 29 37 37 37 48 48 48 43 43 43
++42 42 42 40 40 40 40 40 40 42 42 42 40 40 40 38 38 38 38 38 38 40 40 40
++43 43 43 42 42 42 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
++40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 28 28 28 13 13 13
++20 20 20 8 8 8 13 13 13 27 27 27 34 34 34 38 38 38 32 32 32 17 17 17
++13 13 13 14 14 14 20 20 20 36 36 36 34 34 34 14 14 14 25 25 25 42 42 42
++27 27 27 17 17 17 11 11 11 13 13 13 11 11 11 8 8 8 25 25 25 49 49 49
++43 43 43 44 44 44 42 42 42 40 40 40 45 45 45 51 51 51 51 51 51 46 46 46
++38 38 38 37 37 37 39 39 39 45 45 45 45 45 45 39 39 39 38 38 38 42 42 42
++25 25 25 17 17 17 20 20 20 32 32 32 37 37 37 40 40 40 44 44 44 43 43 43
++48 48 48 43 43 43 37 37 37 28 28 28 17 17 17 10 10 10 11 11 11 17 17 17
++28 28 28 31 31 31 24 24 24 10 10 10 6 6 6 16 16 16 17 17 17 10 10 10
++16 16 16 10 10 10 16 16 16 31 31 31 39 39 39 39 39 39 37 37 37 38 38 38
++38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
++
++16 16 16 23 23 23 19 19 19 27 27 27 43 43 43 32 32 32 13 13 13 21 21 21
++20 20 20 21 21 21 14 14 14 6 6 6 16 16 16 28 28 28 20 20 20 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 20 20 20 31 31 31 10 10 10
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 14 14 28 28 28 32 32 32
++8 8 8 0 0 0 0 0 0 6 6 6 8 8 8 0 0 0 0 0 0 6 6 6
++3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 4 4 4 8 8 8 10 10 10 10 10 10 8 8 8 6 6 6
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++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 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 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 0 0 0 10 10 10 13 13 13 4 4 4 0 0 0 4 4 4 3 3 3
++3 3 3 4 4 4 8 8 8 10 10 10 8 8 8 4 4 4 6 6 6 10 10 10
++16 16 16 11 11 11 8 8 8 8 8 8 6 6 6 3 3 3 3 3 3 6 6 6
++34 34 34 33 33 33 20 20 20 3 3 3 10 10 10 27 27 27 23 23 23 0 0 0
++16 16 16 44 44 44 38 38 38 14 14 14 14 14 14 17 17 17 14 14 14 21 21 21
++16 16 16 38 38 38 54 54 54 42 42 42 19 19 19 25 25 25 37 37 37 28 28 28
++32 32 32 33 33 33 40 40 40 70 70 70 75 75 75 53 53 53 45 45 45 42 42 42
++48 48 48 43 43 43 45 45 45 69 69 69 90 90 90 78 78 78 54 54 54 51 51 51
++59 59 59 63 63 63 56 56 56 68 68 68 99 99 99 99 99 99 73 73 73 66 66 66
++77 77 77 87 87 87 96 96 96 87 87 87 91 91 91 109 110 110 109 110 110 103 103 102
++99 99 99 84 84 84 87 87 87 105 105 105 121 121 119 125 122 126 115 116 115 99 99 99
++112 112 113 117 117 117 115 116 115 112 112 113 125 125 127 137 137 137 134 134 134 128 128 128
++121 121 119 115 116 115 121 121 119 131 131 131 139 139 139 145 146 147 144 145 144 131 131 131
++131 131 131 129 129 130 129 129 130 137 137 137 145 146 147 152 153 154 149 151 153 144 145 144
++157 157 157 155 156 156 140 140 140 142 143 144 155 156 156 161 161 162 161 161 162 152 153 154
++149 151 153 149 149 149 157 157 157 163 163 163 166 165 167 166 167 167 163 163 163 157 157 157
++152 153 154 158 159 161 157 157 157 158 159 161 166 167 167 169 175 167 166 167 167 163 163 163
++157 157 157 157 157 157 157 157 157 134 134 134 38 40 39 10 16 15 6 13 11 6 13 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++1 3 7 20 21 24 14 16 19 6 8 11 180 183 185 238 240 244 238 240 244 238 240 244
++238 240 244 238 240 244 231 224 220 180 183 185 180 183 185 200 220 210 238 240 244 238 240 244
++238 240 244 238 240 244 246 251 251 238 240 244 238 240 244 246 251 251 246 251 251 238 240 244
++180 183 185 147 147 148 157 157 157 147 147 148 149 149 149 157 157 157 142 143 144 152 153 154
++147 147 148 147 147 148 145 146 147 144 145 144 144 145 144 142 143 144 142 143 144 142 143 144
++140 140 140 137 137 137 137 137 137 137 138 139 139 139 139 137 137 137 131 131 131 129 129 130
++137 137 137 142 143 144 142 143 144 129 129 130 121 121 119 121 121 119 128 128 128 133 133 133
++128 128 128 117 117 117 109 110 110 112 112 113 125 122 126 129 129 130 129 129 130 122 121 126
++105 105 105 103 103 102 103 103 102 105 104 105 101 101 101 96 97 98 105 105 105 115 116 115
++109 110 110 112 112 113 109 110 110 99 99 99 85 85 85 78 78 78 82 82 82 87 87 87
++103 103 102 93 93 93 93 93 93 93 93 93 78 78 78 69 69 69 78 78 78 92 92 92
++82 82 82 80 80 80 87 87 87 88 88 88 82 82 82 78 78 78 81 81 81 77 77 77
++71 71 71 53 53 53 42 42 42 50 50 50 60 60 60 63 63 63 62 62 62 65 65 65
++65 65 65 60 60 60 54 54 54 58 58 58 46 46 46 33 33 33 38 38 38 29 29 29
++43 43 43 42 42 42 38 38 38 45 45 45 45 45 45 51 51 51 57 57 57 36 36 36
++42 42 42 24 24 24 29 29 29 42 42 42 40 40 40 40 40 40 43 43 43 36 36 36
++39 39 39 32 32 32 23 23 23 32 32 32 33 33 33 32 32 32 44 44 44 43 43 43
++48 48 48 38 38 38 28 28 28 25 25 25 25 25 25 28 28 28 36 36 36 45 45 45
++39 39 39 40 40 40 42 42 42 43 43 43 43 43 43 43 43 43 42 42 42 39 39 39
++42 42 42 43 43 43 42 42 42 40 40 40 40 40 40 37 37 37 25 25 25 14 14 14
++21 21 21 8 8 8 17 17 17 34 34 34 37 37 37 32 32 32 23 23 23 4 4 4
++13 13 13 16 16 16 17 17 17 34 34 34 36 36 36 31 31 31 33 33 33 33 33 33
++14 14 14 10 10 10 11 11 11 17 17 17 11 11 11 10 10 10 25 25 25 45 45 45
++42 42 42 45 45 45 44 44 44 38 38 38 37 37 37 44 44 44 49 49 49 50 50 50
++43 43 43 37 37 37 39 39 39 50 50 50 54 54 54 49 49 49 43 43 43 42 42 42
++40 40 40 29 29 29 19 19 19 24 24 24 38 38 38 42 42 42 42 42 42 49 49 49
++54 54 54 49 49 49 37 37 37 21 21 21 10 10 10 10 10 10 16 16 16 21 21 21
++33 33 33 24 24 24 13 13 13 6 6 6 11 11 11 16 16 16 16 16 16 11 11 11
++13 13 13 14 14 14 25 25 25 39 39 39 44 44 44 40 40 40 38 38 38 42 42 42
++39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
++
++14 14 14 20 20 20 17 17 17 19 19 19 33 33 33 39 39 39 29 29 29 19 19 19
++11 11 11 11 11 11 4 4 4 0 0 0 6 6 6 20 20 20 27 27 27 24 24 24
++0 0 0 0 0 0 4 4 4 8 8 8 0 0 0 3 3 3 19 19 19 28 28 28
++13 13 13 0 0 0 0 0 0 4 4 4 3 3 3 0 0 0 4 4 4 23 23 23
++28 28 28 10 10 10 0 0 0 0 0 0 4 4 4 3 3 3 0 0 0 0 0 0
++4 4 4 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++10 10 10 11 11 11 14 14 14 17 17 17 17 17 17 17 17 17 16 16 16 14 14 14
++16 16 16 13 13 13 8 8 8 3 3 3 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 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 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 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 8 8 8 13 13 13 4 4 4 0 0 0 4 4 4 3 3 3
++4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 14 14 14 19 19 19 19 19 19
++8 8 8 6 6 6 4 4 4 4 4 4 3 3 3 4 4 4 17 17 17 29 29 29
++34 34 34 20 20 20 8 8 8 10 10 10 19 19 19 21 21 21 19 19 19 14 14 14
++45 45 45 33 33 33 14 14 14 6 6 6 17 17 17 21 21 21 17 17 17 16 16 16
++36 36 36 50 50 50 40 40 40 21 21 21 24 24 24 31 31 31 28 28 28 27 27 27
++34 34 34 45 45 45 68 68 68 46 46 46 46 46 46 69 69 69 52 52 52 49 49 49
++42 42 42 38 38 38 68 68 68 75 75 75 53 53 53 65 65 65 80 80 80 54 54 54
++56 56 56 53 53 53 71 71 71 85 85 85 82 82 82 87 87 87 91 91 91 81 81 81
++84 84 84 101 101 101 80 80 80 75 75 75 85 85 85 99 99 99 121 121 119 101 101 101
++85 85 85 87 87 87 103 103 102 109 110 110 109 110 110 109 110 110 121 121 119 121 121 119
++117 117 117 115 116 115 105 105 105 101 101 101 115 116 115 133 133 133 137 137 137 128 128 128
++112 112 113 121 121 119 128 128 128 128 128 128 128 128 128 134 134 134 144 145 144 147 147 148
++131 131 131 131 131 131 129 129 130 129 129 130 134 134 134 144 145 144 152 153 154 155 156 156
++155 156 156 157 157 157 142 143 144 137 138 139 144 145 144 152 153 154 161 161 162 161 161 162
++145 146 147 149 151 153 161 161 162 163 163 163 157 157 157 158 159 161 166 165 167 166 167 167
++157 157 157 152 153 154 152 153 154 161 161 162 166 167 167 166 167 167 166 165 167 169 175 167
++160 161 160 152 153 154 161 161 162 85 85 85 2 8 7 14 20 19 10 16 15 2 8 7
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++6 8 11 6 8 11 14 16 19 10 11 14 46 47 50 231 224 220 238 240 244 246 251 251
++246 251 251 246 251 251 238 240 244 238 240 244 200 220 210 231 224 220 246 251 251 238 240 244
++238 240 244 252 251 251 238 240 244 238 240 244 246 251 251 238 240 244 238 240 244 200 220 210
++231 224 220 200 220 210 147 147 148 145 146 147 152 153 154 152 153 154 142 143 144 152 153 154
++145 146 147 144 145 144 144 145 144 144 145 144 142 143 144 140 140 140 140 140 140 140 140 140
++137 138 139 139 139 139 137 137 137 134 134 134 133 133 133 133 133 133 131 131 131 129 129 130
++125 122 126 134 134 134 142 143 144 137 137 137 125 122 126 115 116 115 117 117 117 121 121 119
++133 133 133 127 127 127 115 116 115 115 116 115 121 121 119 129 129 130 129 129 130 115 116 115
++105 104 105 103 103 102 101 101 101 103 103 102 99 99 99 99 99 99 109 110 110 109 110 110
++105 105 105 109 110 110 105 105 105 94 94 94 80 80 80 76 76 76 85 85 85 96 96 96
++101 101 101 99 99 99 96 96 96 82 82 82 65 65 65 73 73 73 91 91 91 91 91 91
++83 83 83 77 77 77 83 83 83 88 88 88 85 85 85 85 85 85 80 80 80 65 65 65
++53 53 53 49 49 49 53 53 53 65 65 65 69 69 69 59 59 59 43 43 43 32 32 32
++33 33 33 32 32 32 27 27 27 34 34 34 28 28 28 27 27 27 45 45 45 36 36 36
++25 25 25 16 16 16 23 23 23 40 40 40 32 32 32 33 33 33 50 50 50 24 24 24
++24 24 24 17 17 17 16 16 16 16 16 16 11 11 11 11 11 11 13 13 13 8 8 8
++6 6 6 23 23 23 25 25 25 33 33 33 25 25 25 17 17 17 38 38 38 43 43 43
++42 42 42 29 29 29 19 19 19 17 17 17 17 17 17 19 19 19 27 27 27 36 36 36
++37 37 37 39 39 39 40 40 40 38 38 38 38 38 38 39 39 39 38 38 38 34 34 34
++37 37 37 39 39 39 36 36 36 34 34 34 37 37 37 32 32 32 21 21 21 16 16 16
++14 14 14 13 13 13 28 28 28 38 38 38 29 29 29 19 19 19 16 16 16 10 10 10
++13 13 13 11 11 11 8 8 8 33 33 33 38 38 38 38 38 38 29 29 29 10 10 10
++10 10 10 8 8 8 13 13 13 13 13 13 8 8 8 14 14 14 31 31 31 39 39 39
++46 46 46 51 51 51 51 51 51 44 44 44 39 39 39 40 40 40 48 48 48 53 53 53
++49 49 49 45 45 45 39 39 39 37 37 37 43 43 43 48 48 48 43 43 43 34 34 34
++37 37 37 33 33 33 27 27 27 32 32 32 43 43 43 40 40 40 33 33 33 37 37 37
++39 39 39 40 40 40 33 33 33 17 17 17 8 8 8 16 16 16 28 28 28 33 33 33
++23 23 23 16 16 16 13 13 13 16 16 16 16 16 16 13 13 13 11 11 11 14 14 14
++14 14 14 27 27 27 36 36 36 34 34 34 33 33 33 36 36 36 34 34 34 29 29 29
++34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34
++
++20 20 20 10 10 10 21 21 21 25 25 25 14 14 14 29 29 29 40 40 40 23 23 23
++10 10 10 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0 17 17 17 38 38 38
++8 8 8 16 16 16 0 0 0 0 0 0 11 11 11 0 0 0 0 0 0 24 24 24
++28 28 28 13 13 13 3 3 3 6 6 6 4 4 4 0 0 0 0 0 0 3 3 3
++23 23 23 20 20 20 10 10 10 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 8 8 8 10 10 10
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++20 20 20 19 19 19 16 16 16 13 13 13 8 8 8 3 3 3 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 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 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 0 0 0
++4 4 4 0 0 0 6 6 6 13 13 13 6 6 6 0 0 0 4 4 4 3 3 3
++6 6 6 3 3 3 0 0 0 0 0 0 10 10 10 23 23 23 23 23 23 13 13 13
++0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 19 19 19 31 31 31 36 36 36
++3 3 3 0 0 0 4 4 4 17 17 17 20 20 20 20 20 20 29 29 29 44 44 44
++44 44 44 10 10 10 6 6 6 19 19 19 11 11 11 16 16 16 31 31 31 25 25 25
++48 48 48 36 36 36 19 19 19 23 23 23 33 33 33 25 25 25 20 20 20 34 34 34
++42 42 42 65 65 65 46 46 46 38 38 38 37 37 37 45 45 45 69 69 69 52 52 52
++40 40 40 69 69 69 70 70 70 52 52 52 52 52 52 61 61 61 69 69 69 82 82 82
++63 63 63 52 52 52 84 84 84 96 96 96 67 67 67 77 77 77 105 104 105 92 92 92
++103 103 102 82 82 82 88 88 88 82 82 82 90 90 90 105 105 105 96 97 98 112 112 113
++90 90 90 93 93 93 109 110 110 101 101 101 91 91 91 94 94 94 117 117 117 125 125 127
++115 116 115 105 104 105 99 99 99 105 105 105 117 117 117 125 122 126 129 129 130 137 137 137
++127 127 127 128 128 128 127 127 127 121 121 119 121 121 119 125 125 127 134 134 134 147 147 148
++140 140 140 134 134 134 131 131 131 129 129 130 131 131 131 137 137 137 144 145 144 152 153 154
++155 156 156 157 157 157 144 145 144 139 139 139 140 140 140 142 143 144 152 153 154 157 157 157
++152 153 154 152 153 154 158 159 161 163 163 163 157 157 157 152 153 154 157 157 157 161 161 162
++161 161 162 155 156 156 149 151 153 158 159 161 166 167 167 166 165 167 160 161 160 166 165 167
++161 161 162 155 156 156 139 139 139 32 34 33 4 4 4 10 16 15 6 13 11 6 13 11
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++10 11 14 16 20 21 0 0 4 14 16 19 24 25 28 118 122 119 238 240 244 238 240 244
++238 240 244 238 240 244 238 240 244 246 251 251 200 220 210 180 183 185 200 220 210 238 240 244
++238 240 244 246 251 251 238 240 244 246 251 251 238 240 244 200 220 210 200 220 210 238 240 244
++238 240 244 246 251 251 169 175 167 142 143 144 152 153 154 140 140 140 149 149 149 147 147 148
++144 145 144 144 145 144 144 145 144 142 143 144 140 140 140 140 140 140 139 139 139 137 138 139
++137 137 137 137 137 137 134 134 134 133 133 133 129 129 130 128 128 128 128 128 128 129 129 130
++122 121 126 125 125 127 129 129 130 133 133 133 129 129 130 122 121 126 117 117 117 115 116 115
++127 127 127 128 128 128 127 127 127 128 128 128 127 127 127 127 127 127 127 127 127 109 110 110
++103 103 102 105 104 105 99 99 99 99 99 99 96 96 96 103 103 102 115 116 115 105 105 105
++105 105 105 105 105 105 101 101 101 88 88 88 77 77 77 77 77 77 88 88 88 99 99 99
++96 97 98 101 101 101 92 92 92 71 71 71 66 66 66 82 82 82 92 92 92 87 87 87
++87 87 87 80 80 80 81 81 81 80 80 80 73 73 73 76 76 76 72 72 72 52 52 52
++44 44 44 58 58 58 72 72 72 75 75 75 63 63 63 45 45 45 32 32 32 28 28 28
++25 25 25 28 28 28 19 19 19 23 23 23 16 16 16 25 25 25 52 52 52 42 42 42
++25 25 25 25 25 25 29 29 29 39 39 39 24 24 24 29 29 29 50 50 50 23 23 23
++17 17 17 21 21 21 19 19 19 11 11 11 8 8 8 6 6 6 10 10 10 20 20 20
++27 27 27 43 43 43 37 37 37 34 34 34 21 21 21 13 13 13 38 38 38 43 43 43
++33 33 33 23 23 23 17 17 17 21 21 21 21 21 21 17 17 17 17 17 17 24 24 24
++34 34 34 37 37 37 34 34 34 29 29 29 27 27 27 29 29 29 29 29 29 25 25 25
++27 27 27 29 29 29 25 25 25 25 25 25 31 31 31 25 25 25 16 16 16 14 14 14
++16 16 16 25 25 25 36 36 36 31 31 31 17 17 17 11 11 11 13 13 13 14 14 14
++13 13 13 13 13 13 13 13 13 38 38 38 33 33 33 28 28 28 19 19 19 4 4 4
++11 11 11 11 11 11 14 14 14 10 10 10 10 10 10 27 27 27 37 37 37 29 29 29
++14 14 14 17 17 17 19 19 19 19 19 19 13 13 13 11 11 11 17 17 17 24 24 24
++42 42 42 34 34 34 23 23 23 16 16 16 17 17 17 24 24 24 27 27 27 24 24 24
++17 17 17 19 19 19 28 28 28 33 33 33 29 29 29 24 24 24 20 20 20 14 14 14
++20 20 20 25 25 25 21 21 21 13 13 13 14 14 14 25 25 25 32 32 32 32 32 32
++14 14 14 11 11 11 13 13 13 17 17 17 16 16 16 11 11 11 11 11 11 14 14 14
++21 21 21 28 28 28 28 28 28 21 21 21 17 17 17 20 20 20 20 20 20 14 14 14
++21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
++
++14 14 14 23 23 23 19 19 19 19 19 19 23 23 23 17 17 17 21 21 21 44 44 44
++11 11 11 8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 19 19 19
++40 40 40 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0
++21 21 21 19 19 19 8 8 8 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0
++0 0 0 23 23 23 28 28 28 10 10 10 0 0 0 0 0 0 6 6 6 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 13 13 13 16 16 16
++21 21 21 19 19 19 16 16 16 13 13 13 11 11 11 11 11 11 13 13 13 14 14 14
++19 19 19 19 19 19 20 20 20 19 19 19 16 16 16 10 10 10 4 4 4 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 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 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
++4 4 4 0 0 0 4 4 4 13 13 13 6 6 6 0 0 0 4 4 4 3 3 3
++6 6 6 6 6 6 3 3 3 3 3 3 17 17 17 28 28 28 19 19 19 0 0 0
++3 3 3 8 8 8 6 6 6 3 3 3 14 14 14 31 31 31 31 31 31 19 19 19
++10 10 10 13 13 13 14 14 14 13 13 13 13 13 13 20 20 20 29 29 29 37 37 37
++4 4 4 14 14 14 14 14 14 14 14 14 17 17 17 11 11 11 23 23 23 52 52 52
++39 39 39 20 20 20 20 20 20 28 28 28 23 23 23 23 23 23 32 32 32 36 36 36
++70 70 70 39 39 39 29 29 29 32 32 32 36 36 36 37 37 37 43 43 43 69 69 69
++71 71 71 69 69 69 57 57 57 49 49 49 54 54 54 59 59 59 70 70 70 89 89 89
++85 85 85 94 94 94 93 93 93 90 90 90 91 91 91 90 90 90 93 93 93 105 104 105
++105 104 105 101 101 101 92 92 92 103 103 102 105 105 105 103 103 102 109 110 110 109 110 110
++117 117 117 109 110 110 109 110 110 96 96 96 91 91 91 99 99 99 121 121 119 117 117 117
++129 129 130 112 112 113 109 110 110 122 121 126 121 121 119 105 105 105 109 110 110 127 127 127
++144 145 144 131 131 131 115 116 115 112 112 113 121 121 119 121 121 119 122 121 126 134 134 134
++152 153 154 139 139 139 129 129 130 131 131 131 133 133 133 131 131 131 134 134 134 144 145 144
++157 157 157 155 156 156 140 140 140 140 140 140 142 143 144 139 139 139 144 145 144 149 149 149
++166 167 167 155 156 156 155 156 156 163 163 163 157 157 157 149 149 149 147 147 148 149 149 149
++166 167 167 163 163 163 155 156 156 155 156 156 166 165 167 166 167 167 157 157 157 149 151 153
++161 161 162 158 159 161 103 103 102 0 3 0 10 13 11 20 21 24 2 8 7 10 16 15
++10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14 10 11 14
++14 16 19 6 8 11 16 20 21 8 10 13 43 44 47 43 44 47 180 183 185 238 240 244
++246 251 251 246 251 251 246 251 251 238 240 244 238 240 244 180 183 185 187 210 182 231 246 232
++238 240 244 238 240 244 246 251 251 231 224 220 200 220 210 238 240 244 238 240 244 238 240 244
++246 251 251 238 240 244 231 224 220 129 129 130 144 145 144 144 145 144 142 143 144 149 149 149
++144 145 144 144 145 144 142 143 144 140 140 140 140 140 140 139 139 139 137 138 139 137 137 137
++137 137 137 133 133 133 129 129 130 133 133 133 133 133 133 128 128 128 127 127 127 127 127 127
++129 129 130 121 121 119 117 117 117 127 127 127 134 134 134 133 133 133 121 121 119 112 112 113
++109 110 110 121 121 119 128 128 128 134 134 134 127 127 127 117 117 117 121 121 119 105 105 105
++103 103 102 105 104 105 96 97 98 94 94 94 94 94 94 105 104 105 117 117 117 105 105 105
++109 110 110 103 103 102 94 94 94 84 84 84 77 77 77 80 80 80 90 90 90 99 99 99
++93 93 93 96 97 98 83 83 83 68 68 68 75 75 75 87 87 87 87 87 87 87 87 87
++90 90 90 83 83 83 80 80 80 68 68 68 53 53 53 59 59 59 63 63 63 49 49 49
++58 58 58 68 68 68 74 74 74 66 66 66 48 48 48 33 33 33 28 28 28 28 28 28
++21 21 21 31 31 31 27 27 27 31 31 31 23 23 23 29 29 29 52 52 52 34 34 34
++25 25 25 42 42 42 39 39 39 29 29 29 10 10 10 25 25 25 48 48 48 10 10 10
++10 10 10 21 21 21 19 19 19 14 14 14 14 14 14 11 11 11 17 17 17 38 38 38
++40 40 40 48 48 48 25 25 25 17 17 17 13 13 13 17 17 17 45 45 45 46 46 46
++37 37 37 25 25 25 19 19 19 21 21 21 23 23 23 17 17 17 19 19 19 25 25 25
++34 34 34 34 34 34 29 29 29 20 20 20 17 17 17 20 20 20 21 21 21 19 19 19
++17 17 17 20 20 20 16 16 16 16 16 16 24 24 24 20 20 20 11 11 11 14 14 14
++25 25 25 38 38 38 38 38 38 21 21 21 8 8 8 11 11 11 13 13 13 10 10 10
++13 13 13 17 17 17 24 24 24 45 45 45 24 24 24 10 10 10 13 13 13 20 20 20
++11 11 11 13 13 13 14 14 14 10 10 10 17 17 17 38 38 38 40 40 40 19 19 19
++16 16 16 16 16 16 20 20 20 27 27 27 28 28 28 24 24 24 27 27 27 33 33 33
++38 38 38 27 27 27 23 23 23 28 28 28 27 27 27 19 19 19 20 20 20 31 31 31
++29 29 29 25 25 25 38 38 38 37 37 37 16 16 16 17 17 17 32 32 32 27 27 27
++20 20 20 20 20 20 14 14 14 10 10 10 20 20 20 31 31 31 24 24 24 10 10 10
++16 16 16 13 13 13 10 10 10 10 10 10 11 11 11 14 14 14 14 14 14 13 13 13
++42 42 42 33 33 33 28 28 28 31 31 31 31 31 31 28 28 28 29 29 29 36 36 36
++29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29
++
++28 28 28 14 14 14 17 17 17 20 20 20 6 6 6 4 4 4 13 13 13 13 13 13
++48 48 48 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++14 14 14 37 37 37 21 21 21 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0
++0 0 0 21 21 21 27 27 27 11 11 11 0 0 0 0 0 0 6 6 6 4 4 4
++3 3 3 4 4 4 16 16 16 25 25 25 16 16 16 0 0 0 0 0 0 8 8 8
++0 0 0 3 3 3 3 3 3 0 0 0 3 3 3 11 11 11 17 17 17 17 17 17
++19 19 19 11 11 11 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0
++6 6 6 0 0 0 0 0 0 11 11 11 23 23 23 20 20 20 6 6 6 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 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 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
++6 6 6 0 0 0 0 0 0 11 11 11 14 14 14 8 8 8 3 3 3 3 3 3
++6 6 6 0 0 0 6 6 6 29 29 29 25 25 25 8 8 8 3 3 3 3 3 3
++10 10 10 10 10 10 0 0 0 11 11 11 33 33 33 33 33 33 11 11 11 0 0 0
++8 8 8 3 3 3 8 8 8 17 17 17 21 21 21 19 19 19 14 14 14 14 14 14
++16 16 16 6 6 6 16 16 16 17 17 17 11 11 11 34 34 34 53 53 53 43 43 43
++21 21 21 28 28 28 24 24 24 21 21 21 27 27 27 28 28 28 39 39 39 65 65 65
++36 36 36 36 36 36 34 34 34 32 32 32 33 33 33 37 37 37 43 43 43 48 48 48
++76 76 76 74 74 74 72 72 72 73 73 73 76 76 76 81 81 81 82 82 82 83 83 83
++93 93 93 89 89 89 87 87 87 88 88 88 91 91 91 95 95 94 96 97 98 96 96 96
++105 104 105 105 105 105 105 104 105 103 103 102 101 101 101 101 101 101 105 104 105 105 105 105
++109 110 110 121 121 119 115 116 115 109 110 110 112 112 113 117 117 117 112 112 113 109 110 110
++115 116 115 127 127 127 127 127 127 112 112 113 103 103 102 105 104 105 112 112 113 117 117 117
++127 127 127 134 134 134 131 131 131 117 117 117 112 112 113 122 121 126 127 127 127 121 121 119
++133 133 133 147 147 148 147 147 148 133 133 133 122 121 126 129 129 130 137 137 137 137 137 137
++149 151 153 157 157 157 152 153 154 137 137 137 140 140 140 134 134 134 142 143 144 142 143 144
++145 146 147 152 153 154 163 163 163 161 161 162 161 161 162 144 145 144 145 146 147 147 147 148
++149 149 149 158 159 161 166 167 167 157 157 157 163 163 163 166 165 167 161 161 162 149 149 149
++145 146 147 152 153 154 37 39 42 6 8 11 14 16 19 14 16 19 10 11 14 6 8 11
++10 11 14 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 14 16 19
++11 11 11 11 11 11 8 8 8 24 24 24 48 48 48 52 52 52 73 73 73 231 224 220
++238 240 244 246 251 251 238 240 244 238 240 244 238 240 244 238 240 244 200 220 210 238 240 244
++246 251 251 231 224 220 200 220 210 231 224 220 238 240 244 238 240 244 238 240 244 238 240 244
++252 251 251 200 220 210 160 161 160 147 147 148 144 145 144 137 137 137 144 145 144 144 145 144
++142 143 144 140 140 140 140 140 140 140 140 140 137 138 139 137 137 137 137 137 137 137 137 137
++134 134 134 133 133 133 129 129 130 129 129 130 128 128 128 127 127 127 125 125 127 122 121 126
++121 121 119 121 121 119 121 121 119 121 121 119 121 121 119 133 133 133 131 131 131 115 116 115
++115 116 115 125 125 127 127 127 127 127 127 127 128 128 128 125 122 126 112 112 113 105 105 105
++101 101 101 101 101 101 99 99 99 96 97 98 101 101 101 109 110 110 112 112 113 109 110 110
++109 110 110 105 105 105 87 87 87 81 81 81 81 81 81 83 83 83 96 97 98 101 101 101
++96 97 98 87 87 87 72 72 72 73 73 73 87 87 87 85 85 85 77 77 77 81 81 81
++66 66 66 82 82 82 90 90 90 57 57 57 46 46 46 46 46 46 50 50 50 48 48 48
++68 68 68 57 57 57 68 68 68 75 75 75 69 69 69 56 56 56 32 32 32 21 21 21
++27 27 27 23 23 23 25 25 25 27 27 27 19 19 19 16 16 16 51 51 51 33 33 33
++37 37 37 43 43 43 20 20 20 13 13 13 21 21 21 36 36 36 46 46 46 16 16 16
++13 13 13 20 20 20 21 21 21 14 14 14 16 16 16 29 29 29 42 42 42 45 45 45
++49 49 49 43 43 43 17 17 17 19 19 19 17 17 17 20 20 20 45 45 45 40 40 40
++38 38 38 25 25 25 17 17 17 21 21 21 23 23 23 20 20 20 23 23 23 32 32 32
++36 36 36 36 36 36 34 34 34 33 33 33 32 32 32 32 32 32 32 32 32 32 32 32
++36 36 36 32 32 32 36 36 36 38 38 38 44 44 44 38 38 38 20 20 20 24 24 24
++45 45 45 25 25 25 17 17 17 29 29 29 13 13 13 16 16 16 11 11 11 4 4 4
++13 13 13 28 28 28 44 44 44 50 50 50 17 17 17 11 11 11 10 10 10 8 8 8
++14 14 14 10 10 10 8 8 8 27 27 27 33 33 33 38 38 38 51 51 51 50 50 50
++40 40 40 34 34 34 34 34 34 44 44 44 52 52 52 49 49 49 40 40 40 34 34 34
++37 37 37 42 42 42 50 50 50 53 53 53 45 45 45 36 36 36 37 37 37 44 44 44
++44 44 44 44 44 44 39 39 39 28 28 28 20 20 20 25 25 25 42 42 42 54 54 54
++42 42 42 21 21 21 11 11 11 25 25 25 33 33 33 24 24 24 13 13 13 13 13 13
++11 11 11 10 10 10 13 13 13 14 14 14 8 8 8 4 4 4 19 19 19 36 36 36
++38 38 38 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39
++40 40 40 39 39 39 38 38 38 37 37 37 37 37 37 37 37 37 38 38 38 38 38 38
++
++46 46 46 36 36 36 13 13 13 4 4 4 10 10 10 0 0 0 0 0 0 8 8 8
++10 10 10 48 48 48 4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 0 0 0
++0 0 0 21 21 21 36 36 36 19 19 19 0 0 0 0 0 0 8 8 8 3 3 3
++0 0 0 0 0 0 16 16 16 24 24 24 19 19 19 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 8 8 8 19 19 19 24 24 24 20 20 20 8 8 8 0 0 0
++3 3 3 4 4 4 0 0 0 0 0 0 3 3 3 19 19 19 23 23 23 17 17 17
++10 10 10 4 4 4 0 0 0 0 0 0 6 6 6 11 11 11 13 13 13 11 11 11
++8 8 8 10 10 10 6 6 6 6 6 6 14 14 14 19 19 19 11 11 11 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 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 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
++4 4 4 0 0 0 0 0 0 0 0 0 8 8 8 13 13 13 11 11 11 10 10 10
++0 0 0 4 4 4 24 24 24 31 31 31 17 17 17 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 10 10 10 28 28 28 31 31 31 20 20 20 10 10 10 6 6 6
++13 13 13 10 10 10 10 10 10 16 16 16 20 20 20 19 19 19 11 11 11 6 6 6
++8 8 8 21 21 21 14 14 14 3 3 3 25 25 25 49 49 49 42 42 42 20 20 20
++27 27 27 14 14 14 23 23 23 25 25 25 17 17 17 36 36 36 53 53 53 42 42 42
++32 32 32 31 31 31 29 29 29 32 32 32 40 40 40 54 54 54 69 69 69 80 80 80
++76 76 76 77 77 77 78 78 78 78 78 78 78 78 78 81 81 81 83 83 83 85 85 85
++87 87 87 89 89 89 89 89 89 87 87 87 89 89 89 96 96 96 96 96 96 92 92 92
++92 92 92 96 97 98 103 103 102 103 103 102 101 101 101 101 101 101 105 105 105 112 112 113
++109 110 110 115 116 115 115 116 115 112 112 113 117 117 117 117 117 117 112 112 113 115 116 115
++121 121 119 128 128 128 127 127 127 115 116 115 103 103 102 105 105 105 115 116 115 121 121 119
++112 112 113 122 121 126 133 133 133 129 129 130 121 121 119 115 116 115 117 117 117 122 121 126
++125 125 127 134 134 134 144 145 144 140 140 140 131 131 131 128 128 128 131 131 131 137 138 139
++149 149 149 149 149 149 152 153 154 147 147 148 147 147 148 131 131 131 134 134 134 144 145 144
++140 140 140 145 146 147 157 157 157 160 161 160 160 161 160 145 146 147 145 146 147 144 145 144
++147 147 148 149 151 153 161 161 162 157 157 157 163 163 163 160 161 160 155 156 156 144 145 144
++145 146 147 96 98 100 11 13 16 8 10 13 8 10 13 8 10 13 1 3 7 11 13 16
++8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13 8 10 13
++16 16 16 16 16 16 16 16 16 43 43 43 52 52 52 44 44 44 36 36 36 125 125 127
++252 251 251 238 240 244 238 240 244 238 240 244 238 240 244 252 251 251 169 175 167 180 183 185
++180 183 185 231 224 220 246 251 251 238 240 244 238 240 244 246 251 251 238 240 244 246 251 251
++161 161 162 140 140 140 133 133 133 144 145 144 144 145 144 137 138 139 144 145 144 140 140 140
++140 140 140 139 139 139 137 138 139 137 137 137 137 137 137 134 134 134 134 134 134 134 134 134
++129 129 130 129 129 130 129 129 130 129 129 130 129 129 130 128 128 128 125 125 127 121 121 119
++121 121 119 121 121 119 117 117 117 115 116 115 112 112 113 121 121 119 128 128 128 122 121 126
++125 122 126 128 128 128 127 127 127 125 125 127 128 128 128 125 125 127 109 110 110 101 101 101
++101 101 101 96 97 98 92 92 92 90 90 90 96 96 96 105 105 105 109 110 110 105 105 105
++112 112 113 103 103 102 83 83 83 80 80 80 83 83 83 88 88 88 99 99 99 99 99 99
++93 93 93 88 88 88 82 82 82 83 83 83 88 88 88 84 84 84 66 66 66 46 46 46
++61 61 61 58 58 58 85 85 85 70 70 70 42 42 42 40 40 40 57 57 57 46 46 46
++76 76 76 68 68 68 65 65 65 52 52 52 49 49 49 60 60 60 53 53 53 40 40 40
++28 28 28 31 31 31 36 36 36 32 32 32 21 21 21 23 23 23 59 59 59 46 46 46
++38 38 38 38 38 38 17 17 17 10 10 10 11 11 11 37 37 37 52 52 52 8 8 8
++8 8 8 11 11 11 16 16 16 25 25 25 37 37 37 44 44 44 44 44 44 43 43 43
++42 42 42 37 37 37 16 16 16 20 20 20 17 17 17 19 19 19 40 40 40 34 34 34
++44 44 44 34 34 34 24 24 24 20 20 20 23 23 23 28 28 28 36 36 36 42 42 42
++43 43 43 42 42 42 40 40 40 39 39 39 39 39 39 38 38 38 38 38 38 39 39 39
++36 36 36 38 38 38 40 40 40 36 36 36 39 39 39 42 42 42 36 36 36 42 42 42
++33 33 33 16 16 16 16 16 16 34 34 34 17 17 17 16 16 16 11 11 11 11 11 11
++31 31 31 33 33 33 38 38 38 44 44 44 16 16 16 13 13 13 13 13 13 13 13 13
++14 14 14 16 16 16 24 24 24 38 38 38 28 28 28 19 19 19 39 39 39 53 53 53
++50 50 50 43 43 43 37 37 37 40 40 40 44 44 44 45 45 45 46 46 46 48 48 48
++36 36 36 39 39 39 46 46 46 52 52 52 51 51 51 44 44 44 38 38 38 37 37 37
++45 45 45 50 50 50 50 50 50 42 42 42 28 28 28 23 23 23 33 33 33 45 45 45
++39 39 39 25 25 25 19 19 19 25 25 25 27 27 27 17 17 17 10 10 10 13 13 13
++11 11 11 17 17 17 14 14 14 6 6 6 10 10 10 24 24 24 37 37 37 42 42 42
++39 39 39 40 40 40 40 40 40 42 42 42 42 42 42 42 42 42 40 40 40 40 40 40
++42 42 42 40 40 40 39 39 39 38 38 38 38 38 38 38 38 38 39 39 39 39 39 39
++
++28 28 28 43 43 43 28 28 28 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++8 8 8 10 10 10 49 49 49 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 21 21 21 38 38 38 21 21 21 0 0 0 0 0 0 8 8 8
++0 0 0 0 0 0 4 4 4 24 24 24 31 31 31 19 19 19 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 14 14 14 23 23 23 10 10 10 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 6 6 6 21 21 21 24 24 24 16 16 16
++3 3 3 0 0 0 0 0 0 6 6 6 13 13 13 16 16 16 17 17 17 16 16 16
++11 11 11 16 16 16 13 13 13 3 3 3 4 4 4 17 17 17 16 16 16 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 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 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
++3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 13 13 13 14 14 14 10 10 10
++0 0 0 24 24 24 31 31 31 17 17 17 0 0 0 0 0 0 3 3 3 11 11 11
++3 3 3 6 6 6 27 27 27 33 33 33 16 16 16 3 3 3 8 8 8 4 4 4
++8 8 8 11 11 11 14 14 14 16 16 16 17 17 17 16 16 16 13 13 13 10 10 10
++17 17 17 6 6 6 3 3 3 25 25 25 44 44 44 38 38 38 20 20 20 14 14 14
++17 17 17 19 19 19 19 19 19 25 25 25 40 40 40 45 45 45 37 37 37 29 29 29
++28 28 28 37 37 37 49 49 49 60 60 60 67 67 67 71 71 71 74 74 74 75 75 75
++73 73 73 76 76 76 81 81 81 82 82 82 80 80 80 80 80 80 82 82 82 84 84 84
++82 82 82 88 88 88 91 91 91 91 91 91 93 93 93 94 94 94 94 94 94 93 93 93
++101 101 101 103 103 102 105 105 105 105 105 105 105 104 105 103 103 102 105 105 105 105 105 105
++109 110 110 109 110 110 112 112 113 115 116 115 121 121 119 115 116 115 115 116 115 117 117 117
++117 117 117 125 122 126 127 127 127 121 121 119 117 117 117 117 117 117 115 116 115 109 110 110
++105 104 105 109 110 110 122 121 126 134 134 134 133 133 133 121 121 119 115 116 115 121 121 119
++121 121 119 121 121 119 133 133 133 144 145 144 142 143 144 129 129 130 128 128 128 133 133 133
++149 149 149 144 145 144 149 149 149 149 149 149 152 153 154 137 137 137 133 133 133 139 139 139
++137 137 137 140 140 140 152 153 154 157 157 157 157 157 157 147 147 148 144 145 144 142 143 144
++147 147 148 142 143 144 149 151 153 157 157 157 163 163 163 157 157 157 155 156 156 142 143 144
++137 137 137 37 39 42 1 3 7 16 20 21 11 13 16 14 16 19 14 16 19 20 21 24
++11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 11 13 16 10 11 14 10 11 14
++10 10 10 13 13 13 21 21 21 52 52 52 52 52 52 52 52 52 39 39 39 53 53 53
++180 183 185 238 240 244 246 251 251 252 251 251 238 240 244 238 240 244 200 220 210 200 220 210
++246 251 251 238 240 244 231 246 232 246 251 251 246 251 251 238 240 244 200 220 210 112 122 122
++117 117 117 117 117 117 129 129 130 147 147 148 142 143 144 134 134 134 139 139 139 137 137 137
++137 137 137 137 137 137 134 134 134 134 134 134 133 133 133 133 133 133 131 131 131 131 131 131
++129 129 130 129 129 130 129 129 130 129 129 130 129 129 130 127 127 127 121 121 119 121 121 119
++121 121 119 115 116 115 115 116 115 112 112 113 109 110 110 115 116 115 127 127 127 129 129 130
++131 131 131 129 129 130 122 121 126 121 121 119 128 128 128 125 122 126 109 110 110 99 99 99
++101 101 101 99 99 99 94 94 94 95 95 94 103 103 102 109 110 110 109 110 110 105 105 105
++105 105 105 96 96 96 80 80 80 78 78 78 84 84 84 91 91 91 99 99 99 96 96 96
++92 92 92 82 82 82 76 76 76 73 73 73 73 73 73 82 82 82 75 75 75 50 50 50
++42 42 42 57 57 57 87 87 87 83 83 83 73 73 73 52 52 52 48 48 48 52 52 52
++62 62 62 69 69 69 73 73 73 51 51 51 32 32 32 44 44 44 54 54 54 58 58 58
++33 33 33 25 25 25 20 20 20 17 17 17 21 21 21 32 32 32 60 60 60 42 42 42
++25 25 25 24 24 24 14 14 14 10 10 10 11 11 11 42 42 42 57 57 57 10 10 10
++42 42 42 27 27 27 21 21 21 34 34 34 46 46 46 48 48 48 43 43 43 42 42 42
++45 45 45 38 38 38 19 19 19 17 17 17 14 14 14 19 19 19 43 43 43 40 40 40
++40 40 40 37 37 37 29 29 29 23 23 23 25 25 25 34 34 34 40 40 40 43 43 43
++42 42 42 40 40 40 39 39 39 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
++38 38 38 42 42 42 43 43 43 32 32 32 37 37 37 44 44 44 36 36 36 38 38 38
++17 17 17 10 10 10 16 16 16 34 34 34 14 14 14 13 13 13 17 17 17 27 27 27
++39 39 39 31 31 31 29 29 29 37 37 37 13 13 13 14 14 14 13 13 13 13 13 13
++3 3 3 31 31 31 40 40 40 32 32 32 13 13 13 17 17 17 40 40 40 42 42 42
++52 52 52 46 46 46 42 42 42 39 39 39 39 39 39 40 40 40 46 46 46 53 53 53
++40 40 40 39 39 39 37 37 37 39 39 39 45 45 45 49 49 49 44 44 44 37 37 37
++39 39 39 45 45 45 52 52 52 49 49 49 34 34 34 20 20 20 24 24 24 36 36 36
++37 37 37 31 31 31 25 25 25 23 23 23 17 17 17 10 10 10 8 8 8 13 13 13
++13 13 13 16 16 16 14 14 14 11 11 11 19 19 19 33 33 33 40 40 40 39 39 39
++38 38 38 39 39 39 39 39 39 40 40 40 40 40 40 39 39 39 39 39 39 38 38 38
++39 39 39 39 39 39 38 38 38 37 37 37 37 37 37 37 37 37 38 38 38 38 38 38
++
++0 0 0 21 21 21 40 40 40 24 24 24 0 0 0 0 0 0 11 11 11 0 0 0
++3 3 3 6 6 6 4 4 4 46 46 46 4 4 4 0 0 0 0 0 0 0 0 0
++6 6 6 0 0 0 0 0 0 23 23 23 39 39 39 14 14 14 0 0 0 0 0 0
++4 4 4 6 6 6 3 3 3 4 4 4 20 20 20 31 31 31 20 20 20 0 0 0
++0 0 0 6 6 6 4 4 4 0 0 0 6 6 6 20 20 20 23 23 23 16 16 16
++0 0 0 0 0 0 0 0 0 4 4 4 13 13 13 19 19 19 19 19 19 16 16 16
++4 4 4 6 6 6 8 8 8 11 11 11 13 13 13 13 13 13 11 11 11 8 8 8
++11 11 11 13 13 13 13 13 13 4 4 4 0 0 0 13 13 13 19 19 19 10 10 10
++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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 6 6 6 11 11 11
++13 13 13 28 28 28 21 21 21 4 4 4 0 0 0 4 4 4 6 6 6 11 11 11
++10 10 10 24 24 24 33 33 33 20 20 20 0 0 0 4 4 4 13 13 13 4 4 4
++13 13 13 20 20 20 23 23 23 19 19 19 10 10 10 6 6 6 6 6 6 8 8 8
++20 20 20 0 0 0 14 14 14 48 48 48 40 40 40 16 16 16 13 13 13 21 21 21
++19 19 19 21 21 21 17 17 17 34 34 34 53 53 53 42 42 42 27 27 27 40 40 40
++53 53 53 59 59 59 66 66 66 70 70 70 71 71 71 70 70 70 69 69 69 68 68 68
++69 69 69 72 72 72 76 76 76 78 78 78 80 80 80 80 80 80 80 80 80 81 81 81
++82 82 82 84 84 84 87 87 87 93 93 93 95 95 94 89 89 89 88 88 88 96 96 96
++99 99 99 95 95 94 93 93 93 96 96 96 103 103 102 105 105 105 105 104 105 101 101 101
++105 104 105 105 105 105 109 110 110 112 112 113 115 116 115 112 112 113 115 116 115 117 117 117
++115 116 115 121 121 119 121 121 119 125 122 126 128 128 128 128 128 128 121 121 119 109 110 110
++112 112 113 105 105 105 109 110 110 122 121 126 133 133 133 129 129 130 121 121 119 115 116 115
++121 121 119 117 117 117 122 121 126 134 134 134 142 143 144 139 139 139 131 131 131 128 128 128
++147 147 148 144 145 144 147 147 148 137 138 139 147 147 148 147 147 148 142 143 144 129 129 130
++137 137 137 137 137 137 149 149 149 152 153 154 152 153 154 149 149 149 144 145 144 140 140 140
++144 145 144 137 137 137 142 143 144 149 151 153 160 161 160 157 157 157 158 159 161 144 145 144
++105 105 105 6 8 11 14 16 19 11 13 16 1 3 7 10 11 14 11 13 16 1 3 7
++10 11 14 8 10 13 8 10 13 10 11 14 10 11 14 10 11 14 8 10 13 6 8 11
++11 11 11 20 20 20 38 38 38 56 56 56 43 43 43 57 57 57 53 53 53 43 43 43
++78 79 82 231 224 220 246 251 251 231 224 220 231 224 220 200 220 210 238 240 244 238 240 244
++238 240 244 238 240 244 252 251 251 238 240 244 200 220 210 143 144 144 87 88 90 94 94 95
++112 112 113 117 117 117 127 127 127 137 137 137 137 138 139 131 131 131 133 133 133 137 137 137
++134 134 134 134 134 134 133 133 133 133 133 133 131 131 131 129 129 130 129 129 130 129 129 130
++133 133 133 131 131 131 129 129 130 129 129 130 128 128 128 125 125 127 121 121 119 117 117 117
++115 116 115 115 116 115 117 117 117 115 116 115 112 112 113 117 117 117 127 127 127 128 128 128
++129 129 130 127 127 127 121 121 119 117 117 117 122 121 126 121 121 119 105 105 105 99 99 99
++99 99 99 99 99 99 99 99 99 103 103 102 105 105 105 109 110 110 105 105 105 103 103 102
++99 99 99 88 88 88 78 78 78 78 78 78 81 81 81 88 88 88 93 93 93 90 90 90
++101 101 101 82 82 82 71 71 71 61 61 61 52 52 52 70 70 70 82 82 82 69 69 69
++49 49 49 65 65 65 81 81 81 73 73 73 78 78 78 59 59 59 50 50 50 65 65 65
++45 45 45 52 52 52 70 70 70 60 60 60 33 33 33 25 25 25 37 37 37 57 57 57
++59 59 59 39 39 39 27 27 27 23 23 23 29 29 29 32 32 32 49 49 49 27 27 27
++19 19 19 21 21 21 17 17 17 19 19 19 20 20 20 39 39 39 48 48 48 14 14 14
++49 49 49 28 28 28 19 19 19 34 34 34 46 46 46 43 43 43 40 40 40 44 44 44
++42 42 42 34 34 34 19 19 19 17 17 17 13 13 13 17 17 17 38 38 38 37 37 37
++34 34 34 36 36 36 37 37 37 38 38 38 38 38 38 38 38 38 37 37 37 36 36 36
++36 36 36 34 34 34 33 33 33 33 33 33 32 32 32 32 32 32 33 33 33 33 33 33
++32 32 32 32 32 32 33 33 33 31 31 31 40 40 40 44 44 44 24 24 24 16 16 16
++8 8 8 13 13 13 17 17 17 27 27 27 6 6 6 16 16 16 27 27 27 39 39 39
++28 28 28 19 19 19 19 19 19 31 31 31 10 10 10 11 11 11 11 11 11 11 11 11
++19 19 19 37 37 37 36 36 36 20 20 20 6 6 6 20 20 20 36 36 36 21 21 21
++32 32 32 36 36 36 38 38 38 37 37 37 32 32 32 29 29 29 33 33 33 38 38 38
++33 33 33 31 31 31 24 24 24 21 21 21 29 29 29 39 39 39 38 38 38 31 31 31
++21 21 21 25 25 25 32 32 32 34 34 34 25 25 25 14 14 14 16 16 16 25 25 25
++34 34 34 31 31 31 24 24 24 16 16 16 10 10 10 10 10 10 10 10 10 11 11 11
++13 13 13 8 8 8 14 14 14 25 25 25 29 29 29 25 25 25 23 23 23 27 27 27
++20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 20 20 20 19 19 19
++21 21 21 20 20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 19
++
++0 0 0 0 0 0 23 23 23 44 44 44 25 25 25 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 4 4 4 45 45 45 4 4 4 4 4 4 0 0 0
++0 0 0 8 8 8 0 0 0 0 0 0 23 23 23 33 33 33 16 16 16 0 0 0
++0 0 0 8 8 8 4 4 4 0 0 0 0 0 0 24 24 24 28 28 28 17 17 17
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 11 11 23 23 23 29 29 29
++10 10 10 0 0 0 0 0 0 6 6 6 17 17 17 17 17 17 14 14 14 14 14 14
++4 4 4 8 8 8 13 13 13 13 13 13 11 11 11 6 6 6 0 0 0 0 0 0
++10 10 10 4 4 4 10 10 10 13 13 13 6 6 6 10 10 10 17 17 17 14 14 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 6 6 6 3 3 3 0 0 0 6 6 6 21 21 21
++10 10 10 19 19 19 13 13 13 10 10 10 16 16 16 14 14 14 4 4 4 6 6 6
++11 11 11 25 25 25 21 21 21 6 6 6 10 10 10 19 19 19 19 19 19 16 16 16
++16 16 16 17 17 17 16 16 16 13 13 13 11 11 11 10 10 10 11 11 11 11 11 11
++10 10 10 21 21 21 38 38 38 36 36 36 17 17 17 14 14 14 20 20 20 16 16 16
++28 28 28 14 14 14 32 32 32 49 49 49 40 40 40 39 39 39 53 53 53 57 57 57
++66 66 66 67 67 67 68 68 68 68 68 68 67 67 67 68 68 68 70 70 70 72 72 72
++69 69 69 69 69 69 72 72 72 76 76 76 81 81 81 83 83 83 81 81 81 78 78 78
++80 80 80 84 84 84 85 85 85 87 87 87 91 91 91 88 88 88 88 88 88 95 95 94
++92 92 92 90 90 90 90 90 90 96 96 96 103 103 102 105 105 105 105 104 105 101 101 101
++105 104 105 105 105 105 109 110 110 109 110 110 109 110 110 115 116 115 115 116 115 115 116 115
++115 116 115 115 116 115 117 117 117 121 121 119 122 121 126 127 127 127 127 127 127 121 121 119
++121 121 119 115 116 115 109 110 110 109 110 110 121 121 119 131 131 131 129 129 130 121 121 119
++117 117 117 117 117 117 117 117 117 121 121 119 133 133 133 142 143 144 140 140 140 133 133 133
++144 145 144 140 140 140 142 143 144 127 127 127 137 137 137 149 149 149 147 147 148 137 137 137
++137 137 137 133 133 133 144 145 144 147 147 148 145 146 147 152 153 154 149 149 149 145 146 147
++140 140 140 137 137 137 139 139 139 145 146 147 157 157 157 152 153 154 155 156 156 137 137 137
++50 51 53 0 0 4 14 16 19 6 8 11 11 13 16 10 11 14 16 20 21 10 11 14
++11 13 16 10 11 14 8 10 13 10 11 14 11 13 16 11 13 16 11 13 16 10 11 14
++4 4 4 20 20 20 51 51 51 56 56 56 40 40 40 54 54 54 50 50 50 49 49 49
++43 44 47 139 140 142 231 224 220 200 220 210 231 224 220 238 240 244 238 240 244 238 240 244
++238 240 244 246 251 251 238 240 244 161 161 162 87 88 90 81 81 81 94 94 95 96 97 98
++101 101 101 112 112 113 117 117 117 125 122 126 140 140 140 137 138 139 128 128 128 134 134 134
++133 133 133 133 133 133 131 131 131 129 129 130 129 129 130 128 128 128 128 128 128 128 128 128
++131 131 131 129 129 130 128 128 128 128 128 128 127 127 127 125 125 127 121 121 119 121 121 119
++115 116 115 117 117 117 117 117 117 115 116 115 112 112 113 121 121 119 122 121 126 117 117 117
++117 117 117 117 117 117 112 112 113 109 110 110 112 112 113 109 110 110 101 101 101 99 99 99
++94 94 94 96 96 96 99 99 99 99 99 99 96 97 98 94 94 94 92 92 92 91 91 91
++90 90 90 81 81 81 80 80 80 78 78 78 75 75 75 81 81 81 85 85 85 82 82 82
++88 88 88 71 71 71 68 68 68 67 67 67 56 56 56 60 60 60 72 72 72 70 70 70
++59 59 59 50 50 50 69 69 69 63 63 63 57 57 57 56 56 56 62 62 62 56 56 56
++49 49 49 39 39 39 49 49 49 50 50 50 40 40 40 37 37 37 36 36 36 42 42 42
++45 45 45 32 32 32 36 36 36 39 39 39 43 43 43 34 34 34 45 45 45 36 36 36
++27 27 27 32 32 32 25 25 25 25 25 25 28 28 28 28 28 28 28 28 28 20 20 20
++28 28 28 16 16 16 20 20 20 38 38 38 43 43 43 31 31 31 23 23 23 27 27 27
++24 24 24 20 20 20 16 16 16 20 20 20 16 16 16 16 16 16 23 23 23 16 16 16
++23 23 23 21 21 21 28 28 28 38 38 38 37 37 37 25 25 25 19 19 19 21 21 21
++20 20 20 20 20 20 19 19 19 19 19 19 17 17 17 19 19 19 19 19 19 19 19 19
++20 20 20 17 17 17 24 24 24 32 32 32 43 43 43 39 39 39 14 14 14 10 10 10
++11 11 11 17 17 17 14 14 14 19 19 19 11 11 11 31 31 31 34 34 34 33 33 33
++16 16 16 10 10 10 14 14 14 27 27 27 4 4 4 13 13 13 17 17 17 21 21 21
++43 43 43 28 28 28 14 14 14 20 20 20 16 16 16 8 8 8 20 20 20 19 19 19
++13 13 13 21 21 21 31 31 31 32 32 32 27 27 27 21 21 21 19 19 19 19 19 19
++14 14 14 20 20 20 21 21 21 21 21 21 24 24 24 29 29 29 28 28 28 20 20 20
++17 17 17 13 13 13 11 11 11 16 16 16 19 19 19 16 16 16 17 17 17 21 21 21
++29 29 29 25 25 25 17 17 17 10 10 10 10 10 10 14 14 14 13 13 13 10 10 10
++11 11 11 11 11 11 20 20 20 31 31 31 31 31 31 21 21 21 16 16 16 19 19 19
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 17 17 17 16 16 16 16 16 16
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16
++
++10 10 10 0 0 0 0 0 0 25 25 25 43 43 43 24 24 24 0 0 0 0 0 0
++0 0 0 0 0 0 3 3 3 6 6 6 8 8 8 50 50 50 10 10 10 8 8 8
++0 0 0 0 0 0 8 8 8 4 4 4 0 0 0 21 21 21 34 34 34 17 17 17
++0 0 0 0 0 0 6 6 6 3 3 3 0 0 0 4 4 4 21 21 21 33 33 33
++13 13 13 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 11 11 11
++28 28 28 10 10 10 0 0 0 0 0 0 17 17 17 20 20 20 16 16 16 11 11 11
++0 0 0 6 6 6 13 13 13 14 14 14 10 10 10 4 4 4 0 0 0 0 0 0
++6 6 6 0 0 0 8 8 8 16 16 16 8 8 8 10 10 10 17 17 17 14 14 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 16 16 31 31 31
++8 8 8 10 10 10 8 8 8 10 10 10 14 14 14 11 11 11 11 11 11 17 17 17
++16 16 16 19 19 19 10 10 10 11 11 11 23 23 23 19 19 19 11 11 11 23 23 23
++25 25 25 13 13 13 4 4 4 8 8 8 14 14 14 14 14 14 13 13 13 13 13 13
++14 14 14 43 43 43 38 38 38 13 13 13 13 13 13 17 17 17 13 13 13 14 14 14
++14 14 14 33 33 33 50 50 50 52 52 52 49 49 49 54 54 54 63 63 63 65 65 65
++58 58 58 62 62 62 68 68 68 71 71 71 71 71 71 70 70 70 69 69 69 68 68 68
++71 71 71 71 71 71 72 72 72 76 76 76 81 81 81 83 83 83 83 83 83 82 82 82
++82 82 82 90 90 90 87 87 87 81 81 81 89 89 89 95 95 94 93 93 93 95 95 94
++87 87 87 91 91 91 96 97 98 99 99 99 101 101 101 101 101 101 103 103 102 105 104 105
++105 105 105 105 105 105 105 105 105 105 105 105 109 110 110 115 116 115 117 117 117 112 112 113
++109 110 110 115 116 115 121 121 119 121 121 119 121 121 119 121 121 119 125 125 127 128 128 128
++121 121 119 125 125 127 121 121 119 109 110 110 109 110 110 121 121 119 129 129 130 131 131 131
++115 116 115 121 121 119 117 117 117 115 116 115 121 121 119 134 134 134 142 143 144 140 140 140
++140 140 140 129 129 130 139 139 139 127 127 127 129 129 130 137 137 137 144 145 144 149 149 149
++137 137 137 129 129 130 140 140 140 142 143 144 139 139 139 152 153 154 149 151 153 149 151 153
++139 139 139 140 140 140 137 138 139 142 143 144 152 153 154 144 145 144 142 143 144 127 127 127
++14 16 19 6 8 11 10 11 14 1 3 7 16 20 21 1 3 7 11 13 16 11 13 16
++14 16 19 10 11 14 6 8 11 6 8 11 10 11 14 11 13 16 10 11 14 6 8 11
++14 14 14 29 29 29 51 51 51 53 53 53 49 49 49 54 54 54 49 49 49 57 57 57
++51 52 54 49 50 52 180 183 185 238 240 244 238 240 244 246 251 251 246 251 251 238 240 244
++246 251 251 180 183 185 83 83 83 54 54 54 83 83 83 74 74 74 80 80 80 92 92 92
++99 99 99 109 110 110 112 112 113 115 116 115 134 134 134 140 140 140 127 127 127 128 128 128
++129 129 130 129 129 130 129 129 130 128 128 128 128 128 128 127 127 127 127 127 127 125 125 127
++128 128 128 127 127 127 125 125 127 125 125 127 125 125 127 125 125 127 122 121 126 121 121 119
++117 117 117 117 117 117 117 117 117 112 112 113 109 110 110 115 116 115 117 117 117 109 110 110
++105 105 105 109 110 110 105 105 105 105 105 105 105 105 105 101 101 101 94 94 94 96 96 96
++99 99 99 96 97 98 95 95 94 93 93 93 89 89 89 85 85 85 85 85 85 88 88 88
++87 87 87 76 76 76 80 80 80 77 77 77 71 71 71 77 77 77 80 80 80 78 78 78
++68 68 68 60 60 60 65 65 65 74 74 74 70 70 70 58 58 58 57 57 57 63 63 63
++59 59 59 56 56 56 63 63 63 51 51 51 57 57 57 58 58 58 57 57 57 52 52 52
++50 50 50 44 44 44 46 46 46 40 40 40 43 43 43 56 56 56 46 46 46 31 31 31
++36 36 36 27 27 27 40 40 40 49 49 49 53 53 53 40 40 40 38 38 38 24 24 24
++31 31 31 33 33 33 24 24 24 24 24 24 32 32 32 28 28 28 25 25 25 34 34 34
++17 17 17 20 20 20 32 32 32 43 43 43 40 40 40 28 28 28 20 20 20 23 23 23
++25 25 25 17 17 17 16 16 16 19 19 19 19 19 19 23 23 23 27 27 27 20 20 20
++24 24 24 20 20 20 24 24 24 34 34 34 32 32 32 20 20 20 16 16 16 23 23 23
++20 20 20 19 19 19 19 19 19 17 17 17 17 17 17 19 19 19 19 19 19 20 20 20
++25 25 25 24 24 24 32 32 32 37 37 37 39 39 39 29 29 29 10 10 10 16 16 16
++14 14 14 17 17 17 11 11 11 21 21 21 27 27 27 43 43 43 31 31 31 14 14 14
++14 14 14 13 13 13 17 17 17 25 25 25 4 4 4 20 20 20 29 29 29 33 33 33
++31 31 31 19 19 19 6 6 6 14 14 14 11 11 11 13 13 13 29 29 29 33 33 33
++24 24 24 31 31 31 34 34 34 36 36 36 34 34 34 33 33 33 31 31 31 27 27 27
++27 27 27 32 32 32 34 34 34 33 33 33 32 32 32 33 33 33 34 34 34 34 34 34
++39 39 39 32 32 32 25 25 25 24 24 24 29 29 29 33 33 33 32 32 32 28 28 28
++24 24 24 17 17 17 10 10 10 8 8 8 13 13 13 16 16 16 14 14 14 10 10 10
++13 13 13 23 23 23 28 28 28 25 25 25 25 25 25 31 31 31 31 31 31 25 25 25
++34 34 34 36 36 36 36 36 36 36 36 36 34 34 34 33 33 33 32 32 32 32 32 32
++33 33 33 34 34 34 34 34 34 34 34 34 34 34 34 33 33 33 32 32 32 32 32 32
++
++11 11 11 16 16 16 4 4 4 4 4 4 31 31 31 40 40 40 27 27 27 13 13 13
++8 8 8 13 13 13 11 11 11 13 13 13 16 16 16 16 16 16 53 53 53 16 16 16
++19 19 19 0 0 0 11 11 11 23 23 23 4 4 4 6 6 6 28 28 28 34 34 34
++19 19 19 11 11 11 11 11 11 17 17 17 13 13 13 4 4 4 14 14 14 31 31 31
++34 34 34 25 25 25 19 19 19 16 16 16 16 16 16 11 11 11 8 8 8 10 10 10
++28 28 28 24 24 24 17 17 17 11 11 11 14 14 14 21 21 21 17 17 17 10 10 10
++0 0 0 6 6 6 13 13 13 14 14 14 10 10 10 4 4 4 0 0 0 3 3 3
++4 4 4 0 0 0 11 11 11 14 14 14 4 4 4 11 11 11 19 19 19 8 8 8
++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 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 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 0 0 0 0 0 0 0 0 0 3 3 3 17 17 17 21 21 21 20 20 20
++10 10 10 4 4 4 4 4 4 4 4 4 3 3 3 11 11 11 20 20 20 23 23 23
++16 16 16 10 10 10 8 8 8 13 13 13 14 14 14 10 10 10 14 14 14 28 28 28
++33 33 33 19 19 19 8 8 8 11 11 11 10 10 10 3 3 3 4 4 4 16 16 16
++31 31 31 33 33 33 17 17 17 8 8 8 20 20 20 14 14 14 6 6 6 23 23 23
++21 21 21 54 54 54 58 58 58 51 51 51 62 62 62 65 65 65 58 58 58 62 62 62
++65 65 65 66 66 66 67 67 67 67 67 67 67 67 67 67 67 67 68 68 68 69 69 69
++71 71 71 73 73 73 75 75 75 75 75 75 74 74 74 75 75 75 80 80 80 83 83 83
++81 81 81 78 78 78 70 70 70 73 73 73 87 87 87 87 87 87 83 83 83 92 92 92
++75 75 75 78 78 78 82 82 82 82 82 82 81 81 81 87 87 87 96 96 96 105 105 105
++105 105 105 99 99 99 99 99 99 103 103 102 105 105 105 109 110 110 115 116 115 112 112 113
++109 110 110 112 112 113 121 121 119 121 121 119 117 117 117 117 117 117 121 121 119 122 121 126
++122 121 126 125 125 127 125 125 127 121 121 119 115 116 115 112 112 113 121 121 119 129 129 130
++125 122 126 121 121 119 117 117 117 115 116 115 115 116 115 122 121 126 131 131 131 139 139 139
++142 143 144 128 128 128 140 140 140 128 128 128 127 127 127 127 127 127 133 133 133 147 147 148
++142 143 144 133 133 133 140 140 140 140 140 140 131 131 131 149 149 149 144 145 144 145 146 147
++144 145 144 144 145 144 134 134 134 140 140 140 152 153 154 133 133 133 134 134 134 128 128 128
++109 110 110 105 104 105 91 92 94 85 85 85 81 81 81 71 72 74 66 67 69 60 61 64
++51 52 54 46 47 50 42 43 45 39 40 43 40 42 44 42 43 45 40 42 44 37 39 42
++45 45 45 54 54 54 52 52 52 57 57 57 58 58 58 50 50 50 51 51 51 53 53 53
++51 52 54 50 51 53 134 134 134 246 251 251 238 240 244 238 240 244 238 240 244 231 224 220
++112 112 113 56 56 56 50 50 50 57 57 57 66 66 66 76 76 76 71 71 71 90 90 90
++92 92 92 96 97 98 105 104 105 105 105 105 121 121 119 133 133 133 128 128 128 127 127 127
++128 128 128 128 128 128 127 127 127 127 127 127 125 125 127 125 122 126 122 121 126 121 121 119
++125 125 127 125 122 126 122 121 126 122 121 126 122 121 126 121 121 119 121 121 119 117 117 117
++115 116 115 115 116 115 117 117 117 117 117 117 115 116 115 115 116 115 115 116 115 112 112 113
++109 110 110 112 112 113 109 110 110 109 110 110 109 110 110 103 103 102 94 94 94 95 95 94
++103 103 102 96 96 96 91 91 91 92 92 92 93 93 93 92 92 92 92 92 92 94 94 94
++91 91 91 74 74 74 78 78 78 75 75 75 71 71 71 81 81 81 83 83 83 78 78 78
++68 68 68 66 66 66 62 62 62 70 70 70 76 76 76 60 60 60 50 50 50 63 63 63
++73 73 73 78 78 78 68 68 68 43 43 43 61 61 61 56 56 56 46 46 46 62 62 62
++52 52 52 58 58 58 60 60 60 40 40 40 36 36 36 56 56 56 50 50 50 31 31 31
++29 29 29 28 28 28 44 44 44 45 45 45 56 56 56 52 52 52 46 46 46 27 27 27
++20 20 20 19 19 19 19 19 19 25 25 25 36 36 36 39 39 39 37 37 37 38 38 38
++19 19 19 29 29 29 40 40 40 44 44 44 42 42 42 40 40 40 42 42 42 43 43 43
++37 37 37 23 23 23 14 14 14 14 14 14 19 19 19 32 32 32 40 40 40 39 39 39
++40 40 40 38 38 38 39 39 39 43 43 43 40 40 40 36 36 36 37 37 37 42 42 42
++38 38 38 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 38 38 38 38 38 38
++37 37 37 38 38 38 43 43 43 38 38 38 36 36 36 28 28 28 11 11 11 14 14 14
++13 13 13 17 17 17 17 17 17 33 33 33 33 33 33 34 34 34 16 16 16 6 6 6
++14 14 14 17 17 17 21 21 21 28 28 28 11 11 11 29 29 29 36 36 36 29 29 29
++6 6 6 14 14 14 11 11 11 8 8 8 6 6 6 23 23 23 46 46 46 45 45 45
++42 42 42 42 42 42 40 40 40 40 40 40 44 44 44 49 49 49 45 45 45 39 39 39
++43 43 43 43 43 43 43 43 43 43 43 43 42 42 42 39 39 39 42 42 42 45 45 45
++51 51 51 50 50 50 44 44 44 39 39 39 40 40 40 44 44 44 38 38 38 28 28 28
++17 17 17 11 11 11 8 8 8 11 11 11 14 14 14 14 14 14 11 11 11 11 11 11
++23 23 23 25 25 25 25 25 25 24 24 24 31 31 31 40 40 40 40 40 40 34 34 34
++37 37 37 38 38 38 38 38 38 37 37 37 37 37 37 36 36 36 34 34 34 33 33 33
++36 36 36 36 36 36 37 37 37 37 37 37 37 37 37 36 36 36 34 34 34 34 34 34
++
++21 21 21 16 16 16 20 20 20 20 20 20 16 16 16 27 27 27 37 37 37 28 28 28
++19 19 19 17 17 17 20 20 20 21 21 21 20 20 20 20 20 20 21 21 21 59 59 59
++25 25 25 21 21 21 16 16 16 16 16 16 17 17 17 16 16 16 20 20 20 29 29 29
++46 46 46 29 29 29 16 16 16 20 20 20 24 24 24 20 20 20 16 16 16 17 17 17
++34 34 34 31 31 31 25 25 25 19 19 19 16 16 16 17 17 17 20 20 20 23 23 23
++16 16 16 36 36 36 40 40 40 25 25 25 13 13 13 17 17 17 17 17 17 8 8 8
++0 0 0 8 8 8 16 16 16 16 16 16 11 11 11 4 4 4 3 3 3 3 3 3
++4 4 4 4 4 4 14 14 14 11 11 11 0 0 0 13 13 13 20 20 20 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 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 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
++0 0 0 4 4 4 3 3 3 0 0 0 11 11 11 29 29 29 21 21 21 0 0 0
++4 4 4 0 0 0 4 4 4 6 6 6 6 6 6 19 19 19 24 24 24 13 13 13
++0 0 0 0 0 0 10 10 10 6 6 6 0 0 0 6 6 6 31 31 31 38 38 38
++8 8 8 0 0 0 3 3 3 13 13 13 8 8 8 0 0 0 20 20 20 44 44 44
++34 34 34 14 14 14 4 4 4 13 13 13 16 16 16 13 13 13 19 19 19 25 25 25
++61 61 61 54 54 54 58 58 58 57 57 57 51 51 51 59 59 59 66 66 66 58 58 58
++67 67 67 68 68 68 68 68 68 68 68 68 66 66 66 66 66 66 66 66 66 68 68 68
++68 68 68 73 73 73 77 77 77 74 74 74 67 67 67 67 67 67 74 74 74 83 83 83
++73 73 73 53 53 53 42 42 42 63 63 63 80 80 80 63 63 63 58 58 58 82 82 82
++90 90 90 84 84 84 74 74 74 66 66 66 66 66 66 74 74 74 88 88 88 99 99 99
++103 103 102 89 89 89 88 88 88 99 99 99 103 103 102 105 104 105 109 110 110 109 110 110
++121 121 119 115 116 115 112 112 113 112 112 113 115 116 115 117 117 117 121 121 119 121 121 119
++128 128 128 121 121 119 121 121 119 128 128 128 128 128 128 115 116 115 112 112 113 121 121 119
++137 137 137 121 121 119 112 112 113 117 117 117 117 117 117 112 112 113 117 117 117 129 129 130
++145 146 147 131 131 131 142 143 144 129 129 130 125 122 126 122 121 126 125 125 127 133 133 133
++149 149 149 139 139 139 144 145 144 140 140 140 127 127 127 144 145 144 137 138 139 137 138 139
++152 153 154 149 149 149 133 133 133 137 137 137 149 149 149 128 128 128 133 133 133 139 139 139
++133 133 133 125 125 127 109 110 110 94 94 95 83 84 85 87 88 90 76 76 76 58 59 61
++63 65 67 58 59 61 51 52 54 49 50 52 49 50 52 49 50 52 46 47 50 46 47 50
++51 51 51 65 65 65 48 48 48 61 61 61 65 65 65 49 49 49 59 59 59 50 50 50
++51 52 54 56 57 59 49 50 52 200 220 210 238 240 244 246 251 251 149 151 153 60 61 64
++44 44 44 48 48 48 49 49 49 62 62 62 65 65 65 67 67 67 81 81 81 81 81 81
++93 93 93 94 94 94 112 112 113 112 112 113 112 112 113 129 129 130 133 133 133 127 127 127
++127 127 127 125 125 127 125 125 127 125 122 126 121 121 119 121 121 119 121 121 119 121 121 119
++125 125 127 125 122 126 122 121 126 122 121 126 121 121 119 117 117 117 112 112 113 109 110 110
++109 110 110 109 110 110 117 117 117 127 127 127 122 121 126 117 117 117 121 121 119 121 121 119
++121 121 119 117 117 117 115 116 115 115 116 115 117 117 117 109 110 110 99 99 99 96 97 98
++96 96 96 88 88 88 84 84 84 91 91 91 101 101 101 103 103 102 101 101 101 99 99 99
++96 96 96 75 75 75 76 76 76 73 73 73 72 72 72 87 87 87 87 87 87 82 82 82
++60 60 60 63 63 63 53 53 53 62 62 62 84 84 84 75 75 75 63 63 63 82 82 82
++83 83 83 74 74 74 81 81 81 67 67 67 60 60 60 49 49 49 45 45 45 43 43 43
++70 70 70 69 69 69 62 62 62 34 34 34 25 25 25 48 48 48 49 49 49 34 34 34
++24 24 24 37 37 37 51 51 51 33 33 33 31 31 31 31 31 31 34 34 34 19 19 19
++14 14 14 8 8 8 20 20 20 31 31 31 39 39 39 48 48 48 42 42 42 25 25 25
++28 28 28 42 42 42 50 50 50 45 45 45 40 40 40 42 42 42 40 40 40 38 38 38
++34 34 34 17 17 17 13 13 13 14 14 14 21 21 21 37 37 37 44 44 44 42 42 42
++38 38 38 40 40 40 42 42 42 39 39 39 38 38 38 40 40 40 43 43 43 44 44 44
++38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 39 39 39 39 39 39
++37 37 37 40 40 40 42 42 42 34 34 34 38 38 38 39 39 39 20 20 20 13 13 13
++6 6 6 19 19 19 27 27 27 43 43 43 29 29 29 16 16 16 0 0 0 16 16 16
++11 11 11 19 19 19 24 24 24 32 32 32 19 19 19 36 36 36 33 33 33 17 17 17
++14 14 14 11 11 11 11 11 11 20 20 20 14 14 14 17 17 17 40 40 40 50 50 50
++44 44 44 40 40 40 37 37 37 37 37 37 44 44 44 51 51 51 46 46 46 38 38 38
++38 38 38 37 37 37 42 42 42 48 48 48 46 46 46 38 38 38 34 34 34 34 34 34
++43 43 43 49 49 49 48 48 48 39 39 39 37 37 37 38 38 38 29 29 29 14 14 14
++13 13 13 10 10 10 10 10 10 14 14 14 14 14 14 10 10 10 8 8 8 13 13 13
++32 32 32 20 20 20 17 17 17 29 29 29 40 40 40 42 42 42 39 39 39 38 38 38
++38 38 38 38 38 38 38 38 38 38 38 38 37 37 37 36 36 36 34 34 34 33 33 33
++37 37 37 37 37 37 38 38 38 38 38 38 38 38 38 37 37 37 36 36 36 34 34 34
++
++16 16 16 21 21 21 17 17 17 17 17 17 21 21 21 13 13 13 21 21 21 46 46 46
++29 29 29 17 17 17 16 16 16 21 21 21 17 17 17 13 13 13 20 20 20 29 29 29
++52 52 52 20 20 20 20 20 20 23 23 23 17 17 17 19 19 19 16 16 16 23 23 23
++37 37 37 33 33 33 25 25 25 19 19 19 19 19 19 23 23 23 21 21 21 17 17 17
++16 16 16 36 36 36 42 42 42 29 29 29 16 16 16 19 19 19 23 23 23 21 21 21
++27 27 27 17 17 17 27 27 27 36 36 36 25 25 25 16 16 16 11 11 11 0 0 0
++3 3 3 0 0 0 11 11 11 14 14 14 6 6 6 6 6 6 11 11 11 4 4 4
++16 16 16 8 8 8 0 0 0 3 3 3 10 10 10 13 13 13 10 10 10 3 3 3
++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 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 0 3 3 3 6 6 6 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 13 13 13 36 36 36 16 16 16 0 0 0 4 4 4
++8 8 8 3 3 3 0 0 0 6 6 6 19 19 19 23 23 23 13 13 13 0 0 0
++0 0 0 6 6 6 10 10 10 0 0 0 3 3 3 34 34 34 38 38 38 6 6 6
++4 4 4 4 4 4 10 10 10 4 4 4 0 0 0 21 21 21 37 37 37 31 31 31
++8 8 8 16 16 16 19 19 19 13 13 13 8 8 8 20 20 20 43 43 43 61 61 61
++54 54 54 54 54 54 56 56 56 58 58 58 60 60 60 62 62 62 62 62 62 61 61 61
++72 72 72 65 65 65 60 60 60 62 62 62 66 66 66 66 66 66 65 65 65 66 66 66
++69 69 69 71 71 71 56 56 56 43 43 43 38 38 38 54 54 54 70 70 70 54 54 54
++76 76 76 66 66 66 59 59 59 77 77 77 62 62 62 57 57 57 59 59 59 60 60 60
++92 92 92 84 84 84 69 69 69 59 59 59 69 69 69 88 88 88 87 87 87 67 67 67
++90 90 90 103 103 102 96 97 98 85 85 85 81 81 81 81 81 81 88 88 88 103 103 102
++105 105 105 112 112 113 115 116 115 112 112 113 109 110 110 112 112 113 117 117 117 121 121 119
++121 121 119 125 125 127 125 122 126 121 121 119 121 121 119 127 127 127 121 121 119 112 112 113
++117 117 117 129 129 130 129 129 130 115 116 115 105 105 105 115 116 115 117 117 117 112 112 113
++133 133 133 139 139 139 142 143 144 137 138 139 121 121 119 115 116 115 127 127 127 127 127 127
++127 127 127 142 143 144 152 153 154 140 140 140 121 121 119 134 134 134 149 149 149 127 127 127
++133 133 133 144 145 144 152 153 154 137 138 139 142 143 144 133 133 133 125 122 126 127 127 127
++115 116 115 115 116 115 112 112 113 96 96 96 77 77 77 73 73 73 70 70 70 59 59 59
++53 53 53 54 54 54 52 52 52 46 46 46 46 46 46 50 50 50 50 50 50 46 46 46
++57 57 57 59 59 59 57 57 57 58 58 58 63 63 63 60 60 60 53 53 53 54 54 54
++53 53 53 51 51 51 61 61 61 69 69 69 160 161 160 78 78 78 43 43 43 45 45 45
++45 45 45 44 44 44 49 49 49 58 58 58 62 62 62 66 66 66 71 71 71 77 77 77
++87 87 87 92 92 92 96 97 98 103 103 102 112 112 113 125 122 126 128 128 128 127 127 127
++121 121 119 121 121 119 121 121 119 117 117 117 121 121 119 121 121 119 117 117 117 117 117 117
++121 121 119 115 116 115 115 116 115 121 121 119 117 117 117 112 112 113 105 105 105 105 105 105
++112 112 113 117 117 117 122 121 126 125 122 126 121 121 119 117 117 117 117 117 117 117 117 117
++115 116 115 115 116 115 115 116 115 109 110 110 112 112 113 109 110 110 95 95 94 95 95 94
++88 88 88 84 84 84 87 87 87 87 87 87 103 103 102 99 99 99 99 99 99 101 101 101
++89 89 89 73 73 73 68 68 68 74 74 74 81 81 81 69 69 69 62 62 62 88 88 88
++71 71 71 60 60 60 54 54 54 50 50 50 57 57 57 83 83 83 87 87 87 59 59 59
++68 68 68 77 77 77 65 65 65 70 70 70 67 67 67 44 44 44 42 42 42 37 37 37
++32 32 32 72 72 72 63 63 63 27 27 27 19 19 19 27 27 27 34 34 34 44 44 44
++52 52 52 42 42 42 28 28 28 16 16 16 36 36 36 58 58 58 57 57 57 57 57 57
++23 23 23 24 24 24 34 34 34 46 46 46 50 50 50 40 40 40 28 28 28 21 21 21
++45 45 45 44 44 44 42 42 42 42 42 42 43 43 43 43 43 43 42 42 42 39 39 39
++20 20 20 24 24 24 19 19 19 20 20 20 34 34 34 39 39 39 39 39 39 45 45 45
++39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
++39 39 39 37 37 37 37 37 37 39 39 39 38 38 38 34 34 34 36 36 36 40 40 40
++42 42 42 40 40 40 45 45 45 38 38 38 39 39 39 34 34 34 13 13 13 14 14 14
++6 6 6 29 29 29 44 44 44 40 40 40 4 4 4 11 11 11 16 16 16 10 10 10
++13 13 13 14 14 14 24 24 24 38 38 38 40 40 40 25 25 25 13 13 13 13 13 13
++13 13 13 17 17 17 14 14 14 14 14 14 11 11 11 21 21 21 42 42 42 43 43 43
++48 48 48 50 50 50 48 48 48 40 40 40 34 34 34 38 38 38 49 49 49 57 57 57
++45 45 45 40 40 40 36 36 36 39 39 39 49 49 49 50 50 50 42 42 42 33 33 33
++36 36 36 39 39 39 46 46 46 44 44 44 37 37 37 39 39 39 34 34 34 17 17 17
++14 14 14 11 11 11 13 13 13 16 16 16 13 13 13 11 11 11 23 23 23 37 37 37
++25 25 25 14 14 14 0 0 0 43 43 43 51 51 51 49 49 49 36 36 36 39 39 39
++40 40 40 38 38 38 40 40 40 39 39 39 34 34 34 37 37 37 40 40 40 36 36 36
++38 38 38 38 38 38 39 39 39 38 38 38 36 36 36 34 34 34 34 34 34 36 36 36
++
++40 40 40 10 10 10 13 13 13 24 24 24 10 10 10 10 10 10 21 21 21 16 16 16
++42 42 42 34 34 34 14 14 14 16 16 16 31 31 31 19 19 19 6 6 6 27 27 27
++14 14 14 51 51 51 25 25 25 14 14 14 21 21 21 8 8 8 20 20 20 14 14 14
++6 6 6 31 31 31 39 39 39 25 25 25 11 11 11 16 16 16 20 20 20 16 16 16
++6 6 6 13 13 13 24 24 24 33 33 33 27 27 27 13 13 13 8 8 8 13 13 13
++3 3 3 24 24 24 19 19 19 17 17 17 33 33 33 21 21 21 0 0 0 0 0 0
++6 6 6 0 0 0 6 6 6 14 14 14 13 13 13 11 11 11 8 8 8 0 0 0
++6 6 6 4 4 4 6 6 6 13 13 13 17 17 17 17 17 17 10 10 10 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 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 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 21 21 21 27 27 27 4 4 4 0 0 0 6 6 6 0 0 0
++0 0 0 0 0 0 10 10 10 24 24 24 25 25 25 11 11 11 0 0 0 4 4 4
++4 4 4 10 10 10 0 0 0 6 6 6 37 37 37 29 29 29 6 6 6 11 11 11
++0 0 0 16 16 16 6 6 6 0 0 0 23 23 23 38 38 38 27 27 27 10 10 10
++14 14 14 10 10 10 8 8 8 16 16 16 29 29 29 43 43 43 52 52 52 57 57 57
++56 56 56 54 54 54 53 53 53 53 53 53 54 54 54 58 58 58 63 63 63 67 67 67
++61 61 61 60 60 60 62 62 62 66 66 66 62 62 62 57 57 57 60 60 60 70 70 70
++68 68 68 37 37 37 43 43 43 38 38 38 52 52 52 72 72 72 53 53 53 49 49 49
++44 44 44 80 80 80 72 72 72 63 63 63 54 54 54 51 51 51 56 56 56 76 76 76
++65 65 65 89 89 89 81 81 81 67 67 67 81 81 81 80 80 80 63 63 63 68 68 68
++69 69 69 94 94 94 96 96 96 83 83 83 78 78 78 77 77 77 85 85 85 101 101 101
++84 84 84 101 101 101 115 116 115 115 116 115 112 112 113 112 112 113 115 116 115 112 112 113
++112 112 113 117 117 117 121 121 119 121 121 119 122 121 126 122 121 126 121 121 119 121 121 119
++121 121 119 121 121 119 125 122 126 125 122 126 117 117 117 109 110 110 109 110 110 115 116 115
++128 128 128 131 131 131 134 134 134 139 139 139 127 127 127 115 116 115 121 121 119 121 121 119
++122 121 126 128 128 128 140 140 140 144 145 144 129 129 130 128 128 128 140 140 140 131 131 131
++128 128 128 131 131 131 142 143 144 139 139 139 144 145 144 129 129 130 117 117 117 122 121 126
++121 121 119 105 105 105 99 99 99 99 99 99 87 87 87 69 69 69 61 61 61 59 59 59
++51 51 51 53 53 53 52 52 52 49 49 49 49 49 49 52 52 52 52 52 52 50 50 50
++56 56 56 60 60 60 60 60 60 62 62 62 69 69 69 66 66 66 58 58 58 57 57 57
++59 59 59 52 52 52 49 49 49 43 43 43 73 73 73 37 37 37 43 43 43 51 51 51
++44 44 44 45 45 45 50 50 50 58 58 58 61 61 61 65 65 65 70 70 70 77 77 77
++85 85 85 91 91 91 99 99 99 103 103 102 109 110 110 117 117 117 125 125 127 129 129 130
++117 117 117 115 116 115 117 117 117 121 121 119 115 116 115 115 116 115 115 116 115 115 116 115
++115 116 115 112 112 113 112 112 113 112 112 113 112 112 113 105 105 105 105 105 105 105 105 105
++117 117 117 121 121 119 121 121 119 121 121 119 121 121 119 117 117 117 115 116 115 117 117 117
++115 116 115 112 112 113 112 112 113 109 110 110 109 110 110 105 105 105 92 92 92 92 92 92
++87 87 87 85 85 85 84 84 84 81 81 81 103 103 102 105 104 105 101 101 101 90 90 90
++92 92 92 70 70 70 78 78 78 83 83 83 65 65 65 59 59 59 61 61 61 61 61 61
++61 61 61 58 58 58 53 53 53 58 58 58 70 70 70 75 75 75 72 72 72 71 71 71
++67 67 67 69 69 69 49 49 49 53 53 53 58 58 58 45 45 45 43 43 43 33 33 33
++46 46 46 75 75 75 68 68 68 53 53 53 39 39 39 16 16 16 23 23 23 44 44 44
++52 52 52 46 46 46 31 31 31 14 14 14 37 37 37 56 56 56 43 43 43 33 33 33
++49 49 49 50 50 50 52 52 52 50 50 50 42 42 42 34 34 34 37 37 37 44 44 44
++44 44 44 42 42 42 40 40 40 42 42 42 43 43 43 43 43 43 39 39 39 37 37 37
++20 20 20 16 16 16 11 11 11 19 19 19 33 33 33 38 38 38 38 38 38 39 39 39
++38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38
++39 39 39 37 37 37 37 37 37 39 39 39 38 38 38 36 36 36 37 37 37 39 39 39
++37 37 37 34 34 34 37 37 37 36 36 36 43 43 43 39 39 39 14 14 14 8 8 8
++27 27 27 29 29 29 33 33 33 33 33 33 4 4 4 14 14 14 17 17 17 13 13 13
++10 10 10 14 14 14 28 28 28 37 37 37 31 31 31 16 16 16 10 10 10 11 11 11
++10 10 10 10 10 10 4 4 4 13 13 13 19 19 19 29 29 29 44 44 44 37 37 37
++37 37 37 40 40 40 43 43 43 44 44 44 40 40 40 37 37 37 39 39 39 43 43 43
++39 39 39 43 43 43 39 39 39 34 34 34 40 40 40 51 51 51 50 50 50 39 39 39
++36 36 36 40 40 40 50 50 50 50 50 50 45 45 45 43 43 43 33 33 33 11 11 11
++11 11 11 16 16 16 14 14 14 8 8 8 11 11 11 23 23 23 27 27 27 25 25 25
++13 13 13 20 20 20 21 21 21 44 44 44 50 50 50 53 53 53 52 52 52 45 45 45
++45 45 45 43 43 43 46 46 46 48 48 48 36 36 36 28 28 28 33 33 33 37 37 37
++50 50 50 50 50 50 48 48 48 44 44 44 39 39 39 36 36 36 33 33 33 33 33 33
++
++38 38 38 29 29 29 13 13 13 4 4 4 10 10 10 8 8 8 0 0 0 0 0 0
++16 16 16 33 33 33 20 20 20 0 0 0 0 0 0 6 6 6 0 0 0 0 0 0
++0 0 0 10 10 10 42 42 42 16 16 16 0 0 0 10 10 10 0 0 0 0 0 0
++0 0 0 3 3 3 20 20 20 27 27 27 16 16 16 0 0 0 0 0 0 4 4 4
++4 4 4 0 0 0 4 4 4 24 24 24 31 31 31 20 20 20 4 4 4 0 0 0
++4 4 4 0 0 0 3 3 3 10 10 10 20 20 20 29 29 29 20 20 20 0 0 0
++3 3 3 0 0 0 3 3 3 14 14 14 14 14 14 11 11 11 8 8 8 4 4 4
++6 6 6 8 8 8 13 13 13 16 16 16 17 17 17 14 14 14 6 6 6 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 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 0
++4 4 4 0 0 0 0 0 0 3 3 3 6 6 6 0 0 0 0 0 0 0 0 0
++0 0 0 21 21 21 27 27 27 10 10 10 0 0 0 0 0 0 3 3 3 10 10 10
++0 0 0 6 6 6 23 23 23 28 28 28 19 19 19 0 0 0 0 0 0 4 4 4
++10 10 10 0 0 0 8 8 8 33 33 33 33 33 33 14 14 14 3 3 3 6 6 6
++13 13 13 4 4 4 0 0 0 16 16 16 37 37 37 29 29 29 10 10 10 10 10 10
++11 11 11 10 10 10 16 16 16 32 32 32 51 51 51 60 60 60 58 58 58 52 52 52
++52 52 52 53 53 53 54 54 54 56 56 56 57 57 57 59 59 59 62 62 62 65 65 65
++60 60 60 62 62 62 60 60 60 53 53 53 48 48 48 49 49 49 54 54 54 59 59 59
++45 45 45 38 38 38 24 24 24 58 58 58 67 67 67 46 46 46 52 52 52 37 37 37
++46 46 46 71 71 71 75 75 75 69 69 69 51 51 51 59 59 59 73 73 73 72 72 72
++57 57 57 57 57 57 83 83 83 99 99 99 80 80 80 61 61 61 66 66 66 70 70 70
++84 84 84 74 74 74 96 96 96 101 101 101 74 74 74 78 78 78 93 93 93 75 75 75
++80 80 80 78 78 78 92 92 92 112 112 113 115 116 115 105 105 105 105 105 105 115 116 115
++112 112 113 112 112 113 115 116 115 121 121 119 122 121 126 121 121 119 121 121 119 121 121 119
++121 121 119 115 116 115 121 121 119 127 127 127 127 127 127 115 116 115 109 110 110 109 110 110
++127 127 127 122 121 126 125 122 126 134 134 134 133 133 133 121 121 119 117 117 117 115 116 115
++121 121 119 115 116 115 128 128 128 144 145 144 137 138 139 128 128 128 134 134 134 131 131 131
++121 121 119 125 122 126 133 133 133 133 133 133 142 143 144 129 129 130 112 112 113 112 112 113
++121 121 119 99 99 99 89 89 89 93 93 93 87 87 87 69 69 69 58 58 58 54 54 54
++50 50 50 52 52 52 52 52 52 51 51 51 51 51 51 54 54 54 57 57 57 57 57 57
++58 58 58 63 63 63 63 63 63 68 68 68 75 75 75 74 74 74 66 66 66 63 63 63
++57 57 57 59 59 59 54 54 54 57 57 57 43 43 43 48 48 48 49 49 49 38 38 38
++44 44 44 48 48 48 53 53 53 58 58 58 60 60 60 63 63 63 70 70 70 76 76 76
++83 83 83 90 90 90 99 99 99 103 103 102 105 105 105 109 110 110 121 121 119 129 129 130
++117 117 117 112 112 113 115 116 115 121 121 119 112 112 113 112 112 113 112 112 113 112 112 113
++109 110 110 109 110 110 105 105 105 105 105 105 103 103 102 103 103 102 105 105 105 112 112 113
++121 121 119 121 121 119 121 121 119 117 117 117 115 116 115 115 116 115 115 116 115 115 116 115
++112 112 113 109 110 110 109 110 110 105 105 105 105 105 105 103 103 102 88 88 88 87 87 87
++87 87 87 82 82 82 81 81 81 81 81 81 101 101 101 99 99 99 95 95 94 88 88 88
++78 78 78 75 75 75 76 76 76 71 71 71 71 71 71 68 68 68 56 56 56 57 57 57
++60 60 60 60 60 60 66 66 66 75 75 75 72 72 72 54 54 54 53 53 53 71 71 71
++73 73 73 67 67 67 38 38 38 36 36 36 44 44 44 43 43 43 45 45 45 33 33 33
++48 48 48 65 65 65 49 49 49 57 57 57 58 58 58 33 33 33 39 39 39 51 51 51
++43 43 43 49 49 49 39 39 39 23 23 23 42 42 42 54 54 54 33 33 33 21 21 21
++49 49 49 46 46 46 43 43 43 34 34 34 24 24 24 23 23 23 34 34 34 48 48 48
++43 43 43 42 42 42 40 40 40 43 43 43 44 44 44 43 43 43 37 37 37 31 31 31
++27 27 27 16 16 16 17 17 17 31 31 31 40 40 40 45 45 45 45 45 45 42 42 42
++40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
++40 40 40 38 38 38 38 38 38 40 40 40 40 40 40 39 39 39 39 39 39 40 40 40
++44 44 44 42 42 42 42 42 42 38 38 38 43 43 43 38 38 38 17 17 17 13 13 13
++37 37 37 25 25 25 23 23 23 32 32 32 11 11 11 16 16 16 14 14 14 11 11 11
++14 14 14 20 20 20 36 36 36 38 38 38 19 19 19 8 8 8 13 13 13 10 10 10
++14 14 14 13 13 13 8 8 8 19 19 19 27 27 27 36 36 36 44 44 44 31 31 31
++37 37 37 44 44 44 52 52 52 51 51 51 38 38 38 25 25 25 31 31 31 45 45 45
++42 42 42 50 50 50 42 42 42 13 13 13 0 0 0 28 28 28 49 49 49 51 51 51
++25 25 25 27 27 27 33 33 33 42 42 42 49 49 49 51 51 51 36 36 36 10 10 10
++13 13 13 14 14 14 13 13 13 10 10 10 17 17 17 27 27 27 25 25 25 16 16 16
++11 11 11 3 3 3 21 21 21 44 44 44 46 46 46 32 32 32 46 46 46 50 50 50
++17 17 17 4 4 4 8 8 8 14 14 14 3 3 3 0 0 0 0 0 0 6 6 6
++0 0 0 0 0 0 8 8 8 13 13 13 17 17 17 21 21 21 25 25 25 28 28 28
++
++13 13 13 38 38 38 27 27 27 0 0 0 0 0 0 4 4 4 0 0 0 4 4 4
++0 0 0 19 19 19 34 34 34 19 19 19 0 0 0 0 0 0 8 8 8 0 0 0
++4 4 4 0 0 0 13 13 13 38 38 38 20 20 20 0 0 0 8 8 8 0 0 0
++11 11 11 0 0 0 0 0 0 20 20 20 28 28 28 16 16 16 0 0 0 0 0 0
++8 8 8 6 6 6 0 0 0 0 0 0 19 19 19 29 29 29 19 19 19 0 0 0
++6 6 6 0 0 0 0 0 0 4 4 4 3 3 3 23 23 23 34 34 34 19 19 19
++3 3 3 0 0 0 0 0 0 10 10 10 10 10 10 6 6 6 11 11 11 17 17 17
++17 17 17 16 16 16 13 13 13 11 11 11 8 8 8 4 4 4 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 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 0 0 0 0
++4 4 4 0 0 0 0 0 0 8 8 8 6 6 6 0 0 0 0 0 0 0 0 0
++13 13 13 27 27 27 10 10 10 0 0 0 10 10 10 8 8 8 0 0 0 0 0 0
++4 4 4 23 23 23 28 28 28 13 13 13 0 0 0 3 3 3 4 4 4 0 0 0
++0 0 0 4 4 4 33 33 33 37 37 37 10 10 10 0 0 0 11 11 11 6 6 6
++10 10 10 0 0 0 13 13 13 37 37 37 29 29 29 10 10 10 8 8 8 11 11 11
++8 8 8 21 21 21 39 39 39 53 53 53 61 61 61 60 60 60 56 56 56 51 51 51
++53 53 53 53 53 53 54 54 54 58 58 58 61 61 61 62 62 62 61 61 61 59 59 59
++59 59 59 58 58 58 44 44 44 28 28 28 34 34 34 52 52 52 52 52 52 38 38 38
++27 27 27 32 32 32 59 59 59 65 65 65 51 51 51 37 37 37 34 34 34 54 54 54
++67 67 67 53 53 53 51 51 51 68 68 68 70 70 70 75 75 75 75 75 75 51 51 51
++48 48 48 63 63 63 75 75 75 87 87 87 87 87 87 67 67 67 60 60 60 81 81 81
++78 78 78 74 74 74 72 72 72 87 87 87 105 104 105 96 96 96 78 78 78 77 77 77
++84 84 84 71 71 71 76 76 76 99 99 99 109 110 110 103 103 102 99 99 99 105 105 105
++115 116 115 112 112 113 112 112 113 117 117 117 121 121 119 121 121 119 117 117 117 117 117 117
++121 121 119 117 117 117 117 117 117 121 121 119 125 125 127 127 127 127 115 116 115 105 104 105
++127 127 127 121 121 119 112 112 113 127 127 127 137 137 137 128 128 128 121 121 119 112 112 113
++121 121 119 117 117 117 121 121 119 137 137 137 137 138 139 137 137 137 139 139 139 129 129 130
++117 117 117 122 121 126 127 127 127 121 121 119 131 131 131 133 133 133 115 116 115 105 105 105
++109 110 110 99 99 99 88 88 88 81 81 81 77 77 77 73 73 73 63 63 63 52 52 52
++51 51 51 51 51 51 51 51 51 51 51 51 52 52 52 57 57 57 61 61 61 65 65 65
++63 63 63 69 69 69 68 68 68 69 69 69 76 76 76 78 78 78 74 74 74 73 73 73
++59 59 59 67 67 67 54 54 54 57 57 57 51 51 51 63 63 63 51 51 51 43 43 43
++46 46 46 51 51 51 57 57 57 60 60 60 61 61 61 63 63 63 70 70 70 77 77 77
++83 83 83 87 87 87 96 96 96 103 103 102 105 104 105 105 105 105 115 116 115 125 125 127
++125 122 126 112 112 113 109 110 110 115 116 115 109 110 110 109 110 110 112 112 113 105 105 105
++105 105 105 105 105 105 105 105 105 103 103 102 101 101 101 103 103 102 109 110 110 117 117 117
++121 121 119 121 121 119 115 116 115 115 116 115 115 116 115 115 116 115 112 112 113 112 112 113
++109 110 110 109 110 110 109 110 110 103 103 102 105 104 105 99 99 99 85 85 85 84 84 84
++87 87 87 76 76 76 80 80 80 84 84 84 95 95 94 82 82 82 87 87 87 96 97 98
++85 85 85 83 83 83 71 71 71 63 63 63 78 78 78 76 76 76 54 54 54 56 56 56
++62 62 62 57 57 57 76 76 76 87 87 87 59 59 59 40 40 40 53 53 53 63 63 63
++78 78 78 72 72 72 45 45 45 32 32 32 33 33 33 37 37 37 45 45 45 39 39 39
++60 60 60 65 65 65 28 28 28 37 37 37 58 58 58 50 50 50 51 51 51 34 34 34
++24 24 24 40 40 40 44 44 44 38 38 38 54 54 54 60 60 60 45 45 45 46 46 46
++40 40 40 36 36 36 32 32 32 32 32 32 34 34 34 39 39 39 44 44 44 48 48 48
++44 44 44 42 42 42 42 42 42 43 43 43 44 44 44 40 40 40 32 32 32 24 24 24
++19 19 19 8 8 8 20 20 20 37 37 37 40 40 40 42 42 42 43 43 43 39 39 39
++37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37
++34 34 34 33 33 33 34 34 34 36 36 36 37 37 37 36 36 36 36 36 36 36 36 36
++32 32 32 37 37 37 37 37 37 34 34 34 36 36 36 33 33 33 29 29 29 36 36 36
++29 29 29 17 17 17 20 20 20 37 37 37 17 17 17 14 14 14 11 11 11 13 13 13
++27 27 27 28 28 28 40 40 40 39 39 39 16 16 16 10 10 10 17 17 17 10 10 10
++13 13 13 19 19 19 20 20 20 29 29 29 31 31 31 37 37 37 45 45 45 36 36 36
++13 13 13 24 24 24 42 42 42 52 52 52 44 44 44 24 24 24 19 19 19 25 25 25
++43 43 43 50 50 50 43 43 43 20 20 20 10 10 10 33 33 33 51 51 51 50 50 50
++45 45 45 46 46 46 48 48 48 46 46 46 44 44 44 42 42 42 29 29 29 13 13 13
++16 16 16 8 8 8 10 10 10 21 21 21 27 27 27 21 21 21 14 14 14 14 14 14
++16 16 16 0 0 0 29 29 29 50 50 50 50 50 50 20 20 20 39 39 39 42 42 42
++34 34 34 16 16 16 6 6 6 11 11 11 8 8 8 6 6 6 8 8 8 8 8 8
++13 13 13 14 14 14 13 13 13 10 10 10 4 4 4 0 0 0 0 0 0 0 0 0
++
++0 0 0 13 13 13 34 34 34 28 28 28 0 0 0 0 0 0 13 13 13 0 0 0
++4 4 4 0 0 0 20 20 20 39 39 39 23 23 23 0 0 0 3 3 3 8 8 8
++0 0 0 6 6 6 0 0 0 17 17 17 40 40 40 19 19 19 0 0 0 4 4 4
++6 6 6 6 6 6 0 0 0 0 0 0 16 16 16 33 33 33 27 27 27 3 3 3
++0 0 0 8 8 8 3 3 3 0 0 0 3 3 3 24 24 24 27 27 27 11 11 11
++0 0 0 11 11 11 0 0 0 0 0 0 4 4 4 0 0 0 11 11 11 42 42 42
++16 16 16 6 6 6 0 0 0 0 0 0 4 4 4 6 6 6 10 10 10 16 16 16
++16 16 16 13 13 13 10 10 10 4 4 4 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 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 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 3 3 3 4 4 4 0 0 0 0 0 0 3 3 3 13 13 13
++36 36 36 4 4 4 0 0 0 10 10 10 0 0 0 0 0 0 4 4 4 0 0 0
++24 24 24 28 28 28 19 19 19 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0
++0 0 0 34 34 34 32 32 32 8 8 8 4 4 4 3 3 3 0 0 0 10 10 10
++0 0 0 13 13 13 36 36 36 33 33 33 10 10 10 6 6 6 14 14 14 4 4 4
++23 23 23 39 39 39 56 56 56 61 61 61 57 57 57 51 51 51 51 51 51 54 54 54
++59 59 59 56 56 56 53 53 53 57 57 57 61 61 61 62 62 62 57 57 57 50 50 50
++40 40 40 34 34 34 25 25 25 27 27 27 42 42 42 53 53 53 45 45 45 27 27 27
++27 27 27 43 43 43 63 63 63 52 52 52 38 38 38 39 39 39 48 48 48 68 68 68
++53 53 53 50 50 50 33 33 33 52 52 52 85 85 85 77 77 77 57 57 57 44 44 44
++50 50 50 75 75 75 70 70 70 54 54 54 71 71 71 89 89 89 85 85 85 76 76 76
++67 67 67 66 66 66 62 62 62 76 76 76 99 99 99 96 97 98 82 82 82 76 76 76
++75 75 75 82 82 82 83 83 83 84 84 84 94 94 94 105 105 105 101 101 101 87 87 87
++103 103 102 105 105 105 112 112 113 115 116 115 115 116 115 117 117 117 117 117 117 115 116 115
++117 117 117 121 121 119 121 121 119 115 116 115 121 121 119 127 127 127 121 121 119 112 112 113
++121 121 119 121 121 119 109 110 110 115 116 115 131 131 131 131 131 131 128 128 128 121 121 119
++115 116 115 115 116 115 117 117 117 127 127 127 131 131 131 133 133 133 140 140 140 137 137 137
++121 121 119 121 121 119 121 121 119 115 116 115 122 121 126 133 133 133 121 121 119 112 112 113
++101 101 101 101 101 101 90 90 90 73 73 73 69 69 69 72 72 72 68 68 68 59 59 59
++54 54 54 53 53 53 52 52 52 52 52 52 52 52 52 57 57 57 65 65 65 70 70 70
++71 71 71 76 76 76 73 73 73 70 70 70 75 75 75 81 81 81 81 81 81 82 82 82
++68 68 68 67 67 67 60 60 60 50 50 50 54 54 54 51 51 51 52 52 52 65 65 65
++51 51 51 57 57 57 62 62 62 63 63 63 63 63 63 67 67 67 73 73 73 78 78 78
++85 85 85 87 87 87 93 93 93 103 103 102 105 105 105 105 105 105 109 110 110 115 116 115
++128 128 128 115 116 115 105 105 105 109 110 110 109 110 110 109 110 110 105 105 105 103 103 102
++105 105 105 105 105 105 103 103 102 101 101 101 99 99 99 105 105 105 112 112 113 121 121 119
++117 117 117 115 116 115 112 112 113 112 112 113 112 112 113 112 112 113 109 110 110 109 110 110
++105 105 105 105 105 105 105 105 105 103 103 102 103 103 102 99 99 99 83 83 83 82 82 82
++84 84 84 76 76 76 78 78 78 80 80 80 87 87 87 73 73 73 83 83 83 101 101 101
++94 94 94 67 67 67 67 67 67 70 70 70 67 67 67 74 74 74 71 71 71 59 59 59
++56 56 56 53 53 53 69 69 69 72 72 72 54 54 54 52 52 52 63 63 63 61 61 61
++68 68 68 69 69 69 58 58 58 44 44 44 33 33 33 33 33 33 42 42 42 40 40 40
++61 61 61 65 65 65 24 24 24 29 29 29 51 51 51 50 50 50 53 53 53 29 29 29
++13 13 13 21 21 21 28 28 28 28 28 28 38 38 38 33 33 33 17 17 17 27 27 27
++29 29 29 27 27 27 27 27 27 32 32 32 42 42 42 46 46 46 43 43 43 38 38 38
++44 44 44 43 43 43 42 42 42 42 42 42 40 40 40 36 36 36 25 25 25 17 17 17
++11 11 11 13 13 13 31 31 31 44 44 44 40 40 40 38 38 38 40 40 40 39 39 39
++39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39
++37 37 37 38 38 38 39 39 39 39 39 39 39 39 39 39 39 39 38 38 38 37 37 37
++33 33 33 40 40 40 38 38 38 38 38 38 40 40 40 37 37 37 36 36 36 40 40 40
++13 13 13 10 10 10 21 21 21 38 38 38 14 14 14 8 8 8 11 11 11 21 21 21
++34 34 34 29 29 29 37 37 37 34 34 34 14 14 14 11 11 11 19 19 19 6 6 6
++4 4 4 20 20 20 28 28 28 33 33 33 25 25 25 27 27 27 43 43 43 42 42 42
++11 11 11 0 0 0 8 8 8 32 32 32 48 48 48 43 43 43 31 31 31 23 23 23
++50 50 50 48 48 48 50 50 50 50 50 50 50 50 50 53 53 53 45 45 45 23 23 23
++39 39 39 48 48 48 46 46 46 32 32 32 13 13 13 0 0 0 3 3 3 11 11 11
++11 11 11 10 10 10 17 17 17 27 27 27 25 25 25 16 16 16 10 10 10 11 11 11
++11 11 11 20 20 20 49 49 49 53 53 53 52 52 52 37 37 37 46 46 46 23 23 23
++40 40 40 25 25 25 13 13 13 4 4 4 0 0 0 4 4 4 8 8 8 0 0 0
++6 6 6 6 6 6 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 21 21 21 36 36 36 28 28 28 10 10 10 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 17 17 17 33 33 33 19 19 19 0 0 0 0 0 0
++0 0 0 0 0 0 4 4 4 0 0 0 14 14 14 42 42 42 11 11 11 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 25 25 25 25 25 25
++0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 4 4 4 16 16 16 25 25 25
++13 13 13 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17
++25 25 25 17 17 17 0 0 0 0 0 0 4 4 4 8 8 8 3 3 3 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 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 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 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 3 3 3 17 17 17 27 27 27
++16 16 16 0 0 0 0 0 0 8 8 8 0 0 0 0 0 0 6 6 6 20 20 20
++29 29 29 17 17 17 4 4 4 3 3 3 4 4 4 3 3 3 3 3 3 6 6 6
++32 32 32 27 27 27 11 11 11 0 0 0 3 3 3 8 8 8 4 4 4 0 0 0
++17 17 17 32 32 32 25 25 25 8 8 8 4 4 4 4 4 4 11 11 11 28 28 28
++46 46 46 52 52 52 57 57 57 54 54 54 50 50 50 46 46 46 50 50 50 54 54 54
++52 52 52 53 53 53 57 57 57 61 61 61 61 61 61 54 54 54 40 40 40 29 29 29
++23 23 23 19 19 19 29 29 29 48 48 48 52 52 52 40 40 40 28 28 28 25 25 25
++49 49 49 62 62 62 36 36 36 33 33 33 40 40 40 45 45 45 66 66 66 52 52 52
++33 33 33 48 48 48 53 53 53 56 56 56 67 67 67 63 63 63 66 66 66 57 57 57
++78 78 78 70 70 70 63 63 63 53 53 53 56 56 56 83 83 83 90 90 90 65 65 65
++67 67 67 59 59 59 80 80 80 85 85 85 66 66 66 83 83 83 101 101 101 76 76 76
++73 73 73 77 77 77 77 77 77 74 74 74 81 81 81 95 95 94 103 103 102 101 101 101
++84 84 84 96 96 96 105 105 105 109 110 110 112 112 113 115 116 115 121 121 119 121 121 119
++115 116 115 117 117 117 121 121 119 121 121 119 115 116 115 115 116 115 121 121 119 125 122 126
++112 112 113 121 121 119 109 110 110 109 110 110 122 121 126 127 127 127 128 128 128 131 131 131
++112 112 113 112 112 113 109 110 110 121 121 119 125 125 127 121 121 119 129 129 130 142 143 144
++127 127 127 117 117 117 109 110 110 112 112 113 117 117 117 128 128 128 121 121 119 121 121 119
++101 101 101 101 101 101 89 89 89 75 75 75 69 69 69 67 67 67 66 66 66 69 69 69
++61 61 61 59 59 59 58 58 58 57 57 57 57 57 57 59 59 59 67 67 67 74 74 74
++77 77 77 85 85 85 81 81 81 74 74 74 77 77 77 82 82 82 84 84 84 87 87 87
++80 80 80 62 62 62 70 70 70 62 62 62 65 65 65 49 49 49 54 54 54 61 61 61
++58 58 58 63 63 63 68 68 68 68 68 68 68 68 68 72 72 72 77 77 77 81 81 81
++87 87 87 89 89 89 94 94 94 101 101 101 105 104 105 105 104 105 105 105 105 105 105 105
++125 125 127 117 117 117 105 105 105 103 103 102 105 105 105 105 105 105 103 103 102 99 99 99
++101 101 101 101 101 101 99 99 99 96 97 98 99 99 99 105 105 105 112 112 113 115 116 115
++112 112 113 112 112 113 112 112 113 112 112 113 112 112 113 112 112 113 109 110 110 105 105 105
++105 105 105 105 104 105 105 105 105 101 101 101 103 103 102 96 97 98 81 81 81 80 80 80
++80 80 80 78 78 78 76 76 76 69 69 69 81 81 81 80 80 80 87 87 87 90 90 90
++84 84 84 65 65 65 61 61 61 62 62 62 65 65 65 68 68 68 69 69 69 77 77 77
++54 54 54 58 58 58 53 53 53 52 52 52 61 61 61 66 66 66 61 61 61 56 56 56
++49 49 49 54 54 54 60 60 60 54 54 54 40 40 40 34 34 34 38 38 38 38 38 38
++40 40 40 52 52 52 36 36 36 43 43 43 49 49 49 39 39 39 50 50 50 48 48 48
++25 25 25 17 17 17 24 24 24 33 33 33 45 45 45 44 44 44 33 33 33 40 40 40
++40 40 40 43 43 43 45 45 45 45 45 45 45 45 45 46 46 46 45 45 45 42 42 42
++39 39 39 38 38 38 38 38 38 37 37 37 33 33 33 27 27 27 20 20 20 14 14 14
++13 13 13 24 24 24 39 39 39 44 44 44 38 38 38 34 34 34 37 37 37 38 38 38
++36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36
++33 33 33 38 38 38 40 40 40 38 38 38 36 36 36 36 36 36 36 36 36 34 34 34
++36 36 36 40 40 40 33 33 33 38 38 38 44 44 44 36 36 36 24 24 24 14 14 14
++6 6 6 8 8 8 20 20 20 32 32 32 4 4 4 10 10 10 20 20 20 28 28 28
++29 29 29 21 21 21 25 25 25 24 24 24 13 13 13 10 10 10 14 14 14 8 8 8
++14 14 14 27 27 27 31 31 31 28 28 28 11 11 11 10 10 10 29 29 29 32 32 32
++28 28 28 11 11 11 0 0 0 16 16 16 33 33 33 39 39 39 38 38 38 36 36 36
++37 37 37 32 32 32 39 39 39 44 44 44 37 37 37 34 34 34 32 32 32 19 19 19
++31 31 31 34 34 34 29 29 29 20 20 20 16 16 16 13 13 13 16 16 16 24 24 24
++8 8 8 20 20 20 25 25 25 20 20 20 16 16 16 16 16 16 13 13 13 6 6 6
++10 10 10 19 19 19 33 33 33 37 37 37 34 34 34 28 28 28 37 37 37 20 20 20
++31 31 31 24 24 24 20 20 20 11 11 11 0 0 0 6 6 6 16 16 16 13 13 13
++17 17 17 17 17 17 16 16 16 13 13 13 11 11 11 13 13 13 17 17 17 21 21 21
++
++0 0 0 6 6 6 0 0 0 14 14 14 39 39 39 27 27 27 0 0 0 6 6 6
++0 0 0 6 6 6 0 0 0 0 0 0 17 17 17 32 32 32 24 24 24 4 4 4
++3 3 3 10 10 10 0 0 0 10 10 10 0 0 0 16 16 16 46 46 46 11 11 11
++11 11 11 0 0 0 0 0 0 11 11 11 8 8 8 0 0 0 14 14 14 36 36 36
++16 16 16 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0 3 3 3 17 17 17
++29 29 29 3 3 3 3 3 3 10 10 10 0 0 0 3 3 3 10 10 10 0 0 0
++16 16 16 21 21 21 14 14 14 0 0 0 3 3 3 4 4 4 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 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 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 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 16 16 21 21 21 19 19 19
++0 0 0 6 6 6 3 3 3 0 0 0 4 4 4 6 6 6 14 14 14 34 34 34
++16 16 16 4 4 4 0 0 0 6 6 6 6 6 6 3 3 3 11 11 11 24 24 24
++34 34 34 0 0 0 0 0 0 10 10 10 0 0 0 3 3 3 17 17 17 8 8 8
++37 37 37 25 25 25 3 3 3 0 0 0 11 11 11 11 11 11 24 24 24 51 51 51
++56 56 56 53 53 53 51 51 51 48 48 48 48 48 48 49 49 49 51 51 51 52 52 52
++48 48 48 52 52 52 57 57 57 56 56 56 46 46 46 34 34 34 23 23 23 17 17 17
++19 19 19 29 29 29 45 45 45 53 53 53 42 42 42 25 25 25 27 27 27 40 40 40
++61 61 61 42 42 42 39 39 39 24 24 24 44 44 44 66 66 66 40 40 40 42 42 42
++36 36 36 49 49 49 68 68 68 59 59 59 43 43 43 49 49 49 80 80 80 70 70 70
++63 63 63 59 59 59 40 40 40 51 51 51 80 80 80 74 74 74 67 67 67 92 92 92
++63 63 63 78 78 78 75 75 75 67 67 67 70 70 70 74 74 74 82 82 82 99 99 99
++87 87 87 71 71 71 66 66 66 74 74 74 77 77 77 78 78 78 92 92 92 109 110 110
++91 91 91 90 90 90 92 92 92 99 99 99 105 104 105 109 110 110 112 112 113 117 117 117
++117 117 117 112 112 113 115 116 115 121 121 119 115 116 115 109 110 110 115 116 115 121 121 119
++117 117 117 121 121 119 105 105 105 105 104 105 117 117 117 115 116 115 115 116 115 125 125 127
++121 121 119 115 116 115 105 105 105 117 117 117 121 121 119 109 110 110 115 116 115 129 129 130
++129 129 130 121 121 119 112 112 113 109 110 110 109 110 110 121 121 119 112 112 113 112 112 113
++105 104 105 103 103 102 91 91 91 80 80 80 73 73 73 66 66 66 65 65 65 71 71 71
++68 68 68 66 66 66 66 66 66 66 66 66 63 63 63 62 62 62 68 68 68 75 75 75
++82 82 82 92 92 92 91 91 91 83 83 83 83 83 83 85 85 85 85 85 85 87 87 87
++90 90 90 72 72 72 70 70 70 63 63 63 62 62 62 59 59 59 53 53 53 57 57 57
++65 65 65 70 70 70 72 72 72 72 72 72 73 73 73 78 78 78 82 82 82 83 83 83
++88 88 88 93 93 93 96 97 98 99 99 99 101 101 101 103 103 102 103 103 102 103 103 102
++112 112 113 117 117 117 109 110 110 101 101 101 103 103 102 103 103 102 99 99 99 99 99 99
++99 99 99 99 99 99 96 96 96 95 95 94 101 101 101 109 110 110 112 112 113 112 112 113
++112 112 113 109 110 110 109 110 110 109 110 110 109 110 110 105 105 105 105 105 105 105 104 105
++101 101 101 101 101 101 103 103 102 99 99 99 101 101 101 95 95 94 80 80 80 78 78 78
++75 75 75 74 74 74 73 73 73 67 67 67 84 84 84 87 87 87 87 87 87 81 81 81
++77 77 77 74 74 74 62 62 62 54 54 54 68 68 68 67 67 67 59 59 59 81 81 81
++60 60 60 57 57 57 51 51 51 54 54 54 62 62 62 60 60 60 51 51 51 49 49 49
++44 44 44 43 43 43 51 51 51 53 53 53 44 44 44 39 39 39 38 38 38 36 36 36
++34 34 34 49 49 49 48 48 48 50 50 50 44 44 44 29 29 29 37 37 37 44 44 44
++37 37 37 23 23 23 29 29 29 36 36 36 38 38 38 40 40 40 34 34 34 34 34 34
++33 33 33 39 39 39 40 40 40 34 34 34 28 28 28 27 27 27 29 29 29 29 29 29
++31 31 31 31 31 31 31 31 31 28 28 28 23 23 23 19 19 19 16 16 16 14 14 14
++14 14 14 29 29 29 34 34 34 28 28 28 23 23 23 23 23 23 21 21 21 21 21 21
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++19 19 19 27 27 27 31 31 31 27 27 27 21 21 21 20 20 20 20 20 20 20 20 20
++14 14 14 21 21 21 14 14 14 25 25 25 36 36 36 27 27 27 16 16 16 0 0 0
++10 10 10 11 11 11 16 16 16 23 23 23 4 4 4 24 24 24 29 29 29 25 25 25
++17 17 17 11 11 11 14 14 14 17 17 17 11 11 11 6 6 6 11 11 11 19 19 19
++31 31 31 31 31 31 24 24 24 17 17 17 3 3 3 6 6 6 24 24 24 20 20 20
++20 20 20 21 21 21 23 23 23 25 25 25 24 24 24 21 21 21 20 20 20 20 20 20
++16 16 16 10 10 10 19 19 19 21 21 21 11 11 11 20 20 20 36 36 36 36 36 36
++19 19 19 20 20 20 14 14 14 13 13 13 21 21 21 19 19 19 8 8 8 6 6 6
++17 17 17 23 23 23 23 23 23 14 14 14 10 10 10 14 14 14 14 14 14 10 10 10
++11 11 11 19 19 19 14 14 14 24 24 24 13 13 13 13 13 13 21 21 21 24 24 24
++16 16 16 13 13 13 19 19 19 24 24 24 19 19 19 19 19 19 23 23 23 23 23 23
++21 21 21 20 20 20 16 16 16 13 13 13 11 11 11 13 13 13 19 19 19 24 24 24
++
++6 6 6 0 0 0 0 0 0 3 3 3 16 16 16 36 36 36 32 32 32 0 0 0
++0 0 0 0 0 0 6 6 6 3 3 3 0 0 0 17 17 17 39 39 39 29 29 29
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 45 45 45
++11 11 11 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6
++40 40 40 17 17 17 0 0 0 0 0 0 10 10 10 4 4 4 0 0 0 0 0 0
++16 16 16 28 28 28 19 19 19 0 0 0 3 3 3 3 3 3 0 0 0 8 8 8
++0 0 0 21 21 21 28 28 28 11 11 11 0 0 0 0 0 0 0 0 0 6 6 6
++4 4 4 3 3 3 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 3 3 3 3 3 3 14 14 14 25 25 25 17 17 17 0 0 0
++4 4 4 0 0 0 10 10 10 0 0 0 0 0 0 20 20 20 34 34 34 13 13 13
++0 0 0 3 3 3 6 6 6 0 0 0 0 0 0 6 6 6 24 24 24 37 37 37
++0 0 0 6 6 6 3 3 3 3 3 3 8 8 8 0 0 0 8 8 8 36 36 36
++25 25 25 11 11 11 8 8 8 11 11 11 13 13 13 32 32 32 49 49 49 46 46 46
++52 52 52 50 50 50 48 48 48 49 49 49 50 50 50 52 52 52 51 51 51 50 50 50
++56 56 56 57 57 57 52 52 52 37 37 37 19 19 19 10 10 10 16 16 16 25 25 25
++20 20 20 43 43 43 53 53 53 39 39 39 21 21 21 24 24 24 44 44 44 61 61 61
++36 36 36 37 37 37 28 28 28 44 44 44 59 59 59 49 49 49 42 42 42 34 34 34
++43 43 43 60 60 60 57 57 57 38 38 38 44 44 44 42 42 42 65 65 65 76 76 76
++71 71 71 52 52 52 54 54 54 72 72 72 70 70 70 53 53 53 56 56 56 71 71 71
++90 90 90 78 78 78 65 65 65 63 63 63 65 65 65 56 56 56 62 62 62 87 87 87
++95 95 94 80 80 80 71 71 71 75 75 75 77 77 77 74 74 74 78 78 78 89 89 89
++112 112 113 90 90 90 76 76 76 84 84 84 96 97 98 105 104 105 105 105 105 109 110 110
++117 117 117 112 112 113 109 110 110 115 116 115 117 117 117 115 116 115 112 112 113 112 112 113
++129 129 130 125 122 126 99 99 99 101 101 101 121 121 119 109 110 110 103 103 102 109 110 110
++133 133 133 125 122 126 105 105 105 112 112 113 122 121 126 112 112 113 109 110 110 112 112 113
++129 129 130 128 128 128 117 117 117 105 105 105 101 101 101 117 117 117 105 105 105 96 97 98
++105 105 105 105 105 105 95 95 94 78 78 78 73 73 73 70 70 70 66 66 66 67 67 67
++71 71 71 70 70 70 71 71 71 72 72 72 69 69 69 66 66 66 69 69 69 75 75 75
++83 83 83 96 96 96 99 99 99 91 91 91 88 88 88 87 87 87 85 85 85 87 87 87
++91 91 91 94 94 94 78 78 78 70 70 70 65 65 65 73 73 73 54 54 54 69 69 69
++69 69 69 73 73 73 75 75 75 74 74 74 76 76 76 82 82 82 85 85 85 85 85 85
++89 89 89 96 96 96 101 101 101 99 99 99 96 96 96 99 99 99 103 103 102 103 103 102
++101 101 101 117 117 117 112 112 113 99 99 99 101 101 101 101 101 101 95 95 94 101 101 101
++99 99 99 99 99 99 96 96 96 96 97 98 105 105 105 115 116 115 115 116 115 109 110 110
++112 112 113 109 110 110 109 110 110 105 105 105 105 105 105 105 104 105 103 103 102 103 103 102
++99 99 99 99 99 99 101 101 101 96 97 98 99 99 99 94 94 94 78 78 78 76 76 76
++73 73 73 69 69 69 71 71 71 73 73 73 90 90 90 84 84 84 81 81 81 80 80 80
++75 75 75 57 57 57 59 59 59 61 61 61 62 62 62 75 75 75 81 81 81 81 81 81
++61 61 61 45 45 45 56 56 56 70 70 70 57 57 57 46 46 46 51 51 51 50 50 50
++53 53 53 40 40 40 43 43 43 48 48 48 44 44 44 43 43 43 40 40 40 37 37 37
++33 33 33 46 46 46 46 46 46 42 42 42 38 38 38 33 33 33 32 32 32 31 31 31
++33 33 33 25 25 25 36 36 36 34 34 34 24 24 24 29 29 29 29 29 29 27 27 27
++32 32 32 37 37 37 37 37 37 31 31 31 24 24 24 25 25 25 28 28 28 28 28 28
++23 23 23 24 24 24 24 24 24 21 21 21 16 16 16 13 13 13 14 14 14 16 16 16
++25 25 25 39 39 39 36 36 36 20 20 20 20 20 20 21 21 21 16 16 16 16 16 16
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++21 21 21 32 32 32 36 36 36 31 31 31 23 23 23 21 21 21 23 23 23 23 23 23
++21 21 21 32 32 32 25 25 25 32 32 32 36 36 36 24 24 24 20 20 20 13 13 13
++13 13 13 13 13 13 11 11 11 20 20 20 13 13 13 37 37 37 34 34 34 14 14 14
++6 6 6 6 6 6 10 10 10 16 16 16 14 14 14 6 6 6 13 13 13 31 31 31
++33 33 33 25 25 25 10 10 10 6 6 6 8 8 8 20 20 20 33 33 33 25 25 25
++31 31 31 33 33 33 32 32 32 29 29 29 25 25 25 24 24 24 23 23 23 21 21 21
++33 33 33 21 21 21 27 27 27 33 33 33 32 32 32 38 38 38 36 36 36 13 13 13
++6 6 6 25 25 25 33 33 33 34 34 34 31 31 31 17 17 17 6 6 6 13 13 13
++31 31 31 20 20 20 11 11 11 13 13 13 11 11 11 8 8 8 10 10 10 17 17 17
++3 3 3 42 42 42 36 36 36 32 32 32 14 14 14 32 32 32 29 29 29 17 17 17
++11 11 11 0 0 0 11 11 11 29 29 29 29 29 29 21 21 21 17 17 17 13 13 13
++3 3 3 3 3 3 4 4 4 6 6 6 13 13 13 21 21 21 32 32 32 39 39 39
++
++8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 32 32 32 31 31 31
++0 0 0 0 0 0 8 8 8 11 11 11 0 0 0 0 0 0 13 13 13 37 37 37
++23 23 23 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 3 3 3 0 0 0
++44 44 44 10 10 10 0 0 0 6 6 6 3 3 3 0 0 0 3 3 3 0 0 0
++14 14 14 29 29 29 28 28 28 3 3 3 0 0 0 0 0 0 6 6 6 0 0 0
++0 0 0 16 16 16 24 24 24 16 16 16 0 0 0 0 0 0 4 4 4 8 8 8
++0 0 0 0 0 0 13 13 13 31 31 31 11 11 11 0 0 0 6 6 6 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 8 8 8 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 0 0 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 0 0 0 13 13 13 25 25 25 10 10 10 0 0 0 6 6 6
++4 4 4 0 0 0 0 0 0 0 0 0 21 21 21 32 32 32 20 20 20 0 0 0
++0 0 0 6 6 6 4 4 4 0 0 0 10 10 10 29 29 29 27 27 27 8 8 8
++10 10 10 0 0 0 4 4 4 6 6 6 0 0 0 16 16 16 38 38 38 31 31 31
++4 4 4 3 3 3 4 4 4 19 19 19 34 34 34 46 46 46 49 49 49 48 48 48
++51 51 51 45 45 45 42 42 42 46 46 46 49 49 49 46 46 46 48 48 48 51 51 51
++60 60 60 42 42 42 21 21 21 14 14 14 19 19 19 21 21 21 17 17 17 14 14 14
++34 34 34 56 56 56 34 34 34 20 20 20 23 23 23 42 42 42 61 61 61 37 37 37
++28 28 28 31 31 31 39 39 39 57 57 57 46 46 46 28 28 28 37 37 37 38 38 38
++57 57 57 53 53 53 43 43 43 36 36 36 45 45 45 60 60 60 58 58 58 44 44 44
++57 57 57 75 75 75 71 71 71 60 60 60 62 62 62 54 54 54 49 49 49 65 65 65
++80 80 80 82 82 82 69 69 69 57 57 57 62 62 62 70 70 70 66 66 66 62 62 62
++80 80 80 90 90 90 82 82 82 67 67 67 70 70 70 81 81 81 80 80 80 74 74 74
++87 87 87 103 103 102 99 99 99 80 80 80 80 80 80 92 92 92 101 101 101 105 105 105
++112 112 113 115 116 115 115 116 115 112 112 113 109 110 110 112 112 113 112 112 113 109 110 110
++99 99 99 115 116 115 122 121 126 96 97 98 99 99 99 121 121 119 105 105 105 99 99 99
++101 101 101 122 121 126 125 125 127 115 116 115 117 117 117 115 116 115 103 103 102 103 103 102
++112 112 113 128 128 128 127 127 127 112 112 113 99 99 99 105 105 105 115 116 115 94 94 94
++89 89 89 103 103 102 105 105 105 90 90 90 76 76 76 75 75 75 74 74 74 70 70 70
++66 66 66 76 76 76 85 85 85 82 82 82 75 75 75 74 74 74 76 76 76 77 77 77
++87 87 87 91 91 91 96 96 96 95 95 94 94 94 94 93 93 93 91 91 91 88 88 88
++85 85 85 83 83 83 78 78 78 74 74 74 71 71 71 70 70 70 70 70 70 71 71 71
++73 73 73 72 72 72 74 74 74 81 81 81 83 83 83 84 84 84 88 88 88 95 95 94
++94 94 94 96 96 96 99 99 99 101 101 101 103 103 102 101 101 101 99 99 99 96 96 96
++94 94 94 105 105 105 115 116 115 105 105 105 92 92 92 94 94 94 96 97 98 91 91 91
++96 96 96 89 89 89 91 91 91 105 104 105 112 112 113 109 110 110 105 105 105 109 110 110
++105 105 105 105 105 105 105 105 105 105 104 105 103 103 102 101 101 101 99 99 99 99 99 99
++96 97 98 101 101 101 96 97 98 93 93 93 96 96 96 91 91 91 77 77 77 71 71 71
++71 71 71 70 70 70 72 72 72 72 72 72 74 74 74 85 85 85 88 88 88 76 76 76
++53 53 53 58 58 58 58 58 58 52 52 52 59 59 59 71 71 71 75 75 75 77 77 77
++54 54 54 54 54 54 61 61 61 60 60 60 49 49 49 45 45 45 49 49 49 48 48 48
++48 48 48 45 45 45 33 33 33 31 31 31 38 38 38 56 56 56 67 67 67 53 53 53
++44 44 44 44 44 44 44 44 44 48 48 48 48 48 48 31 31 31 16 16 16 23 23 23
++27 27 27 45 45 45 50 50 50 43 43 43 39 39 39 39 39 39 40 40 40 49 49 49
++49 49 49 45 45 45 40 40 40 38 38 38 39 39 39 42 42 42 43 43 43 43 43 43
++36 36 36 34 34 34 29 29 29 20 20 20 11 11 11 11 11 11 21 21 21 29 29 29
++38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 37 37 37 37 37 37 37 37 37
++38 38 38 38 38 38 38 38 38 37 37 37 37 37 37 37 37 37 37 37 37 36 36 36
++36 36 36 38 38 38 39 39 39 38 38 38 36 36 36 33 33 33 33 33 33 34 34 34
++31 31 31 40 40 40 43 43 43 36 36 36 32 32 32 33 33 33 25 25 25 13 13 13
++14 14 14 8 8 8 0 0 0 14 14 14 31 31 31 27 27 27 14 14 14 14 14 14
++8 8 8 6 6 6 11 11 11 8 8 8 0 0 0 16 16 16 32 32 32 34 34 34
++23 23 23 8 8 8 8 8 8 14 14 14 14 14 14 23 23 23 33 33 33 36 36 36
++21 21 21 32 32 32 38 38 38 43 43 43 43 43 43 27 27 27 8 8 8 6 6 6
++34 34 34 50 50 50 46 46 46 43 43 43 38 38 38 51 51 51 43 43 43 43 43 43
++27 27 27 49 49 49 32 32 32 14 14 14 36 36 36 34 34 34 16 16 16 25 25 25
++20 20 20 17 17 17 11 11 11 10 10 10 11 11 11 11 11 11 11 11 11 10 10 10
++6 6 6 43 43 43 49 49 49 39 39 39 10 10 10 10 10 10 44 44 44 38 38 38
++0 0 0 8 8 8 0 0 0 6 6 6 39 39 39 34 34 34 4 4 4 0 0 0
++0 0 0 3 3 3 11 11 11 10 10 10 13 13 13 32 32 32 34 34 34 13 13 13
++
++6 6 6 0 0 0 0 0 0 10 10 10 0 0 0 0 0 0 17 17 17 37 37 37
++31 31 31 10 10 10 0 0 0 0 0 0 6 6 6 0 0 0 4 4 4 14 14 14
++40 40 40 25 25 25 0 0 0 0 0 0 11 11 11 0 0 0 0 0 0 6 6 6
++8 8 8 33 33 33 20 20 20 0 0 0 4 4 4 6 6 6 0 0 0 0 0 0
++0 0 0 17 17 17 28 28 28 23 23 23 4 4 4 0 0 0 0 0 0 11 11 11
++0 0 0 3 3 3 16 16 16 21 21 21 16 16 16 0 0 0 0 0 0 0 0 0
++3 3 3 10 10 10 3 3 3 8 8 8 24 24 24 17 17 17 0 0 0 0 0 0
++4 4 4 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 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 0 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0
++0 0 0 0 0 0 21 21 21 29 29 29 6 6 6 3 3 3 13 13 13 0 0 0
++4 4 4 0 0 0 4 4 4 23 23 23 27 27 27 13 13 13 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 10 10 10 23 23 23 25 25 25 14 14 14 0 0 0
++3 3 3 6 6 6 0 0 0 0 0 0 19 19 19 33 33 33 25 25 25 14 14 14
++0 0 0 4 4 4 16 16 16 29 29 29 42 42 42 48 48 48 49 49 49 46 46 46
++48 48 48 49 49 49 49 49 49 49 49 49 49 49 49 50 50 50 49 49 49 48 48 48
++38 38 38 21 21 21 13 13 13 19 19 19 19 19 19 13 13 13 21 21 21 36 36 36
++53 53 53 32 32 32 28 28 28 21 21 21 36 36 36 51 51 51 32 32 32 25 25 25
++29 29 29 29 29 29 60 60 60 44 44 44 27 27 27 38 38 38 38 38 38 59 59 59
++51 51 51 39 39 39 33 33 33 42 42 42 54 54 54 57 57 57 49 49 49 40 40 40
++49 49 49 65 65 65 74 74 74 62 62 62 45 45 45 52 52 52 67 67 67 68 68 68
++59 59 59 77 77 77 80 80 80 66 66 66 60 60 60 61 61 61 62 62 62 63 63 63
++69 69 69 83 83 83 88 88 88 82 82 82 73 73 73 66 66 66 68 68 68 77 77 77
++78 78 78 94 94 94 99 99 99 93 93 93 84 84 84 78 78 78 85 85 85 99 99 99
++105 104 105 109 110 110 112 112 113 112 112 113 109 110 110 112 112 113 112 112 113 109 110 110
++105 104 105 109 110 110 121 121 119 109 110 110 105 105 105 112 112 113 99 99 99 101 101 101
++96 97 98 109 110 110 115 116 115 121 121 119 122 121 126 109 110 110 96 97 98 105 105 105
++105 105 105 121 121 119 122 121 126 117 117 117 105 105 105 103 103 102 105 105 105 99 99 99
++91 91 91 91 91 91 94 94 94 96 96 96 88 88 88 75 75 75 71 71 71 76 76 76
++73 73 73 81 81 81 87 87 87 87 87 87 83 83 83 81 81 81 83 83 83 85 85 85
++87 87 87 91 91 91 93 93 93 92 92 92 92 92 92 94 94 94 95 95 94 94 94 94
++88 88 88 85 85 85 80 80 80 75 75 75 73 73 73 73 73 73 73 73 73 74 74 74
++75 75 75 78 78 78 82 82 82 84 84 84 87 87 87 89 89 89 91 91 91 91 91 91
++99 99 99 96 97 98 96 97 98 96 97 98 96 97 98 99 99 99 99 99 99 99 99 99
++95 95 94 99 99 99 109 110 110 105 105 105 96 97 98 91 91 91 92 92 92 89 89 89
++90 90 90 89 89 89 94 94 94 105 104 105 109 110 110 105 105 105 105 104 105 105 105 105
++103 103 102 103 103 102 103 103 102 101 101 101 101 101 101 99 99 99 96 97 98 96 97 98
++95 95 94 99 99 99 94 94 94 91 91 91 94 94 94 89 89 89 76 76 76 70 70 70
++63 63 63 69 69 69 74 74 74 71 71 71 67 67 67 75 75 75 84 84 84 82 82 82
++62 62 62 61 61 61 61 61 61 56 56 56 54 54 54 70 70 70 73 73 73 60 60 60
++67 67 67 59 59 59 58 58 58 57 57 57 50 50 50 49 49 49 49 49 49 44 44 44
++51 51 51 54 54 54 43 43 43 29 29 29 23 23 23 40 40 40 63 63 63 61 61 61
++46 46 46 38 38 38 29 29 29 37 37 37 49 49 49 44 44 44 28 28 28 24 24 24
++40 40 40 53 53 53 57 57 57 52 52 52 49 49 49 42 42 42 38 38 38 43 43 43
++49 49 49 48 48 48 45 45 45 43 43 43 42 42 42 40 40 40 38 38 38 37 37 37
++33 33 33 28 28 28 19 19 19 11 11 11 13 13 13 20 20 20 29 29 29 36 36 36
++38 38 38 38 38 38 38 38 38 38 38 38 37 37 37 37 37 37 37 37 37 37 37 37
++38 38 38 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 36 36 36 36 36 36
++37 37 37 37 37 37 36 36 36 36 36 36 36 36 36 34 34 34 34 34 34 33 33 33
++36 36 36 34 34 34 33 33 33 34 34 34 34 34 34 31 31 31 20 20 20 10 10 10
++6 6 6 16 16 16 20 20 20 25 25 25 29 29 29 21 21 21 10 10 10 10 10 10
++6 6 6 10 10 10 8 8 8 0 0 0 6 6 6 27 27 27 32 32 32 19 19 19
++16 16 16 10 10 10 11 11 11 11 11 11 4 4 4 3 3 3 8 8 8 13 13 13
++33 33 33 16 16 16 19 19 19 49 49 49 54 54 54 19 19 19 0 0 0 0 0 0
++11 11 11 44 44 44 49 49 49 36 36 36 23 23 23 40 40 40 46 46 46 56 56 56
++49 49 49 44 44 44 10 10 10 0 0 0 10 10 10 25 25 25 21 21 21 25 25 25
++17 17 17 14 14 14 11 11 11 10 10 10 11 11 11 13 13 13 13 13 13 11 11 11
++16 16 16 49 49 49 49 49 49 40 40 40 23 23 23 14 14 14 42 42 42 48 48 48
++37 37 37 3 3 3 0 0 0 14 14 14 14 14 14 34 34 34 38 38 38 0 0 0
++0 0 0 16 16 16 31 31 31 34 34 34 34 34 34 42 42 42 46 46 46 43 43 43
++
++34 34 34 10 10 10 0 0 0 6 6 6 3 3 3 0 0 0 0 0 0 14 14 14
++39 39 39 23 23 23 3 3 3 0 0 0 0 0 0 6 6 6 0 0 0 0 0 0
++21 21 21 37 37 37 25 25 25 0 0 0 0 0 0 6 6 6 4 4 4 6 6 6
++0 0 0 19 19 19 32 32 32 19 19 19 0 0 0 0 0 0 4 4 4 0 0 0
++0 0 0 0 0 0 19 19 19 31 31 31 23 23 23 0 0 0 0 0 0 10 10 10
++0 0 0 0 0 0 4 4 4 16 16 16 21 21 21 16 16 16 0 0 0 0 0 0
++10 10 10 0 0 0 0 0 0 6 6 6 11 11 11 21 21 21 19 19 19 0 0 0
++4 4 4 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4
++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 0 0 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0
++0 0 0 20 20 20 27 27 27 16 16 16 4 4 4 3 3 3 3 3 3 3 3 3
++0 0 0 4 4 4 17 17 17 28 28 28 19 19 19 0 0 0 0 0 0 4 4 4
++4 4 4 0 0 0 4 4 4 24 24 24 28 28 28 14 14 14 0 0 0 0 0 0
++0 0 0 6 6 6 0 0 0 3 3 3 33 33 33 33 33 33 11 11 11 0 0 0
++0 0 0 13 13 13 28 28 28 42 42 42 48 48 48 49 49 49 46 46 46 44 44 44
++45 45 45 49 49 49 49 49 49 46 46 46 49 49 49 51 51 51 44 44 44 32 32 32
++14 14 14 10 10 10 10 10 10 16 16 16 14 14 14 17 17 17 32 32 32 50 50 50
++33 33 33 27 27 27 0 0 0 42 42 42 54 54 54 29 29 29 37 37 37 24 24 24
++37 37 37 58 58 58 44 44 44 38 38 38 25 25 25 28 28 28 59 59 59 49 49 49
++37 37 37 31 31 31 36 36 36 51 51 51 53 53 53 43 43 43 40 40 40 48 48 48
++61 61 61 62 62 62 71 71 71 67 67 67 51 51 51 57 57 57 66 66 66 57 57 57
++50 50 50 57 57 57 69 69 69 78 78 78 73 73 73 56 56 56 54 54 54 69 69 69
++59 59 59 67 67 67 80 80 80 88 88 88 82 82 82 66 66 66 65 65 65 77 77 77
++69 69 69 76 76 76 88 88 88 96 97 98 93 93 93 78 78 78 75 75 75 87 87 87
++94 94 94 101 101 101 109 110 110 109 110 110 109 110 110 109 110 110 109 110 110 109 110 110
++109 110 110 105 104 105 115 116 115 109 110 110 109 110 110 115 116 115 101 101 101 95 95 94
++93 93 93 95 95 94 101 101 101 115 116 115 125 122 126 109 110 110 96 96 96 101 101 101
++99 99 99 112 112 113 115 116 115 117 117 117 112 112 113 105 105 105 105 104 105 101 101 101
++92 92 92 85 85 85 87 87 87 99 99 99 99 99 99 87 87 87 78 78 78 83 83 83
++78 78 78 81 81 81 85 85 85 87 87 87 85 85 85 83 83 83 84 84 84 87 87 87
++91 91 91 94 94 94 95 95 94 93 93 93 94 94 94 96 96 96 95 95 94 92 92 92
++89 89 89 87 87 87 82 82 82 81 81 81 81 81 81 81 81 81 80 80 80 77 77 77
++81 81 81 87 87 87 87 87 87 87 87 87 89 89 89 95 95 94 95 95 94 90 90 90
++96 97 98 96 97 98 96 96 96 96 96 96 96 96 96 96 96 96 96 97 98 99 99 99
++95 95 94 92 92 92 99 99 99 105 105 105 101 101 101 90 90 90 87 87 87 87 87 87
++84 84 84 90 90 90 99 99 99 105 105 105 105 105 105 105 104 105 101 101 101 101 101 101
++101 101 101 99 99 99 99 99 99 96 97 98 96 96 96 95 95 94 95 95 94 95 95 94
++92 92 92 95 95 94 91 91 91 89 89 89 91 91 91 87 87 87 76 76 76 68 68 68
++65 65 65 72 72 72 78 78 78 74 74 74 68 68 68 71 71 71 76 76 76 75 75 75
++73 73 73 60 60 60 57 57 57 56 56 56 51 51 51 63 63 63 71 71 71 56 56 56
++68 68 68 54 54 54 50 50 50 54 54 54 59 59 59 57 57 57 48 48 48 36 36 36
++38 38 38 54 54 54 56 56 56 43 43 43 27 27 27 37 37 37 59 59 59 57 57 57
++50 50 50 38 38 38 23 23 23 25 25 25 40 40 40 44 44 44 37 37 37 31 31 31
++40 40 40 46 46 46 49 49 49 51 51 51 52 52 52 46 46 46 43 43 43 48 48 48
++49 49 49 49 49 49 49 49 49 46 46 46 42 42 42 37 37 37 32 32 32 29 29 29
++25 25 25 17 17 17 10 10 10 13 13 13 21 21 21 32 32 32 37 37 37 38 38 38
++38 38 38 38 38 38 37 37 37 37 37 37 37 37 37 37 37 37 36 36 36 36 36 36
++37 37 37 37 37 37 37 37 37 37 37 37 36 36 36 36 36 36 36 36 36 36 36 36
++36 36 36 34 34 34 33 33 33 33 33 33 34 34 34 36 36 36 34 34 34 33 33 33
++38 38 38 40 40 40 37 37 37 25 25 25 11 11 11 3 3 3 4 4 4 6 6 6
++8 8 8 24 24 24 31 31 31 28 28 28 21 21 21 13 13 13 6 6 6 10 10 10
++11 11 11 8 8 8 0 0 0 0 0 0 20 20 20 31 31 31 23 23 23 6 6 6
++8 8 8 13 13 13 13 13 13 13 13 13 13 13 13 10 10 10 16 16 16 29 29 29
++21 21 21 37 37 37 31 31 31 13 13 13 24 24 24 40 40 40 29 29 29 0 0 0
++34 34 34 50 50 50 44 44 44 37 37 37 33 33 33 39 39 39 37 37 37 36 36 36
++53 53 53 40 40 40 13 13 13 0 0 0 10 10 10 24 24 24 21 21 21 17 17 17
++11 11 11 11 11 11 10 10 10 10 10 10 13 13 13 13 13 13 13 13 13 13 13 13
++8 8 8 38 38 38 34 34 34 36 36 36 37 37 37 31 31 31 43 43 43 50 50 50
++48 48 48 33 33 33 27 27 27 13 13 13 0 0 0 17 17 17 40 40 40 39 39 39
++37 37 37 38 38 38 36 36 36 33 33 33 31 31 31 23 23 23 17 17 17 19 19 19
++
++43 43 43 32 32 32 14 14 14 0 0 0 0 0 0 6 6 6 3 3 3 0 0 0
++13 13 13 28 28 28 28 28 28 6 6 6 0 0 0 0 0 0 4 4 4 0 0 0
++0 0 0 16 16 16 37 37 37 24 24 24 0 0 0 0 0 0 14 14 14 0 0 0
++4 4 4 0 0 0 17 17 17 34 34 34 14 14 14 0 0 0 0 0 0 0 0 0
++8 8 8 0 0 0 0 0 0 17 17 17 28 28 28 23 23 23 6 6 6 0 0 0
++4 4 4 6 6 6 0 0 0 0 0 0 14 14 14 31 31 31 23 23 23 0 0 0
++3 3 3 0 0 0 3 3 3 10 10 10 0 0 0 13 13 13 27 27 27 13 13 13
++3 3 3 0 0 0 0 0 0 6 6 6 6 6 6 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 3 3 3 6 6 6 4 4 4 0 0 0 0 0 0 0 0 0
++16 16 16 32 32 32 19 19 19 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++0 0 0 17 17 17 23 23 23 11 11 11 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 3 3 3 17 17 17 25 25 25 19 19 19 0 0 0 0 0 0 6 6 6
++0 0 0 0 0 0 11 11 11 28 28 28 27 27 27 13 13 13 0 0 0 0 0 0
++13 13 13 25 25 25 39 39 39 48 48 48 49 49 49 46 46 46 44 44 44 44 44 44
++44 44 44 44 44 44 43 43 43 45 45 45 49 49 49 45 45 45 29 29 29 11 11 11
++10 10 10 16 16 16 14 14 14 8 8 8 16 16 16 32 32 32 40 40 40 39 39 39
++19 19 19 20 20 20 40 40 40 48 48 48 38 38 38 24 24 24 19 19 19 38 38 38
++54 54 54 42 42 42 36 36 36 25 25 25 34 34 34 51 51 51 43 43 43 34 34 34
++27 27 27 37 37 37 51 51 51 53 53 53 40 40 40 31 31 31 42 42 42 60 60 60
++59 59 59 49 49 49 46 46 46 61 61 61 74 74 74 70 70 70 57 57 57 50 50 50
++57 57 57 48 48 48 53 53 53 73 73 73 80 80 80 67 67 67 56 56 56 58 58 58
++61 61 61 58 58 58 63 63 63 77 77 77 87 87 87 81 81 81 70 70 70 66 66 66
++71 71 71 67 67 67 71 71 71 87 87 87 96 97 98 91 91 91 78 78 78 72 72 72
++83 83 83 92 92 92 103 103 102 105 105 105 105 105 105 105 105 105 105 104 105 105 104 105
++105 105 105 105 104 105 109 110 110 99 99 99 101 101 101 121 121 119 112 112 113 92 92 92
++90 90 90 91 91 91 92 92 92 101 101 101 115 116 115 117 117 117 105 104 105 92 92 92
++92 92 92 105 104 105 105 105 105 109 110 110 109 110 110 112 112 113 112 112 113 101 101 101
++89 89 89 88 88 88 88 88 88 92 92 92 99 99 99 101 101 101 94 94 94 84 84 84
++85 85 85 84 84 84 84 84 84 87 87 87 87 87 87 87 87 87 88 88 88 90 90 90
++92 92 92 93 93 93 93 93 93 96 96 96 103 103 102 105 105 105 99 99 99 91 91 91
++87 87 87 84 84 84 84 84 84 87 87 87 89 89 89 89 89 89 87 87 87 83 83 83
++87 87 87 88 88 88 87 87 87 85 85 85 89 89 89 95 95 94 99 99 99 96 96 96
++92 92 92 93 93 93 95 95 94 96 96 96 96 96 96 96 96 96 95 95 94 94 94 94
++94 94 94 89 89 89 92 92 92 101 101 101 99 99 99 90 90 90 84 84 84 84 84 84
++82 82 82 93 93 93 103 103 102 105 104 105 103 103 102 101 101 101 99 99 99 96 97 98
++99 99 99 96 97 98 95 95 94 94 94 94 93 93 93 93 93 93 93 93 93 93 93 93
++90 90 90 91 91 91 89 89 89 87 87 87 88 88 88 87 87 87 76 76 76 68 68 68
++67 67 67 66 66 66 63 63 63 60 60 60 61 61 61 67 67 67 67 67 67 62 62 62
++82 82 82 66 66 66 52 52 52 53 53 53 51 51 51 53 53 53 65 65 65 63 63 63
++58 58 58 45 45 45 40 40 40 54 54 54 67 67 67 65 65 65 48 48 48 29 29 29
++21 21 21 43 43 43 52 52 52 51 51 51 46 46 46 51 51 51 59 59 59 44 44 44
++46 46 46 43 43 43 34 34 34 27 27 27 25 25 25 28 28 28 32 32 32 33 33 33
++44 44 44 42 42 42 43 43 43 48 48 48 49 49 49 44 44 44 43 43 43 46 46 46
++43 43 43 45 45 45 45 45 45 42 42 42 36 36 36 28 28 28 23 23 23 21 21 21
++14 14 14 14 14 14 17 17 17 25 25 25 34 34 34 39 39 39 38 38 38 34 34 34
++37 37 37 37 37 37 37 37 37 36 36 36 36 36 36 36 36 36 36 36 36 34 34 34
++37 37 37 37 37 37 36 36 36 36 36 36 36 36 36 36 36 36 34 34 34 34 34 34
++33 33 33 34 34 34 34 34 34 34 34 34 33 33 33 33 33 33 34 34 34 37 37 37
++36 36 36 34 34 34 21 21 21 0 0 0 0 0 0 0 0 0 13 13 13 13 13 13
++21 21 21 28 28 28 27 27 27 16 16 16 8 8 8 10 10 10 11 11 11 11 11 11
++16 16 16 4 4 4 3 3 3 20 20 20 31 31 31 20 20 20 8 8 8 11 11 11
++13 13 13 16 16 16 10 10 10 6 6 6 13 13 13 14 14 14 23 23 23 39 39 39
++42 42 42 38 38 38 20 20 20 0 0 0 3 3 3 29 29 29 43 43 43 43 43 43
++40 40 40 37 37 37 25 25 25 36 36 36 48 48 48 39 39 39 20 20 20 0 0 0
++39 39 39 40 40 40 32 32 32 24 24 24 25 25 25 21 21 21 11 11 11 11 11 11
++10 10 10 10 10 10 10 10 10 11 11 11 13 13 13 13 13 13 11 11 11 11 11 11
++24 24 24 38 38 38 32 32 32 36 36 36 46 46 46 44 44 44 39 39 39 25 25 25
++42 42 42 33 33 33 24 24 24 20 20 20 25 25 25 32 32 32 39 39 39 45 45 45
++44 44 44 34 34 34 11 11 11 0 0 0 10 10 10 4 4 4 0 0 0 0 0 0
++
++11 11 11 29 29 29 32 32 32 14 14 14 0 0 0 0 0 0 4 4 4 3 3 3
++0 0 0 19 19 19 33 33 33 23 23 23 4 4 4 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 17 17 17 38 38 38 24 24 24 0 0 0 0 0 0 0 0 0
++4 4 4 3 3 3 0 0 0 11 11 11 32 32 32 16 16 16 0 0 0 8 8 8
++6 6 6 0 0 0 0 0 0 0 0 0 16 16 16 28 28 28 21 21 21 3 3 3
++0 0 0 6 6 6 0 0 0 0 0 0 0 0 0 21 21 21 27 27 27 20 20 20
++0 0 0 10 10 10 0 0 0 0 0 0 10 10 10 4 4 4 3 3 3 27 27 27
++14 14 14 3 3 3 0 0 0 0 0 0 4 4 4 3 3 3 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 0 0 0 0 0
++3 3 3 0 0 0 3 3 3 10 10 10 4 4 4 0 0 0 0 0 0 13 13 13
++31 31 31 11 11 11 8 8 8 4 4 4 0 0 0 0 0 0 8 8 8 0 0 0
++13 13 13 23 23 23 17 17 17 0 0 0 0 0 0 6 6 6 8 8 8 0 0 0
++0 0 0 16 16 16 23 23 23 14 14 14 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 11 11 11 25 25 25 28 28 28 14 14 14 0 0 0 0 0 0 10 10 10
++29 29 29 37 37 37 45 45 45 48 48 48 45 45 45 42 42 42 42 42 42 44 44 44
++43 43 43 42 42 42 44 44 44 48 48 48 43 43 43 29 29 29 13 13 13 4 4 4
++13 13 13 13 13 13 10 10 10 14 14 14 31 31 31 42 42 42 34 34 34 16 16 16
++11 11 11 32 32 32 53 53 53 34 34 34 17 17 17 25 25 25 32 32 32 49 49 49
++44 44 44 23 23 23 21 21 21 32 32 32 49 49 49 52 52 52 32 32 32 28 28 28
++36 36 36 50 50 50 54 54 54 42 42 42 32 32 32 38 38 38 51 51 51 60 60 60
++46 46 46 37 37 37 37 37 37 54 54 54 71 71 71 68 68 68 54 54 54 46 46 46
++51 51 51 57 57 57 56 56 56 53 53 53 65 65 65 78 78 78 71 71 71 48 48 48
++63 63 63 60 60 60 59 59 59 65 65 65 77 77 77 87 87 87 78 78 78 61 61 61
++72 72 72 70 70 70 69 69 69 74 74 74 87 87 87 94 94 94 87 87 87 71 71 71
++72 72 72 81 81 81 92 92 92 101 101 101 105 104 105 103 103 102 103 103 102 105 104 105
++103 103 102 105 104 105 105 105 105 91 91 91 89 89 89 109 110 110 112 112 113 101 101 101
++87 87 87 88 88 88 88 88 88 90 90 90 101 101 101 112 112 113 112 112 113 101 101 101
++91 91 91 93 93 93 99 99 99 105 105 105 101 101 101 103 103 102 115 116 115 105 105 105
++90 90 90 90 90 90 87 87 87 85 85 85 94 94 94 105 104 105 99 99 99 85 85 85
++89 89 89 87 87 87 87 87 87 88 88 88 92 92 92 96 96 96 99 99 99 101 101 101
++92 92 92 88 88 88 87 87 87 92 92 92 105 105 105 115 116 115 109 110 110 101 101 101
++88 88 88 85 85 85 83 83 83 84 84 84 88 88 88 92 92 92 92 92 92 91 91 91
++94 94 94 87 87 87 82 82 82 83 83 83 87 87 87 91 91 91 96 97 98 103 103 102
++90 90 90 90 90 90 91 91 91 92 92 92 92 92 92 92 92 92 92 92 92 92 92 92
++91 91 91 90 90 90 89 89 89 91 91 91 93 93 93 90 90 90 84 84 84 82 82 82
++85 85 85 95 95 94 103 103 102 101 101 101 96 97 98 96 97 98 99 99 99 96 96 96
++95 95 94 94 94 94 93 93 93 91 91 91 91 91 91 91 91 91 91 91 91 91 91 91
++89 89 89 88 88 88 87 87 87 87 87 87 87 87 87 85 85 85 78 78 78 68 68 68
++80 80 80 72 72 72 62 62 62 58 58 58 65 65 65 73 73 73 73 73 73 71 71 71
++74 74 74 75 75 75 56 56 56 50 50 50 52 52 52 51 51 51 59 59 59 63 63 63
++59 59 59 49 49 49 39 39 39 46 46 46 62 62 62 67 67 67 54 54 54 42 42 42
++27 27 27 32 32 32 33 33 33 43 43 43 52 52 52 61 61 61 58 58 58 31 31 31
++34 34 34 40 40 40 45 45 45 38 38 38 25 25 25 20 20 20 24 24 24 28 28 28
++29 29 29 27 27 27 33 33 33 44 44 44 48 48 48 46 46 46 46 46 46 48 48 48
++32 32 32 32 32 32 32 32 32 27 27 27 21 21 21 16 16 16 14 14 14 14 14 14
++16 16 16 21 21 21 29 29 29 37 37 37 39 39 39 39 39 39 36 36 36 34 34 34
++36 36 36 36 36 36 36 36 36 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34
++36 36 36 36 36 36 36 36 36 36 36 36 34 34 34 34 34 34 34 34 34 34 34 34
++31 31 31 34 34 34 37 37 37 36 36 36 32 32 32 31 31 31 34 34 34 38 38 38
++16 16 16 25 25 25 32 32 32 24 24 24 8 8 8 0 0 0 0 0 0 10 10 10
++29 29 29 24 24 24 13 13 13 3 3 3 3 3 3 13 13 13 16 16 16 8 8 8
++13 13 13 13 13 13 23 23 23 34 34 34 29 29 29 10 10 10 4 4 4 17 17 17
++16 16 16 16 16 16 6 6 6 8 8 8 21 21 21 27 27 27 32 32 32 45 45 45
++42 42 42 17 17 17 0 0 0 0 0 0 3 3 3 10 10 10 31 31 31 51 51 51
++34 34 34 43 43 43 36 36 36 40 40 40 50 50 50 38 38 38 23 23 23 0 0 0
++34 34 34 44 44 44 36 36 36 27 27 27 29 29 29 14 14 14 0 0 0 16 16 16
++11 11 11 11 11 11 13 13 13 13 13 13 11 11 11 10 10 10 10 10 10 10 10 10
++20 20 20 27 27 27 27 27 27 28 28 28 33 33 33 44 44 44 40 40 40 10 10 10
++37 37 37 21 21 21 37 37 37 52 52 52 40 40 40 29 29 29 25 25 25 10 10 10
++27 27 27 25 25 25 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 11 11 11
++
++0 0 0 11 11 11 27 27 27 27 27 27 16 16 16 0 0 0 0 0 0 8 8 8
++0 0 0 0 0 0 13 13 13 25 25 25 24 24 24 8 8 8 0 0 0 0 0 0
++14 14 14 0 0 0 0 0 0 16 16 16 38 38 38 25 25 25 0 0 0 0 0 0
++3 3 3 8 8 8 0 0 0 0 0 0 13 13 13 29 29 29 20 20 20 0 0 0
++0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 14 14 14 24 24 24 23 23 23
++0 0 0 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 11 11 11 29 29 29
++13 13 13 11 11 11 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 13 13 13
++24 24 24 16 16 16 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 10 10 10 28 28 28
++13 13 13 3 3 3 0 0 0 6 6 6 3 3 3 0 0 0 4 4 4 6 6 6
++20 20 20 16 16 16 6 6 6 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0
++17 17 17 21 21 21 16 16 16 0 0 0 0 0 0 6 6 6 6 6 6 0 0 0
++0 0 0 29 29 29 25 25 25 6 6 6 6 6 6 8 8 8 8 8 8 20 20 20
++42 42 42 43 43 43 45 45 45 43 43 43 40 40 40 39 39 39 40 40 40 43 43 43
++42 42 42 44 44 44 49 49 49 46 46 46 32 32 32 11 11 11 6 6 6 14 14 14
++13 13 13 0 0 0 8 8 8 29 29 29 40 40 40 34 34 34 19 19 19 8 8 8
++19 19 19 44 44 44 28 28 28 16 16 16 17 17 17 33 33 33 57 57 57 43 43 43
++21 21 21 33 33 33 23 23 23 48 48 48 49 49 49 21 21 21 32 32 32 31 31 31
++50 50 50 50 50 50 40 40 40 29 29 29 36 36 36 53 53 53 56 56 56 46 46 46
++40 40 40 43 43 43 56 56 56 56 56 56 48 48 48 57 57 57 66 66 66 56 56 56
++40 40 40 49 49 49 53 53 53 50 50 50 52 52 52 69 69 69 76 76 76 69 69 69
++54 54 54 59 59 59 60 60 60 58 58 58 62 62 62 77 77 77 84 84 84 76 76 76
++63 63 63 70 70 70 72 72 72 68 68 68 69 69 69 84 84 84 92 92 92 88 88 88
++70 70 70 72 72 72 80 80 80 90 90 90 96 97 98 101 101 101 103 103 102 105 104 105
++99 99 99 101 101 101 101 101 101 93 93 93 84 84 84 89 89 89 101 101 101 109 110 110
++89 89 89 83 83 83 85 85 85 88 88 88 88 88 88 99 99 99 112 112 113 112 112 113
++95 95 94 88 88 88 93 93 93 105 105 105 96 97 98 88 88 88 105 104 105 115 116 115
++96 96 96 89 89 89 82 82 82 83 83 83 91 91 91 95 95 94 92 92 92 87 87 87
++87 87 87 87 87 87 87 87 87 85 85 85 90 90 90 99 99 99 103 103 102 103 103 102
++101 101 101 93 93 93 87 87 87 87 87 87 99 99 99 109 110 110 112 112 113 105 105 105
++96 96 96 90 90 90 83 83 83 78 78 78 82 82 82 88 88 88 94 94 94 96 97 98
++99 99 99 90 90 90 83 83 83 83 83 83 84 84 84 87 87 87 92 92 92 101 101 101
++93 93 93 90 90 90 87 87 87 85 85 85 84 84 84 87 87 87 89 89 89 91 91 91
++87 87 87 89 89 89 87 87 87 83 83 83 87 87 87 88 88 88 83 83 83 80 80 80
++89 89 89 96 96 96 99 99 99 96 96 96 93 93 93 94 94 94 95 95 94 94 94 94
++91 91 91 91 91 91 90 90 90 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89
++87 87 87 85 85 85 85 85 85 85 85 85 84 84 84 84 84 84 78 78 78 68 68 68
++61 61 61 62 62 62 57 57 57 53 53 53 54 54 54 53 53 53 50 50 50 49 49 49
++52 52 52 74 74 74 58 58 58 46 46 46 54 54 54 58 58 58 62 62 62 59 59 59
++69 69 69 62 62 62 46 46 46 37 37 37 46 46 46 60 60 60 62 62 62 59 59 59
++39 39 39 31 31 31 21 21 21 38 38 38 54 54 54 61 61 61 52 52 52 20 20 20
++21 21 21 28 28 28 42 42 42 48 48 48 40 40 40 32 32 32 27 27 27 21 21 21
++25 25 25 25 25 25 33 33 33 39 39 39 36 36 36 29 29 29 24 24 24 17 17 17
++20 20 20 19 19 19 17 17 17 14 14 14 13 13 13 13 13 13 14 14 14 17 17 17
++27 27 27 32 32 32 37 37 37 38 38 38 37 37 37 34 34 34 36 36 36 37 37 37
++34 34 34 34 34 34 34 34 34 34 34 34 33 33 33 33 33 33 33 33 33 33 33 33
++36 36 36 36 36 36 34 34 34 34 34 34 34 34 34 34 34 34 33 33 33 33 33 33
++31 31 31 32 32 32 34 34 34 34 34 34 32 32 32 31 31 31 31 31 31 32 32 32
++6 6 6 8 8 8 23 23 23 36 36 36 32 32 32 19 19 19 20 20 20 34 34 34
++25 25 25 16 16 16 8 8 8 6 6 6 10 10 10 16 16 16 16 16 16 3 3 3
++10 10 10 23 23 23 39 39 39 37 37 37 17 17 17 8 8 8 13 13 13 13 13 13
++11 11 11 11 11 11 11 11 11 20 20 20 29 29 29 32 32 32 31 31 31 36 36 36
++43 43 43 43 43 43 39 39 39 32 32 32 31 31 31 39 39 39 39 39 39 25 25 25
++34 34 34 56 56 56 48 48 48 37 37 37 44 44 44 43 43 43 44 44 44 20 20 20
++42 42 42 46 46 46 33 33 33 28 28 28 37 37 37 23 23 23 4 4 4 20 20 20
++13 13 13 13 13 13 13 13 13 13 13 13 10 10 10 10 10 10 11 11 11 11 11 11
++10 10 10 23 23 23 32 32 32 27 27 27 23 23 23 40 40 40 48 48 48 27 27 27
++33 33 33 37 37 37 39 39 39 43 43 43 40 40 40 19 19 19 0 0 0 4 4 4
++14 14 14 29 29 29 34 34 34 20 20 20 0 0 0 0 0 0 4 4 4 24 24 24
++
++6 6 6 3 3 3 6 6 6 23 23 23 31 31 31 14 14 14 0 0 0 0 0 0
++8 8 8 0 0 0 0 0 0 11 11 11 24 24 24 20 20 20 8 8 8 0 0 0
++0 0 0 10 10 10 0 0 0 0 0 0 20 20 20 36 36 36 23 23 23 6 6 6
++4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 19 19 19 34 34 34 11 11 11
++0 0 0 3 3 3 4 4 4 0 0 0 0 0 0 0 0 0 13 13 13 25 25 25
++14 14 14 3 3 3 0 0 0 8 8 8 0 0 0 0 0 0 0 0 0 19 19 19
++27 27 27 11 11 11 10 10 10 6 6 6 0 0 0 3 3 3 10 10 10 0 0 0
++16 16 16 20 20 20 14 14 14 0 0 0 0 0 0 0 0 0 3 3 3 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 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 11 11 11 17 17 17 21 21 21
++0 0 0 10 10 10 0 0 0 0 0 0 14 14 14 6 6 6 0 0 0 23 23 23
++13 13 13 3 3 3 0 0 0 4 4 4 4 4 4 0 0 0 3 3 3 14 14 14
++23 23 23 13 13 13 0 0 0 0 0 0 0 0 0 6 6 6 4 4 4 3 3 3
++20 20 20 24 24 24 13 13 13 0 0 0 0 0 0 11 11 11 21 21 21 33 33 33
++45 45 45 44 44 44 42 42 42 40 40 40 39 39 39 38 38 38 39 39 39 39 39 39
++44 44 44 45 45 45 43 43 43 32 32 32 16 16 16 4 4 4 8 8 8 19 19 19
++10 10 10 11 11 11 23 23 23 36 36 36 32 32 32 16 16 16 14 14 14 25 25 25
++44 44 44 23 23 23 33 33 33 10 10 10 23 23 23 53 53 53 27 27 27 27 27 27
++23 23 23 28 28 28 52 52 52 38 38 38 27 27 27 28 28 28 16 16 16 46 46 46
++46 46 46 38 38 38 31 31 31 32 32 32 43 43 43 51 51 51 45 45 45 36 36 36
++36 36 36 50 50 50 59 59 59 50 50 50 38 38 38 51 51 51 68 68 68 68 68 68
++51 51 51 40 40 40 44 44 44 53 53 53 51 51 51 51 51 51 67 67 67 80 80 80
++60 60 60 56 56 56 57 57 57 57 57 57 54 54 54 63 63 63 77 77 77 83 83 83
++70 70 70 66 66 66 68 68 68 67 67 67 62 62 62 70 70 70 85 85 85 91 91 91
++81 81 81 74 74 74 72 72 72 78 78 78 88 88 88 94 94 94 99 99 99 101 101 101
++99 99 99 96 97 98 96 96 96 95 95 94 87 87 87 76 76 76 84 84 84 103 103 102
++101 101 101 85 85 85 83 83 83 85 85 85 82 82 82 90 90 90 105 104 105 105 105 105
++103 103 102 95 95 94 87 87 87 99 99 99 101 101 101 83 83 83 88 88 88 105 105 105
++103 103 102 93 93 93 85 85 85 87 87 87 89 89 89 88 88 88 88 88 88 89 89 89
++88 88 88 91 91 91 87 87 87 81 81 81 84 84 84 95 95 94 101 101 101 96 97 98
++105 105 105 101 101 101 92 92 92 87 87 87 89 89 89 99 99 99 103 103 102 105 104 105
++103 103 102 96 96 96 87 87 87 78 78 78 77 77 77 81 81 81 87 87 87 92 92 92
++101 101 101 96 96 96 90 90 90 85 85 85 82 82 82 82 82 82 87 87 87 90 90 90
++94 94 94 91 91 91 87 87 87 82 82 82 80 80 80 80 80 80 82 82 82 84 84 84
++80 80 80 85 85 85 83 83 83 78 78 78 82 82 82 82 82 82 78 78 78 78 78 78
++91 91 91 93 93 93 94 94 94 92 92 92 90 90 90 90 90 90 90 90 90 90 90 90
++87 87 87 87 87 87 87 87 87 87 87 87 87 87 87 87 87 87 85 85 85 85 85 85
++84 84 84 81 81 81 82 82 82 82 82 82 81 81 81 82 82 82 77 77 77 66 66 66
++53 53 53 60 60 60 60 60 60 58 58 58 56 56 56 49 49 49 42 42 42 45 45 45
++51 51 51 66 66 66 50 50 50 50 50 50 57 57 57 54 54 54 59 59 59 50 50 50
++62 62 62 69 69 69 56 56 56 34 34 34 37 37 37 51 51 51 61 61 61 65 65 65
++51 51 51 40 40 40 33 33 33 49 49 49 58 58 58 57 57 57 50 50 50 29 29 29
++20 20 20 16 16 16 31 31 31 49 49 49 51 51 51 46 46 46 38 38 38 28 28 28
++23 23 23 25 25 25 33 33 33 33 33 33 23 23 23 19 19 19 17 17 17 8 8 8
++19 19 19 17 17 17 16 16 16 16 16 16 20 20 20 25 25 25 31 31 31 33 33 33
++34 34 34 36 36 36 37 37 37 36 36 36 34 34 34 33 33 33 34 34 34 37 37 37
++34 34 34 34 34 34 33 33 33 33 33 33 33 33 33 33 33 33 32 32 32 32 32 32
++34 34 34 34 34 34 34 34 34 34 34 34 33 33 33 33 33 33 33 33 33 33 33 33
++32 32 32 28 28 28 25 25 25 28 28 28 33 33 33 33 33 33 27 27 27 20 20 20
++45 45 45 25 25 25 4 4 4 8 8 8 25 25 25 36 36 36 34 34 34 28 28 28
++16 16 16 10 10 10 16 16 16 20 20 20 14 14 14 11 11 11 13 13 13 8 8 8
++20 20 20 24 24 24 40 40 40 37 37 37 13 13 13 10 10 10 17 17 17 4 4 4
++11 11 11 10 10 10 17 17 17 24 24 24 19 19 19 8 8 8 3 3 3 0 0 0
++3 3 3 4 4 4 24 24 24 38 38 38 38 38 38 37 37 37 37 37 37 32 32 32
++25 25 25 44 44 44 36 36 36 25 25 25 34 34 34 31 31 31 49 49 49 39 39 39
++44 44 44 39 39 39 32 32 32 37 37 37 43 43 43 29 29 29 11 11 11 13 13 13
++11 11 11 13 13 13 13 13 13 11 11 11 10 10 10 11 11 11 14 14 14 17 17 17
++27 27 27 42 42 42 51 51 51 42 42 42 34 34 34 40 40 40 43 43 43 36 36 36
++38 38 38 40 40 40 4 4 4 0 0 0 38 38 38 37 37 37 10 10 10 17 17 17
++0 0 0 13 13 13 29 29 29 33 33 33 16 16 16 3 3 3 19 19 19 37 37 37
++
++19 19 19 8 8 8 0 0 0 13 13 13 33 33 33 25 25 25 6 6 6 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 27 27 27 23 23 23 4 4 4
++0 0 0 0 0 0 10 10 10 3 3 3 0 0 0 13 13 13 27 27 27 19 19 19
++0 0 0 3 3 3 0 0 0 3 3 3 6 6 6 0 0 0 10 10 10 44 44 44
++21 21 21 0 0 0 0 0 0 8 8 8 10 10 10 0 0 0 0 0 0 11 11 11
++32 32 32 17 17 17 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0
++16 16 16 32 32 32 16 16 16 0 0 0 8 8 8 11 11 11 0 0 0 0 0 0
++0 0 0 16 16 16 23 23 23 11 11 11 0 0 0 4 4 4 8 8 8 3 3 3
++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 0 0 8 8 8 6 6 6 0 0 0 8 8 8 21 21 21 17 17 17 0 0 0
++10 10 10 0 0 0 0 0 0 3 3 3 0 0 0 10 10 10 23 23 23 19 19 19
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 16 16 32 32 32
++19 19 19 0 0 0 0 0 0 4 4 4 10 10 10 0 0 0 4 4 4 21 21 21
++38 38 38 0 0 0 0 0 0 11 11 11 0 0 0 3 3 3 32 32 32 44 44 44
++44 44 44 42 42 42 39 39 39 39 39 39 39 39 39 39 39 39 38 38 38 37 37 37
++46 46 46 43 43 43 29 29 29 10 10 10 0 0 0 8 8 8 13 13 13 13 13 13
++11 11 11 29 29 29 43 43 43 34 34 34 11 11 11 0 0 0 20 20 20 44 44 44
++32 32 32 16 16 16 11 11 11 31 31 31 45 45 45 42 42 42 27 27 27 14 14 14
++17 17 17 45 45 45 40 40 40 28 28 28 21 21 21 24 24 24 43 43 43 50 50 50
++29 29 29 25 25 25 32 32 32 45 45 45 46 46 46 36 36 36 32 32 32 37 37 37
++45 45 45 59 59 59 48 48 48 36 36 36 43 43 43 39 39 39 37 37 37 53 53 53
++70 70 70 52 52 52 45 45 45 49 49 49 45 45 45 46 46 46 53 53 53 58 58 58
++81 81 81 58 58 58 51 51 51 58 58 58 56 56 56 52 52 52 61 61 61 71 71 71
++92 92 92 68 68 68 60 60 60 67 67 67 65 65 65 60 60 60 67 67 67 74 74 74
++93 93 93 80 80 80 69 69 69 71 71 71 81 81 81 88 88 88 92 92 92 94 94 94
++99 99 99 99 99 99 92 92 92 93 93 93 91 91 91 76 76 76 74 74 74 87 87 87
++112 112 113 91 91 91 82 82 82 80 80 80 77 77 77 90 90 90 99 99 99 90 90 90
++105 105 105 105 105 105 83 83 83 87 87 87 105 105 105 91 91 91 78 78 78 89 89 89
++105 105 105 101 101 101 93 93 93 88 88 88 88 88 88 89 89 89 89 89 89 88 88 88
++96 97 98 101 101 101 95 95 94 83 83 83 83 83 83 95 95 94 99 99 99 93 93 93
++99 99 99 101 101 101 96 96 96 88 88 88 85 85 85 91 91 91 99 99 99 105 104 105
++105 105 105 101 101 101 91 91 91 83 83 83 77 77 77 77 77 77 80 80 80 83 83 83
++103 103 102 103 103 102 99 99 99 87 87 87 81 81 81 81 81 81 82 82 82 80 80 80
++93 93 93 91 91 91 87 87 87 83 83 83 80 80 80 76 76 76 75 75 75 75 75 75
++75 75 75 81 81 81 80 80 80 77 77 77 81 81 81 77 77 77 73 73 73 77 77 77
++92 92 92 91 91 91 90 90 90 90 90 90 89 89 89 88 88 88 87 87 87 87 87 87
++84 84 84 84 84 84 85 85 85 85 85 85 85 85 85 84 84 84 83 83 83 82 82 82
++82 82 82 77 77 77 80 80 80 81 81 81 77 77 77 80 80 80 76 76 76 65 65 65
++53 53 53 57 57 57 52 52 52 49 49 49 52 52 52 52 52 52 54 54 54 63 63 63
++73 73 73 62 62 62 44 44 44 57 57 57 56 56 56 38 38 38 44 44 44 38 38 38
++43 43 43 63 63 63 61 61 61 40 40 40 36 36 36 48 48 48 56 56 56 58 58 58
++63 63 63 53 53 53 46 46 46 56 56 56 56 56 56 51 51 51 57 57 57 51 51 51
++28 28 28 13 13 13 23 23 23 44 44 44 52 52 52 51 51 51 48 48 48 40 40 40
++42 42 42 43 43 43 44 44 44 34 34 34 19 19 19 19 19 19 23 23 23 17 17 17
++24 24 24 23 23 23 21 21 21 25 25 25 33 33 33 40 40 40 45 45 45 48 48 48
++36 36 36 34 34 34 34 34 34 34 34 34 36 36 36 36 36 36 34 34 34 33 33 33
++33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 32 32 32 32 32 32 32 32 32
++34 34 34 34 34 34 34 34 34 34 34 34 33 33 33 33 33 33 33 33 33 33 33 33
++33 33 33 23 23 23 16 16 16 23 23 23 34 34 34 37 37 37 24 24 24 8 8 8
++6 6 6 34 34 34 43 43 43 27 27 27 19 19 19 31 31 31 31 31 31 16 16 16
++8 8 8 10 10 10 24 24 24 28 28 28 13 13 13 3 3 3 11 11 11 17 17 17
++33 33 33 17 17 17 32 32 32 39 39 39 16 16 16 8 8 8 16 16 16 3 3 3
++10 10 10 10 10 10 24 24 24 29 29 29 16 16 16 4 4 4 3 3 3 0 0 0
++0 0 0 16 16 16 33 33 33 34 34 34 21 21 21 23 23 23 32 32 32 31 31 31
++37 37 37 46 46 46 39 39 39 36 36 36 31 31 31 0 0 0 33 33 33 49 49 49
++38 38 38 27 27 27 28 28 28 38 38 38 34 34 34 21 21 21 11 11 11 3 3 3
++10 10 10 11 11 11 13 13 13 11 11 11 10 10 10 11 11 11 17 17 17 21 21 21
++14 14 14 34 34 34 43 43 43 39 39 39 40 40 40 37 37 37 25 25 25 27 27 27
++46 46 46 33 33 33 16 16 16 0 0 0 8 8 8 27 27 27 25 25 25 3 3 3
++4 4 4 0 0 0 6 6 6 31 31 31 31 31 31 25 25 25 34 34 34 43 43 43
++
++32 32 32 21 21 21 13 13 13 0 0 0 6 6 6 33 33 33 23 23 23 6 6 6
++0 0 0 4 4 4 3 3 3 0 0 0 0 0 0 10 10 10 23 23 23 29 29 29
++10 10 10 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 6 6 6 31 31 31
++25 25 25 10 10 10 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0
++34 34 34 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4
++13 13 13 24 24 24 23 23 23 6 6 6 0 0 0 0 0 0 3 3 3 0 0 0
++0 0 0 14 14 14 25 25 25 14 14 14 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 13 13 13 20 20 20 14 14 14 0 0 0 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 4 4 4 4 4 4 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 0 0 0 14 14 14 20 20 20 14 14 14 3 3 3 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 14 14 14 21 21 21 13 13 13 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 3 3 3 20 20 20 21 21 21 13 13 13
++3 3 3 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 17 17 17 36 36 36
++3 3 3 4 4 4 0 0 0 0 0 0 8 8 8 28 28 28 40 40 40 44 44 44
++43 43 43 38 38 38 37 37 37 40 40 40 40 40 40 37 37 37 38 38 38 44 44 44
++43 43 43 28 28 28 10 10 10 3 3 3 6 6 6 10 10 10 10 10 10 10 10 10
++24 24 24 43 43 43 29 29 29 6 6 6 8 8 8 29 29 29 43 43 43 24 24 24
++13 13 13 10 10 10 23 23 23 42 42 42 39 39 39 19 19 19 11 11 11 23 23 23
++38 38 38 39 39 39 31 31 31 20 20 20 25 25 25 39 39 39 40 40 40 32 32 32
++24 24 24 32 32 32 42 42 42 45 45 45 38 38 38 29 29 29 34 34 34 46 46 46
++51 51 51 44 44 44 37 37 37 34 34 34 38 38 38 42 42 42 42 42 42 40 40 40
++59 59 59 63 63 63 58 58 58 44 44 44 39 39 39 48 48 48 50 50 50 46 46 46
++66 66 66 72 72 72 63 63 63 50 50 50 52 52 52 57 57 57 54 54 54 52 52 52
++68 68 68 78 78 78 73 73 73 60 60 60 61 61 61 65 65 65 63 63 63 62 62 62
++67 67 67 87 87 87 87 87 87 65 65 65 61 61 61 84 84 84 93 93 93 84 84 84
++94 94 94 92 92 92 95 95 94 96 97 98 88 88 88 73 73 73 70 70 70 77 77 77
++95 95 94 101 101 101 96 97 98 82 82 82 74 74 74 83 83 83 90 90 90 88 88 88
++83 83 83 103 103 102 101 101 101 88 88 88 91 91 91 96 96 96 87 87 87 76 76 76
++96 97 98 87 87 87 87 87 87 81 81 81 81 81 81 87 87 87 87 87 87 96 96 96
++92 92 92 99 99 99 105 105 105 95 95 94 77 77 77 82 82 82 94 94 94 96 96 96
++81 81 81 96 96 96 105 105 105 96 96 96 78 78 78 73 73 73 87 87 87 103 103 102
++96 96 96 101 101 101 99 99 99 87 87 87 76 76 76 76 76 76 83 83 83 89 89 89
++93 93 93 82 82 82 94 94 94 105 105 105 91 91 91 80 80 80 78 78 78 72 72 72
++80 80 80 80 80 80 88 88 88 91 91 91 80 80 80 71 71 71 72 72 72 71 71 71
++71 71 71 68 68 68 71 71 71 73 73 73 69 69 69 71 71 71 75 75 75 74 74 74
++75 75 75 85 85 85 90 90 90 88 88 88 85 85 85 87 87 87 87 87 87 84 84 84
++87 87 87 85 85 85 83 83 83 82 82 82 81 81 81 81 81 81 78 78 78 76 76 76
++83 83 83 72 72 72 60 60 60 65 65 65 72 72 72 62 62 62 57 57 57 71 71 71
++50 50 50 50 50 50 52 52 52 53 53 53 50 50 50 49 49 49 59 59 59 72 72 72
++68 68 68 70 70 70 65 65 65 53 53 53 43 43 43 40 40 40 40 40 40 38 38 38
++52 52 52 66 66 66 59 59 59 40 40 40 33 33 33 39 39 39 48 48 48 57 57 57
++52 52 52 50 50 50 51 51 51 59 59 59 53 53 53 28 28 28 21 21 21 43 43 43
++48 48 48 43 43 43 38 38 38 39 39 39 44 44 44 49 49 49 48 48 48 45 45 45
++38 38 38 37 37 37 39 39 39 46 46 46 46 46 46 39 39 39 36 36 36 36 36 36
++38 38 38 42 42 42 44 44 44 40 40 40 34 34 34 32 32 32 37 37 37 42 42 42
++39 39 39 36 36 36 32 32 32 32 32 32 34 34 34 36 36 36 34 34 34 32 32 32
++32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 33 33 33 33 33 33
++33 33 33 33 33 33 33 33 33 32 32 32 32 32 32 33 33 33 33 33 33 34 34 34
++37 37 37 38 38 38 33 33 33 21 21 21 10 10 10 13 13 13 27 27 27 39 39 39
++10 10 10 4 4 4 4 4 4 24 24 24 37 37 37 29 29 29 14 14 14 14 14 14
++6 6 6 13 13 13 29 29 29 33 33 33 14 14 14 4 4 4 19 19 19 32 32 32
++4 4 4 23 23 23 34 34 34 29 29 29 16 16 16 8 8 8 11 11 11 16 16 16
++13 13 13 25 25 25 24 24 24 14 14 14 10 10 10 4 4 4 0 0 0 10 10 10
++31 31 31 36 36 36 24 24 24 17 17 17 27 27 27 19 19 19 0 0 0 3 3 3
++11 11 11 25 25 25 40 40 40 46 46 46 43 43 43 36 36 36 33 33 33 36 36 36
++37 37 37 37 37 37 28 28 28 29 29 29 21 21 21 6 6 6 11 11 11 4 4 4
++13 13 13 11 11 11 8 8 8 8 8 8 11 11 11 14 14 14 14 14 14 13 13 13
++21 21 21 40 40 40 46 46 46 39 39 39 25 25 25 28 28 28 33 33 33 10 10 10
++29 29 29 43 43 43 21 21 21 0 0 0 10 10 10 19 19 19 23 23 23 42 42 42
++0 0 0 0 0 0 13 13 13 23 23 23 28 28 28 40 40 40 34 34 34 0 0 0
++
++11 11 11 37 37 37 17 17 17 8 8 8 0 0 0 0 0 0 33 33 33 24 24 24
++11 11 11 0 0 0 0 0 0 6 6 6 6 6 6 0 0 0 4 4 4 24 24 24
++28 28 28 10 10 10 0 0 0 0 0 0 3 3 3 0 0 0 6 6 6 19 19 19
++31 31 31 27 27 27 19 19 19 13 13 13 13 13 13 16 16 16 16 16 16 14 14 14
++17 17 17 23 23 23 19 19 19 6 6 6 0 0 0 0 0 0 3 3 3 0 0 0
++0 0 0 13 13 13 20 20 20 16 16 16 3 3 3 0 0 0 0 0 0 3 3 3
++0 0 0 3 3 3 13 13 13 21 21 21 19 19 19 4 4 4 0 0 0 0 0 0
++6 6 6 4 4 4 4 4 4 10 10 10 16 16 16 16 16 16 6 6 6 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 6 6 6 16 16 16 16 16 16 10 10 10 4 4 4 3 3 3 3 3 3
++3 3 3 0 0 0 4 4 4 14 14 14 16 16 16 8 8 8 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 6 6 6 16 16 16 20 20 20 13 13 13 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 6 6 6 20 20 20 20 20 20 11 11 11
++6 6 6 0 0 0 0 0 0 4 4 4 20 20 20 36 36 36 40 40 40 40 40 40
++38 38 38 39 39 39 39 39 39 38 38 38 38 38 38 38 38 38 39 39 39 38 38 38
++25 25 25 10 10 10 3 3 3 10 10 10 10 10 10 3 3 3 10 10 10 24 24 24
++34 34 34 27 27 27 4 4 4 8 8 8 25 25 25 36 36 36 33 33 33 8 8 8
++11 11 11 27 27 27 38 38 38 33 33 33 20 20 20 14 14 14 25 25 25 37 37 37
++37 37 37 24 24 24 17 17 17 25 25 25 39 39 39 42 42 42 32 32 32 23 23 23
++29 29 29 37 37 37 40 40 40 37 37 37 29 29 29 31 31 31 38 38 38 45 45 45
++42 42 42 39 39 39 36 36 36 36 36 36 38 38 38 40 40 40 40 40 40 39 39 39
++45 45 45 53 53 53 59 59 59 53 53 53 44 44 44 42 42 42 45 45 45 50 50 50
++48 48 48 63 63 63 69 69 69 62 62 62 54 54 54 49 49 49 51 51 51 60 60 60
++54 54 54 70 70 70 75 75 75 69 69 69 62 62 62 57 57 57 58 58 58 67 67 67
++61 61 61 71 71 71 81 81 81 80 80 80 70 70 70 67 67 67 77 77 77 92 92 92
++89 89 89 87 87 87 89 89 89 93 93 93 90 90 90 81 81 81 72 72 72 71 71 71
++81 81 81 92 92 92 96 96 96 91 91 91 82 82 82 71 71 71 76 76 76 96 97 98
++78 78 78 87 87 87 96 96 96 95 95 94 90 90 90 91 91 91 89 89 89 80 80 80
++87 87 87 80 80 80 82 82 82 84 84 84 87 87 87 80 80 80 73 73 73 89 89 89
++96 97 98 90 90 90 90 90 90 95 95 94 92 92 92 80 80 80 81 81 81 94 94 94
++85 85 85 82 82 82 87 87 87 96 97 98 94 94 94 82 82 82 82 82 82 92 92 92
++99 99 99 93 93 93 96 96 96 101 101 101 90 90 90 72 72 72 75 75 75 95 95 94
++77 77 77 75 75 75 81 81 81 89 89 89 92 92 92 93 93 93 91 91 91 87 87 87
++76 76 76 70 70 70 75 75 75 85 85 85 80 80 80 72 72 72 71 71 71 71 71 71
++70 70 70 67 67 67 71 71 71 73 73 73 70 70 70 71 71 71 73 73 73 69 69 69
++70 70 70 77 77 77 84 84 84 84 84 84 83 83 83 82 82 82 82 82 82 81 81 81
++81 81 81 80 80 80 78 78 78 78 78 78 80 80 80 80 80 80 77 77 77 76 76 76
++65 65 65 57 57 57 60 60 60 62 62 62 52 52 52 52 52 52 61 61 61 63 63 63
++52 52 52 50 50 50 49 49 49 50 50 50 50 50 50 49 49 49 51 51 51 54 54 54
++48 48 48 49 49 49 48 48 48 44 44 44 42 42 42 42 42 42 40 40 40 38 38 38
++53 53 53 59 59 59 54 54 54 46 46 46 37 37 37 28 28 28 29 29 29 43 43 43
++54 54 54 54 54 54 57 57 57 60 60 60 54 54 54 31 31 31 14 14 14 23 23 23
++45 45 45 44 44 44 43 43 43 43 43 43 43 43 43 43 43 43 44 44 44 44 44 44
++42 42 42 38 38 38 37 37 37 39 39 39 43 43 43 42 42 42 39 39 39 37 37 37
++34 34 34 38 38 38 42 42 42 40 40 40 37 37 37 34 34 34 34 34 34 36 36 36
++38 38 38 38 38 38 37 37 37 34 34 34 31 31 31 31 31 31 32 32 32 33 33 33
++32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
++28 28 28 28 28 28 31 31 31 34 34 34 31 31 31 19 19 19 6 6 6 0 0 0
++20 20 20 28 28 28 37 37 37 38 38 38 33 33 33 28 28 28 31 31 31 36 36 36
++42 42 42 28 28 28 14 14 14 23 23 23 37 37 37 29 29 29 11 11 11 4 4 4
++4 4 4 13 13 13 23 23 23 20 20 20 13 13 13 19 19 19 24 24 24 19 19 19
++6 6 6 3 3 3 3 3 3 4 4 4 10 10 10 8 8 8 3 3 3 0 0 0
++21 21 21 25 25 25 17 17 17 8 8 8 14 14 14 20 20 20 23 23 23 29 29 29
++36 36 36 37 37 37 24 24 24 16 16 16 19 19 19 11 11 11 0 0 0 3 3 3
++0 0 0 8 8 8 27 27 27 34 34 34 36 36 36 36 36 36 36 36 36 36 36 36
++43 43 43 40 40 40 36 36 36 45 45 45 40 40 40 20 20 20 14 14 14 8 8 8
++11 11 11 10 10 10 11 11 11 13 13 13 14 14 14 13 13 13 11 11 11 11 11 11
++6 6 6 25 25 25 28 28 28 25 25 25 24 24 24 34 34 34 40 40 40 24 24 24
++4 4 4 32 32 32 31 31 31 16 16 16 13 13 13 6 6 6 4 4 4 23 23 23
++36 36 36 25 25 25 24 24 24 21 21 21 14 14 14 25 25 25 32 32 32 17 17 17
++
++0 0 0 6 6 6 38 38 38 19 19 19 0 0 0 3 3 3 0 0 0 37 37 37
++27 27 27 6 6 6 0 0 0 6 6 6 8 8 8 0 0 0 0 0 0 11 11 11
++29 29 29 24 24 24 11 11 11 0 0 0 0 0 0 10 10 10 11 11 11 3 3 3
++10 10 10 20 20 20 20 20 20 8 8 8 0 0 0 0 0 0 8 8 8 8 8 8
++3 3 3 19 19 19 27 27 27 17 17 17 6 6 6 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 11 11 11 19 19 19 13 13 13 0 0 0 0 0 0 0 0 0
++8 8 8 0 0 0 0 0 0 16 16 16 25 25 25 19 19 19 3 3 3 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 13 13 13 23 23 23 17 17 17 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0
++0 0 0 16 16 16 23 23 23 13 13 13 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 6 6 6 14 14 14 16 16 16 10 10 10 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 8 8 8 19 19 19 21 21 21 13 13 13 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 3 3 3 17 17 17 25 25 25 14 14 14 0 0 0
++6 6 6 0 0 0 0 0 0 19 19 19 34 34 34 42 42 42 40 40 40 36 36 36
++36 36 36 38 38 38 37 37 37 34 34 34 38 38 38 42 42 42 36 36 36 24 24 24
++6 6 6 0 0 0 0 0 0 8 8 8 10 10 10 8 8 8 20 20 20 34 34 34
++28 28 28 11 11 11 0 0 0 23 23 23 37 37 37 29 29 29 17 17 17 3 3 3
++21 21 21 38 38 38 38 38 38 19 19 19 8 8 8 24 24 24 38 38 38 38 38 38
++27 27 27 14 14 14 17 17 17 36 36 36 43 43 43 32 32 32 23 23 23 24 24 24
++37 37 37 38 38 38 33 33 33 25 25 25 27 27 27 36 36 36 40 40 40 38 38 38
++32 32 32 32 32 32 33 33 33 36 36 36 37 37 37 38 38 38 38 38 38 38 38 38
++37 37 37 44 44 44 54 54 54 58 58 58 51 51 51 42 42 42 40 40 40 46 46 46
++38 38 38 52 52 52 65 65 65 68 68 68 61 61 61 50 50 50 48 48 48 57 57 57
++49 49 49 58 58 58 67 67 67 71 71 71 68 68 68 58 58 58 53 53 53 60 60 60
++59 59 59 57 57 57 69 69 69 84 84 84 78 78 78 62 62 62 66 66 66 84 84 84
++85 85 85 83 83 83 84 84 84 88 88 88 91 91 91 87 87 87 73 73 73 62 62 62
++68 68 68 84 84 84 90 90 90 91 91 91 88 88 88 71 71 71 69 69 69 92 92 92
++78 78 78 69 69 69 83 83 83 95 95 94 89 89 89 90 90 90 91 91 91 77 77 77
++76 76 76 74 74 74 77 77 77 84 84 84 90 90 90 84 84 84 71 71 71 76 76 76
++89 89 89 87 87 87 81 81 81 88 88 88 96 96 96 87 87 87 75 75 75 84 84 84
++93 93 93 77 77 77 73 73 73 88 88 88 96 96 96 89 89 89 77 77 77 74 74 74
++92 92 92 83 83 83 83 83 83 94 94 94 96 96 96 87 87 87 84 84 84 91 91 91
++72 72 72 75 75 75 72 72 72 74 74 74 87 87 87 92 92 92 87 87 87 82 82 82
++83 83 83 75 75 75 73 73 73 76 76 76 75 75 75 73 73 73 70 70 70 63 63 63
++67 67 67 62 62 62 62 62 62 63 63 63 65 65 65 68 68 68 69 69 69 65 65 65
++63 63 63 68 68 68 74 74 74 80 80 80 80 80 80 76 76 76 76 76 76 77 77 77
++75 75 75 75 75 75 75 75 75 75 75 75 76 76 76 75 75 75 73 73 73 71 71 71
++54 54 54 51 51 51 57 57 57 59 59 59 56 56 56 62 62 62 65 65 65 52 52 52
++48 48 48 49 49 49 48 48 48 46 46 46 45 45 45 46 46 46 45 45 45 42 42 42
++46 46 46 40 40 40 37 37 37 38 38 38 40 40 40 40 40 40 38 38 38 37 37 37
++49 49 49 53 53 53 53 53 53 49 49 49 42 42 42 34 34 34 34 34 34 44 44 44
++42 42 42 49 49 49 51 51 51 50 50 50 46 46 46 34 34 34 20 20 20 17 17 17
++42 42 42 45 45 45 49 49 49 46 46 46 40 40 40 37 37 37 39 39 39 42 42 42
++44 44 44 40 40 40 36 36 36 33 33 33 37 37 37 43 43 43 43 43 43 39 39 39
++32 32 32 34 34 34 37 37 37 39 39 39 39 39 39 37 37 37 33 33 33 31 31 31
++34 34 34 39 39 39 40 40 40 37 37 37 29 29 29 25 25 25 29 29 29 34 34 34
++32 32 32 32 32 32 31 31 31 31 31 31 31 31 31 31 31 31 29 29 29 29 29 29
++28 28 28 25 25 25 25 25 25 24 24 24 16 16 16 0 0 0 0 0 0 0 0 0
++24 24 24 24 24 24 29 29 29 37 37 37 39 39 39 36 36 36 33 33 33 36 36 36
++37 37 37 36 36 36 32 32 32 34 34 34 36 36 36 23 23 23 8 8 8 8 8 8
++8 8 8 10 10 10 13 13 13 14 14 14 17 17 17 25 25 25 21 21 21 6 6 6
++13 13 13 13 13 13 14 14 14 14 14 14 13 13 13 11 11 11 16 16 16 20 20 20
++24 24 24 21 21 21 8 8 8 0 0 0 14 14 14 27 27 27 29 29 29 31 31 31
++21 21 21 28 28 28 34 34 34 38 38 38 37 37 37 27 27 27 11 11 11 0 0 0
++0 0 0 13 13 13 24 24 24 28 28 28 31 31 31 36 36 36 38 38 38 37 37 37
++32 32 32 25 25 25 24 24 24 39 39 39 43 43 43 24 24 24 13 13 13 10 10 10
++8 8 8 11 11 11 14 14 14 16 16 16 14 14 14 11 11 11 10 10 10 8 8 8
++17 17 17 32 32 32 24 24 24 19 19 19 27 27 27 36 36 36 38 38 38 27 27 27
++3 3 3 24 24 24 29 29 29 23 23 23 13 13 13 3 3 3 4 4 4 19 19 19
++40 40 40 29 29 29 23 23 23 14 14 14 0 0 0 10 10 10 28 28 28 29 29 29
++
++0 0 0 0 0 0 6 6 6 32 32 32 27 27 27 0 0 0 0 0 0 10 10 10
++29 29 29 23 23 23 10 10 10 0 0 0 0 0 0 8 8 8 6 6 6 0 0 0
++6 6 6 27 27 27 28 28 28 8 8 8 0 0 0 13 13 13 14 14 14 0 0 0
++0 0 0 11 11 11 21 21 21 16 16 16 3 3 3 0 0 0 0 0 0 4 4 4
++3 3 3 6 6 6 16 16 16 24 24 24 19 19 19 4 4 4 0 0 0 3 3 3
++3 3 3 0 0 0 0 0 0 10 10 10 17 17 17 13 13 13 3 3 3 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 11 11 11 21 21 21 16 16 16 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 14 14 14 20 20 20 20 20 20
++0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0
++11 11 11 14 14 14 13 13 13 6 6 6 0 0 0 3 3 3 0 0 0 0 0 0
++0 0 0 16 16 16 20 20 20 6 6 6 0 0 0 6 6 6 6 6 6 0 0 0
++0 0 0 6 6 6 19 19 19 23 23 23 14 14 14 3 3 3 0 0 0 4 4 4
++0 0 0 0 0 0 10 10 10 20 20 20 20 20 20 8 8 8 0 0 0 0 0 0
++3 3 3 0 0 0 11 11 11 31 31 31 42 42 42 42 42 42 37 37 37 34 34 34
++38 38 38 34 34 34 32 32 32 33 33 33 40 40 40 40 40 40 25 25 25 6 6 6
++0 0 0 8 8 8 8 8 8 3 3 3 10 10 10 25 25 25 32 32 32 28 28 28
++6 6 6 13 13 13 24 24 24 36 36 36 29 29 29 13 13 13 10 10 10 17 17 17
++33 33 33 31 31 31 19 19 19 10 10 10 21 21 21 39 39 39 37 37 37 20 20 20
++14 14 14 21 21 21 33 33 33 38 38 38 29 29 29 17 17 17 23 23 23 37 37 37
++39 39 39 32 32 32 24 24 24 23 23 23 33 33 33 42 42 42 38 38 38 29 29 29
++27 27 27 29 29 29 33 33 33 34 34 34 34 34 34 34 34 34 36 36 36 37 37 37
++39 39 39 39 39 39 44 44 44 52 52 52 56 56 56 50 50 50 42 42 42 37 37 37
++44 44 44 44 44 44 48 48 48 58 58 58 67 67 67 62 62 62 51 51 51 43 43 43
++53 53 53 50 50 50 51 51 51 61 61 61 71 71 71 69 69 69 57 57 57 49 49 49
++59 59 59 54 54 54 56 56 56 68 68 68 76 76 76 74 74 74 68 68 68 63 63 63
++82 82 82 82 82 82 82 82 82 84 84 84 88 88 88 87 87 87 75 75 75 61 61 61
++66 66 66 77 77 77 80 80 80 78 78 78 85 85 85 85 85 85 77 77 77 74 74 74
++84 84 84 65 65 65 67 67 67 82 82 82 85 85 85 90 90 90 88 88 88 71 71 71
++73 73 73 74 74 74 77 77 77 80 80 80 87 87 87 93 93 93 85 85 85 71 71 71
++71 71 71 87 87 87 87 87 87 76 76 76 83 83 83 93 93 93 87 87 87 73 73 73
++90 90 90 84 84 84 73 73 73 71 71 71 81 81 81 89 89 89 83 83 83 70 70 70
++82 82 82 85 85 85 81 81 81 74 74 74 82 82 82 94 94 94 92 92 92 77 77 77
++69 69 69 70 70 70 66 66 66 67 67 67 76 76 76 81 81 81 76 76 76 72 72 72
++83 83 83 85 85 85 84 84 84 80 80 80 82 82 82 87 87 87 80 80 80 66 66 66
++65 65 65 63 63 63 63 63 63 65 65 65 69 69 69 71 71 71 68 68 68 61 61 61
++60 60 60 60 60 60 67 67 67 75 75 75 77 77 77 73 73 73 73 73 73 76 76 76
++74 74 74 74 74 74 73 73 73 73 73 73 73 73 73 70 70 70 67 67 67 63 63 63
++48 48 48 57 57 57 54 54 54 54 54 54 66 66 66 65 65 65 50 50 50 43 43 43
++40 40 40 46 46 46 49 49 49 43 43 43 40 40 40 43 43 43 46 46 46 46 46 46
++52 52 52 39 39 39 29 29 29 32 32 32 37 37 37 37 37 37 36 36 36 36 36 36
++32 32 32 44 44 44 45 45 45 34 34 34 31 31 31 38 38 38 40 40 40 38 38 38
++42 42 42 53 53 53 56 56 56 49 49 49 45 45 45 48 48 48 46 46 46 42 42 42
++39 39 39 44 44 44 48 48 48 46 46 46 42 42 42 37 37 37 37 37 37 38 38 38
++43 43 43 43 43 43 39 39 39 32 32 32 32 32 32 38 38 38 42 42 42 39 39 39
++34 34 34 33 33 33 33 33 33 36 36 36 38 38 38 38 38 38 36 36 36 32 32 32
++32 32 32 37 37 37 39 39 39 38 38 38 33 33 33 28 28 28 29 29 29 32 32 32
++31 31 31 31 31 31 31 31 31 31 31 31 29 29 29 28 28 28 28 28 28 27 27 27
++23 23 23 25 25 25 23 23 23 14 14 14 4 4 4 6 6 6 19 19 19 28 28 28
++29 29 29 16 16 16 8 8 8 16 16 16 24 24 24 24 24 24 21 21 21 21 21 21
++21 21 21 31 31 31 34 34 34 32 32 32 28 28 28 16 16 16 6 6 6 11 11 11
++13 13 13 6 6 6 10 10 10 21 21 21 24 24 24 17 17 17 10 10 10 8 8 8
++6 6 6 21 21 21 29 29 29 20 20 20 8 8 8 10 10 10 20 20 20 28 28 28
++19 19 19 14 14 14 6 6 6 3 3 3 11 11 11 20 20 20 19 19 19 14 14 14
++17 17 17 19 19 19 24 24 24 27 27 27 24 24 24 23 23 23 23 23 23 20 20 20
++13 13 13 19 19 19 20 20 20 17 17 17 19 19 19 27 27 27 28 28 28 25 25 25
++21 21 21 16 16 16 8 8 8 17 17 17 28 28 28 20 20 20 10 10 10 6 6 6
++8 8 8 11 11 11 16 16 16 16 16 16 13 13 13 10 10 10 8 8 8 8 8 8
++13 13 13 29 29 29 19 19 19 11 11 11 19 19 19 21 21 21 24 24 24 19 19 19
++16 16 16 14 14 14 17 17 17 20 20 20 19 19 19 17 17 17 19 19 19 20 20 20
++25 25 25 17 17 17 19 19 19 20 20 20 10 10 10 11 11 11 23 23 23 28 28 28
++
++13 13 13 0 0 0 0 0 0 19 19 19 32 32 32 19 19 19 8 8 8 0 0 0
++14 14 14 25 25 25 23 23 23 6 6 6 0 0 0 6 6 6 8 8 8 0 0 0
++0 0 0 13 13 13 25 25 25 24 24 24 16 16 16 10 10 10 4 4 4 0 0 0
++0 0 0 3 3 3 13 13 13 21 21 21 21 21 21 11 11 11 3 3 3 0 0 0
++6 6 6 0 0 0 3 3 3 16 16 16 21 21 21 16 16 16 6 6 6 3 3 3
++4 4 4 0 0 0 0 0 0 0 0 0 10 10 10 17 17 17 14 14 14 6 6 6
++0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 11 11 11 17 17 17 14 14 14
++0 0 0 0 0 0 3 3 3 4 4 4 0 0 0 0 0 0 11 11 11 24 24 24
++16 16 16 6 6 6 0 0 0 6 6 6 4 4 4 0 0 0 0 0 0 11 11 11
++19 19 19 8 8 8 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0
++11 11 11 19 19 19 14 14 14 0 0 0 0 0 0 6 6 6 6 6 6 0 0 0
++3 3 3 16 16 16 21 21 21 14 14 14 3 3 3 0 0 0 0 0 0 4 4 4
++0 0 0 6 6 6 19 19 19 23 23 23 11 11 11 0 0 0 0 0 0 8 8 8
++0 0 0 6 6 6 23 23 23 37 37 37 42 42 42 36 36 36 33 33 33 34 34 34
++36 36 36 33 33 33 33 33 33 38 38 38 37 37 37 25 25 25 10 10 10 0 0 0
++4 4 4 8 8 8 8 8 8 10 10 10 21 21 21 31 31 31 25 25 25 10 10 10
++3 3 3 24 24 24 38 38 38 28 28 28 11 11 11 8 8 8 19 19 19 29 29 29
++29 29 29 14 14 14 6 6 6 20 20 20 36 36 36 38 38 38 24 24 24 8 8 8
++20 20 20 34 34 34 39 39 39 27 27 27 16 16 16 20 20 20 32 32 32 38 38 38
++31 31 31 24 24 24 24 24 24 32 32 32 38 38 38 37 37 37 31 31 31 27 27 27
++28 28 28 31 31 31 33 33 33 33 33 33 32 32 32 32 32 32 34 34 34 37 37 37
++38 38 38 37 37 37 36 36 36 42 42 42 51 51 51 56 56 56 49 49 49 39 39 39
++45 45 45 39 39 39 37 37 37 45 45 45 59 59 59 66 66 66 57 57 57 42 42 42
++51 51 51 45 45 45 44 44 44 50 50 50 62 62 62 70 70 70 65 65 65 53 53 53
++53 53 53 53 53 53 51 51 51 53 53 53 66 66 66 77 77 77 73 73 73 61 61 61
++75 75 75 78 78 78 81 81 81 80 80 80 82 82 82 84 84 84 78 78 78 69 69 69
++63 63 63 67 67 67 73 73 73 73 73 73 74 74 74 85 85 85 87 87 87 72 72 72
++85 85 85 73 73 73 62 62 62 65 65 65 75 75 75 83 83 83 77 77 77 68 68 68
++73 73 73 71 71 71 77 77 77 80 80 80 76 76 76 87 87 87 93 93 93 78 78 78
++63 63 63 76 76 76 84 84 84 76 76 76 72 72 72 87 87 87 90 90 90 77 77 77
++75 75 75 83 83 83 78 78 78 65 65 65 66 66 66 82 82 82 87 87 87 81 81 81
++65 65 65 77 77 77 81 81 81 72 72 72 73 73 73 85 85 85 90 90 90 87 87 87
++69 69 69 61 61 61 61 61 61 63 63 63 65 65 65 69 69 69 75 75 75 77 77 77
++58 58 58 63 63 63 68 68 68 71 71 71 77 77 77 83 83 83 82 82 82 78 78 78
++71 71 71 73 73 73 74 74 74 75 75 75 81 81 81 81 81 81 71 71 71 60 60 60
++60 60 60 58 58 58 61 61 61 70 70 70 73 73 73 72 72 72 72 72 72 75 75 75
++72 72 72 71 71 71 71 71 71 71 71 71 70 70 70 68 68 68 65 65 65 61 61 61
++54 54 54 63 63 63 62 62 62 60 60 60 59 59 59 46 46 46 34 34 34 40 40 40
++43 43 43 46 46 46 46 46 46 40 40 40 38 38 38 44 44 44 49 49 49 49 49 49
++42 42 42 29 29 29 23 23 23 29 29 29 37 37 37 38 38 38 36 36 36 34 34 34
++32 32 32 40 40 40 43 43 43 34 34 34 31 31 31 37 37 37 36 36 36 28 28 28
++32 32 32 45 45 45 49 49 49 37 37 37 29 29 29 37 37 37 44 44 44 40 40 40
++39 39 39 40 40 40 42 42 42 43 43 43 43 43 43 40 40 40 38 38 38 36 36 36
++37 37 37 43 43 43 44 44 44 36 36 36 31 31 31 33 33 33 37 37 37 37 37 37
++39 39 39 36 36 36 32 32 32 32 32 32 34 34 34 37 37 37 37 37 37 37 37 37
++31 31 31 32 32 32 34 34 34 37 37 37 37 37 37 36 36 36 32 32 32 29 29 29
++31 31 31 31 31 31 31 31 31 29 29 29 28 28 28 27 27 27 24 24 24 24 24 24
++16 16 16 23 23 23 21 21 21 14 14 14 16 16 16 27 27 27 32 32 32 28 28 28
++25 25 25 17 17 17 13 13 13 17 17 17 20 20 20 19 19 19 17 17 17 17 17 17
++31 31 31 33 33 33 24 24 24 16 16 16 17 17 17 13 13 13 6 6 6 6 6 6
++11 11 11 14 14 14 23 23 23 27 27 27 21 21 21 6 6 6 3 3 3 11 11 11
++10 10 10 23 23 23 24 24 24 13 13 13 11 11 11 21 21 21 21 21 21 10 10 10
++10 10 10 10 10 10 10 10 10 8 8 8 11 11 11 17 17 17 20 20 20 16 16 16
++34 34 34 31 31 31 27 27 27 21 21 21 14 14 14 17 17 17 25 25 25 29 29 29
++23 23 23 24 24 24 24 24 24 21 21 21 24 24 24 28 28 28 24 24 24 16 16 16
++29 29 29 31 31 31 20 20 20 11 11 11 23 23 23 25 25 25 13 13 13 4 4 4
++11 11 11 13 13 13 14 14 14 13 13 13 10 10 10 8 8 8 8 8 8 11 11 11
++0 0 0 24 24 24 21 21 21 19 19 19 23 23 23 20 20 20 27 27 27 29 29 29
++17 17 17 11 11 11 17 17 17 27 27 27 29 29 29 29 29 29 23 23 23 13 13 13
++19 19 19 13 13 13 19 19 19 29 29 29 27 27 27 20 20 20 16 16 16 13 13 13
++
++27 27 27 10 10 10 16 16 16 0 0 0 6 6 6 37 37 37 14 14 14 6 6 6
++0 0 0 11 11 11 23 23 23 23 23 23 8 8 8 0 0 0 0 0 0 3 3 3
++3 3 3 0 0 0 8 8 8 29 29 29 31 31 31 10 10 10 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 13 13 13 25 25 25 20 20 20 4 4 4 0 0 0
++3 3 3 4 4 4 0 0 0 0 0 0 11 11 11 21 21 21 17 17 17 4 4 4
++0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 11 11 11 19 19 19 21 21 21
++0 0 0 0 0 0 0 0 0 6 6 6 0 0 0 0 0 0 4 4 4 19 19 19
++13 13 13 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 11 11 11
++24 24 24 13 13 13 3 3 3 0 0 0 0 0 0 0 0 0 8 8 8 19 19 19
++13 13 13 3 3 3 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 11 11 11
++24 24 24 13 13 13 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 4 4 4
++20 20 20 20 20 20 13 13 13 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 16 16 16 19 19 19 10 10 10 0 0 0 0 0 0 3 3 3 0 0 0
++3 3 3 17 17 17 32 32 32 39 39 39 37 37 37 31 31 31 31 31 31 34 34 34
++31 31 31 33 33 33 39 39 39 39 39 39 25 25 25 4 4 4 0 0 0 6 6 6
++10 10 10 0 0 0 6 6 6 23 23 23 31 31 31 21 21 21 6 6 6 0 0 0
++24 24 24 28 28 28 28 28 28 8 8 8 3 3 3 23 23 23 28 28 28 28 28 28
++13 13 13 10 10 10 19 19 19 33 33 33 32 32 32 19 19 19 13 13 13 19 19 19
++34 34 34 36 36 36 25 25 25 11 11 11 19 19 19 36 36 36 37 37 37 25 25 25
++20 20 20 23 23 23 32 32 32 39 39 39 36 36 36 25 25 25 24 24 24 31 31 31
++29 29 29 31 31 31 32 32 32 31 31 31 29 29 29 29 29 29 32 32 32 34 34 34
++31 31 31 33 33 33 33 33 33 34 34 34 42 42 42 50 50 50 52 52 52 50 50 50
++39 39 39 38 38 38 40 40 40 40 40 40 44 44 44 53 53 53 58 58 58 53 53 53
++43 43 43 44 44 44 48 48 48 46 46 46 46 46 46 57 57 57 67 67 67 67 67 67
++48 48 48 50 50 50 52 52 52 51 51 51 54 54 54 61 61 61 69 69 69 73 73 73
++68 68 68 73 73 73 75 75 75 74 74 74 75 75 75 80 80 80 81 81 81 78 78 78
++62 62 62 57 57 57 69 69 69 77 77 77 66 66 66 67 67 67 81 81 81 84 84 84
++81 81 81 82 82 82 67 67 67 56 56 56 65 65 65 70 70 70 66 66 66 68 68 68
++72 72 72 67 67 67 72 72 72 81 81 81 69 69 69 66 66 66 83 83 83 87 87 87
++74 74 74 63 63 63 71 71 71 81 81 81 73 73 73 70 70 70 80 80 80 85 85 85
++71 71 71 78 78 78 80 80 80 71 71 71 63 63 63 67 67 67 75 75 75 81 81 81
++71 71 71 65 65 65 69 69 69 83 83 83 84 84 84 75 75 75 74 74 74 84 84 84
++82 82 82 72 72 72 69 69 69 66 66 66 58 58 58 58 58 58 68 68 68 73 73 73
++71 71 71 62 62 62 54 54 54 56 56 56 58 58 58 54 54 54 60 60 60 74 74 74
++78 78 78 80 80 80 73 73 73 67 67 67 72 72 72 75 75 75 70 70 70 63 63 63
++60 60 60 58 58 58 57 57 57 61 61 61 67 67 67 69 69 69 70 70 70 72 72 72
++67 67 67 67 67 67 66 66 66 67 67 67 68 68 68 67 67 67 65 65 65 62 62 62
++72 72 72 59 59 59 62 62 62 70 70 70 65 65 65 62 62 62 68 68 68 68 68 68
++50 50 50 45 45 45 39 39 39 37 37 37 42 42 42 48 48 48 46 46 46 42 42 42
++34 34 34 32 32 32 34 34 34 43 43 43 49 49 49 46 46 46 38 38 38 31 31 31
++34 34 34 33 33 33 40 40 40 48 48 48 44 44 44 38 38 38 33 33 33 27 27 27
++28 28 28 39 39 39 45 45 45 38 38 38 31 31 31 38 38 38 46 46 46 43 43 43
++39 39 39 38 38 38 37 37 37 38 38 38 42 42 42 42 42 42 39 39 39 36 36 36
++32 32 32 39 39 39 44 44 44 39 39 39 33 33 33 31 31 31 32 32 32 34 34 34
++39 39 39 37 37 37 33 33 33 31 31 31 31 31 31 33 33 33 37 37 37 39 39 39
++32 32 32 31 31 31 29 29 29 33 33 33 38 38 38 38 38 38 33 33 33 28 28 28
++29 29 29 29 29 29 29 29 29 29 29 29 28 28 28 25 25 25 21 21 21 20 20 20
++23 23 23 21 21 21 13 13 13 10 10 10 21 21 21 33 33 33 25 25 25 8 8 8
++13 13 13 17 17 17 20 20 20 17 17 17 13 13 13 13 13 13 21 21 21 29 29 29
++23 23 23 33 33 33 31 31 31 19 19 19 13 13 13 10 10 10 6 6 6 11 11 11
++8 8 8 27 27 27 32 32 32 21 21 21 11 11 11 6 6 6 4 4 4 8 8 8
++13 13 13 24 24 24 25 25 25 17 17 17 19 19 19 27 27 27 21 21 21 3 3 3
++8 8 8 8 8 8 11 11 11 11 11 11 13 13 13 24 24 24 32 32 32 31 31 31
++24 24 24 28 28 28 29 29 29 29 29 29 31 31 31 31 31 31 31 31 31 34 34 34
++36 36 36 32 32 32 31 31 31 34 34 34 37 37 37 32 32 32 19 19 19 4 4 4
++27 27 27 37 37 37 34 34 34 20 20 20 31 31 31 37 37 37 19 19 19 10 10 10
++13 13 13 13 13 13 11 11 11 8 8 8 6 6 6 8 8 8 10 10 10 13 13 13
++14 14 14 34 34 34 37 37 37 34 34 34 27 27 27 17 17 17 25 25 25 29 29 29
++27 27 27 29 29 29 33 33 33 36 36 36 34 34 34 32 32 32 27 27 27 20 20 20
++11 11 11 4 4 4 10 10 10 23 23 23 27 27 27 21 21 21 11 11 11 0 0 0
++
++8 8 8 32 32 32 8 8 8 0 0 0 0 0 0 6 6 6 34 34 34 16 16 16
++0 0 0 0 0 0 10 10 10 23 23 23 21 21 21 3 3 3 0 0 0 3 3 3
++8 8 8 0 0 0 0 0 0 16 16 16 27 27 27 21 21 21 8 8 8 0 0 0
++4 4 4 0 0 0 0 0 0 8 8 8 19 19 19 21 21 21 17 17 17 13 13 13
++0 0 0 8 8 8 8 8 8 0 0 0 0 0 0 10 10 10 16 16 16 16 16 16
++4 4 4 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 11 11 11 21 21 21
++13 13 13 4 4 4 3 3 3 6 6 6 3 3 3 0 0 0 0 0 0 10 10 10
++17 17 17 11 11 11 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 14 14 14 10 10 10 0 0 0 0 0 0 10 10 10 14 14 14 14 14 14
++3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 3 3 3 13 13 13 21 21 21
++19 19 19 3 3 3 0 0 0 6 6 6 4 4 4 0 0 0 0 0 0 17 17 17
++21 21 21 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++16 16 16 17 17 17 10 10 10 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0
++14 14 14 27 27 27 37 37 37 37 37 37 32 32 32 29 29 29 32 32 32 34 34 34
++31 31 31 36 36 36 37 37 37 29 29 29 13 13 13 0 0 0 0 0 0 8 8 8
++8 8 8 4 4 4 16 16 16 28 28 28 25 25 25 8 8 8 3 3 3 14 14 14
++32 32 32 19 19 19 13 13 13 3 3 3 14 14 14 29 29 29 23 23 23 17 17 17
++8 8 8 19 19 19 29 29 29 31 31 31 19 19 19 8 8 8 17 17 17 32 32 32
++33 33 33 23 23 23 13 13 13 16 16 16 29 29 29 37 37 37 31 31 31 17 17 17
++23 23 23 28 28 28 34 34 34 33 33 33 27 27 27 21 21 21 23 23 23 28 28 28
++27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 29 29 29 31 31 31 32 32 32
++28 28 28 29 29 29 32 32 32 34 34 34 34 34 34 37 37 37 45 45 45 53 53 53
++44 44 44 39 39 39 40 40 40 42 42 42 36 36 36 39 39 39 51 51 51 56 56 56
++49 49 49 44 44 44 45 45 45 45 45 45 39 39 39 44 44 44 58 58 58 63 63 63
++53 53 53 50 50 50 49 49 49 50 50 50 49 49 49 49 49 49 58 58 58 70 70 70
++67 67 67 69 69 69 70 70 70 70 70 70 71 71 71 74 74 74 77 77 77 77 77 77
++71 71 71 57 57 57 62 62 62 74 74 74 66 66 66 56 56 56 66 66 66 78 78 78
++77 77 77 81 81 81 68 68 68 56 56 56 60 60 60 61 61 61 59 59 59 66 66 66
++72 72 72 72 72 72 68 68 68 75 75 75 70 70 70 57 57 57 67 67 67 77 77 77
++83 83 83 67 67 67 61 61 61 71 71 71 72 72 72 66 66 66 67 67 67 75 75 75
++76 76 76 76 76 76 75 75 75 72 72 72 65 65 65 59 59 59 61 61 61 68 68 68
++84 84 84 67 67 67 63 63 63 80 80 80 84 84 84 69 69 69 57 57 57 59 59 59
++82 82 82 84 84 84 76 76 76 67 67 67 62 62 62 59 59 59 57 57 57 58 58 58
++71 71 71 66 66 66 56 56 56 53 53 53 60 60 60 65 65 65 69 69 69 80 80 80
++70 70 70 72 72 72 61 61 61 51 51 51 59 59 59 68 68 68 68 68 68 67 67 67
++60 60 60 57 57 57 52 52 52 51 51 51 57 57 57 65 65 65 67 67 67 67 67 67
++65 65 65 63 63 63 62 62 62 62 62 62 63 63 63 63 63 63 61 61 61 60 60 60
++63 63 63 43 43 43 38 38 38 43 43 43 38 38 38 37 37 37 39 39 39 33 33 33
++45 45 45 39 39 39 36 36 36 39 39 39 45 45 45 45 45 45 39 39 39 34 34 34
++36 36 36 42 42 42 49 49 49 54 54 54 56 56 56 52 52 52 39 39 39 28 28 28
++25 25 25 23 23 23 32 32 32 43 43 43 42 42 42 38 38 38 33 33 33 25 25 25
++17 17 17 19 19 19 25 25 25 27 27 27 25 25 25 33 33 33 40 40 40 37 37 37
++40 40 40 38 38 38 36 36 36 36 36 36 38 38 38 39 39 39 39 39 39 38 38 38
++31 31 31 32 32 32 37 37 37 39 39 39 38 38 38 33 33 33 31 31 31 32 32 32
++34 34 34 36 36 36 36 36 36 33 33 33 29 29 29 29 29 29 32 32 32 36 36 36
++36 36 36 33 33 33 29 29 29 31 31 31 33 33 33 36 36 36 33 33 33 31 31 31
++29 29 29 29 29 29 29 29 29 29 29 29 27 27 27 23 23 23 20 20 20 17 17 17
++25 25 25 14 14 14 6 6 6 10 10 10 20 20 20 20 20 20 11 11 11 0 0 0
++0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 4 4 4 20 20 20 25 25 25
++8 8 8 31 31 31 37 37 37 23 23 23 11 11 11 6 6 6 10 10 10 16 16 16
++17 17 17 28 28 28 24 24 24 10 10 10 8 8 8 8 8 8 6 6 6 10 10 10
++3 3 3 13 13 13 20 20 20 19 19 19 14 14 14 11 11 11 8 8 8 4 4 4
++10 10 10 6 6 6 8 8 8 10 10 10 11 11 11 24 24 24 32 32 32 25 25 25
++33 33 33 34 34 34 23 23 23 11 11 11 13 13 13 8 8 8 4 4 4 16 16 16
++36 36 36 24 24 24 19 19 19 27 27 27 32 32 32 24 24 24 11 11 11 3 3 3
++19 19 19 33 33 33 38 38 38 28 28 28 37 37 37 39 39 39 19 19 19 17 17 17
++13 13 13 10 10 10 8 8 8 6 6 6 8 8 8 10 10 10 11 11 11 13 13 13
++16 16 16 28 28 28 33 33 33 33 33 33 17 17 17 0 0 0 11 11 11 11 11 11
++32 32 32 39 39 39 38 38 38 29 29 29 27 27 27 27 27 27 25 25 25 24 24 24
++3 3 3 0 0 0 0 0 0 10 10 10 19 19 19 17 17 17 11 11 11 3 3 3
++
++0 0 0 6 6 6 25 25 25 13 13 13 0 0 0 3 3 3 8 8 8 28 28 28
++21 21 21 0 0 0 0 0 0 11 11 11 27 27 27 24 24 24 10 10 10 0 0 0
++0 0 0 6 6 6 0 0 0 0 0 0 11 11 11 33 33 33 28 28 28 3 3 3
++0 0 0 6 6 6 11 11 11 3 3 3 0 0 0 8 8 8 21 21 21 28 28 28
++0 0 0 4 4 4 11 11 11 10 10 10 0 0 0 0 0 0 6 6 6 28 28 28
++17 17 17 3 3 3 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 10 10 10
++23 23 23 19 19 19 6 6 6 0 0 0 0 0 0 6 6 6 6 6 6 0 0 0
++10 10 10 16 16 16 14 14 14 3 3 3 0 0 0 3 3 3 4 4 4 0 0 0
++0 0 0 11 11 11 16 16 16 4 4 4 6 6 6 20 20 20 17 17 17 0 0 0
++0 0 0 4 4 4 4 4 4 0 0 0 0 0 0 13 13 13 21 21 21 23 23 23
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 14 14 14 25 25 25
++13 13 13 0 0 0 0 0 0 4 4 4 4 4 4 0 0 0 4 4 4 19 19 19
++27 27 27 11 11 11 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 3 3 3
++24 24 24 33 33 33 38 38 38 34 34 34 29 29 29 32 32 32 34 34 34 33 33 33
++34 34 34 36 36 36 29 29 29 16 16 16 6 6 6 6 6 6 8 8 8 4 4 4
++4 4 4 19 19 19 29 29 29 25 25 25 10 10 10 0 0 0 16 16 16 33 33 33
++25 25 25 4 4 4 8 8 8 16 16 16 25 25 25 27 27 27 10 10 10 10 10 10
++17 17 17 28 28 28 31 31 31 17 17 17 6 6 6 13 13 13 28 28 28 36 36 36
++20 20 20 10 10 10 13 13 13 29 29 29 36 36 36 25 25 25 19 19 19 20 20 20
++33 33 33 34 34 34 29 29 29 21 21 21 20 20 20 25 25 25 25 25 25 21 21 21
++23 23 23 24 24 24 25 25 25 27 27 27 28 28 28 29 29 29 29 29 29 29 29 29
++34 34 34 28 28 28 29 29 29 36 36 36 34 34 34 28 28 28 34 34 34 48 48 48
++59 59 59 40 40 40 36 36 36 40 40 40 38 38 38 36 36 36 43 43 43 46 46 46
++66 66 66 44 44 44 36 36 36 42 42 42 42 42 42 42 42 42 46 46 46 49 49 49
++66 66 66 53 53 53 43 43 43 43 43 43 48 48 48 50 50 50 50 50 50 50 50 50
++71 71 71 69 69 69 68 68 68 68 68 68 69 69 69 70 70 70 70 70 70 71 71 71
++83 83 83 63 63 63 54 54 54 65 65 65 69 69 69 59 59 59 52 52 52 59 59 59
++78 78 78 74 74 74 63 63 63 58 58 58 61 61 61 60 60 60 57 57 57 60 60 60
++73 73 73 83 83 83 67 67 67 66 66 66 75 75 75 62 62 62 57 57 57 61 61 61
++82 82 82 78 78 78 62 62 62 53 53 53 68 68 68 74 74 74 65 65 65 56 56 56
++77 77 77 73 73 73 68 68 68 65 65 65 65 65 65 63 63 63 61 61 61 60 60 60
++61 61 61 63 63 63 63 63 63 66 66 66 70 70 70 72 72 72 67 67 67 58 58 58
++59 59 59 77 77 77 73 73 73 65 65 65 73 73 73 71 71 71 57 57 57 54 54 54
++54 54 54 69 69 69 68 68 68 59 59 59 67 67 67 73 73 73 61 61 61 46 46 46
++52 52 52 60 60 60 57 57 57 53 53 53 63 63 63 71 71 71 69 69 69 66 66 66
++59 59 59 56 56 56 49 49 49 44 44 44 50 50 50 60 60 60 65 65 65 62 62 62
++67 67 67 65 65 65 61 61 61 60 60 60 60 60 60 59 59 59 57 57 57 56 56 56
++39 39 39 43 43 43 37 37 37 34 34 34 39 39 39 34 34 34 32 32 32 43 43 43
++33 33 33 32 32 32 37 37 37 44 44 44 46 46 46 39 39 39 34 34 34 33 33 33
++31 31 31 40 40 40 49 49 49 51 51 51 52 52 52 50 50 50 40 40 40 29 29 29
++29 29 29 33 33 33 38 38 38 38 38 38 37 37 37 45 45 45 44 44 44 27 27 27
++29 29 29 19 19 19 19 19 19 24 24 24 27 27 27 34 34 34 40 40 40 37 37 37
++40 40 40 39 39 39 38 38 38 36 36 36 34 34 34 34 34 34 38 38 38 40 40 40
++31 31 31 27 27 27 29 29 29 38 38 38 42 42 42 37 37 37 31 31 31 29 29 29
++28 28 28 34 34 34 38 38 38 36 36 36 29 29 29 27 27 27 28 28 28 32 32 32
++39 39 39 36 36 36 31 31 31 28 28 28 28 28 28 31 31 31 33 33 33 34 34 34
++28 28 28 29 29 29 29 29 29 28 28 28 27 27 27 23 23 23 19 19 19 16 16 16
++13 13 13 4 4 4 8 8 8 21 21 21 23 23 23 6 6 6 0 0 0 0 0 0
++0 0 0 4 4 4 0 0 0 0 0 0 4 4 4 23 23 23 27 27 27 20 20 20
++24 24 24 34 34 34 28 28 28 10 10 10 6 6 6 10 10 10 10 10 10 10 10 10
++31 31 31 23 23 23 6 6 6 3 3 3 11 11 11 6 6 6 3 3 3 16 16 16
++6 6 6 4 4 4 11 11 11 20 20 20 19 19 19 8 8 8 3 3 3 6 6 6
++11 11 11 3 3 3 4 4 4 6 6 6 8 8 8 16 16 16 17 17 17 0 0 0
++23 23 23 27 27 27 8 8 8 0 0 0 6 6 6 8 8 8 10 10 10 25 25 25
++36 36 36 17 17 17 4 4 4 19 19 19 31 31 31 29 29 29 27 27 27 28 28 28
++25 25 25 37 37 37 43 43 43 34 34 34 40 40 40 37 37 37 13 13 13 20 20 20
++11 11 11 8 8 8 6 6 6 6 6 6 10 10 10 13 13 13 13 13 13 11 11 11
++3 3 3 11 11 11 21 21 21 29 29 29 16 16 16 8 8 8 23 23 23 20 20 20
++20 20 20 32 32 32 27 27 27 14 14 14 16 16 16 17 17 17 13 13 13 10 10 10
++13 13 13 11 11 11 8 8 8 10 10 10 16 16 16 17 17 17 13 13 13 8 8 8
++
++0 0 0 0 0 0 11 11 11 24 24 24 19 19 19 0 0 0 0 0 0 8 8 8
++24 24 24 19 19 19 0 0 0 0 0 0 6 6 6 25 25 25 24 24 24 6 6 6
++0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 8 8 8 20 20 20 31 31 31
++0 0 0 0 0 0 3 3 3 6 6 6 3 3 3 0 0 0 10 10 10 23 23 23
++27 27 27 11 11 11 3 3 3 8 8 8 4 4 4 0 0 0 0 0 0 11 11 11
++25 25 25 14 14 14 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6
++10 10 10 20 20 20 20 20 20 4 4 4 0 0 0 3 3 3 3 3 3 0 0 0
++0 0 0 10 10 10 17 17 17 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0
++10 10 10 0 0 0 0 0 0 25 25 25 29 29 29 6 6 6 0 0 0 4 4 4
++4 4 4 0 0 0 0 0 0 0 0 0 16 16 16 21 21 21 13 13 13 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 19 19 19 20 20 20 10 10 10
++3 3 3 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 14 14 14 29 29 29
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 11 11 24 24 24
++34 34 34 31 31 31 29 29 29 32 32 32 32 32 32 31 31 31 33 33 33 38 38 38
++39 39 39 32 32 32 20 20 20 6 6 6 3 3 3 4 4 4 4 4 4 0 0 0
++17 17 17 28 28 28 24 24 24 6 6 6 3 3 3 20 20 20 27 27 27 20 20 20
++10 10 10 4 4 4 11 11 11 24 24 24 24 24 24 11 11 11 8 8 8 16 16 16
++31 31 31 27 27 27 17 17 17 10 10 10 17 17 17 27 27 27 27 27 27 19 19 19
++6 6 6 17 17 17 31 31 31 36 36 36 27 27 27 14 14 14 17 17 17 28 28 28
++32 32 32 28 28 28 24 24 24 21 21 21 21 21 21 21 21 21 21 21 21 20 20 20
++23 23 23 24 24 24 24 24 24 24 24 24 25 25 25 27 27 27 27 27 27 27 27 27
++28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 31 31 31 31 31 31 32 32 32
++40 40 40 45 45 45 43 43 43 34 34 34 31 31 31 34 34 34 37 37 37 37 37 37
++46 46 46 54 54 54 53 53 53 40 40 40 36 36 36 42 42 42 44 44 44 40 40 40
++51 51 51 60 60 60 59 59 59 46 46 46 38 38 38 43 43 43 45 45 45 43 43 43
++52 52 52 65 65 65 73 73 73 71 71 71 67 67 67 68 68 68 68 68 68 67 67 67
++69 69 69 63 63 63 71 71 71 63 63 63 57 57 57 63 63 63 56 56 56 49 49 49
++58 58 58 67 67 67 73 73 73 61 61 61 54 54 54 57 57 57 52 52 52 54 54 54
++52 52 52 72 72 72 76 76 76 67 67 67 66 66 66 63 63 63 57 57 57 54 54 54
++54 54 54 63 63 63 76 76 76 69 69 69 52 52 52 60 60 60 70 70 70 61 61 61
++58 58 58 58 58 58 59 59 59 60 60 60 61 61 61 60 60 60 56 56 56 52 52 52
++68 68 68 63 63 63 59 59 59 56 56 56 53 53 53 54 54 54 59 59 59 63 63 63
++51 51 51 58 58 58 68 68 68 63 63 63 52 52 52 59 59 59 70 70 70 69 69 69
++60 60 60 58 58 58 67 67 67 72 72 72 62 62 62 52 52 52 48 48 48 42 42 42
++43 43 43 50 50 50 58 58 58 63 63 63 65 65 65 63 63 63 62 62 62 61 61 61
++65 65 65 50 50 50 45 45 45 48 48 48 44 44 44 50 50 50 59 59 59 60 60 60
++62 62 62 59 59 59 57 57 57 58 58 58 53 53 53 44 44 44 37 37 37 36 36 36
++43 43 43 43 43 43 44 44 44 45 45 45 46 46 46 46 46 46 45 45 45 45 45 45
++40 40 40 50 50 50 53 53 53 45 45 45 37 37 37 33 33 33 32 32 32 31 31 31
++34 34 34 33 33 33 39 39 39 49 49 49 46 46 46 37 37 37 34 34 34 39 39 39
++33 33 33 38 38 38 34 34 34 24 24 24 27 27 27 42 42 42 48 48 48 42 42 42
++32 32 32 20 20 20 23 23 23 24 24 24 17 17 17 29 29 29 39 39 39 32 32 32
++33 33 33 38 38 38 40 40 40 38 38 38 33 33 33 31 31 31 32 32 32 34 34 34
++38 38 38 36 36 36 31 31 31 27 27 27 31 31 31 36 36 36 36 36 36 32 32 32
++32 32 32 29 29 29 29 29 29 32 32 32 36 36 36 36 36 36 31 31 31 25 25 25
++31 31 31 34 34 34 37 37 37 33 33 33 27 27 27 24 24 24 29 29 29 34 34 34
++28 28 28 25 25 25 27 27 27 31 31 31 28 28 28 24 24 24 28 28 28 36 36 36
++3 3 3 13 13 13 20 20 20 19 19 19 10 10 10 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 0 0 0 3 3 3 16 16 16 25 25 25 31 31 31 32 32 32
++33 33 33 28 28 28 19 19 19 10 10 10 4 4 4 10 10 10 20 20 20 28 28 28
++25 25 25 13 13 13 3 3 3 6 6 6 10 10 10 6 6 6 4 4 4 4 4 4
++10 10 10 19 19 19 21 21 21 14 14 14 8 8 8 8 8 8 8 8 8 4 4 4
++6 6 6 8 8 8 6 6 6 14 14 14 21 21 21 13 13 13 0 0 0 4 4 4
++17 17 17 27 27 27 20 20 20 3 3 3 0 0 0 0 0 0 11 11 11 33 33 33
++17 17 17 0 0 0 23 23 23 29 29 29 3 3 3 13 13 13 32 32 32 33 33 33
++25 25 25 19 19 19 28 28 28 39 39 39 31 31 31 17 17 17 13 13 13 11 11 11
++11 11 11 11 11 11 4 4 4 14 14 14 11 11 11 8 8 8 17 17 17 3 3 3
++6 6 6 8 8 8 8 8 8 10 10 10 14 14 14 17 17 17 16 16 16 13 13 13
++13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 17 17 17 17 17 17 14 14 14
++11 11 11 11 11 11 11 11 11 13 13 13 16 16 16 17 17 17 14 14 14 10 10 10
++
++10 10 10 3 3 3 0 0 0 10 10 10 19 19 19 19 19 19 6 6 6 0 0 0
++11 11 11 16 16 16 16 16 16 10 10 10 0 0 0 4 4 4 16 16 16 24 24 24
++11 11 11 0 0 0 0 0 0 8 8 8 11 11 11 3 3 3 4 4 4 17 17 17
++20 20 20 14 14 14 4 4 4 0 0 0 0 0 0 6 6 6 6 6 6 3 3 3
++19 19 19 21 21 21 14 14 14 0 0 0 0 0 0 4 4 4 4 4 4 0 0 0
++10 10 10 17 17 17 16 16 16 4 4 4 0 0 0 3 3 3 3 3 3 0 0 0
++0 0 0 11 11 11 19 19 19 16 16 16 6 6 6 0 0 0 0 0 0 3 3 3
++3 3 3 0 0 0 6 6 6 14 14 14 13 13 13 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 11 11 11 20 20 20 20 20 20 11 11 11 4 4 4 4 4 4
++0 0 0 0 0 0 3 3 3 10 10 10 14 14 14 13 13 13 4 4 4 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 14 14 14 19 19 19 13 13 13 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 6 6 6 17 17 17 19 19 19 11 11 11
++0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 3 3 3 17 17 17 31 31 31
++32 32 32 28 28 28 28 28 28 31 31 31 31 31 31 29 29 29 32 32 32 36 36 36
++36 36 36 21 21 21 11 11 11 11 11 11 8 8 8 0 0 0 3 3 3 16 16 16
++24 24 24 19 19 19 8 8 8 4 4 4 16 16 16 24 24 24 20 20 20 10 10 10
++6 6 6 16 16 16 24 24 24 23 23 23 14 14 14 8 8 8 13 13 13 21 21 21
++27 27 27 17 17 17 10 10 10 14 14 14 24 24 24 25 25 25 19 19 19 11 11 11
++16 16 16 24 24 24 31 31 31 27 27 27 19 19 19 16 16 16 21 21 21 28 28 28
++19 19 19 17 17 17 16 16 16 16 16 16 19 19 19 21 21 21 23 23 23 23 23 23
++23 23 23 24 24 24 24 24 24 25 25 25 25 25 25 27 27 27 27 27 27 27 27 27
++25 25 25 25 25 25 25 25 25 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28
++33 33 33 38 38 38 44 44 44 43 43 43 34 34 34 28 28 28 31 31 31 36 36 36
++34 34 34 44 44 44 50 50 50 46 46 46 39 39 39 37 37 37 39 39 39 43 43 43
++39 39 39 49 49 49 56 56 56 51 51 51 43 43 43 39 39 39 42 42 42 45 45 45
++43 43 43 52 52 52 62 62 62 65 65 65 65 65 65 63 63 63 65 65 65 65 65 65
++63 63 63 58 58 58 63 63 63 63 63 63 60 60 60 62 62 62 57 57 57 49 49 49
++49 49 49 56 56 56 65 65 65 56 56 56 51 51 51 54 54 54 49 49 49 48 48 48
++51 51 51 57 57 57 65 65 65 72 72 72 75 75 75 67 67 67 56 56 56 52 52 52
++53 53 53 51 51 51 63 63 63 70 70 70 58 58 58 53 53 53 58 58 58 56 56 56
++54 54 54 54 54 54 60 60 60 68 68 68 69 69 69 65 65 65 62 62 62 63 63 63
++62 62 62 54 54 54 58 58 58 68 68 68 67 67 67 53 53 53 50 50 50 58 58 58
++50 50 50 52 52 52 56 56 56 61 61 61 61 61 61 52 52 52 48 48 48 53 53 53
++67 67 67 65 65 65 70 70 70 70 70 70 58 58 58 49 49 49 50 50 50 50 50 50
++49 49 49 53 53 53 59 59 59 61 61 61 60 60 60 58 58 58 57 57 57 56 56 56
++60 60 60 50 50 50 44 44 44 43 43 43 42 42 42 46 46 46 54 54 54 59 59 59
++57 57 57 56 56 56 57 57 57 60 60 60 60 60 60 56 56 56 54 54 54 57 57 57
++49 49 49 50 50 50 49 49 49 48 48 48 45 45 45 42 42 42 40 40 40 39 39 39
++49 49 49 46 46 46 40 40 40 33 33 33 28 28 28 29 29 29 31 31 31 31 31 31
++33 33 33 31 31 31 33 33 33 37 37 37 33 33 33 24 24 24 19 19 19 21 21 21
++31 31 31 28 28 28 25 25 25 24 24 24 23 23 23 25 25 25 36 36 36 48 48 48
++33 33 33 11 11 11 13 13 13 23 23 23 17 17 17 16 16 16 27 27 27 29 29 29
++31 31 31 34 34 34 39 39 39 39 39 39 37 37 37 32 32 32 31 31 31 31 31 31
++33 33 33 36 36 36 34 34 34 29 29 29 28 28 28 32 32 32 32 32 32 31 31 31
++32 32 32 29 29 29 28 28 28 29 29 29 32 32 32 33 33 33 31 31 31 28 28 28
++25 25 25 29 29 29 34 34 34 36 36 36 32 32 32 28 28 28 27 27 27 27 27 27
++31 31 31 29 29 29 31 31 31 33 33 33 32 32 32 28 28 28 25 25 25 25 25 25
++20 20 20 20 20 20 14 14 14 4 4 4 0 0 0 3 3 3 3 3 3 0 0 0
++6 6 6 3 3 3 6 6 6 17 17 17 29 29 29 33 33 33 28 28 28 21 21 21
++23 23 23 16 16 16 6 6 6 4 4 4 11 11 11 20 20 20 27 27 27 29 29 29
++17 17 17 11 11 11 6 6 6 6 6 6 6 6 6 6 6 6 10 10 10 13 13 13
++19 19 19 17 17 17 13 13 13 6 6 6 6 6 6 8 8 8 10 10 10 8 8 8
++4 4 4 10 10 10 11 11 11 17 17 17 20 20 20 11 11 11 0 0 0 3 3 3
++0 0 0 19 19 19 21 21 21 0 0 0 0 0 0 20 20 20 27 27 27 23 23 23
++0 0 0 14 14 14 25 25 25 31 31 31 25 25 25 28 28 28 27 27 27 0 0 0
++32 32 32 21 21 21 20 20 20 23 23 23 16 16 16 14 14 14 13 13 13 4 4 4
++6 6 6 10 10 10 0 0 0 6 6 6 14 14 14 10 10 10 14 14 14 11 11 11
++10 10 10 13 13 13 17 17 17 19 19 19 17 17 17 17 17 17 21 21 21 27 27 27
++24 24 24 16 16 16 10 10 10 13 13 13 20 20 20 23 23 23 20 20 20 16 16 16
++8 8 8 11 11 11 17 17 17 19 19 19 10 10 10 0 0 0 0 0 0 11 11 11
++
++16 16 16 11 11 11 0 0 0 0 0 0 10 10 10 23 23 23 16 16 16 0 0 0
++0 0 0 6 6 6 20 20 20 23 23 23 6 6 6 0 0 0 0 0 0 24 24 24
++23 23 23 8 8 8 0 0 0 6 6 6 10 10 10 3 3 3 0 0 0 3 3 3
++25 25 25 23 23 23 13 13 13 0 0 0 0 0 0 8 8 8 4 4 4 0 0 0
++10 10 10 23 23 23 23 23 23 4 4 4 0 0 0 4 4 4 4 4 4 0 0 0
++0 0 0 11 11 11 17 17 17 11 11 11 6 6 6 6 6 6 3 3 3 0 0 0
++0 0 0 0 0 0 11 11 11 20 20 20 17 17 17 6 6 6 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 11 11 11 16 16 16 8 8 8 0 0 0 0 0 0
++0 0 0 14 14 14 21 21 21 11 11 11 6 6 6 16 16 16 16 16 16 4 4 4
++0 0 0 4 4 4 13 13 13 16 16 16 13 13 13 6 6 6 0 0 0 0 0 0
++0 0 0 0 0 0 4 4 4 16 16 16 19 19 19 13 13 13 3 3 3 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 16 16 16 23 23 23 13 13 13 0 0 0
++0 0 0 0 0 0 0 0 0 4 4 4 10 10 10 14 14 14 24 24 24 33 33 33
++29 29 29 27 27 27 27 27 27 29 29 29 31 31 31 29 29 29 31 31 31 33 33 33
++28 28 28 13 13 13 0 0 0 4 4 4 4 4 4 0 0 0 11 11 11 25 25 25
++20 20 20 6 6 6 0 0 0 14 14 14 25 25 25 23 23 23 11 11 11 3 3 3
++14 14 14 24 24 24 25 25 25 11 11 11 4 4 4 13 13 13 21 21 21 23 23 23
++16 16 16 8 8 8 10 10 10 21 21 21 24 24 24 17 17 17 11 11 11 11 11 11
++28 28 28 29 29 29 24 24 24 14 14 14 14 14 14 23 23 23 27 27 27 23 23 23
++17 17 17 16 16 16 14 14 14 16 16 16 17 17 17 19 19 19 19 19 19 17 17 17
++20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 23 23 23 23 23 23 24 24 24
++24 24 24 24 24 24 25 25 25 25 25 25 27 27 27 27 27 27 27 27 27 25 25 25
++28 28 28 29 29 29 37 37 37 45 45 45 42 42 42 31 31 31 27 27 27 29 29 29
++27 27 27 33 33 33 43 43 43 49 49 49 45 45 45 37 37 37 34 34 34 37 37 37
++33 33 33 37 37 37 46 46 46 52 52 52 50 50 50 42 42 42 38 38 38 40 40 40
++37 37 37 40 40 40 50 50 50 60 60 60 62 62 62 60 60 60 59 59 59 60 60 60
++57 57 57 52 52 52 51 51 51 60 60 60 62 62 62 60 60 60 59 59 59 50 50 50
++42 42 42 43 43 43 52 52 52 48 48 48 48 48 48 54 54 54 46 46 46 42 42 42
++46 46 46 43 43 43 51 51 51 66 66 66 73 73 73 70 70 70 61 61 61 51 51 51
++49 49 49 40 40 40 51 51 51 63 63 63 58 58 58 51 51 51 51 51 51 48 48 48
++62 62 62 59 59 59 56 56 56 58 58 58 65 65 65 69 69 69 67 67 67 65 65 65
++50 50 50 42 42 42 45 45 45 61 61 61 66 66 66 53 53 53 44 44 44 44 44 44
++45 45 45 46 46 46 42 42 42 49 49 49 62 62 62 59 59 59 52 52 52 60 60 60
++54 54 54 46 46 46 46 46 46 54 54 54 59 59 59 60 60 60 60 60 60 56 56 56
++54 54 54 57 57 57 59 59 59 60 60 60 59 59 59 58 58 58 58 58 58 58 58 58
++54 54 54 51 51 51 43 43 43 38 38 38 39 39 39 40 40 40 48 48 48 58 58 58
++54 54 54 53 53 53 52 52 52 49 49 49 43 43 43 36 36 36 34 34 34 37 37 37
++31 31 31 32 32 32 33 33 33 31 31 31 28 28 28 27 27 27 28 28 28 29 29 29
++49 49 49 38 38 38 27 27 27 24 24 24 25 25 25 28 28 28 29 29 29 29 29 29
++27 27 27 27 27 27 29 29 29 33 33 33 37 37 37 38 38 38 38 38 38 38 38 38
++36 36 36 25 25 25 20 20 20 21 21 21 19 19 19 17 17 17 27 27 27 40 40 40
++39 39 39 21 21 21 23 23 23 31 31 31 23 23 23 20 20 20 25 25 25 27 27 27
++21 21 21 27 27 27 32 32 32 37 37 37 37 37 37 34 34 34 31 31 31 28 28 28
++27 27 27 34 34 34 37 37 37 33 33 33 28 28 28 28 28 28 29 29 29 29 29 29
++34 34 34 33 33 33 31 31 31 29 29 29 29 29 29 31 31 31 33 33 33 34 34 34
++27 27 27 28 28 28 32 32 32 34 34 34 34 34 34 32 32 32 28 28 28 25 25 25
++28 28 28 32 32 32 34 34 34 36 36 36 34 34 34 32 32 32 24 24 24 16 16 16
++28 28 28 25 25 25 16 16 16 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0
++0 0 0 6 6 6 16 16 16 25 25 25 29 29 29 25 25 25 14 14 14 3 3 3
++13 13 13 3 3 3 0 0 0 6 6 6 20 20 20 28 28 28 28 28 28 24 24 24
++6 6 6 10 10 10 10 10 10 6 6 6 4 4 4 10 10 10 16 16 16 19 19 19
++20 20 20 13 13 13 4 4 4 4 4 4 10 10 10 10 10 10 8 8 8 8 8 8
++4 4 4 13 13 13 16 16 16 19 19 19 20 20 20 8 8 8 0 0 0 0 0 0
++0 0 0 13 13 13 23 23 23 14 14 14 11 11 11 24 24 24 23 23 23 3 3 3
++11 11 11 27 27 27 28 28 28 37 37 37 24 24 24 0 0 0 0 0 0 10 10 10
++21 21 21 14 14 14 10 10 10 10 10 10 13 13 13 23 23 23 24 24 24 16 16 16
++0 0 0 8 8 8 13 13 13 19 19 19 14 14 14 3 3 3 3 3 3 0 0 0
++4 4 4 8 8 8 16 16 16 21 21 21 16 16 16 10 10 10 19 19 19 32 32 32
++38 38 38 27 27 27 20 20 20 27 27 27 32 32 32 32 32 32 31 31 31 31 31 31
++4 4 4 4 4 4 14 14 14 21 21 21 13 13 13 0 0 0 4 4 4 20 20 20
++
++14 14 14 19 19 19 14 14 14 0 0 0 0 0 0 11 11 11 19 19 19 17 17 17
++0 0 0 0 0 0 8 8 8 21 21 21 19 19 19 3 3 3 0 0 0 6 6 6
++23 23 23 25 25 25 19 19 19 4 4 4 0 0 0 6 6 6 8 8 8 0 0 0
++10 10 10 19 19 19 21 21 21 13 13 13 3 3 3 0 0 0 3 3 3 3 3 3
++4 4 4 13 13 13 21 21 21 20 20 20 10 10 10 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 6 6 6 17 17 17 17 17 17 6 6 6 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 11 11 11 20 20 20 16 16 16 3 3 3 0 0 0
++0 0 0 3 3 3 4 4 4 0 0 0 6 6 6 14 14 14 14 14 14 4 4 4
++6 6 6 19 19 19 17 17 17 0 0 0 0 0 0 11 11 11 16 16 16 8 8 8
++0 0 0 8 8 8 13 13 13 13 13 13 8 8 8 0 0 0 0 0 0 0 0 0
++0 0 0 6 6 6 17 17 17 20 20 20 11 11 11 0 0 0 0 0 0 4 4 4
++3 3 3 0 0 0 0 0 0 16 16 16 21 21 21 13 13 13 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 6 6 6 16 16 16 23 23 23 27 27 27 27 27 27
++28 28 28 27 27 27 27 27 27 28 28 28 31 31 31 31 31 31 31 31 31 31 31 31
++19 19 19 11 11 11 0 0 0 0 0 0 0 0 0 14 14 14 20 20 20 21 21 21
++3 3 3 6 6 6 16 16 16 24 24 24 21 21 21 11 11 11 6 6 6 11 11 11
++27 27 27 24 24 24 13 13 13 0 0 0 4 4 4 21 21 21 24 24 24 16 16 16
++6 6 6 13 13 13 20 20 20 23 23 23 16 16 16 8 8 8 13 13 13 21 21 21
++31 31 31 23 23 23 13 13 13 10 10 10 20 20 20 28 28 28 24 24 24 13 13 13
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 17 17 17 17 17 17
++21 21 21 23 23 23 23 23 23 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25
++23 23 23 23 23 23 25 25 25 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28
++28 28 28 24 24 24 27 27 27 37 37 37 44 44 44 40 40 40 31 31 31 24 24 24
++31 31 31 28 28 28 32 32 32 40 40 40 45 45 45 42 42 42 34 34 34 29 29 29
++36 36 36 32 32 32 34 34 34 44 44 44 51 51 51 49 49 49 39 39 39 33 33 33
++38 38 38 36 36 36 43 43 43 57 57 57 62 62 62 59 59 59 56 56 56 58 58 58
++56 56 56 50 50 50 39 39 39 52 52 52 59 59 59 57 57 57 61 61 61 54 54 54
++42 42 42 38 38 38 45 45 45 44 44 44 48 48 48 57 57 57 51 51 51 43 43 43
++44 44 44 40 40 40 44 44 44 49 49 49 54 54 54 68 68 68 70 70 70 54 54 54
++46 46 46 40 40 40 44 44 44 49 49 49 50 50 50 54 54 54 54 54 54 45 45 45
++52 52 52 58 58 58 57 57 57 50 50 50 53 53 53 63 63 63 66 66 66 59 59 59
++49 49 49 42 42 42 36 36 36 40 40 40 52 52 52 58 58 58 51 51 51 40 40 40
++44 44 44 49 49 49 44 44 44 40 40 40 52 52 52 61 61 61 59 59 59 57 57 57
++45 45 45 37 37 37 36 36 36 46 46 46 58 58 58 60 60 60 57 57 57 52 52 52
++45 45 45 48 48 48 51 51 51 54 54 54 57 57 57 58 58 58 58 58 58 58 58 58
++52 52 52 53 53 53 43 43 43 34 34 34 36 36 36 36 36 36 40 40 40 53 53 53
++51 51 51 50 50 50 48 48 48 42 42 42 33 33 33 27 27 27 27 27 27 29 29 29
++24 24 24 27 27 27 27 27 27 25 25 25 23 23 23 25 25 25 32 32 32 37 37 37
++38 38 38 28 28 28 23 23 23 28 28 28 33 33 33 31 31 31 27 27 27 27 27 27
++25 25 25 25 25 25 25 25 25 25 25 25 29 29 29 34 34 34 34 34 34 33 33 33
++43 43 43 34 34 34 23 23 23 17 17 17 20 20 20 24 24 24 24 24 24 21 21 21
++38 38 38 37 37 37 39 39 39 36 36 36 28 28 28 32 32 32 32 32 32 21 21 21
++16 16 16 17 17 17 21 21 21 27 27 27 32 32 32 33 33 33 31 31 31 29 29 29
++23 23 23 31 31 31 36 36 36 33 33 33 29 29 29 29 29 29 28 28 28 27 27 27
++28 28 28 28 28 28 28 28 28 25 25 25 24 24 24 25 25 25 28 28 28 31 31 31
++28 28 28 25 25 25 21 21 21 21 21 21 25 25 25 27 27 27 27 27 27 25 25 25
++20 20 20 31 31 31 37 37 37 36 36 36 33 33 33 32 32 32 25 25 25 17 17 17
++21 21 21 23 23 23 23 23 23 17 17 17 6 6 6 0 0 0 0 0 0 4 4 4
++0 0 0 14 14 14 27 27 27 29 29 29 20 20 20 10 10 10 3 3 3 0 0 0
++8 8 8 4 4 4 6 6 6 14 14 14 24 24 24 27 27 27 20 20 20 13 13 13
++4 4 4 10 10 10 10 10 10 4 4 4 6 6 6 14 14 14 19 19 19 17 17 17
++13 13 13 6 6 6 4 4 4 11 11 11 14 14 14 8 8 8 4 4 4 6 6 6
++11 11 11 16 16 16 14 14 14 14 14 14 19 19 19 11 11 11 0 0 0 0 0 0
++4 4 4 3 3 3 20 20 20 29 29 29 20 20 20 11 11 11 10 10 10 0 0 0
++20 20 20 33 33 33 31 31 31 17 17 17 3 3 3 0 0 0 11 11 11 19 19 19
++8 8 8 8 8 8 13 13 13 20 20 20 27 27 27 31 31 31 32 32 32 28 28 28
++16 16 16 11 11 11 6 6 6 4 4 4 3 3 3 14 14 14 20 20 20 10 10 10
++14 14 14 14 14 14 19 19 19 24 24 24 17 17 17 3 3 3 6 6 6 21 21 21
++31 31 31 24 24 24 23 23 23 29 29 29 28 28 28 21 21 21 24 24 24 33 33 33
++17 17 17 11 11 11 10 10 10 16 16 16 20 20 20 19 19 19 19 19 19 20 20 20
++
++10 10 10 19 19 19 23 23 23 14 14 14 3 3 3 0 0 0 14 14 14 25 25 25
++16 16 16 4 4 4 0 0 0 10 10 10 21 21 21 23 23 23 11 11 11 0 0 0
++11 11 11 24 24 24 28 28 28 14 14 14 0 0 0 0 0 0 4 4 4 4 4 4
++0 0 0 6 6 6 20 20 20 23 23 23 13 13 13 0 0 0 0 0 0 10 10 10
++3 3 3 0 0 0 10 10 10 21 21 21 19 19 19 3 3 3 0 0 0 6 6 6
++4 4 4 0 0 0 0 0 0 11 11 11 17 17 17 11 11 11 4 4 4 3 3 3
++4 4 4 0 0 0 0 0 0 0 0 0 11 11 11 19 19 19 13 13 13 0 0 0
++0 0 0 3 3 3 4 4 4 0 0 0 0 0 0 11 11 11 19 19 19 17 17 17
++23 23 23 14 14 14 3 3 3 0 0 0 0 0 0 3 3 3 6 6 6 11 11 11
++16 16 16 13 13 13 10 10 10 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 13 13 13 19 19 19 13 13 13 0 0 0 0 0 0 0 0 0 6 6 6
++0 0 0 3 3 3 11 11 11 19 19 19 13 13 13 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 6 6 6 11 11 11 16 16 16 20 20 20 23 23 23 24 24 24
++27 27 27 27 27 27 27 27 27 28 28 28 31 31 31 32 32 32 29 29 29 25 25 25
++10 10 10 4 4 4 0 0 0 0 0 0 13 13 13 20 20 20 16 16 16 6 6 6
++0 0 0 16 16 16 25 25 25 20 20 20 6 6 6 3 3 3 13 13 13 23 23 23
++24 24 24 14 14 14 4 4 4 4 4 4 16 16 16 23 23 23 16 16 16 4 4 4
++11 11 11 21 21 21 24 24 24 16 16 16 6 6 6 10 10 10 21 21 21 28 28 28
++20 20 20 13 13 13 10 10 10 19 19 19 24 24 24 21 21 21 14 14 14 11 11 11
++11 11 11 13 13 13 14 14 14 17 17 17 19 19 19 19 19 19 20 20 20 21 21 21
++16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 19 19 19 19 19 19 19 19 19
++20 20 20 20 20 20 21 21 21 23 23 23 24 24 24 25 25 25 25 25 25 27 27 27
++25 25 25 24 24 24 23 23 23 27 27 27 37 37 37 43 43 43 38 38 38 28 28 28
++29 29 29 28 28 28 27 27 27 29 29 29 38 38 38 43 43 43 40 40 40 33 33 33
++34 34 34 32 32 32 29 29 29 33 33 33 43 43 43 50 50 50 45 45 45 37 37 37
++37 37 37 29 29 29 34 34 34 50 50 50 60 60 60 57 57 57 54 54 54 58 58 58
++57 57 57 50 50 50 33 33 33 42 42 42 51 51 51 50 50 50 59 59 59 59 59 59
++49 49 49 38 38 38 43 43 43 43 43 43 46 46 46 59 59 59 57 57 57 50 50 50
++44 44 44 38 38 38 38 38 38 38 38 38 40 40 40 56 56 56 66 66 66 60 60 60
++52 52 52 44 44 44 39 39 39 39 39 39 43 43 43 52 52 52 58 58 58 54 54 54
++31 31 31 44 44 44 57 57 57 59 59 59 56 56 56 53 53 53 57 57 57 59 59 59
++57 57 57 51 51 51 40 40 40 36 36 36 42 42 42 52 52 52 54 54 54 52 52 52
++38 38 38 40 40 40 45 45 45 45 45 45 44 44 44 52 52 52 57 57 57 49 49 49
++42 42 42 44 44 44 48 48 48 50 50 50 49 49 49 45 45 45 50 50 50 58 58 58
++34 34 34 37 37 37 42 42 42 46 46 46 50 50 50 52 52 52 52 52 52 52 52 52
++50 50 50 53 53 53 44 44 44 33 33 33 33 33 33 33 33 33 37 37 37 48 48 48
++48 48 48 48 48 48 45 45 45 38 38 38 31 31 31 28 28 28 31 31 31 33 33 33
++31 31 31 31 31 31 29 29 29 27 27 27 25 25 25 29 29 29 37 37 37 44 44 44
++33 33 33 28 28 28 29 29 29 36 36 36 36 36 36 29 29 29 25 25 25 25 25 25
++27 27 27 25 25 25 23 23 23 21 21 21 23 23 23 25 25 25 25 25 25 23 23 23
++39 39 39 33 33 33 25 25 25 21 21 21 23 23 23 24 24 24 20 20 20 14 14 14
++25 25 25 31 31 31 37 37 37 33 33 33 29 29 29 32 32 32 31 31 31 19 19 19
++19 19 19 16 16 16 14 14 14 16 16 16 20 20 20 24 24 24 25 25 25 25 25 25
++20 20 20 25 25 25 29 29 29 29 29 29 31 31 31 32 32 32 28 28 28 23 23 23
++29 29 29 31 31 31 32 32 32 32 32 32 29 29 29 28 28 28 31 31 31 33 33 33
++34 34 34 29 29 29 25 25 25 24 24 24 27 27 27 31 31 31 32 32 32 32 32 32
++8 8 8 24 24 24 34 34 34 32 32 32 28 28 28 27 27 27 27 27 27 24 24 24
++19 19 19 16 16 16 20 20 20 25 25 25 19 19 19 0 0 0 0 0 0 10 10 10
++14 14 14 23 23 23 29 29 29 25 25 25 14 14 14 4 4 4 6 6 6 11 11 11
++6 6 6 11 11 11 19 19 19 24 24 24 24 24 24 20 20 20 13 13 13 6 6 6
++8 8 8 10 10 10 6 6 6 4 4 4 11 11 11 19 19 19 17 17 17 10 10 10
++6 6 6 4 4 4 8 8 8 14 14 14 11 11 11 4 4 4 4 4 4 13 13 13
++17 17 17 17 17 17 8 8 8 8 8 8 17 17 17 16 16 16 4 4 4 0 0 0
++4 4 4 0 0 0 16 16 16 31 31 31 20 20 20 4 4 4 11 11 11 20 20 20
++32 32 32 6 6 6 0 0 0 0 0 0 4 4 4 24 24 24 17 17 17 14 14 14
++11 11 11 13 13 13 21 21 21 32 32 32 32 32 32 23 23 23 21 21 21 28 28 28
++0 0 0 19 19 19 19 19 19 4 4 4 10 10 10 11 11 11 3 3 3 8 8 8
++6 6 6 3 3 3 10 10 10 24 24 24 28 28 28 23 23 23 24 24 24 31 31 31
++23 23 23 17 17 17 20 20 20 28 28 28 25 25 25 16 16 16 16 16 16 25 25 25
++28 28 28 23 23 23 14 14 14 10 10 10 17 17 17 25 25 25 21 21 21 11 11 11
++
++8 8 8 11 11 11 19 19 19 23 23 23 19 19 19 10 10 10 10 10 10 16 16 16
++24 24 24 19 19 19 10 10 10 6 6 6 14 14 14 24 24 24 23 23 23 14 14 14
++0 0 0 6 6 6 19 19 19 24 24 24 13 13 13 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 10 10 10 20 20 20 20 20 20 8 8 8 0 0 0 3 3 3
++3 3 3 0 0 0 0 0 0 8 8 8 19 19 19 20 20 20 10 10 10 0 0 0
++0 0 0 3 3 3 0 0 0 0 0 0 6 6 6 16 16 16 14 14 14 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 17 17 17 17 17 17
++6 6 6 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 13 13 13 25 25 25
++28 28 28 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 13 13 13
++23 23 23 17 17 17 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 13 13 13 8 8 8 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3
++0 0 0 13 13 13 20 20 20 10 10 10 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 8 8 8 17 17 17 14 14 14 10 10 10 13 13 13 20 20 20 25 25 25
++27 27 27 27 27 27 27 27 27 27 27 27 29 29 29 31 31 31 27 27 27 20 20 20
++4 4 4 0 0 0 0 0 0 20 20 20 27 27 27 16 16 16 3 3 3 0 0 0
++11 11 11 20 20 20 19 19 19 4 4 4 0 0 0 10 10 10 21 21 21 25 25 25
++10 10 10 6 6 6 11 11 11 20 20 20 21 21 21 14 14 14 6 6 6 4 4 4
++21 21 21 23 23 23 17 17 17 6 6 6 8 8 8 19 19 19 24 24 24 21 21 21
++6 6 6 10 10 10 19 19 19 25 25 25 21 21 21 10 10 10 8 8 8 16 16 16
++10 10 10 11 11 11 13 13 13 13 13 13 13 13 13 14 14 14 16 16 16 17 17 17
++16 16 16 16 16 16 17 17 17 17 17 17 19 19 19 19 19 19 20 20 20 20 20 20
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 21 21 21 23 23 23
++20 20 20 25 25 25 25 25 25 21 21 21 24 24 24 34 34 34 38 38 38 36 36 36
++25 25 25 28 28 28 27 27 27 24 24 24 28 28 28 37 37 37 43 43 43 43 43 43
++31 31 31 32 32 32 29 29 29 27 27 27 32 32 32 40 40 40 45 45 45 45 45 45
++34 34 34 25 25 25 25 25 25 40 40 40 51 51 51 52 52 52 52 52 52 56 56 56
++57 57 57 51 51 51 34 34 34 33 33 33 39 39 39 43 43 43 50 50 50 56 56 56
++53 53 53 39 39 39 42 42 42 42 42 42 43 43 43 56 56 56 58 58 58 53 53 53
++46 46 46 36 36 36 34 34 34 39 39 39 39 39 39 39 39 39 49 49 49 58 58 58
++56 56 56 43 43 43 34 34 34 38 38 38 40 40 40 42 42 42 50 50 50 59 59 59
++46 46 46 39 39 39 43 43 43 56 56 56 58 58 58 48 48 48 45 45 45 53 53 53
++56 56 56 50 50 50 45 45 45 43 43 43 37 37 37 32 32 32 40 40 40 53 53 53
++45 45 45 37 37 37 43 43 43 49 49 49 40 40 40 40 40 40 52 52 52 56 56 56
++48 48 48 48 48 48 43 43 43 38 38 38 37 37 37 33 33 33 38 38 38 49 49 49
++39 39 39 40 40 40 43 43 43 46 46 46 49 49 49 50 50 50 49 49 49 46 46 46
++45 45 45 49 49 49 43 43 43 33 33 33 29 29 29 31 31 31 36 36 36 42 42 42
++44 44 44 45 45 45 40 40 40 32 32 32 25 25 25 23 23 23 24 24 24 24 24 24
++23 23 23 23 23 23 23 23 23 21 21 21 23 23 23 29 29 29 37 37 37 44 44 44
++36 36 36 34 34 34 34 34 34 34 34 34 32 32 32 27 27 27 23 23 23 24 24 24
++24 24 24 23 23 23 24 24 24 27 27 27 29 29 29 31 31 31 32 32 32 33 33 33
++27 27 27 21 21 21 23 23 23 28 28 28 24 24 24 13 13 13 13 13 13 20 20 20
++17 17 17 17 17 17 25 25 25 33 33 33 32 32 32 28 28 28 27 27 27 27 27 27
++25 25 25 20 20 20 14 14 14 11 11 11 13 13 13 14 14 14 16 16 16 17 17 17
++17 17 17 21 21 21 24 24 24 24 24 24 25 25 25 28 28 28 25 25 25 19 19 19
++24 24 24 27 27 27 29 29 29 29 29 29 27 27 27 25 25 25 27 27 27 27 27 27
++27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 27 27 27 27 27 27
++3 3 3 16 16 16 27 27 27 27 27 27 21 21 21 20 20 20 23 23 23 24 24 24
++20 20 20 10 10 10 8 8 8 17 17 17 20 20 20 13 13 13 10 10 10 14 14 14
++21 21 21 19 19 19 14 14 14 10 10 10 8 8 8 6 6 6 8 8 8 8 8 8
++8 8 8 14 14 14 21 21 21 24 24 24 20 20 20 14 14 14 10 10 10 8 8 8
++11 11 11 10 10 10 6 6 6 10 10 10 16 16 16 20 20 20 14 14 14 4 4 4
++6 6 6 6 6 6 8 8 8 8 8 8 4 4 4 3 3 3 11 11 11 20 20 20
++17 17 17 16 16 16 6 6 6 4 4 4 16 16 16 19 19 19 10 10 10 3 3 3
++3 3 3 10 10 10 19 19 19 20 20 20 11 11 11 10 10 10 17 17 17 23 23 23
++16 16 16 6 6 6 11 11 11 8 8 8 13 13 13 21 21 21 13 13 13 8 8 8
++14 14 14 16 16 16 20 20 20 27 27 27 25 25 25 11 11 11 11 11 11 27 27 27
++13 13 13 20 20 20 6 6 6 0 0 0 17 17 17 20 20 20 0 0 0 14 14 14
++14 14 14 8 8 8 10 10 10 19 19 19 23 23 23 17 17 17 13 13 13 14 14 14
++24 24 24 17 17 17 16 16 16 24 24 24 27 27 27 21 21 21 17 17 17 16 16 16
++20 20 20 23 23 23 17 17 17 6 6 6 10 10 10 20 20 20 20 20 20 11 11 11
++
++13 13 13 8 8 8 8 8 8 16 16 16 21 21 21 17 17 17 10 10 10 4 4 4
++13 13 13 19 19 19 20 20 20 11 11 11 6 6 6 11 11 11 19 19 19 24 24 24
++8 8 8 0 0 0 0 0 0 19 19 19 20 20 20 4 4 4 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 6 6 6 16 16 16 14 14 14 6 6 6 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 8 8 8 19 19 19 16 16 16 4 4 4
++0 0 0 4 4 4 3 3 3 0 0 0 0 0 0 10 10 10 14 14 14 13 13 13
++6 6 6 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 8 8 8 19 19 19
++16 16 16 4 4 4 0 0 0 0 0 0 3 3 3 3 3 3 10 10 10 19 19 19
++17 17 17 11 11 11 4 4 4 0 0 0 0 0 0 3 3 3 8 8 8 11 11 11
++14 14 14 13 13 13 10 10 10 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6
++16 16 16 8 8 8 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 4 4 4
++6 6 6 14 14 14 14 14 14 3 3 3 0 0 0 0 0 0 4 4 4 3 3 3
++6 6 6 13 13 13 14 14 14 10 10 10 10 10 10 16 16 16 23 23 23 25 25 25
++24 24 24 27 27 27 25 25 25 24 24 24 27 27 27 28 28 28 21 21 21 13 13 13
++3 3 3 0 0 0 8 8 8 21 21 21 20 20 20 6 6 6 0 0 0 6 6 6
++19 19 19 16 16 16 6 6 6 0 0 0 8 8 8 21 21 21 21 21 21 14 14 14
++0 0 0 8 8 8 19 19 19 21 21 21 14 14 14 6 6 6 6 6 6 14 14 14
++21 21 21 16 16 16 10 10 10 8 8 8 14 14 14 19 19 19 16 16 16 11 11 11
++8 8 8 16 16 16 21 21 21 21 21 21 14 14 14 6 6 6 10 10 10 14 14 14
++13 13 13 14 14 14 14 14 14 13 13 13 11 11 11 13 13 13 16 16 16 19 19 19
++32 32 32 32 32 32 33 33 33 33 33 33 34 34 34 34 34 34 36 36 36 36 36 36
++28 28 28 25 25 25 23 23 23 19 19 19 17 17 17 19 19 19 20 20 20 20 20 20
++20 20 20 23 23 23 23 23 23 20 20 20 19 19 19 23 23 23 31 31 31 34 34 34
++32 32 32 27 27 27 23 23 23 23 23 23 25 25 25 28 28 28 34 34 34 40 40 40
++34 34 34 31 31 31 28 28 28 27 27 27 27 27 27 29 29 29 36 36 36 43 43 43
++40 40 40 31 31 31 25 25 25 34 34 34 43 43 43 46 46 46 48 48 48 50 50 50
++51 51 51 49 49 49 40 40 40 28 28 28 29 29 29 36 36 36 37 37 37 45 45 45
++51 51 51 34 34 34 39 39 39 37 37 37 34 34 34 46 46 46 51 51 51 49 49 49
++49 49 49 40 40 40 34 34 34 37 37 37 37 37 37 31 31 31 34 34 34 48 48 48
++48 48 48 43 43 43 39 39 39 37 37 37 34 34 34 33 33 33 39 39 39 48 48 48
++59 59 59 45 45 45 36 36 36 39 39 39 44 44 44 43 43 43 42 42 42 44 44 44
++45 45 45 43 43 43 42 42 42 40 40 40 32 32 32 25 25 25 29 29 29 40 40 40
++56 56 56 48 48 48 44 44 44 43 43 43 36 36 36 31 31 31 39 39 39 49 49 49
++53 53 53 46 46 46 33 33 33 28 28 28 32 32 32 28 28 28 24 24 24 29 29 29
++45 45 45 44 44 44 43 43 43 43 43 43 44 44 44 44 44 44 43 43 43 40 40 40
++39 39 39 39 39 39 38 38 38 32 32 32 27 27 27 31 31 31 37 37 37 37 37 37
++38 38 38 39 39 39 37 37 37 31 31 31 28 28 28 31 31 31 32 32 32 31 31 31
++21 21 21 23 23 23 24 24 24 27 27 27 29 29 29 34 34 34 39 39 39 42 42 42
++36 36 36 34 34 34 31 31 31 27 27 27 25 25 25 27 27 27 25 25 25 21 21 21
++24 24 24 21 21 21 23 23 23 28 28 28 27 27 27 21 21 21 20 20 20 24 24 24
++19 19 19 20 20 20 24 24 24 27 27 27 21 21 21 14 14 14 14 14 14 20 20 20
++16 16 16 19 19 19 23 23 23 28 28 28 28 28 28 24 24 24 24 24 24 27 27 27
++25 25 25 21 21 21 17 17 17 14 14 14 13 13 13 13 13 13 13 13 13 11 11 11
++13 13 13 20 20 20 21 21 21 19 19 19 14 14 14 16 16 16 17 17 17 14 14 14
++6 6 6 8 8 8 10 10 10 10 10 10 8 8 8 8 8 8 8 8 8 8 8 8
++6 6 6 11 11 11 17 17 17 17 17 17 13 13 13 8 8 8 6 6 6 8 8 8
++6 6 6 10 10 10 16 16 16 20 20 20 20 20 20 16 16 16 14 14 14 14 14 14
++13 13 13 10 10 10 4 4 4 4 4 4 11 11 11 16 16 16 16 16 16 14 14 14
++14 14 14 8 8 8 0 0 0 0 0 0 3 3 3 6 6 6 6 6 6 3 3 3
++16 16 16 17 17 17 17 17 17 16 16 16 11 11 11 8 8 8 8 8 8 10 10 10
++10 10 10 8 8 8 10 10 10 16 16 16 19 19 19 16 16 16 10 10 10 6 6 6
++6 6 6 8 8 8 6 6 6 3 3 3 4 4 4 11 11 11 16 16 16 17 17 17
++8 8 8 16 16 16 11 11 11 6 6 6 14 14 14 16 16 16 11 11 11 11 11 11
++11 11 11 23 23 23 21 21 21 11 11 11 10 10 10 14 14 14 16 16 16 16 16 16
++3 3 3 25 25 25 6 6 6 8 8 8 14 14 14 3 3 3 14 14 14 11 11 11
++11 11 11 14 14 14 13 13 13 14 14 14 17 17 17 11 11 11 11 11 11 23 23 23
++27 27 27 0 0 0 6 6 6 23 23 23 0 0 0 3 3 3 11 11 11 8 8 8
++4 4 4 3 3 3 3 3 3 8 8 8 11 11 11 13 13 13 11 11 11 11 11 11
++17 17 17 14 14 14 13 13 13 16 16 16 19 19 19 16 16 16 13 13 13 10 10 10
++11 11 11 17 17 17 17 17 17 11 11 11 10 10 10 14 14 14 17 17 17 14 14 14
++
++19 19 19 8 8 8 0 0 0 0 0 0 13 13 13 19 19 19 13 13 13 3 3 3
++0 0 0 10 10 10 21 21 21 19 19 19 4 4 4 0 0 0 6 6 6 20 20 20
++20 20 20 3 3 3 0 0 0 3 3 3 19 19 19 21 21 21 11 11 11 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 17 17 17 14 14 14 3 3 3
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 13 13 13 21 21 21
++4 4 4 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 8 8 8 24 24 24
++20 20 20 6 6 6 0 0 0 6 6 6 4 4 4 0 0 0 0 0 0 8 8 8
++19 19 19 14 14 14 3 3 3 0 0 0 0 0 0 11 11 11 11 11 11 0 0 0
++3 3 3 16 16 16 16 16 16 0 0 0 0 0 0 10 10 10 16 16 16 11 11 11
++0 0 0 4 4 4 10 10 10 8 8 8 3 3 3 0 0 0 8 8 8 16 16 16
++13 13 13 0 0 0 0 0 0 8 8 8 4 4 4 0 0 0 0 0 0 10 10 10
++20 20 20 6 6 6 0 0 0 0 0 0 6 6 6 0 0 0 0 0 0 3 3 3
++20 20 20 14 14 14 4 4 4 0 0 0 13 13 13 25 25 25 28 28 28 23 23 23
++23 23 23 24 24 24 24 24 24 23 23 23 24 24 24 25 25 25 17 17 17 6 6 6
++0 0 0 13 13 13 17 17 17 10 10 10 0 0 0 0 0 0 10 10 10 17 17 17
++14 14 14 6 6 6 0 0 0 6 6 6 20 20 20 27 27 27 17 17 17 0 0 0
++8 8 8 14 14 14 17 17 17 13 13 13 3 3 3 3 3 3 14 14 14 24 24 24
++13 13 13 6 6 6 8 8 8 17 17 17 19 19 19 11 11 11 4 4 4 4 4 4
++20 20 20 21 21 21 19 19 19 10 10 10 10 10 10 14 14 14 14 14 14 10 10 10
++10 10 10 11 11 11 14 14 14 14 14 14 16 16 16 20 20 20 25 25 25 31 31 31
++31 31 31 31 31 31 32 32 32 32 32 32 33 33 33 33 33 33 34 34 34 34 34 34
++37 37 37 34 34 34 29 29 29 24 24 24 21 21 21 20 20 20 21 21 21 23 23 23
++25 25 25 19 19 19 14 14 14 19 19 19 21 21 21 20 20 20 23 23 23 28 28 28
++43 43 43 27 27 27 17 17 17 24 24 24 28 28 28 24 24 24 24 24 24 29 29 29
++45 45 45 32 32 32 23 23 23 27 27 27 28 28 28 23 23 23 24 24 24 31 31 31
++51 51 51 40 40 40 32 32 32 33 33 33 39 39 39 43 43 43 44 44 44 44 44 44
++45 45 45 46 46 46 45 45 45 27 27 27 25 25 25 32 32 32 25 25 25 37 37 37
++46 46 46 29 29 29 34 34 34 33 33 33 27 27 27 38 38 38 44 44 44 42 42 42
++49 49 49 50 50 50 38 38 38 27 27 27 31 31 31 32 32 32 31 31 31 36 36 36
++33 33 33 46 46 46 46 46 46 33 33 33 25 25 25 31 31 31 33 33 33 29 29 29
++34 34 34 48 48 48 49 49 49 34 34 34 25 25 25 34 34 34 43 43 43 43 43 43
++39 39 39 42 42 42 39 39 39 33 33 33 34 34 34 39 39 39 38 38 38 31 31 31
++31 31 31 43 43 43 39 39 39 31 31 31 34 34 34 37 37 37 33 33 33 37 37 37
++34 34 34 37 37 37 33 33 33 33 33 33 37 37 37 34 34 34 34 34 34 44 44 44
++42 42 42 38 38 38 34 34 34 33 33 33 33 33 33 33 33 33 33 33 33 32 32 32
++33 33 33 31 31 31 34 34 34 31 31 31 24 24 24 31 31 31 39 39 39 34 34 34
++36 36 36 37 37 37 33 33 33 27 27 27 25 25 25 29 29 29 29 29 29 25 25 25
++28 28 28 28 28 28 29 29 29 31 31 31 31 31 31 31 31 31 29 29 29 29 29 29
++28 28 28 27 27 27 24 24 24 20 20 20 25 25 25 32 32 32 28 28 28 20 20 20
++23 23 23 19 19 19 23 23 23 29 29 29 27 27 27 16 16 16 14 14 14 21 21 21
++19 19 19 28 28 28 28 28 28 19 19 19 19 19 19 25 25 25 21 21 21 8 8 8
++13 13 13 25 25 25 25 25 25 14 14 14 13 13 13 20 20 20 20 20 20 13 13 13
++19 19 19 19 19 19 19 19 19 19 19 19 17 17 17 16 16 16 14 14 14 13 13 13
++10 10 10 19 19 19 23 23 23 14 14 14 4 4 4 3 3 3 8 8 8 13 13 13
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++8 8 8 16 16 16 20 20 20 19 19 19 11 11 11 6 6 6 8 8 8 13 13 13
++14 14 14 6 6 6 8 8 8 17 17 17 20 20 20 14 14 14 4 4 4 3 3 3
++0 0 0 11 11 11 13 13 13 0 0 0 0 0 0 13 13 13 19 19 19 13 13 13
++6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 10 10 10 11 11 11
++24 24 24 20 20 20 13 13 13 6 6 6 3 3 3 4 4 4 6 6 6 8 8 8
++4 4 4 6 6 6 13 13 13 21 21 21 20 20 20 11 11 11 6 6 6 11 11 11
++3 3 3 6 6 6 6 6 6 4 4 4 11 11 11 19 19 19 17 17 17 8 8 8
++0 0 0 14 14 14 16 16 16 11 11 11 13 13 13 13 13 13 13 13 13 16 16 16
++16 16 16 23 23 23 16 16 16 10 10 10 16 16 16 17 17 17 14 14 14 17 17 17
++21 21 21 8 8 8 24 24 24 149 149 149 180 183 185 75 75 75 10 10 10 10 10 10
++11 11 11 17 17 17 11 11 11 6 6 6 14 14 14 16 16 16 10 10 10 13 13 13
++3 3 3 21 21 21 144 145 144 180 183 185 71 71 71 0 0 0 23 23 23 8 8 8
++4 4 4 6 6 6 8 8 8 6 6 6 8 8 8 14 14 14 17 17 17 19 19 19
++19 19 19 23 23 23 25 25 25 21 21 21 17 17 17 16 16 16 19 19 19 20 20 20
++20 20 20 19 19 19 19 19 19 19 19 19 16 16 16 11 11 11 8 8 8 6 6 6
++
++14 14 14 14 14 14 8 8 8 0 0 0 0 0 0 11 11 11 14 14 14 13 13 13
++0 0 0 0 0 0 6 6 6 21 21 21 17 17 17 0 0 0 0 0 0 3 3 3
++17 17 17 19 19 19 11 11 11 0 0 0 0 0 0 17 17 17 20 20 20 11 11 11
++0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 3 3 3 11 11 11 17 17 17
++10 10 10 3 3 3 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 10 10 10
++19 19 19 8 8 8 0 0 0 0 0 0 0 0 0 4 4 4 3 3 3 0 0 0
++20 20 20 14 14 14 4 4 4 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++6 6 6 6 6 6 6 6 6 10 10 10 13 13 13 11 11 11 4 4 4 0 0 0
++0 0 0 8 8 8 13 13 13 10 10 10 10 10 10 14 14 14 11 11 11 0 0 0
++0 0 0 3 3 3 8 8 8 10 10 10 10 10 10 10 10 10 11 11 11 13 13 13
++0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 13 13 13 21 21 21
++0 0 0 4 4 4 8 8 8 4 4 4 0 0 0 0 0 0 8 8 8 16 16 16
++11 11 11 4 4 4 0 0 0 3 3 3 14 14 14 23 23 23 24 24 24 21 21 21
++27 27 27 23 23 23 20 20 20 23 23 23 24 24 24 20 20 20 8 8 8 0 0 0
++8 8 8 19 19 19 19 19 19 4 4 4 0 0 0 13 13 13 17 17 17 13 13 13
++3 3 3 0 0 0 4 4 4 21 21 21 23 23 23 8 8 8 0 0 0 3 3 3
++20 20 20 17 17 17 10 10 10 3 3 3 8 8 8 19 19 19 20 20 20 13 13 13
++6 6 6 8 8 8 13 13 13 19 19 19 14 14 14 6 6 6 8 8 8 19 19 19
++23 23 23 19 19 19 13 13 13 10 10 10 10 10 10 11 11 11 11 11 11 10 10 10
++8 8 8 10 10 10 14 14 14 21 21 21 29 29 29 33 33 33 33 33 33 32 32 32
++31 31 31 29 29 29 29 29 29 28 28 28 27 27 27 25 25 25 24 24 24 24 24 24
++29 29 29 32 32 32 34 34 34 34 34 34 32 32 32 25 25 25 19 19 19 14 14 14
++14 14 14 17 17 17 20 20 20 20 20 20 19 19 19 17 17 17 19 19 19 21 21 21
++28 28 28 32 32 32 29 29 29 23 23 23 20 20 20 24 24 24 25 25 25 21 21 21
++32 32 32 36 36 36 33 33 33 24 24 24 21 21 21 24 24 24 24 24 24 21 21 21
++25 25 25 39 39 39 42 42 42 29 29 29 28 28 28 39 39 39 45 45 45 40 40 40
++39 39 39 46 46 46 45 45 45 33 33 33 25 25 25 29 29 29 32 32 32 28 28 28
++31 31 31 25 25 25 27 27 27 33 33 33 31 31 31 25 25 25 31 31 31 44 44 44
++27 27 27 44 44 44 49 49 49 36 36 36 25 25 25 29 29 29 33 33 33 31 31 31
++31 31 31 42 42 42 48 48 48 42 42 42 32 32 32 28 28 28 28 28 28 28 28 28
++44 44 44 46 46 46 44 44 44 36 36 36 31 31 31 33 33 33 36 36 36 34 34 34
++36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36
++34 34 34 34 34 34 36 36 36 37 37 37 37 37 37 36 36 36 32 32 32 28 28 28
++32 32 32 34 34 34 37 37 37 36 36 36 33 33 33 32 32 32 33 33 33 37 37 37
++34 34 34 33 33 33 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
++28 28 28 31 31 31 32 32 32 31 31 31 29 29 29 28 28 28 27 27 27 28 28 28
++28 28 28 29 29 29 29 29 29 31 31 31 29 29 29 29 29 29 29 29 29 31 31 31
++31 31 31 31 31 31 31 31 31 32 32 32 31 31 31 31 31 31 29 29 29 29 29 29
++28 28 28 28 28 28 29 29 29 28 28 28 27 27 27 24 24 24 20 20 20 19 19 19
++21 21 21 23 23 23 24 24 24 20 20 20 16 16 16 13 13 13 14 14 14 19 19 19
++17 17 17 19 19 19 19 19 19 17 17 17 14 14 14 13 13 13 16 16 16 17 17 17
++21 21 21 20 20 20 17 17 17 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13
++19 19 19 21 21 21 23 23 23 24 24 24 24 24 24 23 23 23 21 21 21 20 20 20
++20 20 20 20 20 20 19 19 19 17 17 17 14 14 14 11 11 11 10 10 10 8 8 8
++8 8 8 10 10 10 11 11 11 10 10 10 8 8 8 8 8 8 10 10 10 13 13 13
++19 19 19 19 19 19 11 11 11 0 0 0 3 3 3 14 14 14 14 14 14 4 4 4
++6 6 6 6 6 6 14 14 14 21 21 21 14 14 14 0 0 0 0 0 0 11 11 11
++11 11 11 4 4 4 0 0 0 4 4 4 13 13 13 16 16 16 14 14 14 10 10 10
++0 0 0 0 0 0 8 8 8 13 13 13 14 14 14 14 14 14 16 16 16 16 16 16
++6 6 6 14 14 14 0 0 0 6 6 6 10 10 10 4 4 4 13 13 13 0 0 0
++10 10 10 10 10 10 14 14 14 3 3 3 8 8 8 0 0 0 4 4 4 0 0 0
++0 0 0 20 20 20 0 0 0 11 11 11 14 14 14 16 16 16 10 10 10 0 0 0
++0 0 0 8 8 8 4 4 4 0 0 0 20 20 20 20 20 20 27 27 27 25 25 25
++21 21 21 0 0 0 27 27 27 19 19 19 29 29 29 42 42 42 112 112 113 149 151 153
++36 36 36 13 13 13 17 17 17 180 183 185 180 183 185 101 101 101 0 0 0 19 19 19
++0 0 0 4 4 4 0 0 0 17 17 17 23 23 23 0 0 0 24 24 24 21 21 21
++3 3 3 19 19 19 166 167 167 200 220 210 88 88 88 8 8 8 16 16 16 0 0 0
++6 6 6 10 10 10 3 3 3 0 0 0 17 17 17 0 0 0 13 13 13 27 27 27
++28 28 28 17 17 17 21 21 21 14 14 14 11 11 11 29 29 29 27 27 27 0 0 0
++21 21 21 17 17 17 14 14 14 17 17 17 21 21 21 20 20 20 13 13 13 3 3 3
++
++0 0 0 8 8 8 14 14 14 11 11 11 3 3 3 0 0 0 4 4 4 14 14 14
++10 10 10 3 3 3 0 0 0 6 6 6 14 14 14 14 14 14 6 6 6 0 0 0
++6 6 6 13 13 13 14 14 14 10 10 10 0 0 0 0 0 0 10 10 10 17 17 17
++8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 8 8 8 11 11 11
++16 16 16 10 10 10 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 0 0 0
++11 11 11 8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++10 10 10 11 11 11 11 11 11 8 8 8 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 6 6 6 13 13 13 14 14 14 11 11 11 4 4 4 0 0 0 0 0 0
++3 3 3 0 0 0 6 6 6 17 17 17 17 17 17 8 8 8 3 3 3 6 6 6
++3 3 3 0 0 0 0 0 0 6 6 6 16 16 16 19 19 19 13 13 13 4 4 4
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 8 8 8 10 10 10 11 11 11
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 10 10 10 11 11 11
++10 10 10 3 3 3 0 0 0 4 4 4 16 16 16 23 23 23 23 23 23 21 21 21
++21 21 21 21 21 21 21 21 21 21 21 21 20 20 20 16 16 16 11 11 11 6 6 6
++19 19 19 10 10 10 0 0 0 0 0 0 8 8 8 14 14 14 13 13 13 8 8 8
++0 0 0 10 10 10 17 17 17 17 17 17 10 10 10 4 4 4 8 8 8 14 14 14
++19 19 19 10 10 10 0 0 0 8 8 8 17 17 17 19 19 19 13 13 13 4 4 4
++0 0 0 13 13 13 19 19 19 14 14 14 4 4 4 3 3 3 11 11 11 20 20 20
++16 16 16 14 14 14 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 8 8 8
++11 11 11 14 14 14 19 19 19 24 24 24 28 28 28 28 28 28 25 25 25 24 24 24
++17 17 17 16 16 16 16 16 16 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13
++20 20 20 21 21 21 24 24 24 25 25 25 27 27 27 27 27 27 25 25 25 24 24 24
++16 16 16 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 17 17 17 19 19 19
++20 20 20 24 24 24 29 29 29 28 28 28 21 21 21 16 16 16 19 19 19 24 24 24
++23 23 23 28 28 28 33 33 33 33 33 33 25 25 25 19 19 19 19 19 19 24 24 24
++23 23 23 31 31 31 34 34 34 32 32 32 32 32 32 37 37 37 40 40 40 39 39 39
++39 39 39 42 42 42 40 40 40 36 36 36 31 31 31 28 28 28 25 25 25 23 23 23
++28 28 28 25 25 25 28 28 28 34 34 34 33 33 33 28 28 28 29 29 29 34 34 34
++36 36 36 33 33 33 37 37 37 40 40 40 37 37 37 27 27 27 25 25 25 33 33 33
++23 23 23 34 34 34 40 40 40 38 38 38 32 32 32 31 31 31 31 31 31 31 31 31
++32 32 32 36 36 36 36 36 36 33 33 33 33 33 33 36 36 36 36 36 36 33 33 33
++33 33 33 33 33 33 34 34 34 36 36 36 37 37 37 36 36 36 32 32 32 29 29 29
++33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 32 32 32 27 27 27 24 24 24
++21 21 21 23 23 23 27 27 27 31 31 31 33 33 33 34 34 34 34 34 34 33 33 33
++32 32 32 34 34 34 36 36 36 37 37 37 37 37 37 36 36 36 34 34 34 33 33 33
++31 31 31 32 32 32 32 32 32 29 29 29 27 27 27 24 24 24 24 24 24 25 25 25
++34 34 34 34 34 34 34 34 34 34 34 34 36 36 36 34 34 34 34 34 34 33 33 33
++34 34 34 32 32 32 29 29 29 28 28 28 29 29 29 32 32 32 33 33 33 34 34 34
++31 31 31 28 28 28 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 27 27 27
++29 29 29 27 27 27 21 21 21 17 17 17 16 16 16 16 16 16 14 14 14 14 14 14
++16 16 16 16 16 16 14 14 14 14 14 14 14 14 14 16 16 16 20 20 20 23 23 23
++20 20 20 19 19 19 16 16 16 14 14 14 13 13 13 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 14 14 14 17 17 17 21 21 21 24 24 24 25 25 25 25 25 25
++20 20 20 21 21 21 23 23 23 23 23 23 23 23 23 20 20 20 17 17 17 14 14 14
++17 17 17 19 19 19 19 19 19 17 17 17 16 16 16 16 16 16 16 16 16 17 17 17
++17 17 17 21 21 21 19 19 19 13 13 13 16 16 16 23 23 23 19 19 19 8 8 8
++11 11 11 10 10 10 16 16 16 21 21 21 14 14 14 0 0 0 0 0 0 10 10 10
++17 17 17 17 17 17 17 17 17 17 17 17 19 19 19 20 20 20 20 20 20 21 21 21
++20 20 20 17 17 17 17 17 17 19 19 19 21 21 21 21 21 21 19 19 19 14 14 14
++10 10 10 3 3 3 4 4 4 10 10 10 13 13 13 0 0 0 0 0 0 20 20 20
++10 10 10 3 3 3 24 24 24 0 0 0 0 0 0 4 4 4 14 14 14 13 13 13
++6 6 6 6 6 6 0 0 0 19 19 19 3 3 3 10 10 10 17 17 17 0 0 0
++19 19 19 8 8 8 27 27 27 28 28 28 16 16 16 13 13 13 28 28 28 14 14 14
++24 24 24 21 21 21 31 31 31 21 21 21 24 24 24 73 73 73 200 220 210 187 210 182
++10 10 10 40 40 40 0 0 0 36 36 36 57 57 57 6 6 6 0 0 0 0 0 0
++14 14 14 0 0 0 10 10 10 21 21 21 11 11 11 11 11 11 0 0 0 24 24 24
++28 28 28 0 0 0 49 49 49 49 49 49 19 19 19 0 0 0 6 6 6 14 14 14
++0 0 0 14 14 14 10 10 10 16 16 16 0 0 0 10 10 10 8 8 8 0 0 0
++23 23 23 20 20 20 19 19 19 6 6 6 29 29 29 4 4 4 32 32 32 16 16 16
++19 19 19 16 16 16 14 14 14 17 17 17 21 21 21 23 23 23 19 19 19 13 13 13
++
++0 0 0 0 0 0 10 10 10 16 16 16 8 8 8 0 0 0 0 0 0 10 10 10
++14 14 14 13 13 13 3 3 3 0 0 0 4 4 4 19 19 19 16 16 16 0 0 0
++0 0 0 3 3 3 11 11 11 17 17 17 8 8 8 0 0 0 0 0 0 16 16 16
++16 16 16 10 10 10 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4
++14 14 14 14 14 14 8 8 8 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0
++0 0 0 8 8 8 11 11 11 8 8 8 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 6 6 6 11 11 11 11 11 11 6 6 6 0 0 0 0 0 0 0 0 0
++0 0 0 4 4 4 13 13 13 14 14 14 10 10 10 4 4 4 0 0 0 0 0 0
++3 3 3 0 0 0 6 6 6 16 16 16 17 17 17 8 8 8 0 0 0 4 4 4
++3 3 3 0 0 0 0 0 0 4 4 4 17 17 17 20 20 20 13 13 13 3 3 3
++3 3 3 0 0 0 0 0 0 4 4 4 11 11 11 13 13 13 6 6 6 0 0 0
++6 6 6 0 0 0 0 0 0 0 0 0 6 6 6 11 11 11 10 10 10 6 6 6
++4 4 4 0 0 0 0 0 0 8 8 8 17 17 17 23 23 23 23 23 23 20 20 20
++16 16 16 19 19 19 21 21 21 19 19 19 14 14 14 11 11 11 13 13 13 14 14 14
++17 17 17 0 0 0 0 0 0 6 6 6 16 16 16 10 10 10 3 3 3 3 3 3
++3 3 3 17 17 17 20 20 20 8 8 8 0 0 0 8 8 8 17 17 17 19 19 19
++11 11 11 3 3 3 3 3 3 14 14 14 19 19 19 13 13 13 4 4 4 3 3 3
++4 4 4 14 14 14 16 16 16 6 6 6 3 3 3 10 10 10 14 14 14 14 14 14
++8 8 8 10 10 10 10 10 10 10 10 10 8 8 8 8 8 8 8 8 8 10 10 10
++16 16 16 20 20 20 24 24 24 25 25 25 24 24 24 20 20 20 16 16 16 14 14 14
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 13 13 13 14 14 14 19 19 19 24 24 24 28 28 28 31 31 31
++19 19 19 17 17 17 14 14 14 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14
++14 14 14 14 14 14 21 21 21 28 28 28 25 25 25 14 14 14 13 13 13 20 20 20
++16 16 16 19 19 19 27 27 27 34 34 34 31 31 31 20 20 20 16 16 16 20 20 20
++19 19 19 21 21 21 25 25 25 31 31 31 33 33 33 34 34 34 36 36 36 36 36 36
++38 38 38 34 34 34 34 34 34 37 37 37 34 34 34 28 28 28 21 21 21 19 19 19
++24 24 24 25 25 25 29 29 29 33 33 33 34 34 34 32 32 32 28 28 28 24 24 24
++37 37 37 25 25 25 27 27 27 39 39 39 40 40 40 28 28 28 23 23 23 29 29 29
++20 20 20 27 27 27 33 33 33 33 33 33 31 31 31 31 31 31 31 31 31 29 29 29
++27 27 27 28 28 28 28 28 28 29 29 29 32 32 32 33 33 33 29 29 29 23 23 23
++24 24 24 27 27 27 29 29 29 34 34 34 38 38 38 37 37 37 32 32 32 28 28 28
++32 32 32 31 31 31 29 29 29 29 29 29 29 29 29 28 28 28 24 24 24 20 20 20
++21 21 21 21 21 21 23 23 23 28 28 28 33 33 33 34 34 34 29 29 29 24 24 24
++27 27 27 31 31 31 36 36 36 38 38 38 37 37 37 34 34 34 33 33 33 33 33 33
++33 33 33 33 33 33 31 31 31 27 27 27 23 23 23 20 20 20 20 20 20 21 21 21
++36 36 36 33 33 33 31 31 31 31 31 31 33 33 33 33 33 33 32 32 32 29 29 29
++25 25 25 24 24 24 21 21 21 21 21 21 24 24 24 27 27 27 27 27 27 27 27 27
++21 21 21 19 19 19 14 14 14 14 14 14 19 19 19 23 23 23 24 24 24 25 25 25
++28 28 28 21 21 21 14 14 14 11 11 11 14 14 14 16 16 16 14 14 14 11 11 11
++14 14 14 13 13 13 10 10 10 11 11 11 14 14 14 19 19 19 23 23 23 25 25 25
++19 19 19 19 19 19 16 16 16 14 14 14 11 11 11 11 11 11 10 10 10 10 10 10
++11 11 11 10 10 10 8 8 8 11 11 11 17 17 17 20 20 20 21 21 21 20 20 20
++16 16 16 19 19 19 21 21 21 24 24 24 24 24 24 23 23 23 20 20 20 17 17 17
++21 21 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 17 17 17
++17 17 17 20 20 20 20 20 20 17 17 17 20 20 20 24 24 24 21 21 21 11 11 11
++14 14 14 11 11 11 14 14 14 19 19 19 14 14 14 3 3 3 0 0 0 6 6 6
++13 13 13 17 17 17 20 20 20 17 17 17 13 13 13 11 11 11 16 16 16 21 21 21
++21 21 21 16 16 16 11 11 11 13 13 13 17 17 17 17 17 17 11 11 11 4 4 4
++10 10 10 0 0 0 58 58 58 137 138 139 180 183 185 166 167 167 144 145 144 180 183 185
++109 110 110 23 23 23 137 138 139 187 210 182 112 112 113 17 17 17 96 97 98 200 220 210
++149 149 149 0 0 0 78 78 78 187 210 182 152 153 154 129 129 130 180 183 185 180 183 185
++69 69 69 112 112 113 180 183 185 180 183 185 112 112 113 27 27 27 13 13 13 29 29 29
++142 143 144 180 183 185 180 183 185 133 133 133 16 16 16 180 183 185 200 220 210 200 220 210
++200 220 210 112 112 113 14 14 14 187 210 182 187 210 182 70 70 70 56 56 56 180 183 185
++180 183 185 81 81 81 10 10 10 180 183 185 200 220 210 83 83 83 14 14 14 21 21 21
++16 16 16 19 19 19 180 183 185 180 183 185 66 66 66 20 20 20 144 145 144 180 183 185
++105 105 105 163 163 163 180 183 185 144 145 144 34 34 34 0 0 0 0 0 0 29 29 29
++117 117 117 180 183 185 180 183 185 169 175 167 8 8 8 0 0 0 17 17 17 21 21 21
++13 13 13 11 11 11 11 11 11 13 13 13 16 16 16 17 17 17 17 17 17 16 16 16
++
++6 6 6 0 0 0 0 0 0 6 6 6 11 11 11 8 8 8 0 0 0 0 0 0
++6 6 6 14 14 14 13 13 13 0 0 0 0 0 0 10 10 10 14 14 14 10 10 10
++8 8 8 0 0 0 0 0 0 13 13 13 14 14 14 3 3 3 0 0 0 6 6 6
++13 13 13 11 11 11 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 13 13 13 16 16 16 8 8 8 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 4 4 4 11 11 11 10 10 10 3 3 3 0 0 0 0 0 0 3 3 3
++3 3 3 0 0 0 3 3 3 8 8 8 11 11 11 11 11 11 4 4 4 0 0 0
++4 4 4 3 3 3 3 3 3 6 6 6 10 10 10 10 10 10 4 4 4 0 0 0
++0 0 0 8 8 8 11 11 11 6 6 6 6 6 6 11 11 11 8 8 8 0 0 0
++0 0 0 3 3 3 8 8 8 10 10 10 8 8 8 6 6 6 8 8 8 10 10 10
++4 4 4 3 3 3 3 3 3 6 6 6 11 11 11 11 11 11 3 3 3 0 0 0
++3 3 3 0 0 0 0 0 0 3 3 3 10 10 10 13 13 13 8 8 8 3 3 3
++0 0 0 0 0 0 4 4 4 11 11 11 17 17 17 21 21 21 20 20 20 19 19 19
++14 14 14 16 16 16 17 17 17 17 17 17 14 14 14 11 11 11 11 11 11 11 11 11
++3 3 3 0 0 0 4 4 4 17 17 17 16 16 16 0 0 0 0 0 0 4 4 4
++13 13 13 16 16 16 10 10 10 0 0 0 4 4 4 17 17 17 19 19 19 10 10 10
++0 0 0 4 4 4 13 13 13 17 17 17 11 11 11 0 0 0 3 3 3 11 11 11
++13 13 13 10 10 10 4 4 4 3 3 3 10 10 10 16 16 16 13 13 13 4 4 4
++4 4 4 6 6 6 10 10 10 8 8 8 8 8 8 8 8 8 11 11 11 14 14 14
++19 19 19 21 21 21 24 24 24 21 21 21 17 17 17 13 13 13 10 10 10 8 8 8
++13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 16 16 16
++13 13 13 11 11 11 10 10 10 10 10 10 13 13 13 19 19 19 23 23 23 27 27 27
++23 23 23 19 19 19 14 14 14 11 11 11 13 13 13 14 14 14 14 14 14 13 13 13
++16 16 16 10 10 10 11 11 11 21 21 21 27 27 27 23 23 23 16 16 16 11 11 11
++16 16 16 13 13 13 16 16 16 25 25 25 31 31 31 27 27 27 19 19 19 14 14 14
++14 14 14 16 16 16 19 19 19 24 24 24 29 29 29 33 33 33 33 33 33 32 32 32
++33 33 33 32 32 32 29 29 29 32 32 32 33 33 33 32 32 32 24 24 24 17 17 17
++23 23 23 24 24 24 25 25 25 25 25 25 31 31 31 34 34 34 28 28 28 19 19 19
++28 28 28 29 29 29 29 29 29 28 28 28 31 31 31 32 32 32 28 28 28 23 23 23
++24 24 24 25 25 25 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 28 28 28
++27 27 27 24 24 24 21 21 21 23 23 23 28 28 28 31 31 31 27 27 27 21 21 21
++17 17 17 19 19 19 24 24 24 31 31 31 37 37 37 38 38 38 36 36 36 32 32 32
++31 31 31 29 29 29 28 28 28 28 28 28 28 28 28 28 28 28 25 25 25 23 23 23
++24 24 24 24 24 24 25 25 25 28 28 28 31 31 31 29 29 29 25 25 25 21 21 21
++20 20 20 25 25 25 32 32 32 33 33 33 31 31 31 28 28 28 28 28 28 31 31 31
++33 33 33 32 32 32 28 28 28 23 23 23 19 19 19 17 17 17 19 19 19 21 21 21
++27 27 27 23 23 23 17 17 17 17 17 17 20 20 20 24 24 24 23 23 23 21 21 21
++19 19 19 17 17 17 20 20 20 23 23 23 25 25 25 24 24 24 20 20 20 16 16 16
++14 14 14 10 10 10 6 6 6 6 6 6 11 11 11 17 17 17 19 19 19 19 19 19
++17 17 17 13 13 13 10 10 10 8 8 8 11 11 11 14 14 14 14 14 14 13 13 13
++13 13 13 10 10 10 8 8 8 11 11 11 16 16 16 20 20 20 23 23 23 23 23 23
++19 19 19 19 19 19 17 17 17 16 16 16 13 13 13 11 11 11 11 11 11 10 10 10
++11 11 11 8 8 8 6 6 6 8 8 8 14 14 14 16 16 16 14 14 14 11 11 11
++10 10 10 11 11 11 14 14 14 16 16 16 16 16 16 16 16 16 14 14 14 13 13 13
++16 16 16 14 14 14 13 13 13 14 14 14 17 17 17 17 17 17 16 16 16 13 13 13
++16 16 16 16 16 16 11 11 11 4 4 4 8 8 8 16 16 16 19 19 19 14 14 14
++13 13 13 8 8 8 10 10 10 13 13 13 13 13 13 4 4 4 3 3 3 6 6 6
++6 6 6 11 11 11 13 13 13 10 10 10 4 4 4 3 3 3 6 6 6 11 11 11
++6 6 6 4 4 4 4 4 4 6 6 6 10 10 10 10 10 10 4 4 4 0 0 0
++0 0 0 23 23 23 157 157 157 200 220 210 149 149 149 134 134 134 180 183 185 200 220 210
++105 105 105 0 0 0 152 153 154 200 220 210 88 88 88 0 0 0 105 105 105 187 210 182
++157 157 157 6 6 6 65 65 65 187 210 182 200 220 210 157 157 157 180 183 185 187 210 182
++180 183 185 180 183 185 166 167 167 180 183 185 180 183 185 65 65 65 4 4 4 166 165 167
++187 210 182 145 146 147 121 121 119 127 127 127 16 16 16 144 145 144 180 183 185 187 210 182
++115 116 115 62 62 62 14 14 14 180 183 185 200 220 210 60 60 60 29 29 29 105 105 105
++200 220 210 166 167 167 92 92 92 187 210 182 144 145 144 21 21 21 19 19 19 4 4 4
++21 21 21 3 3 3 187 210 182 200 220 210 66 66 66 0 0 0 155 156 156 200 220 210
++187 210 182 163 163 163 180 183 185 200 220 210 129 129 130 10 10 10 23 23 23 157 157 157
++187 210 182 169 175 167 121 121 119 101 101 101 13 13 13 8 8 8 0 0 0 17 17 17
++8 8 8 8 8 8 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 10 10 10
++
++13 13 13 6 6 6 0 0 0 0 0 0 6 6 6 16 16 16 10 10 10 0 0 0
++0 0 0 8 8 8 13 13 13 8 8 8 0 0 0 0 0 0 4 4 4 11 11 11
++11 11 11 4 4 4 0 0 0 4 4 4 13 13 13 13 13 13 6 6 6 0 0 0
++4 4 4 8 8 8 11 11 11 8 8 8 3 3 3 0 0 0 0 0 0 3 3 3
++0 0 0 4 4 4 11 11 11 14 14 14 8 8 8 0 0 0 0 0 0 8 8 8
++0 0 0 0 0 0 4 4 4 8 8 8 8 8 8 4 4 4 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 4 4 4 10 10 10 11 11 11 6 6 6 3 3 3
++8 8 8 3 3 3 0 0 0 0 0 0 4 4 4 8 8 8 6 6 6 3 3 3
++3 3 3 10 10 10 8 8 8 0 0 0 0 0 0 8 8 8 10 10 10 3 3 3
++0 0 0 10 10 10 14 14 14 8 8 8 0 0 0 0 0 0 3 3 3 13 13 13
++4 4 4 6 6 6 8 8 8 8 8 8 6 6 6 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 6 6 6 10 10 10 10 10 10 8 8 8 4 4 4 0 0 0
++0 0 0 0 0 0 6 6 6 13 13 13 17 17 17 19 19 19 19 19 19 17 17 17
++16 16 16 14 14 14 14 14 14 14 14 14 16 16 16 13 13 13 8 8 8 3 3 3
++0 0 0 4 4 4 14 14 14 14 14 14 8 8 8 0 0 0 3 3 3 10 10 10
++13 13 13 6 6 6 0 0 0 0 0 0 13 13 13 17 17 17 11 11 11 0 0 0
++3 3 3 13 13 13 17 17 17 10 10 10 3 3 3 4 4 4 10 10 10 13 13 13
++14 14 14 4 4 4 0 0 0 8 8 8 14 14 14 13 13 13 6 6 6 3 3 3
++6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 10 10 10 16 16 16 20 20 20
++20 20 20 20 20 20 19 19 19 16 16 16 10 10 10 8 8 8 8 8 8 10 10 10
++8 8 8 8 8 8 8 8 8 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11
++13 13 13 13 13 13 11 11 11 11 11 11 11 11 11 14 14 14 17 17 17 19 19 19
++24 24 24 20 20 20 16 16 16 13 13 13 14 14 14 14 14 14 14 14 14 13 13 13
++13 13 13 13 13 13 11 11 11 13 13 13 21 21 21 25 25 25 20 20 20 11 11 11
++16 16 16 14 14 14 11 11 11 13 13 13 20 20 20 27 27 27 23 23 23 14 14 14
++11 11 11 16 16 16 16 16 16 14 14 14 20 20 20 31 31 31 32 32 32 27 27 27
++28 28 28 31 31 31 28 28 28 23 23 23 27 27 27 34 34 34 31 31 31 20 20 20
++20 20 20 21 21 21 19 19 19 16 16 16 23 23 23 31 31 31 29 29 29 23 23 23
++20 20 20 29 29 29 31 31 31 21 21 21 20 20 20 28 28 28 29 29 29 23 23 23
++28 28 28 25 25 25 23 23 23 23 23 23 25 25 25 27 27 27 28 28 28 29 29 29
++24 24 24 19 19 19 14 14 14 16 16 16 23 23 23 28 28 28 31 31 31 31 31 31
++19 19 19 20 20 20 23 23 23 27 27 27 32 32 32 34 34 34 34 34 34 33 33 33
++29 29 29 27 27 27 25 25 25 27 27 27 28 28 28 29 29 29 29 29 29 28 28 28
++17 17 17 20 20 20 23 23 23 23 23 23 21 21 21 23 23 23 25 25 25 28 28 28
++20 20 20 24 24 24 28 28 28 28 28 28 25 25 25 24 24 24 27 27 27 29 29 29
++29 29 29 28 28 28 24 24 24 20 20 20 16 16 16 16 16 16 19 19 19 21 21 21
++23 23 23 16 16 16 10 10 10 8 8 8 13 13 13 19 19 19 20 20 20 20 20 20
++23 23 23 24 24 24 24 24 24 27 27 27 27 27 27 25 25 25 20 20 20 16 16 16
++20 20 20 17 17 17 16 16 16 17 17 17 19 19 19 21 21 21 21 21 21 21 21 21
++10 10 10 13 13 13 14 14 14 14 14 14 13 13 13 11 11 11 13 13 13 16 16 16
++11 11 11 11 11 11 11 11 11 13 13 13 17 17 17 19 19 19 19 19 19 16 16 16
++19 19 19 19 19 19 17 17 17 17 17 17 16 16 16 14 14 14 13 13 13 13 13 13
++4 4 4 3 3 3 3 3 3 8 8 8 14 14 14 17 17 17 14 14 14 10 10 10
++8 8 8 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 10 10 10 13 13 13 14 14 14 13 13 13 10 10 10
++11 11 11 10 10 10 3 3 3 0 0 0 0 0 0 8 8 8 13 13 13 13 13 13
++6 6 6 3 3 3 3 3 3 6 6 6 8 8 8 6 6 6 4 4 4 6 6 6
++13 13 13 11 11 11 10 10 10 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++0 0 0 4 4 4 11 11 11 13 13 13 10 10 10 6 6 6 6 6 6 8 8 8
++11 11 11 78 78 78 187 210 182 169 175 167 10 10 10 13 13 13 166 167 167 200 220 210
++101 101 101 6 6 6 152 153 154 187 210 182 105 105 105 14 14 14 103 103 102 187 210 182
++149 149 149 25 25 25 70 70 70 200 220 210 187 210 182 32 32 32 33 33 33 187 210 182
++187 210 182 78 78 78 24 24 24 161 161 162 200 220 210 90 90 90 29 29 29 180 183 185
++187 210 182 133 133 133 48 48 48 11 11 11 19 19 19 70 70 70 180 183 185 200 220 210
++6 6 6 17 17 17 14 14 14 180 183 185 187 210 182 74 74 74 14 14 14 14 14 14
++149 151 153 187 210 182 200 220 210 180 183 185 33 33 33 0 0 0 27 27 27 16 16 16
++0 0 0 14 14 14 200 220 210 180 183 185 71 71 71 6 6 6 149 149 149 180 183 185
++125 122 126 3 3 3 69 69 69 200 220 210 187 210 182 13 13 13 67 67 67 200 220 210
++180 183 185 19 19 19 0 0 0 11 11 11 0 0 0 14 14 14 17 17 17 0 0 0
++6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 8 8 8 11 11 11
++
++10 10 10 11 11 11 6 6 6 0 0 0 0 0 0 10 10 10 13 13 13 6 6 6
++3 3 3 0 0 0 3 3 3 10 10 10 10 10 10 3 3 3 0 0 0 3 3 3
++6 6 6 10 10 10 10 10 10 4 4 4 4 4 4 10 10 10 10 10 10 4 4 4
++0 0 0 4 4 4 11 11 11 11 11 11 4 4 4 0 0 0 0 0 0 3 3 3
++3 3 3 0 0 0 0 0 0 11 11 11 16 16 16 8 8 8 3 3 3 4 4 4
++3 3 3 0 0 0 0 0 0 3 3 3 8 8 8 8 8 8 4 4 4 0 0 0
++0 0 0 0 0 0 4 4 4 4 4 4 0 0 0 3 3 3 8 8 8 11 11 11
++3 3 3 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 4 4 4 11 11 11
++13 13 13 4 4 4 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 11 11 11
++11 11 11 11 11 11 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6
++6 6 6 10 10 10 10 10 10 6 6 6 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 3 3 3 10 10 10 11 11 11 8 8 8 3 3 3 0 0 0 3 3 3
++0 0 0 3 3 3 10 10 10 14 14 14 16 16 16 16 16 16 16 16 16 16 16 16
++16 16 16 13 13 13 11 11 11 13 13 13 14 14 14 11 11 11 4 4 4 0 0 0
++10 10 10 11 11 11 8 8 8 0 0 0 0 0 0 8 8 8 11 11 11 10 10 10
++4 4 4 0 0 0 3 3 3 10 10 10 11 11 11 6 6 6 3 3 3 4 4 4
++11 11 11 14 14 14 10 10 10 0 0 0 3 3 3 13 13 13 14 14 14 8 8 8
++6 6 6 3 3 3 6 6 6 13 13 13 11 11 11 0 0 0 0 0 0 8 8 8
++10 10 10 8 8 8 8 8 8 6 6 6 8 8 8 13 13 13 19 19 19 23 23 23
++17 17 17 16 16 16 13 13 13 8 8 8 6 6 6 6 6 6 8 8 8 11 11 11
++8 8 8 8 8 8 8 8 8 8 8 8 10 10 10 10 10 10 11 11 11 11 11 11
++10 10 10 10 10 10 11 11 11 11 11 11 13 13 13 13 13 13 14 14 14 14 14 14
++21 21 21 19 19 19 16 16 16 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13
++8 8 8 16 16 16 17 17 17 11 11 11 11 11 11 19 19 19 21 21 21 17 17 17
++11 11 11 17 17 17 16 16 16 8 8 8 8 8 8 17 17 17 23 23 23 20 20 20
++11 11 11 16 16 16 14 14 14 8 8 8 14 14 14 25 25 25 29 29 29 23 23 23
++25 25 25 29 29 29 27 27 27 17 17 17 19 19 19 31 31 31 32 32 32 24 24 24
++17 17 17 19 19 19 16 16 16 11 11 11 14 14 14 24 24 24 27 27 27 25 25 25
++21 21 21 24 24 24 24 24 24 21 21 21 19 19 19 19 19 19 21 21 21 25 25 25
++27 27 27 21 21 21 19 19 19 20 20 20 23 23 23 24 24 24 27 27 27 29 29 29
++28 28 28 23 23 23 17 17 17 16 16 16 17 17 17 20 20 20 25 25 25 31 31 31
++25 25 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25
++27 27 27 24 24 24 23 23 23 23 23 23 25 25 25 28 28 28 29 29 29 29 29 29
++17 17 17 19 19 19 20 20 20 16 16 16 11 11 11 11 11 11 17 17 17 23 23 23
++23 23 23 25 25 25 27 27 27 25 25 25 23 23 23 24 24 24 27 27 27 29 29 29
++24 24 24 24 24 24 21 21 21 17 17 17 14 14 14 14 14 14 17 17 17 20 20 20
++25 25 25 20 20 20 16 16 16 14 14 14 17 17 17 21 21 21 23 23 23 23 23 23
++25 25 25 24 24 24 21 21 21 19 19 19 17 17 17 17 17 17 17 17 17 19 19 19
++21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 20 20 20 20 20 20 20 20 20
++14 14 14 19 19 19 23 23 23 21 21 21 16 16 16 11 11 11 11 11 11 14 14 14
++11 11 11 11 11 11 13 13 13 14 14 14 16 16 16 14 14 14 13 13 13 10 10 10
++16 16 16 16 16 16 16 16 16 17 17 17 16 16 16 16 16 16 14 14 14 14 14 14
++10 10 10 10 10 10 10 10 10 13 13 13 14 14 14 14 14 14 8 8 8 3 3 3
++10 10 10 8 8 8 6 6 6 4 4 4 3 3 3 4 4 4 6 6 6 6 6 6
++4 4 4 4 4 4 6 6 6 10 10 10 13 13 13 13 13 13 11 11 11 10 10 10
++4 4 4 6 6 6 6 6 6 4 4 4 6 6 6 8 8 8 10 10 10 8 8 8
++0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 6 6 6 8 8 8
++13 13 13 10 10 10 4 4 4 4 4 4 8 8 8 10 10 10 8 8 8 4 4 4
++0 0 0 10 10 10 14 14 14 14 14 14 6 6 6 0 0 0 3 3 3 8 8 8
++0 0 0 105 105 105 187 210 182 152 153 154 11 11 11 0 0 0 147 147 148 200 220 210
++105 104 105 6 6 6 145 146 147 180 183 185 109 110 110 6 6 6 105 105 105 180 183 185
++157 157 157 0 0 0 62 62 62 200 220 210 180 183 185 14 14 14 24 24 24 187 210 182
++200 220 210 72 72 72 10 10 10 147 147 148 187 210 182 109 110 110 4 4 4 93 93 93
++180 183 185 180 183 185 187 210 182 117 117 117 0 0 0 78 78 78 200 220 210 180 183 185
++10 10 10 19 19 19 0 0 0 200 220 210 180 183 185 78 78 78 0 0 0 13 13 13
++82 82 82 187 210 182 180 183 185 112 112 113 4 4 4 33 33 33 0 0 0 10 10 10
++16 16 16 4 4 4 200 220 210 200 220 210 63 63 63 0 0 0 157 157 157 180 183 185
++99 99 99 10 10 10 69 69 69 200 220 210 187 210 182 0 0 0 112 112 113 187 210 182
++149 151 153 4 4 4 19 19 19 19 19 19 19 19 19 0 0 0 11 11 11 10 10 10
++6 6 6 6 6 6 8 8 8 8 8 8 10 10 10 13 13 13 16 16 16 17 17 17
++
++3 3 3 8 8 8 11 11 11 6 6 6 0 0 0 0 0 0 6 6 6 13 13 13
++8 8 8 0 0 0 0 0 0 4 4 4 11 11 11 8 8 8 3 3 3 0 0 0
++0 0 0 10 10 10 13 13 13 6 6 6 0 0 0 0 0 0 8 8 8 10 10 10
++4 4 4 4 4 4 4 4 4 6 6 6 8 8 8 8 8 8 3 3 3 0 0 0
++3 3 3 0 0 0 0 0 0 4 4 4 11 11 11 11 11 11 6 6 6 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6 6 6 6 4 4 4
++0 0 0 0 0 0 4 4 4 3 3 3 0 0 0 0 0 0 8 8 8 13 13 13
++3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 11 11 11
++13 13 13 3 3 3 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 10 10 10
++13 13 13 10 10 10 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++10 10 10 10 10 10 8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3
++6 6 6 8 8 8 8 8 8 6 6 6 3 3 3 0 0 0 0 0 0 3 3 3
++0 0 0 6 6 6 11 11 11 14 14 14 14 14 14 13 13 13 13 13 13 14 14 14
++11 11 11 13 13 13 13 13 13 11 11 11 8 8 8 4 4 4 3 3 3 3 3 3
++14 14 14 10 10 10 0 0 0 0 0 0 0 0 0 11 11 11 11 11 11 4 4 4
++0 0 0 3 3 3 10 10 10 13 13 13 6 6 6 0 0 0 3 3 3 11 11 11
++13 13 13 10 10 10 3 3 3 3 3 3 10 10 10 13 13 13 11 11 11 4 4 4
++3 3 3 6 6 6 11 11 11 10 10 10 3 3 3 0 0 0 3 3 3 8 8 8
++8 8 8 6 6 6 6 6 6 8 8 8 11 11 11 14 14 14 17 17 17 19 19 19
++13 13 13 10 10 10 6 6 6 4 4 4 6 6 6 6 6 6 8 8 8 8 8 8
++10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++8 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11
++16 16 16 17 17 17 16 16 16 14 14 14 13 13 13 11 11 11 11 11 11 13 13 13
++10 10 10 13 13 13 13 13 13 11 11 11 10 10 10 13 13 13 17 17 17 20 20 20
++14 14 14 16 16 16 14 14 14 10 10 10 8 8 8 11 11 11 17 17 17 20 20 20
++16 16 16 14 14 14 13 13 13 11 11 11 14 14 14 19 19 19 21 21 21 23 23 23
++24 24 24 27 27 27 23 23 23 14 14 14 13 13 13 19 19 19 24 24 24 25 25 25
++13 13 13 16 16 16 16 16 16 13 13 13 13 13 13 16 16 16 20 20 20 23 23 23
++23 23 23 19 19 19 19 19 19 21 21 21 20 20 20 16 16 16 16 16 16 23 23 23
++25 25 25 20 20 20 17 17 17 20 20 20 21 21 21 19 19 19 19 19 19 21 21 21
++29 29 29 27 27 27 24 24 24 21 21 21 16 16 16 11 11 11 14 14 14 23 23 23
++25 25 25 27 27 27 27 27 27 23 23 23 17 17 17 14 14 14 14 14 14 17 17 17
++23 23 23 20 20 20 17 17 17 17 17 17 20 20 20 23 23 23 24 24 24 25 25 25
++21 21 21 20 20 20 16 16 16 13 13 13 10 10 10 11 11 11 14 14 14 16 16 16
++23 23 23 23 23 23 23 23 23 21 21 21 21 21 21 21 21 21 23 23 23 25 25 25
++23 23 23 21 21 21 20 20 20 16 16 16 13 13 13 13 13 13 14 14 14 17 17 17
++23 23 23 23 23 23 21 21 21 20 20 20 20 20 20 19 19 19 17 17 17 17 17 17
++17 17 17 19 19 19 17 17 17 13 13 13 8 8 8 8 8 8 13 13 13 16 16 16
++16 16 16 17 17 17 19 19 19 17 17 17 14 14 14 13 13 13 14 14 14 16 16 16
++17 17 17 19 19 19 19 19 19 17 17 17 14 14 14 13 13 13 11 11 11 11 11 11
++11 11 11 13 13 13 13 13 13 13 13 13 11 11 11 10 10 10 10 10 10 10 10 10
++10 10 10 11 11 11 13 13 13 14 14 14 16 16 16 14 14 14 14 14 14 13 13 13
++17 17 17 16 16 16 16 16 16 14 14 14 13 13 13 10 10 10 6 6 6 4 4 4
++8 8 8 8 8 8 6 6 6 6 6 6 4 4 4 6 6 6 6 6 6 6 6 6
++4 4 4 8 8 8 11 11 11 11 11 11 11 11 11 8 8 8 6 6 6 6 6 6
++0 0 0 4 4 4 8 8 8 10 10 10 10 10 10 8 8 8 6 6 6 4 4 4
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6 10 10 10
++6 6 6 3 3 3 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 0 0 0
++6 6 6 8 8 8 8 8 8 6 6 6 0 0 0 0 0 0 0 0 0 4 4 4
++3 3 3 89 89 89 200 220 210 163 163 163 14 14 14 23 23 23 166 167 167 180 183 185
++109 110 110 6 6 6 147 147 148 200 220 210 115 116 115 0 0 0 125 125 127 200 220 210
++152 153 154 6 6 6 68 68 68 180 183 185 187 210 182 6 6 6 8 8 8 200 220 210
++187 210 182 63 63 63 25 25 25 157 157 157 180 183 185 125 125 127 8 8 8 10 10 10
++6 6 6 92 92 92 200 220 210 187 210 182 75 75 75 51 51 51 180 183 185 200 220 210
++3 3 3 4 4 4 17 17 17 187 210 182 200 220 210 65 65 65 6 6 6 21 21 21
++169 175 167 180 183 185 180 183 185 187 210 182 66 66 66 0 0 0 19 19 19 10 10 10
++13 13 13 10 10 10 180 183 185 187 210 182 75 75 75 6 6 6 147 147 148 200 220 210
++105 105 105 0 0 0 57 57 57 180 183 185 187 210 182 14 14 14 96 96 96 180 183 185
++180 183 185 25 25 25 0 0 0 0 0 0 6 6 6 39 39 39 112 112 113 42 42 42
++10 10 10 10 10 10 10 10 10 10 10 10 13 13 13 14 14 14 16 16 16 17 17 17
++
++0 0 0 3 3 3 8 8 8 11 11 11 4 4 4 0 0 0 0 0 0 11 11 11
++10 10 10 4 4 4 0 0 0 0 0 0 6 6 6 10 10 10 6 6 6 3 3 3
++0 0 0 6 6 6 8 8 8 6 6 6 0 0 0 0 0 0 3 3 3 10 10 10
++13 13 13 4 4 4 0 0 0 0 0 0 10 10 10 13 13 13 4 4 4 0 0 0
++0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 6 6 6 8 8 8 4 4 4
++0 0 0 0 0 0 3 3 3 0 0 0 0 0 0 3 3 3 6 6 6 10 10 10
++4 4 4 0 0 0 0 0 0 0 0 0 4 4 4 8 8 8 8 8 8 6 6 6
++6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 4 4 4
++4 4 4 10 10 10 6 6 6 0 0 0 0 0 0 4 4 4 6 6 6 0 0 0
++8 8 8 6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++11 11 11 8 8 8 4 4 4 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++14 14 14 10 10 10 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 8 8 8 13 13 13 14 14 14 13 13 13 11 11 11 11 11 11 14 14 14
++8 8 8 13 13 13 14 14 14 10 10 10 0 0 0 0 0 0 4 4 4 11 11 11
++8 8 8 3 3 3 0 0 0 3 3 3 6 6 6 8 8 8 4 4 4 0 0 0
++0 0 0 8 8 8 11 11 11 8 8 8 0 0 0 0 0 0 6 6 6 14 14 14
++8 8 8 3 3 3 4 4 4 11 11 11 13 13 13 4 4 4 3 3 3 8 8 8
++6 6 6 11 11 11 8 8 8 0 0 0 0 0 0 6 6 6 6 6 6 3 3 3
++6 6 6 4 4 4 4 4 4 8 8 8 13 13 13 16 16 16 16 16 16 14 14 14
++10 10 10 6 6 6 4 4 4 4 4 4 6 6 6 8 8 8 6 6 6 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++10 10 10 10 10 10 8 8 8 8 8 8 6 6 6 6 6 6 6 6 6 6 6 6
++11 11 11 14 14 14 16 16 16 14 14 14 11 11 11 10 10 10 10 10 10 11 11 11
++16 16 16 6 6 6 0 0 0 10 10 10 14 14 14 13 13 13 13 13 13 16 16 16
++20 20 20 11 11 11 6 6 6 13 13 13 16 16 16 13 13 13 13 13 13 16 16 16
++20 20 20 13 13 13 11 11 11 16 16 16 17 17 17 13 13 13 16 16 16 23 23 23
++24 24 24 23 23 23 20 20 20 16 16 16 10 10 10 8 8 8 16 16 16 24 24 24
++10 10 10 13 13 13 17 17 17 17 17 17 13 13 13 10 10 10 14 14 14 19 19 19
++20 20 20 20 20 20 19 19 19 19 19 19 20 20 20 20 20 20 17 17 17 13 13 13
++27 27 27 23 23 23 20 20 20 21 21 21 20 20 20 13 13 13 8 8 8 11 11 11
++21 21 21 23 23 23 25 25 25 25 25 25 17 17 17 10 10 10 13 13 13 23 23 23
++20 20 20 24 24 24 25 25 25 21 21 21 14 14 14 10 10 10 10 10 10 13 13 13
++20 20 20 17 17 17 14 14 14 13 13 13 14 14 14 17 17 17 19 19 19 20 20 20
++20 20 20 14 14 14 11 11 11 11 11 11 17 17 17 21 21 21 23 23 23 21 21 21
++19 19 19 19 19 19 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++21 21 21 21 21 21 20 20 20 16 16 16 11 11 11 11 11 11 13 13 13 14 14 14
++17 17 17 19 19 19 20 20 20 20 20 20 17 17 17 13 13 13 8 8 8 4 4 4
++13 13 13 17 17 17 21 21 21 20 20 20 14 14 14 11 11 11 14 14 14 17 17 17
++13 13 13 17 17 17 19 19 19 16 16 16 10 10 10 8 8 8 13 13 13 17 17 17
++16 16 16 11 11 11 6 6 6 8 8 8 11 11 11 13 13 13 11 11 11 6 6 6
++11 11 11 13 13 13 13 13 13 11 11 11 8 8 8 6 6 6 10 10 10 11 11 11
++6 6 6 6 6 6 10 10 10 11 11 11 13 13 13 13 13 13 13 13 13 13 13 13
++14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 14 14 14 14 14 14 16 16 16
++3 3 3 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 6 6 4 4 4
++4 4 4 10 10 10 13 13 13 11 11 11 8 8 8 3 3 3 0 0 0 0 0 0
++3 3 3 4 4 4 6 6 6 8 8 8 6 6 6 4 4 4 4 4 4 4 4 4
++4 4 4 6 6 6 6 6 6 3 3 3 0 0 0 3 3 3 6 6 6 10 10 10
++4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 4 4 4 6 6 6
++13 13 13 10 10 10 4 4 4 3 3 3 4 4 4 6 6 6 10 10 10 11 11 11
++10 10 10 34 34 34 180 183 185 200 220 210 140 140 140 129 129 130 180 183 185 187 210 182
++101 101 101 3 3 3 112 112 113 180 183 185 187 210 182 149 149 149 187 210 182 180 183 185
++149 149 149 3 3 3 71 71 71 187 210 182 200 220 210 14 14 14 10 10 10 187 210 182
++187 210 182 74 74 74 8 8 8 152 153 154 187 210 182 101 101 101 10 10 10 152 153 154
++117 117 117 127 127 127 180 183 185 180 183 185 17 17 17 40 40 40 187 210 182 180 183 185
++166 167 167 91 91 91 0 0 0 187 210 182 187 210 182 69 69 69 17 17 17 96 97 98
++180 183 185 137 137 137 101 101 101 200 220 210 142 143 144 19 19 19 3 3 3 16 16 16
++8 8 8 16 16 16 200 220 210 187 210 182 63 63 63 14 14 14 155 156 156 180 183 185
++105 105 105 0 0 0 74 74 74 187 210 182 187 210 182 8 8 8 17 17 17 180 183 185
++180 183 185 169 175 167 105 105 105 121 121 119 11 11 11 139 139 139 200 220 210 140 140 140
++13 13 13 11 11 11 10 10 10 10 10 10 11 11 11 11 11 11 10 10 10 8 8 8
++
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++6 6 6 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6
++0 0 0 0 0 0 3 3 3 6 6 6 6 6 6 3 3 3 0 0 0 0 0 0
++8 8 8 6 6 6 3 3 3 0 0 0 0 0 0 3 3 3 6 6 6 8 8 8
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6 8 8 8
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++14 14 14 6 6 6 0 0 0 0 0 0 4 4 4 8 8 8 3 3 3 0 0 0
++6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6
++6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6
++0 0 0 4 4 4 6 6 6 4 4 4 0 0 0 0 0 0 6 6 6 11 11 11
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 6 6 6 8 8 8 8 8 8
++8 8 8 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++8 8 8 8 8 8 10 10 10 10 10 10 11 11 11 11 11 11 10 10 10 10 10 10
++14 14 14 11 11 11 8 8 8 4 4 4 3 3 3 3 3 3 4 4 4 6 6 6
++0 0 0 3 3 3 8 8 8 10 10 10 6 6 6 3 3 3 3 3 3 3 3 3
++10 10 10 6 6 6 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 6 6 6
++0 0 0 4 4 4 8 8 8 10 10 10 10 10 10 8 8 8 4 4 4 0 0 0
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++8 8 8 6 6 6 4 4 4 8 8 8 11 11 11 13 13 13 13 13 13 10 10 10
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++10 10 10 13 13 13 14 14 14 14 14 14 11 11 11 10 10 10 10 10 10 11 11 11
++10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 11 11 11 11 11 11 11 11 11
++14 14 14 14 14 14 13 13 13 13 13 13 14 14 14 14 14 14 16 16 16 17 17 17
++19 19 19 19 19 19 17 17 17 13 13 13 8 8 8 8 8 8 11 11 11 14 14 14
++14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++13 13 13 14 14 14 16 16 16 16 16 16 16 16 16 14 14 14 13 13 13 13 13 13
++13 13 13 16 16 16 17 17 17 16 16 16 13 13 13 8 8 8 8 8 8 8 8 8
++11 11 11 16 16 16 20 20 20 21 21 21 20 20 20 19 19 19 19 19 19 19 19 19
++19 19 19 17 17 17 16 16 16 14 14 14 13 13 13 11 11 11 10 10 10 10 10 10
++8 8 8 10 10 10 13 13 13 16 16 16 17 17 17 17 17 17 16 16 16 14 14 14
++10 10 10 11 11 11 14 14 14 16 16 16 17 17 17 17 17 17 16 16 16 16 16 16
++19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19
++19 19 19 19 19 19 17 17 17 16 16 16 14 14 14 13 13 13 11 11 11 11 11 11
++4 4 4 6 6 6 10 10 10 13 13 13 13 13 13 11 11 11 10 10 10 6 6 6
++14 14 14 16 16 16 19 19 19 19 19 19 19 19 19 16 16 16 13 13 13 11 11 11
++11 11 11 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++11 11 11 11 11 11 10 10 10 8 8 8 8 8 8 6 6 6 6 6 6 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++8 8 8 10 10 10 10 10 10 10 10 10 8 8 8 6 6 6 3 3 3 0 0 0
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++4 4 4 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 4 4 4
++0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 4 4 4 6 6 6 10 10 10
++8 8 8 8 8 8 6 6 6 4 4 4 4 4 4 6 6 6 8 8 8 8 8 8
++0 0 0 16 16 16 59 59 59 158 159 161 200 220 210 144 145 144 166 167 167 180 183 185
++103 103 102 0 0 0 28 28 28 127 127 127 200 220 210 166 167 167 112 112 113 180 183 185
++152 153 154 6 6 6 60 60 60 200 220 210 180 183 185 4 4 4 16 16 16 187 210 182
++187 210 182 63 63 63 14 14 14 149 149 149 200 220 210 95 95 94 44 44 44 139 139 139
++169 175 167 180 183 185 157 157 157 80 80 80 6 6 6 4 4 4 95 95 94 180 183 185
++187 210 182 94 94 94 25 25 25 180 183 185 187 210 182 68 68 68 60 60 60 180 183 185
++180 183 185 42 42 42 34 34 34 180 183 185 200 220 210 101 101 101 14 14 14 16 16 16
++3 3 3 25 25 25 180 183 185 200 220 210 67 67 67 13 13 13 152 153 154 187 210 182
++96 97 98 11 11 11 68 68 68 187 210 182 180 183 185 25 25 25 0 0 0 40 40 40
++131 131 131 169 175 167 200 220 210 155 156 156 16 16 16 105 105 105 187 210 182 112 112 113
++8 8 8 8 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++8 8 8 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3
++3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3
++4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 6 6 6
++0 0 0 0 0 0 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 8 8 8
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++6 6 6 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++11 11 11 10 10 10 8 8 8 6 6 6 4 4 4 4 4 4 3 3 3 3 3 3
++3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4
++6 6 6 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 4 4 4 6 6 6 8 8 8 11 11 11 13 13 13 11 11 11 8 8 8
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++8 8 8 11 11 11 13 13 13 13 13 13 10 10 10 8 8 8 8 8 8 10 10 10
++10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++13 13 13 13 13 13 13 13 13 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10
++13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 16 16 16 17 17 17 19 19 19
++17 17 17 17 17 17 17 17 17 16 16 16 11 11 11 10 10 10 11 11 11 13 13 13
++13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
++13 13 13 14 14 14 16 16 16 16 16 16 16 16 16 16 16 16 14 14 14 14 14 14
++13 13 13 14 14 14 17 17 17 17 17 17 14 14 14 11 11 11 10 10 10 8 8 8
++10 10 10 13 13 13 16 16 16 19 19 19 19 19 19 19 19 19 17 17 17 17 17 17
++17 17 17 17 17 17 16 16 16 16 16 16 14 14 14 13 13 13 11 11 11 11 11 11
++8 8 8 10 10 10 13 13 13 14 14 14 16 16 16 16 16 16 14 14 14 13 13 13
++11 11 11 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13
++17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17
++17 17 17 16 16 16 16 16 16 14 14 14 13 13 13 11 11 11 10 10 10 10 10 10
++11 11 11 13 13 13 14 14 14 16 16 16 16 16 16 16 16 16 14 14 14 13 13 13
++14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13
++13 13 13 13 13 13 13 13 13 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++11 11 11 10 10 10 10 10 10 8 8 8 8 8 8 6 6 6 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
++8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 4 4 4 4 4 4 3 3 3
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 6 6 6 6 6 6 6 6 6
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 4 4 4 6 6 6 8 8 8
++8 8 8 8 8 8 6 6 6 4 4 4 4 4 4 6 6 6 8 8 8 8 8 8
++14 14 14 0 0 0 24 24 24 13 13 13 0 0 0 42 42 42 166 167 167 200 220 210
++68 68 68 8 8 8 0 0 0 0 0 0 16 16 16 11 11 11 0 0 0 11 11 11
++0 0 0 0 0 0 19 19 19 0 0 0 4 4 4 8 8 8 10 10 10 10 10 10
++8 8 8 6 6 6 0 0 0 6 6 6 20 20 20 6 6 6 0 0 0 8 8 8
++11 11 11 21 21 21 10 10 10 0 0 0 13 13 13 8 8 8 0 0 0 14 14 14
++13 13 13 21 21 21 0 0 0 14 14 14 11 11 11 13 13 13 3 3 3 19 19 19
++19 19 19 0 0 0 0 0 0 17 17 17 10 10 10 4 4 4 3 3 3 0 0 0
++16 16 16 0 0 0 16 16 16 0 0 0 19 19 19 0 0 0 8 8 8 3 3 3
++13 13 13 0 0 0 0 0 0 8 8 8 11 11 11 0 0 0 21 21 21 0 0 0
++0 0 0 19 19 19 0 0 0 14 14 14 0 0 0 0 0 0 16 16 16 6 6 6
++6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 10 10 10 10 10 10
++
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 4 4 4 6 6 6 6 6 6 4 4 4 0 0 0 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3 0 0 0
++6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 6 6 6 11 11 11 8 8 8 0 0 0 0 0 0 0 0 0 6 6 6
++0 0 0 3 3 3 6 6 6 8 8 8 8 8 8 6 6 6 3 3 3 0 0 0
++0 0 0 3 3 3 6 6 6 8 8 8 8 8 8 6 6 6 3 3 3 0 0 0
++6 6 6 0 0 0 0 0 0 0 0 0 8 8 8 10 10 10 6 6 6 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6 6 6 6
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 6 6 6
++6 6 6 6 6 6 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 8 8 8
++8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 4 4 4 3 3 3 0 0 0
++8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6 6 6 6
++0 0 0 4 4 4 6 6 6 8 8 8 6 6 6 4 4 4 3 3 3 3 3 3
++8 8 8 6 6 6 3 3 3 0 0 0 0 0 0 3 3 3 6 6 6 8 8 8
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 4 4 4 6 6 6 10 10 10 11 11 11 11 11 11 10 10 10 6 6 6
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 10 10 10 11 11 11 10 10 10 8 8 8 6 6 6 6 6 6 8 8 8
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++10 10 10 10 10 10 10 10 10 10 10 10 8 8 8 8 8 8 8 8 8 8 8 8
++10 10 10 10 10 10 11 11 11 11 11 11 13 13 13 16 16 16 17 17 17 19 19 19
++14 14 14 16 16 16 17 17 17 16 16 16 13 13 13 11 11 11 10 10 10 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++13 13 13 13 13 13 14 14 14 16 16 16 16 16 16 14 14 14 11 11 11 8 8 8
++8 8 8 10 10 10 11 11 11 14 14 14 17 17 17 17 17 17 16 16 16 14 14 14
++16 16 16 16 16 16 16 16 16 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13
++8 8 8 8 8 8 11 11 11 13 13 13 14 14 14 14 14 14 13 13 13 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 8 8 8
++14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++14 14 14 14 14 14 13 13 13 11 11 11 11 11 11 10 10 10 8 8 8 8 8 8
++13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14
++14 14 14 13 13 13 10 10 10 8 8 8 10 10 10 11 11 11 13 13 13 16 16 16
++13 13 13 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 8 8 8 8 8 8
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++10 10 10 10 10 10 8 8 8 8 8 8 6 6 6 6 6 6 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++10 10 10 8 8 8 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6
++0 0 0 0 0 0 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3
++6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6
++4 4 4 19 19 19 129 129 130 166 167 167 155 156 156 180 183 185 200 220 210 155 156 156
++0 0 0 0 0 0 6 6 6 0 0 0 0 0 0 3 3 3 17 17 17 0 0 0
++19 19 19 0 0 0 3 3 3 6 6 6 16 16 16 6 6 6 3 3 3 11 11 11
++0 0 0 6 6 6 11 11 11 0 0 0 0 0 0 13 13 13 17 17 17 0 0 0
++6 6 6 6 6 6 0 0 0 0 0 0 13 13 13 16 16 16 13 13 13 14 14 14
++0 0 0 6 6 6 11 11 11 4 4 4 0 0 0 19 19 19 13 13 13 8 8 8
++8 8 8 16 16 16 11 11 11 0 0 0 3 3 3 8 8 8 13 13 13 17 17 17
++11 11 11 17 17 17 10 10 10 0 0 0 16 16 16 17 17 17 4 4 4 3 3 3
++0 0 0 0 0 0 10 10 10 0 0 0 10 10 10 0 0 0 16 16 16 0 0 0
++0 0 0 16 16 16 0 0 0 4 4 4 3 3 3 6 6 6 0 0 0 3 3 3
++4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8
++
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3 0 0 0
++6 6 6 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 4 4 4 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 4 4 4 10 10 10 8 8 8 3 3 3 0 0 0 0 0 0 4 4 4
++0 0 0 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3 0 0 0
++0 0 0 3 3 3 4 4 4 6 6 6 6 6 6 4 4 4 3 3 3 0 0 0
++3 3 3 0 0 0 0 0 0 4 4 4 6 6 6 6 6 6 3 3 3 0 0 0
++0 0 0 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 6 6 6
++4 4 4 6 6 6 8 8 8 8 8 8 10 10 10 8 8 8 8 8 8 8 8 8
++8 8 8 8 8 8 6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3
++8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4
++0 0 0 3 3 3 6 6 6 6 6 6 4 4 4 0 0 0 3 3 3 4 4 4
++6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4 6 6 6
++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 0 0 3 3 3 6 6 6 10 10 10 11 11 11 10 10 10 6 6 6 3 3 3
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 6 6 6 8 8 8 8 8 8 6 6 6 3 3 3 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++4 4 4 6 6 6 6 6 6 8 8 8 10 10 10 13 13 13 14 14 14 16 16 16
++13 13 13 13 13 13 13 13 13 11 11 11 10 10 10 10 10 10 8 8 8 8 8 8
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++6 6 6 6 6 6 8 8 8 10 10 10 11 11 11 11 11 11 11 11 11 13 13 13
++13 13 13 11 11 11 8 8 8 10 10 10 11 11 11 13 13 13 11 11 11 8 8 8
++6 6 6 4 4 4 6 6 6 10 10 10 14 14 14 16 16 16 14 14 14 11 11 11
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 13 13
++6 6 6 8 8 8 10 10 10 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6
++11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
++11 11 11 11 11 11 10 10 10 10 10 10 8 8 8 6 6 6 6 6 6 6 6 6
++8 8 8 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 10 10 10 10 10 10
++10 10 10 8 8 8 6 6 6 4 4 4 6 6 6 8 8 8 11 11 11 13 13 13
++11 11 11 11 11 11 10 10 10 10 10 10 8 8 8 6 6 6 6 6 6 4 4 4
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++8 8 8 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6
++0 0 0 0 0 0 0 0 0 4 4 4 8 8 8 8 8 8 4 4 4 0 0 0
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 0 0 0 87 87 87 144 145 144 152 153 154 139 139 139 101 101 101 23 23 23
++0 0 0 8 8 8 6 6 6 19 19 19 17 17 17 0 0 0 3 3 3 6 6 6
++0 0 0 8 8 8 14 14 14 6 6 6 4 4 4 6 6 6 3 3 3 0 0 0
++10 10 10 0 0 0 0 0 0 10 10 10 3 3 3 0 0 0 4 4 4 10 10 10
++0 0 0 3 3 3 10 10 10 10 10 10 3 3 3 0 0 0 0 0 0 0 0 0
++11 11 11 0 0 0 8 8 8 13 13 13 4 4 4 0 0 0 0 0 0 11 11 11
++8 8 8 3 3 3 0 0 0 0 0 0 11 11 11 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 19 19 19 23 23 23 0 0 0 0 0 0 13 13 13 0 0 0
++10 10 10 0 0 0 6 6 6 0 0 0 11 11 11 0 0 0 0 0 0 6 6 6
++14 14 14 0 0 0 3 3 3 20 20 20 0 0 0 6 6 6 14 14 14 0 0 0
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++
++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 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 3 3 3 6 6 6 6 6 6 3 3 3 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 4 4 4 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 6 6 6
++8 8 8 6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 4 4 4
++6 6 6 3 3 3 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 0 0 0
++3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 3 3 3 6 6 6
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 3 3 3 6 6 6 10 10 10 10 10 10 6 6 6 4 4 4 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 4 4 4 6 6 6 6 6 6 3 3 3 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 8 8 8 10 10 10 11 11 11
++11 11 11 8 8 8 6 6 6 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6 8 8 8 8 8 8
++11 11 11 8 8 8 3 3 3 0 0 0 4 4 4 6 6 6 8 8 8 8 8 8
++4 4 4 3 3 3 3 3 3 6 6 6 10 10 10 11 11 11 10 10 10 8 8 8
++6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 8 8 8
++8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
++8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 6 6 6
++4 4 4 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 8 8 8 8 8 8
++10 10 10 8 8 8 8 8 8 6 6 6 4 4 4 4 4 4 3 3 3 3 3 3
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++6 6 6 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6
++0 0 0 0 0 0 0 0 0 4 4 4 8 8 8 6 6 6 3 3 3 0 0 0
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++10 10 10 0 0 0 0 0 0 0 0 0 4 4 4 0 0 0 10 10 10 10 10 10
++0 0 0 4 4 4 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 14 14 14
++13 13 13 4 4 4 0 0 0 10 10 10 10 10 10 3 3 3 0 0 0 6 6 6
++3 3 3 10 10 10 8 8 8 4 4 4 4 4 4 6 6 6 4 4 4 6 6 6
++10 10 10 0 0 0 0 0 0 0 0 0 3 3 3 8 8 8 10 10 10 3 3 3
++0 0 0 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 6 6 6 0 0 0
++0 0 0 8 8 8 13 13 13 0 0 0 0 0 0 4 4 4 14 14 14 10 10 10
++10 10 10 0 0 0 0 0 0 3 3 3 6 6 6 17 17 17 11 11 11 3 3 3
++0 0 0 0 0 0 11 11 11 0 0 0 4 4 4 8 8 8 3 3 3 0 0 0
++8 8 8 0 0 0 0 0 0 11 11 11 3 3 3 8 8 8 0 0 0 6 6 6
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++4 4 4 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6 3 3 3 0 0 0
++4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4
++4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4
++0 0 0 4 4 4 8 8 8 6 6 6 0 0 0 0 0 0 0 0 0 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 4 4 4 6 6 6 6 6 6 8 8 8 6 6 6 6 6 6 6 6 6
++8 8 8 6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6
++0 0 0 0 0 0 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 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 0 0 0 0 0
++0 0 0 3 3 3 6 6 6 8 8 8 6 6 6 4 4 4 3 3 3 3 3 3
++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 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 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 3 3 3 6 6 6 4 4 4 3 3 3 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 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 6 6 6 8 8 8
++8 8 8 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4
++10 10 10 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 6 6 6
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 6 6 6 8 8 8
++6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
++6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3
++4 4 4 3 3 3 3 3 3 0 0 0 3 3 3 4 4 4 6 6 6 6 6 6
++0 0 0 3 3 3 4 4 4 4 4 4 6 6 6 4 4 4 4 4 4 3 3 3
++6 6 6 6 6 6 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 0 0 0
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 0 0 0
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3
++0 0 0 17 17 17 13 13 13 10 10 10 13 13 13 0 0 0 4 4 4 4 4 4
++4 4 4 0 0 0 8 8 8 3 3 3 3 3 3 8 8 8 0 0 0 3 3 3
++3 3 3 4 4 4 0 0 0 8 8 8 3 3 3 0 0 0 0 0 0 4 4 4
++4 4 4 0 0 0 0 0 0 0 0 0 14 14 14 6 6 6 0 0 0 0 0 0
++0 0 0 3 3 3 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 3 3 3
++4 4 4 10 10 10 0 0 0 3 3 3 16 16 16 0 0 0 0 0 0 6 6 6
++10 10 10 0 0 0 0 0 0 11 11 11 6 6 6 0 0 0 0 0 0 0 0 0
++0 0 0 17 17 17 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4
++13 13 13 3 3 3 4 4 4 4 4 4 8 8 8 0 0 0 0 0 0 8 8 8
++0 0 0 14 14 14 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 3 3 3 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3
++4 4 4 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 3 3 3
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++4 4 4 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 3 3 3 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 6 6 6 6 6 6 4 4 4
++4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 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 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 6 6 6 6 6 6 3 3 3 0 0 0 0 0 0 3 3 3
++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 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 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 3 3 3 4 4 4 4 4 4 3 3 3 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 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 6 6 6
++6 6 6 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 4 4 4
++6 6 6 6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 4 4 4 3 3 3 3 3 3 0 0 0 3 3 3 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 6 6 6
++3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0
++0 0 0 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++11 11 11 8 8 8 0 0 0 0 0 0 13 13 13 10 10 10 6 6 6 0 0 0
++3 3 3 0 0 0 0 0 0 6 6 6 3 3 3 0 0 0 6 6 6 3 3 3
++0 0 0 16 16 16 10 10 10 17 17 17 4 4 4 6 6 6 10 10 10 4 4 4
++0 0 0 10 10 10 10 10 10 3 3 3 4 4 4 6 6 6 4 4 4 8 8 8
++4 4 4 6 6 6 6 6 6 6 6 6 11 11 11 10 10 10 8 8 8 10 10 10
++0 0 0 8 8 8 0 0 0 11 11 11 10 10 10 4 4 4 0 0 0 10 10 10
++4 4 4 0 0 0 4 4 4 6 6 6 0 0 0 4 4 4 10 10 10 3 3 3
++4 4 4 6 6 6 8 8 8 8 8 8 11 11 11 6 6 6 17 17 17 0 0 0
++0 0 0 3 3 3 3 3 3 4 4 4 3 3 3 4 4 4 11 11 11 6 6 6
++16 16 16 0 0 0 0 0 0 4 4 4 6 6 6 3 3 3 8 8 8 8 8 8
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++
++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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4
++0 0 0 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 6 6 6
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4
++10 10 10 4 4 4 0 0 0 0 0 0 3 3 3 4 4 4 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 4 4 4 6 6 6 6 6 6 6 6 6 4 4 4 4 4 4
++0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++0 0 0 3 3 3 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 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 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 0 0 0 0
++0 0 0 3 3 3 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 3 3 3 4 4 4 4 4 4 3 3 3 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 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 6 6 6 6 6 6
++4 4 4 3 3 3 0 0 0 3 3 3 4 4 4 6 6 6 3 3 3 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++6 6 6 4 4 4 3 3 3 3 3 3 0 0 0 3 3 3 4 4 4 4 4 4
++4 4 4 8 8 8 10 10 10 8 8 8 3 3 3 0 0 0 0 0 0 0 0 0
++3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4
++6 6 6 6 6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
++4 4 4 4 4 4 3 3 3 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++0 0 0 3 3 3 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 4 4 4
++0 0 0 0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 6 6 6 0 0 0 4 4 4
++0 0 0 17 17 17 0 0 0 0 0 0 8 8 8 3 3 3 8 8 8 0 0 0
++3 3 3 11 11 11 0 0 0 8 8 8 0 0 0 4 4 4 4 4 4 0 0 0
++14 14 14 0 0 0 0 0 0 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
++0 0 0 8 8 8 3 3 3 0 0 0 4 4 4 0 0 0 0 0 0 3 3 3
++0 0 0 4 4 4 6 6 6 11 11 11 0 0 0 11 11 11 0 0 0 0 0 0
++6 6 6 3 3 3 0 0 0 0 0 0 6 6 6 4 4 4 0 0 0 4 4 4
++4 4 4 0 0 0 6 6 6 4 4 4 10 10 10 0 0 0 8 8 8 3 3 3
++6 6 6 3 3 3 0 0 0 10 10 10 3 3 3 0 0 0 6 6 6 0 0 0
++0 0 0 10 10 10 6 6 6 3 3 3 0 0 0 0 0 0 10 10 10 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 4 4 4
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++4 4 4 3 3 3 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 4 4 4 4 4 4 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 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 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 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 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 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 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 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 0 0 3 3 3 3 3 3 4 4 4
++3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 0 0 0 0 0 0
++0 0 0 4 4 4 6 6 6 3 3 3 3 3 3 6 6 6 4 4 4 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 3 3 3 4 4 4 4 4 4 3 3 3 0 0 0 3 3 3 4 4 4
++3 3 3 4 4 4 6 6 6 4 4 4 3 3 3 0 0 0 0 0 0 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 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 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0
++3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0
++3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 4 4 4 3 3 3 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 3 3 3 4 4 4 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3
++0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
++4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
++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 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3
++
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-mmc.patch b/packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-mmc.patch
new file mode 100644
index 0000000000..59d97809d1
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-mmc.patch
@@ -0,0 +1,33 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/gumstix.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+@@ -33,8 +33,9 @@
+
+ static struct pxamci_platform_data gumstix_mci_platform_data;
+
+-static int gumstix_mci_init(struct device *dev, irqreturn_t (*gumstix_detect_int)(int, void *, struct pt_regs *), void *data)
++static int gumstix_mci_init(struct device *dev, irq_handler_t gumstix_detect_int, void *data)
+ {
++#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
+ int err;
+
+ pxa_gpio_mode(GPIO6_MMCCLK_MD);
+@@ -55,6 +56,17 @@ static int gumstix_mci_init(struct devic
+ }
+
+ err = set_irq_type(GUMSTIX_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE);
++#else
++ // Setup GPIOs for MMC on the 120-pin connector
++ // There is no card detect on a uSD connector so no interrupt to register
++ // There is no WP detect GPIO line either
++ pxa_gpio_mode(GPIO92_MMCDAT0_MD);
++ pxa_gpio_mode(GPIO112_MMCCMD_MD);
++ pxa_gpio_mode(GPIO110_MMCDAT2_MD);
++ pxa_gpio_mode(GPIO111_MMCDAT3_MD);
++ pxa_gpio_mode(GPIO109_MMCDAT1_MD);
++ pxa_gpio_mode(GPIO32_MMCCLK_MD);
++#endif
+
+ return 0;
+ }
diff --git a/packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-usb-host.patch b/packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-usb-host.patch
new file mode 100644
index 0000000000..f5da12fdef
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/gumstix-pxa270-usb-host.patch
@@ -0,0 +1,366 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/gumstix.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+@@ -22,6 +22,7 @@
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/irq.h>
++#include <asm/arch/ohci.h>
+ #include <asm/arch/udc.h>
+ #include <asm/arch/mmc.h>
+ #include <asm/arch/pxa-regs.h>
+@@ -178,9 +179,34 @@ static struct platform_device *devices[]
+ &gum_audio_device,
+ };
+
++#ifdef CONFIG_ARCH_GUMSTIX_VERDEX
++static int gumstix_ohci_init(struct device *dev)
++{
++ /* setup Port1 GPIO pin. */
++ //pxa_gpio_mode( 88 | GPIO_ALT_FN_1_IN); /* USBHPWR1 */
++ //pxa_gpio_mode( 89 | GPIO_ALT_FN_2_OUT); /* USBHPEN1 */
++
++ // Turn on port 2 in host mode
++ UP2OCR = UP2OCR_HXS | UP2OCR_HXOE | UP2OCR_DPPDE | UP2OCR_DMPDE;
++
++ UHCHR = (UHCHR) &
++ ~(UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSEP3 | UHCHR_SSE);
++
++ return 0;
++}
++
++static struct pxaohci_platform_data gumstix_ohci_platform_data = {
++ .port_mode = PMM_PERPORT_MODE,
++ .init = gumstix_ohci_init,
++};
++#endif
++
+ static void __init gumstix_init(void)
+ {
+ pxa_set_mci_info(&gumstix_mci_platform_data);
++#ifdef CONFIG_ARCH_GUMSTIX_VERDEX
++ pxa_set_ohci_info(&gumstix_ohci_platform_data);
++#endif
+ pxa_set_udc_info(&gumstix_udc_info);
+ #if defined(CONFIG_FB_PXA_ALPS_CDOLLAR) | defined(CONFIG_FB_PXA_SHARP_LQ043_PSP) | defined(CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C)
+ set_pxa_fb_info(&gumstix_fb_info);
+Index: linux-2.6.21gum/drivers/usb/gadget/ether.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/ether.c
++++ linux-2.6.21gum/drivers/usb/gadget/ether.c
+@@ -260,6 +260,8 @@ MODULE_PARM_DESC(host_addr, "Host Ethern
+
+ #ifdef CONFIG_USB_GADGET_PXA27X
+ #define DEV_CONFIG_CDC
++extern struct usb_ep* pxa27x_ep_config(struct usb_gadget *gadget,
++ struct usb_endpoint_descriptor *desc,int config,int interface,int alt);
+ #endif
+
+ #ifdef CONFIG_USB_GADGET_S3C2410
+@@ -482,15 +484,15 @@ eth_config = {
+ #ifdef CONFIG_USB_ETH_RNDIS
+ static struct usb_config_descriptor
+ rndis_config = {
+- .bLength = sizeof rndis_config,
++ .bLength = sizeof rndis_config,
+ .bDescriptorType = USB_DT_CONFIG,
+
+ /* compute wTotalLength on the fly */
+- .bNumInterfaces = 2,
++ .bNumInterfaces = 2,
+ .bConfigurationValue = DEV_RNDIS_CONFIG_VALUE,
+- .iConfiguration = STRING_RNDIS,
++ .iConfiguration = STRING_RNDIS,
+ .bmAttributes = USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_SELFPOWER,
+- .bMaxPower = 50,
++ .bMaxPower = 50,
+ };
+ #endif
+
+@@ -532,15 +534,15 @@ control_intf = {
+ #ifdef CONFIG_USB_ETH_RNDIS
+ static const struct usb_interface_descriptor
+ rndis_control_intf = {
+- .bLength = sizeof rndis_control_intf,
++ .bLength = sizeof rndis_control_intf,
+ .bDescriptorType = USB_DT_INTERFACE,
+
+ .bInterfaceNumber = 0,
+- .bNumEndpoints = 1,
++ .bNumEndpoints = 1,
+ .bInterfaceClass = USB_CLASS_COMM,
+ .bInterfaceSubClass = USB_CDC_SUBCLASS_ACM,
+ .bInterfaceProtocol = USB_CDC_ACM_PROTO_VENDOR,
+- .iInterface = STRING_RNDIS_CONTROL,
++ .iInterface = STRING_RNDIS_CONTROL,
+ };
+ #endif
+
+@@ -1342,7 +1344,7 @@ static void rndis_response_complete (str
+
+ static void rndis_command_complete (struct usb_ep *ep, struct usb_request *req)
+ {
+- struct eth_dev *dev = ep->driver_data;
++ struct eth_dev *dev = ep->driver_data;
+ int status;
+
+ /* received RNDIS command from USB_CDC_SEND_ENCAPSULATED_COMMAND */
+@@ -1578,7 +1580,7 @@ done_set_intf:
+
+ /* return the result */
+ buf = rndis_get_next_response (dev->rndis_config,
+- &value);
++ &value);
+ if (buf) {
+ memcpy (req->buf, buf, value);
+ req->complete = rndis_response_complete;
+@@ -2064,7 +2066,7 @@ static void eth_req_free (struct usb_ep
+ static void
+ rndis_control_ack_complete (struct usb_ep *ep, struct usb_request *req)
+ {
+- struct eth_dev *dev = ep->driver_data;
++ struct eth_dev *dev = ep->driver_data;
+
+ if (req->status || req->actual != req->length)
+ DEBUG (dev,
+@@ -2415,7 +2417,27 @@ eth_bind (struct usb_gadget *gadget)
+
+ /* all we really need is bulk IN/OUT */
+ usb_ep_autoconfig_reset (gadget);
++#ifdef CONFIG_USB_GADGET_PXA27X
++#ifdef CONFIG_USB_ETH_RNDIS
++ in_ep = pxa27x_ep_config (gadget, &fs_source_desc,
++ DEV_RNDIS_CONFIG_VALUE,
++ (int)rndis_data_intf.bInterfaceNumber,
++ (int)rndis_data_intf.bAlternateSetting);
++#elif defined(DEV_CONFIG_CDC)
++ in_ep = pxa27x_ep_config (gadget, &fs_source_desc,
++ DEV_CONFIG_VALUE,
++ (int)data_intf.bInterfaceNumber,
++ (int)data_intf.bAlternateSetting);
++#elif defined(DEV_CONFIG_SUBSET)
++ in_ep = pxa27x_ep_config (gadget, &fs_source_desc,
++ DEV_CONFIG_VALUE,
++ (int)subset_data_intf.bInterfaceNumber,
++ (int)subset_data_intf.bAlternateSetting);
++
++#endif //CONFIG_USB_ETH_RNDIS
++#else
+ in_ep = usb_ep_autoconfig (gadget, &fs_source_desc);
++#endif //CONFIG_USB_GADGET_PXA27X
+ if (!in_ep) {
+ autoconf_fail:
+ dev_err (&gadget->dev,
+@@ -2425,7 +2447,26 @@ autoconf_fail:
+ }
+ in_ep->driver_data = in_ep; /* claim */
+
++#ifdef CONFIG_USB_GADGET_PXA27X
++#ifdef CONFIG_USB_ETH_RNDIS
++ out_ep = pxa27x_ep_config (gadget, &fs_sink_desc,
++ DEV_RNDIS_CONFIG_VALUE,
++ (int)rndis_data_intf.bInterfaceNumber,
++ (int)rndis_data_intf.bAlternateSetting);
++#elif defined(DEV_CONFIG_CDC)
++ out_ep = pxa27x_ep_config (gadget, &fs_sink_desc,
++ DEV_CONFIG_VALUE,
++ (int)data_intf.bInterfaceNumber,
++ (int)data_intf.bAlternateSetting);
++#elif defined(DEV_CONFIG_SUBSET)
++ out_ep = pxa27x_ep_config (gadget, &fs_sink_desc,
++ DEV_CONFIG_VALUE,
++ (int)subset_data_intf.bInterfaceNumber,
++ (int)subset_data_intf.bAlternateSetting);
++#endif //CONFIG_USB_ETH_RNDIS
++#else
+ out_ep = usb_ep_autoconfig (gadget, &fs_sink_desc);
++#endif //CONFIG_USB_GADGET_PXA27X
+ if (!out_ep)
+ goto autoconf_fail;
+ out_ep->driver_data = out_ep; /* claim */
+@@ -2435,7 +2476,22 @@ autoconf_fail:
+ * Since some hosts expect one, try to allocate one anyway.
+ */
+ if (cdc || rndis) {
++#ifdef CONFIG_USB_GADGET_PXA27X
++#ifdef CONFIG_USB_ETH_RNDIS
++ status_ep = pxa27x_ep_config (gadget, &fs_status_desc,
++ DEV_RNDIS_CONFIG_VALUE,
++ (int)rndis_control_intf.bInterfaceNumber,
++ (int)rndis_control_intf.bAlternateSetting);
++#elif defined(DEV_CONFIG_CDC)
++ status_ep = pxa27x_ep_config (gadget, &fs_status_desc,
++ DEV_CONFIG_VALUE,
++ (int)control_intf.bInterfaceNumber,
++ (int)control_intf.bAlternateSetting);
++
++#endif //CONFIG_USB_ETH_RNDIS
++#else
+ status_ep = usb_ep_autoconfig (gadget, &fs_status_desc);
++#endif //CONFIG_USB_GADGET_PXA27X
+ if (status_ep) {
+ status_ep->driver_data = status_ep; /* claim */
+ } else if (rndis) {
+@@ -2444,11 +2500,13 @@ autoconf_fail:
+ gadget->name);
+ return -ENODEV;
+ #ifdef DEV_CONFIG_CDC
++#ifndef CONFIG_USB_GADGET_PXA27X
+ /* pxa25x only does CDC subset; often used with RNDIS */
+ } else if (cdc) {
+ control_intf.bNumEndpoints = 0;
+ /* FIXME remove endpoint from descriptor list */
+ #endif
++#endif
+ }
+ }
+ #endif
+Index: linux-2.6.21gum/drivers/usb/gadget/file_storage.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/file_storage.c
++++ linux-2.6.21gum/drivers/usb/gadget/file_storage.c
+@@ -280,6 +280,12 @@ MODULE_LICENSE("Dual BSD/GPL");
+ #define DRIVER_PRODUCT_ID 0xa4a5 // Linux-USB File-backed Storage Gadget
+
+
++
++#ifdef CONFIG_USB_GADGET_PXA27X
++extern struct usb_ep* pxa27x_ep_config(struct usb_gadget *gadget,
++ struct usb_endpoint_descriptor *desc,int config,int interface,int alt);
++#endif
++
+ /*
+ * This driver assumes self-powered hardware and has no way for users to
+ * trigger remote wakeup. It uses autoconfiguration to select endpoints
+@@ -3920,20 +3926,32 @@ static int __init fsg_bind(struct usb_ga
+
+ /* Find all the endpoints we will use */
+ usb_ep_autoconfig_reset(gadget);
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &fs_bulk_in_desc, CONFIG_VALUE, 0, 0);
++#else
+ ep = usb_ep_autoconfig(gadget, &fs_bulk_in_desc);
++#endif
+ if (!ep)
+ goto autoconf_fail;
+ ep->driver_data = fsg; // claim the endpoint
+ fsg->bulk_in = ep;
+
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &fs_bulk_out_desc, CONFIG_VALUE, 0, 0);
++#else
+ ep = usb_ep_autoconfig(gadget, &fs_bulk_out_desc);
++#endif
+ if (!ep)
+ goto autoconf_fail;
+ ep->driver_data = fsg; // claim the endpoint
+ fsg->bulk_out = ep;
+
+ if (transport_is_cbi()) {
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &fs_intr_in_desc, CONFIG_VALUE, 0, 0);
++#else
+ ep = usb_ep_autoconfig(gadget, &fs_intr_in_desc);
++#endif
+ if (!ep)
+ goto autoconf_fail;
+ ep->driver_data = fsg; // claim the endpoint
+@@ -4063,6 +4081,7 @@ autoconf_fail:
+ rc = -ENOTSUPP;
+
+ out:
++ ERROR(fsg, "cleaning up on the way out\n");
+ fsg->state = FSG_STATE_TERMINATED; // The thread is dead
+ fsg_unbind(gadget);
+ close_all_backing_files(fsg);
+Index: linux-2.6.21gum/drivers/usb/gadget/serial.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/serial.c
++++ linux-2.6.21gum/drivers/usb/gadget/serial.c
+@@ -126,6 +126,10 @@ static int debug = 1;
+ #define GS_LOG2_NOTIFY_INTERVAL 5 /* 1 << 5 == 32 msec */
+ #define GS_NOTIFY_MAXPACKET 8
+
++#ifdef CONFIG_USB_GADGET_PXA27X
++extern struct usb_ep* pxa27x_ep_config(struct usb_gadget *gadget,
++ struct usb_endpoint_descriptor *desc,int config,int interface,int alt);
++#endif
+
+ /* Structures */
+
+@@ -1378,20 +1382,32 @@ static int __init gs_bind(struct usb_gad
+
+ usb_ep_autoconfig_reset(gadget);
+
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &gs_fullspeed_in_desc, use_acm ? GS_ACM_CONFIG_ID : GS_BULK_CONFIG_ID, gs_bulk_interface_desc.bInterfaceNumber, gs_bulk_interface_desc.bAlternateSetting);
++#else
+ ep = usb_ep_autoconfig(gadget, &gs_fullspeed_in_desc);
++#endif
+ if (!ep)
+ goto autoconf_fail;
+ EP_IN_NAME = ep->name;
+ ep->driver_data = ep; /* claim the endpoint */
+
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &gs_fullspeed_out_desc, use_acm ? GS_ACM_CONFIG_ID : GS_BULK_CONFIG_ID, gs_bulk_interface_desc.bInterfaceNumber, gs_bulk_interface_desc.bAlternateSetting);
++#else
+ ep = usb_ep_autoconfig(gadget, &gs_fullspeed_out_desc);
++#endif
+ if (!ep)
+ goto autoconf_fail;
+ EP_OUT_NAME = ep->name;
+ ep->driver_data = ep; /* claim the endpoint */
+
+ if (use_acm) {
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &gs_fullspeed_notify_desc, GS_BULK_CONFIG_ID, gs_control_interface_desc.bInterfaceNumber, gs_control_interface_desc.bAlternateSetting);
++#else
+ ep = usb_ep_autoconfig(gadget, &gs_fullspeed_notify_desc);
++#endif
+ if (!ep) {
+ printk(KERN_ERR "gs_bind: cannot run ACM on %s\n", gadget->name);
+ goto autoconf_fail;
+Index: linux-2.6.21gum/drivers/usb/gadget/zero.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/zero.c
++++ linux-2.6.21gum/drivers/usb/gadget/zero.c
+@@ -212,6 +212,11 @@ module_param (loopdefault, bool, S_IRUGO
+ #define STRING_SOURCE_SINK 250
+ #define STRING_LOOPBACK 251
+
++#ifdef CONFIG_USB_GADGET_PXA27X
++extern struct usb_ep* pxa27x_ep_config(struct usb_gadget *gadget,
++ struct usb_endpoint_descriptor *desc,int config,int interface,int alt);
++#endif
++
+ /*
+ * This device advertises two configurations; these numbers work
+ * on a pxa250 as well as more flexible hardware.
+@@ -1155,7 +1160,11 @@ zero_bind (struct usb_gadget *gadget)
+ * but there may also be important quirks to address.
+ */
+ usb_ep_autoconfig_reset (gadget);
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &fs_source_desc, CONFIG_SOURCE_SINK, source_sink_intf.bInterfaceNumber, source_sink_intf.bAlternateSetting);
++#else
+ ep = usb_ep_autoconfig (gadget, &fs_source_desc);
++#endif
+ if (!ep) {
+ autoconf_fail:
+ printk (KERN_ERR "%s: can't autoconfigure on %s\n",
+@@ -1164,8 +1173,12 @@ autoconf_fail:
+ }
+ EP_IN_NAME = ep->name;
+ ep->driver_data = ep; /* claim */
+-
++
++#ifdef CONFIG_USB_GADGET_PXA27X
++ ep = pxa27x_ep_config(gadget, &fs_sink_desc, CONFIG_SOURCE_SINK, source_sink_intf.bInterfaceNumber, source_sink_intf.bAlternateSetting);
++#else
+ ep = usb_ep_autoconfig (gadget, &fs_sink_desc);
++#endif
+ if (!ep)
+ goto autoconf_fail;
+ EP_OUT_NAME = ep->name;
diff --git a/packages/linux/gumstix-kernel-2.6.21/header.patch b/packages/linux/gumstix-kernel-2.6.21/header.patch
new file mode 100644
index 0000000000..6086f69c9f
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/header.patch
@@ -0,0 +1,170 @@
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/gumstix.h
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/gumstix.h
+@@ -0,0 +1,165 @@
++/*
++ * linux/include/asm-arm/arch-pxa/gumstix.h
++ *
++ * 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.
++ */
++
++
++/* BTRESET - Reset line to Bluetooth module, active low signal. */
++#define GPIO_GUMSTIX_BTRESET 7
++#define GPIO_GUMSTIX_BTRESET_MD (GPIO_GUMSTIX_BTRESET | GPIO_OUT)
++
++
++/* GPIOn - Input from MAX823 (or equiv), normalizing USB +5V
++ into a clean interrupt signal for determining cable presence
++ On the original gumstix, this is GPIO81, and GPIO83 needs to be defined as well.
++ On the gumstix F, this moves to GPIO17 and GPIO37 */
++/* GPIOx - Connects to USB D+ and used as a pull-up after GPIOn
++ has detected a cable insertion; driven low otherwise. */
++
++#ifdef CONFIG_ARCH_GUMSTIX_ORIG
++
++#define GPIO_GUMSTIX_USB_GPIOn 81
++#define GPIO_GUMSTIX_USB_GPIOx 83
++
++#else
++
++#define GPIO_GUMSTIX_USB_GPIOn 35
++#define GPIO_GUMSTIX_USB_GPIOx 41
++
++#endif
++
++#define GUMSTIX_USB_INTR_IRQ IRQ_GPIO(GPIO_GUMSTIX_USB_GPIOn) /* usb state change */
++#define GPIO_GUMSTIX_USB_GPIOn_MD (GPIO_GUMSTIX_USB_GPIOn | GPIO_IN)
++#define GPIO_GUMSTIX_USB_GPIOx_CON_MD (GPIO_GUMSTIX_USB_GPIOx | GPIO_OUT)
++#define GPIO_GUMSTIX_USB_GPIOx_DIS_MD (GPIO_GUMSTIX_USB_GPIOx | GPIO_IN)
++
++
++/*
++ * SMC Ethernet definitions
++ * ETH_RST provides a hardware reset line to the ethernet chip
++ * ETH is the IRQ line in from the ethernet chip to the PXA
++ */
++#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
++#define GPIO_GUMSTIX_ETH0_RST 80
++#define GPIO_GUMSTIX_ETH0 36
++#else
++#define GPIO_GUMSTIX_ETH0_RST 32
++#define GPIO_GUMSTIX_ETH0 99
++#endif
++#define GPIO_GUMSTIX_ETH1_RST 52
++#define GPIO_GUMSTIX_ETH1 27
++
++#define GPIO_GUMSTIX_ETH0_RST_MD (GPIO_GUMSTIX_ETH0_RST | GPIO_OUT)
++#define GPIO_GUMSTIX_ETH1_RST_MD (GPIO_GUMSTIX_ETH1_RST | GPIO_OUT)
++#define GPIO_GUMSTIX_ETH0_MD (GPIO_GUMSTIX_ETH0 | GPIO_IN)
++#define GPIO_GUMSTIX_ETH1_MD (GPIO_GUMSTIX_ETH1 | GPIO_IN)
++
++#define GUMSTIX_ETH0_IRQ IRQ_GPIO(GPIO_GUMSTIX_ETH0)
++#define GUMSTIX_ETH1_IRQ IRQ_GPIO(GPIO_GUMSTIX_ETH1)
++
++
++/* CF reset line */
++#define GPIO8_CF_RESET 8
++#define GPIO97_CF_RESET 97
++#define GPIO110_CF_RESET 110
++#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
++#define GPIO_GUMSTIX_CF_RESET GPIO8_CF_RESET
++#else
++#define GPIO_GUMSTIX_CF_RESET GPIO97_CF_RESET
++#endif
++#define GPIO_GUMSTIX_CF_OLD_RESET GPIO110_CF_RESET
++
++
++/* CF signals shared by both sockets */
++#define GPIO_GUMSTIX_nPOE GPIO48_nPOE
++#define GPIO_GUMSTIX_nPWE GPIO49_nPWE
++#define GPIO_GUMSTIX_nPIOR GPIO50_nPIOR
++#define GPIO_GUMSTIX_nPIOW GPIO51_nPIOW
++#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
++#define GPIO_GUMSTIX_nPCE_1 GPIO52_nPCE_1
++#define GPIO_GUMSTIX_nPCE_2 GPIO53_nPCE_2
++#define GPIO_GUMSTIX_pSKTSEL GPIO54_pSKTSEL
++#else
++#define GPIO_GUMSTIX_nPCE_1 GPIO102_nPCE_1
++#define GPIO_GUMSTIX_nPCE_2 GPIO105_nPCE_2
++#define GPIO_GUMSTIX_pSKTSEL GPIO79_pSKTSEL
++#endif
++#define GPIO_GUMSTIX_nPREG GPIO55_nPREG
++#define GPIO_GUMSTIX_nPWAIT GPIO56_nPWAIT
++#define GPIO_GUMSTIX_nIOIS16 GPIO57_nIOIS16
++
++#define GPIO_GUMSTIX_nPOE_MD GPIO48_nPOE_MD
++#define GPIO_GUMSTIX_nPWE_MD GPIO49_nPWE_MD
++#define GPIO_GUMSTIX_nPIOR_MD GPIO50_nPIOR_MD
++#define GPIO_GUMSTIX_nPIOW_MD GPIO51_nPIOW_MD
++#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
++#define GPIO_GUMSTIX_nPCE_1_MD GPIO52_nPCE_1_MD
++#define GPIO_GUMSTIX_nPCE_2_MD GPIO53_nPCE_2_MD
++#define GPIO_GUMSTIX_pSKTSEL_MD GPIO54_pSKTSEL_MD
++#else
++#define GPIO_GUMSTIX_nPCE_1_MD GPIO102_nPCE_1_MD
++#define GPIO_GUMSTIX_nPCE_2_MD GPIO105_nPCE_2_MD
++#define GPIO_GUMSTIX_pSKTSEL_MD GPIO79_pSKTSEL_MD
++#endif
++#define GPIO_GUMSTIX_nPREG_MD GPIO55_nPREG_MD
++#define GPIO_GUMSTIX_nPWAIT_MD GPIO56_nPWAIT_MD
++#define GPIO_GUMSTIX_nIOIS16_MD GPIO57_nIOIS16_MD
++
++/* CF slot 0 */
++#define GPIO4_nBVD1_0 4
++#define GPIO4_nSTSCHG_0 GPIO4_nBVD1_0
++#define GPIO11_nCD_0 11
++#define GPIO26_PRDY_nBSY_0 26
++
++#define GPIO111_nBVD1_0 111
++#define GPIO111_nSTSCHG_0 GPIO111_nBVD1_0
++#define GPIO104_nCD_0 104
++#define GPIO96_PRDY_nBSY_0 96
++#define GPIO109_PRDY_nBSY_0 109
++
++#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
++#define GPIO_GUMSTIX_nBVD1_0 GPIO4_nBVD1_0
++#define GPIO_GUMSTIX_nSTSCHG_0 GPIO4_nSTSCHG_0
++#define GPIO_GUMSTIX_nCD_0 GPIO11_nCD_0
++#define GPIO_GUMSTIX_PRDY_nBSY_0 GPIO26_PRDY_nBSY_0
++#else
++#define GPIO_GUMSTIX_nBVD1_0 GPIO111_nBVD1_0
++#define GPIO_GUMSTIX_nSTSCHG_0 GPIO111_nSTSCHG_0
++#define GPIO_GUMSTIX_nCD_0 GPIO104_nCD_0
++#define GPIO_GUMSTIX_PRDY_nBSY_0 GPIO96_PRDY_nBSY_0
++#endif
++#define GPIO_GUMSTIX_PRDY_nBSY_0_OLD GPIO109_PRDY_nBSY_0
++
++#define GUMSTIX_S0_nSTSCHG_IRQ IRQ_GPIO(GPIO_GUMSTIX_nSTSCHG_0)
++#define GUMSTIX_S0_nCD_IRQ IRQ_GPIO(GPIO_GUMSTIX_nCD_0)
++#define GUMSTIX_S0_PRDY_nBSY_IRQ IRQ_GPIO(GPIO_GUMSTIX_PRDY_nBSY_0)
++#define GUMSTIX_S0_PRDY_nBSY_OLD_IRQ IRQ_GPIO(GPIO_GUMSTIX_PRDY_nBSY_0_OLD)
++
++/* CF slot 1 */
++#define GPIO18_nBVD1_1 18
++#define GPIO18_nSTSCHG_1 GPIO18_nBVD1_1
++#define GPIO36_nCD_1 36
++#define GPIO27_PRDY_nBSY_1 27
++
++#define GPIO_GUMSTIX_nBVD1_1 GPIO18_nBVD1_1
++#define GPIO_GUMSTIX_nSTSCHG_1 GPIO18_nSTSCHG_1
++#define GPIO_GUMSTIX_nCD_1 GPIO36_nCD_1
++#define GPIO_GUMSTIX_PRDY_nBSY_1 GPIO27_PRDY_nBSY_1
++
++#define GUMSTIX_S1_nSTSCHG_IRQ IRQ_GPIO(GPIO_GUMSTIX_nSTSCHG_1)
++#define GUMSTIX_S1_nCD_IRQ IRQ_GPIO(GPIO_GUMSTIX_nCD_1)
++#define GUMSTIX_S1_PRDY_nBSY_IRQ IRQ_GPIO(GPIO_GUMSTIX_PRDY_nBSY_1)
++
++/* CF GPIO line modes */
++#define GPIO_GUMSTIX_CF_RESET_MD ( GPIO_GUMSTIX_CF_RESET | GPIO_OUT )
++#define GPIO_GUMSTIX_CF_OLD_RESET_MD ( GPIO_GUMSTIX_CF_OLD_RESET | GPIO_OUT )
++#define GPIO_GUMSTIX_nSTSCHG_0_MD ( GPIO_GUMSTIX_nSTSCHG_0 | GPIO_IN )
++#define GPIO_GUMSTIX_nCD_0_MD ( GPIO_GUMSTIX_nCD_0 | GPIO_IN )
++#define GPIO_GUMSTIX_PRDY_nBSY_0_MD ( GPIO_GUMSTIX_PRDY_nBSY_0 | GPIO_IN )
++#define GPIO_GUMSTIX_PRDY_nBSY_0_OLD_MD ( GPIO_GUMSTIX_PRDY_nBSY_0_OLD | GPIO_IN )
++#define GPIO_GUMSTIX_nSTSCHG_1_MD ( GPIO_GUMSTIX_nSTSCHG_1 | GPIO_IN )
++#define GPIO_GUMSTIX_nCD_1_MD ( GPIO_GUMSTIX_nCD_1 | GPIO_IN )
++#define GPIO_GUMSTIX_PRDY_nBSY_1_MD ( GPIO_GUMSTIX_PRDY_nBSY_1 | GPIO_IN )
diff --git a/packages/linux/gumstix-kernel-2.6.21/mach-types-fix.patch b/packages/linux/gumstix-kernel-2.6.21/mach-types-fix.patch
new file mode 100644
index 0000000000..550eb529ed
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/mach-types-fix.patch
@@ -0,0 +1,13 @@
+Index: linux-2.6.21gum/arch/arm/tools/mach-types
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/tools/mach-types
++++ linux-2.6.21gum/arch/arm/tools/mach-types
+@@ -387,7 +387,7 @@ s5c7375 ARCH_S5C7375 S5C7375 369
+ spearhead ARCH_SPEARHEAD SPEARHEAD 370
+ pantera ARCH_PANTERA PANTERA 371
+ prayoglite ARCH_PRAYOGLITE PRAYOGLITE 372
+-gumstix ARCH_GUMSTIK GUMSTIK 373
++gumstix ARCH_GUMSTIX GUMSTIX 373
+ rcube ARCH_RCUBE RCUBE 374
+ rea_olv ARCH_REA_OLV REA_OLV 375
+ pxa_iphone ARCH_PXA_IPHONE PXA_IPHONE 376
diff --git a/packages/linux/gumstix-kernel-2.6.21/misalignment-handling.patch b/packages/linux/gumstix-kernel-2.6.21/misalignment-handling.patch
new file mode 100644
index 0000000000..e6aefb997c
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/misalignment-handling.patch
@@ -0,0 +1,38 @@
+Change the default alingment handling to not be silent failure
+Index: linux-2.6.21gum/arch/arm/mm/alignment.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mm/alignment.c
++++ linux-2.6.21gum/arch/arm/mm/alignment.c
+@@ -797,6 +797,8 @@ static int __init alignment_init(void)
+ res->write_proc = proc_alignment_write;
+ #endif
+
++ ai_usermode = CONFIG_ALIGNMENT_HANDLING;
++
+ hook_fault_code(1, do_alignment, SIGILL, "alignment exception");
+ hook_fault_code(3, do_alignment, SIGILL, "alignment exception");
+
+Index: linux-2.6.21gum/arch/arm/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/Kconfig
++++ linux-2.6.21gum/arch/arm/Kconfig
+@@ -709,6 +709,19 @@ config ALIGNMENT_TRAP
+ correct operation of some network protocols. With an IP-only
+ configuration it is safe to say N, otherwise say Y.
+
++config ALIGNMENT_HANDLING
++ hex "Userspace alignment trap handling"
++ default "0x3"
++ depends on ALIGNMENT_TRAP
++ help
++ How should we handle alignment errors in userspace by default? This is a bitfield where:
++ 0 - silently ignore alignment errors (will lead to unexpected results)
++ 1 - report alignment errors through printk (will lead to unexpected results, but you'll know about them)
++ 2 - fix the alignment and make things work properly (performance degradation for un-aligned code)
++ 4 - raise SIGBUS on alignment traps
++ A good number to choose is probably either 3 (work slowly but log message) or 5 (log message and SIGBUS).
++ You can change the behavior at runtime through /proc/cpu/alignment if you have PROC_FS enabled.
++
+ endmenu
+
+ menu "Boot options"
diff --git a/packages/linux/gumstix-kernel-2.6.21/mmc-card-detect.patch b/packages/linux/gumstix-kernel-2.6.21/mmc-card-detect.patch
new file mode 100644
index 0000000000..26dd970e3b
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/mmc-card-detect.patch
@@ -0,0 +1,80 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/gumstix.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+@@ -29,19 +29,55 @@
+
+ #include "generic.h"
+
+-static int gumstix_mci_init(struct device *dev, irqreturn_t (*lubbock_detect_int)(int, void *, struct pt_regs *), void *data)
++static struct pxamci_platform_data gumstix_mci_platform_data;
++
++static int gumstix_mci_init(struct device *dev, irqreturn_t (*gumstix_detect_int)(int, void *, struct pt_regs *), void *data)
+ {
+- // Set up MMC controller
++ int err;
++
+ pxa_gpio_mode(GPIO6_MMCCLK_MD);
+ pxa_gpio_mode(GPIO53_MMCCLK_MD);
+ pxa_gpio_mode(GPIO8_MMCCS0_MD);
+
++ pxa_gpio_mode(GUMSTIX_GPIO_nSD_DETECT | GPIO_IN);
++ set_irq_type(GUMSTIX_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE);
++ pxa_gpio_mode(GUMSTIX_GPIO_nSD_WP | GPIO_IN);
++
++ gumstix_mci_platform_data.detect_delay = msecs_to_jiffies(250);
++
++ err = request_irq(GUMSTIX_IRQ_GPIO_nSD_DETECT, gumstix_detect_int, SA_INTERRUPT,
++ "MMC card detect", data);
++ if (err) {
++ printk(KERN_ERR "gumstix_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
++ return -1;
++ }
++
++ err = set_irq_type(GUMSTIX_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE);
++
+ return 0;
+ }
+
++static int gumstix_mci_get_ro(struct device *dev)
++{
++#ifdef CONFIG_ARCH_GUMSTIX_VERDEX
++ return 0; // microSD is always writable on verdex
++#else
++ int ro;
++ ro = GPLR(GUMSTIX_GPIO_nSD_WP) & GPIO_bit(GUMSTIX_GPIO_nSD_WP);
++ return ro;
++#endif
++}
++
++static void gumstix_mci_exit(struct device *dev, void *data)
++{
++ free_irq(GUMSTIX_IRQ_GPIO_nSD_DETECT, data);
++}
++
+ static struct pxamci_platform_data gumstix_mci_platform_data = {
+ .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
+- .init = &gumstix_mci_init,
++ .init = gumstix_mci_init,
++ .get_ro = gumstix_mci_get_ro,
++ .exit = gumstix_mci_exit,
+ };
+
+ static struct pxa2xx_udc_mach_info gumstix_udc_info __initdata = {
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/gumstix.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/gumstix.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/gumstix.h
+@@ -36,6 +36,12 @@
+ #define GPIO_GUMSTIX_USB_GPIOx_CON_MD (GPIO_GUMSTIX_USB_GPIOx | GPIO_OUT)
+ #define GPIO_GUMSTIX_USB_GPIOx_DIS_MD (GPIO_GUMSTIX_USB_GPIOx | GPIO_IN)
+
++/*
++ * SD/MMC definitions
++ */
++#define GUMSTIX_GPIO_nSD_WP 22 /* SD Write Protect */
++#define GUMSTIX_GPIO_nSD_DETECT 11 /* MMC/SD Card Detect */
++#define GUMSTIX_IRQ_GPIO_nSD_DETECT IRQ_GPIO(GUMSTIX_GPIO_nSD_DETECT)
+
+ /*
+ * SMC Ethernet definitions
diff --git a/packages/linux/gumstix-kernel-2.6.21/modular-init-bluetooth.patch b/packages/linux/gumstix-kernel-2.6.21/modular-init-bluetooth.patch
new file mode 100644
index 0000000000..62fd919661
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/modular-init-bluetooth.patch
@@ -0,0 +1,108 @@
+Index: linux-2.6.21gum/net/bluetooth/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/net/bluetooth/Kconfig
++++ linux-2.6.21gum/net/bluetooth/Kconfig
+@@ -30,6 +30,12 @@ menuconfig BT
+ Bluetooth kernel modules are provided in the BlueZ packages.
+ For more information, see <http://www.bluez.org/>.
+
++config BT_GUMSTIX
++ tristate
++ default m if BT=m
++ default y if BT=y
++ depends on BT && ARCH_GUMSTIX
++
+ config BT_L2CAP
+ tristate "L2CAP protocol support"
+ depends on BT
+Index: linux-2.6.21gum/net/bluetooth/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/net/bluetooth/Makefile
++++ linux-2.6.21gum/net/bluetooth/Makefile
+@@ -9,5 +9,6 @@ obj-$(CONFIG_BT_RFCOMM) += rfcomm/
+ obj-$(CONFIG_BT_BNEP) += bnep/
+ obj-$(CONFIG_BT_CMTP) += cmtp/
+ obj-$(CONFIG_BT_HIDP) += hidp/
++obj-$(CONFIG_BT_GUMSTIX)+= gumstix_bluetooth.o
+
+ bluetooth-objs := af_bluetooth.o hci_core.o hci_conn.o hci_event.o hci_sock.o hci_sysfs.o lib.o
+Index: linux-2.6.21gum/net/bluetooth/af_bluetooth.c
+===================================================================
+--- linux-2.6.21gum.orig/net/bluetooth/af_bluetooth.c
++++ linux-2.6.21gum/net/bluetooth/af_bluetooth.c
+@@ -327,12 +327,20 @@ static struct net_proto_family bt_sock_f
+ .create = bt_sock_create,
+ };
+
++#ifdef CONFIG_ARCH_GUMSTIX
++extern void gumstix_bluetooth_load(void);
++#endif
++
+ static int __init bt_init(void)
+ {
+ int err;
+
+ BT_INFO("Core ver %s", VERSION);
+
++#ifdef CONFIG_ARCH_GUMSTIX
++ gumstix_bluetooth_load();
++#endif
++
+ err = bt_sysfs_init();
+ if (err < 0)
+ return err;
+Index: linux-2.6.21gum/net/bluetooth/gumstix_bluetooth.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/net/bluetooth/gumstix_bluetooth.c
+@@ -0,0 +1,50 @@
++/*
++ * Gumstix bluetooth module intialization driver
++ *
++ * Author: Craig Hughes
++ * Created: December 9, 2004
++ * Copyright: (C) 2004 Craig Hughes
++ *
++ * 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 <linux/module.h>
++
++#include <asm/hardware.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/delay.h>
++
++#include <asm/arch/gumstix.h>
++
++static void gumstix_bluetooth_load(void)
++{
++}
++
++EXPORT_SYMBOL(gumstix_bluetooth_load);
++
++int __init gumstix_bluetooth_init(void)
++{
++ /* Set up GPIOs to use the BTUART */
++ pxa_gpio_mode(GPIO42_HWRXD_MD);
++ pxa_gpio_mode(GPIO43_HWTXD_MD);
++ pxa_gpio_mode(GPIO44_HWCTS_MD);
++ pxa_gpio_mode(GPIO45_HWRTS_MD);
++
++ return 0;
++}
++
++void __exit gumstix_bluetooth_exit(void)
++{
++}
++
++module_init(gumstix_bluetooth_init);
++module_exit(gumstix_bluetooth_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Craig Hughes <craig@gumstix.com>");
++MODULE_DESCRIPTION("Gumstix board bluetooth module initialization driver");
++MODULE_VERSION("1:0.1");
diff --git a/packages/linux/gumstix-kernel-2.6.21/modular-init-smc91x.patch b/packages/linux/gumstix-kernel-2.6.21/modular-init-smc91x.patch
new file mode 100644
index 0000000000..98fdd4ca38
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/modular-init-smc91x.patch
@@ -0,0 +1,203 @@
+Index: linux-2.6.21gum/drivers/net/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/Kconfig
++++ linux-2.6.21gum/drivers/net/Kconfig
+@@ -836,6 +836,12 @@ config SMC91X
+ module, say M here and read <file:Documentation/modules.txt> as well
+ as <file:Documentation/networking/net-modules.txt>.
+
++config SMC91X_GUMSTIX
++ tristate
++ default m if SMC91X=m
++ default y if SMC91X=y
++ depends on SMC91X && ARCH_GUMSTIX
++
+ config SMC9194
+ tristate "SMC 9194 support"
+ depends on NET_VENDOR_SMC && (ISA || MAC && BROKEN)
+Index: linux-2.6.21gum/drivers/net/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/Makefile
++++ linux-2.6.21gum/drivers/net/Makefile
+@@ -200,6 +200,7 @@ obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o
+
+ obj-$(CONFIG_MACB) += macb.o
+
++obj-$(CONFIG_SMC91X_GUMSTIX) += gumstix-smc91x.o
+ obj-$(CONFIG_ARM) += arm/
+ obj-$(CONFIG_DEV_APPLETALK) += appletalk/
+ obj-$(CONFIG_TR) += tokenring/
+Index: linux-2.6.21gum/drivers/net/smc91x.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/smc91x.c
++++ linux-2.6.21gum/drivers/net/smc91x.c
+@@ -2373,6 +2373,10 @@ static struct platform_driver smc_driver
+ },
+ };
+
++#ifdef CONFIG_ARCH_GUMSTIX
++extern void gumstix_smc91x_load(void);
++#endif
++
+ static int __init smc_init(void)
+ {
+ #ifdef MODULE
+@@ -2384,6 +2388,10 @@ static int __init smc_init(void)
+ #endif
+ #endif
+
++#ifdef CONFIG_ARCH_GUMSTIX
++ gumstix_smc91x_load();
++#endif
++
+ return platform_driver_register(&smc_driver);
+ }
+
+Index: linux-2.6.21gum/drivers/net/gumstix-smc91x.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/net/gumstix-smc91x.c
+@@ -0,0 +1,143 @@
++/*
++ * Gumstix SMC91C111 chip intialization driver
++ *
++ * Author: Craig Hughes
++ * Created: December 9, 2004
++ * Copyright: (C) 2004 Craig Hughes
++ *
++ * 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 <linux/module.h>
++#include <linux/ioport.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++
++#include <asm/hardware.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/delay.h>
++
++#include <asm/arch/gumstix.h>
++
++#define SMC_DEBUG 0
++#include <asm/io.h>
++#include "smc91x.h"
++
++static struct resource gumstix_smc91x0_resources[] = {
++ [0] = {
++ .name = "smc91x-regs",
++ .start = PXA_CS1_PHYS + 0x00000300,
++ .end = PXA_CS1_PHYS + 0x000fffff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = GUMSTIX_ETH0_IRQ,
++ .end = GUMSTIX_ETH0_IRQ,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static struct resource gumstix_smc91x1_resources[] = {
++ [0] = {
++ .name = "smc91x-regs",
++ .start = PXA_CS2_PHYS + 0x00000300,
++ .end = PXA_CS2_PHYS + 0x000fffff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = GUMSTIX_ETH1_IRQ,
++ .end = GUMSTIX_ETH1_IRQ,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static struct platform_device gumstix_smc91x0_device = {
++ .name = "smc91x",
++ .id = 0,
++ .num_resources = ARRAY_SIZE(gumstix_smc91x0_resources),
++ .resource = gumstix_smc91x0_resources,
++};
++
++static struct platform_device gumstix_smc91x1_device = {
++ .name = "smc91x",
++ .id = 1,
++ .num_resources = ARRAY_SIZE(gumstix_smc91x1_resources),
++ .resource = gumstix_smc91x1_resources,
++};
++
++static struct platform_device *smc91x_devices[] = {
++ &gumstix_smc91x0_device,
++ &gumstix_smc91x1_device,
++};
++
++/* First we're going to test if there's a 2nd SMC91C111, and if not, then we'll free up those resources and the GPIO lines
++ * that it would otherwise use. We have no choice but to probe by doing:
++ * Set nCS2 to CS2 mode
++ * Set the reset line to GPIO out mode, and pull it high, then drop it low (to trigger reset)
++ * Read from the memory space to check for the sentinel sequence identifying a likely SMC91C111 device
++ */
++int __init gumstix_smc91x_init(void)
++{
++ unsigned int val, num_devices=ARRAY_SIZE(smc91x_devices);
++ void *ioaddr;
++
++ /* Set up nPWE */
++ pxa_gpio_mode(GPIO49_nPWE_MD);
++
++ pxa_gpio_mode(GPIO78_nCS_2_MD);
++ // If either if statement fails, then we'll drop out and turn_off_eth1,
++ // if both succeed, then we'll skip that and just proceed with 2 cards
++ if(request_mem_region(gumstix_smc91x1_resources[0].start, SMC_IO_EXTENT, "smc91x probe"))
++ {
++ ioaddr = ioremap(gumstix_smc91x1_resources[0].start, SMC_IO_EXTENT);
++ val = ioread16(ioaddr + BANK_SELECT);
++ iounmap(ioaddr);
++ release_mem_region(gumstix_smc91x1_resources[0].start, SMC_IO_EXTENT);
++ if ((val & 0xFF00) == 0x3300) {
++ goto proceed;
++ }
++ }
++
++turn_off_eth1:
++ // This is apparently not an SMC91C111
++ // So, let's decrement the number of devices to request, and reset the GPIO lines to GPIO IN mode
++ num_devices--;
++ smc91x_devices[1] = NULL;
++ pxa_gpio_mode(78 | GPIO_IN);
++
++proceed:
++ pxa_gpio_mode(GPIO15_nCS_1_MD);
++
++ if(smc91x_devices[1]) pxa_gpio_mode(GPIO_GUMSTIX_ETH1_RST_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_ETH0_RST_MD);
++ if(smc91x_devices[1]) GPSR(GPIO_GUMSTIX_ETH1_RST) = GPIO_bit(GPIO_GUMSTIX_ETH1_RST);
++ GPSR(GPIO_GUMSTIX_ETH0_RST) = GPIO_bit(GPIO_GUMSTIX_ETH0_RST);
++ udelay(1); // Hold RESET for at least 100ns
++ if(smc91x_devices[1]) GPCR(GPIO_GUMSTIX_ETH1_RST) = GPIO_bit(GPIO_GUMSTIX_ETH1_RST);
++ GPCR(GPIO_GUMSTIX_ETH0_RST) = GPIO_bit(GPIO_GUMSTIX_ETH0_RST);
++ msleep(50);
++
++ return platform_add_devices(smc91x_devices, num_devices);
++}
++
++void __exit gumstix_smc91x_exit(void)
++{
++ if(smc91x_devices[1] != NULL) platform_device_unregister(&gumstix_smc91x1_device);
++ platform_device_unregister(&gumstix_smc91x0_device);
++}
++
++void gumstix_smc91x_load(void) {}
++EXPORT_SYMBOL(gumstix_smc91x_load);
++
++module_init(gumstix_smc91x_init);
++module_exit(gumstix_smc91x_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Craig Hughes <craig@gumstix.com>");
++MODULE_DESCRIPTION("Gumstix board SMC91C111 chip initialization driver");
++MODULE_VERSION("1:0.1");
diff --git a/packages/linux/gumstix-kernel-2.6.21/modular-init-usb-gadget.patch b/packages/linux/gumstix-kernel-2.6.21/modular-init-usb-gadget.patch
new file mode 100644
index 0000000000..e3ee0d6a7d
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/modular-init-usb-gadget.patch
@@ -0,0 +1,106 @@
+Index: linux-2.6.21gum/drivers/usb/gadget/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/Kconfig
++++ linux-2.6.21gum/drivers/usb/gadget/Kconfig
+@@ -56,6 +56,14 @@ config USB_GADGET_DEBUG_FILES
+ config USB_GADGET_SELECTED
+ boolean
+
++config USB_GADGET_GUMSTIX
++ tristate
++ default m if USB_GADGET=m
++ default y if USB_GADGET=y
++ depends on USB_GADGET && ARCH_GUMSTIX
++ help
++ USB Gadget support for the Gumstix platform
++
+ #
+ # USB Peripheral Controller Support
+ #
+Index: linux-2.6.21gum/drivers/usb/gadget/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/Makefile
++++ linux-2.6.21gum/drivers/usb/gadget/Makefile
+@@ -8,6 +8,7 @@ obj-$(CONFIG_USB_GOKU) += goku_udc.o
+ obj-$(CONFIG_USB_OMAP) += omap_udc.o
+ obj-$(CONFIG_USB_LH7A40X) += lh7a40x_udc.o
+ obj-$(CONFIG_USB_AT91) += at91_udc.o
++obj-$(CONFIG_USB_GADGET_GUMSTIX) += gumstix_gadget.o
+
+ #
+ # USB gadget drivers
+Index: linux-2.6.21gum/drivers/usb/gadget/pxa2xx_udc.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/pxa2xx_udc.c
++++ linux-2.6.21gum/drivers/usb/gadget/pxa2xx_udc.c
+@@ -2752,8 +2752,16 @@ static struct platform_driver udc_driver
+ },
+ };
+
++#ifdef CONFIG_ARCH_GUMSTIX
++extern void gumstix_usb_gadget_load(void);
++#endif
++
+ static int __init udc_init(void)
+ {
++#ifdef CONFIG_ARCH_GUMSTIX
++ gumstix_usb_gadget_load();
++#endif
++
+ printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION);
+ return platform_driver_register(&udc_driver);
+ }
+Index: linux-2.6.21gum/drivers/usb/gadget/gumstix_gadget.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/usb/gadget/gumstix_gadget.c
+@@ -0,0 +1,49 @@
++/*
++ * Gumstix USB gadget intialization driver
++ *
++ * Author: Craig Hughes
++ * Created: December 9, 2004
++ * Copyright: (C) 2004 Craig Hughes
++ *
++ * 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 <linux/module.h>
++
++#include <asm/hardware.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/delay.h>
++#include <asm/irq.h>
++#include <asm/mach/irq.h>
++
++#include <asm/arch/gumstix.h>
++#include <asm/arch/udc.h>
++
++int __init gumstix_usb_gadget_init(void)
++{
++ pxa_gpio_mode(GPIO_GUMSTIX_USB_GPIOx_DIS_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_USB_GPIOn_MD);
++
++ set_irq_type(GUMSTIX_USB_INTR_IRQ, IRQT_BOTHEDGE);
++
++ return 0;
++}
++
++void __exit gumstix_usb_gadget_exit(void)
++{
++}
++
++void gumstix_usb_gadget_load(void) {}
++EXPORT_SYMBOL(gumstix_usb_gadget_load);
++
++module_init(gumstix_usb_gadget_init);
++module_exit(gumstix_usb_gadget_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Craig Hughes <craig@gumstix.com>");
++MODULE_DESCRIPTION("Gumstix board USB gadget initialization driver");
++MODULE_VERSION("1:0.1");
diff --git a/packages/linux/gumstix-kernel-2.6.21/pcm-gcc-411-bugfix.patch b/packages/linux/gumstix-kernel-2.6.21/pcm-gcc-411-bugfix.patch
new file mode 100644
index 0000000000..50a26cbdf5
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/pcm-gcc-411-bugfix.patch
@@ -0,0 +1,60 @@
+Index: linux-2.6.21gum/include/sound/pcm_params.h
+===================================================================
+--- linux-2.6.21gum.orig/include/sound/pcm_params.h
++++ linux-2.6.21gum/include/sound/pcm_params.h
+@@ -179,16 +179,8 @@ static inline int snd_mask_single(const
+ return 1;
+ }
+
+-static inline int snd_mask_refine(struct snd_mask *mask,
+- const struct snd_mask *v)
+-{
+- struct snd_mask old;
+- snd_mask_copy(&old, mask);
+- snd_mask_intersect(mask, v);
+- if (snd_mask_empty(mask))
+- return -EINVAL;
+- return !snd_mask_eq(mask, &old);
+-}
++void snd_mask_print( const struct snd_mask *m1, const struct snd_mask *m2 );
++int snd_mask_refine(struct snd_mask *mask, const struct snd_mask *v);
+
+ static inline int snd_mask_refine_first(struct snd_mask *mask)
+ {
+Index: linux-2.6.21gum/sound/core/pcm_lib.c
+===================================================================
+--- linux-2.6.21gum.orig/sound/core/pcm_lib.c
++++ linux-2.6.21gum/sound/core/pcm_lib.c
+@@ -2128,3 +2128,18 @@ snd_pcm_sframes_t snd_pcm_lib_readv(stru
+ }
+
+ EXPORT_SYMBOL(snd_pcm_lib_readv);
++
++int snd_mask_refine(struct snd_mask *mask,
++ const struct snd_mask *v)
++{
++ struct snd_mask old;
++ snd_mask_copy(&old, mask);
++ snd_mask_print(mask, v);
++ snd_mask_intersect(mask, v);
++ snd_mask_print(mask, v);
++ if (snd_mask_empty(mask))
++ return -EINVAL;
++ return !snd_mask_eq(mask, &old);
++}
++
++EXPORT_SYMBOL(snd_mask_refine);
+Index: linux-2.6.21gum/sound/core/pcm_native.c
+===================================================================
+--- linux-2.6.21gum.orig/sound/core/pcm_native.c
++++ linux-2.6.21gum/sound/core/pcm_native.c
+@@ -3450,3 +3450,9 @@ const struct file_operations snd_pcm_f_o
+ .fasync = snd_pcm_fasync,
+ }
+ };
++
++void snd_mask_print( const struct snd_mask *m1, const struct snd_mask *m2 )
++{
++// printk( "0x%08x %08x v: 0x%08x %08x\n", m1->bits[1], m1->bits[0], m2->bits[1], m2->bits[0] );
++}
++
diff --git a/packages/linux/gumstix-kernel-2.6.21/proc-gpio.patch b/packages/linux/gumstix-kernel-2.6.21/proc-gpio.patch
new file mode 100644
index 0000000000..51c5c7242b
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/proc-gpio.patch
@@ -0,0 +1,348 @@
+Index: linux-2.6.21gum/arch/arm/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/Kconfig
++++ linux-2.6.21gum/arch/arm/Kconfig
+@@ -505,6 +505,8 @@ config PCI_HOST_VIA82C505
+ depends on PCI && ARCH_SHARK
+ default y
+
++source "drivers/gpio/Kconfig"
++
+ source "drivers/pci/Kconfig"
+
+ source "drivers/pcmcia/Kconfig"
+Index: linux-2.6.21gum/drivers/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/Makefile
++++ linux-2.6.21gum/drivers/Makefile
+@@ -81,3 +81,4 @@ obj-$(CONFIG_GENERIC_TIME) += clocksourc
+ obj-$(CONFIG_DMA_ENGINE) += dma/
+ obj-$(CONFIG_HID) += hid/
+ obj-$(CONFIG_PPC_PS3) += ps3/
++obj-$(CONFIG_PROC_GPIO) += gpio/
+Index: linux-2.6.21gum/drivers/gpio/Kconfig
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/gpio/Kconfig
+@@ -0,0 +1,12 @@
++config PROC_GPIO
++ tristate "GPIO /proc interface"
++ depends on PXA25x || PXA27x
++ help
++ This enables an interface under /proc/gpio which allows reading or setting
++ of any GPIO, and also changing the GPIO alt function mode of any line.
++
++config PROC_GPIO_DEBUG
++ boolean "Enable /proc/gpio debug logging"
++ depends on PROC_GPIO
++ help
++ This enables printk logging of activity done through /proc/gpio
+Index: linux-2.6.21gum/drivers/gpio/Makefile
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/gpio/Makefile
+@@ -0,0 +1,3 @@
++# Expose GPIOs under /proc
++obj-$(CONFIG_PROC_GPIO) += proc_gpio.o
++
+Index: linux-2.6.21gum/drivers/gpio/proc_gpio.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/gpio/proc_gpio.c
+@@ -0,0 +1,296 @@
++/*
++ *
++ * PXA25x GPIOs exposed under /proc for reading and writing
++ * They will show up under /proc/gpio/NN
++ *
++ * Based on patch 1773/1 in the arm kernel patch repository at arm.linux.co.uk
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/proc_fs.h>
++#include <linux/string.h>
++#include <linux/ctype.h>
++
++#include <asm/hardware.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/uaccess.h>
++
++static struct proc_dir_entry *proc_gpio_parent;
++static struct proc_dir_entry *proc_gpios[PXA_LAST_GPIO + 1];
++
++typedef struct
++{
++ int gpio;
++ char name[32];
++} gpio_summary_type;
++
++static gpio_summary_type gpio_summaries[PXA_LAST_GPIO + 1];
++
++static int proc_gpio_write(struct file *file, const char __user *buf,
++ unsigned long count, void *data)
++{
++ char *cur, lbuf[count + 1];
++ gpio_summary_type *summary = data;
++ u32 altfn, direction, setclear, gafr;
++
++ if (!capable(CAP_SYS_ADMIN))
++ return -EACCES;
++
++ memset(lbuf, 0, count + 1);
++
++ if (copy_from_user(lbuf, buf, count))
++ return -EFAULT;
++
++ cur = lbuf;
++
++ // Initialize to current state
++ altfn = ((GAFR(summary->gpio) >> ((summary->gpio & 0x0f) << 0x01)) & 0x03);
++ direction = GPDR(summary->gpio) & GPIO_bit(summary->gpio);
++ setclear = GPLR(summary->gpio) & GPIO_bit(summary->gpio);
++ while(1)
++ {
++ // We accept options: {GPIO|AF1|AF2|AF3}, {set|clear}, {in|out}
++ // Anything else is an error
++ while(cur[0] && (isspace(cur[0]) || ispunct(cur[0]))) cur = &(cur[1]);
++
++ if('\0' == cur[0]) break;
++
++ // Ok, so now we're pointing at the start of something
++ switch(cur[0])
++ {
++ case 'G':
++ // Check that next is "PIO" -- '\0' will cause safe short-circuit if end of buf
++ if(!(cur[1] == 'P' && cur[2] == 'I' && cur[3] == 'O')) goto parse_error;
++ // Ok, so set this GPIO to GPIO (non-ALT) function
++ altfn = 0;
++ cur = &(cur[4]);
++ break;
++ case 'A':
++ if(!(cur[1] == 'F' && cur[2] >= '1' && cur[2] <= '3')) goto parse_error;
++ altfn = cur[2] - '0';
++ cur = &(cur[3]);
++ break;
++ case 's':
++ if(!(cur[1] == 'e' && cur[2] == 't')) goto parse_error;
++ setclear = 1;
++ cur = &(cur[3]);
++ break;
++ case 'c':
++ if(!(cur[1] == 'l' && cur[2] == 'e' && cur[3] == 'a' && cur[4] == 'r')) goto parse_error;
++ setclear = 0;
++ cur = &(cur[5]);
++ break;
++ case 'i':
++ if(!(cur[1] == 'n')) goto parse_error;
++ direction = 0;
++ cur = &(cur[2]);
++ break;
++ case 'o':
++ if(!(cur[1] == 'u' && cur[2] == 't')) goto parse_error;
++ direction = 1;
++ cur = &(cur[3]);
++ break;
++ default: goto parse_error;
++ }
++ }
++ // Ok, now set gpio mode and value
++ if(direction)
++ GPDR(summary->gpio) |= GPIO_bit(summary->gpio);
++ else
++ GPDR(summary->gpio) &= ~GPIO_bit(summary->gpio);
++
++ gafr = GAFR(summary->gpio) & ~(0x3 << (((summary->gpio) & 0xf)*2));
++ GAFR(summary->gpio) = gafr | (altfn << (((summary->gpio) & 0xf)*2));
++
++ if(direction && !altfn)
++ {
++ if(setclear) GPSR(summary->gpio) = GPIO_bit(summary->gpio);
++ else GPCR(summary->gpio) = GPIO_bit(summary->gpio);
++ }
++
++#ifdef CONFIG_PROC_GPIO_DEBUG
++ printk(KERN_INFO "Set (%s,%s,%s) via /proc/gpio/%s\n",altfn ? (altfn == 1 ? "AF1" : (altfn == 2 ? "AF2" : "AF3")) : "GPIO",
++ direction ? "out" : "in",
++ setclear ? "set" : "clear",
++ summary->name);
++#endif
++
++ return count;
++
++parse_error:
++ printk(KERN_CRIT "Parse error: Expect \"[GPIO|AF1|AF2|AF3]|[set|clear]|[in|out] ...\"\n");
++ return -EINVAL;
++}
++
++static int proc_gpio_read(char *page, char **start, off_t off,
++ int count, int *eof, void *data)
++{
++ char *p = page;
++ gpio_summary_type *summary = data;
++ int len, i, af;
++ i = summary->gpio;
++
++ p += sprintf(p, "%d\t%s\t%s\t%s\n", i,
++ (af = ((GAFR(i) >> ((i & 0x0f) << 0x01)) & 0x03)) ? (af == 1 ? "AF1" : (af == 2 ? "AF2" : "AF3")) : "GPIO",
++ (GPDR(i) & GPIO_bit(i)) ? "out" : "in",
++ (GPLR(i) & GPIO_bit(i)) ? "set" : "clear");
++
++ len = (p - page) - off;
++
++ if(len < 0)
++ {
++ len = 0;
++ }
++
++ *eof = (len <= count) ? 1 : 0;
++ *start = page + off;
++
++ return len;
++}
++
++
++#ifdef CONFIG_PXA25x
++static const char const *GAFR_DESC[] = { "GAFR0_L", "GAFR0_U", "GAFR1_L", "GAFR1_U", "GAFR2_L", "GAFR2_U" };
++#elif defined(CONFIG_PXA27x)
++static const char const *GAFR_DESC[] = { "GAFR0_L", "GAFR0_U", "GAFR1_L", "GAFR1_U", "GAFR2_L", "GAFR2_U", "GAFR3_L", "GAFR3_U" };
++#endif
++
++static int proc_gafr_read(char *page, char **start, off_t off,
++ int count, int *eof, void *data)
++{
++ char *p = page;
++ int i, len;
++
++ for(i=0; i<ARRAY_SIZE(GAFR_DESC); i++)
++ {
++ p += sprintf(p, "%s: %08x\n", GAFR_DESC[i], GAFR(i*16));
++ }
++
++ len = (p - page) - off;
++
++ if(len < 0)
++ {
++ len = 0;
++ }
++
++ *eof = (len <= count) ? 1 : 0;
++ *start = page + off;
++
++ return len;
++}
++
++static int proc_gpdr_read(char *page, char **start, off_t off,
++ int count, int *eof, void *data)
++{
++ char *p = page;
++ int i, len;
++
++ for(i=0; i<=2; i++)
++ {
++ p += sprintf(p, "GPDR%d: %08x\n", i, GPDR(i * 32));
++ }
++
++ len = (p - page) - off;
++
++ if(len < 0)
++ {
++ len = 0;
++ }
++
++ *eof = (len <= count) ? 1 : 0;
++ *start = page + off;
++
++ return len;
++}
++
++static int proc_gplr_read(char *page, char **start, off_t off,
++ int count, int *eof, void *data)
++{
++ char *p = page;
++ int i, len;
++
++ for(i=0; i<=2; i++)
++ {
++ p += sprintf(p, "GPLR%d: %08x\n", i, GPLR(i * 32));
++ }
++
++ len = (p - page) - off;
++
++ if(len < 0)
++ {
++ len = 0;
++ }
++
++ *eof = (len <= count) ? 1 : 0;
++ *start = page + off;
++
++ return len;
++}
++
++static int __init gpio_init(void)
++{
++ int i;
++
++ proc_gpio_parent = NULL;
++ for (proc_gpio_parent = proc_root.subdir; proc_gpio_parent; proc_gpio_parent = proc_gpio_parent->next) {
++ if (( proc_gpio_parent->namelen == 4 ) && ( memcmp(proc_gpio_parent->name, "gpio", 4 ) == 0 ))
++ break;
++ }
++
++ // proc_gpio_parent will be non-NULL if the directory already exists
++
++ if (!proc_gpio_parent) {
++ proc_gpio_parent = proc_gpio_parent = create_proc_entry("gpio", S_IFDIR | S_IRUGO | S_IXUGO, NULL);
++ }
++
++ if(!proc_gpio_parent) return 0;
++
++ for(i=0; i < (PXA_LAST_GPIO+1); i++)
++ {
++ gpio_summaries[i].gpio = i;
++ sprintf(gpio_summaries[i].name, "GPIO%d", i);
++ proc_gpios[i] = create_proc_entry(gpio_summaries[i].name, 0644, proc_gpio_parent);
++ if(proc_gpios[i])
++ {
++ proc_gpios[i]->data = &gpio_summaries[i];
++ proc_gpios[i]->read_proc = proc_gpio_read;
++ proc_gpios[i]->write_proc = proc_gpio_write;
++ }
++ }
++
++ create_proc_read_entry("GAFR", 0444, proc_gpio_parent, proc_gafr_read, NULL);
++ create_proc_read_entry("GPDR", 0444, proc_gpio_parent, proc_gpdr_read, NULL);
++ create_proc_read_entry("GPLR", 0444, proc_gpio_parent, proc_gplr_read, NULL);
++
++ return 0;
++}
++
++static void gpio_exit(void)
++{
++ int i;
++
++ remove_proc_entry("GAFR", proc_gpio_parent);
++ remove_proc_entry("GPDR", proc_gpio_parent);
++ remove_proc_entry("GPLR", proc_gpio_parent);
++
++ for(i=0; i < (PXA_LAST_GPIO+1); i++)
++ {
++ if(proc_gpios[i]) remove_proc_entry(gpio_summaries[i].name, proc_gpio_parent);
++ }
++
++ if (proc_gpio_parent)
++ {
++ if (!proc_gpio_parent->subdir)
++ {
++ // Only remove /proc/gpio if it's empty.
++ remove_proc_entry( "gpio", NULL );
++ }
++ }
++
++}
++
++module_init(gpio_init);
++module_exit(gpio_exit);
++MODULE_LICENSE("GPL");
diff --git a/packages/linux/gumstix-kernel-2.6.21/pxa-regs-additions.patch b/packages/linux/gumstix-kernel-2.6.21/pxa-regs-additions.patch
new file mode 100644
index 0000000000..3d32a188bb
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/pxa-regs-additions.patch
@@ -0,0 +1,28 @@
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/pxa-regs.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/pxa-regs.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/pxa-regs.h
+@@ -1316,6 +1316,7 @@
+ #define GPIO77_LCD_ACBIAS 77 /* LCD AC Bias */
+ #define GPIO78_nCS_2 78 /* chip select 2 */
+ #define GPIO79_nCS_3 79 /* chip select 3 */
++#define GPIO79_pSKTSEL 79 /* Socket Select for Card Space (PXA27x) */
+ #define GPIO80_nCS_4 80 /* chip select 4 */
+ #define GPIO81_NSCLK 81 /* NSSP clock */
+ #define GPIO82_NSFRM 82 /* NSSP Frame */
+@@ -1324,6 +1325,7 @@
+ #define GPIO85_nPCE_1 85 /* Card Enable for Card Space (PXA27x) */
+ #define GPIO92_MMCDAT0 92 /* MMC DAT0 (PXA27x) */
+ #define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */
++#define GPIO105_nPCE_2 105 /* Card Enable for Card Space (PXA27x) */
+ #define GPIO109_MMCDAT1 109 /* MMC DAT1 (PXA27x) */
+ #define GPIO110_MMCDAT2 110 /* MMC DAT2 (PXA27x) */
+ #define GPIO110_MMCCS0 110 /* MMC Chip Select 0 (PXA27x) */
+@@ -1468,6 +1470,7 @@
+ #define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT)
+ #define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT)
+ #define GPIO104_pSKTSEL_MD (104 | GPIO_ALT_FN_1_OUT)
++#define GPIO105_nPCE_2_MD (105 | GPIO_ALT_FN_1_OUT)
+ #define GPIO109_MMCDAT1_MD (109 | GPIO_ALT_FN_1_OUT)
+ #define GPIO110_MMCDAT2_MD (110 | GPIO_ALT_FN_1_OUT)
+ #define GPIO110_MMCCS0_MD (110 | GPIO_ALT_FN_1_OUT)
diff --git a/packages/linux/gumstix-kernel-2.6.21/pxa-regs-fixup.patch b/packages/linux/gumstix-kernel-2.6.21/pxa-regs-fixup.patch
new file mode 100644
index 0000000000..6ab30c0e41
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/pxa-regs-fixup.patch
@@ -0,0 +1,12 @@
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/udc.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/udc.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/udc.h
+@@ -5,6 +5,7 @@
+ * USB Device Controller (UDC) is wired.
+ *
+ */
++#include <asm/arch/pxa-regs.h>
+ #include <asm/mach/udc_pxa2xx.h>
+
+ extern void pxa_set_udc_info(struct pxa2xx_udc_mach_info *info);
diff --git a/packages/linux/gumstix-kernel-2.6.21/pxa2xx_udc.patch b/packages/linux/gumstix-kernel-2.6.21/pxa2xx_udc.patch
new file mode 100644
index 0000000000..4489e701bf
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/pxa2xx_udc.patch
@@ -0,0 +1,65 @@
+Index: linux-2.6.21gum/drivers/usb/gadget/pxa2xx_udc.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/pxa2xx_udc.c
++++ linux-2.6.21gum/drivers/usb/gadget/pxa2xx_udc.c
+@@ -51,6 +51,7 @@
+ #include <asm/mach-types.h>
+ #include <asm/unaligned.h>
+ #include <asm/hardware.h>
++#include <asm/mach/irq.h>
+ #ifdef CONFIG_ARCH_PXA
+ #include <asm/arch/pxa-regs.h>
+ #endif
+@@ -101,6 +102,10 @@ static const char ep0name [] = "ep0";
+
+ #endif
+
++#ifdef CONFIG_ARCH_GUMSTIX
++#undef CONFIG_USB_PXA2XX_SMALL
++#endif
++
+ #include "pxa2xx_udc.h"
+
+
+@@ -2541,6 +2546,41 @@ static int __init pxa2xx_udc_probe(struc
+ }
+ #endif
+
++ /* Reset UDCCS register to be able to recover from whatever
++ * state UDC was previously in. */
++ *dev->ep[ 2].reg_udccs = UDCCS_BO_RPC | UDCCS_BO_SST;
++#ifndef CONFIG_USB_PXA2XX_SMALL
++ *dev->ep[ 7].reg_udccs = UDCCS_BO_RPC | UDCCS_BO_SST;
++ *dev->ep[12].reg_udccs = UDCCS_BO_RPC | UDCCS_BO_SST;
++#endif
++
++ *dev->ep[ 1].reg_udccs = UDCCS_BI_TPC | UDCCS_BI_FTF |
++ UDCCS_BI_TUR | UDCCS_BI_SST | UDCCS_BI_TSP;
++#ifndef CONFIG_USB_PXA2XX_SMALL
++ *dev->ep[ 6].reg_udccs = UDCCS_BI_TPC | UDCCS_BI_FTF |
++ UDCCS_BI_TUR | UDCCS_BI_SST | UDCCS_BI_TSP;
++ *dev->ep[11].reg_udccs = UDCCS_BI_TPC | UDCCS_BI_FTF |
++ UDCCS_BI_TUR | UDCCS_BI_SST | UDCCS_BI_TSP;
++
++ *dev->ep[ 3].reg_udccs = UDCCS_II_TPC | UDCCS_II_FTF |
++ UDCCS_II_TUR | UDCCS_II_TSP;
++ *dev->ep[ 8].reg_udccs = UDCCS_II_TPC | UDCCS_II_FTF |
++ UDCCS_II_TUR | UDCCS_II_TSP;
++ *dev->ep[13].reg_udccs = UDCCS_II_TPC | UDCCS_II_FTF |
++ UDCCS_II_TUR | UDCCS_II_TSP;
++
++ *dev->ep[ 4].reg_udccs = UDCCS_IO_RPC | UDCCS_IO_ROF;
++ *dev->ep[ 9].reg_udccs = UDCCS_IO_RPC | UDCCS_IO_ROF;
++ *dev->ep[11].reg_udccs = UDCCS_IO_RPC | UDCCS_IO_ROF;
++
++ *dev->ep[ 5].reg_udccs = UDCCS_INT_TPC | UDCCS_INT_FTF |
++ UDCCS_INT_TUR | UDCCS_INT_SST;
++ *dev->ep[10].reg_udccs = UDCCS_INT_TPC | UDCCS_INT_FTF |
++ UDCCS_INT_TUR | UDCCS_INT_SST;
++ *dev->ep[15].reg_udccs = UDCCS_INT_TPC | UDCCS_INT_FTF |
++ UDCCS_INT_TUR | UDCCS_INT_SST;
++#endif
++
+ /* other non-static parts of init */
+ dev->dev = &pdev->dev;
+ dev->mach = pdev->dev.platform_data;
diff --git a/packages/linux/gumstix-kernel-2.6.21/pxafb-18bpp-mode.patch b/packages/linux/gumstix-kernel-2.6.21/pxafb-18bpp-mode.patch
new file mode 100644
index 0000000000..e39564bdb5
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/pxafb-18bpp-mode.patch
@@ -0,0 +1,433 @@
+Index: linux-2.6.21gum/drivers/video/pxafb.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/pxafb.c
++++ linux-2.6.21gum/drivers/video/pxafb.c
+@@ -191,6 +191,10 @@ static int pxafb_bpp_to_lccr3(struct fb_
+ case 4: ret = LCCR3_4BPP; break;
+ case 8: ret = LCCR3_8BPP; break;
+ case 16: ret = LCCR3_16BPP; break;
++ case 18: ret = (var->nonstd == 24 ? LCCR3_18BPP_PACKED : LCCR3_18BPP); break;
++ case 19: ret = (var->nonstd == 24 ? LCCR3_19BPP_PACKED : LCCR3_19BPP); break;
++ case 24: ret = LCCR3_24BPP; break;
++ case 25: ret = LCCR3_25BPP; break;
+ }
+ return ret;
+ }
+@@ -204,11 +208,12 @@ static int pxafb_bpp_to_lccr3(struct fb_
+ */
+ static unsigned int pxafb_display_dma_period(struct fb_var_screeninfo *var)
+ {
+- /*
+- * Period = pixclock * bits_per_byte * bytes_per_transfer
+- * / memory_bits_per_pixel;
+- */
+- return var->pixclock * 8 * 16 / var->bits_per_pixel;
++ /*
++ * Period = pixclock * bits_per_byte * bytes_per_transfer
++ * / memory_bits_per_pixel;
++ */
++ struct pxafb_mach_info *inf = fbi->dev->platform_data;
++ return var->pixclock * 8 * 16 / (var->nonstd ? var->nonstd : var->bits_per_pixel);
+ }
+
+ extern unsigned int get_clk_frequency_khz(int info);
+@@ -307,6 +312,26 @@ static int pxafb_check_var(struct fb_var
+ var->green.offset = 5; var->green.length = 6;
+ var->blue.offset = 0; var->blue.length = 5;
+ var->transp.offset = var->transp.length = 0;
++ } else if (var->bits_per_pixel == 18) {
++ var->transp.offset = var->transp.length = 0;
++ var->red.offset = 12; var->red.length=6;
++ var->green.offset = 6; var->green.length=6;
++ var->blue.offset = 0; var->blue.length=6;
++ } else if (var->bits_per_pixel == 19) {
++ var->transp.offset = 18; var->transp.length = 1;
++ var->red.offset = 12; var->red.length=6;
++ var->green.offset = 6; var->green.length=6;
++ var->blue.offset = 0; var->blue.length=6;
++ } else if (var->bits_per_pixel == 24) {
++ var->transp.offset = var->transp.length = 0;
++ var->red.offset = 16; var->red.length=8;
++ var->green.offset = 8; var->green.length=8;
++ var->blue.offset = 0; var->blue.length=8;
++ } else if (var->bits_per_pixel == 25) {
++ var->transp.offset = 18; var->transp.length = 1;
++ var->red.offset = 16; var->red.length=8;
++ var->green.offset = 8; var->green.length=8;
++ var->blue.offset = 0; var->blue.length=8;
+ } else {
+ var->red.offset = var->green.offset = var->blue.offset = var->transp.offset = 0;
+ var->red.length = 8;
+@@ -342,7 +367,7 @@ static int pxafb_set_par(struct fb_info
+
+ pr_debug("pxafb: set_par\n");
+
+- if (var->bits_per_pixel == 16)
++ if (var->bits_per_pixel >= 16)
+ fbi->fb.fix.visual = FB_VISUAL_TRUECOLOR;
+ else if (!fbi->cmap_static)
+ fbi->fb.fix.visual = FB_VISUAL_PSEUDOCOLOR;
+@@ -355,9 +380,10 @@ static int pxafb_set_par(struct fb_info
+ fbi->fb.fix.visual = FB_VISUAL_STATIC_PSEUDOCOLOR;
+ }
+
+- fbi->fb.fix.line_length = var->xres_virtual *
+- var->bits_per_pixel / 8;
+- if (var->bits_per_pixel == 16)
++ fbi->fb.fix.line_length = var->xres_virtual *
++ (var->nonstd ? var->nonstd : var->bits_per_pixel) / 8;
++
++ if (var->bits_per_pixel >= 16)
+ fbi->palette_size = 0;
+ else
+ fbi->palette_size = var->bits_per_pixel == 1 ? 4 : 1 << var->bits_per_pixel;
+@@ -374,7 +400,7 @@ static int pxafb_set_par(struct fb_info
+ */
+ pxafb_set_truecolor(fbi->fb.fix.visual == FB_VISUAL_TRUECOLOR);
+
+- if (fbi->fb.var.bits_per_pixel == 16)
++ if (fbi->fb.var.bits_per_pixel >= 16)
+ fb_dealloc_cmap(&fbi->fb.cmap);
+ else
+ fb_alloc_cmap(&fbi->fb.cmap, 1<<fbi->fb.var.bits_per_pixel, 0);
+@@ -584,6 +610,14 @@ static int pxafb_activate_var(struct fb_
+ case 8:
+ case 16:
+ break;
++ case 18:
++ case 19:
++ case 24:
++ case 25:
++ if(var->nonstd) break;
++ printk(KERN_ERR "%s: must specify nonstd when bit depth==%d\n",
++ fbi->fb.fix.id, var->bits_per_pixel);
++ break;
+ default:
+ printk(KERN_ERR "%s: invalid bit depth %d\n",
+ fbi->fb.fix.id, var->bits_per_pixel);
+@@ -679,7 +713,7 @@ static int pxafb_activate_var(struct fb_
+ fbi->dmadesc_palette_cpu->fidr = 0;
+ fbi->dmadesc_palette_cpu->ldcmd = (fbi->palette_size * 2) | LDCMD_PAL;
+
+- if (var->bits_per_pixel == 16) {
++ if (var->bits_per_pixel >= 16) {
+ /* palette shouldn't be loaded in true-color mode */
+ fbi->dmadesc_fbhigh_cpu->fdadr = fbi->dmadesc_fbhigh_dma;
+ fbi->fdadr0 = fbi->dmadesc_fbhigh_dma; /* no pal just fbhigh */
+@@ -785,8 +819,19 @@ static void pxafb_setup_gpio(struct pxaf
+ return;
+ }
+
+- for (gpio = 58; ldd_bits; gpio++, ldd_bits--)
++ for (gpio = 58; min(ldd_bits,16); gpio++, ldd_bits--)
+ pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
++
++ switch(fbi->fb.var.bits_per_pixel)
++ {
++ case 25:
++ case 24:
++ case 19:
++ case 18:
++ pxa_gpio_mode(GPIO86_LDD_16_MD);
++ pxa_gpio_mode(GPIO87_LDD_17_MD);
++ default: break;
++ }
+ pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
+ pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
+ pxa_gpio_mode(GPIO76_LCD_PCLK_MD);
+@@ -1135,7 +1180,7 @@ static struct pxafb_info * __init pxafb_
+ fbi->fb.fix.ywrapstep = 0;
+ fbi->fb.fix.accel = FB_ACCEL_NONE;
+
+- fbi->fb.var.nonstd = 0;
++ fbi->fb.var.nonstd = mode->nonstd;
+ fbi->fb.var.activate = FB_ACTIVATE_NOW;
+ fbi->fb.var.height = -1;
+ fbi->fb.var.width = -1;
+@@ -1161,7 +1206,7 @@ static struct pxafb_info * __init pxafb_
+ fbi->task_state = (u_char)-1;
+
+ for (i = 0; i < inf->num_modes; i++) {
+- smemlen = mode[i].xres * mode[i].yres * mode[i].bpp / 8;
++ smemlen = mode[i].xres * mode[i].yres * (mode[i].nonstd ? mode[i].nonstd : mode[i].bpp) / 8;
+ if (smemlen > fbi->fb.fix.smem_len)
+ fbi->fb.fix.smem_len = smemlen;
+ }
+@@ -1189,12 +1234,19 @@ static int __init pxafb_parse_options(st
+ if (!strncmp(this_opt, "mode:", 5)) {
+ const char *name = this_opt+5;
+ unsigned int namelen = strlen(name);
+- int res_specified = 0, bpp_specified = 0;
+- unsigned int xres = 0, yres = 0, bpp = 0;
++ int res_specified = 0, bpp_specified = 0, nonstd_specified = 0;
++ unsigned int xres = 0, yres = 0, bpp = 0, nonstd = 0;
+ int yres_specified = 0;
+ int i;
+ for (i = namelen-1; i >= 0; i--) {
+ switch (name[i]) {
++ case '/':
++ if (!nonstd_specified) {
++ nonstd = simple_strtoul(&name[i+1], NULL, 0);
++ nonstd_specified = 1;
++ } else
++ goto done;
++ break;
+ case '-':
+ namelen = i;
+ if (!bpp_specified && !yres_specified) {
+@@ -1227,12 +1279,29 @@ static int __init pxafb_parse_options(st
+ }
+ if (bpp_specified)
+ switch (bpp) {
++ case 18:
++ case 19:
++ case 24:
++ case 25:
++ if(nonstd_specified && (((bpp == 18 || bpp == 19) && nonstd == 24) || nonstd == 32))
++ {
++ inf->modes[0].nonstd = nonstd;
++ dev_info(dev, "overriding nonstd pixel packing: %d\n",nonstd);
++ } else {
++ dev_err(dev, "Depth %d requires nonstd to be specified\n",bpp);
++ break;
++ }
+ case 1:
+ case 2:
+ case 4:
+ case 8:
+ case 16:
+ inf->modes[0].bpp = bpp;
++ if(nonstd_specified) {
++ dev_err(dev, "Depth %d requires nonstd to *not* be specified\n",bpp);
++ } else {
++ inf->modes[0].nonstd = 0;
++ }
+ dev_info(dev, "overriding bit depth: %d\n", bpp);
+ break;
+ default:
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/pxa-regs.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/pxa-regs.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/pxa-regs.h
+@@ -1323,6 +1323,8 @@
+ #define GPIO83_NSTXD 83 /* NSSP transmit */
+ #define GPIO84_NSRXD 84 /* NSSP receive */
+ #define GPIO85_nPCE_1 85 /* Card Enable for Card Space (PXA27x) */
++#define GPIO86_LDD_16 86 /* LCD data pin 16 */
++#define GPIO87_LDD_17 87 /* LCD data pin 17 */
+ #define GPIO92_MMCDAT0 92 /* MMC DAT0 (PXA27x) */
+ #define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */
+ #define GPIO105_nPCE_2 105 /* Card Enable for Card Space (PXA27x) */
+@@ -1468,6 +1470,8 @@
+ #define GPIO84_NSSP_TX (84 | GPIO_ALT_FN_1_OUT)
+ #define GPIO84_NSSP_RX (84 | GPIO_ALT_FN_2_IN)
+ #define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT)
++#define GPIO86_LDD_16_MD (86 | GPIO_ALT_FN_2_OUT)
++#define GPIO87_LDD_17_MD (87 | GPIO_ALT_FN_2_OUT)
+ #define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT)
+ #define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT)
+ #define GPIO104_pSKTSEL_MD (104 | GPIO_ALT_FN_1_OUT)
+@@ -1878,6 +1882,12 @@
+ #define LCCR3_4BPP (2 << 24)
+ #define LCCR3_8BPP (3 << 24)
+ #define LCCR3_16BPP (4 << 24)
++#define LCCR3_18BPP (5 << 24)
++#define LCCR3_18BPP_PACKED (6 << 24)
++#define LCCR3_19BPP (7 << 24)
++#define LCCR3_19BPP_PACKED (1 << 29)
++#define LCCR3_24BPP ((1 << 29) | (1 << 24))
++#define LCCR3_25BPP ((1 << 29) | (2 << 24))
+
+ #define FDADR0 __REG(0x44000200) /* DMA Channel 0 Frame Descriptor Address Register */
+ #define FSADR0 __REG(0x44000204) /* DMA Channel 0 Frame Source Address Register */
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/pxafb.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/pxafb.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/pxafb.h
+@@ -25,6 +25,7 @@ struct pxafb_mode_info {
+ u_short xres;
+ u_short yres;
+
++ /* bpp is the path-to-screen bits per pixel, not the in-memory storage required */
+ u_char bpp;
+ u_char hsync_len;
+ u_char left_margin;
+@@ -36,7 +37,9 @@ struct pxafb_mode_info {
+ u_char sync;
+
+ u_int cmap_greyscale:1,
+- unused:31;
++ nonstd:8, /* nonstd represents the in-memory bits per pixel
++ ie 24 or 32 for 18/19bpp mode, or 32 for 24/25bpp mode */
++ unused:23;
+ };
+
+ struct pxafb_mach_info {
+Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/gumstix.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+@@ -146,7 +146,8 @@ static struct pxafb_mode_info gumstix_fb
+ .pixclock = 110000,
+ .xres = 480,
+ .yres = 272,
+- .bpp = 16,
++ .bpp = 18,
++ .nonstd = 24,
+ .hsync_len = 41,
+ .left_margin = 2,
+ .right_margin = 2,
+@@ -174,7 +175,8 @@ static struct pxafb_mode_info gumstix_fb
+ .vsync_len = 10, // VLW from datasheet: 10 typ
+ .upper_margin = 2, // VBP - VLW from datasheet: 12 - 10 = 2
+ .lower_margin = 4, // VFP from datasheet: 4 typ
+- .bpp = 16,
++ .bpp = 18,
++ .nonstd = 24,
+ .sync = 0, // Hsync and Vsync both active low
+ };
+
+Index: linux-2.6.21gum/drivers/video/cfbfillrect.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/cfbfillrect.c
++++ linux-2.6.21gum/drivers/video/cfbfillrect.c
+@@ -62,7 +62,10 @@ pixel_to_pat( u32 bpp, u32 pixel)
+ return 0x0001001001001001ul*pixel;
+ case 16:
+ return 0x0001000100010001ul*pixel;
++ case 18:
++ case 19:
+ case 24:
++ case 25:
+ return 0x0000000001000001ul*pixel;
+ case 32:
+ return 0x0000000100000001ul*pixel;
+@@ -87,7 +90,10 @@ pixel_to_pat( u32 bpp, u32 pixel)
+ return 0x00001001ul*pixel;
+ case 16:
+ return 0x00010001ul*pixel;
++ case 18:
++ case 19:
+ case 24:
++ case 25:
+ return 0x00000001ul*pixel;
+ case 32:
+ return 0x00000001ul*pixel;
+@@ -346,7 +352,7 @@ void cfb_fillrect(struct fb_info *p, con
+ unsigned long pat, fg;
+ unsigned long width = rect->width, height = rect->height;
+ int bits = BITS_PER_LONG, bytes = bits >> 3;
+- u32 bpp = p->var.bits_per_pixel;
++ u32 bpp = (p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
+ unsigned long __iomem *dst;
+ int dst_idx, left;
+
+Index: linux-2.6.21gum/drivers/video/cfbimgblt.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/cfbimgblt.c
++++ linux-2.6.21gum/drivers/video/cfbimgblt.c
+@@ -83,7 +83,7 @@ static inline void color_imageblit(const
+ /* Draw the penguin */
+ u32 __iomem *dst, *dst2;
+ u32 color = 0, val, shift;
+- int i, n, bpp = p->var.bits_per_pixel;
++ int i, n, bpp = (p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
+ u32 null_bits = 32 - bpp;
+ u32 *palette = (u32 *) p->pseudo_palette;
+ const u8 *src = image->data;
+@@ -140,7 +140,7 @@ static inline void slow_imageblit(const
+ u32 start_index,
+ u32 pitch_index)
+ {
+- u32 shift, color = 0, bpp = p->var.bits_per_pixel;
++ u32 shift, color = 0, bpp = (p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
+ u32 __iomem *dst, *dst2;
+ u32 val, pitch = p->fix.line_length;
+ u32 null_bits = 32 - bpp;
+@@ -213,7 +213,7 @@ static inline void fast_imageblit(const
+ u8 __iomem *dst1, u32 fgcolor,
+ u32 bgcolor)
+ {
+- u32 fgx = fgcolor, bgx = bgcolor, bpp = p->var.bits_per_pixel;
++ u32 fgx = fgcolor, bgx = bgcolor, bpp = (p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
+ u32 ppw = 32/bpp, spitch = (image->width + 7)/8;
+ u32 bit_mask, end_mask, eorx, shift;
+ const char *s = image->data, *src;
+@@ -262,7 +262,7 @@ static inline void fast_imageblit(const
+ void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
+ {
+ u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0;
+- u32 bpl = sizeof(u32), bpp = p->var.bits_per_pixel;
++ u32 bpl = sizeof(u32), bpp = (p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
+ u32 width = image->width;
+ u32 dx = image->dx, dy = image->dy;
+ u8 __iomem *dst1;
+Index: linux-2.6.21gum/drivers/video/cfbcopyarea.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/cfbcopyarea.c
++++ linux-2.6.21gum/drivers/video/cfbcopyarea.c
+@@ -365,8 +365,8 @@ void cfb_copyarea(struct fb_info *p, con
+ dst = src = (unsigned long __iomem *)((unsigned long)p->screen_base & ~(bytes-1));
+ dst_idx = src_idx = 8*((unsigned long)p->screen_base & (bytes-1));
+ // add offset of source and target area
+- dst_idx += dy*bits_per_line + dx*p->var.bits_per_pixel;
+- src_idx += sy*bits_per_line + sx*p->var.bits_per_pixel;
++ dst_idx += dy*bits_per_line + dx*(p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
++ src_idx += sy*bits_per_line + sx*(p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel);
+
+ if (p->fbops->fb_sync)
+ p->fbops->fb_sync(p);
+@@ -380,7 +380,7 @@ void cfb_copyarea(struct fb_info *p, con
+ src += src_idx >> (ffs(bits) - 1);
+ src_idx &= (bytes - 1);
+ bitcpy_rev(dst, dst_idx, src, src_idx, bits,
+- width*p->var.bits_per_pixel);
++ width*(p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel));
+ }
+ } else {
+ while (height--) {
+@@ -389,7 +389,7 @@ void cfb_copyarea(struct fb_info *p, con
+ src += src_idx >> (ffs(bits) - 1);
+ src_idx &= (bytes - 1);
+ bitcpy(dst, dst_idx, src, src_idx, bits,
+- width*p->var.bits_per_pixel);
++ width*(p->var.nonstd ? p->var.nonstd : p->var.bits_per_pixel));
+ dst_idx += bits_per_line;
+ src_idx += bits_per_line;
+ }
+Index: linux-2.6.21gum/drivers/video/console/fbcon.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/console/fbcon.c
++++ linux-2.6.21gum/drivers/video/console/fbcon.c
+@@ -983,9 +983,10 @@ static const char *fbcon_startup(void)
+
+ DPRINTK("mode: %s\n", info->fix.id);
+ DPRINTK("visual: %d\n", info->fix.visual);
+- DPRINTK("res: %dx%d-%d\n", info->var.xres,
++ DPRINTK("res: %dx%d-%d(%d)\n", info->var.xres,
+ info->var.yres,
+- info->var.bits_per_pixel);
++ info->var.bits_per_pixel,
++ info->var.nonstd ? info->var.nonstd : info->var.bits_per_pixel);
+
+ #ifdef CONFIG_ATARI
+ if (MACH_IS_ATARI) {
+Index: linux-2.6.21gum/Documentation/fb/pxafb.txt
+===================================================================
+--- linux-2.6.21gum.orig/Documentation/fb/pxafb.txt
++++ linux-2.6.21gum/Documentation/fb/pxafb.txt
+@@ -9,11 +9,13 @@ For example:
+ or on the kernel command line
+ video=pxafb:mode:640x480-8,passive
+
+-mode:XRESxYRES[-BPP]
++mode:XRESxYRES[-BPP[/PACKING]]
+ XRES == LCCR1_PPL + 1
+ YRES == LLCR2_LPP + 1
+ The resolution of the display in pixels
+ BPP == The bit depth. Valid values are 1, 2, 4, 8 and 16.
++ PACKING == The in-memory bits per pixel. Valid values are 24, 32 when
++ BPP == 18,19,24,25
+
+ pixclock:PIXCLOCK
+ Pixel clock in picoseconds
diff --git a/packages/linux/gumstix-kernel-2.6.21/pxafb-definition.patch b/packages/linux/gumstix-kernel-2.6.21/pxafb-definition.patch
new file mode 100644
index 0000000000..f8d5b1ecb1
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/pxafb-definition.patch
@@ -0,0 +1,180 @@
+Index: linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+===================================================================
+--- linux-2.6.21gum.orig/arch/arm/mach-pxa/gumstix.c
++++ linux-2.6.21gum/arch/arm/mach-pxa/gumstix.c
+@@ -25,6 +25,7 @@
+ #include <asm/arch/udc.h>
+ #include <asm/arch/mmc.h>
+ #include <asm/arch/pxa-regs.h>
++#include <asm/arch/pxafb.h>
+ #include <asm/arch/gumstix.h>
+
+ #include "generic.h"
+@@ -90,6 +91,89 @@ static struct platform_device gum_audio_
+ .id = -1,
+ };
+
++
++#if defined(CONFIG_FB_PXA_SHARP_LQ043_PSP) || defined(CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C)
++static void gumstix_lcd_backlight(int on_or_off)
++{
++ if(on_or_off)
++ {
++ pxa_gpio_mode(17 | GPIO_IN);
++ } else {
++ GPCR(17) = GPIO_bit(17);
++ pxa_gpio_mode(17 | GPIO_OUT);
++ GPCR(17) = GPIO_bit(17);
++ }
++}
++#endif
++
++
++#ifdef CONFIG_FB_PXA_ALPS_CDOLLAR
++static struct pxafb_mode_info gumstix_fb_mode = {
++ .pixclock = 300000,
++ .xres = 240,
++ .yres = 320,
++ .bpp = 16,
++ .hsync_len = 2,
++ .left_margin = 1,
++ .right_margin = 1,
++ .vsync_len = 3,
++ .upper_margin = 0,
++ .lower_margin = 0,
++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
++};
++
++static struct pxafb_mach_info gumstix_fb_info = {
++ .modes = &gumstix_fb_mode,
++ .num_modes = 1,
++ .lccr0 = LCCR0_Pas | LCCR0_Sngl | LCCR0_Color,
++ .lccr3 = LCCR3_PixFlEdg,
++};
++#elif defined(CONFIG_FB_PXA_SHARP_LQ043_PSP)
++static struct pxafb_mode_info gumstix_fb_mode = {
++ .pixclock = 110000,
++ .xres = 480,
++ .yres = 272,
++ .bpp = 16,
++ .hsync_len = 41,
++ .left_margin = 2,
++ .right_margin = 2,
++ .vsync_len = 10,
++ .upper_margin = 2,
++ .lower_margin = 2,
++ .sync = 0, // Hsync and Vsync both active low
++};
++
++static struct pxafb_mach_info gumstix_fb_info = {
++ .modes = &gumstix_fb_mode,
++ .num_modes = 1,
++ .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color,
++ .lccr3 = LCCR3_OutEnH | LCCR3_PixFlEdg | (3 << 30),
++ .pxafb_backlight_power = &gumstix_lcd_backlight,
++};
++#elif defined(CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C)
++static struct pxafb_mode_info gumstix_fb_mode = {
++ .pixclock = 108696, // 9.2MHz typical DOTCLK from datasheet
++ .xres = 480,
++ .hsync_len = 41, // HLW from datasheet: 41 typ
++ .left_margin = 4, // HBP - HLW from datasheet: 45 - 41 = 4
++ .right_margin = 8, // HFP from datasheet: 8 typ
++ .yres = 272,
++ .vsync_len = 10, // VLW from datasheet: 10 typ
++ .upper_margin = 2, // VBP - VLW from datasheet: 12 - 10 = 2
++ .lower_margin = 4, // VFP from datasheet: 4 typ
++ .bpp = 16,
++ .sync = 0, // Hsync and Vsync both active low
++};
++
++static struct pxafb_mach_info gumstix_fb_info = {
++ .modes = &gumstix_fb_mode,
++ .num_modes = 1,
++ .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color,
++ .lccr3 = LCCR3_OutEnH | LCCR3_PixFlEdg | (3 << 30),
++ .pxafb_backlight_power = &gumstix_lcd_backlight,
++};
++#endif
++
+ static struct platform_device *devices[] __initdata = {
+ &gum_audio_device,
+ };
+@@ -98,6 +182,9 @@ static void __init gumstix_init(void)
+ {
+ pxa_set_mci_info(&gumstix_mci_platform_data);
+ pxa_set_udc_info(&gumstix_udc_info);
++#if defined(CONFIG_FB_PXA_ALPS_CDOLLAR) | defined(CONFIG_FB_PXA_SHARP_LQ043_PSP) | defined(CONFIG_FB_PXA_SAMSUNG_LTE430WQ_F0C)
++ set_pxa_fb_info(&gumstix_fb_info);
++#endif
+ (void) platform_add_devices(devices, ARRAY_SIZE(devices));
+ }
+
+Index: linux-2.6.21gum/drivers/video/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/Kconfig
++++ linux-2.6.21gum/drivers/video/Kconfig
+@@ -1495,6 +1495,37 @@ config FB_PXA
+
+ If unsure, say N.
+
++choice
++ depends on FB_PXA
++ prompt "LCD Panel"
++ default FB_PXA_SAMSUNG_LTE430WQ_F0C
++
++config FB_PXA_ALPS_CDOLLAR
++ boolean "Chris Dollar's ALPS screen"
++ ---help---
++ Enable definitions (over-ridable on the kernel command line if
++ "PXA LCD command line parameters" is also selected) for an ALPS
++ screen which Chris Dollar uses
++
++config FB_PXA_SHARP_LQ043_PSP
++ boolean "SHARP LQ043... series"
++ ---help---
++ Enable definitions (over-ridable on the kernel command line if
++ "PXA LCD command line parameters" is also selected) for a SHARP
++ LQ043... screen, such as the one used by the PSP. These screens are
++ the ones normally sold by gumstix with its boards.
++
++config FB_PXA_SAMSUNG_LTE430WQ_F0C
++ boolean "Samsung LTE430WQ-F0C (standard gumstix LCD)"
++ ---help---
++ Enable definitions for a Samsung LTE430WQ-F0C LCD panel, such as the ones resold
++ by gumstix for use with their "LCD-Ready" boards.
++
++config FB_PXA_NONEOFTHEABOVE
++ boolean "None of the above"
++
++endchoice
++
+ config FB_PXA_PARAMETERS
+ bool "PXA LCD command line parameters"
+ default n
+Index: linux-2.6.21gum/drivers/video/pxafb.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/video/pxafb.c
++++ linux-2.6.21gum/drivers/video/pxafb.c
+@@ -22,6 +22,7 @@
+ *
+ */
+
++#include <linux/autoconf.h>
+ #include <linux/module.h>
+ #include <linux/moduleparam.h>
+ #include <linux/kernel.h>
+@@ -789,7 +790,13 @@ static void pxafb_setup_gpio(struct pxaf
+ pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
+ pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
+ pxa_gpio_mode(GPIO76_LCD_PCLK_MD);
++#ifdef CONFIG_FB_PXA_SHARP_LQ043_PSP
++ /* DISP must be always high while screen is on */
++ pxa_gpio_mode(GPIO77_LCD_ACBIAS | GPIO_OUT);
++ GPSR(GPIO77_LCD_ACBIAS) = GPIO_bit(GPIO77_LCD_ACBIAS);
++#else
+ pxa_gpio_mode(GPIO77_LCD_ACBIAS_MD);
++#endif
+ }
+
+ static void pxafb_enable_controller(struct pxafb_info *fbi)
diff --git a/packages/linux/gumstix-kernel-2.6.21/serial-divisor.patch b/packages/linux/gumstix-kernel-2.6.21/serial-divisor.patch
new file mode 100644
index 0000000000..efce5a51ef
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/serial-divisor.patch
@@ -0,0 +1,31 @@
+Index: linux-2.6.21gum/drivers/serial/pxa.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/serial/pxa.c
++++ linux-2.6.21gum/drivers/serial/pxa.c
+@@ -41,6 +41,7 @@
+ #include <linux/platform_device.h>
+ #include <linux/tty.h>
+ #include <linux/tty_flip.h>
++#include <linux/serial.h>
+ #include <linux/serial_core.h>
+
+ #include <asm/io.h>
+@@ -577,8 +578,16 @@ static void serial_pxa_config_port(struc
+ static int
+ serial_pxa_verify_port(struct uart_port *port, struct serial_struct *ser)
+ {
+- /* we don't want the core code to modify any port params */
+- return -EINVAL;
++ struct uart_pxa_port *up = (struct uart_pxa_port *)port;
++ int ret = 0;
++
++ if (up->port.uartclk / 16 != ser->baud_base)
++ ret = -EINVAL;
++ else if (((up->port.line & 1) == 0) && ser->baud_base > 230400) /* Max baud rate for STUART and FFUART */
++ ret = -EINVAL;
++ else if (((up->port.line & 1) != 0) && ser->baud_base > 921600) /* Max baud rate for HWUART and BTUART */
++ ret = -EINVAL;
++ return ret;
+ }
+
+ static const char *
diff --git a/packages/linux/gumstix-kernel-2.6.21/serial-ether-addr.patch b/packages/linux/gumstix-kernel-2.6.21/serial-ether-addr.patch
new file mode 100644
index 0000000000..3161472e90
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/serial-ether-addr.patch
@@ -0,0 +1,62 @@
+Index: linux-2.6.21gum/drivers/usb/gadget/ether.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/usb/gadget/ether.c
++++ linux-2.6.21gum/drivers/usb/gadget/ether.c
+@@ -2249,6 +2249,38 @@ static u8 __devinit nibble (unsigned cha
+ return 0;
+ }
+
++static inline unsigned int is_gumstix_oui(u8 *addr)
++{
++ return (addr[0] == 0x00 && addr[1] == 0x15 && addr[2] == 0xC9);
++}
++
++/**
++ * gen_serial_ether_addr - Generate software assigned Ethernet address
++ * based on the system_serial number
++ * @addr: Pointer to a six-byte array containing the Ethernet address
++ *
++ * Generate an Ethernet address (MAC) that is not multicast
++ * and has the local assigned bit set, keyed on the system_serial
++ */
++static inline void gen_serial_ether_addr(u8 *addr)
++{
++ static u8 ether_serial_digit = 0;
++ addr [0] = system_serial_high >> 8;
++ addr [1] = system_serial_high;
++ addr [2] = system_serial_low >> 24;
++ addr [3] = system_serial_low >> 16;
++ addr [4] = system_serial_low >> 8;
++ addr [5] = (system_serial_low & 0xc0) | /* top bits are from system serial */
++ (2 << 4) | /* 2 bits identify interface type 1=ether, 2=usb, 3&4 undef */
++ ((ether_serial_digit++) & 0x0f); /* 15 possible interfaces of each type */
++
++ if(!is_gumstix_oui(addr))
++ {
++ addr [0] &= 0xfe; /* clear multicast bit */
++ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */
++ }
++}
++
+ static int __devinit get_ether_addr(const char *str, u8 *dev_addr)
+ {
+ if (str) {
+@@ -2266,8 +2298,16 @@ static int __devinit get_ether_addr(cons
+ if (is_valid_ether_addr (dev_addr))
+ return 0;
+ }
+- random_ether_addr(dev_addr);
+- return 1;
++ if(system_serial_high | system_serial_low)
++ {
++ gen_serial_ether_addr(dev_addr);
++ return 0;
++ }
++ else
++ {
++ random_ether_addr(dev_addr);
++ return 1;
++ }
+ }
+
+ static int __devinit
diff --git a/packages/linux/gumstix-kernel-2.6.21/smc-ether-addr.patch b/packages/linux/gumstix-kernel-2.6.21/smc-ether-addr.patch
new file mode 100644
index 0000000000..b4957b7a0d
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/smc-ether-addr.patch
@@ -0,0 +1,62 @@
+Index: linux-2.6.21gum/drivers/net/smc91x.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/smc91x.c
++++ linux-2.6.21gum/drivers/net/smc91x.c
+@@ -1815,6 +1815,39 @@ static int __init smc_findirq(void __iom
+ return probe_irq_off(cookie);
+ }
+
++static inline unsigned int is_gumstix_oui(u8 *addr)
++{
++ return (addr[0] == 0x00 && addr[1] == 0x15 && addr[2] == 0xC9);
++}
++
++/**
++ * gen_serial_ether_addr - Generate software assigned Ethernet address
++ * based on the system_serial number
++ * @addr: Pointer to a six-byte array containing the Ethernet address
++ *
++ * Generate an Ethernet address (MAC) that is not multicast
++ * and has the local assigned bit set, keyed on the system_serial
++ */
++static inline void gen_serial_ether_addr(u8 *addr)
++{
++ static u8 ether_serial_digit = 0;
++ addr [0] = system_serial_high >> 8;
++ addr [1] = system_serial_high;
++ addr [2] = system_serial_low >> 24;
++ addr [3] = system_serial_low >> 16;
++ addr [4] = system_serial_low >> 8;
++ addr [5] = (system_serial_low & 0xc0) | /* top bits are from system serial */
++ (1 << 4) | /* 2 bits identify interface type 1=ether, 2=usb, 3&4 undef */
++ ((ether_serial_digit++) & 0x0f); /* 15 possible interfaces of each type */
++
++ if(!is_gumstix_oui(addr))
++ {
++ addr [0] &= 0xfe; /* clear multicast bit */
++ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */
++ }
++}
++
++
+ /*
+ * Function: smc_probe(unsigned long ioaddr)
+ *
+@@ -2032,15 +2065,13 @@ static int __init smc_probe(struct net_d
+ THROTTLE_TX_PKTS ? " [throttle_tx]" : "");
+
+ if (!is_valid_ether_addr(dev->dev_addr)) {
+- printk("%s: Invalid ethernet MAC address. Please "
+- "set using ifconfig\n", dev->name);
+- } else {
++ gen_serial_ether_addr(dev->dev_addr);
++ }
+ /* Print the Ethernet address */
+ printk("%s: Ethernet addr: ", dev->name);
+ for (i = 0; i < 5; i++)
+ printk("%2.2x:", dev->dev_addr[i]);
+ printk("%2.2x\n", dev->dev_addr[5]);
+- }
+
+ if (lp->phy_type == 0) {
+ PRINTK("%s: No PHY found\n", dev->name);
diff --git a/packages/linux/gumstix-kernel-2.6.21/smc911x-fixup.patch b/packages/linux/gumstix-kernel-2.6.21/smc911x-fixup.patch
new file mode 100644
index 0000000000..7e051f9fb6
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/smc911x-fixup.patch
@@ -0,0 +1,392 @@
+Index: linux-2.6.21gum/drivers/net/smc911x.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/smc911x.c
++++ linux-2.6.21gum/drivers/net/smc911x.c
+@@ -76,6 +76,7 @@ static const char version[] =
+ #include <linux/etherdevice.h>
+ #include <linux/skbuff.h>
+
++#include <linux/irq.h>
+ #include <asm/io.h>
+ #include <asm/irq.h>
+
+@@ -303,14 +304,14 @@ static void smc911x_reset(struct net_dev
+ SMC_SET_AFC_CFG(lp->afc_cfg);
+
+
+- /* Set to LED outputs */
+- SMC_SET_GPIO_CFG(0x70070000);
++ /* Set to LED outputs and configure EEPROM pins as GP outputs */
++ SMC_SET_GPIO_CFG(GPIO_CFG_LED1_EN_ | GPIO_CFG_LED2_EN_ | 1 << 20);
+
+ /*
+- * Deassert IRQ for 1*10us for edge type interrupts
++ * Deassert IRQ for 22*10us for edge type interrupts
+ * and drive IRQ pin push-pull
+ */
+- SMC_SET_IRQ_CFG( (1 << 24) | INT_CFG_IRQ_EN_ | INT_CFG_IRQ_TYPE_ );
++ SMC_SET_IRQ_CFG( (22 << 24) | INT_CFG_IRQ_EN_ | INT_CFG_IRQ_TYPE_ );
+
+ /* clear anything saved */
+ if (lp->pending_tx_skb != NULL) {
+@@ -413,7 +414,7 @@ static inline void smc911x_drop_pkt(stru
+ if (fifo_count <= 4) {
+ /* Manually dump the packet data */
+ while (fifo_count--)
+- SMC_GET_RX_FIFO();
++ (void)SMC_GET_RX_FIFO();
+ } else {
+ /* Fast forward through the bad packet */
+ SMC_SET_RX_DP_CTRL(RX_DP_CTRL_FFWD_BUSY_);
+@@ -499,7 +500,7 @@ static inline void smc911x_rcv(struct n
+ SMC_SET_RX_CFG(RX_CFG_RX_END_ALGN4_ | ((2<<8) & RX_CFG_RXDOFF_));
+ SMC_PULL_DATA(data, pkt_len+2+3);
+
+- DBG(SMC_DEBUG_PKTS, "%s: Received packet\n", dev->name,);
++ DBG(SMC_DEBUG_PKTS, "%s: Received packet\n", dev->name);
+ PRINT_PKT(data, ((pkt_len - 4) <= 64) ? pkt_len - 4 : 64);
+ dev->last_rx = jiffies;
+ skb->dev = dev;
+@@ -900,6 +901,7 @@ static void smc911x_phy_powerdown(struct
+ unsigned long ioaddr = dev->base_addr;
+ unsigned int bmcr;
+
++ DBG(SMC_DEBUG_FUNC, "%s: --> %s\n", dev->name, __FUNCTION__);
+ /* Enter Link Disable state */
+ SMC_GET_PHY_BMCR(phy, bmcr);
+ bmcr |= BMCR_PDOWN;
+@@ -925,6 +927,7 @@ static void smc911x_phy_check_media(stru
+
+ if (mii_check_media(&lp->mii, netif_msg_link(lp), init)) {
+ /* duplex state has changed */
++ DBG(SMC_DEBUG_MISC, "%s: duplex state has changed\n", dev->name);
+ SMC_GET_PHY_BMCR(phyaddr, bmcr);
+ SMC_GET_MAC_CR(cr);
+ if (lp->mii.full_duplex) {
+@@ -960,6 +963,7 @@ static void smc911x_phy_configure(struct
+ int my_phy_caps; /* My PHY capabilities */
+ int my_ad_caps; /* My Advertised capabilities */
+ int status;
++ int bmcr;
+ unsigned long flags;
+
+ DBG(SMC_DEBUG_FUNC, "%s: --> %s()\n", dev->name, __FUNCTION__);
+@@ -1033,9 +1037,12 @@ static void smc911x_phy_configure(struct
+
+ DBG(SMC_DEBUG_MISC, "%s: phy caps=0x%04x\n", dev->name, my_phy_caps);
+ DBG(SMC_DEBUG_MISC, "%s: phy advertised caps=0x%04x\n", dev->name, my_ad_caps);
++ DBG(SMC_DEBUG_MISC, "%s: phy advertised readback caps=0x%04x\n", dev->name, status);
+
+ /* Restart auto-negotiation process in order to advertise my caps */
+- SMC_SET_PHY_BMCR(phyaddr, BMCR_ANENABLE | BMCR_ANRESTART);
++ SMC_GET_PHY_BMCR(phyaddr, bmcr);
++ bmcr |= BMCR_ANENABLE | BMCR_ANRESTART;
++ SMC_SET_PHY_BMCR(phyaddr, bmcr);
+
+ smc911x_phy_check_media(dev, 1);
+
+@@ -1888,6 +1895,39 @@ static int __init smc911x_findirq(unsign
+ return probe_irq_off(cookie);
+ }
+
++static inline unsigned int is_gumstix_oui(u8 *addr)
++{
++ return (addr[0] == 0x00 && addr[1] == 0x15 && addr[2] == 0xC9);
++}
++
++/**
++ * gen_serial_ether_addr - Generate software assigned Ethernet address
++ * based on the system_serial number
++ * @addr: Pointer to a six-byte array containing the Ethernet address
++ *
++ * Generate an Ethernet address (MAC) that is not multicast
++ * and has the local assigned bit set, keyed on the system_serial
++ */
++static inline void gen_serial_ether_addr(u8 *addr)
++{
++ static u8 ether_serial_digit = 0;
++ addr [0] = system_serial_high >> 8;
++ addr [1] = system_serial_high;
++ addr [2] = system_serial_low >> 24;
++ addr [3] = system_serial_low >> 16;
++ addr [4] = system_serial_low >> 8;
++ addr [5] = (system_serial_low & 0xc0) | /* top bits are from system serial */
++ (1 << 4) | /* 2 bits identify interface type 1=ether, 2=usb, 3&4 undef */
++ ((ether_serial_digit++) & 0x0f); /* 15 possible interfaces of each type */
++
++ if(!is_gumstix_oui(addr))
++ {
++ addr [0] &= 0xfe; /* clear multicast bit */
++ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */
++ }
++}
++
++
+ /*
+ * Function: smc911x_probe(unsigned long ioaddr)
+ *
+@@ -2116,15 +2156,13 @@ static int __init smc911x_probe(struct n
+ #endif
+ printk("\n");
+ if (!is_valid_ether_addr(dev->dev_addr)) {
+- printk("%s: Invalid ethernet MAC address. Please "
+- "set using ifconfig\n", dev->name);
+- } else {
+- /* Print the Ethernet address */
+- printk("%s: Ethernet addr: ", dev->name);
+- for (i = 0; i < 5; i++)
+- printk("%2.2x:", dev->dev_addr[i]);
+- printk("%2.2x\n", dev->dev_addr[5]);
++ gen_serial_ether_addr(dev->dev_addr);
+ }
++ /* Print the Ethernet address */
++ printk("%s: Ethernet addr: ", dev->name);
++ for (i = 0; i < 5; i++)
++ printk("%2.2x:", dev->dev_addr[i]);
++ printk("%2.2x\n", dev->dev_addr[5]);
+
+ if (lp->phy_type == 0) {
+ PRINTK("%s: No PHY found\n", dev->name);
+@@ -2300,8 +2338,15 @@ static struct platform_driver smc911x_dr
+ },
+ };
+
++#ifdef CONFIG_ARCH_GUMSTIX
++extern void gumstix_smc911x_load(void);
++#endif
++
+ static int __init smc911x_init(void)
+ {
++#ifdef CONFIG_ARCH_GUMSTIX
++ gumstix_smc911x_load();
++#endif
+ return platform_driver_register(&smc911x_driver);
+ }
+
+Index: linux-2.6.21gum/drivers/net/gumstix-smc911x.c
+===================================================================
+--- /dev/null
++++ linux-2.6.21gum/drivers/net/gumstix-smc911x.c
+@@ -0,0 +1,148 @@
++/*
++ * Gumstix SMC911x chip intialization driver
++ *
++ * Author: Craig Hughes
++ * Created: December 9, 2004
++ * Copyright: (C) 2004 Craig Hughes
++ *
++ * 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 <linux/module.h>
++#include <linux/ioport.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++
++#include <asm/hardware.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/delay.h>
++
++#include <asm/arch/gumstix.h>
++
++#define SMC_DEBUG 9
++#include <asm/io.h>
++#include "smc911x.h"
++
++static struct resource gumstix_smc911x0_resources[] = {
++ [0] = {
++ .name = "smc911x-regs",
++ .start = PXA_CS1_PHYS,
++ .end = PXA_CS1_PHYS + 0x000fffff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = GUMSTIX_ETH0_IRQ,
++ .end = GUMSTIX_ETH0_IRQ,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static struct resource gumstix_smc911x1_resources[] = {
++ [0] = {
++ .name = "smc911x-regs",
++ .start = PXA_CS2_PHYS,
++ .end = PXA_CS2_PHYS + 0x000fffff,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = GUMSTIX_ETH1_IRQ,
++ .end = GUMSTIX_ETH1_IRQ,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static struct platform_device gumstix_smc911x0_device = {
++ .name = "smc911x",
++ .id = 0,
++ .num_resources = ARRAY_SIZE(gumstix_smc911x0_resources),
++ .resource = gumstix_smc911x0_resources,
++};
++
++static struct platform_device gumstix_smc911x1_device = {
++ .name = "smc911x",
++ .id = 1,
++ .num_resources = ARRAY_SIZE(gumstix_smc911x1_resources),
++ .resource = gumstix_smc911x1_resources,
++};
++
++static struct platform_device *smc911x_devices[] = {
++ &gumstix_smc911x0_device,
++ &gumstix_smc911x1_device,
++};
++
++/* First we're going to test if there's a 2nd SMC911x, and if not, then we'll free up those resources and the GPIO lines
++ * that it would otherwise use. We have no choice but to probe by doing:
++ * Set nCS2 to CS2 mode
++ * Set the reset line to GPIO out mode, and pull it high, then drop it low (to trigger reset)
++ * Read from the memory space to check for the sentinel sequence identifying a likely SMC911x device
++ */
++int __init gumstix_smc911x_init(void)
++{
++ unsigned int val, num_devices=ARRAY_SIZE(smc911x_devices);
++ void *ioaddr;
++
++ /* Set up nPWE */
++ pxa_gpio_mode(GPIO49_nPWE_MD);
++
++ pxa_gpio_mode(GPIO78_nCS_2_MD);
++ // If either if statement fails, then we'll drop out and turn_off_eth1,
++ // if both succeed, then we'll skip that and just proceed with 2 cards
++ if(request_mem_region(gumstix_smc911x1_resources[1].start, SMC911X_IO_EXTENT, "smc911x probe"))
++ {
++ ioaddr = ioremap(gumstix_smc911x1_resources[1].start, SMC911X_IO_EXTENT);
++ val = SMC_GET_PN();
++ iounmap(ioaddr);
++ release_mem_region(gumstix_smc911x1_resources[1].start, SMC911X_IO_EXTENT);
++ if (CHIP_9115 == val ||
++ CHIP_9116 == val ||
++ CHIP_9117 == val ||
++ CHIP_9118 == val ) {
++ goto proceed;
++ }
++ }
++
++turn_off_eth1:
++ // This is apparently not an SMC911x
++ // So, let's decrement the number of devices to request, and reset the GPIO lines to GPIO IN mode
++ num_devices--;
++ smc911x_devices[1] = NULL;
++ pxa_gpio_mode(78 | GPIO_IN);
++
++proceed:
++ pxa_gpio_mode(GPIO15_nCS_1_MD);
++
++ if(smc911x_devices[1]) pxa_gpio_mode(GPIO_GUMSTIX_ETH1_RST_MD);
++ pxa_gpio_mode(GPIO_GUMSTIX_ETH0_RST_MD);
++
++ if(smc911x_devices[1]) GPCR(GPIO_GUMSTIX_ETH1_RST) = GPIO_bit(GPIO_GUMSTIX_ETH1_RST);
++ GPCR(GPIO_GUMSTIX_ETH0_RST) = GPIO_bit(GPIO_GUMSTIX_ETH0_RST);
++ msleep(500); // Hold RESET for at least 200µ
++
++ if(smc911x_devices[1]) GPSR(GPIO_GUMSTIX_ETH1_RST) = GPIO_bit(GPIO_GUMSTIX_ETH1_RST);
++ GPSR(GPIO_GUMSTIX_ETH0_RST) = GPIO_bit(GPIO_GUMSTIX_ETH0_RST);
++ msleep(50);
++
++ return platform_add_devices(smc911x_devices, num_devices);
++}
++
++void __exit gumstix_smc911x_exit(void)
++{
++ if(smc911x_devices[1] != NULL) platform_device_unregister(&gumstix_smc911x1_device);
++ platform_device_unregister(&gumstix_smc911x0_device);
++}
++
++void gumstix_smc911x_load(void) {}
++EXPORT_SYMBOL(gumstix_smc911x_load);
++
++module_init(gumstix_smc911x_init);
++module_exit(gumstix_smc911x_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Craig Hughes <craig@gumstix.com>");
++MODULE_DESCRIPTION("Gumstix board SMC911x chip initialization driver");
++MODULE_VERSION("1:0.1");
+Index: linux-2.6.21gum/drivers/net/Kconfig
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/Kconfig
++++ linux-2.6.21gum/drivers/net/Kconfig
+@@ -897,6 +897,13 @@ config SMC911X
+ called smc911x. If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>
+
++config SMC911X_GUMSTIX
++ tristate
++ default m if SMC911X=m
++ default y if SMC911X=y
++ depends on SMC911X && ARCH_GUMSTIX
++
++
+ config NET_VENDOR_RACAL
+ bool "Racal-Interlan (Micom) NI cards"
+ depends on NET_ETHERNET && ISA
+Index: linux-2.6.21gum/drivers/net/Makefile
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/Makefile
++++ linux-2.6.21gum/drivers/net/Makefile
+@@ -201,6 +201,7 @@ obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o
+ obj-$(CONFIG_MACB) += macb.o
+
+ obj-$(CONFIG_SMC91X_GUMSTIX) += gumstix-smc91x.o
++obj-$(CONFIG_SMC911X_GUMSTIX) += gumstix-smc911x.o
+ obj-$(CONFIG_ARM) += arm/
+ obj-$(CONFIG_DEV_APPLETALK) += appletalk/
+ obj-$(CONFIG_TR) += tokenring/
+Index: linux-2.6.21gum/include/asm-arm/arch-pxa/gumstix.h
+===================================================================
+--- linux-2.6.21gum.orig/include/asm-arm/arch-pxa/gumstix.h
++++ linux-2.6.21gum/include/asm-arm/arch-pxa/gumstix.h
+@@ -52,7 +52,7 @@
+ #define GPIO_GUMSTIX_ETH0_RST 80
+ #define GPIO_GUMSTIX_ETH0 36
+ #else
+-#define GPIO_GUMSTIX_ETH0_RST 32
++#define GPIO_GUMSTIX_ETH0_RST 107
+ #define GPIO_GUMSTIX_ETH0 99
+ #endif
+ #define GPIO_GUMSTIX_ETH1_RST 52
+Index: linux-2.6.21gum/drivers/net/smc911x.h
+===================================================================
+--- linux-2.6.21gum.orig/drivers/net/smc911x.h
++++ linux-2.6.21gum/drivers/net/smc911x.h
+@@ -33,7 +33,9 @@
+ * Use the DMA feature on PXA chips
+ */
+ #ifdef CONFIG_ARCH_PXA
++#if !defined( CONFIG_SMC911X_GUMSTIX ) && !defined( CONFIG_SMC911X_GUMSTIX_MODULE )
+ #define SMC_USE_PXA_DMA 1
++#endif
+ #define SMC_USE_16BIT 0
+ #define SMC_USE_32BIT 1
+ #endif
+@@ -46,13 +48,13 @@
+ #if SMC_USE_16BIT
+ #define SMC_inb(a, r) readb((a) + (r))
+ #define SMC_inw(a, r) readw((a) + (r))
+-#define SMC_inl(a, r) ((SMC_inw(a, r) & 0xFFFF)+(SMC_inw(a+2, r)<<16))
++#define SMC_inl(a, r) ((SMC_inw(a, r) & 0xFFFF)+(SMC_inw((a)+2, r)<<16))
+ #define SMC_outb(v, a, r) writeb(v, (a) + (r))
+ #define SMC_outw(v, a, r) writew(v, (a) + (r))
+ #define SMC_outl(v, a, r) \
+ do{ \
+- writel(v & 0xFFFF, (a) + (r)); \
+- writel(v >> 16, (a) + (r) + 2); \
++ writel((v) & 0xFFFF, (a) + (r)); \
++ writel((v) >> 16, (a) + (r) + 2); \
+ } while (0)
+ #define SMC_insl(a, r, p, l) readsw((short*)((a) + (r)), p, l*2)
+ #define SMC_outsl(a, r, p, l) writesw((short*)((a) + (r)), p, l*2)
diff --git a/packages/linux/gumstix-kernel-2.6.21/tsc2003-config.diff b/packages/linux/gumstix-kernel-2.6.21/tsc2003-config.diff
new file mode 100644
index 0000000000..ccad5ed696
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/tsc2003-config.diff
@@ -0,0 +1,31 @@
+--- /tmp/Kconfig 2007-10-07 14:13:14.000000000 +0200
++++ linux-2.6.21/drivers/i2c/chips/Kconfig 2007-10-07 14:13:56.902045000 +0200
+@@ -125,4 +125,18 @@
+ This driver can also be built as a module. If so, the module
+ will be called max6875.
+
++config SENSORS_TSC2003
++ tristate "TI TSC2003"
++ depends on I2C && EXPERIMENTAL
++ default n
++ help
++ Driver for TI tsc2003 touchscreen and sensor chip/
++
++config SENSORS_TSC2003_SYSFS
++ tristate "TI TSC2003 sysfs interface
++ depends on SENSORS_TSC2003
++ default n
++ help
++ Enabled the sysfs interface for tsc2003
++
+ endmenu
+--- /tmp/Makefile 2007-10-07 14:14:14.000000000 +0200
++++ linux-2.6.21/drivers/i2c/chips/Makefile 2007-10-07 14:14:20.072045000 +0200
+@@ -12,6 +12,7 @@
+ obj-$(CONFIG_SENSORS_PCF8591) += pcf8591.o
+ obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o
+ obj-$(CONFIG_TPS65010) += tps65010.o
++obj-$(CONFIG_SENSORS_TSC2003) += tsc2003.o
+
+ ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
+ EXTRA_CFLAGS += -DDEBUG
diff --git a/packages/linux/gumstix-kernel-2.6.21/tsc2003.c b/packages/linux/gumstix-kernel-2.6.21/tsc2003.c
new file mode 100644
index 0000000000..d0f496617e
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/tsc2003.c
@@ -0,0 +1,699 @@
+/*
+ * linux/drivers/i2c/chips/tsc2003.c
+ *
+ * Copyright (C) 2005 Bill Gatliff <bgat at billgatliff.com>
+ * Changes for 2.6.20 kernel by Nicholas Chen <nchen at cs.umd.edu>
+ *
+ * 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.
+ *
+ * Driver for TI's TSC2003 I2C Touch Screen Controller
+ */
+
+//#include <linux/config.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/i2c.h>
+#include <linux/string.h>
+#include <linux/bcd.h>
+#include <linux/list.h>
+#include <linux/device.h>
+#include <linux/interrupt.h>
+#include <linux/input.h>
+#include <linux/delay.h>
+#include <asm-arm/arch-pxa/irqs.h>
+
+static unsigned short normal_i2c[]
+= {0x48, I2C_CLIENT_END };
+
+I2C_CLIENT_INSMOD_1(tsc2003);
+
+#define DRIVER_NAME "tsc2003"
+
+enum tsc2003_pd {
+ PD_POWERDOWN = 0, /* penirq */
+ PD_IREFOFF_ADCON = 1, /* no penirq */
+ PD_IREFON_ADCOFF = 2, /* penirq */
+ PD_IREFON_ADCON = 3, /* no penirq */
+ PD_PENIRQ_ARM = PD_IREFON_ADCOFF,
+ PD_PENIRQ_DISARM = PD_IREFON_ADCON,
+};
+
+enum tsc2003_m {
+ M_12BIT = 0,
+ M_8BIT = 1
+};
+
+enum tsc2003_cmd {
+ MEAS_TEMP0 = 0,
+ MEAS_VBAT1 = 1,
+ MEAS_IN1 = 2,
+ MEAS_TEMP1 = 4,
+ MEAS_VBAT2 = 5,
+ MEAS_IN2 = 6,
+ ACTIVATE_NX_DRIVERS = 8,
+ ACTIVATE_NY_DRIVERS = 9,
+ ACTIVATE_YNX_DRIVERS = 10,
+ MEAS_XPOS = 12,
+ MEAS_YPOS = 13,
+ MEAS_Z1POS = 14,
+ MEAS_Z2POS = 15
+};
+
+#define TSC2003_CMD(cn,pdn,m) (((cn) << 4) | ((pdn) << 2) | ((m) << 1))
+
+#define ADC_MAX ((1 << 12) - 1)
+
+struct tsc2003_data {
+ struct i2c_client client;
+ struct device_driver driver;
+ struct input_dev *idev;
+ struct timer_list penirq_timer;
+ struct semaphore sem;
+ struct task_struct *tstask;
+ struct completion tstask_completion;
+ struct completion penirq_completion;
+ enum tsc2003_pd pd;
+ enum tsc2003_m m;
+ int penirq;
+
+ int vbat1;
+ int vbat2;
+ int temp0;
+ int temp1;
+ int in1;
+ int in2;
+};
+
+static int tsc2003_i2c_detect (struct i2c_adapter *adapter, int address,
+int kind);
+
+static inline int tsc2003_command (struct tsc2003_data *data,
+ enum tsc2003_cmd cmd,
+ enum tsc2003_pd pd)
+{
+ char c;
+ int ret;
+ down(&data->sem);
+ c = TSC2003_CMD(cmd, pd, data->m);
+ ret = i2c_master_send(&data->client, &c, 1);
+ up(&data->sem);
+ return ret;
+}
+
+static int tsc2003_read (struct tsc2003_data *data,
+ enum tsc2003_cmd cmd,
+ enum tsc2003_pd pd,
+ int *val)
+{
+ char c;
+ char d[2];
+ int ret;
+
+ c = TSC2003_CMD(cmd, pd, data->m);
+ ret = i2c_master_send(&data->client, &c, 1);
+ if (ret <= 0) goto err;
+
+ udelay(20);
+ ret = i2c_master_recv(&data->client, d, data->m == M_12BIT ? 2 : 1);
+ if (ret <= 0) goto err;
+
+ if (val)
+ {
+ *val = d[0];
+ *val <<= 4;
+ if (data->m == M_12BIT)
+ *val += (d[1] >> 4);
+ }
+
+#if defined(CONFIG_I2C_DEBUG_CHIP)
+ printk(KERN_ERR "%s: val[%x] = %d\n",
+ __FUNCTION__, cmd, (((int)d[0]) << 8) + d[1]);
+#endif
+
+ return 0;
+ err:
+ if (!ret) ret = -ENODEV;
+ return ret;
+}
+
+static inline int tsc2003_read_temp0 (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *t)
+{
+ return tsc2003_read(d, MEAS_TEMP0, pd, t);
+}
+
+static inline int tsc2003_read_temp1 (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *t)
+{
+ return tsc2003_read(d, MEAS_TEMP1, pd, t);
+}
+
+static inline int tsc2003_read_xpos (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *x)
+{
+ return tsc2003_read(d, MEAS_XPOS, pd, x);
+}
+
+static inline int tsc2003_read_ypos (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *y)
+{
+ return tsc2003_read(d, MEAS_YPOS, pd, y);
+}
+
+static inline int tsc2003_read_pressure (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *p)
+{
+ return tsc2003_read(d, MEAS_Z1POS, pd, p);
+}
+
+static inline int tsc2003_read_in1 (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *t)
+{
+ return tsc2003_read(d, MEAS_IN1, pd, t);
+}
+
+static inline int tsc2003_read_in2 (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *t)
+{
+ return tsc2003_read(d, MEAS_IN2, pd, t);
+}
+
+static inline int tsc2003_read_vbat1 (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *t)
+{
+ return tsc2003_read(d, MEAS_VBAT1, pd, t);
+}
+
+static inline int tsc2003_read_vbat2 (struct tsc2003_data *d, enum
+tsc2003_pd pd, int *t)
+{
+ return tsc2003_read(d, MEAS_VBAT2, pd, t);
+}
+
+static inline int tsc2003_powerdown (struct tsc2003_data *d)
+{
+ /* we don't have a distinct powerdown command,
+ so do a benign read with the PD bits cleared */
+ return tsc2003_read(d, MEAS_IN1, PD_POWERDOWN, 0);
+}
+
+void tsc2003_init_client (struct i2c_client *client)
+{
+ struct tsc2003_data *data = i2c_get_clientdata(client);
+
+ data->pd = PD_PENIRQ_DISARM;
+ data->m = M_8BIT;
+ return;
+}
+
+#define PENUP_TIMEOUT 50 /* msec */
+
+static irqreturn_t tsc2003_penirq (int irq, void *v)
+{
+ struct tsc2003_data *d = v;
+ complete(&d->penirq_completion);
+ return IRQ_HANDLED;
+}
+
+/*
+static int tsc2003_remove (struct device *dev)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct tsc2003_data, driver);
+ free_irq(d->penirq,d);
+ input_unregister_device(d->idev);
+ return 0;
+}
+*/
+
+static void tsc2003_pen_up (unsigned long v)
+{
+ struct tsc2003_data *d = (struct tsc2003_data *)v;
+ input_report_abs(d->idev, ABS_PRESSURE, 0);
+ input_sync(d->idev);
+ return;
+}
+
+static inline void tsc2003_restart_pen_up_timer (struct tsc2003_data *d)
+{
+ mod_timer(&d->penirq_timer, jiffies + (PENUP_TIMEOUT * HZ) / 1000);
+}
+
+static int tsc2003ts_thread (void *v)
+{
+ struct tsc2003_data *d = v;
+ struct task_struct *tsk = current;
+ int ret;
+
+ d->tstask = tsk;
+
+ daemonize(DRIVER_NAME "tsd");
+ allow_signal(SIGKILL);
+
+ complete(&d->tstask_completion);
+
+#if defined(CONFIG_I2C_DEBUG_CHIP)
+ printk(KERN_INFO "%s: address 0x%x\n",
+ __FUNCTION__, d->client.addr);
+#endif
+
+ while (!signal_pending(tsk))
+ {
+ unsigned int x, y, p;
+
+ if (!down_interruptible(&d->sem))
+ {
+ d->pd = PD_PENIRQ_DISARM;
+ disable_irq(d->penirq);
+ tsc2003_read_xpos(d, PD_PENIRQ_DISARM, &x);
+ tsc2003_read_ypos(d, PD_PENIRQ_DISARM, &y);
+ tsc2003_read_pressure(d, PD_PENIRQ_DISARM, &p);
+
+ /* non-X-Y driver read to avoid glitch in penirq (errata?) */
+ tsc2003_read_vbat1(d, PD_PENIRQ_DISARM, 0);
+ enable_irq(d->penirq);
+
+
+ input_report_abs(d->idev, ABS_X, 4096 - x);
+ input_report_abs(d->idev, ABS_Y, 4096 - y);
+ input_report_abs(d->idev, ABS_PRESSURE, p);
+ input_sync(d->idev);
+
+
+ do
+ {
+ ret = wait_for_completion_interruptible_timeout(&d->penirq_completion, HZ / 100);
+ if (ret)
+ {
+ if (d->pd == PD_PENIRQ_DISARM)
+ {
+ /* fake penirq, avoid glitch and then start watching for real now */
+ d->pd = PD_PENIRQ_ARM;
+ tsc2003_read_vbat1(d, PD_PENIRQ_ARM, 0);
+ up(&d->sem);
+ }
+ else
+ {
+ /* pen down event, (re)start the pen up timer */
+ tsc2003_restart_pen_up_timer(d);
+ }
+ }
+ else
+ {
+ if (d->pd != PD_PENIRQ_ARM)
+ {
+ /* fake penirq never arrived, which would be the case
+ for a level-triggered irq line */
+ tsc2003_read_vbat1(d, PD_PENIRQ_ARM, 0);
+ d->pd = PD_PENIRQ_ARM;
+ up(&d->sem);
+ }
+ if (timer_pending(&d->penirq_timer))
+ {
+ /* pen is down, time to send (another) sample */
+ break;
+ }
+ else
+ {
+ /* pen is up, nothing to do but wait for it to
+ come down */
+ wait_for_completion_interruptible(&d->penirq_completion);
+ /* pen is down, (re)start the pen up timer */
+ tsc2003_restart_pen_up_timer(d);
+ break;
+ }
+ }
+ }
+ while (!signal_pending(tsk));
+ }
+ }
+
+ d->tstask = NULL;
+ complete_and_exit(&d->tstask_completion, 0);
+}
+
+static int tsc2003_idev_open (struct input_dev *idev)
+{
+ struct tsc2003_data *d = idev->private;
+ int ret = 0;
+
+ if (down_interruptible(&d->sem))
+ return -EINTR;
+
+ if (d->tstask)
+ panic(DRIVER_NAME "tsd already running (!). abort.");
+
+ d->penirq_timer.data = (unsigned long)d;
+ d->penirq_timer.function = tsc2003_pen_up;
+
+ ret = kernel_thread(tsc2003ts_thread, d, CLONE_KERNEL);
+ if (ret >= 0)
+ {
+ wait_for_completion(&d->tstask_completion);
+ ret = 0;
+ }
+
+
+
+ up(&d->sem);
+ return ret;
+}
+
+static void tsc2003_idev_close (struct input_dev *idev)
+{
+ struct tsc2003_data *d = idev->private;
+ down_interruptible(&d->sem);
+ if (d->tstask)
+ {
+ send_sig(SIGKILL, d->tstask, 1);
+ wait_for_completion(&d->tstask_completion);
+ }
+
+ if (timer_pending(&d->penirq_timer))
+ del_timer(&d->penirq_timer);
+ up(&d->sem);
+ return;
+}
+
+#if defined(CONFIG_SYSFS) && defined(CONFIG_SENSORS_TSC2003_SYSFS)
+static ssize_t show_addr (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->client.addr);
+}
+static DEVICE_ATTR(addr, S_IRUGO, show_addr, NULL);
+
+static ssize_t show_vbat1 (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->vbat1);
+}
+static DEVICE_ATTR(vbat1, S_IRUGO, show_vbat1, NULL);
+
+static ssize_t show_vbat2 (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->vbat2);
+}
+static DEVICE_ATTR(vbat2, S_IRUGO, show_vbat2, NULL);
+
+static ssize_t show_in1 (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->in1);
+}
+static DEVICE_ATTR(in1, S_IRUGO, show_in1, NULL);
+
+static ssize_t show_in2 (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->in2);
+}
+static DEVICE_ATTR(in2, S_IRUGO, show_in2, NULL);
+
+static ssize_t show_temp0 (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->temp0);
+}
+static DEVICE_ATTR(temp0, S_IRUGO, show_temp0, NULL);
+
+static ssize_t show_temp1 (struct device *dev, char *buf)
+{
+ struct tsc2003_data *d = container_of(dev->driver, struct
+tsc2003_data, driver);
+ return sprintf(buf, "%d\n", d->temp1);
+}
+static DEVICE_ATTR(temp1, S_IRUGO, show_temp1, NULL);
+
+#warning "TODO: this daemon sometimes hangs the touchscreen daemon"
+#warning "TODO: under periods of heavy touch screen activity."
+#warning "TODO: Use with caution until the bug is squashed."
+static int tsc2003s_thread (void *v)
+{
+ struct tsc2003_data *d = v;
+
+ daemonize(DRIVER_NAME "sd");
+ allow_signal(SIGKILL);
+
+ printk(KERN_INFO "%s: address 0x%x\n",
+ __FUNCTION__, d->client.addr);
+
+ while (!signal_pending(current))
+ {
+ if (!down_interruptible(&d->sem))
+ {
+ if (!timer_pending(&d->penirq_timer))
+ {
+ tsc2003_read_vbat1(d, d->pd, &d->vbat1);
+ tsc2003_read_vbat2(d, d->pd, &d->vbat2);
+ tsc2003_read_in1(d, d->pd, &d->in1);
+ tsc2003_read_in2(d, d->pd, &d->in2);
+ tsc2003_read_temp0(d, d->pd, &d->temp0);
+ tsc2003_read_temp1(d, d->pd, &d->temp1);
+ }
+ up(&d->sem);
+ }
+ set_task_state(current, TASK_INTERRUPTIBLE);
+ schedule_timeout(5 * HZ);
+ }
+ do_exit(0);
+}
+#endif
+
+static int tsc2003_detect_irq (struct tsc2003_data *d)
+{
+ d->penirq = IRQ_GPIO(16); //PWM0 GPIO
+ return 0;
+}
+
+/*
+static int tsc2003_probe (struct device *dev)
+{
+ //struct platform_device *p = to_platform_device(dev);
+ struct tsc2003_data *d = container_of(dev->driver, struct tsc2003_data, driver);
+ int ret = 0;
+ int error;
+
+ printk(KERN_ERR "TSC2003: tsc2003_probe probing...\n");
+
+ error = tsc2003_detect_irq(d);
+ if(error)
+ {
+ printk(KERN_ERR "TSC2003: IRQ probe failed\n");
+ }
+
+ if (d->penirq)
+ {
+ ret = request_irq(d->penirq, tsc2003_penirq, IRQF_TRIGGER_FALLING, DRIVER_NAME, d);
+ if (!ret)
+ {
+ printk(KERN_INFO "%s: irq %d\n", __FUNCTION__, d->penirq);
+ }
+ else
+ {
+ printk(KERN_INFO "%s: cannot grab irq %d\n", __FUNCTION__, d->penirq);
+ }
+ }
+
+#if defined(CONFIG_SYSFS) && defined(CONFIG_SENSORS_TSC2003_SYSFS)
+ ret = kernel_thread(tsc2003s_thread, d, CLONE_KERNEL);
+ if (ret >= 0)
+ ret = 0;
+
+ device_create_file(dev, &dev_attr_addr);
+ device_create_file(dev, &dev_attr_vbat1);
+ device_create_file(dev, &dev_attr_vbat2);
+ device_create_file(dev, &dev_attr_in1);
+ device_create_file(dev, &dev_attr_in2);
+ device_create_file(dev, &dev_attr_temp0);
+ device_create_file(dev, &dev_attr_temp1);
+#endif
+
+
+ return ret;
+}
+*/
+
+static int tsc2003_driver_register (struct tsc2003_data *data)
+{
+ struct input_dev *idev;
+ int ret = 0;
+ int error;
+
+ init_MUTEX(&data->sem);
+
+ init_timer(&data->penirq_timer);
+ data->penirq_timer.data = (unsigned long)data;
+ data->penirq_timer.function = tsc2003_pen_up;
+
+ error = tsc2003_detect_irq(data);
+ if(error)
+ {
+ printk(KERN_ERR "TSC2003: IRQ probe failed\n");
+ }
+
+ if (data->penirq)
+ {
+ ret = request_irq(data->penirq, tsc2003_penirq, IRQF_TRIGGER_FALLING, DRIVER_NAME, data);
+ if (!ret)
+ {
+ printk(KERN_INFO "%s: irq %d\n", __FUNCTION__, data->penirq);
+ init_completion(&data->tstask_completion);
+ init_completion(&data->penirq_completion);
+ }
+ else
+ {
+ printk(KERN_ERR "%s: cannot grab irq %d\n", __FUNCTION__, data->penirq);
+ }
+ }
+
+ idev = input_allocate_device();
+ data->idev = idev;
+
+ idev->private = data;
+ idev->name = DRIVER_NAME;
+ idev->evbit[0] = BIT(EV_ABS);
+ idev->open = tsc2003_idev_open;
+ idev->close = tsc2003_idev_close;
+ idev->absbit[LONG(ABS_X)] = BIT(ABS_X);
+ idev->absbit[LONG(ABS_Y)] = BIT(ABS_Y);
+ idev->absbit[LONG(ABS_PRESSURE)] = BIT(ABS_PRESSURE);
+ input_set_abs_params(idev, ABS_X, 0, ADC_MAX, 0, 0);
+ input_set_abs_params(idev, ABS_Y, 0, ADC_MAX, 0, 0);
+ input_set_abs_params(idev, ABS_PRESSURE, 0, 0, 0, 0);
+
+ if (!ret)
+ {
+ input_register_device(idev);
+ printk(KERN_INFO "tsc2003 - registering input device\n");
+ }
+
+ return ret;
+}
+
+static int tsc2003_i2c_attach_adapter(struct i2c_adapter *adapter)
+{
+ printk(KERN_INFO "tsc2003 i2c touch screen controller\n");
+ printk(KERN_INFO "Bill Gatliff <bgat at billgatliff.com\n");
+ printk(KERN_INFO "Nicholas Chen <nchen at cs.umd.edu>\n");
+
+ return i2c_probe(adapter, &addr_data, tsc2003_i2c_detect);
+}
+
+static int tsc2003_i2c_detach_client(struct i2c_client *client)
+{
+ int err;
+ struct tsc2003_data *d = i2c_get_clientdata(client);
+
+ free_irq(d->penirq,d);
+ input_unregister_device(d->idev);
+
+ if ((err = i2c_detach_client(client))) {
+ dev_err(&client->dev, "Client deregistration failed, "
+ "client not detached.\n");
+ return err;
+ }
+
+ return 0;
+}
+
+static struct i2c_driver tsc2003_driver = {
+ .driver = {
+ .owner = THIS_MODULE,
+ .name = DRIVER_NAME,
+ },
+ .attach_adapter = tsc2003_i2c_attach_adapter,
+ .detach_client = tsc2003_i2c_detach_client,
+ // .command = tsc2003_command,
+};
+
+static int tsc2003_i2c_detect (struct i2c_adapter *adapter, int address,
+int kind)
+{
+ struct i2c_client *new_client;
+ struct tsc2003_data *data;
+
+ int err = 0;
+ const char *name = "";
+
+ if (!i2c_check_functionality(adapter,
+ I2C_FUNC_SMBUS_BYTE_DATA
+ | I2C_FUNC_I2C
+ | I2C_FUNC_SMBUS_WORD_DATA))
+ goto exit;
+
+ data = kcalloc(1, sizeof(*data), GFP_KERNEL);
+ if (!data) {
+ err = -ENOMEM;
+ goto exit;
+ }
+
+ new_client = &data->client;
+ i2c_set_clientdata(new_client, data);
+ new_client->addr = address;
+ new_client->adapter = adapter;
+ new_client->driver = &tsc2003_driver;
+ new_client->flags = 0;
+
+ /* TODO: I'm pretty sure I'm not dealing with kind correctly */
+ if (kind == 0 /* identification */ || kind < 0 /* detection */)
+ kind = tsc2003;
+
+ if (kind == tsc2003)
+ name = DRIVER_NAME;
+
+ /* try a command, see if we get an ack;
+ if we do, assume it's our device */
+ printk(KERN_INFO "%s: probing address 0x%x\n",
+ __FUNCTION__, address);
+ err = tsc2003_powerdown(data);
+ if (err >= 0)
+ {
+ strlcpy(new_client->name, name, I2C_NAME_SIZE);
+ err = i2c_attach_client(new_client);
+ if (err) goto exit_free;
+
+ tsc2003_init_client(new_client);
+
+ err = tsc2003_driver_register(data);
+ if (err < 0) goto exit_free;
+
+ printk(KERN_INFO "%s: device address 0x%x attached.\n",
+ __FUNCTION__, address);
+ return 0;
+ }
+ /* failure to detect when everything else is ok isn't an error */
+ else err = 0;
+
+ exit_free:
+ kfree(new_client);
+ exit:
+ return err;
+}
+
+static int __init tsc2003_init(void)
+{
+ return i2c_add_driver(&tsc2003_driver);
+}
+
+static void __exit tsc2003_exit(void)
+{
+ i2c_del_driver(&tsc2003_driver);
+}
+
+MODULE_AUTHOR("Bill Gatliff <bgat at billgatliff.com>");
+MODULE_DESCRIPTION("TSC2003 Touch Screen Controller driver");
+MODULE_LICENSE("GPL");
+
+module_init(tsc2003_init);
+module_exit(tsc2003_exit);
+
diff --git a/packages/linux/gumstix-kernel-2.6.21/uImage-in-own-partition.patch b/packages/linux/gumstix-kernel-2.6.21/uImage-in-own-partition.patch
new file mode 100644
index 0000000000..f9a9df46dc
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/uImage-in-own-partition.patch
@@ -0,0 +1,56 @@
+Index: linux-2.6.21gum/drivers/mtd/maps/gumstix-flash.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/mtd/maps/gumstix-flash.c
++++ linux-2.6.21gum/drivers/mtd/maps/gumstix-flash.c
+@@ -39,8 +39,12 @@ static struct mtd_partition gumstix_flas
+ .offset = FLASH_ADDR
+ },{
+ .name = "RootFS",
+- .size = MTDPART_SIZ_FULL,
+- .offset = MTDPART_OFS_APPEND
++ .size = MTDPART_SIZ_REMAINDER,
++ .offset = MTDPART_OFS_NXTBLK
++ },{
++ .name = "Kernel",
++ .size = 0x00100000,
++ .offset = MTDPART_OFS_NXTBLK
+ }
+ };
+
+Index: linux-2.6.21gum/drivers/mtd/mtdpart.c
+===================================================================
+--- linux-2.6.21gum.orig/drivers/mtd/mtdpart.c
++++ linux-2.6.21gum/drivers/mtd/mtdpart.c
+@@ -321,7 +321,7 @@ int add_mtd_partitions(struct mtd_info *
+ {
+ struct mtd_part *slave;
+ u_int32_t cur_offset = 0;
+- int i;
++ int i,j;
+
+ printk (KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
+
+@@ -409,6 +409,11 @@ int add_mtd_partitions(struct mtd_info *
+ }
+ if (slave->mtd.size == MTDPART_SIZ_FULL)
+ slave->mtd.size = master->size - slave->offset;
++ if (slave->mtd.size == MTDPART_SIZ_REMAINDER)
++ {
++ slave->mtd.size = master->size - slave->offset;
++ for(j=i+1; j<nbparts; j++) slave->mtd.size -= parts[j].size;
++ }
+ cur_offset = slave->offset + slave->mtd.size;
+
+ printk (KERN_NOTICE "0x%08x-0x%08x : \"%s\"\n", slave->offset,
+Index: linux-2.6.21gum/include/linux/mtd/partitions.h
+===================================================================
+--- linux-2.6.21gum.orig/include/linux/mtd/partitions.h
++++ linux-2.6.21gum/include/linux/mtd/partitions.h
+@@ -47,6 +47,7 @@ struct mtd_partition {
+
+ #define MTDPART_OFS_NXTBLK (-2)
+ #define MTDPART_OFS_APPEND (-1)
++#define MTDPART_SIZ_REMAINDER (-1)
+ #define MTDPART_SIZ_FULL (0)
+
+
diff --git a/packages/linux/gumstix-kernel-2.6.21/ucb1400-ac97-audio.patch b/packages/linux/gumstix-kernel-2.6.21/ucb1400-ac97-audio.patch
new file mode 100644
index 0000000000..eb40bd714a
--- /dev/null
+++ b/packages/linux/gumstix-kernel-2.6.21/ucb1400-ac97-audio.patch
@@ -0,0 +1,309 @@
+Index: linux-2.6.21gum/sound/pci/ac97/ac97_codec.c
+===================================================================
+--- linux-2.6.21gum.orig/sound/pci/ac97/ac97_codec.c
++++ linux-2.6.21gum/sound/pci/ac97/ac97_codec.c
+@@ -158,7 +158,7 @@ static const struct ac97_codec_id snd_ac
+ { 0x4e534300, 0xffffffff, "LM4540,43,45,46,48", NULL, NULL }, // only guess --jk
+ { 0x4e534331, 0xffffffff, "LM4549", NULL, NULL },
+ { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix
+-{ 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL },
++{ 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL, AC97_HAS_NO_STD_PCM },
+ { 0x53494c20, 0xffffffe0, "Si3036,8", mpatch_si3036, mpatch_si3036, AC97_MODEM_PATCH },
+ { 0x54524102, 0xffffffff, "TR28022", NULL, NULL },
+ { 0x54524106, 0xffffffff, "TR28026", NULL, NULL },
+Index: linux-2.6.21gum/sound/pci/ac97/ac97_patch.c
+===================================================================
+--- linux-2.6.21gum.orig/sound/pci/ac97/ac97_patch.c
++++ linux-2.6.21gum/sound/pci/ac97/ac97_patch.c
+@@ -29,6 +29,10 @@
+ #include <linux/slab.h>
+ #include <linux/mutex.h>
+
++#include <linux/proc_fs.h>
++#include <linux/string.h>
++#include <linux/ctype.h>
++
+ #include <sound/core.h>
+ #include <sound/pcm.h>
+ #include <sound/control.h>
+@@ -406,6 +410,238 @@
+ }
+
+ /*
++ * UCB1400 codec
++ */
++
++#define AC97_UCB1400_FCSR1 0x6a
++#define AC97_UCB1400_FCSR2 0x6c
++
++static const struct snd_kcontrol_new ucb1400_snd_ac97_controls[] = {
++ AC97_SINGLE("Tone Control - Bass", AC97_UCB1400_FCSR1, 11, 4, 0),
++ AC97_SINGLE("Tone Control - Treble", AC97_UCB1400_FCSR1, 9, 2, 0),
++ AC97_SINGLE("Headphone Playback Switch", AC97_UCB1400_FCSR1, 6, 1, 0),
++ AC97_SINGLE("De-emphasis", AC97_UCB1400_FCSR1, 5, 1, 0),
++ AC97_SINGLE("DC Filter", AC97_UCB1400_FCSR1, 4, 1, 0),
++ AC97_SINGLE("Hi-pass Filter", AC97_UCB1400_FCSR1, 3, 1, 0),
++ AC97_SINGLE("ADC Filter", AC97_UCB1400_FCSR2, 12, 1, 0),
++};
++
++#define NUM_GPIO_LINES 10
++
++static struct proc_dir_entry *proc_gpio_parent;
++static struct proc_dir_entry *proc_gpios[NUM_GPIO_LINES];
++
++typedef struct
++{
++ int gpio;
++ char name[32];
++ struct snd_ac97 *ac97;
++} gpio_summary_type;
++
++static gpio_summary_type gpio_summaries[NUM_GPIO_LINES] =
++{
++ { 0, "UCB1400-0-0" },
++ { 1, "UCB1400-0-1" },
++ { 2, "UCB1400-0-2" },
++ { 3, "UCB1400-0-3" },
++ { 4, "UCB1400-0-4" },
++ { 5, "UCB1400-0-5" },
++ { 6, "UCB1400-0-6" },
++ { 7, "UCB1400-0-7" },
++ { 8, "UCB1400-0-8" },
++ { 9, "UCB1400-0-9" }
++};
++
++
++static int proc_ucb1400_ac97_gpio_write(struct file *file, const char __user *buf,
++ unsigned long count, void *data)
++{
++ char *cur, lbuf[count + 1];
++ gpio_summary_type *summary = data;
++ u32 direction_is_out, operation_is_set;
++ int i = summary->gpio;
++ u16 dir, value;
++
++ if (!capable(CAP_SYS_ADMIN))
++ return -EACCES;
++
++ memset(lbuf, 0, count + 1);
++
++ if (copy_from_user(lbuf, buf, count))
++ return -EFAULT;
++
++ cur = lbuf;
++
++ // Get current values
++ direction_is_out = !!(snd_ac97_read(summary->ac97, 0x5c) & (0x0001 << i));
++ operation_is_set = !!(snd_ac97_read(summary->ac97, 0x5a) & (0x0001 << i));
++ while(1)
++ {
++ // We accept options: {GPIO|AF1|AF2|AF3}, {set|clear}, {in|out}
++ // Anything else is an error
++ while(cur[0] && (isspace(cur[0]) || ispunct(cur[0]))) cur = &(cur[1]);
++
++ if('\0' == cur[0]) break;
++
++ // Ok, so now we're pointing at the start of something
++ switch(cur[0])
++ {
++ case 'G':
++ // Check that next is "PIO" -- '\0' will cause safe short-circuit if end of buf
++ if(!(cur[1] == 'P' && cur[2] == 'I' && cur[3] == 'O')) goto parse_error;
++ cur = &(cur[4]);
++ break;
++ case 's':
++ if(!(cur[1] == 'e' && cur[2] == 't')) goto parse_error;
++ operation_is_set = 1;
++ cur = &(cur[3]);
++ break;
++ case 'c':
++ if(!(cur[1] == 'l' && cur[2] == 'e' && cur[3] == 'a' && cur[4] == 'r')) goto
++parse_error;
++ operation_is_set = 0;
++ cur = &(cur[5]);
++ break;
++ case 'i':
++ if(!(cur[1] == 'n')) goto parse_error;
++ direction_is_out = 0;
++ cur = &(cur[2]);
++ break;
++ case 'o':
++ if(!(cur[1] == 'u' && cur[2] == 't')) goto parse_error;
++ direction_is_out = 1;
++ cur = &(cur[3]);
++ break;
++ default: goto parse_error;
++ }
++ }
++
++ // set/get value
++ dir = snd_ac97_read(summary->ac97, 0x5c);
++ value = snd_ac97_read(summary->ac97, 0x5a);
++ if (direction_is_out)
++ {
++ dir |= 0x0001 << i;
++ if (operation_is_set)
++ {
++ value |= 0x0001 << i;
++ }
++ else
++ {
++ value &= ~(0x0001 << i);
++ }
++
++ snd_ac97_write(summary->ac97, 0x5c, dir);
++ snd_ac97_write(summary->ac97, 0x5a, value);
++ }
++ else // direction in
++ {
++ dir &= ~(0x0001 << i);
++ snd_ac97_write(summary->ac97, 0x5c, dir);
++ operation_is_set = snd_ac97_read(summary->ac97, 0x5a) & ~(0x0001 << i);
++ }
++
++#ifdef CONFIG_PROC_GPIO_DEBUG
++ printk(KERN_INFO "Set (%s,%s,%s) via /proc/gpio/%s\n",
++ "GPIO",
++ direction_is_out ? "out" : "in",
++ operation_is_set ? "set" : "clear",
++ summary->name);
++#endif
++
++ return count;
++
++parse_error:
++ printk(KERN_CRIT "Parse error: Expect \"GPIO|[set|clear]|[in|out] ...\"\n");
++ return -EINVAL;
++}
++
++static int proc_ucb1400_ac97_gpio_read(char *page, char **start, off_t off,
++ int count, int *eof, void *data)
++{
++ char *p = page;
++ gpio_summary_type *summary = data;
++ int len, i; /*, af;*/
++ i = summary->gpio;
++
++ p += sprintf(p, "%d\t%s\t%s\t%s\n", i,
++ "GPIO",
++ (snd_ac97_read(summary->ac97, 0x5c) & (0x0001 << i)) ? "out" : "in",
++ (snd_ac97_read(summary->ac97, 0x5a) & (0x0001 << i)) ? "set" : "clear");
++
++ len = (p - page) - off;
++
++ if(len < 0)
++ {
++ len = 0;
++ }
++
++ *eof = (len <= count) ? 1 : 0;
++ *start = page + off;
++
++ return len;
++}
++
++int patch_ucb1400(struct snd_ac97 * ac97)
++{
++ int err, i;
++
++ proc_gpio_parent = NULL;
++ for (proc_gpio_parent = proc_root.subdir; proc_gpio_parent; proc_gpio_parent = proc_gpio_parent->next) {
++ if (( proc_gpio_parent->namelen == 4 ) && ( memcmp(proc_gpio_parent->name, "gpio", 4 ) == 0 ))
++ break;
++ }
++
++ // proc_gpio_parent will be non-NULL if the directory already exists
++
++ if (!proc_gpio_parent) {
++ proc_gpio_parent = proc_mkdir("gpio", NULL);
++ }
++
++ if(!proc_gpio_parent) return 0;
++
++ for(i=0; i < NUM_GPIO_LINES; i++)
++ {
++ proc_gpios[i] = create_proc_entry(gpio_summaries[i].name, 0644, proc_gpio_parent);
++ if(proc_gpios[i])
++ {
++ gpio_summaries[i].ac97 = ac97;
++ proc_gpios[i]->data = &gpio_summaries[i];
++ proc_gpios[i]->read_proc = proc_ucb1400_ac97_gpio_read;
++ proc_gpios[i]->write_proc = proc_ucb1400_ac97_gpio_write;
++ }
++ }
++
++ for(i = 0; i < ARRAY_SIZE(ucb1400_snd_ac97_controls); i++) {
++ if((err = snd_ctl_add(ac97->bus->card, snd_ac97_cnew(&ucb1400_snd_ac97_controls[i], ac97))) < 0)
++ return err;
++ }
++
++ snd_ac97_write_cache(ac97, AC97_UCB1400_FCSR1,
++ (0 << 11) | // 0 base boost
++ (0 << 9) | // 0 treble boost
++ (0 << 7) | // Mode = flat
++ (1 << 6) | // Headphones enable
++ (0 << 5) | // De-emphasis disabled
++ (1 << 4) | // DC filter enabled
++ (1 << 3) | // Hi-pass filter enabled
++ (0 << 2) | // disable interrupt signalling via GPIO_INT
++ (1 << 0) // clear ADC overflow status if set
++ );
++
++ snd_ac97_write_cache(ac97, AC97_UCB1400_FCSR2,
++ (0 << 15) | // must be 0
++ (0 << 13) | // must be 0
++ (1 << 12) | // ADC filter enabled
++ (0 << 10) | // must be 0
++ (0 << 4) | // Smart low power mode on neither Codec nor PLL
++ (0 << 0) // must be 0
++ );
++
++ return 0;
++}
++
++/*
+ * May 2, 2003 Liam Girdwood <liam.girdwood@wolfsonmicro.com>
+ * removed broken wolfson00 patch.
+ * added support for WM9705,WM9708,WM9709,WM9710,WM9711,WM9712 and WM9717.
+@@ -3408,41 +3644,3 @@
+ ac97->res_table = lm4550_restbl;
+ return 0;
+ }
+-
+-/*
+- * UCB1400 codec (http://www.semiconductors.philips.com/acrobat_download/datasheets/UCB1400-02.pdf)
+- */
+-static const struct snd_kcontrol_new snd_ac97_controls_ucb1400[] = {
+-/* enable/disable headphone driver which allows direct connection to
+- stereo headphone without the use of external DC blocking
+- capacitors */
+-AC97_SINGLE("Headphone Driver", 0x6a, 6, 1, 0),
+-/* Filter used to compensate the DC offset is added in the ADC to remove idle
+- tones from the audio band. */
+-AC97_SINGLE("DC Filter", 0x6a, 4, 1, 0),
+-/* Control smart-low-power mode feature. Allows automatic power down
+- of unused blocks in the ADC analog front end and the PLL. */
+-AC97_SINGLE("Smart Low Power Mode", 0x6c, 4, 3, 0),
+-};
+-
+-static int patch_ucb1400_specific(struct snd_ac97 * ac97)
+-{
+- int idx, err;
+- for (idx = 0; idx < ARRAY_SIZE(snd_ac97_controls_ucb1400); idx++)
+- if ((err = snd_ctl_add(ac97->bus->card, snd_ctl_new1(&snd_ac97_controls_ucb1400[idx], ac97))) < 0)
+- return err;
+- return 0;
+-}
+-
+-static struct snd_ac97_build_ops patch_ucb1400_ops = {
+- .build_specific = patch_ucb1400_specific,
+-};
+-
+-int patch_ucb1400(struct snd_ac97 * ac97)
+-{
+- ac97->build_ops = &patch_ucb1400_ops;
+- /* enable headphone driver and smart low power mode by default */
+- snd_ac97_write(ac97, 0x6a, 0x0050);
+- snd_ac97_write(ac97, 0x6c, 0x0030);
+- return 0;
+-}
diff --git a/packages/linux/gumstix-kernel_2.6.21.bb b/packages/linux/gumstix-kernel_2.6.21.bb
new file mode 100644
index 0000000000..3bc7df238a
--- /dev/null
+++ b/packages/linux/gumstix-kernel_2.6.21.bb
@@ -0,0 +1,54 @@
+require gumstix-linux.inc
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+ ${@base_contains('MACHINE_FEATURES', 'lcd','file://defconfig', 'file://defconfig-nofb',d)} \
+ file://tsc2003.c \
+ file://tsc2003-config.diff;patch=1 \
+ file://pxa-regs-additions.patch;patch=1 \
+ file://header.patch;patch=1 \
+ file://arch-config.patch;patch=1 \
+ file://board-init.patch;patch=1 \
+ file://compact-flash.patch;patch=1 \
+ file://flash.patch;patch=1 \
+ file://pxa2xx_udc.patch;patch=1 \
+ file://bkpxa-pxa-cpu.patch;patch=1 \
+ file://bkpxa-pxa-cpufreq.patch;patch=1 \
+ file://proc-gpio.patch;patch=1 \
+ file://serial-ether-addr.patch;patch=1 \
+ file://cpufreq-better-freqs.patch;patch=1 \
+ file://ethernet-config.patch;patch=1 \
+ file://smc-ether-addr.patch;patch=1 \
+ file://cpufreq-ondemand-by-default.patch;patch=1 \
+ file://modular-init-bluetooth.patch;patch=1 \
+ file://modular-init-smc91x.patch;patch=1 \
+ file://modular-init-usb-gadget.patch;patch=1 \
+ file://bugfix-i2c-include.patch;patch=1 \
+ file://bugfix-mmc-clock.patch;patch=1 \
+ file://bugfix-pxa-cpufreq.patch;patch=1 \
+ file://bugfix-serial-interrupt.patch;patch=1 \
+ file://bugfix-serial-register-status.patch;patch=1 \
+ file://mach-types-fix.patch;patch=1 \
+ file://pcm-gcc-411-bugfix.patch;patch=1 \
+ file://ucb1400-ac97-audio.patch;patch=1 \
+ file://gumstix-asoc.patch;patch=1 \
+ file://disable-uncompress-message.patch;patch=1 \
+ file://serial-divisor.patch;patch=1 \
+ file://mmc-card-detect.patch;patch=1 \
+ file://misalignment-handling.patch;patch=1 \
+ file://compile-fix-pxa_cpufreq.patch;patch=1 \
+ file://pxafb-definition.patch;patch=1 \
+ file://270-usb-gadget-udc.patch;patch=1 \
+ file://gumstix-pxa270-usb-host.patch;patch=1 \
+ file://cpufreq-fixup.patch;patch=1 \
+ file://uImage-in-own-partition.patch;patch=1 \
+ file://pxa-regs-fixup.patch;patch=1 \
+ file://gumstix-fb-logo.patch;patch=1 \
+ file://gumstix-pxa270-mmc.patch;patch=1 \
+ file://pxafb-18bpp-mode.patch;patch=1 \
+ file://smc911x-fixup.patch;patch=1 \
+ "
+
+do_configure_prepend() {
+ ${@base_contains('MACHINE_FEATURES', 'lcd','','mv ${WORKDIR}/defconfig-nofb ${WORKDIR}/defconfig',d)}
+ cp ${WORKDIR}/tsc2003.c ${S}/drivers/i2c/chips/
+}
diff --git a/packages/linux/gumstix-linux.inc b/packages/linux/gumstix-linux.inc
new file mode 100644
index 0000000000..50111cb545
--- /dev/null
+++ b/packages/linux/gumstix-linux.inc
@@ -0,0 +1,74 @@
+DESCRIPTION = "Linux kernel for custom configurations"
+SECTION = "kernel"
+LICENSE = "GPL"
+PR = "r1"
+
+inherit kernel
+
+DEPENDS += " \
+ u-boot-mkimage-openmoko-native \
+ "
+
+KERNEL_IMAGE_BASE_NAME = ${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}
+
+S = "${WORKDIR}/linux-${PV}"
+do_deploy[dirs] = "${S}"
+
+do_configure_prepend() {
+ echo "" > ${S}/.config
+
+ 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
+
+ echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+
+ sed -e '/CONFIG_AEABI/d' \
+ -e '/CONFIG_OABI_COMPAT=/d' \
+ -e '/CONFIG_CMDLINE=/d' \
+ < '${WORKDIR}/defconfig' >>'${S}/.config'
+
+ yes '' | oe_runmake oldconfig
+}
+
+do_sizecheck() {
+ if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then
+ size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
+ if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then
+ rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
+ die "This kernel (size=$size) is too big for your device. Please reduce the size of the kernel by making more of it modular."
+ fi
+ fi
+}
+
+do_install_prepend() {
+ if test -e arch/${ARCH}/boot/Image ; then
+ ln -f arch/${ARCH}/boot/Image arch/${ARCH}/boot/uImage
+ fi
+
+ if test -e arch/${ARCH}/boot/images/uImage ; then
+ ln -f arch/${ARCH}/boot/images/uImage arch/${ARCH}/boot/uImage
+ fi
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin
+ tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib
+
+ if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
+ ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
+ uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin
+ rm -f linux.bin
+
+ fi
+}
+
+addtask sizecheck before do_install after do_compile
+addtask deploy before do_package after do_install
+
+
diff --git a/packages/linux/linux-2.6.23/mpc8313e-rdb/defconfig b/packages/linux/linux-2.6.23/mpc8313e-rdb/defconfig
index 3cc17679c1..d842308fc9 100644
--- a/packages/linux/linux-2.6.23/mpc8313e-rdb/defconfig
+++ b/packages/linux/linux-2.6.23/mpc8313e-rdb/defconfig
@@ -687,7 +687,7 @@ CONFIG_EEPROM_93CX6=m
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
+CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
@@ -696,11 +696,11 @@ CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
-CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
-CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
#
@@ -715,45 +715,11 @@ CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
-CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
@@ -796,34 +762,7 @@ CONFIG_CICADA_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_FIXED_PHY is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-CONFIG_E100=y
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_SC92031 is not set
+# CONFIG_NET_ETHERNET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
@@ -843,14 +782,7 @@ CONFIG_GIANFAR=y
CONFIG_GFAR_NAPI=y
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
-CONFIG_NETDEV_10000=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_MLX4_CORE is not set
+# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
#
@@ -1470,7 +1402,7 @@ CONFIG_USB_UHCI_HCD=y
#
# may also be needed; see USB_STORAGE Help for more information
#
-CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
diff --git a/packages/linux/linux-2.6.23/mpc8313e-rdb/mpc8313e-rdb-leds.patch b/packages/linux/linux-2.6.23/mpc8313e-rdb/mpc8313e-rdb-leds.patch
index be322be927..1116ce3998 100644
--- a/packages/linux/linux-2.6.23/mpc8313e-rdb/mpc8313e-rdb-leds.patch
+++ b/packages/linux/linux-2.6.23/mpc8313e-rdb/mpc8313e-rdb-leds.patch
@@ -20,8 +20,8 @@ diff -urN linux-2.6.23.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.23/driver
@@ -0,0 +1,171 @@
+/*
+ * drivers/leds/leds-mpc8313e-rdb.c
-+ * Copyright (C) 2007 Leon Woestenberg <leon@sidebranch.com>
+ * Copyright (C) 2007 Jeremy Laine <jeremy.laine@bolloretelecom.eu>
++ * Copyright (C) 2007 Leon Woestenberg <leon@sidebranch.com>
+ *
+ * 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
@@ -99,21 +99,21 @@ diff -urN linux-2.6.23.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.23/driver
+ },
+ {
+ .cdev = {
-+ .name = "mpc8313:green",
++ .name = "mpc8313:led5",
+ .brightness_set = mpc8313leds_set,
+ },
+ .bitmask = 32,
+ },
+ {
+ .cdev = {
-+ .name = "mpc8313:yellow",
++ .name = "mpc8313:led6",
+ .brightness_set = mpc8313leds_set,
+ },
+ .bitmask = 64,
+ },
+ {
+ .cdev = {
-+ .name = "mpc8313:red",
++ .name = "mpc8313:led7",
+ .brightness_set = mpc8313leds_set,
+ },
+ .bitmask = 128,
@@ -186,7 +186,7 @@ diff -urN linux-2.6.23.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.23/driver
+module_init(mpc8313leds_init);
+module_exit(mpc8313leds_exit);
+
-+MODULE_AUTHOR("Leon Woestenberg <leon@sidebranch.com>");
++MODULE_AUTHOR("Jeremy Laine <jeremy.laine@bolloretelecom.eu>");
+MODULE_DESCRIPTION("MPC8313E-RDB LED driver");
+MODULE_LICENSE("GPL");
diff -urN linux-2.6.23.orig/drivers/leds/Makefile linux-2.6.23/drivers/leds/Makefile
diff --git a/packages/nonworking/e17/.mtn2git_empty b/packages/linux/linux-2.6.24/cm-x270/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/e17/.mtn2git_empty
+++ b/packages/linux/linux-2.6.24/cm-x270/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.24/cm-x270/0001-cm-x270-match-type.patch b/packages/linux/linux-2.6.24/cm-x270/0001-cm-x270-match-type.patch
new file mode 100644
index 0000000000..a731b4d370
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/0001-cm-x270-match-type.patch
@@ -0,0 +1,25 @@
+From 1ae549fbb28ce1d57dc5201375b9f5bfa4a8c11d Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 18:58:27 -0400
+Subject: [PATCH] cm-x270-match-type
+
+---
+ arch/arm/boot/compressed/head-xscale.S | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/compressed/head-xscale.S b/arch/arm/boot/compressed/head-xscale.S
+index 67ea99e..2e63ba2 100644
+--- a/arch/arm/boot/compressed/head-xscale.S
++++ b/arch/arm/boot/compressed/head-xscale.S
+@@ -44,3 +44,8 @@ __XScale_start:
+ str r1, [r0, #0x18]
+ #endif
+
++#if defined(CONFIG_MACH_ARMCORE)
++ mov r7, #(MACH_TYPE_ARMCORE & 0xFF00)
++ add r7, r7, #(MACH_TYPE_ARMCORE & 0xFF)
++#endif
++
+--
+1.5.4.rc4
+
diff --git a/packages/linux/linux-2.6.24/cm-x270/0002-ramdisk_load.patch b/packages/linux/linux-2.6.24/cm-x270/0002-ramdisk_load.patch
new file mode 100644
index 0000000000..4cc0c56a73
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/0002-ramdisk_load.patch
@@ -0,0 +1,81 @@
+From e2e1f41847cdd2ec6cbcfa97ca47972301fec10e Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:01:50 -0400
+Subject: [PATCH] ramdisk_load
+
+---
+ arch/arm/mach-pxa/cm-x270.c | 6 ++++++
+ include/asm-arm/arch-pxa/cm-x270.h | 4 ++++
+ init/initramfs.c | 16 ++++++++++++++++
+ 3 files changed, 26 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
+index 177664c..fb607e9 100644
+--- a/arch/arm/mach-pxa/cm-x270.c
++++ b/arch/arm/mach-pxa/cm-x270.c
+@@ -239,6 +239,12 @@ static struct map_desc cmx270_io_desc[] __initdata = {
+ .length = SZ_64M,
+ .type = MT_DEVICE
+ },
++ [2] = { /* NOR flash */
++ .virtual = CMX270_FLASH_VIRT,
++ .pfn = __phys_to_pfn(PXA_CS0_PHYS),
++ .length = (8<<20), /* up to 8 MByte flash */
++ .type = MT_DEVICE
++ },
+ };
+
+ /*
+diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h
+index f8fac9e..70e0dce 100644
+--- a/include/asm-arm/arch-pxa/cm-x270.h
++++ b/include/asm-arm/arch-pxa/cm-x270.h
+@@ -20,6 +20,10 @@
+ #define CMX270_VIRT_BASE (0xe8000000)
+ #define CMX270_IT8152_VIRT (CMX270_VIRT_BASE)
+ #define CMX270_IDE104_VIRT (CMX270_IT8152_VIRT + SZ_64M)
++#define CMX270_FLASH_VIRT (CMX270_IDE104_VIRT + SZ_64M)
++
++#define CMX270_FLASH_RAMDISK_VIRT (CMX270_FLASH_VIRT + 0x1c0000)
++
+
+ /* GPIO related definitions */
+ #define GPIO_IT8152_IRQ (22)
+diff --git a/init/initramfs.c b/init/initramfs.c
+index 1db02a0..d875fbc 100644
+--- a/init/initramfs.c
++++ b/init/initramfs.c
+@@ -7,6 +7,9 @@
+ #include <linux/string.h>
+ #include <linux/syscalls.h>
+
++// HACK for compulab cm-x270
++#include <asm/arch/cm-x270.h>
++
+ static __initdata char *message;
+ static void __init error(char *x)
+ {
+@@ -550,7 +553,20 @@ static int __init populate_rootfs(void)
+ #ifdef CONFIG_BLK_DEV_INITRD
+ if (initrd_start) {
+ #ifdef CONFIG_BLK_DEV_RAM
++
++ /* hack to make initramfs work because the
++ * compulab BL does not zero out the
++ * initrd memory. This only seems to affect loading
++ * initramfs (cpio.gz) archives. Does not seem to
++ * affect ramdisks.
++ */
++ int initrd_size = *(int *)(CMX270_FLASH_RAMDISK_VIRT);
+ int fd;
++
++ initrd_end = initrd_start + initrd_size;
++ //printk("CLIFF: initrd_start = 0x%x\n", initrd_start);
++ //printk("CLIFF: initrd_end = 0x%x\n", initrd_end);
++
+ printk(KERN_INFO "checking if image is initramfs...");
+ err = unpack_to_rootfs((char *)initrd_start,
+ initrd_end - initrd_start, 1);
+--
+1.5.4.rc4
+
diff --git a/packages/linux/linux-2.6.24/cm-x270/0003-mmcsd_large_cards-r0.patch b/packages/linux/linux-2.6.24/cm-x270/0003-mmcsd_large_cards-r0.patch
new file mode 100644
index 0000000000..ed80fc1db1
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/0003-mmcsd_large_cards-r0.patch
@@ -0,0 +1,36 @@
+From 549141e199a0ff0d2d6b12668da23581b4467aae Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:02:55 -0400
+Subject: [PATCH] mmcsd_large_cards-r0
+
+---
+ drivers/mmc/card/block.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
+index aeb32a9..d854b0c 100644
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -423,6 +423,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
+ {
+ struct mmc_blk_data *md;
+ int devidx, ret;
++ unsigned long cap;
+
+ devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS);
+ if (devidx >= MMC_NUM_MINORS)
+@@ -486,6 +487,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
+
+ sprintf(md->disk->disk_name, "mmcblk%d", devidx);
+
++ if (card->csd.read_blkbits > 9)
++ md->block_bits = 9;
++ else
++ md->block_bits = card->csd.read_blkbits;
++
+ blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
+
+ if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) {
+--
+1.5.4.rc4
+
diff --git a/packages/linux/linux-2.6.24/cm-x270/0004-cm-x270-nand-simplify-name.patch b/packages/linux/linux-2.6.24/cm-x270/0004-cm-x270-nand-simplify-name.patch
new file mode 100644
index 0000000000..17a2579932
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/0004-cm-x270-nand-simplify-name.patch
@@ -0,0 +1,25 @@
+From 3e1d0d66b6cb94fc06621fbd1af64d8bebb6046b Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:04:12 -0400
+Subject: [PATCH] cm-x270-nand-simplify-name
+
+---
+ drivers/mtd/nand/cmx270_nand.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
+index cb663ef..3654ce4 100644
+--- a/drivers/mtd/nand/cmx270_nand.c
++++ b/drivers/mtd/nand/cmx270_nand.c
+@@ -191,6 +191,8 @@ static int cmx270_init(void)
+ cmx270_nand_mtd->owner = THIS_MODULE;
+ cmx270_nand_mtd->priv = this;
+
++ cmx270_nand_mtd->name = "cm-x270-nand";
++
+ /* insert callbacks */
+ this->IO_ADDR_R = cmx270_nand_io;
+ this->IO_ADDR_W = cmx270_nand_io;
+--
+1.5.4.rc4
+
diff --git a/packages/linux/linux-2.6.24/cm-x270/0005-add-display-set-default-16bpp.patch b/packages/linux/linux-2.6.24/cm-x270/0005-add-display-set-default-16bpp.patch
new file mode 100644
index 0000000000..61bd70a530
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/0005-add-display-set-default-16bpp.patch
@@ -0,0 +1,82 @@
+From fb2f97500aa492ed9b2d6a3a665bac13d14e44b4 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Wed, 27 Feb 2008 16:44:42 -0500
+Subject: [PATCH] add-display-set-default-16bpp
+
+---
+ arch/arm/mach-pxa/cm-x270.c | 31 +++++++++++++++++++++++++++++--
+ 1 files changed, 29 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
+index fb607e9..915412a 100644
+--- a/arch/arm/mach-pxa/cm-x270.c
++++ b/arch/arm/mach-pxa/cm-x270.c
+@@ -258,6 +258,7 @@ static struct map_desc cmx270_io_desc[] __initdata = {
+ #define MTYPE_CRT800x600 3
+ #define MTYPE_TFT320x240 6
+ #define MTYPE_STN640x480 7
++#define MTYPE_TFT640x480_SHARP 8
+
+ static struct pxafb_mode_info generic_stn_320x240_mode = {
+ .pixclock = 76923,
+@@ -288,7 +289,7 @@ static struct pxafb_mach_info generic_stn_320x240 = {
+
+ static struct pxafb_mode_info generic_tft_640x480_mode = {
+ .pixclock = 38461,
+- .bpp = 8,
++ .bpp = 16,
+ .xres = 640,
+ .yres = 480,
+ .hsync_len = 60,
+@@ -314,7 +315,7 @@ static struct pxafb_mach_info generic_tft_640x480 = {
+
+ static struct pxafb_mode_info generic_crt_640x480_mode = {
+ .pixclock = 38461,
+- .bpp = 8,
++ .bpp = 16,
+ .xres = 640,
+ .yres = 480,
+ .hsync_len = 63,
+@@ -416,6 +417,29 @@ static struct pxafb_mach_info generic_stn_640x480 = {
+ .cmap_static = 0,
+ };
+
++
++static struct pxafb_mode_info sharp_vga_tft_mode = {
++ .pixclock = 38461,
++ .bpp = 16,
++ .xres = 640,
++ .yres = 480,
++ .hsync_len = 60,
++ .vsync_len = 2,
++ .left_margin = 72,
++ .upper_margin = 32,
++ .right_margin = 72,
++ .lower_margin = 10,
++ .sync = 0,
++};
++
++static struct pxafb_mach_info sharp_vga_tft = {
++ .modes = &sharp_vga_tft_mode,
++ .num_modes = 1,
++ .lccr0 = (LCCR0_PAS),
++ .lccr3 = (LCCR3_PixClkDiv(0x01) |
++ LCCR3_Acb(0xff)),
++};
++
+ static struct pxafb_mach_info *cmx270_display = &generic_crt_640x480;
+
+ static int __init cmx270_set_display(char *str)
+@@ -437,6 +461,9 @@ static int __init cmx270_set_display(char *str)
+ case MTYPE_TFT320x240:
+ cmx270_display = &generic_tft_320x240;
+ break;
++ case MTYPE_TFT640x480_SHARP:
++ cmx270_display = &sharp_vga_tft;
++ break;
+ case MTYPE_STN640x480:
+ cmx270_display = &generic_stn_640x480;
+ break;
+--
+1.5.4.rc4
+
diff --git a/packages/linux/linux-2.6.24/cm-x270/0006-updated-defconfig.patch b/packages/linux/linux-2.6.24/cm-x270/0006-updated-defconfig.patch
new file mode 100644
index 0000000000..69c80b2f15
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/0006-updated-defconfig.patch
@@ -0,0 +1,1325 @@
+From 0dc522d8bbae9defb121c462ee6f7268418e4afa Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Wed, 27 Feb 2008 15:57:02 -0500
+Subject: [PATCH] updated defconfig
+
+---
+ arch/arm/configs/cm_x270_defconfig | 780 +++++++++++++-----------------------
+ 1 files changed, 286 insertions(+), 494 deletions(-)
+
+diff --git a/arch/arm/configs/cm_x270_defconfig b/arch/arm/configs/cm_x270_defconfig
+index 5cab083..412c772 100644
+--- a/arch/arm/configs/cm_x270_defconfig
++++ b/arch/arm/configs/cm_x270_defconfig
+@@ -1,13 +1,13 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.22
+-# Wed Jul 18 14:11:48 2007
++# Linux kernel version: 2.6.24
++# Wed Feb 27 16:38:09 2008
+ #
+ CONFIG_ARM=y
+ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+ CONFIG_GENERIC_GPIO=y
+ CONFIG_GENERIC_TIME=y
+-# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_GENERIC_CLOCKEVENTS=y
+ CONFIG_MMU=y
+ # CONFIG_NO_IOPORT is not set
+ CONFIG_GENERIC_HARDIRQS=y
+@@ -27,16 +27,13 @@ CONFIG_VECTORS_BASE=0xffff0000
+ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+ #
+-# Code maturity level options
++# General setup
+ #
+ CONFIG_EXPERIMENTAL=y
+ CONFIG_BROKEN_ON_SMP=y
++CONFIG_LOCK_KERNEL=y
+ CONFIG_INIT_ENV_ARG_LIMIT=32
+-
+-#
+-# General setup
+-#
+-CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION="-cm-x270"
+ # CONFIG_LOCALVERSION_AUTO is not set
+ CONFIG_SWAP=y
+ CONFIG_SYSVIPC=y
+@@ -45,10 +42,15 @@ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+ # CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
+ # CONFIG_AUDIT is not set
+ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
+-CONFIG_LOG_BUF_SHIFT=17
++CONFIG_LOG_BUF_SHIFT=14
++# CONFIG_CGROUPS is not set
++CONFIG_FAIR_GROUP_SCHED=y
++CONFIG_FAIR_USER_SCHED=y
++# CONFIG_FAIR_CGROUP_SCHED is not set
+ CONFIG_SYSFS_DEPRECATED=y
+ # CONFIG_RELAY is not set
+ CONFIG_BLK_DEV_INITRD=y
+@@ -59,7 +61,6 @@ CONFIG_EMBEDDED=y
+ CONFIG_UID16=y
+ CONFIG_SYSCTL_SYSCALL=y
+ CONFIG_KALLSYMS=y
+-# CONFIG_KALLSYMS_ALL is not set
+ # CONFIG_KALLSYMS_EXTRA_PASS is not set
+ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+@@ -68,21 +69,21 @@ CONFIG_ELF_CORE=y
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
+ CONFIG_ANON_INODES=y
+-# CONFIG_EPOLL is not set
+-# CONFIG_SIGNALFD is not set
+-# CONFIG_TIMERFD is not set
+-# CONFIG_EVENTFD is not set
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
+ CONFIG_VM_EVENT_COUNTERS=y
+ CONFIG_SLAB=y
+ # CONFIG_SLUB is not set
+ # CONFIG_SLOB is not set
++CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+ # CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
+ CONFIG_MODULE_UNLOAD=y
+-CONFIG_MODULE_FORCE_UNLOAD=y
++# CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+ CONFIG_KMOD=y
+@@ -99,11 +100,11 @@ CONFIG_IOSCHED_NOOP=y
+ CONFIG_IOSCHED_AS=y
+ CONFIG_IOSCHED_DEADLINE=y
+ CONFIG_IOSCHED_CFQ=y
+-CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_AS is not set
+ # CONFIG_DEFAULT_DEADLINE is not set
+-# CONFIG_DEFAULT_CFQ is not set
++CONFIG_DEFAULT_CFQ=y
+ # CONFIG_DEFAULT_NOOP is not set
+-CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_DEFAULT_IOSCHED="cfq"
+
+ #
+ # System Type
+@@ -131,6 +132,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
+ # CONFIG_ARCH_L7200 is not set
+ # CONFIG_ARCH_KS8695 is not set
+ # CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_MXC is not set
+ # CONFIG_ARCH_PNX4008 is not set
+ CONFIG_ARCH_PXA=y
+ # CONFIG_ARCH_RPC is not set
+@@ -140,10 +142,9 @@ CONFIG_ARCH_PXA=y
+ # CONFIG_ARCH_LH7A40X is not set
+ # CONFIG_ARCH_DAVINCI is not set
+ # CONFIG_ARCH_OMAP is not set
+-CONFIG_DMABOUNCE=y
+
+ #
+-# Intel PXA2xx Implementations
++# Intel PXA2xx/PXA3xx Implementations
+ #
+ # CONFIG_ARCH_LUBBOCK is not set
+ # CONFIG_MACH_LOGICPD_PXA270 is not set
+@@ -151,10 +152,20 @@ CONFIG_DMABOUNCE=y
+ # CONFIG_ARCH_PXA_IDP is not set
+ # CONFIG_PXA_SHARPSL is not set
+ # CONFIG_MACH_TRIZEPS4 is not set
++# CONFIG_MACH_EM_X270 is not set
++# CONFIG_MACH_ZYLONITE is not set
+ CONFIG_MACH_ARMCORE=y
+ CONFIG_PXA27x=y
+
+ #
++# Boot options
++#
++
++#
++# Power management
++#
++
++#
+ # Processor Type
+ #
+ CONFIG_CPU_32=y
+@@ -178,25 +189,22 @@ CONFIG_XSCALE_PMU=y
+ #
+ # Bus support
+ #
+-CONFIG_PCI=y
+-CONFIG_PCI_SYSCALL=y
+-CONFIG_PCI_HOST_ITE8152=y
++# CONFIG_PCI is not set
++# CONFIG_PCI_SYSCALL is not set
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+-# CONFIG_PCI_DEBUG is not set
+-
+-#
+-# PCCARD (PCMCIA/CardBus) support
+-#
+ # CONFIG_PCCARD is not set
+
+ #
+ # Kernel Features
+ #
+-# CONFIG_TICK_ONESHOT is not set
+-# CONFIG_PREEMPT is not set
+-# CONFIG_NO_IDLE_HZ is not set
++CONFIG_TICK_ONESHOT=y
++# CONFIG_NO_HZ is not set
++CONFIG_HIGH_RES_TIMERS=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_PREEMPT=y
+ CONFIG_HZ=100
+-# CONFIG_AEABI is not set
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
+ # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+ CONFIG_SELECT_MEMORY_MODEL=y
+ CONFIG_FLATMEM_MANUAL=y
+@@ -205,6 +213,7 @@ CONFIG_FLATMEM_MANUAL=y
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+ # CONFIG_SPARSEMEM_STATIC is not set
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+ CONFIG_SPLIT_PTLOCK_CPUS=4096
+ # CONFIG_RESOURCES_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+@@ -217,7 +226,7 @@ CONFIG_ALIGNMENT_TRAP=y
+ #
+ CONFIG_ZBOOT_ROM_TEXT=0x0
+ CONFIG_ZBOOT_ROM_BSS=0x0
+-CONFIG_CMDLINE=""
++CONFIG_CMDLINE="console=ttyS1,38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
+ # CONFIG_XIP_KERNEL is not set
+ # CONFIG_KEXEC is not set
+
+@@ -228,8 +237,7 @@ CONFIG_CMDLINE=""
+ #
+ # At least one emulation must be selected
+ #
+-CONFIG_FPE_NWFPE=y
+-# CONFIG_FPE_NWFPE_XP is not set
++# CONFIG_FPE_NWFPE is not set
+ # CONFIG_FPE_FASTFPE is not set
+
+ #
+@@ -238,16 +246,12 @@ CONFIG_FPE_NWFPE=y
+ 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 is not set
+-# CONFIG_PM_DEBUG is not set
+-# CONFIG_PM_SYSFS_DEPRECATED is not set
+-# CONFIG_APM_EMULATION is not set
++# CONFIG_PM is not set
++CONFIG_SUSPEND_UP_POSSIBLE=y
+
+ #
+ # Networking
+@@ -285,6 +289,7 @@ CONFIG_IP_PNP_BOOTP=y
+ CONFIG_INET_XFRM_MODE_TRANSPORT=y
+ CONFIG_INET_XFRM_MODE_TUNNEL=y
+ CONFIG_INET_XFRM_MODE_BEET=y
++# CONFIG_INET_LRO is not set
+ CONFIG_INET_DIAG=y
+ CONFIG_INET_TCP_DIAG=y
+ # CONFIG_TCP_CONG_ADVANCED is not set
+@@ -310,10 +315,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # 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
+
+ #
+@@ -329,14 +330,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # Wireless
+ #
+ # CONFIG_CFG80211 is not set
+-CONFIG_WIRELESS_EXT=y
++# CONFIG_WIRELESS_EXT is not set
+ # CONFIG_MAC80211 is not set
+-CONFIG_IEEE80211=m
+-# CONFIG_IEEE80211_DEBUG is not set
+-CONFIG_IEEE80211_CRYPT_WEP=m
+-CONFIG_IEEE80211_CRYPT_CCMP=m
+-# CONFIG_IEEE80211_CRYPT_TKIP is not set
+-# CONFIG_IEEE80211_SOFTMAC is not set
++# CONFIG_IEEE80211 is not set
+ # CONFIG_RFKILL is not set
+ # CONFIG_NET_9P is not set
+
+@@ -347,38 +343,40 @@ CONFIG_IEEE80211_CRYPT_CCMP=m
+ #
+ # Generic Driver Options
+ #
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+ CONFIG_STANDALONE=y
+ CONFIG_PREVENT_FIRMWARE_BUILD=y
+ CONFIG_FW_LOADER=y
+-# CONFIG_DEBUG_DRIVER is not set
+-# CONFIG_DEBUG_DEVRES is not set
+ # CONFIG_SYS_HYPERVISOR is not set
+ # CONFIG_CONNECTOR is not set
+-CONFIG_MTD=m
++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=m
+-CONFIG_MTD_BLKDEVS=m
+-CONFIG_MTD_BLOCK=m
+-# CONFIG_MTD_BLOCK_RO is not set
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=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
+ # CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
+
+ #
+ # RAM/ROM/Flash chip drivers
+ #
+-# CONFIG_MTD_CFI is not set
++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
+@@ -389,21 +387,30 @@ 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 is not set
++CONFIG_MTD_CFI_AMDSTD=y
++# 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_XIP is not set
+
+ #
+ # Mapping drivers for chip access
+ #
+ # CONFIG_MTD_COMPLEX_MAPPINGS is not set
++CONFIG_MTD_PHYSMAP=y
++CONFIG_MTD_PHYSMAP_START=0x0
++CONFIG_MTD_PHYSMAP_LEN=0x400000
++CONFIG_MTD_PHYSMAP_BANKWIDTH=2
++# CONFIG_MTD_ARM_INTEGRATOR is not set
+ # CONFIG_MTD_SHARP_SL is not set
+ # CONFIG_MTD_PLATRAM is not set
+
+ #
+ # Self-contained MTD device drivers
+ #
+-# CONFIG_MTD_PMC551 is not set
+ # CONFIG_MTD_SLRAM is not set
+ # CONFIG_MTD_PHRAM is not set
+ # CONFIG_MTD_MTDRAM is not set
+@@ -415,18 +422,18 @@ CONFIG_MTD_CFI_I2=y
+ # CONFIG_MTD_DOC2000 is not set
+ # CONFIG_MTD_DOC2001 is not set
+ # CONFIG_MTD_DOC2001PLUS is not set
+-CONFIG_MTD_NAND=m
++CONFIG_MTD_NAND=y
+ # CONFIG_MTD_NAND_VERIFY_WRITE is not set
+ # CONFIG_MTD_NAND_ECC_SMC is not set
+ # CONFIG_MTD_NAND_MUSEUM_IDS is not set
+ # CONFIG_MTD_NAND_H1900 is not set
+-CONFIG_MTD_NAND_IDS=m
++CONFIG_MTD_NAND_IDS=y
+ # CONFIG_MTD_NAND_DISKONCHIP is not set
+ # CONFIG_MTD_NAND_SHARPSL is not set
+-# CONFIG_MTD_NAND_CAFE is not set
+-CONFIG_MTD_NAND_CM_X270=m
++CONFIG_MTD_NAND_CM_X270=y
+ # CONFIG_MTD_NAND_NANDSIM is not set
+ # CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ALAUDA is not set
+ # CONFIG_MTD_ONENAND is not set
+
+ #
+@@ -435,48 +442,20 @@ CONFIG_MTD_NAND_CM_X270=m
+ # CONFIG_MTD_UBI is not set
+ # CONFIG_PARPORT is not set
+ CONFIG_BLK_DEV=y
+-# CONFIG_BLK_CPQ_DA is not set
+-# CONFIG_BLK_CPQ_CISS_DA is not set
+-# CONFIG_BLK_DEV_DAC960 is not set
+-# CONFIG_BLK_DEV_UMEM is not set
+ # 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_SX8 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=12000
++CONFIG_BLK_DEV_RAM_SIZE=4096
+ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+ # CONFIG_CDROM_PKTCDVD is not set
+ # CONFIG_ATA_OVER_ETH is not set
+-CONFIG_IDE=m
+-CONFIG_IDE_MAX_HWIFS=4
+-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_IDECD=m
+-# CONFIG_BLK_DEV_IDETAPE is not set
+-# CONFIG_BLK_DEV_IDEFLOPPY is not set
+-# CONFIG_BLK_DEV_IDESCSI is not set
+-# CONFIG_IDE_TASK_IOCTL is not set
+-CONFIG_IDE_PROC_FS=y
+-
+-#
+-# IDE chipset support/bugfixes
+-#
+-# CONFIG_IDE_GENERIC is not set
+-# CONFIG_BLK_DEV_IDEPCI is not set
+-# CONFIG_IDEPCI_PCIBUS_ORDER is not set
+-# CONFIG_IDE_ARM is not set
+-# CONFIG_BLK_DEV_IDEDMA is not set
+-# CONFIG_BLK_DEV_HD is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_IDE is not set
+
+ #
+ # SCSI device support
+@@ -486,7 +465,7 @@ CONFIG_SCSI=y
+ CONFIG_SCSI_DMA=y
+ # CONFIG_SCSI_TGT is not set
+ # CONFIG_SCSI_NETLINK is not set
+-# CONFIG_SCSI_PROC_FS is not set
++CONFIG_SCSI_PROC_FS=y
+
+ #
+ # SCSI support type (disk, tape, CD-ROM)
+@@ -513,60 +492,13 @@ CONFIG_SCSI_WAIT_SCAN=m
+ # CONFIG_SCSI_SPI_ATTRS is not set
+ # CONFIG_SCSI_FC_ATTRS is not set
+ # CONFIG_SCSI_ISCSI_ATTRS is not set
+-# CONFIG_SCSI_SAS_ATTRS is not set
+ # CONFIG_SCSI_SAS_LIBSAS is not set
+-
+-#
+-# SCSI low-level drivers
+-#
++# CONFIG_SCSI_SRP_ATTRS is not set
++CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_ISCSI_TCP is not set
+-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+-# CONFIG_SCSI_3W_9XXX is not set
+-# CONFIG_SCSI_ACARD is not set
+-# CONFIG_SCSI_AACRAID is not set
+-# CONFIG_SCSI_AIC7XXX is not set
+-# CONFIG_SCSI_AIC7XXX_OLD is not set
+-# CONFIG_SCSI_AIC79XX is not set
+-# CONFIG_SCSI_AIC94XX is not set
+-# CONFIG_SCSI_DPT_I2O is not set
+-# CONFIG_SCSI_ARCMSR is not set
+-# CONFIG_MEGARAID_NEWGEN is not set
+-# CONFIG_MEGARAID_LEGACY is not set
+-# CONFIG_MEGARAID_SAS is not set
+-# CONFIG_SCSI_HPTIOP is not set
+-# CONFIG_SCSI_DMX3191D is not set
+-# CONFIG_SCSI_FUTURE_DOMAIN is not set
+-# CONFIG_SCSI_IPS is not set
+-# CONFIG_SCSI_INITIO is not set
+-# CONFIG_SCSI_INIA100 is not set
+-# CONFIG_SCSI_STEX is not set
+-# CONFIG_SCSI_SYM53C8XX_2 is not set
+-# CONFIG_SCSI_QLOGIC_1280 is not set
+-# CONFIG_SCSI_QLA_FC is not set
+-# CONFIG_SCSI_QLA_ISCSI is not set
+-# CONFIG_SCSI_LPFC is not set
+-# CONFIG_SCSI_DC395x is not set
+-# CONFIG_SCSI_DC390T is not set
+-# CONFIG_SCSI_NSP32 is not set
+ # CONFIG_SCSI_DEBUG is not set
+-# CONFIG_SCSI_SRP is not set
+ # CONFIG_ATA is not set
+ # CONFIG_MD is not set
+-
+-#
+-# Fusion MPT device support
+-#
+-# CONFIG_FUSION is not set
+-# CONFIG_FUSION_SPI is not set
+-# CONFIG_FUSION_FC is not set
+-# CONFIG_FUSION_SAS is not set
+-
+-#
+-# IEEE 1394 (FireWire) support
+-#
+-# CONFIG_FIREWIRE is not set
+-# CONFIG_IEEE1394 is not set
+-# CONFIG_I2O is not set
+ CONFIG_NETDEVICES=y
+ # CONFIG_NETDEVICES_MULTIQUEUE is not set
+ # CONFIG_DUMMY is not set
+@@ -574,69 +506,21 @@ CONFIG_NETDEVICES=y
+ # CONFIG_MACVLAN is not set
+ # CONFIG_EQUALIZER is not set
+ # CONFIG_TUN is not set
+-# CONFIG_ARCNET is not set
++# CONFIG_VETH is not set
+ # CONFIG_PHYLIB is not set
+ CONFIG_NET_ETHERNET=y
+ CONFIG_MII=y
+ # CONFIG_AX88796 is not set
+-# CONFIG_HAPPYMEAL is not set
+-# CONFIG_SUNGEM is not set
+-# CONFIG_CASSINI is not set
+-# CONFIG_NET_VENDOR_3COM is not set
+ # CONFIG_SMC91X is not set
+ CONFIG_DM9000=y
+ # CONFIG_SMC911X is not set
+-# CONFIG_NET_TULIP is not set
+-# CONFIG_HP100 is not set
+-CONFIG_NET_PCI=y
+-# CONFIG_PCNET32 is not set
+-# CONFIG_AMD8111_ETH is not set
+-# CONFIG_ADAPTEC_STARFIRE is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+ # CONFIG_B44 is not set
+-# CONFIG_FORCEDETH is not set
+-# CONFIG_DGRS is not set
+-# CONFIG_EEPRO100 is not set
+-# CONFIG_E100 is not set
+-# CONFIG_FEALNX is not set
+-# CONFIG_NATSEMI is not set
+-# CONFIG_NE2K_PCI is not set
+-# CONFIG_8139CP is not set
+-CONFIG_8139TOO=m
+-# CONFIG_8139TOO_PIO is not set
+-# CONFIG_8139TOO_TUNE_TWISTER is not set
+-# CONFIG_8139TOO_8129 is not set
+-# CONFIG_8139_OLD_RX_RESET is not set
+-# CONFIG_SIS900 is not set
+-# CONFIG_EPIC100 is not set
+-# CONFIG_SUNDANCE is not set
+-# CONFIG_TLAN is not set
+-# CONFIG_VIA_RHINE is not set
+-# CONFIG_SC92031 is not set
+-CONFIG_NETDEV_1000=y
+-# CONFIG_ACENIC is not set
+-# CONFIG_DL2K is not set
+-# CONFIG_E1000 is not set
+-# CONFIG_NS83820 is not set
+-# CONFIG_HAMACHI is not set
+-# CONFIG_YELLOWFIN is not set
+-# CONFIG_R8169 is not set
+-# CONFIG_SIS190 is not set
+-# CONFIG_SKGE is not set
+-# CONFIG_SKY2 is not set
+-# CONFIG_VIA_VELOCITY is not set
+-# CONFIG_TIGON3 is not set
+-# CONFIG_BNX2 is not set
+-# CONFIG_QLA3XXX is not set
+-# CONFIG_ATL1 is not set
+-CONFIG_NETDEV_10000=y
+-# CONFIG_CHELSIO_T1 is not set
+-# CONFIG_CHELSIO_T3 is not set
+-# CONFIG_IXGB is not set
+-# CONFIG_S2IO is not set
+-# CONFIG_MYRI10GE is not set
+-# CONFIG_NETXEN_NIC is not set
+-# CONFIG_MLX4_CORE is not set
+-# CONFIG_TR is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
+
+ #
+ # Wireless LAN
+@@ -647,18 +531,24 @@ CONFIG_NETDEV_10000=y
+ #
+ # 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_MII is not set
+-# CONFIG_USB_USBNET is not set
++CONFIG_USB_CATC=m
++CONFIG_USB_KAWETH=m
++CONFIG_USB_PEGASUS=m
++CONFIG_USB_RTL8150=m
++CONFIG_USB_USBNET=m
++CONFIG_USB_NET_AX8817X=m
++CONFIG_USB_NET_CDCETHER=m
++# CONFIG_USB_NET_DM9601 is not set
++CONFIG_USB_NET_GL620A=m
++CONFIG_USB_NET_NET1080=m
++CONFIG_USB_NET_PLUSB=m
++CONFIG_USB_NET_MCS7830=m
++# CONFIG_USB_NET_RNDIS_HOST is not set
++# CONFIG_USB_NET_CDC_SUBSET is not set
++# CONFIG_USB_NET_ZAURUS is not set
+ # CONFIG_WAN is not set
+-# CONFIG_FDDI is not set
+-# CONFIG_HIPPI is not set
+ # CONFIG_PPP is not set
+ # CONFIG_SLIP is not set
+-# CONFIG_NET_FC is not set
+ # CONFIG_SHAPER is not set
+ # CONFIG_NETCONSOLE is not set
+ # CONFIG_NETPOLL is not set
+@@ -675,20 +565,42 @@ CONFIG_INPUT=y
+ #
+ # Userland interfaces
+ #
+-# CONFIG_INPUT_MOUSEDEV is not set
++CONFIG_INPUT_MOUSEDEV=y
++CONFIG_INPUT_MOUSEDEV_PSAUX=y
++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_EVDEV=m
+ # CONFIG_INPUT_EVBUG is not set
+
+ #
+ # Input Device Drivers
+ #
+-# CONFIG_INPUT_KEYBOARD is not set
+-# CONFIG_INPUT_MOUSE is not set
++CONFIG_INPUT_KEYBOARD=y
++CONFIG_KEYBOARD_ATKBD=y
++# 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_STOWAWAY is not set
++# CONFIG_KEYBOARD_PXA27x is not set
++# CONFIG_KEYBOARD_GPIO is not set
++CONFIG_INPUT_MOUSE=y
++CONFIG_MOUSE_PS2=y
++# CONFIG_MOUSE_PS2_ALPS is not set
++# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
++# CONFIG_MOUSE_PS2_SYNAPTICS is not set
++# CONFIG_MOUSE_PS2_LIFEBOOK is not set
++# CONFIG_MOUSE_PS2_TRACKPOINT is not set
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_APPLETOUCH is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MOUSE_GPIO is not set
+ # CONFIG_INPUT_JOYSTICK is not set
+ # CONFIG_INPUT_TABLET is not set
+ CONFIG_INPUT_TOUCHSCREEN=y
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
+ # CONFIG_TOUCHSCREEN_GUNZE is not set
+ # CONFIG_TOUCHSCREEN_ELO is not set
+ # CONFIG_TOUCHSCREEN_MTOUCH is not set
+@@ -703,7 +615,10 @@ CONFIG_TOUCHSCREEN_UCB1400=m
+ #
+ # Hardware I/O ports
+ #
+-# CONFIG_SERIO is not set
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_SERIO_LIBPS2=y
++# CONFIG_SERIO_RAW is not set
+ # CONFIG_GAMEPORT is not set
+
+ #
+@@ -727,83 +642,141 @@ CONFIG_SERIAL_PXA=y
+ CONFIG_SERIAL_PXA_CONSOLE=y
+ CONFIG_SERIAL_CORE=y
+ CONFIG_SERIAL_CORE_CONSOLE=y
+-# CONFIG_SERIAL_JSM is not set
+ CONFIG_UNIX98_PTYS=y
+-CONFIG_LEGACY_PTYS=y
+-CONFIG_LEGACY_PTY_COUNT=256
++# CONFIG_LEGACY_PTYS is not set
+ # CONFIG_IPMI_HANDLER is not set
+-# CONFIG_WATCHDOG is not set
+-CONFIG_HW_RANDOM=m
++CONFIG_HW_RANDOM=y
+ # CONFIG_NVRAM is not set
+ # CONFIG_R3964 is not set
+-# CONFIG_APPLICOM is not set
+-# CONFIG_DRM is not set
+ # CONFIG_RAW_DRIVER is not set
+ # CONFIG_TCG_TPM is not set
+-CONFIG_DEVPORT=y
+-# CONFIG_I2C is not set
++CONFIG_I2C=m
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=m
+
+ #
+-# SPI support
++# I2C Algorithms
+ #
+-# CONFIG_SPI is not set
+-# CONFIG_SPI_MASTER is not set
+-# CONFIG_W1 is not set
+-# CONFIG_HWMON is not set
+-CONFIG_MISC_DEVICES=y
+-# CONFIG_PHANTOM is not set
+-# CONFIG_EEPROM_93CX6 is not set
+-# CONFIG_SGI_IOC4 is not set
+-# CONFIG_TIFM_CORE is not set
++# CONFIG_I2C_ALGOBIT is not set
++# CONFIG_I2C_ALGOPCF is not set
++# CONFIG_I2C_ALGOPCA is not set
+
+ #
+-# Multifunction device drivers
++# I2C Hardware Bus support
+ #
+-# CONFIG_MFD_SM501 is not set
++# CONFIG_I2C_GPIO is not set
++CONFIG_I2C_PXA=m
++# CONFIG_I2C_PXA_SLAVE is not set
++# CONFIG_I2C_OCORES is not set
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_SIMTEC is not set
++# CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_STUB is not set
++# CONFIG_I2C_TINY_USB is not set
+
+ #
+-# LED devices
++# Miscellaneous I2C Chip support
+ #
+-CONFIG_NEW_LEDS=y
+-CONFIG_LEDS_CLASS=y
++# CONFIG_SENSORS_DS1337 is not set
++# CONFIG_SENSORS_DS1374 is not set
++# CONFIG_DS1682 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_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 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
+
+ #
+-# LED drivers
++# SPI support
+ #
+-CONFIG_LEDS_CM_X270=y
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++CONFIG_HWMON=y
++# CONFIG_HWMON_VID is not set
++# CONFIG_SENSORS_AD7418 is not set
++# CONFIG_SENSORS_ADM1021 is not set
++# CONFIG_SENSORS_ADM1025 is not set
++# CONFIG_SENSORS_ADM1026 is not set
++# CONFIG_SENSORS_ADM1029 is not set
++# CONFIG_SENSORS_ADM1031 is not set
++# CONFIG_SENSORS_ADM9240 is not set
++# CONFIG_SENSORS_ADT7470 is not set
++# CONFIG_SENSORS_ATXP1 is not set
++# CONFIG_SENSORS_DS1621 is not set
++# CONFIG_SENSORS_F71805F is not set
++# CONFIG_SENSORS_F71882FG is not set
++# CONFIG_SENSORS_F75375S 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_LM93 is not set
++# CONFIG_SENSORS_MAX1619 is not set
++# CONFIG_SENSORS_MAX6650 is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SENSORS_PC87427 is not set
++# CONFIG_SENSORS_DME1737 is not set
++# CONFIG_SENSORS_SMSC47M1 is not set
++# CONFIG_SENSORS_SMSC47M192 is not set
++# CONFIG_SENSORS_SMSC47B397 is not set
++# CONFIG_SENSORS_THMC50 is not set
++# CONFIG_SENSORS_VT1211 is not set
++# CONFIG_SENSORS_W83781D is not set
++# CONFIG_SENSORS_W83791D is not set
++# CONFIG_SENSORS_W83792D is not set
++# CONFIG_SENSORS_W83793 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
++# CONFIG_WATCHDOG is not set
+
+ #
+-# LED Triggers
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
+ #
+-CONFIG_LEDS_TRIGGERS=y
+-# CONFIG_LEDS_TRIGGER_TIMER is not set
+-# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
+-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
++# CONFIG_MFD_SM501 is not set
+
+ #
+ # Multimedia devices
+ #
+ # CONFIG_VIDEO_DEV is not set
+ # CONFIG_DVB_CORE is not set
+-CONFIG_DAB=y
+-# CONFIG_USB_DABUSB is not set
++# CONFIG_DAB is not set
+
+ #
+ # Graphics support
+ #
+-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+-
+-#
+-# Display device support
+-#
+-# CONFIG_DISPLAY_SUPPORT is not set
+ # CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+ CONFIG_FB=y
+ # CONFIG_FIRMWARE_EDID is not set
+ # CONFIG_FB_DDC is not set
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+ # CONFIG_FB_SYS_FILLRECT is not set
+ # CONFIG_FB_SYS_COPYAREA is not set
+ # CONFIG_FB_SYS_IMAGEBLIT is not set
+@@ -818,33 +791,17 @@ CONFIG_FB_DEFERRED_IO=y
+ #
+ # Frame buffer hardware drivers
+ #
+-# CONFIG_FB_CIRRUS is not set
+-# CONFIG_FB_PM2 is not set
+-# CONFIG_FB_CYBER2000 is not set
+-# CONFIG_FB_ASILIANT is not set
+-# CONFIG_FB_IMSTT is not set
+ # CONFIG_FB_S1D13XXX is not set
+-# CONFIG_FB_NVIDIA is not set
+-# CONFIG_FB_RIVA is not set
+-# CONFIG_FB_MATROX is not set
+-# CONFIG_FB_RADEON is not set
+-# CONFIG_FB_ATY128 is not set
+-# CONFIG_FB_ATY is not set
+-# CONFIG_FB_S3 is not set
+-# CONFIG_FB_SAVAGE is not set
+-# CONFIG_FB_SIS is not set
+-# CONFIG_FB_NEOMAGIC is not set
+-# CONFIG_FB_KYRO is not set
+-# CONFIG_FB_3DFX is not set
+-# CONFIG_FB_VOODOO1 is not set
+-# CONFIG_FB_VT8623 is not set
+-# CONFIG_FB_TRIDENT is not set
+-# CONFIG_FB_ARK is not set
+-# CONFIG_FB_PM3 is not set
+ CONFIG_FB_PXA=y
+-# CONFIG_FB_PXA_PARAMETERS is not set
+-CONFIG_FB_MBX=m
++CONFIG_FB_PXA_PARAMETERS=y
++# CONFIG_FB_MBX is not set
+ # CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
+
+ #
+ # Console display driver support
+@@ -852,14 +809,14 @@ CONFIG_FB_MBX=m
+ # CONFIG_VGA_CONSOLE is not set
+ CONFIG_DUMMY_CONSOLE=y
+ CONFIG_FRAMEBUFFER_CONSOLE=y
+-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+ # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+ # CONFIG_FONTS is not set
+ CONFIG_FONT_8x8=y
+ CONFIG_FONT_8x16=y
+ CONFIG_LOGO=y
+-CONFIG_LOGO_LINUX_MONO=y
+-CONFIG_LOGO_LINUX_VGA16=y
++# CONFIG_LOGO_LINUX_MONO is not set
++# CONFIG_LOGO_LINUX_VGA16 is not set
+ CONFIG_LOGO_LINUX_CLUT224=y
+
+ #
+@@ -874,10 +831,8 @@ 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_MIXER_OSS is not set
++# CONFIG_SND_PCM_OSS is not set
+ # CONFIG_SND_DYNAMIC_MINORS is not set
+ CONFIG_SND_SUPPORT_OLD_API=y
+ CONFIG_SND_VERBOSE_PROCFS=y
+@@ -894,66 +849,6 @@ CONFIG_SND_AC97_CODEC=m
+ # CONFIG_SND_MPU401 is not set
+
+ #
+-# PCI devices
+-#
+-# CONFIG_SND_AD1889 is not set
+-# CONFIG_SND_ALS300 is not set
+-# CONFIG_SND_ALI5451 is not set
+-# CONFIG_SND_ATIIXP is not set
+-# CONFIG_SND_ATIIXP_MODEM is not set
+-# CONFIG_SND_AU8810 is not set
+-# CONFIG_SND_AU8820 is not set
+-# CONFIG_SND_AU8830 is not set
+-# CONFIG_SND_AZT3328 is not set
+-# CONFIG_SND_BT87X is not set
+-# CONFIG_SND_CA0106 is not set
+-# CONFIG_SND_CMIPCI is not set
+-# CONFIG_SND_CS4281 is not set
+-# CONFIG_SND_CS46XX is not set
+-# CONFIG_SND_DARLA20 is not set
+-# CONFIG_SND_GINA20 is not set
+-# CONFIG_SND_LAYLA20 is not set
+-# CONFIG_SND_DARLA24 is not set
+-# CONFIG_SND_GINA24 is not set
+-# CONFIG_SND_LAYLA24 is not set
+-# CONFIG_SND_MONA is not set
+-# CONFIG_SND_MIA is not set
+-# CONFIG_SND_ECHO3G is not set
+-# CONFIG_SND_INDIGO is not set
+-# CONFIG_SND_INDIGOIO is not set
+-# CONFIG_SND_INDIGODJ is not set
+-# CONFIG_SND_EMU10K1 is not set
+-# CONFIG_SND_EMU10K1X is not set
+-# CONFIG_SND_ENS1370 is not set
+-# CONFIG_SND_ENS1371 is not set
+-# CONFIG_SND_ES1938 is not set
+-# CONFIG_SND_ES1968 is not set
+-# CONFIG_SND_FM801 is not set
+-# CONFIG_SND_HDA_INTEL is not set
+-# CONFIG_SND_HDSP is not set
+-# CONFIG_SND_HDSPM is not set
+-# CONFIG_SND_ICE1712 is not set
+-# CONFIG_SND_ICE1724 is not set
+-# CONFIG_SND_INTEL8X0 is not set
+-# CONFIG_SND_INTEL8X0M is not set
+-# CONFIG_SND_KORG1212 is not set
+-# CONFIG_SND_MAESTRO3 is not set
+-# CONFIG_SND_MIXART is not set
+-# CONFIG_SND_NM256 is not set
+-# CONFIG_SND_PCXHR is not set
+-# CONFIG_SND_RIPTIDE is not set
+-# CONFIG_SND_RME32 is not set
+-# CONFIG_SND_RME96 is not set
+-# CONFIG_SND_RME9652 is not set
+-# CONFIG_SND_SONICVIBES is not set
+-# CONFIG_SND_TRIDENT is not set
+-# CONFIG_SND_VIA82XX is not set
+-# CONFIG_SND_VIA82XX_MODEM is not set
+-# CONFIG_SND_VX222 is not set
+-# CONFIG_SND_YMFPCI is not set
+-# CONFIG_SND_AC97_POWER_SAVE is not set
+-
+-#
+ # ALSA ARM devices
+ #
+ CONFIG_SND_PXA2XX_PCM=m
+@@ -971,6 +866,10 @@ CONFIG_SND_PXA2XX_AC97=m
+ # CONFIG_SND_SOC is not set
+
+ #
++# SoC Audio support for SuperH
++#
++
++#
+ # Open Sound System
+ #
+ # CONFIG_SOUND_PRIME is not set
+@@ -978,6 +877,7 @@ CONFIG_AC97_BUS=m
+ CONFIG_HID_SUPPORT=y
+ CONFIG_HID=y
+ # CONFIG_HID_DEBUG is not set
++# CONFIG_HIDRAW is not set
+
+ #
+ # USB Input Devices
+@@ -989,7 +889,7 @@ CONFIG_USB_HID=y
+ CONFIG_USB_SUPPORT=y
+ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+-CONFIG_USB_ARCH_HAS_EHCI=y
++# CONFIG_USB_ARCH_HAS_EHCI is not set
+ CONFIG_USB=y
+ # CONFIG_USB_DEBUG is not set
+
+@@ -999,20 +899,16 @@ CONFIG_USB=y
+ CONFIG_USB_DEVICEFS=y
+ # CONFIG_USB_DEVICE_CLASS is not set
+ # CONFIG_USB_DYNAMIC_MINORS is not set
+-# CONFIG_USB_SUSPEND is not set
+-# CONFIG_USB_PERSIST is not set
+ # CONFIG_USB_OTG is not set
+
+ #
+ # USB Host Controller Drivers
+ #
+-# CONFIG_USB_EHCI_HCD is not set
+ # CONFIG_USB_ISP116X_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+ # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+ # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+-# CONFIG_USB_UHCI_HCD is not set
+ # CONFIG_USB_SL811_HCD is not set
+ # CONFIG_USB_R8A66597_HCD is not set
+
+@@ -1033,12 +929,14 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_DEBUG is not set
+ # CONFIG_USB_STORAGE_DATAFAB is not set
+ # CONFIG_USB_STORAGE_FREECOM is not set
++# CONFIG_USB_STORAGE_ISD200 is not set
+ # CONFIG_USB_STORAGE_DPCM is not set
+ # CONFIG_USB_STORAGE_USBAT is not set
+ # CONFIG_USB_STORAGE_SDDR09 is not set
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+ # CONFIG_USB_STORAGE_JUMPSHOT is not set
+ # CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
+ # CONFIG_USB_STORAGE_KARMA is not set
+ # CONFIG_USB_LIBUSUAL is not set
+
+@@ -1098,59 +996,27 @@ CONFIG_MMC=m
+ #
+ CONFIG_MMC_BLOCK=m
+ CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
+
+ #
+ # MMC/SD Host Controller Drivers
+ #
+ CONFIG_MMC_PXA=m
+-# CONFIG_MMC_SDHCI is not set
+-# CONFIG_MMC_TIFM_SD is not set
+-
+-#
+-# Real Time Clock
+-#
+-CONFIG_RTC_LIB=y
+-CONFIG_RTC_CLASS=y
+-CONFIG_RTC_HCTOSYS=y
+-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+-# CONFIG_RTC_DEBUG is not set
+-
+-#
+-# RTC interfaces
+-#
+-CONFIG_RTC_INTF_SYSFS=y
+-CONFIG_RTC_INTF_PROC=y
+-CONFIG_RTC_INTF_DEV=y
+-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+-# CONFIG_RTC_DRV_TEST is not set
+-
+-#
+-# Platform RTC drivers
+-#
+-# CONFIG_RTC_DRV_CMOS is not set
+-# CONFIG_RTC_DRV_DS1553 is not set
+-# CONFIG_RTC_DRV_DS1742 is not set
+-# CONFIG_RTC_DRV_M48T86 is not set
+-# CONFIG_RTC_DRV_M48T59 is not set
+-CONFIG_RTC_DRV_V3020=y
+-
+-#
+-# on-CPU RTC drivers
+-#
+-CONFIG_RTC_DRV_SA1100=y
+-
+-#
+-# DMA Engine support
+-#
+-# CONFIG_DMA_ENGINE is not set
++CONFIG_NEW_LEDS=y
++CONFIG_LEDS_CLASS=y
+
+ #
+-# DMA Clients
++# LED drivers
+ #
++# CONFIG_LEDS_GPIO is not set
++CONFIG_LEDS_CM_X270=y
+
+ #
+-# DMA Devices
++# LED Triggers
+ #
++# CONFIG_LEDS_TRIGGERS is not set
++CONFIG_RTC_LIB=y
++# CONFIG_RTC_CLASS is not set
+
+ #
+ # File systems
+@@ -1164,7 +1030,6 @@ CONFIG_EXT3_FS_XATTR=y
+ # CONFIG_EXT3_FS_SECURITY is not set
+ # CONFIG_EXT4DEV_FS is not set
+ CONFIG_JBD=y
+-# CONFIG_JBD_DEBUG is not set
+ CONFIG_FS_MBCACHE=y
+ # CONFIG_REISERFS_FS is not set
+ # CONFIG_JFS_FS is not set
+@@ -1207,7 +1072,6 @@ CONFIG_SYSFS=y
+ CONFIG_TMPFS=y
+ # CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+-CONFIG_RAMFS=y
+ # CONFIG_CONFIGFS_FS is not set
+
+ #
+@@ -1220,33 +1084,27 @@ CONFIG_RAMFS=y
+ # CONFIG_BEFS_FS is not set
+ # CONFIG_BFS_FS is not set
+ # CONFIG_EFS_FS is not set
+-# CONFIG_JFFS2_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++CONFIG_JFFS2_SUMMARY=y
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++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_NETWORK_FILESYSTEMS=y
++# CONFIG_NFS_FS 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_SUNRPC_BIND34 is not set
+-# CONFIG_RPCSEC_GSS_KRB5 is not set
+-# CONFIG_RPCSEC_GSS_SPKM3 is not set
+-CONFIG_SMB_FS=y
+-# CONFIG_SMB_NLS_DEFAULT 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
+@@ -1257,10 +1115,6 @@ CONFIG_SMB_FS=y
+ #
+ # 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=y
+@@ -1301,98 +1155,34 @@ CONFIG_NLS_ISO8859_1=y
+ # CONFIG_NLS_KOI8_R is not set
+ # CONFIG_NLS_KOI8_U is not set
+ # CONFIG_NLS_UTF8 is not set
+-
+-#
+-# Distributed Lock Manager
+-#
+ # CONFIG_DLM is not set
+-
+-#
+-# Profiling support
+-#
++CONFIG_INSTRUMENTATION=y
+ # CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
+
+ #
+ # Kernel hacking
+ #
+ # CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
+ CONFIG_ENABLE_MUST_CHECK=y
+-CONFIG_MAGIC_SYSRQ=y
++# CONFIG_MAGIC_SYSRQ is not set
+ # CONFIG_UNUSED_SYMBOLS is not set
+ # CONFIG_DEBUG_FS is not set
+ # CONFIG_HEADERS_CHECK is not set
+-CONFIG_DEBUG_KERNEL=y
+-# CONFIG_DEBUG_SHIRQ is not set
+-# CONFIG_DETECT_SOFTLOCKUP is not set
+-CONFIG_SCHED_DEBUG=y
+-# CONFIG_SCHEDSTATS is not set
+-# CONFIG_TIMER_STATS is not set
+-# CONFIG_DEBUG_SLAB is not set
+-# CONFIG_DEBUG_RT_MUTEXES is not set
+-# CONFIG_RT_MUTEX_TESTER is not set
+-# CONFIG_DEBUG_SPINLOCK is not set
+-# CONFIG_DEBUG_MUTEXES is not set
+-# CONFIG_DEBUG_LOCK_ALLOC is not set
+-# CONFIG_PROVE_LOCKING is not set
+-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+-# CONFIG_DEBUG_KOBJECT is not set
++# CONFIG_DEBUG_KERNEL is not set
+ # CONFIG_DEBUG_BUGVERBOSE is not set
+-CONFIG_DEBUG_INFO=y
+-# CONFIG_DEBUG_VM is not set
+-# CONFIG_DEBUG_LIST is not set
+ CONFIG_FRAME_POINTER=y
+-CONFIG_FORCED_INLINING=y
+-# CONFIG_RCU_TORTURE_TEST is not set
+-# CONFIG_FAULT_INJECTION is not set
+-CONFIG_DEBUG_USER=y
+-CONFIG_DEBUG_ERRORS=y
+-CONFIG_DEBUG_LL=y
+-# CONFIG_DEBUG_ICEDCC is not set
++# CONFIG_SAMPLES is not set
++# CONFIG_DEBUG_USER is not set
+
+ #
+ # Security options
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
+-CONFIG_CRYPTO=y
+-CONFIG_CRYPTO_ALGAPI=m
+-CONFIG_CRYPTO_BLKCIPHER=m
+-CONFIG_CRYPTO_MANAGER=m
+-# CONFIG_CRYPTO_HMAC is not set
+-# CONFIG_CRYPTO_XCBC is not set
+-# CONFIG_CRYPTO_NULL is not set
+-# CONFIG_CRYPTO_MD4 is not set
+-# CONFIG_CRYPTO_MD5 is not set
+-# CONFIG_CRYPTO_SHA1 is not set
+-# 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_GF128MUL is not set
+-CONFIG_CRYPTO_ECB=m
+-CONFIG_CRYPTO_CBC=m
+-CONFIG_CRYPTO_PCBC=m
+-# CONFIG_CRYPTO_LRW is not set
+-# CONFIG_CRYPTO_CRYPTD is not set
+-# CONFIG_CRYPTO_DES is not set
+-# CONFIG_CRYPTO_FCRYPT is not set
+-# CONFIG_CRYPTO_BLOWFISH is not set
+-# CONFIG_CRYPTO_TWOFISH is not set
+-# CONFIG_CRYPTO_SERPENT is not set
+-CONFIG_CRYPTO_AES=m
+-# CONFIG_CRYPTO_CAST5 is not set
+-# CONFIG_CRYPTO_CAST6 is not set
+-# CONFIG_CRYPTO_TEA is not set
+-CONFIG_CRYPTO_ARC4=m
+-# 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_CAMELLIA is not set
+-# CONFIG_CRYPTO_TEST is not set
+-CONFIG_CRYPTO_HW=y
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++# CONFIG_CRYPTO is not set
+
+ #
+ # Library routines
+@@ -1404,6 +1194,8 @@ CONFIG_BITREVERSE=y
+ CONFIG_CRC32=y
+ # CONFIG_CRC7 is not set
+ # CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
+ CONFIG_PLIST=y
+ CONFIG_HAS_IOMEM=y
+ CONFIG_HAS_IOPORT=y
+--
+1.5.4.rc4
+
diff --git a/packages/linux/linux-2.6.24/cm-x270/defconfig b/packages/linux/linux-2.6.24/cm-x270/defconfig
new file mode 100644
index 0000000000..412c772211
--- /dev/null
+++ b/packages/linux/linux-2.6.24/cm-x270/defconfig
@@ -0,0 +1,1202 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.24
+# Wed Feb 27 16:38:09 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-cm-x270"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
+# CONFIG_FAIR_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=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_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+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
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG 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_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_MXC 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_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+
+#
+# Intel PXA2xx/PXA3xx 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_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+# CONFIG_MACH_EM_X270 is not set
+# CONFIG_MACH_ZYLONITE is not set
+CONFIG_MACH_ARMCORE=y
+CONFIG_PXA27x=y
+
+#
+# Boot options
+#
+
+#
+# Power management
+#
+
+#
+# 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
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+CONFIG_IWMMXT=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+# CONFIG_PCI is not set
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_PREEMPT=y
+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_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS1,38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE 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 is not set
+CONFIG_SUSPEND_UP_POSSIBLE=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# 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_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_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# 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
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# 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
+# 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_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+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_BLKDEVS=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
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS 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 is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# 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_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x400000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# 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
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+CONFIG_MTD_NAND_CM_X270=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# 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=4096
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# 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
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+CONFIG_DM9000=y
+# CONFIG_SMC911X is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_DM9601 is not set
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_WAN is not set
+# 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
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# 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_STOWAWAY is not set
+# CONFIG_KEYBOARD_PXA27x is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_PS2_ALPS is not set
+# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
+# CONFIG_MOUSE_PS2_SYNAPTICS is not set
+# CONFIG_MOUSE_PS2_LIFEBOOK is not set
+# CONFIG_MOUSE_PS2_TRACKPOINT is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# 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_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_UCB1400=m
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# 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 is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+
+#
+# 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_GPIO is not set
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_DS1682 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_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 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
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S 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_LM93 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 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
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# 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
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_PARAMETERS=y
+# CONFIG_FB_MBX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=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_MIXER_OSS is not set
+# CONFIG_SND_PCM_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_AC97_CODEC=m
+# 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_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_CAIAQ is not set
+
+#
+# System on Chip audio support
+#
+# CONFIG_SND_SOC is not set
+
+#
+# SoC Audio support for SuperH
+#
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_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=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK 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_ADUTUX 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_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+
+#
+# MMC/SD Host Controller Drivers
+#
+CONFIG_MMC_PXA=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_GPIO is not set
+CONFIG_LEDS_CM_X270=y
+
+#
+# LED Triggers
+#
+# CONFIG_LEDS_TRIGGERS is not set
+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=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+CONFIG_FS_MBCACHE=y
+# 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_GFS2_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 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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+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
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD 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
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# 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
+# CONFIG_DLM is not set
+CONFIG_INSTRUMENTATION=y
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_SAMPLES is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+# CONFIG_CRYPTO is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/packages/linux/linux-2.6.24/mpc8313e-rdb/defconfig b/packages/linux/linux-2.6.24/mpc8313e-rdb/defconfig
index 3cc17679c1..b87f62acbc 100644
--- a/packages/linux/linux-2.6.24/mpc8313e-rdb/defconfig
+++ b/packages/linux/linux-2.6.24/mpc8313e-rdb/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23
-# Mon Dec 17 17:18:08 2007
+# Linux kernel version: 2.6.24
+# Fri Feb 8 08:56:05 2008
#
# CONFIG_PPC64 is not set
@@ -21,8 +21,13 @@ CONFIG_PPC_STD_MMU_32=y
# CONFIG_PPC_MM_SLICES is not set
# CONFIG_SMP is not set
CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_IRQ_PER_CPU=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -62,9 +67,14 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
+# CONFIG_FAIR_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
@@ -89,6 +99,7 @@ CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
+CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
@@ -121,7 +132,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
# Platform support
#
# CONFIG_PPC_MULTIPLATFORM is not set
-# CONFIG_EMBEDDED6xx is not set
# CONFIG_PPC_82xx is not set
CONFIG_PPC_83xx=y
# CONFIG_PPC_86xx is not set
@@ -154,6 +164,10 @@ CONFIG_PPC_MPC831x=y
# Kernel options
#
# CONFIG_HIGHMEM is not set
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
@@ -174,6 +188,7 @@ CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
@@ -202,10 +217,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
+CONFIG_PCI_LEGACY=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
@@ -220,7 +232,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_HIGHMEM_START=0xfe000000
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_KERNEL_START=0xc0000000
-CONFIG_TASK_SIZE=0x80000000
+CONFIG_TASK_SIZE=0xc0000000
CONFIG_BOOT_LOAD=0x00800000
#
@@ -266,6 +278,7 @@ CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_LRO is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
@@ -353,6 +366,7 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
@@ -448,12 +462,7 @@ CONFIG_IPX=m
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
CONFIG_WAN_ROUTER=m
-
-#
-# QoS and/or fair queueing
-#
CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_FIFO=y
#
# Queueing/Scheduling
@@ -500,10 +509,12 @@ CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
+# CONFIG_NET_ACT_NAT is not set
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
# CONFIG_NET_CLS_POLICE is not set
CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
#
# Network testing
@@ -527,9 +538,11 @@ CONFIG_BT_HIDP=m
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_LL is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -541,8 +554,10 @@ CONFIG_FIB_RULES=y
# Wireless
#
CONFIG_CFG80211=y
+CONFIG_NL80211=y
CONFIG_WIRELESS_EXT=y
CONFIG_MAC80211=m
+CONFIG_MAC80211_RCSIMPLE=y
# CONFIG_MAC80211_LEDS is not set
# CONFIG_MAC80211_DEBUG is not set
CONFIG_IEEE80211=m
@@ -554,6 +569,7 @@ CONFIG_IEEE80211_SOFTMAC=m
# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
CONFIG_RFKILL=m
CONFIG_RFKILL_INPUT=m
+CONFIG_RFKILL_LEDS=y
# CONFIG_NET_9P is not set
#
@@ -563,6 +579,7 @@ CONFIG_RFKILL_INPUT=m
#
# Generic Driver Options
#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
@@ -586,6 +603,7 @@ CONFIG_MTD_BLOCK=y
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
#
# RAM/ROM/Flash chip drivers
@@ -621,6 +639,7 @@ CONFIG_MTD_PHYSMAP_START=0xfe000000
CONFIG_MTD_PHYSMAP_LEN=0x0800000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_PHYSMAP_OF is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -647,9 +666,10 @@ CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_CAFE is not set
-CONFIG_MTD_NAND_FSL_ELBC=y
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+CONFIG_MTD_NAND_FSL_ELBC=y
# CONFIG_MTD_ONENAND is not set
#
@@ -687,7 +707,7 @@ CONFIG_EEPROM_93CX6=m
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
+CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
@@ -696,11 +716,11 @@ CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
-CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
-CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
#
@@ -715,55 +735,14 @@ CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
-CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
#
# IEEE 1394 (FireWire) support
@@ -780,6 +759,7 @@ CONFIG_NETDEVICES=y
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
+# CONFIG_VETH is not set
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y
@@ -796,22 +776,8 @@ CONFIG_CICADA_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_FIXED_PHY is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET is not set
CONFIG_E100=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
@@ -828,6 +794,8 @@ CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
+# CONFIG_IP1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
@@ -843,14 +811,7 @@ CONFIG_GIANFAR=y
CONFIG_GFAR_NAPI=y
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
-CONFIG_NETDEV_10000=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_MLX4_CORE is not set
+# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
#
@@ -869,6 +830,7 @@ CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBERTAS_SDIO is not set
# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_AIRO=m
CONFIG_HERMES=m
@@ -881,6 +843,9 @@ CONFIG_PCI_ATMEL=m
CONFIG_PRISM54=m
CONFIG_USB_ZD1201=m
CONFIG_RTL8187=m
+# CONFIG_ADM8211 is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_IWLWIFI is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
@@ -893,8 +858,11 @@ CONFIG_BCM43XX_PIO=y
CONFIG_BCM43XX_DMA_AND_PIO_MODE=y
# CONFIG_BCM43XX_DMA_MODE is not set
# CONFIG_BCM43XX_PIO_MODE is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
+# CONFIG_RT2X00 is not set
#
# USB Network Adapters
@@ -903,7 +871,6 @@ CONFIG_ZD1211RW=m
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
CONFIG_ATM_DRIVERS=y
@@ -1051,7 +1018,6 @@ CONFIG_INPUT=y
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
@@ -1099,32 +1065,11 @@ CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_83xx_WDT=y
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
CONFIG_HW_RANDOM=y
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
CONFIG_DEVPORT=y
@@ -1207,8 +1152,6 @@ CONFIG_SPI_TLE62X0=m
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
@@ -1216,12 +1159,13 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
@@ -1258,6 +1202,31 @@ CONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_83xx_WDT=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
#
# Multifunction device drivers
@@ -1275,16 +1244,17 @@ CONFIG_DAB=y
#
# Graphics support
#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-# CONFIG_FB is not set
-# CONFIG_FB_IBM_GXT4500 is not set
#
# Sound
@@ -1388,6 +1358,10 @@ CONFIG_SND_VERBOSE_PROCFS=y
#
#
+# SPI devices
+#
+
+#
# USB devices
#
CONFIG_SND_USB_AUDIO=m
@@ -1410,6 +1384,7 @@ CONFIG_SND_USB_AUDIO=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
#
# USB Input Devices
@@ -1470,10 +1445,11 @@ CONFIG_USB_UHCI_HCD=y
#
# may also be needed; see USB_STORAGE Help for more information
#
-CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
@@ -1535,6 +1511,7 @@ CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
# CONFIG_USB_GADGET_FSL_USB2 is not set
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=y
@@ -1563,6 +1540,7 @@ CONFIG_MMC=m
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
#
# MMC/SD Host Controller Drivers
@@ -1570,6 +1548,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
+CONFIG_MMC_SPI=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
@@ -1584,7 +1563,6 @@ CONFIG_LEDS_MPC8313E_RDB=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=m
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
@@ -1606,6 +1584,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=y
+# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1637,21 +1616,6 @@ CONFIG_RTC_DRV_DS1307=y
#
#
-# DMA Engine support
-#
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_IOATDMA=y
-
-#
# Userspace I/O
#
CONFIG_UIO=m
@@ -1669,7 +1633,6 @@ CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_SECURITY is not set
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
@@ -1715,7 +1678,6 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
# CONFIG_CONFIGFS_FS is not set
#
@@ -1731,10 +1693,12 @@ CONFIG_RAMFS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
# 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_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=y
@@ -1743,10 +1707,7 @@ CONFIG_CRAMFS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
+CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
@@ -1799,10 +1760,6 @@ CONFIG_LDM_PARTITION=y
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
-
-#
-# Native Language Support
-#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
@@ -1843,10 +1800,6 @@ CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
-
-#
-# Distributed Lock Manager
-#
# CONFIG_DLM is not set
# CONFIG_UCC_SLOW is not set
@@ -1870,17 +1823,16 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
-
-#
-# Instrumentation Support
-#
+CONFIG_INSTRUMENTATION=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
+# CONFIG_MARKERS is not set
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_UNUSED_SYMBOLS is not set
@@ -1888,6 +1840,7 @@ CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_SAMPLES is not set
# CONFIG_PPC_EARLY_DEBUG is not set
#
@@ -1895,6 +1848,7 @@ CONFIG_ENABLE_MUST_CHECK=y
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ABLKCIPHER=m
@@ -1916,6 +1870,7 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_XTS is not set
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=m
@@ -1930,9 +1885,12 @@ CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
+# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_TEST=m
+# CONFIG_CRYPTO_AUTHENC is not set
CONFIG_CRYPTO_HW=y
+# CONFIG_PPC_CLOCK is not set
diff --git a/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch b/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch
index f1dca9d8e1..157df51c04 100644
--- a/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch
+++ b/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch
@@ -1,6 +1,7 @@
-diff -urN linux-2.6.24.orig/drivers/leds/Kconfig linux-2.6.24/drivers/leds/Kconfig
---- linux-2.6.24.orig/drivers/leds/Kconfig 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24/drivers/leds/Kconfig 2008-02-08 08:12:01.000000000 +0100
+Index: linux-2.6.24.3/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Kconfig 2008-02-26 01:20:20.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Kconfig 2008-02-29 00:43:28.000000000 +0100
@@ -114,6 +114,12 @@
help
This option enables support for the CM-X270 LEDs.
@@ -14,14 +15,15 @@ diff -urN linux-2.6.24.orig/drivers/leds/Kconfig linux-2.6.24/drivers/leds/Kconf
comment "LED Triggers"
config LEDS_TRIGGERS
-diff -urN linux-2.6.24.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.24/drivers/leds/leds-mpc8313e-rdb.c
---- linux-2.6.24.orig/drivers/leds/leds-mpc8313e-rdb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/drivers/leds/leds-mpc8313e-rdb.c 2008-02-08 08:12:01.000000000 +0100
-@@ -0,0 +1,171 @@
+Index: linux-2.6.24.3/drivers/leds/leds-mpc8313e-rdb.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.24.3/drivers/leds/leds-mpc8313e-rdb.c 2008-02-29 01:36:07.000000000 +0100
+@@ -0,0 +1,173 @@
+/*
+ * drivers/leds/leds-mpc8313e-rdb.c
-+ * Copyright (C) 2007 Leon Woestenberg <leon@sidebranch.com>
-+ * Copyright (C) 2007 Jeremy Laine <jeremy.laine@bolloretelecom.eu>
++ * Copyright (C) 2007-2008 Jeremy Laine <jeremy.laine@bolloretelecom.eu>
++ * Copyright (C) 2007-2008 Leon Woestenberg <leon@sidebranch.com>
+ *
+ * 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
@@ -38,6 +40,7 @@ diff -urN linux-2.6.24.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.24/driver
+#include <linux/err.h>
+#include <asm/io.h>
+
++/* note the board is not wired for read access from the LED buffer */
+#define LEDS_BASE 0xfa000000
+#define LEDS_SIZE 0x2
+
@@ -61,62 +64,63 @@ diff -urN linux-2.6.24.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.24/driver
+ iowrite8(led_state, led_io);
+}
+
++/* led0 is red, led1 is yellow, led2-7 are green */
+static struct mpc8313_led mpc8313_leds[] = {
+ {
+ .cdev = {
+ .name = "mpc8313:led0",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 1,
++ .bitmask = 128,
+ },
+ {
+ .cdev = {
+ .name = "mpc8313:led1",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 2,
++ .bitmask = 64,
+ },
+ {
+ .cdev = {
+ .name = "mpc8313:led2",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 4,
++ .bitmask = 32,
+ },
+ {
+ .cdev = {
+ .name = "mpc8313:led3",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 8,
++ .bitmask = 16,
+ },
+ {
+ .cdev = {
+ .name = "mpc8313:led4",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 16,
++ .bitmask = 8,
+ },
+ {
+ .cdev = {
-+ .name = "mpc8313:green",
++ .name = "mpc8313:led5",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 32,
++ .bitmask = 4,
+ },
+ {
+ .cdev = {
-+ .name = "mpc8313:yellow",
++ .name = "mpc8313:led6",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 64,
++ .bitmask = 2,
+ },
+ {
+ .cdev = {
-+ .name = "mpc8313:red",
++ .name = "mpc8313:led7",
+ .brightness_set = mpc8313leds_set,
+ },
-+ .bitmask = 128,
++ .bitmask = 1,
+ },
+};
+
@@ -186,12 +190,13 @@ diff -urN linux-2.6.24.orig/drivers/leds/leds-mpc8313e-rdb.c linux-2.6.24/driver
+module_init(mpc8313leds_init);
+module_exit(mpc8313leds_exit);
+
-+MODULE_AUTHOR("Leon Woestenberg <leon@sidebranch.com>");
++MODULE_AUTHOR("Jeremy Laine <jeremy.laine@bolloretelecom.eu>");
+MODULE_DESCRIPTION("MPC8313E-RDB LED driver");
+MODULE_LICENSE("GPL");
-diff -urN linux-2.6.24.orig/drivers/leds/Makefile linux-2.6.24/drivers/leds/Makefile
---- linux-2.6.24.orig/drivers/leds/Makefile 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24/drivers/leds/Makefile 2008-02-08 08:12:38.000000000 +0100
+Index: linux-2.6.24.3/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Makefile 2008-02-26 01:20:20.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Makefile 2008-02-29 00:43:28.000000000 +0100
@@ -19,6 +19,7 @@
obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-cobalt-raq.o
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
diff --git a/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc831x-nand.patch b/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc831x-nand.patch
new file mode 100644
index 0000000000..7c6502d232
--- /dev/null
+++ b/packages/linux/linux-2.6.24/mpc8313e-rdb/mpc831x-nand.patch
@@ -0,0 +1,1807 @@
+diff -urN linux-2.6.24.orig/arch/powerpc/boot/dts/mpc8313erdb.dts linux-2.6.24/arch/powerpc/boot/dts/mpc8313erdb.dts
+--- linux-2.6.24.orig/arch/powerpc/boot/dts/mpc8313erdb.dts 2008-01-24 23:58:37.000000000 +0100
++++ linux-2.6.24/arch/powerpc/boot/dts/mpc8313erdb.dts 2008-02-18 16:39:43.000000000 +0100
+@@ -36,6 +36,12 @@
+ device_type = "memory";
+ reg = <00000000 08000000>; // 128MB at 0
+ };
++
++ nand0 {
++ device_type = "nand";
++ compatible = "fsl-nand";
++ reg = <e2800000 00000200>;
++ };
+
+ soc8313@e0000000 {
+ #address-cells = <1>;
+@@ -177,6 +183,16 @@
+ reg = <700 100>;
+ device_type = "ipic";
+ };
++
++ elbc@5000 {
++ device_type = "elbc";
++ compatible = "fsl-elbc";
++ reg = <5000 1000>;
++ interrupts = <4d 8>;
++ interrupt-parent = < &ipic >;
++ allow-direct-device-sleep;
++ };
++
+ };
+
+ pci@e0008500 {
+diff -urN linux-2.6.24.orig/arch/powerpc/sysdev/fsl_soc.c linux-2.6.24/arch/powerpc/sysdev/fsl_soc.c
+--- linux-2.6.24.orig/arch/powerpc/sysdev/fsl_soc.c 2008-01-24 23:58:37.000000000 +0100
++++ linux-2.6.24/arch/powerpc/sysdev/fsl_soc.c 2008-02-18 17:07:57.000000000 +0100
+@@ -6,6 +6,12 @@
+ * 2006 (c) MontaVista Software, Inc.
+ * Vitaly Bordug <vbordug@ru.mvista.com>
+ *
++ * Change log:
++ * Copyright (C) 2006 Freescale Semiconductor, Inc.
++ * 2006: Lo Wilson (r43300@freescale.com)
++ * Added support for Enhanced Local Bus Controller
++ * Added support for USB UTMI mode on-chip PHY
++ *
+ * 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
+@@ -28,6 +34,8 @@
+ #include <linux/fsl_devices.h>
+ #include <linux/fs_enet_pd.h>
+ #include <linux/fs_uart_pd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/fsl_elbc.h>
+
+ #include <asm/system.h>
+ #include <asm/atomic.h>
+@@ -671,6 +679,75 @@
+
+ arch_initcall(fsl_usb_of_init);
+
++static int __init fsl_elbc_of_init(void)
++{
++ struct device_node *np;
++ unsigned int i;
++ struct platform_device *elbc_dev = NULL;
++ struct platform_device *nand_dev = NULL;
++ int ret;
++
++ /* find and register the enhanced local bus controller */
++ for (np = NULL, i = 0;
++ (np = of_find_compatible_node(np, "elbc", "fsl-elbc")) != NULL;
++ i++) {
++ struct resource r[2];
++
++ memset(&r, 0, sizeof(r));
++
++ ret = of_address_to_resource(np, 0, &r[0]);
++ if (ret)
++ goto err;
++
++ r[1].start = r[1].end = irq_of_parse_and_map(np, 0);
++ r[1].flags = IORESOURCE_IRQ;
++
++ elbc_dev =
++ platform_device_register_simple("fsl-elbc", i, r, 2);
++ if (IS_ERR(elbc_dev)) {
++ ret = PTR_ERR(elbc_dev);
++ goto err;
++ }
++ }
++
++ /* find and register NAND memories if the eLBC was found */
++ for (np = NULL, i = 0;
++ elbc_dev &&
++ (np = of_find_compatible_node(np, "nand", "fsl-nand")) != NULL;
++ i++) {
++ struct resource r;
++ struct platform_fsl_nand_chip chip_data;
++
++ memset(&r, 0, sizeof(r));
++ memset(&chip_data, 0, sizeof(chip_data));
++
++ ret = of_address_to_resource(np, 0, &r);
++ if (ret)
++ goto err;
++
++ nand_dev =
++ platform_device_register_simple("fsl-nand", i, &r, 1);
++ if (IS_ERR(nand_dev)) {
++ ret = PTR_ERR(nand_dev);
++ goto err;
++ }
++
++ chip_data.name = of_get_property(np, "name", NULL);
++ chip_data.partitions_str = of_get_property(np, "partitions", NULL);
++
++ ret = platform_device_add_data(nand_dev, &chip_data,
++ sizeof(struct platform_fsl_nand_chip));
++ if (ret)
++ goto err;
++ }
++ return 0;
++
++err:
++ return ret;
++}
++
++arch_initcall(fsl_elbc_of_init);
++
+ #ifndef CONFIG_PPC_CPM_NEW_BINDING
+ #ifdef CONFIG_CPM2
+
+diff -urN linux-2.6.24.orig/drivers/mtd/nand/fsl_elbc.c linux-2.6.24/drivers/mtd/nand/fsl_elbc.c
+--- linux-2.6.24.orig/drivers/mtd/nand/fsl_elbc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.24/drivers/mtd/nand/fsl_elbc.c 2008-02-18 17:08:08.000000000 +0100
+@@ -0,0 +1,1324 @@
++/* linux/drivers/mtd/nand/fsl_elbc.c
++ *
++ * Copyright (C) 2006 Freescale Semiconductor, Inc.
++ *
++ * Freescale Enhanced Local Bus Controller NAND driver
++ *
++ * Author: Nick Spence <Nick.Spence@freescale.com>
++ * Maintainer: Tony Li <Tony.Li@freescale.com>
++ *
++ * Changelog:
++ * 2006-12 Tony Li <Tony.Li@freescale.com>
++ * Adopt to MPC8313ERDB board
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++*/
++
++//#ifdef CONFIG_MTD_NAND_DEBUG
++//#define DEBUG
++//#endif
++//#define DEBUG
++
++#include <linux/module.h>
++#include <linux/types.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/string.h>
++#include <linux/ioport.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++#include <linux/err.h>
++#include <linux/slab.h>
++#include <linux/interrupt.h>
++#include <linux/device.h>
++#include <linux/fsl_devices.h>
++
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/nand_ecc.h>
++#include <linux/mtd/partitions.h>
++
++#include <asm/io.h>
++#include <linux/mtd/fsl_elbc.h>
++
++#define PFX "fsl-elbc: "
++
++#undef CFG_FCM_DEBUG
++#define CFG_FCM_DEBUG_LVL 3
++#ifdef CFG_FCM_DEBUG
++static int fcm_debug_level = CFG_FCM_DEBUG_LVL;
++#define FCM_DEBUG(n, args...) \
++ do { \
++ if (n <= fcm_debug_level) \
++ printk(args); \
++ } while(0)
++#else /* CONFIG_FCM_DEBUG */
++#define FCM_DEBUG(n, args...) do { } while(0)
++#endif
++
++#define FCM_SIZE (8 * 1024)
++
++#define MAX_BANKS (8)
++
++/* use interrupt instead of busy waiting TODO */
++#define FCM_USE_INTERRUPT
++
++#define MIN(x, y) ((x < y) ? x : y)
++
++#define ERR_BYTE 0xFF /* Value returned for read bytes when read failed */
++
++#define FCM_TIMEOUT_MSECS 100 /* Maximum number of mSecs to wait for FCM */
++
++
++
++struct fsl_elbc_ctrl;
++
++/* mtd information per set */
++
++struct fsl_elbc_mtd {
++ struct mtd_info mtd;
++ struct nand_chip chip;
++ struct platform_fsl_nand_chip pl_chip;
++ struct fsl_elbc_ctrl *ctrl;
++
++ struct device *device;
++// int nr_chips; /* Number of chips in set */
++// int nr_partitions; /* Number of partitions or 0 */
++ char *name; /* Name of set (optional) */
++ int *nr_map; /* Physical chip num (option)*/
++// struct mtd_partition *partitions; /* MTD partition list (option*/
++// struct nand_ecclayout *ecclayout;
++ unsigned int options;
++ struct resource *area;
++ int bank; /* Chip select bank number */
++ unsigned int pbase; /* Chip select base physical address */
++ unsigned int vbase; /* Chip select base virtual address */
++ int pgs; /* NAND page size (0=512, 1=2048) */
++ unsigned int fmr; /* FCM Flash Mode Register value */
++};
++
++/* overview of the fsl elbc controller */
++
++struct fsl_elbc_ctrl {
++ struct nand_hw_control controller;
++ struct fsl_elbc_mtd *nmtd[MAX_BANKS];
++
++ /* device info */
++ atomic_t childs_active;
++ struct device *device;
++ struct resource *area;
++ lbus83xx_t *regs;
++ int irq;
++ wait_queue_head_t irq_wait;
++ unsigned int irq_status; /* status read from LTESR by irq handler */
++ u_char *addr; /* Address of assigned FCM buffer */
++ unsigned int page; /* Last page written to / read from */
++ unsigned int read_bytes; /* Number of bytes read during command */
++ unsigned int index; /* Pointer to next byte to 'read' */
++ unsigned int status; /* status read from LTESR after last op */
++ int oobbuf; /* Pointer to OOB block */
++ unsigned int mdr; /* UPM/FCM Data Register value */
++ unsigned int use_mdr; /* Non zero if the MDR is to be set */
++};
++
++struct fsl_elbc_ctrl elbc_ctrl;
++
++/* These map to the positions used by the FCM hardware ECC generator */
++
++/* Small Page FLASH with FMR[ECCM] = 0 */
++static struct nand_ecclayout fsl_elbc_oob_sp_eccm0 = { /* TODO */
++//TODO .useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++ .eccbytes = 3,
++ .eccpos = {6, 7, 8},
++ .oobfree = { {0, 5}, {9, 7} }
++};
++
++/* Small Page FLASH with FMR[ECCM] = 1 */
++static struct nand_ecclayout fsl_elbc_oob_sp_eccm1 = { /* TODO */
++//TODO .useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++ .eccbytes = 3,
++ .eccpos = {8, 9, 10},
++ .oobfree = { {0, 5}, {6, 2}, {11, 5} }
++};
++
++/* Large Page FLASH with FMR[ECCM] = 0 */
++static struct nand_ecclayout fsl_elbc_oob_lp_eccm0 = {
++//TODO .useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++ .eccbytes = 12,
++ .eccpos = {6, 7, 8, 22, 23, 24, 38, 39, 40, 54, 55, 56},
++ .oobfree = { {1, 5}, {9, 13}, {25, 13}, {41, 13}, {57, 7} }
++};
++
++/* Large Page FLASH with FMR[ECCM] = 1 */
++static struct nand_ecclayout fsl_elbc_oob_lp_eccm1 = {
++//TODO .useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++ .eccbytes = 12,
++ .eccpos = {8, 9, 10, 24, 25, 26, 40, 41, 42, 56, 57, 58},
++ .oobfree = { {1, 7}, {11, 13}, {27, 13}, {43, 13}, {59, 5} }
++};
++
++/*=================================*/
++
++/*
++ * Set up the FCM hardware block and page address fields, and the fcm
++ * structure addr field to point to the correct FCM buffer in memory
++ */
++static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++ int buf_num;
++
++ ctrl->page = page_addr;
++
++ lbc->fbar = page_addr >> (chip->phys_erase_shift - chip->page_shift);
++ if (nmtd->pgs) {
++ lbc->fpar = ((page_addr << FPAR_LP_PI_SHIFT) & FPAR_LP_PI) |
++ ( oob ? FPAR_LP_MS : 0) |
++ column;
++ buf_num = (page_addr & 1) << 2;
++ } else {
++ lbc->fpar = ((page_addr << FPAR_SP_PI_SHIFT) & FPAR_SP_PI) |
++ ( oob ? FPAR_SP_MS : 0) |
++ column;
++ buf_num = page_addr & 7;
++ }
++ ctrl->addr = (unsigned char*)(nmtd->vbase + (buf_num * 1024));
++
++ /* for OOB data point to the second half of the buffer */
++ if (oob) {
++ ctrl->addr += (nmtd->pgs ? 2048 : 512);
++ }
++ FCM_DEBUG(2,"set_addr: bank=%d, ctrl->addr=0x%p (0x%08x)\n", buf_num, ctrl->addr, nmtd->vbase);
++}
++
++/*
++ * execute FCM command and wait for it to complete
++ */
++static int fsl_elbc_run_command(struct mtd_info *mtd)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++ /* Setup the FMR[OP] to execute without write protection */
++ lbc->fmr = nmtd->fmr | 3;
++ if (ctrl->use_mdr)
++ lbc->mdr = ctrl->mdr;
++
++ FCM_DEBUG(5,"fsl_elbc_run_command: fmr= %08X fir= %08X fcr= %08X\n",
++ lbc->fmr, lbc->fir, lbc->fcr);
++ FCM_DEBUG(5,"fsl_elbc_run_command: fbar=%08X fpar=%08X fbcr=%08X bank=%d\n",
++ lbc->fbar, lbc->fpar, lbc->fbcr, nmtd->bank);
++
++ /* clear event registers */
++ lbc->lteatr = 0;
++ lbc->ltesr |= (LTESR_FCT | LTESR_PAR | LTESR_CC);
++
++ /* execute special operation */
++ lbc->lsor = nmtd->bank;
++
++ /* wait for FCM complete flag or timeout */
++/* TODO */
++#ifdef FCM_USE_INTERRUPT
++ ctrl->status = ctrl->irq_status = 0;
++ wait_event_timeout(ctrl->irq_wait, ctrl->irq_status, FCM_TIMEOUT_MSECS * HZ/1000);
++ ctrl->status = ctrl->irq_status;
++#else
++ {
++ unsigned long timeout;
++ unsigned long now;
++ now = jiffies_to_msecs(jiffies);
++ timeout = now + FCM_TIMEOUT_MSECS;
++ while (time_before(now, timeout)) {
++ ctrl->status = lbc->ltesr & (LTESR_FCT | LTESR_PAR | LTESR_CC);
++ if (ctrl->status)
++ break;
++ now = jiffies_to_msecs(jiffies);
++ }
++ }
++#endif
++
++ /* store mdr value in case it was needed */
++ if (ctrl->use_mdr)
++ ctrl->mdr = lbc->mdr;
++
++ ctrl->use_mdr = 0;
++
++ FCM_DEBUG(5,"fsl_elbc_run_command: stat=%08X mdr= %08X fmr= %08X\n",
++ ctrl->status, ctrl->mdr, lbc->fmr);
++
++ /* returns 0 on success otherwise non-zero) */
++ return (ctrl->status == LTESR_CC ? 0 : EFAULT);
++}
++
++/* cmdfunc send commands to the FCM */
++static void fsl_elbc_cmdfunc(struct mtd_info *mtd, unsigned command,
++ int column, int page_addr)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++
++ ctrl->use_mdr = 0;
++
++ /* clear the read buffer */
++ ctrl->read_bytes = 0;
++ if (command != NAND_CMD_PAGEPROG) {
++ ctrl->index = 0;
++ ctrl->oobbuf = -1;
++ }
++
++ switch (command) {
++ /* READ0 and READ1 read the entire buffer to use hardware ECC */
++ case NAND_CMD_READ1:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_READ1, page_addr:"
++ " 0x%x, column: 0x%x.\n", page_addr, column);
++ ctrl->index = column + 256;
++ goto read0;
++ case NAND_CMD_READ0:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_READ0, page_addr:"
++ " 0x%x, column: 0x%x.\n", page_addr, column);
++ ctrl->index = column;
++read0:
++ if (nmtd->pgs) {
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_CA << FIR_OP1_SHIFT) |
++ (FIR_OP_PA << FIR_OP2_SHIFT) |
++ (FIR_OP_CW1 << FIR_OP3_SHIFT) |
++ (FIR_OP_RBW << FIR_OP4_SHIFT);
++ } else {
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_CA << FIR_OP1_SHIFT) |
++ (FIR_OP_PA << FIR_OP2_SHIFT) |
++ (FIR_OP_RBW << FIR_OP3_SHIFT);
++ }
++ lbc->fcr = (NAND_CMD_READ0 << FCR_CMD0_SHIFT) |
++ (NAND_CMD_READSTART << FCR_CMD1_SHIFT);
++ lbc->fbcr = 0; /* read entire page to enable ECC */
++ set_addr(mtd, 0, page_addr, 0);
++ ctrl->read_bytes = mtd->writesize + mtd->oobsize;
++ goto write_cmd2;
++ /* READOOB read only the OOB becasue no ECC is performed */
++ case NAND_CMD_READOOB:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_READOOB, page_addr:"
++ " 0x%x, column: 0x%x.\n", page_addr, column);
++ if (nmtd->pgs) {
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_CA << FIR_OP1_SHIFT) |
++ (FIR_OP_PA << FIR_OP2_SHIFT) |
++ (FIR_OP_CW1 << FIR_OP3_SHIFT) |
++ (FIR_OP_RBW << FIR_OP4_SHIFT);
++ lbc->fcr = (NAND_CMD_READ0 << FCR_CMD0_SHIFT) |
++ (NAND_CMD_READSTART << FCR_CMD1_SHIFT);
++ } else {
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_CA << FIR_OP1_SHIFT) |
++ (FIR_OP_PA << FIR_OP2_SHIFT) |
++ (FIR_OP_RBW << FIR_OP3_SHIFT);
++ lbc->fcr = (NAND_CMD_READOOB << FCR_CMD0_SHIFT);
++ }
++ lbc->fbcr = mtd->oobsize - column;
++ set_addr(mtd, column, page_addr, 1);
++ ctrl->read_bytes = mtd->oobsize;
++ ctrl->index = column;
++ goto write_cmd2;
++ /* READID must read all 5 possible bytes while CEB is active */
++ case NAND_CMD_READID:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_READID.\n");
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_UA << FIR_OP1_SHIFT) |
++ (FIR_OP_RBW << FIR_OP2_SHIFT);
++ lbc->fcr = (NAND_CMD_READID << FCR_CMD0_SHIFT);
++ lbc->fbcr = 5; /* 5 bytes for manuf, device and exts */
++ ctrl->use_mdr = 1;
++ ctrl->mdr = 0;
++ goto write_cmd0;
++ /* ERASE1 stores the block and page address */
++ case NAND_CMD_ERASE1:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_ERASE1, page_addr:"
++ " 0x%x.\n", page_addr);
++ set_addr(mtd, 0, page_addr, 0);
++ goto end;
++ /* ERASE2 uses the block and page address from ERASE1 */
++ case NAND_CMD_ERASE2:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_ERASE2.\n");
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_PA << FIR_OP1_SHIFT) |
++ (FIR_OP_CM1 << FIR_OP2_SHIFT);
++ lbc->fcr = (NAND_CMD_ERASE1 << FCR_CMD0_SHIFT) |
++ (NAND_CMD_ERASE2 << FCR_CMD1_SHIFT);
++ lbc->fbcr = 0;
++ goto write_cmd1;
++ /* SEQIN sets up the addr buffer and all registers except the length */
++ case NAND_CMD_SEQIN:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_SEQIN/PAGE_PROG, page_addr:"
++ " 0x%x, column: 0x%x.\n", page_addr, column);
++ if (column == 0) {
++ lbc->fbcr = 0; /* write entire page to enable ECC */
++ } else {
++ lbc->fbcr = 1; /* mark as partial page so no HW ECC */
++ }
++ if (nmtd->pgs) {
++ /* always use READ0 for large page devices */
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_CA << FIR_OP1_SHIFT) |
++ (FIR_OP_PA << FIR_OP2_SHIFT) |
++ (FIR_OP_WB << FIR_OP3_SHIFT) |
++ (FIR_OP_CW1 << FIR_OP4_SHIFT);
++ lbc->fcr = (NAND_CMD_SEQIN << FCR_CMD0_SHIFT) |
++ (NAND_CMD_PAGEPROG << FCR_CMD1_SHIFT);
++ set_addr(mtd, column, page_addr, 0);
++ } else {
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_CM2 << FIR_OP1_SHIFT) |
++ (FIR_OP_CA << FIR_OP2_SHIFT) |
++ (FIR_OP_PA << FIR_OP3_SHIFT) |
++ (FIR_OP_WB << FIR_OP4_SHIFT) |
++ (FIR_OP_CW1 << FIR_OP5_SHIFT);
++ if (column >= mtd->writesize) {
++ /* OOB area --> READOOB */
++ column -= mtd->writesize;
++ lbc->fcr = (NAND_CMD_READOOB << FCR_CMD0_SHIFT)
++ | (NAND_CMD_PAGEPROG<< FCR_CMD1_SHIFT)
++ | (NAND_CMD_SEQIN << FCR_CMD2_SHIFT);
++ set_addr(mtd, column, page_addr, 1);
++ } else if (column < 256) {
++ /* First 256 bytes --> READ0 */
++ lbc->fcr = (NAND_CMD_READ0 << FCR_CMD0_SHIFT)
++ | (NAND_CMD_PAGEPROG<< FCR_CMD1_SHIFT)
++ | (NAND_CMD_SEQIN << FCR_CMD2_SHIFT);
++ set_addr(mtd, column, page_addr, 0);
++ } else {
++ /* Second 256 bytes --> READ1 */
++ column -= 256;
++ lbc->fcr = (NAND_CMD_READ1 << FCR_CMD0_SHIFT)
++ | (NAND_CMD_PAGEPROG<< FCR_CMD1_SHIFT)
++ | (NAND_CMD_SEQIN << FCR_CMD2_SHIFT);
++ set_addr(mtd, column, page_addr, 0);
++ }
++ }
++ goto end;
++ /* PAGEPROG reuses all of the setup from SEQIN and adds the length */
++ case NAND_CMD_PAGEPROG:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_PAGEPROG"
++ " writing %d bytes.\n",ctrl->index);
++ /* if the write did not start at 0 or is not a full page */
++ /* then set the exact length, otherwise use a full page */
++ /* write so the HW generates the ECC. */
++ if (lbc->fbcr ||
++ (ctrl->index != (mtd->writesize + mtd->oobsize)))
++ lbc->fbcr = ctrl->index;
++ goto write_cmd2;
++ /* CMD_STATUS must read the status byte while CEB is active */
++ /* Note - it does not wait for the ready line */
++ case NAND_CMD_STATUS:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_STATUS.\n");
++ lbc->fir = (FIR_OP_CM0 << FIR_OP0_SHIFT) |
++ (FIR_OP_RBW << FIR_OP1_SHIFT);
++ lbc->fcr = (NAND_CMD_STATUS << FCR_CMD0_SHIFT);
++ lbc->fbcr = 1;
++ goto write_cmd0;
++ /* RESET without waiting for the ready line */
++ case NAND_CMD_RESET:
++ FCM_DEBUG(2,"fsl_elbc_cmdfunc: NAND_CMD_RESET.\n");
++ lbc->fir = (FIR_OP_CM0 << FIR_OP0_SHIFT);
++ lbc->fcr = (NAND_CMD_RESET << FCR_CMD0_SHIFT);
++ lbc->fbcr = 0;
++ goto write_cmd0;
++ default:
++ printk("fsl_elbc_cmdfunc: error, unsupported command.\n");
++ goto end;
++ }
++
++ /* Short cuts fall through to save code */
++ write_cmd0:
++ set_addr(mtd, 0, 0, 0);
++ write_cmd1:
++ ctrl->read_bytes = lbc->fbcr;
++ write_cmd2:
++ fsl_elbc_run_command(mtd);
++
++#ifdef CONFIG_MTD_NAND_VERIFY_WRITE
++ /* if we wrote a page then read back the oob to get the ECC */
++ if ((command == NAND_CMD_PAGEPROG) &&
++ (chip->ecc.mode > NAND_ECC_SOFT) &&
++ (lbc->fbcr == 0) &&
++ (ctrl->oobbuf != 0) &&
++ (ctrl->oobbuf != -1)) {
++ int i;
++ uint *oob_config;
++ unsigned char *oob_buf;
++
++ i = ctrl->page;
++ oob_buf = (unsigned char*) ctrl->oobbuf;
++ oob_config = chip->ecc.layout->eccpos;
++
++ /* wait for the write to complete and check it passed */
++ if (!(chip->waitfunc(mtd, chip) & 0x01)) {
++ /* read back the OOB */
++ fsl_elbc_cmdfunc(mtd, NAND_CMD_READOOB, 0, i);
++ /* if it succeeded then copy the ECC bytes */
++ if (ctrl->status == LTESR_CC) {
++ for (i=0; i < chip->ecc.layout->eccbytes; i++) {
++ oob_buf[oob_config[i]] =
++ ctrl->addr[oob_config[i]];
++ }
++ }
++ }
++ }
++#endif
++
++ end:
++ return;
++}
++
++/* select chip */
++
++static void fsl_elbc_select_chip(struct mtd_info *mtd, int chip)
++{
++}
++
++/* fsl_elbc_cmd_ctrl
++ *
++ * Issue command and address cycles to the chip
++*/
++
++static void fsl_elbc_cmd_ctrl(struct mtd_info *mtd, int dat,
++ unsigned int ctrl)
++{
++}
++
++/* fsl_elbc_dev_ready()
++ *
++ * returns 0 if the nand is busy, 1 if it is ready
++*/
++
++static int fsl_elbc_dev_ready(struct mtd_info *mtd)
++{
++ return 0;
++}
++
++/*
++ * FCM does not support 16 bit data busses
++ */
++static u16 fsl_elbc_read_word(struct mtd_info *mtd)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_ctrl *ctrl = (struct fsl_elbc_ctrl *) chip->controller;
++
++ dev_err(ctrl->device, "fsl_elbc_read_word: UNIMPLEMENTED.\n");
++ return 0;
++}
++
++/*
++ * Write buf to the FCM Controller Data Buffer
++ */
++static void fsl_elbc_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++
++ FCM_DEBUG(3,"fsl_elbc_write_buf: writing %d bytes starting with 0x%lx"
++ " at %d.\n", len, *((unsigned long*) buf), ctrl->index);
++
++ /* If armed catch the address of the OOB buffer so that it can be */
++ /* updated with the real signature after the program comletes */
++ if (!ctrl->oobbuf)
++ ctrl->oobbuf = (int) buf;
++
++ /* copy the data into the FCM hardware buffer and update the index */
++ memcpy(&(ctrl->addr[ctrl->index]), buf, len);
++ ctrl->index += len;
++ return;
++}
++
++
++/*
++ * read a byte from either the FCM hardware buffer if it has any data left
++ * otherwise issue a command to read a single byte.
++ */
++static u_char fsl_elbc_read_byte(struct mtd_info *mtd)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++ unsigned char byte;
++
++ /* If there are still bytes in the FCM then use the next byte */
++ if(ctrl->index < ctrl->read_bytes) {
++ byte = ctrl->addr[(ctrl->index)++];
++ FCM_DEBUG(4,"fsl_elbc_read_byte: byte %u (%02X): %d of %d.\n",
++ byte, byte, ctrl->index-1, ctrl->read_bytes);
++ } else {
++ /* otherwise issue a command to read 1 byte */
++ lbc->fir = (FIR_OP_RSW << FIR_OP0_SHIFT);
++ ctrl->use_mdr = 1;
++ ctrl->read_bytes = 0;
++ ctrl->index = 0;
++ ctrl->read_bytes = 0;
++ ctrl->index = 0;
++ byte = fsl_elbc_run_command(mtd) ? ERR_BYTE : ctrl->mdr & 0xff;
++ FCM_DEBUG(4,"fsl_elbc_read_byte: byte %u (%02X) from bus.\n",
++ byte, byte);
++ }
++
++ return byte;
++}
++
++/*
++ * Read from the FCM Controller Data Buffer
++ */
++static void fsl_elbc_read_buf(struct mtd_info *mtd, u_char* buf, int len)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ int i;
++ int rest;
++ unsigned long old_status;
++
++ FCM_DEBUG(3,"fsl_elbc_read_buf: reading %d bytes.\n", len);
++
++ /* see how much is still in the FCM buffer */
++ i = min((unsigned int)len, (ctrl->read_bytes - ctrl->index));
++ rest = len - i;
++ len = i;
++
++ /* copying bytes even if there was an error so that the oob works */
++ memcpy(buf, &(ctrl->addr[(ctrl->index)]), len);
++ ctrl->index += len;
++
++ /* If more data is needed then issue another block read */
++ if (rest) {
++ FCM_DEBUG(3,"fsl_elbc_read_buf: getting %d more bytes.\n",
++ rest);
++
++ buf += len;
++
++ /* keep last status in case it was an error */
++ old_status = ctrl->status;
++
++ /* read full next page to use HW ECC if enabled */
++ fsl_elbc_cmdfunc(mtd, NAND_CMD_READ0, 0, ctrl->page + 1);
++
++ /* preserve the worst status code */
++ if (ctrl->status == LTESR_CC)
++ ctrl->status = old_status;
++
++ fsl_elbc_read_buf(mtd, buf, rest);
++ }
++ return;
++}
++
++
++/*
++ * Verify buffer against the FCM Controller Data Buffer
++ */
++static int fsl_elbc_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ int i;
++ int rest;
++
++ FCM_DEBUG(3,"fsl_elbc_verify_buf: checking %d bytes starting with 0x%02lx.\n",
++ len, *((unsigned long*) buf));
++
++ /* If last read failed then return error bytes */
++ if (ctrl->status != LTESR_CC) {
++ return EFAULT;
++ }
++
++ /* see how much is still in the FCM buffer */
++ i = min((unsigned int)len, (ctrl->read_bytes - ctrl->index));
++ rest = len - i;
++ len = i;
++
++ if (memcmp(buf, &(ctrl->addr[(ctrl->index)]), len)) {
++ return EFAULT;
++ }
++
++ ctrl->index += len;
++ if (rest) {
++ FCM_DEBUG(3,"fsl_elbc_verify_buf: getting %d more bytes.\n", rest);
++ buf += len;
++
++ /* read full next page to use HW ECC if enabled */
++ fsl_elbc_cmdfunc(mtd, NAND_CMD_READ0, 0, ctrl->page + 1);
++
++ return fsl_elbc_verify_buf(mtd, buf, rest);
++ }
++ return 0;
++}
++
++/* this function is called after Program and Erase Operations to
++ * check for success or failure */
++static int fsl_elbc_wait(struct mtd_info *mtd, struct nand_chip *this)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++
++ if (ctrl->status != LTESR_CC) {
++ return(0x1); /* Status Read error */
++ }
++
++ /* Use READ_STATUS command, but wait for the device to be ready */
++ ctrl->use_mdr = 0;
++ ctrl->oobbuf = -1;
++ lbc->fir = (FIR_OP_CW0 << FIR_OP0_SHIFT) |
++ (FIR_OP_RBW << FIR_OP1_SHIFT);
++ lbc->fcr = (NAND_CMD_STATUS << FCR_CMD0_SHIFT);
++ set_addr(mtd, 0, 0, 0);
++ lbc->fbcr = 1;
++ ctrl->index = 0;
++ ctrl->read_bytes = lbc->fbcr;
++ fsl_elbc_run_command(mtd);
++ if (ctrl->status != LTESR_CC) {
++ return(0x1); /* Status Read error */
++ }
++ return chip->read_byte(mtd);
++}
++
++/* ECC handling functions */
++
++/*
++ * fsl_elbc_enable_hwecc - start ECC generation
++ */
++static void fsl_elbc_enable_hwecc(struct mtd_info *mtd, int mode)
++{
++ return;
++}
++
++/*
++ * fsl_elbc_calculate_ecc - Calculate the ECC bytes
++ * This is done by hardware during the write process, so we use this
++ * to arm the oob buf capture on the next write_buf() call. The ECC bytes
++ * only need to be captured if CONFIG_MTD_NAND_VERIFY_WRITE is defined which
++ * reads back the pages and checks they match the data and oob buffers.
++ */
++static int fsl_elbc_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code)
++{
++#ifdef CONFIG_MTD_NAND_VERIFY_WRITE
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++
++ /* arm capture of oob buf ptr on next write_buf */
++ ctrl->oobbuf = 0;
++#endif
++ return 0;
++}
++
++/*
++ * fsl_elbc_correct_data - Detect and correct bit error(s)
++ * The detection and correction is done automatically by the hardware,
++ * if the complete page was read. If the status code is okay then there
++ * was no error, otherwise we return an error code indicating an uncorrectable
++ * error.
++ */
++static int fsl_elbc_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++
++ /* No errors */
++ if (ctrl->status == LTESR_CC)
++ return 0;
++
++ return -1; /* uncorrectable error */
++}
++
++/*************************************************************************/
++/* Chip setup and control functions */
++/*************************************************************************/
++
++/*
++ * Dummy scan_bbt to complete setup of the FMR based on NAND size
++ */
++static int fsl_elbc_chip_init_tail (struct mtd_info *mtd)
++{
++ struct nand_chip *chip = mtd->priv;
++ struct fsl_elbc_mtd *nmtd = chip->priv;
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++ unsigned int i;
++ unsigned int al;
++
++ /* calculate FMR Address Length field */
++ al = 0;
++ for (i = chip->pagemask >> 16; i ; i >>= 8) {
++ al++;
++ }
++
++ /* add to ECCM mode set in fsl_elbc_init */
++ nmtd->fmr |= 12 << FMR_CWTO_SHIFT | /* Timeout > 12 mSecs */
++ al << FMR_AL_SHIFT;
++
++ FCM_DEBUG(1,"fsl_elbc_init: nand->options = %08X\n", chip->options);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->numchips = %10d\n", chip->numchips);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->chipsize = %10ld\n", chip->chipsize);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->pagemask = %10X\n", chip->pagemask);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->chip_delay = %8d\n", chip->chip_delay);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->badblockpos = %7d\n", chip->badblockpos);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->chip_shift = %8d\n", chip->chip_shift);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->page_shift = %8d\n", chip->page_shift);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->phys_erase_shift = %2d\n",
++ chip->phys_erase_shift);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->ecclayout= %10p\n", chip->ecclayout);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->eccmode = %10d\n", chip->ecc.mode );
++ FCM_DEBUG(1,"fsl_elbc_init: nand->eccsteps = %10d\n", chip->ecc.steps);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->eccsize = %10d\n", chip->ecc.size );
++ FCM_DEBUG(1,"fsl_elbc_init: nand->eccbytes = %10d\n", chip->ecc.bytes);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->ecctotal = %10d\n", chip->ecc.total);
++ FCM_DEBUG(1,"fsl_elbc_init: nand->ecclayout= %10p\n", chip->ecc.layout);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->flags = %08X\n", mtd->flags);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->size = %10d\n", mtd->size);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->erasesize = %10d\n", mtd->erasesize);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->writesize = %10d\n", mtd->writesize);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->oobsize = %10d\n", mtd->oobsize);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->ecctype = %10d\n", mtd->ecctype);
++ FCM_DEBUG(1,"fsl_elbc_init: mtd->eccsize = %10d\n", mtd->eccsize);
++
++ /* adjust Option Register and ECC to match Flash page size */
++ if (mtd->writesize == 512)
++ lbc->bank[nmtd->bank].or &= ~(OR_FCM_PGS);
++ else if (mtd->writesize == 2048) {
++ lbc->bank[nmtd->bank].or |= OR_FCM_PGS;
++ /* adjust ecc setup if needed */
++ if ( (lbc->bank[nmtd->bank].br & BR_DECC) == BR_DECC_CHK_GEN) {
++ chip->ecc.size = 2048;
++ chip->ecc.steps = 1;
++//TODO chip->ecc.bytes += 9;
++//TODO chip->ecc.total += 9;
++ chip->ecc.layout = (nmtd->fmr & FMR_ECCM) ?
++ &fsl_elbc_oob_lp_eccm1 : &fsl_elbc_oob_lp_eccm0;
++ mtd->ecclayout = chip->ecc.layout;
++ }
++ }
++ else {
++ printk("fsl_elbc_init: page size %d is not supported\n",
++ mtd->writesize);
++ return -1;
++ }
++ nmtd->pgs = (lbc->bank[nmtd->bank].or>>OR_FCM_PGS_SHIFT) & 1;
++
++ /* fix up the oobavail size in case the layout was changed */
++ chip->ecc.layout->oobavail = 0;
++ for (i = 0; chip->ecc.layout->oobfree[i].length; i++)
++ chip->ecc.layout->oobavail +=
++ chip->ecc.layout->oobfree[i].length;
++
++ /* return to the default bbt_scan_routine */
++ chip->scan_bbt = nand_default_bbt;
++
++ /* restore complete options including the real SKIP_BBTSCAN setting */
++ chip->options = nmtd->options;
++
++ /* Check, if we should skip the bad block table scan */
++ if (chip->options & NAND_SKIP_BBTSCAN)
++ return 0;
++
++ return chip->scan_bbt(mtd);
++}
++/* fsl_elbc_chip_init
++ *
++ * init a single instance of an chip
++*/
++
++static int fsl_elbc_chip_init(struct fsl_elbc_mtd *nmtd)
++{
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++ struct nand_chip *chip = &nmtd->chip;
++
++ FCM_DEBUG(1,"eLBC Set Information for bank %d\n", nmtd->bank);
++ FCM_DEBUG(1," name = %s\n",
++ nmtd->pl_chip.name ? nmtd->pl_chip.name : "(NULL)");
++ FCM_DEBUG(1," nr_chips = %d\n", nmtd->pl_chip.nr_chips);
++ FCM_DEBUG(1," partitions = %s\n",
++ nmtd->pl_chip.partitions_str ?
++ nmtd->pl_chip.partitions_str : "(NULL)");
++ dev_dbg(nmtd->device,"eLBC Set Information for bank %d\n", nmtd->bank);
++ dev_dbg(nmtd->device," name = %s\n",
++ nmtd->name ? nmtd->name : "(NULL)");
++ dev_dbg(nmtd->device," nr_chips = %d\n", nmtd->pl_chip.nr_chips);
++ dev_dbg(nmtd->device," partitions = %s\n",
++ nmtd->pl_chip.partitions_str ?
++ nmtd->pl_chip.partitions_str : "(NULL)");
++
++ /* Fill in fsl_elbc_mtd structure */
++ nmtd->name = (char *) nmtd->pl_chip.name;
++ nmtd->mtd.name = nmtd->name;
++ nmtd->mtd.priv = chip;
++ nmtd->mtd.owner = THIS_MODULE;
++ nmtd->pgs = (lbc->bank[nmtd->bank].or>>OR_FCM_PGS_SHIFT) & 1;
++// TODO nmtd->fmr = FMR_ECCM; /* rest filled in later */
++ nmtd->fmr = 0; /* rest filled in later */
++
++ /* fill in nand_chip structure */
++ /* set physical base address from the Base Register */
++ chip->IO_ADDR_W = (void __iomem*) (nmtd->pbase);
++ chip->IO_ADDR_R = chip->IO_ADDR_W;
++
++ /* set up function call table */
++// chip->hwcontrol = fsl_elbc_hwcontrol;
++ chip->read_byte = fsl_elbc_read_byte;
++ chip->read_word = fsl_elbc_read_word;
++ chip->write_buf = fsl_elbc_write_buf;
++ chip->read_buf = fsl_elbc_read_buf;
++ chip->verify_buf = fsl_elbc_verify_buf;
++ chip->select_chip = fsl_elbc_select_chip;
++// TODO chip->block_bad
++// TODO chip->block_markbad
++ chip->cmd_ctrl = fsl_elbc_cmd_ctrl;
++ chip->dev_ready = fsl_elbc_dev_ready;
++ chip->cmdfunc = fsl_elbc_cmdfunc;
++ chip->waitfunc = fsl_elbc_wait;
++ chip->scan_bbt = fsl_elbc_chip_init_tail;
++// TODO chip->errstat
++
++ /* set up nand options */
++ chip->options = NAND_NO_READRDY;
++ chip->chip_delay = 1;
++
++ chip->controller = &ctrl->controller;
++ chip->priv = nmtd;
++
++ /* If CS Base Register selects full hardware ECC then use it */
++ if ( (lbc->bank[nmtd->bank].br & BR_DECC) == BR_DECC_CHK_GEN) {
++ chip->ecc.mode = NAND_ECC_HW;
++ chip->ecc.calculate = fsl_elbc_calculate_ecc;
++ chip->ecc.correct = fsl_elbc_correct_data;
++ chip->ecc.hwctl = fsl_elbc_enable_hwecc;
++ /* put in small page settings and adjust later if needed */
++ chip->ecc.layout = (nmtd->fmr & FMR_ECCM) ?
++ &fsl_elbc_oob_sp_eccm1 : &fsl_elbc_oob_sp_eccm0;
++ chip->ecc.size = 512;
++ chip->ecc.bytes = 3;
++ } else {
++ /* otherwise fall back to default software ECC */
++ chip->ecc.mode = NAND_ECC_SOFT;
++ }
++
++ /* force BBT scan to get to custom scan_bbt for final settings */
++ nmtd->options = chip->options;
++ chip-> options &= ~(NAND_SKIP_BBTSCAN);
++
++ return 0;
++}
++
++
++
++static int fsl_elbc_chip_remove(struct platform_device *pdev)
++{
++ struct fsl_elbc_mtd *nmtd = platform_get_drvdata(pdev);
++ struct fsl_elbc_ctrl *ctrl = nmtd->ctrl;
++
++ nand_release(&nmtd->mtd);
++
++ if (nmtd->vbase != 0) {
++ iounmap((void __iomem*)nmtd->vbase);
++ nmtd->vbase = 0;
++ }
++
++/* TODO
++ if (nmtd->area != NULL) {
++ release_resource(nmtd->area);
++ kfree(nmtd->area);
++ nmtd->area = NULL;
++ }
++*/
++
++ platform_set_drvdata(pdev, NULL);
++
++ ctrl->nmtd[nmtd->bank] = NULL;
++ atomic_dec(&ctrl->childs_active);
++
++ kfree(nmtd);
++
++ return 0;
++}
++
++#ifdef CONFIG_MTD_PARTITIONS
++const char *part_probes[] = { "cmdlinepart", NULL };
++#endif
++
++static int fsl_elbc_chip_probe(struct platform_device *pdev)
++{
++ struct platform_fsl_nand_chip *pnc = pdev->dev.platform_data;
++ struct fsl_elbc_ctrl *ctrl = &elbc_ctrl;
++ volatile lbus83xx_t *lbc = ctrl->regs;
++ struct fsl_elbc_mtd *nmtd;
++ struct resource *res;
++ int err = 0;
++ int size;
++ int bank;
++ int mtd_parts_nb = 0;
++ struct mtd_partition *mtd_parts = 0;
++
++ dev_dbg(&pdev->dev, "fsl_elbc_chip_probe(%p)\n", pdev);
++
++ /* check that the platform data structure was supplied */
++ if (pnc == NULL) {
++ dev_err(&pdev->dev,"Device needs a platform data structure\n");
++ return -ENOENT;
++ }
++
++ /* check that the device has a name */
++ if (pnc->name == NULL) {
++ dev_err(&pdev->dev,"Device requires a name\n");
++ return -ENOENT;
++ }
++ /* get, allocate and map the memory resource */
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (res == NULL) {
++ dev_err(&pdev->dev,"failed to get memory region resource\n");
++ return -ENOENT;
++ }
++ /* find which chip select it is connected to */
++ for (bank=0; bank < MAX_BANKS; bank++) {
++ if ( (lbc->bank[bank].br & BR_V) &&
++ ((lbc->bank[bank].br & BR_MSEL) == BR_MS_FCM) &&
++ ((lbc->bank[bank].br & lbc->bank[bank].or & BR_BA) ==
++ res->start) ) {
++ break;
++ }
++ }
++
++ if (bank >= MAX_BANKS) {
++ dev_err(&pdev->dev,"address did not match any chip selects\n");
++ return -ENOENT;
++ }
++
++ nmtd = kmalloc (sizeof(*nmtd), GFP_KERNEL);
++ if (!nmtd) {
++ dev_err(ctrl->device, "no memory for nand chip structure\n");
++ return -ENOMEM;
++ }
++ memset(nmtd, 0, sizeof(*nmtd));
++
++ platform_set_drvdata(pdev, nmtd);
++
++ atomic_inc(&ctrl->childs_active);
++ if (pnc)
++ memcpy(&(nmtd->pl_chip), pnc, sizeof(*pnc));
++ ctrl->nmtd[bank] = nmtd;
++ nmtd->bank = bank;
++ nmtd->ctrl = ctrl;
++ nmtd->device = &pdev->dev;
++
++ size = ( res->end - res->start ) + 1;
++/* TODO - already requested by the elbc instance ?????
++ ctrl->area = request_mem_region(res->start, size, pdev->name);
++ if (ctrl->area == NULL) {
++ dev_err(&pdev->dev, "failed to get memory region\n");
++ err = -ENOENT;
++ goto exit_error;
++ }
++*/
++ nmtd->pbase = res->start;
++ nmtd->vbase = (unsigned int) ioremap(nmtd->pbase, FCM_SIZE);
++ if (nmtd->vbase == 0) {
++ dev_err(ctrl->device, "failed to ioremap() memory region\n");
++ err = -EIO;
++ goto exit_error;
++ }
++
++ err = fsl_elbc_chip_init(nmtd);
++ if (err != 0)
++ goto exit_error;
++
++ err = nand_scan(&nmtd->mtd,
++ nmtd->pl_chip.nr_chips ? nmtd->pl_chip.nr_chips : 1 );
++ if (err != 0)
++ goto exit_error;
++
++#ifdef CONFIG_MTD_PARTITIONS
++ /* check for command line partition information */
++ if (!(nmtd->pl_chip.options & FSL_ELBC_NO_CMDLINE_PARTITIONS))
++ mtd_parts_nb = parse_mtd_partitions(
++ &nmtd->mtd,
++ part_probes,
++ &mtd_parts,
++ 0);
++#if 0
++ /* otherwise try local partition string */
++ if (mtd_parts_nb <= 0 && nmtd->pl_chip.partitions_str)
++ mtd_parts_nb = parse_mtd_string_partitions(
++ &nmtd->mtd,
++ part_probes,
++ &mtd_parts,
++ 0,
++ nmtd->pl_chip.partitions_str);
++#endif
++ if (mtd_parts_nb > 0)
++ err = add_mtd_partitions(&nmtd->mtd,
++ mtd_parts,
++ mtd_parts_nb);
++ else
++#endif
++ err = add_mtd_device(&nmtd->mtd);
++
++ if (err == 0)
++ return 0;
++
++ exit_error:
++ fsl_elbc_chip_remove(pdev);
++
++ if (err == 0)
++ err = -EINVAL;
++ return err;
++}
++
++
++/**************************************************************************/
++/* Controller setup and control functions */
++/**************************************************************************/
++
++static int fsl_elbc_ctrl_init(struct fsl_elbc_ctrl *ctrl,
++ struct platform_device *pdev)
++{
++ volatile lbus83xx_t *lbc= (lbus83xx_t*) ctrl->regs;
++
++ /* Enable only FCM detection of timeouts, ECC errors and completion */
++ lbc->ltedr = ~(LTESR_FCT | LTESR_PAR | LTESR_CC);
++
++ /* clear event registers */
++ lbc->lteatr = 0;
++ lbc->ltesr |= (LTESR_FCT | LTESR_PAR | LTESR_CC);
++
++ /* Enable interrupts for any detected events */
++ lbc->lteir = ~0;
++
++ ctrl->read_bytes = 0;
++ ctrl->index = 0;
++ ctrl->addr = (unsigned char*) (NULL);
++ ctrl->oobbuf = -1;
++
++ return 0;
++}
++
++static int fsl_elbc_ctrl_remove(struct platform_device *pdev)
++{
++ struct fsl_elbc_ctrl *ctrl = platform_get_drvdata(pdev);
++
++ if (atomic_read(&ctrl->childs_active))
++ return -EBUSY;
++
++ if (ctrl->regs != NULL) {
++ iounmap(ctrl->regs);
++ ctrl->regs = NULL;
++ }
++
++/* TODO
++ if (ctrl->area != NULL) {
++ release_resource(ctrl->area);
++ kfree(ctrl->area);
++ ctrl->area = NULL;
++ }
++*/
++ if (ctrl->irq) {
++ free_irq(ctrl->irq, pdev);
++ ctrl->irq = 0;
++ }
++
++ platform_set_drvdata(pdev, NULL);
++ memset(ctrl, 0, sizeof(*ctrl));
++
++ return 0;
++}
++
++
++/* interrupt handler code */
++
++static irqreturn_t fsl_elbc_ctrl_irq(int irqno, void *param)
++{
++ struct fsl_elbc_ctrl *ctrl = platform_get_drvdata((struct platform_device*)param);
++ volatile lbus83xx_t *lbc= (lbus83xx_t*) ctrl->regs;
++
++ ctrl->irq_status = lbc->ltesr & (LTESR_FCT | LTESR_PAR | LTESR_CC);
++ if (ctrl->irq_status)
++ wake_up(&ctrl->irq_wait);
++
++ /* clear event registers */
++ lbc->lteatr = 0;
++ lbc->ltesr |= ctrl->irq_status;
++
++ return IRQ_HANDLED;
++}
++
++
++/* fsl_elbc_ctrl_probe
++ *
++ * called by device layer when it finds a device matching
++ * one our driver can handled. This code allocates all of
++ * the resources needed for the controller only. The
++ * resources for the NAND banks themselves are allocated
++ * in the chip probe function.
++*/
++
++static int fsl_elbc_ctrl_probe(struct platform_device *pdev)
++{
++ struct fsl_elbc_ctrl *ctrl;
++ struct resource *res;
++ int err = 0;
++ int size;
++ int ret;
++
++ dev_dbg(&pdev->dev, "fsl_elbc_ctrl_probe(%p)\n", pdev);
++ ctrl = &elbc_ctrl;
++
++ memset(ctrl, 0, sizeof(*ctrl));
++ platform_set_drvdata(pdev, ctrl);
++
++ spin_lock_init(&ctrl->controller.lock);
++ init_waitqueue_head(&ctrl->controller.wq);
++ init_waitqueue_head(&ctrl->irq_wait);
++
++ /* get, allocate and map the memory resource */
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (res == NULL) {
++ dev_err(&pdev->dev,"failed to get memory region resouce\n");
++ err = -ENOENT;
++ goto exit_error;
++ }
++
++ size = ( res->end - res->start ) + 1;
++/* TODO - already requested by the elbc instance ?????
++ ctrl->area = request_mem_region(res->start, size, pdev->name);
++ if (ctrl->area == NULL) {
++ dev_err(&pdev->dev, "failed to get memory region\n");
++ err = -ENOENT;
++ goto exit_error;
++ }
++*/
++ ctrl->regs = ioremap(res->start, size);
++ if (ctrl->regs == 0) {
++ dev_err(&pdev->dev, "failed to ioremap() region\n");
++ err = -EIO;
++ goto exit_error;
++ }
++
++ /* get and allocate the irq resource */
++ res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
++ if (res == NULL) {
++ dev_err(&pdev->dev, "failed to get irq resource\n");
++ err = -ENOENT;
++ goto exit_error;
++ }
++
++ ret = request_irq(res->start, fsl_elbc_ctrl_irq, 0, pdev->name, pdev);
++ if (ret != 0) {
++ dev_err(&pdev->dev, "failed to install irq (%d)\n", ret);
++ err = -EIO;
++ goto exit_error;
++ }
++
++ ctrl->irq = res->start;
++ ctrl->device = &pdev->dev;
++ dev_dbg(&pdev->dev, "mapped registers at %p\n", ctrl->regs);
++
++ /* initialise the hardware */
++
++ err = fsl_elbc_ctrl_init(ctrl, pdev);
++ if (err == 0)
++ return 0;
++
++ exit_error:
++ fsl_elbc_ctrl_remove(pdev);
++
++ if (err == 0)
++ err = -EINVAL;
++ return err;
++}
++
++/* PM Support */
++#ifdef CONFIG_PM
++
++static int fsl_elbc_ctrl_suspend(struct platform_device *dev, pm_message_t pm)
++{
++ return 0;
++}
++
++static int fsl_elbc_ctrl_resume(struct platform_device *dev)
++{
++ return 0;
++}
++
++#else
++#define fsl_elbc_ctrl_suspend NULL
++#define fsl_elbc_ctrl_resume NULL
++#endif
++
++/*************************************************************************/
++/* device driver registration */
++/*************************************************************************/
++
++
++static struct platform_driver fsl_elbc_ctrl_driver = {
++ .probe = fsl_elbc_ctrl_probe,
++ .remove = fsl_elbc_ctrl_remove,
++ .suspend = fsl_elbc_ctrl_suspend,
++ .resume = fsl_elbc_ctrl_resume,
++ .driver = {
++ .name = "fsl-elbc",
++ .owner = THIS_MODULE,
++ },
++};
++
++static struct platform_driver fsl_elbc_chip_driver = {
++ .probe = fsl_elbc_chip_probe,
++ .remove = fsl_elbc_chip_remove,
++ .driver = {
++ .name = "fsl-nand",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init fsl_elbc_init(void)
++{
++ int ret;
++
++ printk("Freescale eLBC NAND Driver (C) 2006 Freescale\n");
++
++ ret = platform_driver_register(&fsl_elbc_ctrl_driver);
++ if (!ret)
++ ret = platform_driver_register(&fsl_elbc_chip_driver);
++
++ return ret;
++}
++
++static void __exit fsl_elbc_exit(void)
++{
++ platform_driver_unregister(&fsl_elbc_chip_driver);
++ platform_driver_unregister(&fsl_elbc_ctrl_driver);
++}
++
++module_init(fsl_elbc_init);
++module_exit(fsl_elbc_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Nick Spence");
++MODULE_DESCRIPTION("Freescale Enhanced Local Bus Controller MTD NAND driver");
+diff -urN linux-2.6.24.orig/drivers/mtd/nand/Kconfig linux-2.6.24/drivers/mtd/nand/Kconfig
+--- linux-2.6.24.orig/drivers/mtd/nand/Kconfig 2008-01-24 23:58:37.000000000 +0100
++++ linux-2.6.24/drivers/mtd/nand/Kconfig 2008-02-18 16:39:43.000000000 +0100
+@@ -284,6 +284,14 @@
+ depends on MTD_NAND && MACH_ARMCORE
+
+
++config MTD_NAND_FSL_ELBC
++ tristate "NAND support for MPC831x"
++ depends on MTD_NAND && PPC_MPC831x
++ help
++ The MPC831x includes a NAND FLASH Controller Module with built-in hardware
++ ECC capabilities. Enabling this This option will enable you to use these to
++ control external NAND device.
++
+ config MTD_NAND_NANDSIM
+ tristate "Support for NAND Flash Simulator"
+ depends on MTD_PARTITIONS
+diff -urN linux-2.6.24.orig/drivers/mtd/nand/Makefile linux-2.6.24/drivers/mtd/nand/Makefile
+--- linux-2.6.24.orig/drivers/mtd/nand/Makefile 2008-01-24 23:58:37.000000000 +0100
++++ linux-2.6.24/drivers/mtd/nand/Makefile 2008-02-18 16:40:08.000000000 +0100
+@@ -29,5 +29,6 @@
+ obj-$(CONFIG_MTD_NAND_BASLER_EXCITE) += excite_nandflash.o
+ obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
+ obj-$(CONFIG_MTD_ALAUDA) += alauda.o
++obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc.o
+
+ nand-objs := nand_base.o nand_bbt.o
+diff -urN linux-2.6.24.orig/include/linux/mtd/fsl_elbc.h linux-2.6.24/include/linux/mtd/fsl_elbc.h
+--- linux-2.6.24.orig/include/linux/mtd/fsl_elbc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.24/include/linux/mtd/fsl_elbc.h 2008-02-18 16:39:43.000000000 +0100
+@@ -0,0 +1,313 @@
++/*
++ * (C) Copyright 2004-2006 Freescale Semiconductor, Inc.
++ *
++ * Freescale Enhanced Local Bus Controller Internal Memory Map
++ *
++ * History :
++ * 20061010 : Extracted fomr immap_83xx.h
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ *
++ */
++#ifdef __KERNEL__
++#ifndef __FSL_ELBC__
++#define __FSL_ELBC__
++
++/*
++ * Local Bus Controller Registers
++ */
++typedef struct lbus_bank{
++ u32 br; /**< Base Register */
++#define BR0 0x5000
++#define BR1 0x5008
++#define BR2 0x5010
++#define BR3 0x5018
++#define BR4 0x5020
++#define BR5 0x5028
++#define BR6 0x5030
++#define BR7 0x5038
++
++#define BR_BA 0xFFFF8000
++#define BR_BA_SHIFT 15
++#define BR_PS 0x00001800
++#define BR_PS_SHIFT 11
++#define BR_PS_8 0x00000800 /* Port Size 8 bit */
++#define BR_PS_16 0x00001000 /* Port Size 16 bit */
++#define BR_PS_32 0x00001800 /* Port Size 32 bit */
++#define BR_DECC 0x00000600
++#define BR_DECC_SHIFT 9
++#define BR_DECC_OFF 0x00000000 /* HW ECC checking and generation off */
++#define BR_DECC_CHK 0x00000200 /* HW ECC checking on, generation off */
++#define BR_DECC_CHK_GEN 0x00000400 /* HW ECC checking and generation on */
++#define BR_WP 0x00000100
++#define BR_WP_SHIFT 8
++#define BR_MSEL 0x000000E0
++#define BR_MSEL_SHIFT 5
++#define BR_MS_GPCM 0x00000000 /* GPCM */
++#define BR_MS_FCM 0x00000020 /* FCM */
++#define BR_MS_SDRAM 0x00000060 /* SDRAM */
++#define BR_MS_UPMA 0x00000080 /* UPMA */
++#define BR_MS_UPMB 0x000000A0 /* UPMB */
++#define BR_MS_UPMC 0x000000C0 /* UPMC */
++#define BR_V 0x00000001
++#define BR_V_SHIFT 0
++#define BR_RES ~(BR_BA|BR_PS|BR_DECC|BR_WP|BR_MSEL|BR_V)
++
++ u32 or; /**< Base Register */
++#define OR0 0x5004
++#define OR1 0x500C
++#define OR2 0x5014
++#define OR3 0x501C
++#define OR4 0x5024
++#define OR5 0x502C
++#define OR6 0x5034
++#define OR7 0x503C
++
++#define OR_GPCM_AM 0xFFFF8000
++#define OR_GPCM_AM_SHIFT 15
++#define OR_GPCM_BCTLD 0x00001000
++#define OR_GPCM_BCTLD_SHIFT 12
++#define OR_GPCM_CSNT 0x00000800
++#define OR_GPCM_CSNT_SHIFT 11
++#define OR_GPCM_ACS 0x00000600
++#define OR_GPCM_ACS_SHIFT 9
++#define OR_GPCM_ACS_0b10 0x00000400
++#define OR_GPCM_ACS_0b11 0x00000600
++#define OR_GPCM_XACS 0x00000100
++#define OR_GPCM_XACS_SHIFT 8
++#define OR_GPCM_SCY 0x000000F0
++#define OR_GPCM_SCY_SHIFT 4
++#define OR_GPCM_SCY_1 0x00000010
++#define OR_GPCM_SCY_2 0x00000020
++#define OR_GPCM_SCY_3 0x00000030
++#define OR_GPCM_SCY_4 0x00000040
++#define OR_GPCM_SCY_5 0x00000050
++#define OR_GPCM_SCY_6 0x00000060
++#define OR_GPCM_SCY_7 0x00000070
++#define OR_GPCM_SCY_8 0x00000080
++#define OR_GPCM_SCY_9 0x00000090
++#define OR_GPCM_SCY_10 0x000000a0
++#define OR_GPCM_SCY_11 0x000000b0
++#define OR_GPCM_SCY_12 0x000000c0
++#define OR_GPCM_SCY_13 0x000000d0
++#define OR_GPCM_SCY_14 0x000000e0
++#define OR_GPCM_SCY_15 0x000000f0
++#define OR_GPCM_SETA 0x00000008
++#define OR_GPCM_SETA_SHIFT 3
++#define OR_GPCM_TRLX 0x00000004
++#define OR_GPCM_TRLX_SHIFT 2
++#define OR_GPCM_EHTR 0x00000002
++#define OR_GPCM_EHTR_SHIFT 1
++#define OR_GPCM_EAD 0x00000001
++#define OR_GPCM_EAD_SHIFT 0
++
++#define OR_UPM_AM 0xFFFF8000
++#define OR_UPM_AM_SHIFT 15
++#define OR_UPM_XAM 0x00006000
++#define OR_UPM_XAM_SHIFT 13
++#define OR_UPM_BCTLD 0x00001000
++#define OR_UPM_BCTLD_SHIFT 12
++#define OR_UPM_BI 0x00000100
++#define OR_UPM_BI_SHIFT 8
++#define OR_UPM_TRLX 0x00000004
++#define OR_UPM_TRLX_SHIFT 2
++#define OR_UPM_EHTR 0x00000002
++#define OR_UPM_EHTR_SHIFT 1
++#define OR_UPM_EAD 0x00000001
++#define OR_UPM_EAD_SHIFT 0
++
++#define OR_SDRAM_AM 0xFFFF8000
++#define OR_SDRAM_AM_SHIFT 15
++#define OR_SDRAM_XAM 0x00006000
++#define OR_SDRAM_XAM_SHIFT 13
++#define OR_SDRAM_COLS 0x00001C00
++#define OR_SDRAM_COLS_SHIFT 10
++#define OR_SDRAM_ROWS 0x000001C0
++#define OR_SDRAM_ROWS_SHIFT 6
++#define OR_SDRAM_PMSEL 0x00000020
++#define OR_SDRAM_PMSEL_SHIFT 5
++#define OR_SDRAM_EAD 0x00000001
++#define OR_SDRAM_EAD_SHIFT 0
++
++#define OR_FCM_AM 0xFFFF8000
++#define OR_FCM_AM_SHIFT 15
++#define OR_FCM_BCTLD 0x00001000
++#define OR_FCM_BCTLD_SHIFT 12
++#define OR_FCM_PGS 0x00000400
++#define OR_FCM_PGS_SHIFT 10
++#define OR_FCM_CSCT 0x00000200
++#define OR_FCM_CSCT_SHIFT 9
++#define OR_FCM_CST 0x00000100
++#define OR_FCM_CST_SHIFT 8
++#define OR_FCM_CHT 0x00000080
++#define OR_FCM_CHT_SHIFT 7
++#define OR_FCM_SCY 0x00000070
++#define OR_FCM_SCY_SHIFT 4
++#define OR_FCM_SCY_1 0x00000010
++#define OR_FCM_SCY_2 0x00000020
++#define OR_FCM_SCY_3 0x00000030
++#define OR_FCM_SCY_4 0x00000040
++#define OR_FCM_SCY_5 0x00000050
++#define OR_FCM_SCY_6 0x00000060
++#define OR_FCM_SCY_7 0x00000070
++#define OR_FCM_RST 0x00000008
++#define OR_FCM_RST_SHIFT 3
++#define OR_FCM_TRLX 0x00000004
++#define OR_FCM_TRLX_SHIFT 2
++#define OR_FCM_EHTR 0x00000002
++#define OR_FCM_EHTR_SHIFT 1
++} lbus_bank_t;
++
++typedef struct lbus83xx {
++ lbus_bank_t bank[8];
++ u8 res0[0x28];
++ u32 mar; /**< UPM Address Register */
++ u8 res1[0x4];
++ u32 mamr; /**< UPMA Mode Register */
++ u32 mbmr; /**< UPMB Mode Register */
++ u32 mcmr; /**< UPMC Mode Register */
++ u8 res2[0x8];
++ u32 mrtpr; /**< Memory Refresh Timer Prescaler Register */
++ u32 mdr; /**< UPM Data Register */
++ u8 res3[0x4];
++ u32 lsor; /**< Special Operation Initiation Register */
++ u32 lsdmr; /**< SDRAM Mode Register */
++ u8 res4[0x8];
++ u32 lurt; /**< UPM Refresh Timer */
++ u32 lsrt; /**< SDRAM Refresh Timer */
++ u8 res5[0x8];
++ u32 ltesr; /**< Transfer Error Status Register */
++#define LTESR_BM 0x80000000
++#define LTESR_FCT 0x40000000
++#define LTESR_PAR 0x20000000
++#define LTESR_WP 0x04000000
++#define LTESR_ATMW 0x00800000
++#define LTESR_ATMR 0x00400000
++#define LTESR_CS 0x00080000
++#define LTESR_CC 0x00000001
++ u32 ltedr; /**< Transfer Error Disable Register */
++ u32 lteir; /**< Transfer Error Interrupt Register */
++ u32 lteatr; /**< Transfer Error Attributes Register */
++ u32 ltear; /**< Transfer Error Address Register */
++ u8 res6[0xC];
++ u32 lbcr; /**< Configuration Register */
++#define LBCR_LDIS 0x80000000
++#define LBCR_LDIS_SHIFT 31
++#define LBCR_BCTLC 0x00C00000
++#define LBCR_BCTLC_SHIFT 22
++#define LBCR_AHD 0x00200000
++#define LBCR_LPBSE 0x00020000
++#define LBCR_LPBSE_SHIFT 17
++#define LBCR_EPAR 0x00010000
++#define LBCR_EPAR_SHIFT 16
++#define LBCR_BMT 0x0000FF00
++#define LBCR_BMT_SHIFT 8
++#define LBCR_INIT 0x00040000
++ u32 lcrr; /**< Clock Ratio Register */
++#define LCRR_DBYP 0x80000000
++#define LCRR_DBYP_SHIFT 31
++#define LCRR_BUFCMDC 0x30000000
++#define LCRR_BUFCMDC_SHIFT 28
++#define LCRR_ECL 0x03000000
++#define LCRR_ECL_SHIFT 24
++#define LCRR_EADC 0x00030000
++#define LCRR_EADC_SHIFT 16
++#define LCRR_CLKDIV 0x0000000F
++#define LCRR_CLKDIV_SHIFT 0
++ u8 res7[0x8];
++ u32 fmr; /**< Flash Mode Register */
++#define FMR_CWTO 0x0000F000
++#define FMR_CWTO_SHIFT 12
++#define FMR_BOOT 0x00000800
++#define FMR_ECCM 0x00000100
++#define FMR_AL 0x00000030
++#define FMR_AL_SHIFT 4
++#define FMR_OP 0x00000003
++#define FMR_OP_SHIFT 0
++ u32 fir; /**< Flash Instruction Register */
++#define FIR_OP0 0xF0000000
++#define FIR_OP0_SHIFT 28
++#define FIR_OP1 0x0F000000
++#define FIR_OP1_SHIFT 24
++#define FIR_OP2 0x00F00000
++#define FIR_OP2_SHIFT 20
++#define FIR_OP3 0x000F0000
++#define FIR_OP3_SHIFT 16
++#define FIR_OP4 0x0000F000
++#define FIR_OP4_SHIFT 12
++#define FIR_OP5 0x00000F00
++#define FIR_OP5_SHIFT 8
++#define FIR_OP6 0x000000F0
++#define FIR_OP6_SHIFT 4
++#define FIR_OP7 0x0000000F
++#define FIR_OP7_SHIFT 0
++#define FIR_OP_NOP 0x0 /* No operation and end of sequence */
++#define FIR_OP_CA 0x1 /* Issue current column address */
++#define FIR_OP_PA 0x2 /* Issue current block+page address */
++#define FIR_OP_UA 0x3 /* Issue user defined address */
++#define FIR_OP_CM0 0x4 /* Issue command from FCR[CMD0] */
++#define FIR_OP_CM1 0x5 /* Issue command from FCR[CMD1] */
++#define FIR_OP_CM2 0x6 /* Issue command from FCR[CMD2] */
++#define FIR_OP_CM3 0x7 /* Issue command from FCR[CMD3] */
++#define FIR_OP_WB 0x8 /* Write FBCR bytes from FCM buffer */
++#define FIR_OP_WS 0x9 /* Write 1 or 2 bytes from MDR[AS] */
++#define FIR_OP_RB 0xA /* Read FBCR bytes to FCM buffer */
++#define FIR_OP_RS 0xB /* Read 1 or 2 bytes to MDR[AS] */
++#define FIR_OP_CW0 0xC /* Wait then issue FCR[CMD0] */
++#define FIR_OP_CW1 0xD /* Wait then issue FCR[CMD1] */
++#define FIR_OP_RBW 0xE /* Wait then read FBCR bytes */
++#define FIR_OP_RSW 0xE /* Wait then read 1 or 2 bytes */
++ u32 fcr; /**< Flash Command Register */
++#define FCR_CMD0 0xFF000000
++#define FCR_CMD0_SHIFT 24
++#define FCR_CMD1 0x00FF0000
++#define FCR_CMD1_SHIFT 16
++#define FCR_CMD2 0x0000FF00
++#define FCR_CMD2_SHIFT 8
++#define FCR_CMD3 0x000000FF
++#define FCR_CMD3_SHIFT 0
++ u32 fbar; /**< Flash Block Address Register */
++#define FBAR_BLK 0x00FFFFFF
++ u32 fpar; /**< Flash Page Address Register */
++#define FPAR_SP_PI 0x00007C00
++#define FPAR_SP_PI_SHIFT 10
++#define FPAR_SP_MS 0x00000200
++#define FPAR_SP_CI 0x000001FF
++#define FPAR_SP_CI_SHIFT 0
++#define FPAR_LP_PI 0x0003F000
++#define FPAR_LP_PI_SHIFT 12
++#define FPAR_LP_MS 0x00000800
++#define FPAR_LP_CI 0x000007FF
++#define FPAR_LP_CI_SHIFT 0
++ u32 fbcr; /**< Flash Byte Count Register */
++#define FBCR_BC 0x00000FFF
++ u8 res11[0x8];
++ u8 res8[0xF00];
++} lbus83xx_t;
++
++struct platform_fsl_nand_chip {
++ const char *name;
++ int nr_chips;
++ const char *partitions_str;
++ unsigned int options;
++};
++
++/* Setting this option prevents the command line from being parsed
++ * for MTD partitions. */
++#define FSL_ELBC_NO_CMDLINE_PARTITIONS 0x10000000
++
++#endif /* __FSL_ELBC__ */
++#endif /* __KERNEL__ */
diff --git a/packages/linux/linux-2.6.24/powerpc-clockres.patch b/packages/linux/linux-2.6.24/powerpc-clockres.patch
new file mode 100644
index 0000000000..a0cf05b44e
--- /dev/null
+++ b/packages/linux/linux-2.6.24/powerpc-clockres.patch
@@ -0,0 +1,47 @@
+Index: linux-2.6.24/arch/powerpc/kernel/asm-offsets.c
+===================================================================
+--- linux-2.6.24.orig/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:09.000000000 +0100
++++ linux-2.6.24/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:30.000000000 +0100
+@@ -312,7 +312,7 @@
+ DEFINE(CLOCK_REALTIME, CLOCK_REALTIME);
+ DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC);
+ DEFINE(NSEC_PER_SEC, NSEC_PER_SEC);
+- DEFINE(CLOCK_REALTIME_RES, TICK_NSEC);
++ DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
+
+ #ifdef CONFIG_BUG
+ DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry));
+Index: linux-2.6.24/include/linux/hrtimer.h
+===================================================================
+--- linux-2.6.24.orig/include/linux/hrtimer.h 2008-02-16 13:54:09.000000000 +0100
++++ linux-2.6.24/include/linux/hrtimer.h 2008-02-16 13:54:33.000000000 +0100
+@@ -223,11 +223,13 @@
+ * idea of the (in)accuracy of timers. Timer values are rounded up to
+ * this resolution values.
+ */
+-# define KTIME_HIGH_RES (ktime_t) { .tv64 = 1 }
++# define HIGH_RES_NSEC 1
++# define KTIME_HIGH_RES (ktime_t) { .tv64 = HIGH_RES_NSEC }
++# define MONOTONIC_RES_NSEC HIGH_RES_NSEC
+ # define KTIME_MONOTONIC_RES KTIME_HIGH_RES
+
+ #else
+-
++# define MONOTONIC_RES_NSEC LOW_RES_NSEC
+ # define KTIME_MONOTONIC_RES KTIME_LOW_RES
+
+ /*
+Index: linux-2.6.24/include/linux/ktime.h
+===================================================================
+--- linux-2.6.24.orig/include/linux/ktime.h 2008-02-16 13:54:09.000000000 +0100
++++ linux-2.6.24/include/linux/ktime.h 2008-02-16 13:54:36.000000000 +0100
+@@ -316,7 +316,8 @@
+ * idea of the (in)accuracy of timers. Timer values are rounded up to
+ * this resolution values.
+ */
+-#define KTIME_LOW_RES (ktime_t){ .tv64 = TICK_NSEC }
++#define LOW_RES_NSEC TICK_NSEC
++#define KTIME_LOW_RES (ktime_t){ .tv64 = LOW_RES_NSEC }
+
+ /* Get the monotonic time in timespec format: */
+ extern void ktime_get_ts(struct timespec *ts);
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig
index 68dcdf1804..0b4d4b28b8 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/asus620/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:48 2008
+# Fri Feb 15 01:08:05 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -258,6 +258,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig
index 1f9a9ad638..16b6596d2c 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/asus730/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:48 2008
+# Fri Feb 15 01:08:05 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -264,6 +264,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig
index 85cf68496d..f89fe4ffad 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/aximx50/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:49 2008
+# Fri Feb 15 01:08:05 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -258,6 +258,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig
index 4ace93c863..3fabe34070 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/eteng500/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:49 2008
+# Fri Feb 15 01:08:06 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -265,6 +265,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# Floating point emulation
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig
index 3f7b0aa8bf..6e73e44faf 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h1910/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:50 2008
+# Fri Feb 15 01:08:06 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -256,6 +256,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig
index c1945adbce..7c8e756060 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h2200/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:50 2008
+# Fri Feb 15 01:08:07 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -264,6 +264,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig
index 1efdee2b39..3b566efffc 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3600/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:50 2008
+# Fri Feb 15 01:08:07 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -236,6 +236,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig
index f30b2dd0ab..e8dcf46931 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3800/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:51 2008
+# Fri Feb 15 01:08:07 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -234,6 +234,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig
index da93637bd6..b05e1f6c74 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:51 2008
+# Fri Feb 15 01:08:08 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -257,6 +257,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig
index 3102d3ff87..5d7a7cde32 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h4000/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:52 2008
+# Fri Feb 15 01:08:08 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -270,6 +270,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig
index 09de261d0d..3780728e66 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/h5000/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:52 2008
+# Fri Feb 15 01:08:09 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -258,6 +258,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig
index de5d0ffb2f..3f2bfd45a9 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcalpine/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:53 2008
+# Fri Feb 15 01:08:10 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -256,6 +256,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig
index ed08623f98..a748acdcda 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcapache/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:54 2008
+# Fri Feb 15 01:08:10 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -256,6 +256,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig
index ed123c7686..3544a52c42 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcbeetles/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:54 2008
+# Fri Feb 15 01:08:11 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -260,6 +260,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig
index 78c8121dd7..4db13f11e9 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcblueangel/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:54 2008
+# Fri Feb 15 01:08:11 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -277,6 +277,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig
index d52ff1f91a..2035e2de39 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htchimalaya/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:55 2008
+# Fri Feb 15 01:08:12 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -258,6 +258,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig
index e8f3b4875a..7e2204f7d9 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcsable/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:55 2008
+# Fri Feb 15 01:08:12 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -260,6 +260,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig
index d7432214b6..d967d9252e 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcuniversal/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:56 2008
+# Fri Feb 15 01:08:13 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -267,6 +267,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig
index 0cc90ff40e..1744bbf8d6 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/htcwallaby/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:56 2008
+# Fri Feb 15 01:08:13 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -233,6 +233,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig
index 44e63f2e4e..5998f99db6 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/hx4700/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:53 2008
+# Fri Feb 15 01:08:09 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -272,6 +272,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch b/packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch
new file mode 100644
index 0000000000..f3c27d33a8
--- /dev/null
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch
@@ -0,0 +1,144 @@
+From: Bill Gatliff <bgat@billgatliff.com>
+Date: Thu, 31 May 2007 21:02:22 +0000 (+0100)
+Subject: [ARM] 4423/1: add ATAGS support
+X-Git-Tag: v2.6.23-rc1~1101^2^7~5
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a
+
+[ARM] 4423/1: add ATAGS support
+
+Examines the ATAGS pointer (r2) at boot, and interprets
+a nonzero value as a reference to an ATAGS structure. A
+suitable ATAGS structure replaces the kernel's command line.
+
+Signed-off-by: Bill Gatliff <bgat@billgatliff.com>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+
+diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S
+index a52da0d..024a9cf 100644
+--- a/arch/arm/kernel/head-common.S
++++ b/arch/arm/kernel/head-common.S
+@@ -20,7 +20,8 @@ __switch_data:
+ .long _end @ r7
+ .long processor_id @ r4
+ .long __machine_arch_type @ r5
+- .long cr_alignment @ r6
++ .long __atags_pointer @ r6
++ .long cr_alignment @ r7
+ .long init_thread_union + THREAD_START_SP @ sp
+
+ /*
+@@ -29,6 +30,7 @@ __switch_data:
+ *
+ * r0 = cp#15 control register
+ * r1 = machine ID
++ * r2 = atags pointer
+ * r9 = processor ID
+ */
+ .type __mmap_switched, %function
+@@ -47,11 +49,12 @@ __mmap_switched:
+ strcc fp, [r6],#4
+ bcc 1b
+
+- ldmia r3, {r4, r5, r6, sp}
++ ldmia r3, {r4, r5, r6, r7, sp}
+ str r9, [r4] @ Save processor ID
+ str r1, [r5] @ Save machine type
++ str r2, [r6] @ Save atags pointer
+ bic r4, r0, #CR_A @ Clear 'A' bit
+- stmia r6, {r0, r4} @ Save control register values
++ stmia r7, {r0, r4} @ Save control register values
+ b start_kernel
+
+ /*
+@@ -215,3 +218,34 @@ ENTRY(lookup_machine_type)
+ bl __lookup_machine_type
+ mov r0, r5
+ ldmfd sp!, {r4 - r6, pc}
++
++/* Determine validity of the r2 atags pointer. The heuristic requires
++ * that the pointer be aligned, in the first 16k of physical RAM and
++ * that the ATAG_CORE marker is first and present. Future revisions
++ * of this function may be more lenient with the physical address and
++ * may also be able to move the ATAGS block if necessary.
++ *
++ * r8 = machinfo
++ *
++ * Returns:
++ * r2 either valid atags pointer, or zero
++ * r5, r6 corrupted
++ */
++
++ .type __vet_atags, %function
++__vet_atags:
++ tst r2, #0x3 @ aligned?
++ bne 1f
++
++ ldr r5, [r2, #0] @ is first tag ATAG_CORE?
++ subs r5, r5, #ATAG_CORE_SIZE
++ bne 1f
++ ldr r5, [r2, #4]
++ ldr r6, =ATAG_CORE
++ cmp r5, r6
++ bne 1f
++
++ mov pc, lr @ atag pointer is ok
++
++1: mov r2, #0
++ mov pc, lr
+diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
+index 41f98b4..7898cbc 100644
+--- a/arch/arm/kernel/head.S
++++ b/arch/arm/kernel/head.S
+@@ -29,6 +29,10 @@
+ #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET)
+ #define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET)
+
++#define ATAG_CORE 0x54410001
++#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
++
++
+ /*
+ * swapper_pg_dir is the virtual address of the initial page table.
+ * We place the page tables 16K below KERNEL_RAM_VADDR. Therefore, we must
+@@ -61,7 +65,7 @@
+ *
+ * This is normally called from the decompressor code. The requirements
+ * are: MMU = off, D-cache = off, I-cache = dont care, r0 = 0,
+- * r1 = machine nr.
++ * r1 = machine nr, r2 = atags pointer.
+ *
+ * This code is mostly position independent, so if you link the kernel at
+ * 0xc0008000, you call this at __pa(0xc0008000).
+@@ -85,6 +89,7 @@ ENTRY(stext)
+ bl __lookup_machine_type @ r5=machinfo
+ movs r8, r5 @ invalid machine (r5=0)?
+ beq __error_a @ yes, error 'a'
++ bl __vet_atags
+ bl __create_page_tables
+
+ /*
+diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
+index 650eac1..5be2e98 100644
+--- a/arch/arm/kernel/setup.c
++++ b/arch/arm/kernel/setup.c
+@@ -63,6 +63,8 @@ unsigned int processor_id;
+ unsigned int __machine_arch_type;
+ EXPORT_SYMBOL(__machine_arch_type);
+
++unsigned int __atags_pointer __initdata;
++
+ unsigned int system_rev;
+ EXPORT_SYMBOL(system_rev);
+
+@@ -780,7 +782,9 @@ void __init setup_arch(char **cmdline_p)
+ if (mdesc->soft_reboot)
+ reboot_setup("s");
+
+- if (mdesc->boot_params)
++ if (__atags_pointer)
++ tags = phys_to_virt(__atags_pointer);
++ else if (mdesc->boot_params)
+ tags = phys_to_virt(mdesc->boot_params);
+
+ /*
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig
index 66f4b3fd7c..d71eb62ae0 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/looxc550/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:56 2008
+# Fri Feb 15 01:08:13 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -254,6 +254,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig
index f97cf7014c..290f2b14a9 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/magician/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:53 2008
+# Fri Feb 15 01:08:10 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -261,6 +261,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# CPU Frequency scaling
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig
index 59153d4d30..044b7f005c 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/rx1950/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:57 2008
+# Fri Feb 15 01:08:14 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -267,6 +267,7 @@ CONFIG_CMDLINE="keepinitrd"
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
# CONFIG_TXTOFFSET_DELTA is not set
+CONFIG_ATAGS_PROC=y
#
# Floating point emulation
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig
index 21caa9019d..7bae57d01f 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/rx3000/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21-hh20
-# Thu Feb 14 00:33:57 2008
+# Fri Feb 15 01:08:14 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -274,6 +274,7 @@ CONFIG_CMDLINE="keepinitrd"
CONFIG_KEXEC=y
CONFIG_TXTOFFSET_DELTA=y
CONFIG_TXTOFFSET_DELTA_VALUE=0x00090000
+CONFIG_ATAGS_PROC=y
#
# Floating point emulation
diff --git a/packages/linux/linux-handhelds-2.6.inc b/packages/linux/linux-handhelds-2.6.inc
index 81af72e413..c6bb6bae69 100644
--- a/packages/linux/linux-handhelds-2.6.inc
+++ b/packages/linux/linux-handhelds-2.6.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer h
LICENSE = "GPL"
COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE ?= '(asus620|asus730|aximx50|aximx50v|h1910|h2200|h3600|h3800|h3900|h4000|h5000|htcalpine|htcapache|htcblueangel|htchermes|htchimalaya|htcsable|htcuniversal|htcwallaby|hx4700|ghi270|looxc550|jornada56x|magician|rx1950|rx3000)'
+COMPATIBLE_MACHINE ?= "(asus620|asus730|aximx50|aximx50v|eseries|h1910|h2200|h3600|h3800|h3900|h4000|h5000|htcalpine|htcapache|htcblueangel|htchermes|htchimalaya|htcsable|htcuniversal|htcwallaby|hx4700|ghi270|looxc550|jornada56x|magician|rx1950|rx3000)"
# SRC_URI *must* be overriden in includer, but this is a good reference
SRC_URI ?= "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
@@ -54,6 +54,16 @@ do_configure() {
}
+do_compile_prepend() {
+ if [ -n "${KERNEL_INITRAMFS_PATH}" -a "${ANGSTROM_MODE}" == "glibc" ]; then
+ if [ ! -f ${KERNEL_INITRAMFS_PATH} ]; then
+ echo "${KERNEL_INITRAMFS_PATH} does not exist, you may need to bitbake it separately"
+ exit 1
+ fi
+ cp ${KERNEL_INITRAMFS_PATH} usr/initramfs_data.cpio.gz
+ fi
+}
+
do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_FILENAME}
@@ -88,20 +98,27 @@ set cmdline "root=/dev/mmcblk0p2 rootdelay=10 console=ttyS0,115200n8 console=tty
## Choice 2 - Boot from CF card, setup like above
#set cmdline "root=/dev/hda2 rootdelay=10 console=ttyS0,115200n8 console=tty0"
-## Choice 3 - Boot rootfs image as initramfs (works only for smaller images)
+## Choice 3 - Boot kernel with builtin interactive bootloader (initramfs-bootmenu-image)
+# rootdelay is a wait before scanning for the available partitions
+# if root= is also specified, interactive selection will be skipped and
+# direct boot will happen.
+#set cmdline "rootdelay=3 console=ttyS0,115200n8 console=tty0"
+
+## Choice 4 - Boot rootfs image as initramfs (works only for smaller images)
# have a cpio.gz file below together with zImage, no EXT2 partition required
#set initrd "<image>.rootfs.cpio.gz"
#set cmdline "rdinit=/sbin/init console=ttyS0,115200n8 console=tty0"
-## Choice 4 - Boot via NFS over USB networking (must be kernel-builtin)
+## Choice 5 - Boot via NFS over USB networking (must be kernel-builtin
+# or initramfs-*-image works too)
# 192.168.x.x - Server address (the other side)
# 192.168.y.y - Handheld's address
#set cmdline "root=/dev/nfs nfsroot=192.168.x.x:<nfs_path> ip=192.168.y.y:192.168.x.x:192.168.x.x:255.255.255.0:pda:usb0 console=ttyS0,115200n8 console=tty0"
-## Choice 5 - Boot from MTD partition, for devices with lots of flash
+## Choice 6 - Boot from MTD partition, for devices with lots of flash
# to have both WinCE and Linux there. Note the value of root param,
# that's how it should be, not "/dev/mtdblockN".
-# set cmdline "root=mtdN console=ttyS0,115200n8 console=tty0"
+#set cmdline "root=mtdN console=ttyS0,115200n8 console=tty0"
bootlinux
EOF
diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
index ec822284cf..8e3ab4d06d 100644
--- a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
@@ -1,7 +1,7 @@
SECTION = "kernel"
DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
LICENSE = "GPL"
-PR = "r11"
+PR = "r13"
DEFAULT_PREFERENCE = "-1"
@@ -10,6 +10,8 @@ DEFAULT_PREFERENCE = "-1"
FILESPATH = "${FILE_DIRNAME}/linux-handhelds-2.6-2.6.21/${MACHINE}:${FILE_DIRNAME}/linux-handhelds-2.6-2.6.21"
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/export_atags-r0a.patch;patch=1 \
file://defconfig"
require linux-handhelds-2.6.inc
diff --git a/packages/linux/linux-ixp4xx/defconfig-2.6.24 b/packages/linux/linux-ixp4xx/defconfig-2.6.24
index 9f13364281..790120452a 100644
--- a/packages/linux/linux-ixp4xx/defconfig-2.6.24
+++ b/packages/linux/linux-ixp4xx/defconfig-2.6.24
@@ -1244,7 +1244,7 @@ CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=y
#
CONFIG_VIDEO_DEV=m
# CONFIG_VIDEO_V4L1 is not set
-# CONFIG_VIDEO_V4L1_COMPAT is not set
+CONFIG_VIDEO_V4L1_COMPAT is not set
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
diff --git a/packages/linux/linux-ixp4xx/nslu2/defconfig-2.6.24 b/packages/linux/linux-ixp4xx/nslu2/defconfig-2.6.24
index 061c0c0724..0e14d09d11 100644
--- a/packages/linux/linux-ixp4xx/nslu2/defconfig-2.6.24
+++ b/packages/linux/linux-ixp4xx/nslu2/defconfig-2.6.24
@@ -1245,7 +1245,7 @@ CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=y
#
CONFIG_VIDEO_DEV=m
# CONFIG_VIDEO_V4L1 is not set
-# CONFIG_VIDEO_V4L1_COMPAT is not set
+CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
diff --git a/packages/nonworking/efl/.mtn2git_empty b/packages/linux/linux-nokia800-2.6.21-osso71/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/.mtn2git_empty
+++ b/packages/linux/linux-nokia800-2.6.21-osso71/.mtn2git_empty
diff --git a/packages/nonworking/efl/e/.mtn2git_empty b/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/e/.mtn2git_empty
+++ b/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/.mtn2git_empty
diff --git a/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig b/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig
new file mode 100644
index 0000000000..b1af97af35
--- /dev/null
+++ b/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig
@@ -0,0 +1,1585 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21-omap1
+# Wed Feb 6 17:40:31 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=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 is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=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_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 is not set
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
+
+#
+# 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_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX 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_NS9XXX 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 is not set
+CONFIG_ARCH_OMAP2=y
+
+#
+# OMAP Feature Selections
+#
+CONFIG_MACH_OMAP2420_DVFS=y
+CONFIG_ARCH_OMAP2420_DEBUG=y
+CONFIG_ARCH_OMAP2420_OBSERVABILITY=m
+CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m
+CONFIG_ARCH_OMAP2420_SNAPSHOT=m
+CONFIG_ARCH_OMAP2420_DMA_DRAIN=y
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_BOOT_TAG=y
+CONFIG_OMAP_BOOT_REASON=y
+CONFIG_OMAP_COMPONENT_VERSION=y
+CONFIG_OMAP_GPIO_SWITCH=y
+# CONFIG_OMAP_MUX is not set
+CONFIG_OMAP_STI=y
+CONFIG_OMAP_STI_CONSOLE=y
+# CONFIG_OMAP_MCBSP is not set
+CONFIG_OMAP_MMU_FWK=y
+CONFIG_OMAP_MBOX_FWK=y
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_LL_DEBUG_UART1 is not set
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+CONFIG_OMAP_LL_DEBUG_UART3=y
+CONFIG_OMAP_DSP=y
+# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
+CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
+CONFIG_OMAP_DSP_FBEXPORT=y
+CONFIG_OMAP_DSP_PAUSING=y
+# CONFIG_MACH_OMAP_GENERIC is not set
+
+#
+# OMAP Core Type
+#
+CONFIG_ARCH_OMAP24XX=y
+CONFIG_ARCH_OMAP2420=y
+# CONFIG_ARCH_OMAP2430 is not set
+
+#
+# OMAP Board Type
+#
+CONFIG_MACH_NOKIA_N800=y
+CONFIG_MACH_NOKIA_RX44=y
+CONFIG_MACH_OMAP2_TUSB6010=y
+# CONFIG_MACH_OMAP_H4 is not set
+# CONFIG_MACH_OMAP_APOLLON is not set
+# CONFIG_MACH_OMAP_2430SDP is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_V6=y
+# CONFIG_CPU_32v6K is not set
+CONFIG_CPU_32v6=y
+CONFIG_CPU_ABRT_EV6=y
+CONFIG_CPU_CACHE_V6=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V6=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=128
+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=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_LEDS=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x10C08000
+CONFIG_ZBOOT_ROM_BSS=0x10200000
+# CONFIG_ZBOOT_ROM is not set
+CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_NULL=y
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+
+#
+# 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=y
+
+#
+# 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_PM_SYSFS_DEPRECATED is not set
+CONFIG_APM_EMULATION=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE 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 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 is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=y
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NF_CONNTRACK_ENABLED is not set
+CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=y
+# CONFIG_IP_NF_MATCH_IPRANGE is not set
+# CONFIG_IP_NF_MATCH_TOS is not set
+# CONFIG_IP_NF_MATCH_RECENT is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_AH is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+# CONFIG_IP_NF_MATCH_OWNER is not set
+# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+CONFIG_IP_NF_FILTER=y
+# CONFIG_IP_NF_TARGET_REJECT is not set
+# CONFIG_IP_NF_TARGET_LOG is not set
+# CONFIG_IP_NF_TARGET_ULOG is not set
+CONFIG_IP_NF_TARGET_IDLETIMER=y
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES 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=y
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIUSB is not set
+# 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_HCIBRF6150 is not set
+CONFIG_BT_HCIH4P=y
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IEEE80211 is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES 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=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_BLKDEVS=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
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE 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_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_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# 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=y
+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
+# CONFIG_MTD_ONENAND_GENERIC is not set
+CONFIG_MTD_ONENAND_OMAP2=y
+CONFIG_MTD_ONENAND_OTP=y
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNPACPI is not set
+
+#
+# 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=4096
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+# CONFIG_ATA 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=y
+
+#
+# PHY device support
+#
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+CONFIG_MII=y
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=y
+CONFIG_PPP_SYNC_TTY=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_BSDCOMP=y
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=y
+# 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
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# 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_STOWAWAY is not set
+# CONFIG_KEYBOARD_OMAP is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_KEYBOARD_TSC2301=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# 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_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+CONFIG_TOUCHSCREEN_TSC2005=y
+CONFIG_TOUCHSCREEN_TSC2301=y
+# CONFIG_TOUCHSCREEN_TSC2046 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# 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_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_OMAP_WATCHDOG=y
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# 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_OMAP=y
+# 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_PCF8591 is not set
+# CONFIG_ISP1301_OMAP is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_SENSORS_TLV320AIC23 is not set
+CONFIG_SENSORS_TSL2563=y
+# CONFIG_GPIOEXPANDER_OMAP is not set
+CONFIG_LM8323=y
+CONFIG_LP5521=y
+CONFIG_MENELAUS=y
+# CONFIG_TWL4030_CORE 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=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_OMAP24XX=y
+CONFIG_SPI_OMAP_PAUSING=y
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_AT25 is not set
+# CONFIG_SPI_TSC2005 is not set
+# CONFIG_SPI_TSC2101 is not set
+# CONFIG_SPI_TSC2102 is not set
+CONFIG_SPI_TSC2301=y
+CONFIG_SPI_TSC2301_AUDIO=y
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# 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_ADM1029 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_LM70 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_PC87427 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+CONFIG_SENSORS_TMP105=y
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 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
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_OMAP_DEBUG is not set
+# CONFIG_LEDS_OMAP is not set
+CONFIG_LEDS_OMAP_PWM=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=y
+# CONFIG_VIDEO_V4L1 is not set
+# CONFIG_VIDEO_V4L1_COMPAT is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_USBVISION is not set
+CONFIG_VIDEO_OMAP_CAMERA=y
+# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set
+CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y
+
+#
+# Radio Adapters
+#
+CONFIG_RADIO_TEA5761=y
+# CONFIG_USB_DSBR is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_VIDEO_BUF=y
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_SVGALIB is not set
+# 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
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_OMAP=y
+CONFIG_FB_OMAP_LCDC_EXTERNAL=y
+# CONFIG_FB_OMAP_LCDC_HWA742 is not set
+CONFIG_FB_OMAP_LCDC_BLIZZARD=y
+# CONFIG_FB_OMAP_MANUAL_UPDATE is not set
+CONFIG_FB_OMAP_LCD_MIPID=y
+CONFIG_FB_OMAP_BOOTLOADER_INIT=y
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
+CONFIG_FB_OMAP_PAUSING=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 is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# 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_OMAP_AIC23 is not set
+CONFIG_SND_AIC33=y
+# CONFIG_SND_OMAP_TSC2101 is not set
+# CONFIG_SND_SX1 is not set
+# CONFIG_SND_OMAP_TSC2102 is not set
+CONFIG_SND_OMAP24XX_EAC=y
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# SoC audio support
+#
+# CONFIG_SND_SOC is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+# CONFIG_HID_DEBUG 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=y
+CONFIG_USB_DEBUG=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+CONFIG_USB_OTG_WHITELIST=y
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_TUSB6010=y
+CONFIG_USB_TUSB6010_TEST=y
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_PERIPHERAL is not set
+CONFIG_USB_MUSB_OTG=y
+CONFIG_USB_GADGET_MUSB_HDRC=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+CONFIG_USB_MUSB_HSET=y
+# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_INVENTRA_DMA is not set
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_TUSB_OMAP_DMA=y
+CONFIG_USB_MUSB_LOGLEVEL=1
+
+#
+# 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=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+CONFIG_USB_LIBUSUAL=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV 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
+# CONFIG_USB_GTCO is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK 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=y
+# CONFIG_USB_USBNET_MII is not set
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_CDCETHER=y
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=y
+CONFIG_USB_NET_PLUSB=y
+# CONFIG_USB_NET_MCS7830 is not set
+CONFIG_USB_NET_RNDIS_HOST=y
+CONFIG_USB_NET_CDC_SUBSET=y
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=y
+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_ADUTUX 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_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+CONFIG_USB_TEST=y
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU 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=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_FILE_STORAGE_TEST=y
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_OMAP=y
+CONFIG_MMC_PAUSING=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# CBUS support
+#
+CONFIG_CBUS=y
+CONFIG_CBUS_TAHVO=y
+CONFIG_CBUS_TAHVO_USER=y
+# CONFIG_CBUS_TAHVO_USB is not set
+CONFIG_CBUS_RETU=y
+CONFIG_CBUS_RETU_USER=y
+CONFIG_CBUS_RETU_POWERBUTTON=y
+CONFIG_CBUS_RETU_RTC=y
+CONFIG_CBUS_RETU_WDT=y
+CONFIG_CBUS_RETU_HEADSET=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP 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_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+# 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_GFS2_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 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_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# 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_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_SYSFS is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+# CONFIG_JFFS2_CMODE_FAVOURLZO 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 is not set
+# CONFIG_NFSD 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=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# 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=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_CAPABILITIES is not set
+# CONFIG_SECURITY_ROOTPLUG is not set
+CONFIG_SECURITY_LOWMEM=y
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
diff --git a/packages/linux/linux-nokia800_2.6.21-osso71.bb b/packages/linux/linux-nokia800_2.6.21-osso71.bb
new file mode 100644
index 0000000000..34cc82a842
--- /dev/null
+++ b/packages/linux/linux-nokia800_2.6.21-osso71.bb
@@ -0,0 +1,16 @@
+require linux-nokia800.inc
+PR = "r1"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_nokia800 = "1"
+
+SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
+ http://repository.maemo.org/pool/os2008/free/source/k/kernel-source-rx-34/kernel-source-rx-34_2.6.21.0-osso71.diff.gz;patch=1 \
+ file://defconfig"
+
+S = "${WORKDIR}/linux-2.6.21"
+
+do_stage_append () {
+ mkdir -p ${STAGING_KERNEL_DIR}/drivers/media/video/omap/
+ cp -f drivers/media/video/omap/tcm825x.h ${STAGING_KERNEL_DIR}/drivers/media/video/omap/
+}
diff --git a/packages/linux/linux-rp-2.6.24/defconfig-qemux86 b/packages/linux/linux-rp-2.6.24/defconfig-qemux86
index e0094fec3c..c143746db8 100644
--- a/packages/linux/linux-rp-2.6.24/defconfig-qemux86
+++ b/packages/linux/linux-rp-2.6.24/defconfig-qemux86
@@ -396,42 +396,70 @@ CONFIG_NETFILTER=y
#
# Core Netfilter Configuration
#
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
-# CONFIG_NF_CONNTRACK is not set
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+CONFIG_NF_CT_PROTO_GRE=m
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+CONFIG_NF_CONNTRACK_IRC=m
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+CONFIG_NF_CONNTRACK_PPTP=m
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+CONFIG_NF_CONNTRACK_TFTP=m
+# CONFIG_NF_CT_NETLINK is not set
CONFIG_NETFILTER_XTABLES=m
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
#
# IP: Netfilter Configuration
#
-CONFIG_IP_NF_QUEUE=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
@@ -445,10 +473,26 @@ CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+# CONFIG_IP_NF_TARGET_SAME is not set
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+# CONFIG_NF_NAT_H323 is not set
+# CONFIG_NF_NAT_SIP is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
@@ -457,6 +501,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
+# CONFIG_NF_CONNTRACK_IPV6 is not set
# CONFIG_IP6_NF_QUEUE is not set
# CONFIG_IP6_NF_IPTABLES is not set
# CONFIG_IP_DCCP is not set
@@ -474,6 +519,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
#
# Network testing
diff --git a/packages/linux/linux-rp-2.6.24/pxa27x-resume.patch b/packages/linux/linux-rp-2.6.24/pxa27x-resume.patch
new file mode 100644
index 0000000000..6447a0b104
--- /dev/null
+++ b/packages/linux/linux-rp-2.6.24/pxa27x-resume.patch
@@ -0,0 +1,41 @@
+List: linux-arm-kernel
+Subject: [PATCH] Fix PXA27x resume
+From: Russell King - ARM Linux <linux@arm.linux.org.uk>
+Date: 2008-01-21 13:53:31
+Message-ID: 20080121135331.GC30149@flint.arm.linux.org.uk
+[Download message RAW]
+
+When PXA27x wakes up, tick_resume_oneshot() tries to set a timer
+interrupt to occur immediately. Since PXA27x requires at least
+MIN_OSCR_DELTA, this causes us to flag an error.
+
+tick_program_event() then increments the next event time by
+min_delta_ns. However, by the time we get back to programming
+the next event, the OSCR has incremented such that we fail again.
+We repeatedly retry, but the OSCR is too fast for us - we never
+catch up, so we never break out of the loop - resulting in us
+never apparantly resuming.
+
+Fix this by doubling min_delta_ns.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+
+diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c
+index ac0bbad..7b7c017 100644
+--- a/arch/arm/mach-pxa/time.c
++++ b/arch/arm/mach-pxa/time.c
+@@ -169,7 +169,7 @@ static void __init pxa_timer_init(void)
+ ckevt_pxa_osmr0.max_delta_ns =
+ clockevent_delta2ns(0x7fffffff, &ckevt_pxa_osmr0);
+ ckevt_pxa_osmr0.min_delta_ns =
+- clockevent_delta2ns(MIN_OSCR_DELTA, &ckevt_pxa_osmr0) + 1;
++ clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_pxa_osmr0) + 1;
+
+ cksrc_pxa_oscr0.mult =
+ clocksource_hz2mult(clock_tick_rate, cksrc_pxa_oscr0.shift);
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+
diff --git a/packages/linux/linux-rp-2.6.24/pxafb.patch b/packages/linux/linux-rp-2.6.24/pxafb.patch
index efcfb079b2..7fe693cd91 100644
--- a/packages/linux/linux-rp-2.6.24/pxafb.patch
+++ b/packages/linux/linux-rp-2.6.24/pxafb.patch
@@ -11,16 +11,3 @@ Index: linux-2.6.23/drivers/video/pxafb.c
lccr3 = fbi->reg_lccr3;
set_hsync_time(fbi, pcd);
fbi->reg_lccr3 = (fbi->reg_lccr3 & ~0xff) | LCCR3_PixClkDiv(pcd);
-Index: linux-2.6.23/drivers/video/pxafb.c
-===================================================================
---- linux-2.6.23.orig/drivers/video/pxafb.c 2008-01-25 16:25:21.000000000 -0800
-+++ linux-2.6.23/drivers/video/pxafb.c 2008-01-25 16:32:14.000000000 -0800
-@@ -1194,7 +1194,7 @@
- if ((clkinfo->old == 13000))
- break;
-
-- pcd = get_pcd(fbi->fb.var.pixclock);
-+ pcd = get_pcd(fbi,fbi->fb.var.pixclock);
- lccr3 = fbi->reg_lccr3;
- set_hsync_time(fbi, pcd);
- fbi->reg_lccr3 = (fbi->reg_lccr3 & ~0xff) | LCCR3_PixClkDiv(pcd);
diff --git a/packages/linux/linux-rp-2.6.24/spitz_h_rewrite.patch b/packages/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
new file mode 100644
index 0000000000..df6d5f66c2
--- /dev/null
+++ b/packages/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
@@ -0,0 +1,497 @@
+http://www.uwsg.indiana.edu/hypermail/linux/kernel/0802.1/3541.html
+
+Here is a rewrite of spitz.h, which includes comments documenting
+function of particular GPIO pins.
+
+spitz_h_rewrite.patch provides:
+- no changes in compiled code
+- partial spitz.h rewrite:
+ * organized by function
+ * describes complete GPIO pinout
+ * comments added
+ * removed defines cloning pxa-regs.h
+- prefer generic pxa-regs.h GPIO if available
+- use GPIO names instead of numbers
+
+Thanks to Trisoft for providing needed information.
+
+Index: linux-2.6.24/arch/arm/mach-pxa/spitz_pm.c
+===================================================================
+--- linux-2.6.24.orig/arch/arm/mach-pxa/spitz_pm.c 2008-01-24 22:58:37.000000000 +0000
++++ linux-2.6.24/arch/arm/mach-pxa/spitz_pm.c 2008-02-13 13:49:22.000000000 +0000
+@@ -110,9 +110,9 @@
+ pxa_gpio_mode(GPIO18_RDY|GPIO_OUT | GPIO_DFLT_HIGH);
+
+ PRER = GPIO_bit(SPITZ_GPIO_KEY_INT);
+- PFER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET);
+- PWER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET) | PWER_RTC;
+- PKWR = GPIO_bit(SPITZ_GPIO_SYNC) | GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET);
++ PFER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST);
++ PWER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST) | PWER_RTC;
++ PKWR = GPIO_bit(SPITZ_GPIO_SYNC) | GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST);
+ PKSR = 0xffffffff; // clear
+
+ /* nRESET_OUT Disable */
+@@ -128,7 +128,7 @@
+ static void spitz_postsuspend(void)
+ {
+ pxa_gpio_mode(GPIO18_RDY_MD);
+- pxa_gpio_mode(10 | GPIO_IN);
++ pxa_gpio_mode(SPITZ_GPIO_NC_10 | GPIO_IN);
+ }
+
+ static int spitz_should_wakeup(unsigned int resume_on_alarm)
+Index: linux-2.6.24/drivers/video/pxafb.c
+===================================================================
+--- linux-2.6.24.orig/drivers/video/pxafb.c 2008-02-13 13:49:04.000000000 +0000
++++ linux-2.6.24/drivers/video/pxafb.c 2008-02-13 13:49:57.000000000 +0000
+@@ -920,7 +920,7 @@
+ return;
+ }
+
+- for (gpio = 58; ldd_bits > 0; gpio++, ldd_bits--) {
++ for (gpio = GPIO58_LDD_0; ldd_bits > 0; gpio++, ldd_bits--) {
+ pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
+ }
+ pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
+Index: linux-2.6.24/include/asm-arm/arch-pxa/akita.h
+===================================================================
+--- linux-2.6.24.orig/include/asm-arm/arch-pxa/akita.h 2008-01-24 22:58:37.000000000 +0000
++++ linux-2.6.24/include/asm-arm/arch-pxa/akita.h 2008-02-13 13:49:22.000000000 +0000
+@@ -12,11 +12,11 @@
+ /* Akita IO Expander GPIOs */
+
+ #define AKITA_IOEXP_RESERVED_7 (1 << 7)
+-#define AKITA_IOEXP_IR_ON (1 << 6)
+-#define AKITA_IOEXP_AKIN_PULLUP (1 << 5)
+-#define AKITA_IOEXP_BACKLIGHT_CONT (1 << 4)
+-#define AKITA_IOEXP_BACKLIGHT_ON (1 << 3)
+-#define AKITA_IOEXP_MIC_BIAS (1 << 2)
++#define AKITA_IOEXP_IR_ON (1 << 6) /* IrDA On */
++#define AKITA_IOEXP_AKIN_PULLUP (1 << 5) /* Pull-Up for Remote */
++#define AKITA_IOEXP_BACKLIGHT_CONT (1 << 4) /* Backlight Control */
++#define AKITA_IOEXP_BACKLIGHT_ON (1 << 3) /* Backlight On */
++#define AKITA_IOEXP_MIC_BIAS (1 << 2) /* Mic Bias On */
+ #define AKITA_IOEXP_RESERVED_1 (1 << 1)
+ #define AKITA_IOEXP_RESERVED_0 (1 << 0)
+
+Index: linux-2.6.24/include/asm-arm/arch-pxa/pxa-regs.h
+===================================================================
+--- linux-2.6.24.orig/include/asm-arm/arch-pxa/pxa-regs.h 2008-02-13 13:49:07.000000000 +0000
++++ linux-2.6.24/include/asm-arm/arch-pxa/pxa-regs.h 2008-02-13 13:49:22.000000000 +0000
+@@ -1334,6 +1334,7 @@
+ #define GPIO85_nPCE_1 85 /* Card Enable for Card Space (PXA27x) */
+ #define GPIO92_MMCDAT0 92 /* MMC DAT0 (PXA27x) */
+ #define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */
++#define GPIO104_pSKTSEL 104 /* PCMCIA Socket Select (PXA27x) */
+ #define GPIO109_MMCDAT1 109 /* MMC DAT1 (PXA27x) */
+ #define GPIO110_MMCDAT2 110 /* MMC DAT2 (PXA27x) */
+ #define GPIO110_MMCCS0 110 /* MMC Chip Select 0 (PXA27x) */
+Index: linux-2.6.24/include/asm-arm/arch-pxa/spitz.h
+===================================================================
+--- linux-2.6.24.orig/include/asm-arm/arch-pxa/spitz.h 2008-02-13 13:49:01.000000000 +0000
++++ linux-2.6.24/include/asm-arm/arch-pxa/spitz.h 2008-02-13 13:49:22.000000000 +0000
+@@ -1,8 +1,9 @@
+ /*
+- * Hardware specific definitions for SL-Cx000 series of PDAs
++ * Hardware specific definitions for SL-Cxx00 series of PDAs
+ *
+ * Copyright (c) 2005 Alexander Wykes
+ * Copyright (c) 2005 Richard Purdie
++ * Copyright (c) 2008 Stanislav Brabec
+ *
+ * Based on Sharp's 2.4 kernel patches
+ *
+@@ -13,140 +14,257 @@
+ */
+ #ifndef __ASM_ARCH_SPITZ_H
+ #define __ASM_ARCH_SPITZ_H 1
+-#endif
+
+-#include <linux/fb.h>
++#include <asm-arm/arch-pxa/irqs.h>
++#include <linux/platform_device.h>
+
+ /* Spitz/Akita GPIOs */
+
+-#define SPITZ_GPIO_KEY_INT (0) /* Key Interrupt */
+-#define SPITZ_GPIO_RESET (1)
+-#define SPITZ_GPIO_nSD_DETECT (9)
+-#define SPITZ_GPIO_TP_INT (11) /* Touch Panel interrupt */
+-#define SPITZ_GPIO_AK_INT (13) /* Remote Control */
+-#define SPITZ_GPIO_ADS7846_CS (14)
+-#define SPITZ_GPIO_SYNC (16)
+-#define SPITZ_GPIO_MAX1111_CS (20)
+-#define SPITZ_GPIO_FATAL_BAT (21)
+-#define SPITZ_GPIO_HSYNC (22)
+-#define SPITZ_GPIO_nSD_CLK (32)
+-#define SPITZ_GPIO_USB_DEVICE (35)
+-#define SPITZ_GPIO_USB_HOST (37)
+-#define SPITZ_GPIO_USB_CONNECT (41)
+-#define SPITZ_GPIO_LCDCON_CS (53)
+-#define SPITZ_GPIO_nPCE (54)
+-#define SPITZ_GPIO_nSD_WP (81)
+-#define SPITZ_GPIO_ON_RESET (89)
+-#define SPITZ_GPIO_BAT_COVER (90)
+-#define SPITZ_GPIO_CF_CD (94)
+-#define SPITZ_GPIO_ON_KEY (95)
+-#define SPITZ_GPIO_SWA (97)
+-#define SPITZ_GPIO_SWB (96)
+-#define SPITZ_GPIO_CHRG_FULL (101)
+-#define SPITZ_GPIO_CO (101)
+-#define SPITZ_GPIO_CF_IRQ (105)
+-#define SPITZ_GPIO_AC_IN (115)
+-#define SPITZ_GPIO_HP_IN (116)
++/* This list refers to all GPIO pins either in defines or in comments.
++ *
++ * GPIO pins not listed:
++ * GPIO2 SYS_EN: System Power Enable
++ * GPIO5-GPIO8 PWR_CAP0-PWR_CAP3: sleep DC-DC converter power capacitors
++ * GPIO40 not connected
++ */
+
+-/* Spitz Only GPIOs */
+
+-#define SPITZ_GPIO_CF2_IRQ (106) /* CF slot1 Ready */
+-#define SPITZ_GPIO_CF2_CD (93)
++/* Spitz/Akita System GPIO */
++
++#define SPITZ_GPIO_KEY_INT (0) /* Key Interrupt */
++#define SPITZ_GPIO_SYNC (16) /* IOPORT Wake Up (input) */
++#define SPITZ_GPIO_NAND_CS (79) /* NAND Flash Chip Select */
++#define SPITZ_GPIO_NC_10 (10) /* Not Connected (but used in kernel) */
++/* This GPIO pin is connected:
++ * GPIO1_RST
++ */
+
+
++/* Compact Flash Interface */
++
++/* Spitz/Akita Compact Flash Interface */
++#define SPITZ_GPIO_CF_CD (94) /* CF IRQ */
++#define SPITZ_GPIO_CF_IRQ (105) /* CF Ready */
++/* These GPIO pins are connected:
++ * GPIO48_nPOE
++ * GPIO49_nPWE
++ * GPIO50_nPIOR
++ * GPIO51_nPIOW
++ * GPIO54_nPCE_2
++ * GPIO55_nPREG
++ * GPIO56_nPWAIT
++ * GPIO57_nIOIS16
++ * GPIO80_nCS_4
++ * GPIO85_nPCE_1
++ * GPIO104_pSKTSEL
++ */
++
++/* Spitz only Compact Flash Interface */
++#define SPITZ_GPIO_CF2_CD (93) /* CF slot1 IRQ */
++#define SPITZ_GPIO_CF2_IRQ (106) /* CF slot1 Ready */
++/* This GPIO pin is connected:
++ * GPIO78_nCS_2
++ */
++
++
++/* Spitz/Akita Battery, Power and Service Connector */
++
++#define SPITZ_GPIO_FATAL_BAT (21) /* Fatal Battery */
++#define SPITZ_GPIO_BAT_COVER (90) /* Battery Cover switch */
++#define SPITZ_GPIO_BAT_COVER2 (15) /* Battery Cover switch, parallel pin */
++#define SPITZ_GPIO_CHRG_FULL (101) /* Battery Full */
++#define SPITZ_GPIO_AC_IN (115) /* External Power Supply is active */
++#define SPITZ_GPIO_ON_RESET (89) /* Software Reset */
++#define SPITZ_GPIO_SERVICE0 (83) /* Service Connector */
++#define SPITZ_GPIO_SERVICE1 (84) /* Service Connector */
++/* This GPIO pin is connected:
++ * GPIO18_RDY
++ */
++
++
++/* Spitz/Akita Display Controller */
++
++#define SPITZ_GPIO_HSYNC (22) /* Line Sync Feedback */
++/* These GPIO pins are connected:
++ * GPIO58_LDD_0-GPIO58_LDD_15
++ * GPIO74_LCD_FCLK
++ * GPIO75_LCD_LCLK
++ * GPIO76_LCD_PCLK
++ * GPIO77_LCD_ACBIAS
++ */
++
++
++/* Spitz/Akita SSP/SPI Bus and Devices */
++
++#define SPITZ_GPIO_SSP_CLK (19) /* SSP bus Clock */
++#define SPITZ_GPIO_SSP_RXD (86) /* SSP bus RxD */
++#define SPITZ_GPIO_SSP_TXD (87) /* SSP bus TxD */
++#define SPITZ_GPIO_TP_INT (11) /* Touch Panel IRQ */
++#define SPITZ_GPIO_ADS7846_CS (14) /* Touch Panel Controller Chip Select */
++#define SPITZ_GPIO_MAX1111_CS (20) /* Multi Channel ADC Chip Select */
++#define SPITZ_GPIO_LCDCON_CS (53) /* LCD Controller Chip Select */
++
++
++/* Spitz/Akita Supplementary USB OTG Pins */
++
++#define SPITZ_GPIO_USB_DEVICE (35) /* USB Client power is present */
++#define SPITZ_GPIO_USB_HOST (37) /* USB OTG 5V Host power supply control */
++#define SPITZ_GPIO_USB_CONNECT (41) /* USB Host Cable is connected */
++
++
++/* Spitz/Akita Audio */
++
++#define SPITZ_GPIO_HP_IN (116) /* CPU Headphone detect */
++#define SPITZ_GPIO_AK_INT (13) /* Remote Control detect */
++/* These GPIO AC97 pins are connected:
++ * GPIO28_BITCLK
++ * GPIO29_SDATA_IN
++ * GPIO30_SDATA_OUT
++ * GPIO31_SYNC
++ * GPIO113_AC97_RESET_N
++ */
++
++
++/* Spitz/Akita SD Slot */
++
++#define SPITZ_GPIO_nSD_DETECT (9) /* SD Card Presence */
++#define SPITZ_GPIO_nSD_WP (81) /* SD Write Protection */
++/* These GPIO pins are connected:
++ * GPIO32_MMCCLK
++ * GPIO92_MMCDAT0
++ * GPIO109_MMCDAT1
++ * GPIO110_MMCDAT2
++ * GPIO111_MMCDAT3
++ * GPIO112_MMCCMD
++ */
++
++/* Spitz/Akita I2C bus */
++#define SPITZ_GPIO_SCL (117) /* I2C SCL */
++#define SPITZ_GPIO_SDA (118) /* I2C SDA */
++#define SPITZ_GPIO_PWR_SCL (3) /* I2C SCL power */
++#define SPITZ_GPIO_PWR_SDA (4) /* I2C SDA power */
++
++/* audio codec pins */
++
++
++/* Spitz/Akita UART ports */
++
++/* Fully Featured UART - connected to IOPORT connector */
++#define SPITZ_GPIO_FFRXD (102) /* IOPORT has nRXD inverted levels */
++#define SPITZ_GPIO_FFTXD (99) /* IOPORT has nTXD inverted levels */
++#define SPITZ_GPIO_FFRTS (98)
++#define SPITZ_GPIO_FFCTS (100)
++#define SPITZ_GPIO_FFDTR (82)
++#define SPITZ_GPIO_FFDSR (33)
++
++/* These UART GPIO pins are connected to Bluetooth
++ * (only on Akita version with Bluetooth)
++ * GPIO42_BTRXD
++ * GPIO43_BTTXD
++ * GPIO44_BTCTS
++ * GPIO45_BTRTS
++ */
++
++/* These UART GPIO pins are connected to IrDA:
++ * GPIO46_STRXD
++ * GPIO47_STTXD
++ */
++
+ /* Spitz/Akita Keyboard Definitions */
+
+-#define SPITZ_KEY_STROBE_NUM (11)
+-#define SPITZ_KEY_SENSE_NUM (7)
+-#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
+-#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
+-#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
+-#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
+-#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
+-#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
+-#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
+-#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
+-
+-#define SPITZ_GPIO_KEY_STROBE0 88
+-#define SPITZ_GPIO_KEY_STROBE1 23
+-#define SPITZ_GPIO_KEY_STROBE2 24
+-#define SPITZ_GPIO_KEY_STROBE3 25
+-#define SPITZ_GPIO_KEY_STROBE4 26
+-#define SPITZ_GPIO_KEY_STROBE5 27
+-#define SPITZ_GPIO_KEY_STROBE6 52
+-#define SPITZ_GPIO_KEY_STROBE7 103
+-#define SPITZ_GPIO_KEY_STROBE8 107
+-#define SPITZ_GPIO_KEY_STROBE9 108
+-#define SPITZ_GPIO_KEY_STROBE10 114
+-
+-#define SPITZ_GPIO_KEY_SENSE0 12
+-#define SPITZ_GPIO_KEY_SENSE1 17
+-#define SPITZ_GPIO_KEY_SENSE2 91
+-#define SPITZ_GPIO_KEY_SENSE3 34
+-#define SPITZ_GPIO_KEY_SENSE4 36
+-#define SPITZ_GPIO_KEY_SENSE5 38
+-#define SPITZ_GPIO_KEY_SENSE6 39
++#define SPITZ_KEY_STROBE_NUM (11)
++#define SPITZ_KEY_SENSE_NUM (7)
++#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
++#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
++#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
++#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
++#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
++#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
++#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
++#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
++#define SPITZ_GPIO_KEY_STROBE0 (88)
++#define SPITZ_GPIO_KEY_STROBE1 (23)
++#define SPITZ_GPIO_KEY_STROBE2 (24)
++#define SPITZ_GPIO_KEY_STROBE3 (25)
++#define SPITZ_GPIO_KEY_STROBE4 (26)
++#define SPITZ_GPIO_KEY_STROBE5 (27)
++#define SPITZ_GPIO_KEY_STROBE6 (52)
++#define SPITZ_GPIO_KEY_STROBE7 (103)
++#define SPITZ_GPIO_KEY_STROBE8 (107)
++#define SPITZ_GPIO_KEY_STROBE9 (108)
++#define SPITZ_GPIO_KEY_STROBE10 (114)
++#define SPITZ_GPIO_KEY_SENSE0 (12)
++#define SPITZ_GPIO_KEY_SENSE1 (17)
++#define SPITZ_GPIO_KEY_SENSE2 (91)
++#define SPITZ_GPIO_KEY_SENSE3 (34)
++#define SPITZ_GPIO_KEY_SENSE4 (36)
++#define SPITZ_GPIO_KEY_SENSE5 (38)
++#define SPITZ_GPIO_KEY_SENSE6 (39)
++
++#define SPITZ_GPIO_SWA (97) /* Keyboard Interrupt A */
++#define SPITZ_GPIO_SWB (96) /* Keyboard Interrupt B */
++#define SPITZ_GPIO_ON_KEY (95) /* Power On Key */
+
+
+-/* Spitz Scoop Device (No. 1) GPIOs */
++/* Spitz/Akita Scoop Device (No. 1) GPIOs */
+ /* Suspend States in comments */
+-#define SPITZ_SCP_LED_GREEN SCOOP_GPCR_PA11 /* Keep */
+-#define SPITZ_SCP_JK_B SCOOP_GPCR_PA12 /* Keep */
+-#define SPITZ_SCP_CHRG_ON SCOOP_GPCR_PA13 /* Keep */
+-#define SPITZ_SCP_MUTE_L SCOOP_GPCR_PA14 /* Low */
+-#define SPITZ_SCP_MUTE_R SCOOP_GPCR_PA15 /* Low */
+-#define SPITZ_SCP_CF_POWER SCOOP_GPCR_PA16 /* Keep */
+-#define SPITZ_SCP_LED_ORANGE SCOOP_GPCR_PA17 /* Keep */
+-#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Low */
+-#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Low */
++#define SPITZ_SCP_LED_GREEN SCOOP_GPCR_PA11 /* Green LED, Keep */
++#define SPITZ_SCP_JK_B SCOOP_GPCR_PA12 /* Fast Charge On, Keep */
++#define SPITZ_SCP_CHRG_ON SCOOP_GPCR_PA13 /* Charge On, Keep */
++#define SPITZ_SCP_MUTE_L SCOOP_GPCR_PA14 /* Extra Mute Left, Low */
++#define SPITZ_SCP_MUTE_R SCOOP_GPCR_PA15 /* Extra Mute Right, Low */
++#define SPITZ_SCP_CF_POWER SCOOP_GPCR_PA16 /* CF+SD Power Circuit, Keep */
++#define SPITZ_SCP_LED_ORANGE SCOOP_GPCR_PA17 /* Orange LED, Keep */
++#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Dummy Load, Low */
++#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Battery Sensor On, Low */
+
+ #define SPITZ_SCP_IO_DIR (SPITZ_SCP_LED_GREEN | SPITZ_SCP_JK_B | SPITZ_SCP_CHRG_ON | \
+- SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
+- SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
++ SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
++ SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
+ #define SPITZ_SCP_IO_OUT (SPITZ_SCP_CHRG_ON | SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R)
+ #define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
+ #define SPITZ_SCP_SUS_SET 0
+
+ /* Spitz Scoop Device (No. 2) GPIOs */
+-/* Suspend States in comments */
+-#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* High */
+-#define SPITZ_SCP2_AKIN_PULLUP SCOOP_GPCR_PA12 /* Keep */
+-#define SPITZ_SCP2_RESERVED_1 SCOOP_GPCR_PA13 /* High */
+-#define SPITZ_SCP2_RESERVED_2 SCOOP_GPCR_PA14 /* Low */
+-#define SPITZ_SCP2_RESERVED_3 SCOOP_GPCR_PA15 /* Low */
+-#define SPITZ_SCP2_RESERVED_4 SCOOP_GPCR_PA16 /* Low */
+-#define SPITZ_SCP2_BACKLIGHT_CONT SCOOP_GPCR_PA17 /* Low */
+-#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Low */
+-#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Low */
++/* Suspend States in comments
++ * Spitz only, Akita uses corresponding AKITA_IOEXP_ */
++#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* IrDA On, High */
++#define SPITZ_SCP2_AKIN_PULLUP SCOOP_GPCR_PA12 /* Pull-Up for Remote, Keep */
++#define SPITZ_SCP2_RESERVED_1 SCOOP_GPCR_PA13 /* High */
++#define SPITZ_SCP2_RESERVED_2 SCOOP_GPCR_PA14 /* Low */
++#define SPITZ_SCP2_RESERVED_3 SCOOP_GPCR_PA15 /* Low */
++#define SPITZ_SCP2_RESERVED_4 SCOOP_GPCR_PA16 /* Low */
++#define SPITZ_SCP2_BACKLIGHT_CONT SCOOP_GPCR_PA17 /* Backlight Control, Low */
++#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Backlight On, Low */
++#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Mic Bias On, Low */
+
+ #define SPITZ_SCP2_IO_DIR (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1 | \
+- SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
+- SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
++ SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
++ SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
+
+ #define SPITZ_SCP2_IO_OUT (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1)
+ #define SPITZ_SCP2_SUS_CLR (SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
+- SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
++ SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
+ #define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1)
+
+
+-/* Spitz IRQ Definitions */
++/* Spitz/Akita IRQ Definitions */
+
+-#define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT)
+-#define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN)
+-#define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT)
+-#define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN)
+-#define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT)
+-#define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC)
+-#define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY)
+-#define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA)
+-#define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB)
++#define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT)
++#define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN)
++#define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT)
++#define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN)
++#define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT)
++#define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC)
++#define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY)
++#define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA)
++#define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB)
+ #define SPITZ_IRQ_GPIO_BAT_COVER IRQ_GPIO(SPITZ_GPIO_BAT_COVER)
+ #define SPITZ_IRQ_GPIO_FATAL_BAT IRQ_GPIO(SPITZ_GPIO_FATAL_BAT)
+-#define SPITZ_IRQ_GPIO_CO IRQ_GPIO(SPITZ_GPIO_CO)
+-#define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
+-#define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD)
+-#define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
+-#define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT)
++#define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
++#define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD)
++#define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
++#define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT)
+ #define SPITZ_IRQ_GPIO_nSD_DETECT IRQ_GPIO(SPITZ_GPIO_nSD_DETECT)
+
+ /*
+@@ -156,3 +274,5 @@
+ extern struct platform_device spitzscoop2_device;
+ extern struct platform_device spitzssp_device;
+ extern struct sharpsl_charger_machinfo spitz_pm_machinfo;
++
++#endif
+Index: linux-2.6.24/sound/arm/pxa2xx-ac97.c
+===================================================================
+--- linux-2.6.24.orig/sound/arm/pxa2xx-ac97.c 2008-01-24 22:58:37.000000000 +0000
++++ linux-2.6.24/sound/arm/pxa2xx-ac97.c 2008-02-13 13:49:22.000000000 +0000
+@@ -133,10 +133,10 @@
+ #ifdef CONFIG_PXA27x
+ /* warm reset broken on Bulverde,
+ so manually keep AC97 reset high */
+- pxa_gpio_mode(113 | GPIO_OUT | GPIO_DFLT_HIGH);
++ pxa_gpio_mode(GPIO113_AC97_RESET_N | GPIO_OUT | GPIO_DFLT_HIGH);
+ udelay(10);
+ GCR |= GCR_WARM_RST;
+- pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
++ pxa_gpio_mode(GPIO113_AC97_RESET_N_MD);
+ udelay(500);
+ #else
+ GCR |= GCR_WARM_RST|GCR_PRIRDY_IEN|GCR_SECRDY_IEN;
+@@ -335,7 +335,7 @@
+ pxa_gpio_mode(GPIO29_SDATA_IN_AC97_MD);
+ #ifdef CONFIG_PXA27x
+ /* Use GPIO 113 as AC97 Reset on Bulverde */
+- pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
++ pxa_gpio_mode(GPIO113_AC97_RESET_N_MD);
+ #endif
+ pxa_set_cken(CKEN_AC97, 1);
+
diff --git a/packages/linux/linux-rp_2.6.24.bb b/packages/linux/linux-rp_2.6.24.bb
index cfa61853b1..b3e04980de 100644
--- a/packages/linux/linux-rp_2.6.24.bb
+++ b/packages/linux/linux-rp_2.6.24.bb
@@ -1,9 +1,10 @@
require linux-rp.inc
-PR = "r3"
+PR = "r5"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_collie = "1"
+DEFAULT_PREFERENCE_qemux86 = "1"
# Handy URLs
# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
@@ -41,6 +42,7 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
${RPSRC}/poodle_pm-r5.patch;patch=1 \
${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \
${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \
+ file://pxa27x-resume.patch;patch=1;status=external \
file://squashfs3.3.patch;patch=1;status=external \
${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
@@ -145,6 +147,7 @@ SRC_URI_append_akita = "\
SRC_URI_append_spitz = "\
file://mtd-module.patch;patch=1;status=external \
file://wm8750-treble.patch;patch=1;status=external \
+ file://spitz_h_rewrite.patch;patch=1;status=external \
file://sharpsl-rc-r1.patch;patch=1 \
"
diff --git a/packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch b/packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch
new file mode 100644
index 0000000000..d8b4d2d017
--- /dev/null
+++ b/packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch
@@ -0,0 +1,44 @@
+Index: linux-2.6.24.3/arch/powerpc/kernel/idle.c
+===================================================================
+--- linux-2.6.24.3.orig/arch/powerpc/kernel/idle.c 2008-02-29 14:49:40.000000000 +0100
++++ linux-2.6.24.3/arch/powerpc/kernel/idle.c 2008-02-29 16:29:23.000000000 +0100
+@@ -19,6 +19,7 @@
+ * 2 of the License, or (at your option) any later version.
+ */
+
++#include <linux/leds.h>
+ #include <linux/sched.h>
+ #include <linux/kernel.h>
+ #include <linux/smp.h>
+@@ -51,6 +52,12 @@
+ __setup("powersave=off", powersave_off);
+
+ /*
++ * CPU activity indicator.
++ */
++void (*leds_idle)(int is_idle);
++EXPORT_SYMBOL(leds_idle);
++
++/*
+ * The body of the idle task.
+ */
+ void cpu_idle(void)
+@@ -64,7 +71,8 @@
+ while (!need_resched() && !need_resched_delayed() &&
+ !cpu_should_die()) {
+ ppc64_runlatch_off();
+-
++ if (leds_idle)
++ leds_idle(1);
+ if (ppc_md.power_save) {
+ clear_thread_flag(TIF_POLLING_NRFLAG);
+ /*
+@@ -99,6 +107,8 @@
+ if (cpu_should_die())
+ cpu_die();
+ __preempt_enable_no_resched();
++ if (leds_idle)
++ leds_idle(0);
+ schedule();
+ preempt_disable();
+ }
diff --git a/packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch b/packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch
new file mode 100644
index 0000000000..2495b9b3f7
--- /dev/null
+++ b/packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch
@@ -0,0 +1,554 @@
+Index: linux-2.6.24.3/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Kconfig 2008-02-29 13:56:08.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Kconfig 2008-02-29 13:56:11.000000000 +0100
+@@ -130,6 +130,15 @@
+ This allows LEDs to be controlled by a programmable timer
+ via sysfs. If unsure, say Y.
+
++config LEDS_TRIGGER_CPU_ACTIVITY
++ tristate "LED CPU Activity Trigger"
++ depends on LEDS_TRIGGERS
++ help
++ This allows LEDs to be set to show cpu activity via sysfs.
++ The LED will blink when the cpu is active and stay steady
++ (on or off according to the trigger selected) when idle.
++ Platform support is needed for this to work. If unsure, say Y.
++
+ config LEDS_TRIGGER_IDE_DISK
+ bool "LED IDE Disk Trigger"
+ depends on LEDS_TRIGGERS && BLK_DEV_IDEDISK
+Index: linux-2.6.24.3/drivers/leds/ledtrig-cpu.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.24.3/drivers/leds/ledtrig-cpu.c 2008-02-29 13:56:11.000000000 +0100
+@@ -0,0 +1,502 @@
++/*
++ * LEDs CPU activity trigger
++ *
++ * Author: John Bowler <jbowler@acm.org>
++ *
++ * Copyright (c) 2006 John Bowler
++ *
++ * 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 <linux/ctype.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/spinlock.h>
++#include <linux/timer.h>
++#include <linux/device.h>
++
++#include <linux/leds.h>
++#include "leds.h"
++
++//#include <linux/list.h>
++//#include <linux/sysdev.h>
++
++
++/*
++ * To simplify this the LED state is given for each case of
++ * CPU state - idle or active. The LED can be:
++ *
++ * off
++ * flash - slow for idle, fast (flicker) for active
++ * on
++ *
++ * This gives two useless states - off/off and on/on
++ */
++typedef enum cpu_trigger_led_state {
++ cpu_led_off,
++ cpu_led_flash,
++ cpu_led_on,
++ cpu_led_invalid
++} cpu_trigger_led_state;
++
++static const char *const cpu_trigger_names[] = {
++ "off",
++ "flash",
++ "on",
++ "invalid"
++};
++
++/* Forward declaration - this is called back when an LED property
++ * is changed.
++ */
++static void leds_cpu_trigger_state_change(void);
++
++/*
++ * These constants define the actual mark/space of the flashing
++ * in jiffies. msecs_to_jiffies rounds up and is compile time
++ * evaluable for constant arguments. Writing the ?: stuff below
++ * this way ensures the compiler doesn't think it needs to
++ * compile in the math of msecs_to_jiffies.
++ *
++ * These values have been determined by experiment to work well
++ * for the ready/status LED on a LinkSys NSLU2 (light piped) and
++ * for the user LED on a Loft (Gateway Avila variant) board where
++ * the LED was directly visible. Light Output Varies Everywhere.
++ */
++#define LEDS_CPU_ACTIVE_MARK msecs_to_jiffies(40)
++#define LEDS_CPU_IDLE_MARK msecs_to_jiffies(800)
++#define LEDS_CPU_ACTIVE_SPACE msecs_to_jiffies(60)
++#define LEDS_CPU_IDLE_SPACE msecs_to_jiffies(800)
++
++
++/*
++ * Individual LEDs ------------------------------------------------------------
++ */
++struct cpu_trigger_data {
++ cpu_trigger_led_state active; /* Behaviour when the CPU is active. */
++ cpu_trigger_led_state idle; /* Behaviour when the CPU is idle. */
++};
++
++/*
++ * LED state change - called when the state of a single LED might
++ * have changed. Returns true if the LED is blinking. The argument
++ * is the blink state - the brightness of the blinking LED.
++ */
++static int leds_cpu_trigger_led_state_change(struct led_classdev *led,
++ int is_active, enum led_brightness brightness)
++{
++ int is_blinking = 0;
++
++ struct cpu_trigger_data *data = led->trigger_data;
++
++ /* Find the new brightness for the LED, if the LED is
++ * set to flash then the brightness passed in is the
++ * required value.
++ */
++ if (likely(data != 0))
++ switch (is_active ? data->active : data->idle) {
++ case cpu_led_off: brightness = LED_OFF; break;
++ case cpu_led_flash: is_blinking = 1; break;
++ case cpu_led_on: brightness = LED_FULL; break;
++ }
++ else
++ brightness = is_active ? LED_FULL : LED_OFF;
++
++ led_set_brightness(led, brightness);
++
++ return is_blinking;
++}
++
++/*
++ * sysfs properties, the property is output at an list of the
++ * values with the current setting enclosed in []
++ */
++static ssize_t leds_cpu_trigger_show_prop(struct device *dev,
++ struct device_attribute *attr, char *buf, size_t where)
++{
++ struct led_classdev *led = dev_get_drvdata(dev);
++ cpu_trigger_led_state item = cpu_led_invalid, i;
++ char *next;
++
++ if (likely(led->trigger_data != 0))
++ item = *(const cpu_trigger_led_state*)(
++ led->trigger_data + where);
++
++ for (i=0, next=buf; i<cpu_led_invalid; ++i) {
++ const char *name = cpu_trigger_names[i];
++ size_t len = strlen(name);
++
++ if (i == item)
++ *next++ = '[';
++ memcpy(next, name, len);
++ next += len;
++ if (i == item)
++ *next++ = ']';
++ *next++ = ' ';
++ }
++
++ next[-1] = '\n';
++ *next++ = 0;
++
++ return next - buf;
++}
++
++static ssize_t leds_cpu_trigger_show_active(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ return leds_cpu_trigger_show_prop(dev, attr, buf,
++ offsetof(struct cpu_trigger_data, active));
++}
++
++static ssize_t leds_cpu_trigger_show_idle(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ return leds_cpu_trigger_show_prop(dev, attr, buf,
++ offsetof(struct cpu_trigger_data, idle));
++}
++
++/*
++ * Any matching leading substring selects a property - so "onoffonoff"
++ * sets the property to off.
++ */
++static ssize_t leds_cpu_trigger_store_prop(struct device *dev,
++ struct device_attribute *attr, const char *buf,
++ size_t size, size_t where)
++{
++ size_t rc = 0;
++ cpu_trigger_led_state value = 0/*sic*/;
++ struct led_classdev *led;
++
++ /* ignore space characters before the value. */
++ while (rc < size && isspace(buf[rc]))
++ ++rc;
++ if (rc >= size)
++ return rc;
++
++ /* look for a simple match against the trigger name, case
++ * sensitive.
++ */
++ do {
++ const char *name = cpu_trigger_names[value];
++ size_t len = strlen(name);
++ if (len <= size && memcmp(buf+rc, name, len) == 0) {
++ rc = len;
++ break;
++ }
++ if (++value >= cpu_led_invalid)
++ return -EINVAL;
++ } while (1);
++
++ led = dev_get_drvdata(dev);
++ if (likely(led->trigger_data != 0))
++ *(cpu_trigger_led_state*)(
++ led->trigger_data + where) = value;
++
++ return rc;
++}
++
++static ssize_t leds_cpu_trigger_store_active(struct device *dev,
++ struct device_attribute *attr, const char *buf, size_t size)
++{
++ ssize_t rc = leds_cpu_trigger_store_prop(dev, attr, buf, size,
++ offsetof(struct cpu_trigger_data, active));
++ /*
++ * At least one CPU must be active (otherwise who is doing this?)
++ * Call down into the global state below to cause an update
++ * to happen now.
++ */
++ leds_cpu_trigger_state_change();
++ return rc;
++}
++
++static ssize_t leds_cpu_trigger_store_idle(struct device *dev,
++ struct device_attribute *attr, const char *buf, size_t size)
++{
++ return leds_cpu_trigger_store_prop(dev, attr, buf, size,
++ offsetof(struct cpu_trigger_data, idle));
++}
++
++static DEVICE_ATTR(active, 0644, leds_cpu_trigger_show_active,
++ leds_cpu_trigger_store_active);
++
++static DEVICE_ATTR(idle, 0644, leds_cpu_trigger_show_idle,
++ leds_cpu_trigger_store_idle);
++
++/*
++ * Activate and deactivate are called on individual LEDs when the
++ * LED trigger property is changed.
++ */
++static void leds_cpu_trigger_activate(struct led_classdev *led)
++{
++ /*
++ * The initial setting of the trigger is simple CPU activity
++ * with the LED off for idle and on for active. Consequently
++ * there is no need to mess with the global state initially,
++ * we know the CPU is active at this moment!
++ */
++ int rc;
++ struct cpu_trigger_data *data = kmalloc(sizeof *data, GFP_KERNEL);
++ if (unlikely(data == 0))
++ return;
++
++ data->active = cpu_led_on;
++ data->idle = cpu_led_off;
++ led->trigger_data = data;
++
++ rc = device_create_file(led->dev, &dev_attr_active);
++ if (rc)
++ goto err_out;
++ rc = device_create_file(led->dev, &dev_attr_idle);
++ if (rc)
++ goto err_out_active;
++
++ led_set_brightness(led, LED_FULL);
++ return;
++
++err_out_active:
++ device_remove_file(led->dev, &dev_attr_active);
++err_out:
++ led->trigger_data = NULL;
++ kfree(data);
++}
++
++static void leds_cpu_trigger_deactivate(struct led_classdev *led)
++{
++ struct cpu_trigger_data *data = led->trigger_data;
++ if (likely(data != 0)) {
++ led_set_brightness(led, LED_OFF);
++
++ device_remove_file(led->dev, &dev_attr_idle);
++ device_remove_file(led->dev, &dev_attr_active);
++
++ led->trigger_data = 0;
++ kfree(data);
++ }
++}
++
++
++/*
++ * Global state --------------------------------------------------------------
++ *
++ * This is global because the CPU state is global and we only need one timer to
++ * do this stuff.
++ */
++typedef struct leds_cpu_trigger_data {
++ struct led_trigger trigger; /* the lock in here protects everything */
++ struct timer_list timer;
++ unsigned long last_active_time; /* record of last jiffies */
++ unsigned long last_idle_time; /* record of last jiffies */
++ int count_active; /* number of active CPUs */
++} leds_cpu_trigger_data;
++
++/*
++ * Mark state - uses the current time (jiffies) to work out
++ * whether this is a mark or space.
++ */
++static int leds_cpu_trigger_mark(struct leds_cpu_trigger_data *data,
++ unsigned long now) {
++ if (data->count_active > 0) {
++ unsigned long elapsed = now - data->last_active_time;
++ elapsed %= LEDS_CPU_ACTIVE_SPACE + LEDS_CPU_ACTIVE_MARK;
++ data->last_active_time = now - elapsed;
++ return elapsed > LEDS_CPU_ACTIVE_SPACE;
++ } else {
++ unsigned long elapsed = now - data->last_idle_time;
++ elapsed %= LEDS_CPU_IDLE_SPACE + LEDS_CPU_IDLE_MARK;
++ data->last_idle_time = now - elapsed;
++ return elapsed > LEDS_CPU_IDLE_SPACE;
++ }
++}
++
++
++/*
++ * State change - given information about the nature of the
++ * (possible) state change call up to each LED to adjust its
++ * state. Returns true if any LED is blinking. The lock
++ * must be held (a read lock is adequate).
++ */
++static int leds_cpu_trigger_scan_leds(struct leds_cpu_trigger_data *data,
++ unsigned long now)
++{
++ int blinking = 0;
++ const int active = data->count_active > 0;
++ const enum led_brightness brightness =
++ leds_cpu_trigger_mark(data, now) ? LED_FULL : LED_OFF;
++ struct list_head *entry;
++
++ list_for_each(entry, &data->trigger.led_cdevs) {
++ struct led_classdev *led =
++ list_entry(entry, struct led_classdev, trig_list);
++
++ blinking |= leds_cpu_trigger_led_state_change(led,
++ active, brightness);
++ }
++
++ return blinking;
++}
++
++/*
++ * Set the timer correctly according to the current state, the lock
++ * must be held for write.
++ */
++static void leds_cpu_trigger_set_timer(struct leds_cpu_trigger_data *state,
++ unsigned long now)
++{
++ unsigned long next;
++ if (state->count_active > 0) {
++ next = state->last_active_time;
++ if (now - next > LEDS_CPU_ACTIVE_SPACE)
++ next += LEDS_CPU_ACTIVE_MARK;
++ next += LEDS_CPU_ACTIVE_SPACE;
++ } else {
++ next = state->last_idle_time;
++ if (now - next > LEDS_CPU_IDLE_SPACE)
++ next += LEDS_CPU_IDLE_MARK;
++ next += LEDS_CPU_IDLE_SPACE;
++ }
++ mod_timer(&state->timer, next);
++}
++
++/*
++ * The timer callback if the LED is currently flashing, the callback
++ * calls the state change function and, if that returns true, meaning
++ * that at least one LED is still blinking, the timer is restarted
++ * with the correct timeout.
++ */
++static void leds_cpu_trigger_timer_callback(unsigned long data)
++{
++ struct leds_cpu_trigger_data *state =
++ (struct leds_cpu_trigger_data *)data;
++
++ write_lock(&state->trigger.leddev_list_lock);
++ {
++ unsigned long now = jiffies;
++
++ /* If at least one LED is set to flash; set the timer
++ * again (this won't reset the timer set within the
++ * idle loop).
++ */
++ if (leds_cpu_trigger_scan_leds(state, now))
++ leds_cpu_trigger_set_timer(state, now);
++ }
++ write_unlock(&state->trigger.leddev_list_lock);
++}
++
++
++/*
++ * There is one global control structure, one timer and one set
++ * of state for active CPUs shared across all the LEDs. Individual
++ * LEDs say how this state to be handled. It is currently *not*
++ * possible to show per-cpu activity on individual LEDs, the code
++ * maintains a count of active CPUs and the state is only 'idle'
++ * if all CPUs are idle.
++ */
++static struct leds_cpu_trigger_data leds_cpu_trigger = {
++ .trigger = {
++ .name = "cpu",
++ .activate = leds_cpu_trigger_activate,
++ .deactivate = leds_cpu_trigger_deactivate,
++ } ,
++ .timer = TIMER_INITIALIZER(leds_cpu_trigger_timer_callback, 0,
++ (unsigned long)&leds_cpu_trigger),
++ .last_active_time = 0,
++ .last_idle_time = 0,
++ .count_active = 0,
++};
++
++/*
++ * State change - callback from an individual LED on a property change which
++ * might require a redisplay.
++ */
++static void leds_cpu_trigger_state_change() {
++ write_lock(&leds_cpu_trigger.trigger.leddev_list_lock);
++ {
++ unsigned long now = jiffies;
++
++ if (leds_cpu_trigger_scan_leds(&leds_cpu_trigger, now) &&
++ !timer_pending(&leds_cpu_trigger.timer))
++ leds_cpu_trigger_set_timer(&leds_cpu_trigger, now);
++ }
++ write_unlock(&leds_cpu_trigger.trigger.leddev_list_lock);
++}
++
++/*
++ * Called from every CPU at the start and end of the idle loop.
++ * The active count is initially 0, even though CPUs are running,
++ * so the code below must check for the resultant underflow.
++ *
++ * If the idle behaviour is 'flash' then when the timer times out
++ * it will take the CPU out of idle, set the active state (which
++ * may also be flash), drop back into idle and reset the timer to
++ * the idle timeout...
++ */
++static void leds_cpu_trigger_idle(int is_idle)
++{
++ write_lock(&leds_cpu_trigger.trigger.leddev_list_lock);
++ if ((is_idle && leds_cpu_trigger.count_active > 0 &&
++ --leds_cpu_trigger.count_active == 0) ||
++ (!is_idle && leds_cpu_trigger.count_active < num_online_cpus() &&
++ ++leds_cpu_trigger.count_active == 1)) {
++ unsigned long now = jiffies;
++
++ /* State change - the system just became idle or active,
++ * call the del_timer first in an attempt to minimise
++ * getting a timer interrupt which will take us unnecessarily
++ * out of idle (this doesn't matter).
++ */
++ del_timer(&leds_cpu_trigger.timer);
++ if (leds_cpu_trigger_scan_leds(&leds_cpu_trigger, now))
++ leds_cpu_trigger_set_timer(&leds_cpu_trigger, now);
++ }
++ write_unlock(&leds_cpu_trigger.trigger.leddev_list_lock);
++}
++
++/*
++ * Module init and exit - register the trigger, then store
++ * the idle callback in the arch-specific global. For this
++ * module to link (into the kernel) or load (into a running
++ * kernel) the architecture must define the leds_idle global.
++ */
++static int __init leds_cpu_trigger_init(void)
++{
++ int rc = led_trigger_register(&leds_cpu_trigger.trigger);
++ leds_idle = leds_cpu_trigger_idle;
++ return rc;
++}
++module_init(leds_cpu_trigger_init);
++
++static void __exit leds_cpu_trigger_exit(void)
++{
++ leds_idle = 0;
++ del_timer_sync(&leds_cpu_trigger.timer);
++ led_trigger_unregister(&leds_cpu_trigger.trigger);
++}
++module_exit(leds_cpu_trigger_exit);
++
++MODULE_AUTHOR("John Bowler <jbowler@acm.org>");
++MODULE_DESCRIPTION("CPU activity LED trigger");
++MODULE_LICENSE("Dual MIT/GPL");
+Index: linux-2.6.24.3/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Makefile 2008-02-29 13:56:08.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Makefile 2008-02-29 13:56:11.000000000 +0100
+@@ -24,3 +24,4 @@
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
+ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
+ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
++obj-$(CONFIG_LEDS_TRIGGER_CPU_ACTIVITY) += ledtrig-cpu.o
+Index: linux-2.6.24.3/include/linux/leds.h
+===================================================================
+--- linux-2.6.24.3.orig/include/linux/leds.h 2008-02-29 13:56:08.000000000 +0100
++++ linux-2.6.24.3/include/linux/leds.h 2008-02-29 13:56:11.000000000 +0100
+@@ -124,4 +124,13 @@
+ };
+
+
++/*
++ * CPU activity indication.
++ */
++/* Idle callback - call with is_idle==1 at the start of the idle loop
++ * and with is_idle==0 at the end. This symbol must be defined by
++ * the arch core to be able to use LEDS_TRIGGER_CPU_ACTIVITY
++ */
++extern void (*leds_idle)(int is_idle);
++
+ #endif /* __LINUX_LEDS_H_INCLUDED */
diff --git a/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig b/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig
index 9fecb47fa3..a49497ccb2 100644
--- a/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig
+++ b/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rt1
-# Thu Feb 14 00:07:12 2008
+# Linux kernel version: 2.6.24.3-rt3
+# Fri Feb 29 13:59:05 2008
#
# CONFIG_PPC64 is not set
@@ -60,7 +60,7 @@ CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
+# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
@@ -72,10 +72,8 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_FAIR_GROUP_SCHED is not set
+# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
@@ -95,14 +93,14 @@ CONFIG_ANON_INODES=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_SHMEM is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
+CONFIG_TINY_SHMEM=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
@@ -120,14 +118,14 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
+CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_IOSCHED="cfq"
#
# Platform support
@@ -166,7 +164,7 @@ CONFIG_PPC_MPC831x=y
#
# CONFIG_HIGHMEM is not set
CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
+CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_HZ_100 is not set
@@ -211,7 +209,7 @@ CONFIG_PROC_DEVICETREE=y
# CONFIG_PM is not set
CONFIG_SUSPEND_UP_POSSIBLE=y
CONFIG_HIBERNATION_UP_POSSIBLE=y
-CONFIG_SECCOMP=y
+# CONFIG_SECCOMP is not set
CONFIG_WANT_DEVICE_TREE=y
CONFIG_DEVICE_TREE=""
CONFIG_ISA_DMA_API=y
@@ -237,15 +235,15 @@ CONFIG_PCI_LEGACY=y
#
# Advanced setup
#
-# CONFIG_ADVANCED_OPTIONS is not set
-
-#
-# Default settings for advanced configuration options are used
-#
+CONFIG_ADVANCED_OPTIONS=y
CONFIG_HIGHMEM_START=0xfe000000
+# CONFIG_LOWMEM_SIZE_BOOL is not set
CONFIG_LOWMEM_SIZE=0x30000000
+# CONFIG_KERNEL_START_BOOL is not set
CONFIG_KERNEL_START=0xc0000000
+# CONFIG_TASK_SIZE_BOOL is not set
CONFIG_TASK_SIZE=0xc0000000
+# CONFIG_BOOT_LOAD_BOOL is not set
CONFIG_BOOT_LOAD=0x00800000
#
@@ -276,7 +274,7 @@ CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
+# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
@@ -456,25 +454,18 @@ CONFIG_IP6_NF_RAW=m
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
+# CONFIG_ATM is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not set
CONFIG_LLC=m
CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN 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=m
+# CONFIG_WAN_ROUTER is not set
CONFIG_NET_SCHED=y
#
@@ -483,7 +474,6 @@ CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RR=m
CONFIG_NET_SCH_RED=m
@@ -535,31 +525,7 @@ CONFIG_NET_SCH_FIFO=y
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
-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_CMTP is not set
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIBTSDIO is not set
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_LL is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
+# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
@@ -581,9 +547,7 @@ CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m
CONFIG_IEEE80211_SOFTMAC=m
# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
-CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=m
-CONFIG_RFKILL_LEDS=y
+# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
#
@@ -710,7 +674,7 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=32768
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
# CONFIG_CDROM_PKTCDVD is not set
-CONFIG_ATA_OVER_ETH=m
+# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_DEVICES=y
# CONFIG_PHANTOM is not set
CONFIG_EEPROM_93CX6=m
@@ -755,42 +719,7 @@ CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set
@@ -952,20 +881,6 @@ CONFIG_ZD1211RW=m
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATM_TCP is not set
-# CONFIG_ATM_LANAI is not set
-# CONFIG_ATM_ENI is not set
-# CONFIG_ATM_FIRESTREAM is not set
-# CONFIG_ATM_ZATM is not set
-# CONFIG_ATM_NICSTAR is not set
-# CONFIG_ATM_IDT77252 is not set
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_HORIZON is not set
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_FORE200E_MAYBE is not set
-# CONFIG_ATM_HE is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
@@ -977,7 +892,6 @@ CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
-CONFIG_PPPOATM=m
CONFIG_PPPOL2TP=m
# CONFIG_SLIP is not set
CONFIG_SLHC=m
@@ -986,103 +900,7 @@ CONFIG_SLHC=m
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
-CONFIG_ISDN=m
-CONFIG_ISDN_I4L=m
-# CONFIG_ISDN_PPP is not set
-# CONFIG_ISDN_AUDIO is not set
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DRV_LOOP=m
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-# CONFIG_HISAX_NO_SENDCOMPLETE is not set
-# CONFIG_HISAX_NO_LLC is not set
-# CONFIG_HISAX_NO_KEYPAD is not set
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_HDLC=y
-
-#
-# Active cards
-#
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_UNDOCREQ=y
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-# CONFIG_ISDN_CAPI_MIDDLEWARE is not set
-CONFIG_ISDN_CAPI_CAPI20=m
-# CONFIG_ISDN_CAPI_CAPIDRV is not set
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-# CONFIG_ISDN_DRV_AVMB1_B1PCIV4 is not set
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
+# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
@@ -1229,8 +1047,23 @@ CONFIG_SPI_MPC83xx=y
#
CONFIG_SPI_AT25=m
CONFIG_SPI_SPIDEV=m
-CONFIG_SPI_TLE62X0=m
-# CONFIG_W1 is not set
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_W1=y
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_MATROX is not set
+# CONFIG_W1_MASTER_DS2490 is not set
+# CONFIG_W1_MASTER_DS2482 is not set
+
+#
+# 1-wire Slaves
+#
+# CONFIG_W1_SLAVE_THERM is not set
+# CONFIG_W1_SLAVE_SMEM is not set
+# CONFIG_W1_SLAVE_DS2433 is not set
+# CONFIG_W1_SLAVE_DS2760 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
@@ -1320,8 +1153,7 @@ CONFIG_SSB_POSSIBLE=y
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
-CONFIG_DAB=y
-# CONFIG_USB_DABUSB is not set
+# CONFIG_DAB is not set
#
# Graphics support
@@ -1329,7 +1161,7 @@ CONFIG_DAB=y
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
@@ -1341,128 +1173,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
#
# Sound
#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=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=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_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5530 is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_HDA_INTEL is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-
-#
-# ALSA PowerMac devices
-#
-
-#
-# ALSA PowerPC devices
-#
-
-#
-# SPI devices
-#
-
-#
-# USB devices
-#
-CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_USX2Y is not set
-# CONFIG_SND_USB_CAIAQ is not set
-
-#
-# System on Chip audio support
-#
-# CONFIG_SND_SOC is not set
-
-#
-# SoC Audio support for SuperH
-#
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
+# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
@@ -1584,7 +1295,6 @@ CONFIG_USB_MON=y
#
# USB DSL modem support
#
-# CONFIG_USB_ATM is not set
#
# USB Gadget Support
@@ -1634,17 +1344,19 @@ CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS=m
#
# LED drivers
#
+CONFIG_LEDS_MPC8313E_RDB=m
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
@@ -1707,9 +1419,7 @@ CONFIG_UIO_CIF=m
#
# File systems
#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
@@ -1743,14 +1453,9 @@ CONFIG_AUTOFS4_FS=y
#
# 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=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
@@ -1785,7 +1490,11 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
-CONFIG_CRAMFS=y
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=1
+# CONFIG_SQUASHFS_VMALLOC is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
@@ -1797,13 +1506,10 @@ CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=m
-# CONFIG_NFSD_V3 is not set
-CONFIG_NFSD_TCP=y
+# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
@@ -1927,8 +1633,8 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_DETECT_SOFTLOCKUP is not set
# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
@@ -1936,11 +1642,6 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_EVENT_TRACE is not set
-# CONFIG_FUNCTION_TRACE is not set
-# CONFIG_WAKEUP_TIMING is not set
-# CONFIG_CRITICAL_PREEMPT_TIMING is not set
-# CONFIG_CRITICAL_IRQSOFF_TIMING is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
@@ -1951,7 +1652,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_FAULT_INJECTION is not set
-CONFIG_HAVE_MCOUNT=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_EVENT_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_PREEMPT_TRACE is not set
# CONFIG_SAMPLES is not set
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
diff --git a/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch b/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch
new file mode 100644
index 0000000000..157df51c04
--- /dev/null
+++ b/packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch
@@ -0,0 +1,207 @@
+Index: linux-2.6.24.3/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Kconfig 2008-02-26 01:20:20.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Kconfig 2008-02-29 00:43:28.000000000 +0100
+@@ -114,6 +114,12 @@
+ help
+ This option enables support for the CM-X270 LEDs.
+
++config LEDS_MPC8313E_RDB
++ tristate "LED Support for MPC8313E-RDB LEDs"
++ depends on LEDS_CLASS && PPC_83xx
++ help
++ This option enables support for the LEDs on MPC8313E-RDB board.
++
+ comment "LED Triggers"
+
+ config LEDS_TRIGGERS
+Index: linux-2.6.24.3/drivers/leds/leds-mpc8313e-rdb.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.24.3/drivers/leds/leds-mpc8313e-rdb.c 2008-02-29 01:36:07.000000000 +0100
+@@ -0,0 +1,173 @@
++/*
++ * drivers/leds/leds-mpc8313e-rdb.c
++ * Copyright (C) 2007-2008 Jeremy Laine <jeremy.laine@bolloretelecom.eu>
++ * Copyright (C) 2007-2008 Leon Woestenberg <leon@sidebranch.com>
++ *
++ * 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.
++ *
++ * MPC8313E-RDB LEDs driver
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/ioport.h>
++#include <linux/leds.h>
++#include <linux/err.h>
++#include <asm/io.h>
++
++/* note the board is not wired for read access from the LED buffer */
++#define LEDS_BASE 0xfa000000
++#define LEDS_SIZE 0x2
++
++static struct platform_device *leds_pdev = NULL;
++static struct resource *led_mem = NULL;
++static void *led_io = NULL;
++static u8 led_state = 0xff;
++
++struct mpc8313_led {
++ struct led_classdev cdev;
++ u8 bitmask;
++};
++
++static void mpc8313leds_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++ struct mpc8313_led *led_dev = container_of(led_cdev, struct mpc8313_led, cdev);
++ if (value)
++ led_state &= ~led_dev->bitmask;
++ else
++ led_state |= led_dev->bitmask;
++ iowrite8(led_state, led_io);
++}
++
++/* led0 is red, led1 is yellow, led2-7 are green */
++static struct mpc8313_led mpc8313_leds[] = {
++ {
++ .cdev = {
++ .name = "mpc8313:led0",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 128,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led1",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 64,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led2",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 32,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led3",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 16,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led4",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 8,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led5",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 4,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led6",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 2,
++ },
++ {
++ .cdev = {
++ .name = "mpc8313:led7",
++ .brightness_set = mpc8313leds_set,
++ },
++ .bitmask = 1,
++ },
++};
++
++static int mpc8313leds_probe(struct platform_device *pdev)
++{
++ int i;
++ int ret;
++
++ for (i = ret = 0; ret >= 0 && i < ARRAY_SIZE(mpc8313_leds); i++) {
++ ret = led_classdev_register(&pdev->dev,
++ &mpc8313_leds[i].cdev);
++ }
++
++ if (ret < 0 && i > 1) {
++ for (i = i - 2; i >= 0; i--)
++ led_classdev_unregister(&mpc8313_leds[i].cdev);
++ }
++
++ return ret;
++}
++
++static int mpc8313leds_remove(struct platform_device *pdev)
++{
++ int i;
++
++ for (i = ARRAY_SIZE(mpc8313_leds) - 1; i >= 0; i--)
++ led_classdev_unregister(&mpc8313_leds[i].cdev);
++
++ return 0;
++}
++
++static struct platform_driver mpc8313leds_driver = {
++ .driver = {
++ .name = "mpc8313-leds",
++ .owner = THIS_MODULE,
++ },
++ .probe = mpc8313leds_probe,
++ .remove = mpc8313leds_remove,
++};
++
++static int __init mpc8313leds_init(void)
++{
++ if (!(led_mem = request_mem_region(LEDS_BASE, LEDS_SIZE, "mpc8313-leds")))
++ return -ENOMEM;
++ if (!(led_io = ioremap(LEDS_BASE, LEDS_SIZE)))
++ {
++ release_mem_region(LEDS_BASE, LEDS_SIZE);
++ led_mem = NULL;
++ return -ENOMEM;
++ }
++ iowrite8(led_state, led_io);
++
++ leds_pdev = platform_device_register_simple("mpc8313-leds", -1, NULL, 0);
++
++ return platform_driver_register(&mpc8313leds_driver);
++}
++
++static void __exit mpc8313leds_exit(void)
++{
++ if (led_mem) release_mem_region(LEDS_BASE, LEDS_SIZE);
++ led_mem = NULL;
++ platform_driver_unregister(&mpc8313leds_driver);
++
++ platform_device_unregister(leds_pdev);
++}
++
++module_init(mpc8313leds_init);
++module_exit(mpc8313leds_exit);
++
++MODULE_AUTHOR("Jeremy Laine <jeremy.laine@bolloretelecom.eu>");
++MODULE_DESCRIPTION("MPC8313E-RDB LED driver");
++MODULE_LICENSE("GPL");
+Index: linux-2.6.24.3/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Makefile 2008-02-26 01:20:20.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Makefile 2008-02-29 00:43:28.000000000 +0100
+@@ -19,6 +19,7 @@
+ obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-cobalt-raq.o
+ obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
+ obj-$(CONFIG_LEDS_CM_X270) += leds-cm-x270.o
++obj-$(CONFIG_LEDS_MPC8313E_RDB) += leds-mpc8313e-rdb.o
+
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
diff --git a/packages/linux/linux-rt-2.6.24/powerpc-clockres.patch b/packages/linux/linux-rt-2.6.24/powerpc-clockres.patch
new file mode 100644
index 0000000000..a0cf05b44e
--- /dev/null
+++ b/packages/linux/linux-rt-2.6.24/powerpc-clockres.patch
@@ -0,0 +1,47 @@
+Index: linux-2.6.24/arch/powerpc/kernel/asm-offsets.c
+===================================================================
+--- linux-2.6.24.orig/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:09.000000000 +0100
++++ linux-2.6.24/arch/powerpc/kernel/asm-offsets.c 2008-02-16 13:54:30.000000000 +0100
+@@ -312,7 +312,7 @@
+ DEFINE(CLOCK_REALTIME, CLOCK_REALTIME);
+ DEFINE(CLOCK_MONOTONIC, CLOCK_MONOTONIC);
+ DEFINE(NSEC_PER_SEC, NSEC_PER_SEC);
+- DEFINE(CLOCK_REALTIME_RES, TICK_NSEC);
++ DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC);
+
+ #ifdef CONFIG_BUG
+ DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry));
+Index: linux-2.6.24/include/linux/hrtimer.h
+===================================================================
+--- linux-2.6.24.orig/include/linux/hrtimer.h 2008-02-16 13:54:09.000000000 +0100
++++ linux-2.6.24/include/linux/hrtimer.h 2008-02-16 13:54:33.000000000 +0100
+@@ -223,11 +223,13 @@
+ * idea of the (in)accuracy of timers. Timer values are rounded up to
+ * this resolution values.
+ */
+-# define KTIME_HIGH_RES (ktime_t) { .tv64 = 1 }
++# define HIGH_RES_NSEC 1
++# define KTIME_HIGH_RES (ktime_t) { .tv64 = HIGH_RES_NSEC }
++# define MONOTONIC_RES_NSEC HIGH_RES_NSEC
+ # define KTIME_MONOTONIC_RES KTIME_HIGH_RES
+
+ #else
+-
++# define MONOTONIC_RES_NSEC LOW_RES_NSEC
+ # define KTIME_MONOTONIC_RES KTIME_LOW_RES
+
+ /*
+Index: linux-2.6.24/include/linux/ktime.h
+===================================================================
+--- linux-2.6.24.orig/include/linux/ktime.h 2008-02-16 13:54:09.000000000 +0100
++++ linux-2.6.24/include/linux/ktime.h 2008-02-16 13:54:36.000000000 +0100
+@@ -316,7 +316,8 @@
+ * idea of the (in)accuracy of timers. Timer values are rounded up to
+ * this resolution values.
+ */
+-#define KTIME_LOW_RES (ktime_t){ .tv64 = TICK_NSEC }
++#define LOW_RES_NSEC TICK_NSEC
++#define KTIME_LOW_RES (ktime_t){ .tv64 = LOW_RES_NSEC }
+
+ /* Get the monotonic time in timespec format: */
+ extern void ktime_get_ts(struct timespec *ts);
diff --git a/packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch b/packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch
new file mode 100644
index 0000000000..2949374818
--- /dev/null
+++ b/packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch
@@ -0,0 +1,12 @@
+Index: linux-2.6.24.3/kernel/sysctl.c
+===================================================================
+--- linux-2.6.24.3.orig/kernel/sysctl.c 2008-02-29 00:52:45.000000000 +0100
++++ linux-2.6.24.3/kernel/sysctl.c 2008-02-29 00:52:59.000000000 +0100
+@@ -47,6 +47,7 @@
+ #include <linux/acpi.h>
+ #include <linux/reboot.h>
+ #include <linux/ftrace.h>
++#include <linux/profile.h>
+
+ #include <asm/uaccess.h>
+ #include <asm/processor.h>
diff --git a/packages/linux/linux-rt_2.6.24.bb b/packages/linux/linux-rt_2.6.24.bb
index 38bdfef48b..8081f44e93 100644
--- a/packages/linux/linux-rt_2.6.24.bb
+++ b/packages/linux/linux-rt_2.6.24.bb
@@ -6,17 +6,21 @@ DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
DEPENDS_append_mpc8313e-rdb = " dtc-native"
-PR = "r0"
+PR = "r3"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
- ${KERNELORG_MIRROR}/pub/linux/kernel/projects/rt/patch-2.6.24-rt1.bz2;patch=1 \
- file://defconfig \
- "
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.3.tar.bz2 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/projects/rt/patch-2.6.24.3-rt3.bz2;patch=1;p=1 \
+ http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \
+ file://sysctl_missing_include.patch;patch=1 \
+ file://powerpc-clockres.patch;patch=1 \
+ file://leds-cpu-activity.patch;patch=1 \
+ file://leds-cpu-activity-powerpc.patch;patch=1 \
+ file://defconfig"
-S = "${WORKDIR}/linux-2.6.24"
+S = "${WORKDIR}/linux-2.6.24.3"
-#SRC_URI_append_mpc8313e-rdb = "\
-# file://mpc8313e-rdb-leds.patch;patch=1"
+SRC_URI_append_mpc8313e-rdb = "\
+ file://mpc8313e-rdb-leds.patch;patch=1"
# file://mpc831x-nand.patch;patch=1 \
# file://mpc8313e-rdb-rtc.patch;patch=1 "
diff --git a/packages/linux/linux_2.6.23.bb b/packages/linux/linux_2.6.23.bb
index f754e6be83..d3989a42ef 100644
--- a/packages/linux/linux_2.6.23.bb
+++ b/packages/linux/linux_2.6.23.bb
@@ -2,7 +2,6 @@ require linux.inc
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_cm-x270 = "1"
DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
DEFAULT_PREFERENCE_mpc8323e-rdb = "1"
DEFAULT_PREFERENCE_avr32 = "1"
@@ -10,7 +9,7 @@ DEFAULT_PREFERENCE_avr32 = "1"
DEPENDS_append_mpc8313e-rdb = " dtc-native"
DEPENDS_append_mpc8323e-rdb = " dtc-native"
-PR = "r11"
+PR = "r12"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
file://binutils-buildid-arm.patch;patch=1 \
diff --git a/packages/linux/linux_2.6.24.bb b/packages/linux/linux_2.6.24.bb
index 64a2a58361..a45db10f1c 100644
--- a/packages/linux/linux_2.6.24.bb
+++ b/packages/linux/linux_2.6.24.bb
@@ -3,17 +3,22 @@ require linux.inc
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_gesbc-9302 = "1"
+DEFAULT_PREFERENCE_cm-x270 = "1"
DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
DEPENDS_append_mpc8313e-rdb = " dtc-native"
-PR = "r2"
+PR = "r7"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
- file://defconfig \
- "
+ http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \
+ file://powerpc-clockres.patch;patch=1 \
+ file://leds-cpu-activity.patch;patch=1 \
+ file://leds-cpu-activity-powerpc.patch;patch=1 \
+ file://defconfig"
-S = "${WORKDIR}/linux-2.6.24"
+# Real-time preemption. This is experimental and requires a different defconfig.
+#SRC_URI += " http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.24-rt1.bz2;patch=1"
SRC_URI_append_gesbc-9302 = " \
file://0001-gesbc-nand.patch;patch=1 \
@@ -21,21 +26,62 @@ SRC_URI_append_gesbc-9302 = " \
file://0005-ep93xx-reboot.patch;patch=1 \
"
+SRC_URI_append_mpc8313e-rdb = "\
+ file://mpc831x-nand.patch;patch=1 \
+ file://mpc8313e-rdb-leds.patch;patch=1 \
+ file://mpc8313e-rdb-rtc.patch;patch=1"
+
CMDLINE_gesbc-9302 = "console=ttyAM0 root=mtd5 rootfstype=jffs2 mtdparts=GESBC-NAND:64m(app),-(data)"
-# work in progress
-#SRC_URI_append_mpc8313e-rdb = "\
-# file://mpc8313e-rdb-leds.patch;patch=1"
-# file://mpc831x-nand.patch;patch=1 \
-# file://mpc8313e-rdb-rtc.patch;patch=1 "
+SRC_URI_append_cm-x270 = " \
+ file://0001-cm-x270-match-type.patch;patch=1 \
+ file://0002-ramdisk_load.patch;patch=1 \
+ file://0003-mmcsd_large_cards-r0.patch;patch=1 \
+ file://0004-cm-x270-nand-simplify-name.patch;patch=1 \
+ file://0005-add-display-set-default-16bpp.patch;patch=1 \
+ "
-# real-time preemption patch
-SRC_URI_append_mpc8313e-rdb = " http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.24-rt1.bz2;patch=1 file://defconfig-rt "
+CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
FILES_kernel-image_gesbc-9302 = ""
DEVICETREE_mpc8313e-rdb = "arch/${ARCH}/boot/dts/mpc8313erdb.dts"
DEVICETREE_FLAGS_mpc8313e-rdb = "-R 8 -S 0x3000"
+python do_compulab_image() {
+ import os
+ import os.path
+ import struct
+
+ machine = bb.data.getVar('MACHINE', d, 1)
+ if machine == "cm-x270":
+ deploy_dir = bb.data.getVar('DEPLOY_DIR_IMAGE', d, 1)
+ kernel_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.bin')
+ img_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.cmx270')
+
+ fo = open(img_file, 'wb')
+
+ image_data = open(kernel_file, 'rb').read()
+
+ # first write size into first 4 bytes
+ size_s = struct.pack('i', len(image_data))
+
+ # truncate size if we are running on a 64-bit host
+ size_s = size_s[:4]
+
+ fo.write(size_s)
+ fo.write(image_data)
+ fo.close()
+
+ os.chdir(deploy_dir)
+ link_file = bb.data.expand('${KERNEL_IMAGE_SYMLINK_NAME}', d) + '.cmx270'
+ img_file = bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.cmx270'
+ try:
+ os.unlink(link_file)
+ except:
+ pass
+ os.symlink(img_file, link_file)
+}
+
do_devicetree_image() {
if test -n "${DEVICETREE}" ; then
@@ -47,5 +93,6 @@ do_devicetree_image() {
fi
}
+addtask compulab_image after do_deploy before do_package
addtask devicetree_image after do_deploy before do_package
diff --git a/packages/nonworking/efl/ecore/.mtn2git_empty b/packages/ltp/ltp-20080229/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/ecore/.mtn2git_empty
+++ b/packages/ltp/ltp-20080229/.mtn2git_empty
diff --git a/packages/ltp/ltp-20080229/ballista.patch b/packages/ltp/ltp-20080229/ballista.patch
new file mode 100644
index 0000000000..d318480208
--- /dev/null
+++ b/packages/ltp/ltp-20080229/ballista.patch
@@ -0,0 +1,22 @@
+Index: ltp-full-20080229/testcases/ballista/Makefile
+===================================================================
+--- ltp-full-20080229.orig/testcases/ballista/Makefile 2008-02-29 08:55:46.000000000 +0100
++++ ltp-full-20080229/testcases/ballista/Makefile 2008-03-01 01:21:16.000000000 +0100
+@@ -1,4 +1,4 @@
+-ifeq ($(shell perl -v &> /dev/null && echo yes),yes)
++ifeq ($(shell perl -v > /dev/null && echo yes),yes)
+
+ all: bal
+
+Index: ltp-full-20080229/testcases/ballista/ballista/Makefile
+===================================================================
+--- ltp-full-20080229.orig/testcases/ballista/ballista/Makefile 2008-03-01 01:21:16.000000000 +0100
++++ ltp-full-20080229/testcases/ballista/ballista/Makefile 2008-03-01 01:22:22.000000000 +0100
+@@ -37,6 +37,7 @@
+
+ # build everything by default
+ all : callGen callGen_standAlone genCodeCreator replacer ballista
++ rm blexer bparser mut.out
+
+ # run-of-of-the-mill rules for utility programs
+ callGen: callGen.cpp
diff --git a/packages/ltp/ltp-20080229/cross-compile.patch b/packages/ltp/ltp-20080229/cross-compile.patch
new file mode 100644
index 0000000000..456bf4f135
--- /dev/null
+++ b/packages/ltp/ltp-20080229/cross-compile.patch
@@ -0,0 +1,57 @@
+Index: ltp-full-20080229/Makefile
+===================================================================
+--- ltp-full-20080229.orig/Makefile 2008-02-29 08:55:41.000000000 +0100
++++ ltp-full-20080229/Makefile 2008-03-01 01:14:35.000000000 +0100
+@@ -33,11 +33,12 @@
+ endif
+ ifdef CROSS_COMPILER
+ CC=$(CROSS_COMPILER)gcc
++CPP=$(CROSS_COMPILER)g++
+ AR=$(CROSS_COMPILER)ar
+ endif
+
+ export CFLAGS += -Wall $(CROSS_CFLAGS)
+-export CC AR LDFLAGS
++export CC AR LDFLAGS CPP
+
+ -include config.mk
+
+Index: ltp-full-20080229/testcases/ballista/ballista/Makefile
+===================================================================
+--- ltp-full-20080229.orig/testcases/ballista/ballista/Makefile 2008-02-29 08:55:46.000000000 +0100
++++ ltp-full-20080229/testcases/ballista/ballista/Makefile 2008-03-01 01:14:35.000000000 +0100
+@@ -24,7 +24,7 @@
+ ########################
+
+ # compiler info for the host
+-CC = g++ -Wno-deprecated
++CC = $(CPP) -Wno-deprecated
+ CFLAGS = -w -O ${TARGET_DEF}
+ CLIBS = -lpthread -ldl -lnsl -rdynamic
+ TEST_MAN_FILE = selfHost
+Index: ltp-full-20080229/testcases/kernel/security/filecaps/Makefile
+===================================================================
+--- ltp-full-20080229.orig/testcases/kernel/security/filecaps/Makefile 2008-03-01 01:14:49.000000000 +0100
++++ ltp-full-20080229/testcases/kernel/security/filecaps/Makefile 2008-03-01 01:15:05.000000000 +0100
+@@ -20,7 +20,6 @@
+
+ SCRIPTS = filecapstest.sh checkforlibcap.sh checkforfilecaps.sh
+ ifeq ($(shell sh checkforlibcap.sh yesno),yes)
+-CC=gcc
+
+ CFLAGS += -I../../../../include -Wall
+ LDLIBS += -L../../../../lib -lltp -lcap
+@@ -29,11 +28,11 @@
+ TARGETS = $(patsubst %.c,%,$(SRCS))
+ INSTALLTARGETS = $(TARGETS) $(SCRIPTS)
+ all: $(TARGETS)
+- gcc -o checkforlibcap gotlibcap.c
++ $(CC) -o checkforlibcap gotlibcap.c
+ else
+ all:
+ @echo "setcap or xattr headers not installed. Please install libcap from"; echo "ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/libcap2"; echo "Then make clean in ltp or ltp/testcases/kernel/security/filecaps, and recompile ltp."
+- gcc -o checkforlibcap nolibcap.c
++ $(CC) -o checkforlibcap nolibcap.c
+ TARGETS =
+ endif
+
diff --git a/packages/ltp/ltp-20080229/ltp-run b/packages/ltp/ltp-20080229/ltp-run
new file mode 100644
index 0000000000..5d97f00532
--- /dev/null
+++ b/packages/ltp/ltp-20080229/ltp-run
@@ -0,0 +1,4 @@
+#!/bin/sh
+/usr/libexec/ltp/runltp -t 180s > /home/root/testlog.txt
+echo "Benchmark run finished...."
+touch /home/root/testfinished.flag
diff --git a/packages/ltp/ltp-20080229/posix_shell_compat.patch b/packages/ltp/ltp-20080229/posix_shell_compat.patch
new file mode 100644
index 0000000000..b88d598deb
--- /dev/null
+++ b/packages/ltp/ltp-20080229/posix_shell_compat.patch
@@ -0,0 +1,33 @@
+Index: ltp-full-20080229/testcases/network/generate.sh
+===================================================================
+--- ltp-full-20080229.orig/testcases/network/generate.sh 2008-03-01 00:34:24.000000000 +0100
++++ ltp-full-20080229/testcases/network/generate.sh 2008-03-01 00:35:13.000000000 +0100
+@@ -53,22 +53,24 @@
+ $makeit $data_dir/$jumbo_file $jumbo_size
+
+ if [ ! -e $data_dir/bin.sm ] ; then
+- cnt=6
+- while [ $((cnt=cnt-1)) -ge 0 ] ; do
++ cnt=5
++ while [ $cnt -ge 0 ] ; do
+ gzip -1 -c datafiles/ascii.sm >> $data_dir/bin.sm
++ cnt=$(($cnt-1))
+ done
+ fi
+
+ genfile() {
+ local input=$data_dir/$1 output=$data_dir/$2
+- local cnt=20
++ local cnt=19
+
+ if [ -e $output ] ; then
+ return 0
+ fi
+
+- while [ $((cnt=cnt-1)) -ge 0 ] ; do
++ while [ $cnt -ge 0 ] ; do
+ cat $input >> $output
++ cnt=$(($cnt-1))
+ done
+ }
+
diff --git a/packages/ltp/ltp-20080229/runltp-path.patch b/packages/ltp/ltp-20080229/runltp-path.patch
new file mode 100644
index 0000000000..d117b3c24e
--- /dev/null
+++ b/packages/ltp/ltp-20080229/runltp-path.patch
@@ -0,0 +1,24 @@
+Index: runltp
+===================================================================
+--- ltp-full-20060412.orig/runltp 2005-03-12 03:26:14.000000000 +0800
++++ ltp-full-20060412/runltp 2006-04-26 16:42:13.000000000 +0800
+@@ -43,7 +43,7 @@
+ echo "FATAL: unable to change directory to $(dirname $0)"
+ exit 1
+ }
+- export LTPROOT=${PWD}
++ export LTPROOT=/usr/libexec/ltp
+ export TMPBASE="/tmp"
+ export TMP="${TMPBASE}/ltp-$$"
+ export PATH="${PATH}:${LTPROOT}/testcases/bin"
+--- ltp-full-20060412.orig/runltp 2007-02-28 20:40:17.000000000 -0800
++++ ltp-full-20060412/runltp 2007-04-01 11:38:38.000000000 -0700
+@@ -285,7 +285,7 @@
+ ${LTPROOT}/runtest/sched ${LTPROOT}/runtest/math \
+ ${LTPROOT}/runtest/nptl ${LTPROOT}/runtest/pty
+ do
+- [ -a "$SCENFILES" ] || \
++ [ -e "$SCENFILES" ] || \
+ {
+ echo "FATAL: missing scenario file $SCENFILES"
+ exit 1
diff --git a/packages/ltp/ltp_20080229.bb b/packages/ltp/ltp_20080229.bb
new file mode 100644
index 0000000000..6ad102023b
--- /dev/null
+++ b/packages/ltp/ltp_20080229.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "Linux Test Project"
+HOMEPAGE = "http://ltp.sourceforge.net"
+LICENSE = "GPL"
+SECTION = "console/utils"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.tgz \
+ file://cross-compile.patch;patch=1 \
+ file://runltp-path.patch;patch=1 \
+ file://ltp-run \
+ file://posix_shell_compat.patch;patch=1 \
+ file://ballista.patch;patch=1"
+
+S = "${WORKDIR}/ltp-full-${PV}"
+
+EXTRA_OEMAKE_append = " CROSS_COMPILE=${HOST_PREFIX}"
+
+FILES_${PN}-dbg = "${libexecdir}/ltp/*/*/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/trigo/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/iperb/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/exp_log/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/power/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/bessel/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/abs/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/atof/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/nextafter/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/fptests/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/f00f/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/crash/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/pan/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/network/ipv6/*/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/network/rpc/rpc01/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/bin/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/kernel/syscalls/*/.debug"
+#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/kernel/mem/*/.debug"
+
+do_compile(){
+ oe_runmake CROSS_COMPILE=${HOST_PREFIX}
+}
+
+do_install(){
+ export CREATE=0
+ export LTPROOT=${D}/usr/libexec/ltp/testcases
+
+ oe_runmake install
+
+ install -d ${D}/usr/libexec/ltp/testcases
+ install -d ${D}/usr/libexec/ltp/pan
+
+ #install testcases
+ #install -m 0755 ${WORKDIR}/testcases ${D}/usr/libexec/ltp/testcases
+ #install -m 0755 ${WORKDIR}/testcases ${D}/usr/libexec/ltp/
+
+ # treecopy testcases pan/pan runtest ver_linux IDcheck.sh \
+ # ${D}/usr/libexec/ltp
+ cp testcases ${D}/usr/libexec/ltp/ -rfp
+ rm ${D}/usr/libexec/ltp/ballista -rf
+ cp pan/pan ${D}/usr/libexec/ltp/pan -p
+ cp runtest ${D}/usr/libexec/ltp/ -rfp
+ cp ver_linux ${D}/usr/libexec/ltp/ -p
+ cp runltp ${D}/usr/libexec/ltp/ -p
+ cp IDcheck.sh ${D}/usr/libexec/ltp/ -p
+}
+
diff --git a/packages/ltrace/ltrace_0.4.bb b/packages/ltrace/ltrace_0.4.bb
index e679e25b8d..19a0d43e33 100644
--- a/packages/ltrace/ltrace_0.4.bb
+++ b/packages/ltrace/ltrace_0.4.bb
@@ -17,7 +17,7 @@ EXTRA_OEMAKE = "INSTALL_FILE='$(INSTALL) -p -m 0644' \
INSTALL_SCRIPT='$(INSTALL) -p -m 0755' \
INSTALL_DIR='$(INSTALL) -p -d -m 0755' "
-export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_DIR}/${TARGET_SYS}/include"
+export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_INCDIR}"
do_configure_prepend() {
ln -sf ./linux-gnu sysdeps/linux-gnueabi
diff --git a/packages/madwifi/madwifi-ng_r.inc b/packages/madwifi/madwifi-ng_r.inc
index 22cf332420..c6bee78e22 100644
--- a/packages/madwifi/madwifi-ng_r.inc
+++ b/packages/madwifi/madwifi-ng_r.inc
@@ -55,6 +55,6 @@ else
fi
}
-PACKAGES = "${PN}-dbg ${PN}-modules ${PN}-tools"
+PACKAGES += "${PN}-modules ${PN}-tools"
FILES_${PN}-modules = "/lib/modules/"
FILES_${PN}-tools = "/usr/"
diff --git a/packages/maemo/xpext_1.0-5.bb b/packages/maemo/xpext_1.0-5.bb
index cc40205c50..71fcad27cf 100644
--- a/packages/maemo/xpext_1.0-5.bb
+++ b/packages/maemo/xpext_1.0-5.bb
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r1"
LICENSE= "MIT"
DESCRIPTION = "X Server Nokia 770 extensions library"
SECTION = "x11/libs"
@@ -18,10 +18,5 @@ do_configure_prepend () {
}
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DATADIR}/man
+ autotools_stage_all
}
diff --git a/packages/maemo/xsp_1.0.0-8.bb b/packages/maemo/xsp_1.0.0-8.bb
index d5f94c64cd..f4f872e57f 100644
--- a/packages/maemo/xsp_1.0.0-8.bb
+++ b/packages/maemo/xsp_1.0.0-8.bb
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r1"
LICENSE= "MIT"
DESCRIPTION = "X Server Nokia 770 extensions library"
SECTION = "x11/libs"
@@ -11,10 +11,5 @@ S = "${WORKDIR}/Xsp"
inherit autotools pkgconfig
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DATADIR}/man
+ autotools_stage_all
}
diff --git a/packages/maemo4/hildon-1/buttonbox.patch b/packages/maemo4/hildon-1/buttonbox.patch
deleted file mode 100644
index cfea60d000..0000000000
--- a/packages/maemo4/hildon-1/buttonbox.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/hildon-code-dialog.c 2007-08-07 11:46:03.000000000 +0200
-+++ hildon-1/src/hildon-code-dialog.c 2007-08-07 11:46:16.468400000 +0200
-@@ -277,7 +277,7 @@
- gtk_container_add (GTK_CONTAINER (priv->buttons[3][2]), image1);
- dialog_action_area1 = GTK_DIALOG (dialog)->action_area;
- gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1),
-- GTK_BUTTONBOX_CENTER);
-+ GTK_BUTTONBOX_DEFAULT);
-
- okButton = gtk_dialog_add_button (GTK_DIALOG (dialog) ,DEVICELOCK_OK,
- GTK_RESPONSE_OK);
diff --git a/packages/maemo4/hildon-base-lib_0.11.1.bb b/packages/maemo4/hildon-base-lib_0.11.1.bb
deleted file mode 100644
index ce3f667a00..0000000000
--- a/packages/maemo4/hildon-base-lib_0.11.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-LICENSE = "LGPL"
-
-DEPENDS = "gtk+ virtual/libx11"
-
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-1.tar.gz"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
-
diff --git a/packages/maemo4/hildon-lgpl_0.12.1.bb b/packages/maemo4/hildon-lgpl_0.12.1.bb
deleted file mode 100644
index 02bbad9dd2..0000000000
--- a/packages/maemo4/hildon-lgpl_0.12.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-LICENSE = "LGPL"
-
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-4.tar.gz"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/maemo4/hildon-libs_0.15.1.bb b/packages/maemo4/hildon-libs_0.15.1.bb
deleted file mode 100644
index 4c88d322ff..0000000000
--- a/packages/maemo4/hildon-libs_0.15.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia hildon librares"
-
-DEPENDS = "gtk-doc-native libosso libmatchbox"
-
-PR = "r0"
-
-SRC_URI = "http://launchpadlibrarian.net/7598381/hildon-libs_0.15.1-1ubuntu2.tar.gz"
-
-inherit autotools pkgconfig lib_package
-
-S = "${WORKDIR}/${PN}"
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.ac
- touch gtk-doc.make
-}
-
-do_stage() {
- autotools_stage_all
-}
-
-
-FILES_${PN} += "${libdir}/hildon-widgets/*"
-
diff --git a/packages/maemo4/hildon-thumbnail.inc b/packages/maemo4/hildon-thumbnail.inc
new file mode 100644
index 0000000000..46468e1ca1
--- /dev/null
+++ b/packages/maemo4/hildon-thumbnail.inc
@@ -0,0 +1,19 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Nokia hildon thumbnail library"
+
+DEPENDS = "libhildonmime"
+
+inherit autotools pkgconfig lib_package
+
+do_configure_prepend() {
+ # remove Werror from OSSO_CFLAGS
+ sed -i s:-Werror::g configure.ac
+
+ touch gtk-doc.make
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+
diff --git a/packages/maemo4/hildon-thumbnail_0.11.bb b/packages/maemo4/hildon-thumbnail_0.11.bb
deleted file mode 100644
index 54646e7630..0000000000
--- a/packages/maemo4/hildon-thumbnail_0.11.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia hildon thumbnail library"
-
-DEPENDS = "libhildonmime hildon-libs osso-thumbnail"
-
-PR = "r0"
-
-SRC_URI = "http://repository.maemo.org/pool/sardine/main/source/h/${PN}/${PN}_${PV}.tar.gz \
- "
-
-inherit autotools pkgconfig lib_package
-
-S = "${WORKDIR}/${PV}"
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.ac
- touch gtk-doc.make
-}
-
-do_stage() {
- autotools_stage_all
-}
-
-
diff --git a/packages/maemo4/hildon-thumbnail_0.14.bb b/packages/maemo4/hildon-thumbnail_0.14.bb
new file mode 100644
index 0000000000..4098e465b1
--- /dev/null
+++ b/packages/maemo4/hildon-thumbnail_0.14.bb
@@ -0,0 +1,10 @@
+require hildon-thumbnail.inc
+
+DEPENDS = "libhildon libosso osso-gnome-vfs2"
+
+PR = "r0"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/h/${PN}/${PN}_${PV}.tar.gz \
+ "
+
+
diff --git a/packages/maemo4/libconic/dbus-api-update.patch b/packages/maemo4/libconic/dbus-api-update.patch
deleted file mode 100644
index 3542cecae8..0000000000
--- a/packages/maemo4/libconic/dbus-api-update.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- /tmp/conicconnection.c 2007-11-12 12:45:37.000000000 +0100
-+++ libconic-0.13/conic/conicconnection.c 2007-11-12 12:46:04.663234000 +0100
-@@ -473,7 +473,7 @@
- ICD_DBUS_PATH,
- &icd_vtable,
- NULL)) {
-- dbus_connection_disconnect(dbus_connection);
-+ dbus_connection_close(dbus_connection);
- dbus_connection_unref(dbus_connection);
- dbus_connection = NULL;
- }
---- /tmp/Makefile.am 2007-11-12 12:47:22.000000000 +0100
-+++ libconic-0.13/Makefile.am 2007-11-12 12:47:29.773234000 +0100
-@@ -1,4 +1,4 @@
--SUBDIRS = conic tests
-+SUBDIRS = conic
-
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = conic.pc
diff --git a/packages/maemo4/libconic_0.13.bb b/packages/maemo4/libconic_0.13.bb
index 511abb70cc..5f57cf77b1 100644
--- a/packages/maemo4/libconic_0.13.bb
+++ b/packages/maemo4/libconic_0.13.bb
@@ -1,13 +1,15 @@
DESCRIPTION = "Internet connection library"
LICENSE = "LGPL"
-DEPENDS = "dbus-glib gconf"
+DEPENDS = "dbus gconf osso-ic-oss"
+
+PR = "r1"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/libc/${PN}/${PN}_${PV}-0.8.tar.gz"
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}.tar.gz \
- file://dbus-api-update.patch;patch=1"
inherit autotools pkgconfig
do_stage() {
- autotools_stage_all
+ autotools_stage_all
}
diff --git a/packages/maemo4/libgpsbt_0.1.bb b/packages/maemo4/libgpsbt_0.1.bb
index 59d0db9fbc..beca783a0b 100644
--- a/packages/maemo4/libgpsbt_0.1.bb
+++ b/packages/maemo4/libgpsbt_0.1.bb
@@ -1,7 +1,9 @@
LICENSE = "nokia"
-DEPENDS = "libgpsmgr dbus-glib"
+DEPENDS = "libgpsmgr dbus"
+# This is proprietary software in Chinook, so we have to stay with the last released
+# free version.
SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-18.tar.gz"
inherit autotools pkgconfig
diff --git a/packages/maemo4/libgpsmgr_0.1.bb b/packages/maemo4/libgpsmgr_0.1.bb
index f0fc14bae9..bcbb4cefcb 100644
--- a/packages/maemo4/libgpsmgr_0.1.bb
+++ b/packages/maemo4/libgpsmgr_0.1.bb
@@ -1,11 +1,13 @@
LICENSE = "nokia"
+# This is proprietary software in Chinook, so we have to stay with the last released
+# free version.
SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-10.tar.gz"
inherit autotools pkgconfig
do_stage() {
- autotools_stage_all
+ autotools_stage_all
}
diff --git a/packages/maemo4/hildon-1_svn.bb b/packages/maemo4/libhildon.inc
index 27b0443d79..bab16cf062 100644
--- a/packages/maemo4/hildon-1_svn.bb
+++ b/packages/maemo4/libhildon.inc
@@ -3,17 +3,10 @@ LICENSE = "LGPL"
DEPENDS = "gconf-dbus esound gtk+"
-PV = "1.0.17+svnr${SRCREV}"
-
-SRC_URI = "svn://stage.maemo.org/svn/maemo/projects/haf/trunk;module=hildon-1;proto=https \
- file://buttonbox.patch;patch=1;maxrev=14173 "
-S = "${WORKDIR}/hildon-1"
-
inherit autotools pkgconfig lib_package
EXTRA_OECONF = "--with-maemo-gtk=no"
-
do_stage() {
autotools_stage_all
}
diff --git a/packages/nonworking/efl/edb-native/.mtn2git_empty b/packages/maemo4/libhildon/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/edb-native/.mtn2git_empty
+++ b/packages/maemo4/libhildon/.mtn2git_empty
diff --git a/packages/maemo4/libhildon/libhildon-buildfix.patch b/packages/maemo4/libhildon/libhildon-buildfix.patch
new file mode 100644
index 0000000000..b9a669c76a
--- /dev/null
+++ b/packages/maemo4/libhildon/libhildon-buildfix.patch
@@ -0,0 +1,16 @@
+Index: libhildon-1.99.0/src/hildon-code-dialog.c
+===================================================================
+--- libhildon-1.99.0.orig/src/hildon-code-dialog.c 2007-10-10 15:03:09.000000000 +0200
++++ libhildon-1.99.0/src/hildon-code-dialog.c 2008-02-13 13:54:47.000000000 +0100
+@@ -302,7 +302,11 @@
+ gtk_container_add (GTK_CONTAINER (priv->buttons[3][2]), image1);
+ dialog_action_area1 = GTK_DIALOG (dialog)->action_area;
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1),
++#if defined (MAEMO_GTK)
+ GTK_BUTTONBOX_CENTER);
++#else
++ GTK_BUTTONBOX_DEFAULT_STYLE);
++#endif
+
+ okButton = gtk_dialog_add_button (GTK_DIALOG (dialog) ,DEVICELOCK_OK,
+ GTK_RESPONSE_OK);
diff --git a/packages/maemo4/libhildon_1.99.0.bb b/packages/maemo4/libhildon_1.99.0.bb
new file mode 100644
index 0000000000..4757d140b2
--- /dev/null
+++ b/packages/maemo4/libhildon_1.99.0.bb
@@ -0,0 +1,11 @@
+require libhildon.inc
+
+DEPENDS += "libpng libxt libxi"
+
+SRC_URI = "\
+ http://repository.maemo.org/pool/maemo4.0/free/source/libh/${PN}/${PN}_${PV}-1.tar.gz \
+ file://libhildon-buildfix.patch;patch=1 \
+ "
+
+
+
diff --git a/packages/maemo4/libhildonfm.inc b/packages/maemo4/libhildonfm.inc
new file mode 100644
index 0000000000..b6c20a4499
--- /dev/null
+++ b/packages/maemo4/libhildonfm.inc
@@ -0,0 +1,22 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Nokia hildon filemanager library"
+
+DEPENDS = "gtk+ libxi libxt libpng gconf dbus libosso libhildon hildon-thumbnail libhildonmime osso-gwconnect mce-dev"
+
+inherit autotools pkgconfig lib_package
+
+do_configure_prepend() {
+ # remove Werror from OSSO_CFLAGS
+ sed -i s:-Werror::g configure.ac
+
+ touch gtk-doc.make
+}
+
+PARALLEL_MAKE = ""
+
+do_stage() {
+ autotools_stage_all
+ ln -sf ${STAGING_INCDIR}/hildon-fm-2/hildon/* ${STAGING_INCDIR}/hildon-widgets/
+}
+
+
diff --git a/packages/maemo4/libhildonfm/hildonfm-ifdef-maemogtk.diff b/packages/maemo4/libhildonfm/libhildonfm-gtkmaemo-ifdef.patch
index 8d91e1dd65..6af13d24bf 100644
--- a/packages/maemo4/libhildonfm/hildonfm-ifdef-maemogtk.diff
+++ b/packages/maemo4/libhildonfm/libhildonfm-gtkmaemo-ifdef.patch
@@ -1,5 +1,50 @@
---- /tmp/hildon-file-selection.c 2007-10-02 10:08:17.000000000 +0200
-+++ 1_1.9.41/hildon-fm/hildon-file-selection.c 2007-10-02 11:26:58.292045000 +0200
+Index: libhildonfm-1.9.46/hildon-fm/hildon-file-chooser-dialog.c
+===================================================================
+--- libhildonfm-1.9.46.orig/hildon-fm/hildon-file-chooser-dialog.c 2007-10-16 10:11:59.000000000 +0200
++++ libhildonfm-1.9.46/hildon-fm/hildon-file-chooser-dialog.c 2008-02-14 08:24:41.000000000 +0100
+@@ -192,6 +192,7 @@
+ return (first_digit << 4) | second_digit;
+ }
+
++#ifdef USE_MAEMO_GTK
+ static void chooser_entry_invalid_input_cb (GtkEntry *entry,
+ GtkInvalidInputType inv_type,
+ gpointer user_data)
+@@ -202,6 +203,7 @@
+ HCS("ckdg_ib_maximum_characters_reached"));
+ }
+ }
++#endif
+
+ static gchar *
+ g_unescape_uri_string (const char *escaped,
+@@ -1838,7 +1840,9 @@
+ g_object_class_install_property(gobject_class, PROP_SELECTION_MODE, pspec);
+
+
++#ifdef USE_MAEMO_GTK
+ hildon_gtk_file_chooser_install_properties(gobject_class);
++#endif
+ }
+
+ static void hildon_file_chooser_dialog_sort_changed(GtkWidget * item,
+@@ -1975,10 +1979,10 @@
+ g_signal_connect( priv->entry_name, "changed",
+ G_CALLBACK( hildon_file_chooser_entry_changed ),
+ self );
+-
++#ifdef USE_MAEMO_GTK
+ g_signal_connect(priv->entry_name, "invalid-input",
+ G_CALLBACK(chooser_entry_invalid_input_cb), self);
+-
++#endif
+ priv->hbox_location = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
+ priv->hbox_items = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
+ priv->image_location = gtk_image_new();
+Index: libhildonfm-1.9.46/hildon-fm/hildon-file-selection.c
+===================================================================
+--- libhildonfm-1.9.46.orig/hildon-fm/hildon-file-selection.c 2007-10-16 10:11:59.000000000 +0200
++++ libhildonfm-1.9.46/hildon-fm/hildon-file-selection.c 2008-02-14 08:21:31.000000000 +0100
@@ -2036,6 +2036,7 @@
g_object_set(cell, "text", buffer, "sensitive", sensitive, NULL);
}
@@ -12,7 +57,7 @@
ULOG_DEBUG(__FUNCTION__);
g_signal_emit(data, signal_content_pane_context_menu, 0);
}
-+#endif /* USE_MAEMO_GTK */
++#endif
static gboolean hildon_file_selection_on_content_pane_key(GtkWidget *
widget,
@@ -24,16 +69,15 @@
static gboolean
tap_and_hold_query (gpointer self, guint signal_id)
{
-@@ -2225,6 +2228,8 @@
+@@ -2224,6 +2227,7 @@
+ {
return tap_and_hold_query (self, signal_navigation_pane_context_menu);
}
++#endif
-+#endif /* USE_MAEMO_GTK */
-+
static void hildon_file_selection_create_thumbnail_view(HildonFileSelection
* self)
- {
-@@ -2277,7 +2282,7 @@
+@@ -2277,7 +2281,7 @@
g_signal_connect_object(tree, "key-press-event",
G_CALLBACK(hildon_file_selection_on_content_pane_key),
self, 0);
@@ -42,15 +86,16 @@
gtk_widget_tap_and_hold_setup(GTK_WIDGET(tree), NULL, NULL,
GTK_TAP_AND_HOLD_NONE | GTK_TAP_AND_HOLD_NO_INTERNALS);
g_signal_connect_object (tree, "tap-and-hold-query",
-@@ -2286,6 +2291,7 @@
+@@ -2286,7 +2290,7 @@
g_signal_connect_object(tree, "tap-and-hold",
G_CALLBACK
(hildon_file_selection_content_pane_context), self, 0);
-+#endif /* USE_MAEMO_GTK */
-
+-
++#endif
g_signal_connect_object(tree, "notify::has-focus",
G_CALLBACK(content_pane_focus), self, 0);
-@@ -2397,7 +2403,7 @@
+ }
+@@ -2397,7 +2401,7 @@
(selection, "changed",
G_CALLBACK (hildon_file_selection_content_pane_selection_changed),
self, 0);
@@ -59,16 +104,16 @@
gtk_widget_tap_and_hold_setup(GTK_WIDGET(tree), NULL, NULL,
GTK_TAP_AND_HOLD_NONE | GTK_TAP_AND_HOLD_NO_INTERNALS);
g_signal_connect_object (tree, "tap-and-hold-query",
-@@ -2406,7 +2412,7 @@
+@@ -2406,7 +2410,7 @@
g_signal_connect_object(tree, "tap-and-hold",
G_CALLBACK
(hildon_file_selection_content_pane_context), self, 0);
-
-+#endif /* USE_MAEMO_GTK */
++#endif
g_signal_connect_object(tree, "key-press-event",
G_CALLBACK(hildon_file_selection_on_content_pane_key),
self, 0);
-@@ -2492,7 +2498,7 @@
+@@ -2492,7 +2496,7 @@
g_signal_connect_object(selection, "changed",
G_CALLBACK(hildon_file_selection_selection_changed),
self, 0);
@@ -77,56 +122,12 @@
gtk_widget_tap_and_hold_setup(GTK_WIDGET(self->priv->dir_tree), NULL,
NULL, GTK_TAP_AND_HOLD_NONE | GTK_TAP_AND_HOLD_NO_INTERNALS);
g_signal_connect_object (self->priv->dir_tree, "tap-and-hold-query",
-@@ -2502,7 +2508,7 @@
+@@ -2502,7 +2506,7 @@
G_CALLBACK
(hildon_file_selection_navigation_pane_context),
self, 0);
-
-+#endif /* USE_MAEMO_GTK */
++#endif
g_signal_connect_object(self->priv->dir_tree, "key-press-event",
G_CALLBACK
(hildon_file_selection_on_navigation_pane_key), self, 0);
---- /tmp/hildon-file-chooser-dialog.c 2007-10-02 10:14:05.000000000 +0200
-+++ 1_1.9.41/hildon-fm/hildon-file-chooser-dialog.c 2007-10-02 11:33:43.132045000 +0200
-@@ -191,7 +191,7 @@
-
- return (first_digit << 4) | second_digit;
- }
--
-+#ifdef USE_MAEMO_GTK
- static void chooser_entry_invalid_input_cb (GtkEntry *entry,
- GtkInvalidInputType inv_type,
- gpointer user_data)
-@@ -202,7 +202,7 @@
- HCS("ckdg_ib_maximum_characters_reached"));
- }
- }
--
-+#endif /* USE_MAEMO_GTK */
- static gchar *
- g_unescape_uri_string (const char *escaped,
- int len,
-@@ -1837,8 +1837,9 @@
- G_PARAM_READWRITE);
- g_object_class_install_property(gobject_class, PROP_SELECTION_MODE, pspec);
-
--
-+#ifdef USE_MAEMO_GTK
- hildon_gtk_file_chooser_install_properties(gobject_class);
-+#endif
- }
-
- static void hildon_file_chooser_dialog_sort_changed(GtkWidget * item,
-@@ -1975,10 +1976,10 @@
- g_signal_connect( priv->entry_name, "changed",
- G_CALLBACK( hildon_file_chooser_entry_changed ),
- self );
--
-+#ifdef USE_MAEMO_GTK
- g_signal_connect(priv->entry_name, "invalid-input",
- G_CALLBACK(chooser_entry_invalid_input_cb), self);
--
-+#endif /* USE_MAEMO_GTK */
- priv->hbox_location = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
- priv->hbox_items = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
- priv->image_location = gtk_image_new();
diff --git a/packages/maemo4/libhildonfm_1.9.41.bb b/packages/maemo4/libhildonfm_1.9.41.bb
deleted file mode 100644
index 777b2a456b..0000000000
--- a/packages/maemo4/libhildonfm_1.9.41.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia hildon filemanager library"
-
-DEPENDS = "hildon-thumbnail mce-dev libhildonmime osso-gwconnect hildon-libs osso-thumbnail"
-
-PR = "r1"
-
-SRC_URI = "http://repository.maemo.org/pool/sardine/main/source/libh/libhildonfm/libhildonfm_${PV}.tar.gz \
- file://hildonfm-ifdef-maemogtk.diff;patch=1 \
- "
-
-inherit autotools pkgconfig lib_package
-
-S = "${WORKDIR}/1_${PV}"
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.ac
- touch gtk-doc.make
-}
-
-
-PARALLEL_MAKE = ""
-
-do_stage() {
- autotools_stage_all
- ln -sf ${STAGING_INCDIR}/hildon-fm-2/hildon/* ${STAGING_INCDIR}/hildon-widgets/
-}
-
-
diff --git a/packages/maemo4/libhildonfm_1.9.46.bb b/packages/maemo4/libhildonfm_1.9.46.bb
new file mode 100644
index 0000000000..67816fb496
--- /dev/null
+++ b/packages/maemo4/libhildonfm_1.9.46.bb
@@ -0,0 +1,9 @@
+require libhildonfm.inc
+
+PR = "r1"
+
+SRC_URI = "\
+ http://repository.maemo.org/pool/maemo4.0/free/source/libh/${PN}/${PN}_${PV}.tar.gz \
+ file://libhildonfm-gtkmaemo-ifdef.patch;patch=1 \
+ "
+
diff --git a/packages/maemo4/libhildonhelp.inc b/packages/maemo4/libhildonhelp.inc
new file mode 100644
index 0000000000..6ce0f0ac6f
--- /dev/null
+++ b/packages/maemo4/libhildonhelp.inc
@@ -0,0 +1,17 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Nokia hildon help library"
+
+DEPENDS = "gtk+ intltool-native libxml2 gtkhtml-3.8 libosso libhildon"
+
+inherit autotools pkgconfig lib_package
+
+do_configure_prepend() {
+ # remove Werror from OSSO_CFLAGS
+ sed -i s:-Werror::g configure.ac
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+
diff --git a/packages/maemo4/libhildonhelp_1.9.1.bb b/packages/maemo4/libhildonhelp_1.9.1.bb
deleted file mode 100644
index 43d4c15d2e..0000000000
--- a/packages/maemo4/libhildonhelp_1.9.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia hildon help library"
-
-DEPENDS = "libart-lgpl libpng jpeg libxml2 gtkhtml-3.8 libosso"
-
-PR = "r0"
-
-SRC_URI = "http://repository.maemo.org/pool/sardine-experimental/main.disabled/source/libh/libhildonhelp/libhildonhelp_${PV}-1.tar.gz"
-
-inherit autotools pkgconfig lib_package
-
-S = "${WORKDIR}/${PV}-1"
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.ac
-}
-
-do_stage() {
- autotools_stage_all
-}
-
-
diff --git a/packages/maemo4/libhildonhelp_1.9.6.bb b/packages/maemo4/libhildonhelp_1.9.6.bb
new file mode 100644
index 0000000000..6b6e23d951
--- /dev/null
+++ b/packages/maemo4/libhildonhelp_1.9.6.bb
@@ -0,0 +1,6 @@
+require libhildonhelp.inc
+
+PR = "r0"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/libh/${PN}/${PN}_${PV}-1.tar.gz"
+
diff --git a/packages/maemo4/libhildonmime.inc b/packages/maemo4/libhildonmime.inc
new file mode 100644
index 0000000000..12c74a334b
--- /dev/null
+++ b/packages/maemo4/libhildonmime.inc
@@ -0,0 +1,17 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Nokia hildon mime library"
+
+DEPENDS = "libosso gnome-vfs"
+
+inherit autotools pkgconfig lib_package
+
+do_configure_prepend() {
+ # remove Werror from OSSO_CFLAGS
+ sed -i s:-Werror::g configure.in
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+
diff --git a/packages/maemo4/libhildonmime_1.10.0.bb b/packages/maemo4/libhildonmime_1.10.0.bb
new file mode 100644
index 0000000000..2198f6b2ee
--- /dev/null
+++ b/packages/maemo4/libhildonmime_1.10.0.bb
@@ -0,0 +1,9 @@
+require libhildonmime.inc
+
+DEPENDS += "osso-gnome-vfs2"
+
+PR = "r0"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/libh/${PN}/${PN}_${PV}-1.tar.gz"
+
+EXTRA_OECONF += "--with-compile-warnings=no"
diff --git a/packages/maemo4/libhildonmime_1.9.5.bb b/packages/maemo4/libhildonmime_1.9.5.bb
index 1e0285b1fb..1a06284314 100644
--- a/packages/maemo4/libhildonmime_1.9.5.bb
+++ b/packages/maemo4/libhildonmime_1.9.5.bb
@@ -1,23 +1,6 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia hildon mime library"
-
-DEPENDS = "libosso gnome-vfs"
+require libhildonmime.inc
PR = "r0"
SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/universe/libh/libhildonmime/libhildonmime_${PV}-1ubuntu1.tar.gz"
-inherit autotools pkgconfig lib_package
-
-S = "${WORKDIR}/${PN}"
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.in
-}
-
-do_stage() {
- autotools_stage_all
-}
-
-
diff --git a/packages/maemo4/libosso-gsf_1.11.10.4.bb b/packages/maemo4/libosso-gsf_1.11.10.4.bb
index 8888ac7780..6adbc0f6e3 100644
--- a/packages/maemo4/libosso-gsf_1.11.10.4.bb
+++ b/packages/maemo4/libosso-gsf_1.11.10.4.bb
@@ -1,12 +1,13 @@
LICENSE = "GPL"
+PR = "r1"
+
DEPENDS = "glib-2.0 zlib"
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-1.tar.gz"
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/libo/${PN}_${PV}-1.tar.gz"
inherit autotools pkgconfig
-
do_configure() {
gnu-configize
libtoolize --force
@@ -14,7 +15,7 @@ do_configure() {
}
do_stage() {
- autotools_stage_all
+ autotools_stage_all
}
diff --git a/packages/maemo4/libosso.inc b/packages/maemo4/libosso.inc
new file mode 100644
index 0000000000..7af653ed44
--- /dev/null
+++ b/packages/maemo4/libosso.inc
@@ -0,0 +1,19 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Nokia OSSO IPC library"
+
+DEPENDS = "dbus-glib glib-2.0 mce-dev"
+
+inherit autotools pkgconfig lib_package
+
+do_configure_prepend() {
+ # Remove Werror from OSSO_CFLAGS since the source
+ # contains many implicit (const void *) to (void *)
+ # conversions.
+ sed -i s:-Werror::g configure.ac
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+
diff --git a/packages/nonworking/efl/epsilon/.mtn2git_empty b/packages/maemo4/libosso/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/epsilon/.mtn2git_empty
+++ b/packages/maemo4/libosso/.mtn2git_empty
diff --git a/packages/maemo4/libosso/libosso-buildfix.patch b/packages/maemo4/libosso/libosso-buildfix.patch
new file mode 100644
index 0000000000..adb0ca6b5f
--- /dev/null
+++ b/packages/maemo4/libosso/libosso-buildfix.patch
@@ -0,0 +1,64 @@
+Index: libosso-2.13/src/osso-hw.c
+===================================================================
+--- libosso-2.13.orig/src/osso-hw.c 2008-02-13 12:55:17.000000000 +0100
++++ libosso-2.13/src/osso-hw.c 2008-02-13 13:02:55.000000000 +0100
+@@ -23,6 +23,9 @@
+ * 02110-1301 USA
+ */
+
++#define _GNU_SOURCE
++#include <string.h>
++
+ #include "osso-internal.h"
+ #include "osso-hw.h"
+ #include "osso-mem.h"
+@@ -635,7 +638,7 @@
+ (*cb)((muali_context_t*)osso, &info, data->user_data);
+
+ if (info.args != NULL) {
+- free(info.args);
++ free((void *) info.args);
+ info.args = NULL;
+ }
+ }
+@@ -762,7 +765,7 @@
+ (*cb)((muali_context_t*)osso, &info, data->user_data);
+
+ if (info.args != NULL) {
+- free(info.args);
++ free((void *) info.args);
+ info.args = NULL;
+ }
+ }
+Index: libosso-2.13/src/osso-rpc.c
+===================================================================
+--- libosso-2.13.orig/src/osso-rpc.c 2008-02-13 13:03:13.000000000 +0100
++++ libosso-2.13/src/osso-rpc.c 2008-02-13 13:06:05.000000000 +0100
+@@ -997,7 +997,8 @@
+ int *serial)
+ {
+ int i;
+- char buf[20], *p;
++ char buf[20];
++ const char *p;
+
+ /* get bus type */
+ for (i = 0, p = id; *p != ','; ++p, ++i) {
+@@ -1101,7 +1102,7 @@
+ (*cb)((muali_context_t*)osso, &info, cb_data->user_data);
+
+ if (info.args != NULL) {
+- free(info.args);
++ free((void *) info.args);
+ info.args = NULL;
+ }
+ }
+@@ -1410,7 +1411,7 @@
+ cb_data->message_id = (long)msg_serial;
+
+ cb_data->user_cb = reply_handler;
+- cb_data->user_data = user_data;
++ cb_data->user_data = (void *) user_data;
+ cb_data->match_rule = NULL;
+ cb_data->event_type = 0;
+ cb_data->bus_type = bus_type;
diff --git a/packages/maemo4/libosso_1.20.bb b/packages/maemo4/libosso_1.20.bb
deleted file mode 100644
index d5489c7e95..0000000000
--- a/packages/maemo4/libosso_1.20.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia osso library"
-
-DEPENDS = "hildon-1 dbus-glib glib-2.0 outo"
-
-PR = "r1"
-
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-1.tar.gz"
-
-inherit autotools pkgconfig lib_package
-
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.ac
-}
-
-do_stage() {
- autotools_stage_all
-}
-
-
diff --git a/packages/maemo4/libosso_2.13.bb b/packages/maemo4/libosso_2.13.bb
new file mode 100644
index 0000000000..1920e29d3a
--- /dev/null
+++ b/packages/maemo4/libosso_2.13.bb
@@ -0,0 +1,16 @@
+require libosso.inc
+
+PR = "r0"
+
+SRC_URI = "\
+ http://repository.maemo.org/pool/maemo4.0/free/source/libo/${PN}/${PN}_${PV}-1.1fix.tar.gz \
+ file://libosso-buildfix.patch;patch=1 \
+ "
+
+PACKAGES += "${PN}-outo ${PN}-outo-dev ${PN}-outo-dbg ${PN}-outo-bin-dbg ${PN}-outo-bin"
+
+FILES_${PN}-outo = "${libdir}/outo/lib*.so"
+FILES_${PN}-outo-dev = "${libdir}/outo/*.la ${libdir}/outo/*.a"
+FILES_${PN}-outo-dbg = "${libdir}/outo/.debug/lib*.so
+FILES_${PN}-outo-bin-dbg = "${libdir}/outo/.debug/*bin"
+FILES_${PN}-outo-bin = "${libdir}/outo/*bin ${libdir}/outo/mimedummy.doc"
diff --git a/packages/maemo4/mce-dev_1.5.6.bb b/packages/maemo4/mce-dev.inc
index 6168cbe31e..55db0d69da 100644
--- a/packages/maemo4/mce-dev_1.5.6.bb
+++ b/packages/maemo4/mce-dev.inc
@@ -1,26 +1,22 @@
LICENSE = "LGPL"
DESCRIPTION = "Nokia MCE headers"
-PR = "r0"
-
-SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/universe/m/mce-dev/mce-dev_${PV}.tar.gz"
-
inherit pkgconfig
do_compile() {
- :
+ # Nothing to compile in this recipe. These are just headers.
+ :
}
-
do_install() {
- install -d ${D}${prefix}/include
+ install -d ${D}${prefix}/include
install -d ${D}${libdir}/pkgconfig
+
cp -pPr include/* ${D}${prefix}/include
cp *.pc ${D}${libdir}/pkgconfig/
}
do_stage() {
- cp -pPr include/* ${STAGING_INCDIR}/
+ cp -pPr include/* ${STAGING_INCDIR}/
}
-
diff --git a/packages/maemo4/mce-dev_1.6.3.bb b/packages/maemo4/mce-dev_1.6.3.bb
new file mode 100644
index 0000000000..66e238c109
--- /dev/null
+++ b/packages/maemo4/mce-dev_1.6.3.bb
@@ -0,0 +1,7 @@
+require mce-dev.inc
+
+PR = "r0"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/m/mce-dev/mce-dev_${PV}.tar.gz"
+
+
diff --git a/packages/nonworking/efl/esmart/.mtn2git_empty b/packages/maemo4/osso-gnome-vfs2/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/esmart/.mtn2git_empty
+++ b/packages/maemo4/osso-gnome-vfs2/.mtn2git_empty
diff --git a/packages/maemo4/osso-gnome-vfs2/gnome-vfs-no-kerberos.patch b/packages/maemo4/osso-gnome-vfs2/gnome-vfs-no-kerberos.patch
new file mode 100644
index 0000000000..e25ecdd66f
--- /dev/null
+++ b/packages/maemo4/osso-gnome-vfs2/gnome-vfs-no-kerberos.patch
@@ -0,0 +1,51 @@
+removes kerberos completely to avoid conflicts with installed kerberos
+--- configure.in.orig 2007-01-05 19:42:26.418541610 +0200
++++ configure.in 2007-01-05 19:42:56.604261797 +0200
+@@ -436,47 +436,6 @@
+ ])
+ AM_CONDITIONAL(HAVE_CDDA, test $have_cdda = yes)
+ AC_SUBST(CDDA_LIBS)
+-
+-dnl GSSAPI
+-dnl Check for Kerberos installation
+-have_gssapi=no
+-AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin)
+-
+-if test "x$KRB5_CONFIG" != "xnone"; then
+- GSSAPI_LIBS="`${KRB5_CONFIG} --libs gssapi`"
+- GSSAPI_CFLAGS="`${KRB5_CONFIG} --cflags gssapi`"
+-
+- saved_CPPFLAGS="$CPPFLAGS"
+- saved_LIBS="$LIBS"
+- LIBS="$LIBS $GSSAPI_LIBS"
+- CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
+- # MIT and Heimdal put gssapi.h in different places
+- AC_CHECK_HEADERS(gssapi/gssapi.h gssapi.h, [
+- AC_CHECK_FUNCS(gss_init_sec_context, [
+- AC_MSG_NOTICE([GSSAPI authentication support enabled])
+- AC_DEFINE(HAVE_GSSAPI, 1, [Define if GSSAPI support is enabled])
+- AC_CHECK_HEADERS(gssapi/gssapi_generic.h)
+- have_gssapi=yes
+-
+- # MIT Kerberos lacks GSS_C_NT_HOSTBASED_SERVICE
+- AC_CHECK_DECL([GSS_C_NT_HOSTBASED_SERVICE],,
+- [AC_DEFINE([GSS_C_NT_HOSTBASED_SERVICE], gss_nt_service_name,
+- [Define if GSS_C_NT_HOSTBASED_SERVICE is not defined otherwise])
+- ], [
+- #ifdef HAVE_GSSAPI_GSSAPI_H
+- #include <gssapi/gssapi.h>
+- #else
+- #include <gssapi.h>
+- #endif
+- ])
+- ])
+- break
+- ])
+- LIBS="$saved_LIBS"
+- CPPFLAGS="$saved_CPPFLAGS"
+-fi
+-AC_SUBST(GSSAPI_LIBS)
+-AC_SUBST(GSSAPI_CFLAGS)
+
+ dnl ******************************
+ dnl http-method (neon checks)
diff --git a/packages/maemo4/osso-gnome-vfs2_2.16.3.bb b/packages/maemo4/osso-gnome-vfs2_2.16.3.bb
new file mode 100644
index 0000000000..45a373fd11
--- /dev/null
+++ b/packages/maemo4/osso-gnome-vfs2_2.16.3.bb
@@ -0,0 +1,48 @@
+LICENSE = "GPL"
+DEPENDS = "libxml2 gconf gnutls avahi dbus bzip2 gnome-mime-data zlib"
+RRECOMMENDS = "gnome-vfs-plugin-file gnome-mime-data shared-mime-info"
+
+DESCRIPTION = "gnomevfs - osso variant"
+
+PR = "r0"
+
+inherit gnome
+
+SRC_URI = "\
+ http://repository.maemo.org/pool/maemo4.0/free/source/o/${PN}/${PN}_${PV}-1osso31.tar.gz \
+ file://gnome-vfs-no-kerberos.patch;patch=1;pnum=0 \
+ "
+
+
+EXTRA_OECONF = " \
+ --disable-openssl \
+ --enable-gnutls \
+ --enable-avahi \
+ --with-samba-includes=${STAGING_INCDIR} \
+ --enable-more-warnings=no \
+ "
+
+do_configure_prepend() {
+ # remove Werror from VFS_CFLAGS
+ sed -i s:-Werror::g configure.in
+
+ touch gtk-doc.make
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+PACKAGES_DYNAMIC = "osso-gnome-vfs-plugin-*"
+
+python populate_packages_prepend () {
+ print bb.data.getVar('FILES_osso-gnome-vfs', d, 1)
+
+ plugindir = bb.data.expand('${libdir}/gnome-vfs-2.0/modules/', d)
+ do_split_packages(d, plugindir, '^lib(.*)\.so$', 'osso-gnome-vfs-plugin-%s', 'OSSO GNOME VFS plugin for %s')
+}
+
+FILES_${PN} += "${datadir}/dbus-1"
+FILES_${PN}-dbg += " ${libdir}/gnome-vfs-2.0/modules/.debug/lib*.so"
+FILES_${PN}-dev += " ${libdir}/gnome-vfs-2.0/include ${libdir}/gnome-vfs-2.0/modules/lib*.a ${libdir}/gnome-vfs-2.0/modules/lib*.la"
+FILES_${PN}-doc += " ${datadir}/gtk-doc"
diff --git a/packages/maemo4/osso-gwconnect_1.0.8.bb b/packages/maemo4/osso-gwconnect.inc
index 66b47ebac2..8781b1eb25 100644
--- a/packages/maemo4/osso-gwconnect_1.0.8.bb
+++ b/packages/maemo4/osso-gwconnect.inc
@@ -1,22 +1,17 @@
LICENSE = "LGPL"
DESCRIPTION = "Nokia osso connection library"
-DEPENDS = "hildon-1 libosso"
-
-PR = "r1"
-
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}.tar.gz"
+DEPENDS = "libosso"
inherit autotools pkgconfig
-
do_configure_prepend() {
# remove Werror from OSSO_CFLAGS
sed -i s:-Werror::g configure.ac
}
do_stage() {
- autotools_stage_all
+ autotools_stage_all
}
diff --git a/packages/maemo4/osso-gwconnect_1.0.12.bb b/packages/maemo4/osso-gwconnect_1.0.12.bb
new file mode 100644
index 0000000000..1a499687f8
--- /dev/null
+++ b/packages/maemo4/osso-gwconnect_1.0.12.bb
@@ -0,0 +1,8 @@
+require osso-gwconnect.inc
+
+DEPENDS += "libhildon bluez-libs"
+
+PR = "r0"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo4.0/free/source/o/${PN}/${PN}_${PV}.tar.gz"
+
diff --git a/packages/maemo4/osso-ic-oss_1.0.4.bb b/packages/maemo4/osso-ic-oss_1.0.4.bb
index 4f9b742fb7..04ec84e4e2 100644
--- a/packages/maemo4/osso-ic-oss_1.0.4.bb
+++ b/packages/maemo4/osso-ic-oss_1.0.4.bb
@@ -1,16 +1,16 @@
LICENSE = "LGPL"
DESCRIPTION = "Nokia osso-ic library"
-DEPENDS = "dbus-glib glib-2.0 outo libosso"
+DEPENDS = "dbus-glib glib-2.0 libosso"
-PR = "r0"
+PR = "r1"
+# No sources for that Maemo revision any more.
SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}.tar.gz \
file://dbus-api-update.patch;patch=1 "
inherit autotools pkgconfig lib_package
-
do_configure_prepend() {
# remove Werror from OSSO_CFLAGS
sed -i s:-Werror::g configure.ac
diff --git a/packages/maemo4/osso-thumbnail_0.7.bb b/packages/maemo4/osso-thumbnail_0.7.bb
deleted file mode 100644
index d99ee786b5..0000000000
--- a/packages/maemo4/osso-thumbnail_0.7.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "Nokia osso thumbnail library"
-
-DEPENDS = "gnome-vfs gconf-dbus hildon-1 libosso"
-
-PR = "r0"
-
-SRC_URI = "http://repository.maemo.org/pool/bora/free/source/${PN}_${PV}-1.tar.gz"
-
-inherit autotools pkgconfig lib_package
-
-
-do_configure_prepend() {
- # remove Werror from OSSO_CFLAGS
- sed -i s:-Werror::g configure.ac
-}
-
-do_stage() {
- autotools_stage_all
-}
-
-
diff --git a/packages/maemo4/outo_0.1.1.bb b/packages/maemo4/outo_0.1.1.bb
deleted file mode 100644
index 7fe0343691..0000000000
--- a/packages/maemo4/outo_0.1.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Outo Unit Tester by Otso"
-LICENSE = "LGPL"
-
-SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/o/outo/outo_${PV}.orig.tar.gz \
- http://repository.maemo.org/pool/maemo/ossw/source/o/outo/outo_0.1.1-2.diff.gz;patch=1;pnum=1"
-S = "${WORKDIR}/outo-0.1.1-20030806.orig"
-
-inherit pkgconfig autotools
-
-
-do_stage() {
- install -d ${STAGING_INCDIR}
- install -m 644 include/outo.h ${STAGING_INCDIR}
-}
diff --git a/packages/matchbox-desktop/matchbox-desktop-0.9.1/pkgconfig_fix.patch b/packages/matchbox-desktop/matchbox-desktop-0.9.1/pkgconfig_fix.patch
new file mode 100644
index 0000000000..5ca98a9164
--- /dev/null
+++ b/packages/matchbox-desktop/matchbox-desktop-0.9.1/pkgconfig_fix.patch
@@ -0,0 +1,15 @@
+Index: matchbox-desktop-0.9.1/matchbox-desktop.pc.in
+===================================================================
+--- matchbox-desktop-0.9.1.orig/matchbox-desktop.pc.in 2008-02-29 13:48:39.000000000 +0000
++++ matchbox-desktop-0.9.1/matchbox-desktop.pc.in 2008-02-29 13:49:07.000000000 +0000
+@@ -6,5 +6,6 @@
+ Name: matchbox-desktop
+ Description: Matchbox Desktop module dependencies.
+ Version: @VERSION@
+-Libs: -L${libdir} @LIBMB_LIBS@
+-Cflags: -I${includedir}/matchbox-desktop @LIBMB_CFLAGS@
+\ No newline at end of file
++Requires: libmb
++Libs: -L${libdir}
++Cflags: -I${includedir}/matchbox-desktop
+\ No newline at end of file
diff --git a/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb b/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb
index 4aba935386..d3be3b166e 100644
--- a/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb
+++ b/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb
@@ -2,9 +2,10 @@ DESCRIPTION = "Matchbox Window Manager Desktop"
LICENSE = "GPL"
DEPENDS = "libmatchbox startup-notification"
SECTION = "x11/wm"
-PR = "r2"
+PR = "r3"
SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/0.9/matchbox-desktop-${PV}.tar.bz2 \
+ file://pkgconfig_fix.patch;patch=1 \
file://mb-desktop-multi-category-matching.patch;patch=1"
EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"
diff --git a/packages/matchbox-wm/matchbox-wm/configure_fix.patch b/packages/matchbox-wm/matchbox-wm/configure_fix.patch
new file mode 100644
index 0000000000..52cea0e8f7
--- /dev/null
+++ b/packages/matchbox-wm/matchbox-wm/configure_fix.patch
@@ -0,0 +1,13 @@
+Index: matchbox-window-manager/configure.ac
+===================================================================
+--- matchbox-window-manager.orig/configure.ac 2007-11-14 12:02:28.000000000 +0000
++++ matchbox-window-manager/configure.ac 2007-11-14 12:18:55.000000000 +0000
+@@ -283,7 +283,7 @@
+ yes)
+
+ case "$expat" in
+- yes)
++ yes|"")
+ EXPAT_LIBS="-lexpat"
+ ;;
+ *)
diff --git a/packages/matchbox-wm/matchbox-wm_0.8.3.bb b/packages/matchbox-wm/matchbox-wm_0.8.3.bb
deleted file mode 100644
index 58da385674..0000000000
--- a/packages/matchbox-wm/matchbox-wm_0.8.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require matchbox-wm.inc
-
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf "
-RDEPENDS = ""
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.8/matchbox-window-manager-${PV}.tar.bz2 \
- file://kbdconfig_keylaunch_simpad.patch;patch=1;pnum=0"
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${bindir} \
- ${datadir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/bluebox/matchbox \
- ${datadir}/themes/borillo/matchbox"
-
-EXTRA_OECONF = "--enable-composite --enable-startup-notification --enable-expat"
-
-pkg_postinst() {
-update-alternatives --install ${bindir}/x-window-manager x-window-manager ${bindir}/matchbox-session 10
-}
-
-pkg_postrm() {
-update-alternatives --remove x-window-manager ${bindir}/matchbox-session
-}
diff --git a/packages/matchbox-wm/matchbox-wm_0.8.4.bb b/packages/matchbox-wm/matchbox-wm_0.8.4.bb
deleted file mode 100644
index 58da385674..0000000000
--- a/packages/matchbox-wm/matchbox-wm_0.8.4.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require matchbox-wm.inc
-
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf "
-RDEPENDS = ""
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.8/matchbox-window-manager-${PV}.tar.bz2 \
- file://kbdconfig_keylaunch_simpad.patch;patch=1;pnum=0"
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${bindir} \
- ${datadir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/bluebox/matchbox \
- ${datadir}/themes/borillo/matchbox"
-
-EXTRA_OECONF = "--enable-composite --enable-startup-notification --enable-expat"
-
-pkg_postinst() {
-update-alternatives --install ${bindir}/x-window-manager x-window-manager ${bindir}/matchbox-session 10
-}
-
-pkg_postrm() {
-update-alternatives --remove x-window-manager ${bindir}/matchbox-session
-}
diff --git a/packages/matchbox-wm/matchbox-wm_0.9.2.bb b/packages/matchbox-wm/matchbox-wm_0.9.2.bb
deleted file mode 100644
index a85e4b23c4..0000000000
--- a/packages/matchbox-wm/matchbox-wm_0.9.2.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-require matchbox-wm.inc
-
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf "
-RDEPENDS = ""
-PR = "r2"
-
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.9/matchbox-window-manager-${PV}.tar.gz"
-
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${bindir} \
- ${datadir}/matchbox \
- ${sysconfdir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/Default/matchbox \
- ${datadir}/themes/MBOpus/matchbox"
-
-EXTRA_OECONF = "--enable-composite --enable-startup-notification --disable-xrm"
-
-pkg_postinst() {
-update-alternatives --install ${bindir}/x-window-manager x-window-manager ${bindir}/matchbox-session 10
-}
-
-pkg_postrm() {
-update-alternatives --remove x-window-manager ${bindir}/matchbox-session
-}
-
diff --git a/packages/matchbox-wm/matchbox-wm_0.9.3.bb b/packages/matchbox-wm/matchbox-wm_0.9.3.bb
deleted file mode 100644
index c2016cab66..0000000000
--- a/packages/matchbox-wm/matchbox-wm_0.9.3.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-require matchbox-wm.inc
-
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf "
-RDEPENDS = ""
-PR = "r3"
-
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.9/matchbox-window-manager-${PV}.tar.gz \
- file://kbdconfig"
-
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig update-alternatives
-
-FILES_${PN} = "${bindir} \
- ${datadir}/matchbox \
- ${sysconfdir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/Default/matchbox \
- ${datadir}/themes/MBOpus/matchbox"
-
-ALTERNATIVE_NAME = "x-window-manager"
-ALTERNATIVE_LINK = "${bindir}/x-window-manager"
-ALTERNATIVE_PATH = "${bindir}/matchbox-session"
-ALTERNATIVE_PRIORITY = "10"
-
-EXTRA_OECONF = "--enable-composite --enable-startup-notification --disable-xrm"
-
-do_install_prepend() {
- install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
-}
-
diff --git a/packages/matchbox-wm/matchbox-wm_0.9.4.bb b/packages/matchbox-wm/matchbox-wm_0.9.4.bb
deleted file mode 100644
index 80b6dc7e19..0000000000
--- a/packages/matchbox-wm/matchbox-wm_0.9.4.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-require matchbox-wm.inc
-
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf "
-RDEPENDS = ""
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.9/matchbox-window-manager-${PV}.tar.gz \
- file://kbdconfig"
-
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig update-alternatives
-
-FILES_${PN} = "${bindir} \
- ${datadir}/matchbox \
- ${sysconfdir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/Default/matchbox \
- ${datadir}/themes/MBOpus/matchbox"
-
-ALTERNATIVE_NAME = "x-window-manager"
-ALTERNATIVE_LINK = "${bindir}/x-window-manager"
-ALTERNATIVE_PATH = "${bindir}/matchbox-session"
-ALTERNATIVE_PRIORITY = "10"
-
-EXTRA_OECONF = "--enable-composite --enable-startup-notification --disable-xrm"
-
-do_install_prepend() {
- install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
-}
-
diff --git a/packages/matchbox-wm/matchbox-wm_0.9.bb b/packages/matchbox-wm/matchbox-wm_0.9.bb
deleted file mode 100644
index 700fb15eeb..0000000000
--- a/packages/matchbox-wm/matchbox-wm_0.9.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require matchbox-wm.inc
-
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf "
-RDEPENDS = ""
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/${PV}/matchbox-window-manager-${PV}.tar.gz"
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${bindir} \
- ${datadir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/bluebox/matchbox \
- ${datadir}/themes/borillo/matchbox"
-
-EXTRA_OECONF = "--enable-composite --enable-startup-notification --enable-expat"
-
-pkg_postinst() {
-update-alternatives --install ${bindir}/x-window-manager x-window-manager ${bindir}/matchbox-session 10
-}
-
-pkg_postrm() {
-update-alternatives --remove x-window-manager ${bindir}/matchbox-session
-}
diff --git a/packages/matchbox-wm/matchbox-wm_1.2.bb b/packages/matchbox-wm/matchbox-wm_1.2.bb
index bf57441815..78795f7a40 100644
--- a/packages/matchbox-wm/matchbox-wm_1.2.bb
+++ b/packages/matchbox-wm/matchbox-wm_1.2.bb
@@ -3,9 +3,10 @@ require matchbox-wm.inc
DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes libxdamage libxrender startup-notification expat gconf gconf-native "
RDEPENDS = ""
-PR="r3"
+PR="r4"
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/1.2/matchbox-window-manager-${PV}.tar.bz2 \
+SRC_URI = "http://matchbox-project.org/sources/matchbox-window-manager/1.2/matchbox-window-manager-${PV}.tar.bz2 \
+ file://configure_fix.patch;patch=1 \
file://gconf-2.m4 \
file://kbdconfig"
@@ -29,7 +30,8 @@ ALTERNATIVE_PRIORITY = "10"
EXTRA_OECONF = " \
--enable-startup-notification\
--enable-gconf \
- --enable-expat \
+ --with-expat-lib=${STAGING_LIBDIR} \
+ --with-expat-includes=${STAGING_INCDIR} \
--disable-xrm"
do_configure_prepend () {
diff --git a/packages/meta/meta-toolchain.bb b/packages/meta/meta-toolchain.bb
index 923844ef8c..3c92712dff 100644
--- a/packages/meta/meta-toolchain.bb
+++ b/packages/meta/meta-toolchain.bb
@@ -1,22 +1,22 @@
DESCRIPTION = "Meta package for building a installable toolchain"
LICENSE = "MIT"
DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
-PR = "r2"
inherit sdk meta
SDK_DIR = "${WORKDIR}/sdk"
SDK_OUTPUT = "${SDK_DIR}/image"
+SDK_OUTPUT2 = "${SDK_DIR}/image-extras"
SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
-SDK_SUFFIX = "toolchain"
-
-FEED_ARCH ?= "${TARGET_ARCH}"
IPKG_HOST = "ipkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}"
-IPKG_TARGET = "ipkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${prefix}"
+IPKG_TARGET = "ipkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/temp-target"
TOOLCHAIN_HOST_TASK ?= "task-sdk-host"
TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare"
+FEED_ARCH ?= "${TARGET_ARCH}"
+SDK_SUFFIX = "toolchain"
+TOOLCHAIN_OUTPUTNAME ?= "${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}-${SDK_SUFFIX}"
RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
@@ -37,12 +37,22 @@ do_populate_sdk() {
${IPKG_TARGET} update
${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
- mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- rm -rf ${SDK_OUTPUT}/${prefix}/usr/
-
- cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib
- rm -rf ${SDK_OUTPUT}/${prefix}/lib/*
+ mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include
+ mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/.debug/
+ mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/share
+ mv ${SDK_OUTPUT}/temp-target/usr/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
+ rm -rf ${SDK_OUTPUT}/temp-target/usr/lib/ipkg/
+ cp -pPR ${SDK_OUTPUT}/temp-target/usr/include/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
+ cp -pPR ${SDK_OUTPUT}/temp-target/usr/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/
+ if [ -d ${SDK_OUTPUT}/temp-target/usr/lib/.debug ]; then
+ cp -pPR ${SDK_OUTPUT}/temp-target/usr/lib/.debug/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/.debug/
+ fi
+ cp -pPR ${SDK_OUTPUT}/temp-target/usr/share/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/share/
+ cp -pPR ${SDK_OUTPUT}/temp-target/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/
+ if [ -d ${SDK_OUTPUT}/temp-target/lib/.debug ]; then
+ cp -pPR ${SDK_OUTPUT}/temp-target/lib/.debug/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/.debug/
+ fi
+ rm -rf ${SDK_OUTPUT}/temp-target/
for fn in `ls ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/`; do
if [ -h ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/$fn ]; then
@@ -55,47 +65,36 @@ do_populate_sdk() {
fi
done
- mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc ${SDK_OUTPUT}/${prefix}/lib
-
echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
# remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
- rm -Rf ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/ipkg
mv ${SDK_OUTPUT}/usr/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status-host
rm -Rf ${SDK_OUTPUT}/usr/lib
# extract and store ipks, pkgdata and shlibs data
target_pkgs=`cat ${SDK_OUTPUT}/${prefix}/package-status | grep Package: | cut -f 2 -d ' '`
- mkdir -p ${SDK_OUTPUT}/${prefix}/ipk/
- mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/runtime/
- mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
+ mkdir -p ${SDK_OUTPUT2}/${prefix}/ipk/
+ mkdir -p ${SDK_OUTPUT2}/${prefix}/pkgdata/runtime/
+ mkdir -p ${SDK_OUTPUT2}/${prefix}/${TARGET_SYS}/shlibs/
for pkg in $target_pkgs ; do
for arch in $revipkgarchs; do
pkgnames=${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk
if [ -e $pkgnames ]; then
oenote "Found $pkgnames"
- cp $pkgnames ${SDK_OUTPUT}/${prefix}/ipk/
+ cp $pkgnames ${SDK_OUTPUT2}/${prefix}/ipk/
orig_pkg=`ipkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
- pkg_subdir_postfix=${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
- for aarch in $revipkgarchs; do
- if [ -e "${STAGING_DIR}/pkgdata/${aarch}${pkg_subdir_postfix}/${orig_pkg}" ]; then
- pkg_subdir="${aarch}${pkg_subdir_postfix}"
- break
- fi
- done
- oenote "Original package in ${pkg_subdir}"
- mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime
- cp ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/
+ pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
+ mkdir -p ${SDK_OUTPUT2}/${prefix}/pkgdata/$pkg_subdir/runtime
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT2}/${prefix}/pkgdata/$pkg_subdir/
subpkgs=`cat ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
for subpkg in $subpkgs; do
- cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime/
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT2}/${prefix}/pkgdata/$pkg_subdir/runtime/
if [ -e ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ];then
- cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime/
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT2}/${prefix}/pkgdata/$pkg_subdir/runtime/
fi
if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
- cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
+ cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT2}/${prefix}/${TARGET_SYS}/shlibs/
fi
done
break
@@ -109,12 +108,14 @@ do_populate_sdk() {
# gcc-cross-sdk get built :( (30/11/07)
ln -sf libgcc_s.so.1 ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libgcc_s.so
- # remove unwanted executables
- rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
-
- # remove broken .la files
+ # Remove broken .la files
rm -f ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/*.la
+ # Generate link for sysroot use
+ # /usr/local/poky/eabi-glibc/arm/arm-poky-linux-gnueabi/usr -> .
+ cd ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
+ ln -sf . usr
+
# fix pkgconfig data files
if [ -e ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/pkgconfig ]; then
cd ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/pkgconfig
@@ -126,10 +127,36 @@ do_populate_sdk() {
done
fi
- # package it up
+
+ # Setup site file for external use
+ siteconfig=${SDK_OUTPUT}/${prefix}/site-config
+ touch $siteconfig
+ for sitefile in ${CONFIG_SITE} ; do
+ cat $sitefile >> $siteconfig
+ done
+
+ # Create environment setup script
+ script=${SDK_OUTPUT}/${prefix}/environment-setup
+ touch $script
+ echo 'export PATH=${prefix}/bin:$PATH' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=${prefix}/${TARGET_SYS}' >> $script
+ echo 'export PKG_CONFIG_PATH=${prefix}/${TARGET_SYS}/lib/pkgconfig' >> $script
+ echo 'export CONFIG_SITE=${prefix}/site-config' >> $script
+
+ # Add version information
+ versionfile=${SDK_OUTPUT}/${prefix}/version
+ touch $versionfile
+ echo 'Distro: ${DISTRO}' >> $versionfile
+ echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile
+ echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
+ echo 'Timestamp: ${DATETIME}' >> $versionfile
+
+ # Package it up
mkdir -p ${SDK_DEPLOY}
cd ${SDK_OUTPUT}
- fakeroot tar cfj ${SDK_DEPLOY}/${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}-${SDK_SUFFIX}.tar.bz2 .
+ fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
+ cd ${SDK_OUTPUT2}
+ fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}-extras.tar.bz2 .
}
do_populate_sdk[nostamp] = "1"
diff --git a/packages/meta/package-index.bb b/packages/meta/package-index.bb
index 3d7d5f2839..f52fb6c72b 100644
--- a/packages/meta/package-index.bb
+++ b/packages/meta/package-index.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "Rebuild the package index"
LICENSE = "MIT"
+DEPENDS = "ipkg-utils-native"
INHIBIT_DEFAULT_DEPS = "1"
ALLOW_EMPTY = "1"
diff --git a/packages/meta/slugos-packages.bb b/packages/meta/slugos-packages.bb
index 159f74df5c..adc0554fe4 100644
--- a/packages/meta/slugos-packages.bb
+++ b/packages/meta/slugos-packages.bb
@@ -5,7 +5,7 @@
DESCRIPTION = "Packages that are compatible with the SlugOS firmware"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r47"
+PR = "r48"
CONFLICTS = "db3"
COMPATIBLE_MACHINE = "nslu2|ixp4xx"
@@ -94,6 +94,7 @@ SLUGOS_PACKAGES = "\
glib-2.0 \
gnu-config \
gphoto2 \
+ gpsd \
grep \
groff \
gtk-doc \
@@ -189,6 +190,7 @@ SLUGOS_PACKAGES = "\
procps \
psmisc \
puppy \
+ pvrusb2-mci \
python \
quilt \
reiserfsprogs reiser4progs \
@@ -254,7 +256,6 @@ SLUGOS_BROKEN_PACKAGES = "\
lirc-modules lirc \
madfu \
openldap \
- pvrusb2-mci \
pwc \
qc-usb-messenger \
syslog-ng \
diff --git a/packages/mono/README b/packages/mono/README
index eb2fed051f..61bba80c07 100644
--- a/packages/mono/README
+++ b/packages/mono/README
@@ -28,6 +28,6 @@ This function calls mono_find_provides_and_requires which finds out (through
calls to monodis --assembly and monodis --assemblyref) which assemblies are
provided and required by a particular package. mono_do_clilibs then
puts the information about provided assemblies into
-${STAGING_DIR}/clilibs/${packagename}.list and information about the
+${CLILIBSDIR}/${packagename}.list and information about the
required packages into ${PKGDEST}/{packagename}.clilibdeps where it
will later be picked up by read_shlibdeps.
diff --git a/packages/mono/mono-mcs-intermediate.inc b/packages/mono/mono-mcs-intermediate.inc
index db74b96ee3..f6631c1eb1 100644
--- a/packages/mono/mono-mcs-intermediate.inc
+++ b/packages/mono/mono-mcs-intermediate.inc
@@ -47,8 +47,8 @@ do_populate_staging() {
cd ${D}
rm -f ${WORKDIR}/mono-mcs-${PV}.tar.gz
tar -cvzf ${WORKDIR}/mono-mcs-${PV}.tar.gz .
- install -d ${STAGING_DIR}/share/mono-mcs
- cp ${WORKDIR}/mono-mcs-${PV}.tar.gz ${STAGING_DIR}/share/mono-mcs/
+ install -d ${STAGING_DATADIR}/mono-mcs
+ cp ${WORKDIR}/mono-mcs-${PV}.tar.gz ${STAGING_DATADIR}/mono-mcs/
}
do_package_write_ipk() {
diff --git a/packages/mono/mono_1.2.5.1.bb b/packages/mono/mono_1.2.5.1.bb
index 1d58c2d810..a9bf2f8e1e 100644
--- a/packages/mono/mono_1.2.5.1.bb
+++ b/packages/mono/mono_1.2.5.1.bb
@@ -14,7 +14,7 @@ EXTRA_OECONF += " --disable-mcs-build "
do_install_prepend() {
install -d ${D}
pushd ${D}
- tar -xzf ${STAGING_DIR}/share/mono-mcs/mono-mcs-${PV}.tar.gz
+ tar -xzf ${STAGING_DATADIR}/mono-mcs/mono-mcs-${PV}.tar.gz
popd
}
diff --git a/packages/mono/mono_1.2.6.bb b/packages/mono/mono_1.2.6.bb
index 5c5d8476bb..a5359125a9 100644
--- a/packages/mono/mono_1.2.6.bb
+++ b/packages/mono/mono_1.2.6.bb
@@ -13,7 +13,7 @@ EXTRA_OECONF += " --disable-mcs-build "
do_install_prepend() {
install -d ${D}
pushd ${D}
- tar -xzf ${STAGING_DIR}/share/mono-mcs/mono-mcs-${PV}.tar.gz
+ tar -xzf ${STAGING_DATADIR}/mono-mcs/mono-mcs-${PV}.tar.gz
popd
}
diff --git a/packages/mono/mono_svn.bb b/packages/mono/mono_svn.bb
index 6644efb4e3..53d0fb0d30 100644
--- a/packages/mono/mono_svn.bb
+++ b/packages/mono/mono_svn.bb
@@ -14,7 +14,7 @@ EXTRA_OECONF += " --disable-mcs-build "
do_install_prepend() {
install -d ${D}
pushd ${D}
- tar -xzf ${STAGING_DIR}/share/mono-mcs/mono-mcs-${PV}.tar.gz
+ tar -xzf ${STAGING_DATADIR}/mono-mcs/mono-mcs-${PV}.tar.gz
popd
}
diff --git a/packages/motion/motion_3.2.6.bb b/packages/motion/motion_3.2.6.bb
deleted file mode 100644
index 2d12802cbc..0000000000
--- a/packages/motion/motion_3.2.6.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Motion - a motion detection program"
-HOMEPAGE = "http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome"
-PRIORITY = "optional"
-PR = "r0"
-LICENSE = "GPL"
-DEPENDS = "jpeg"
-PRIORITY = "optional"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/motion/motion-3.2.6.tar.gz"
-
-inherit autotools
-
diff --git a/packages/motion/motion_3.2.9.bb b/packages/motion/motion_3.2.9.bb
new file mode 100644
index 0000000000..f5f5b62708
--- /dev/null
+++ b/packages/motion/motion_3.2.9.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Motion - a motion detection program"
+HOMEPAGE = "http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome"
+AUTHOR = "Kenneth Lavrsen motion-user@lists.sourceforge.net"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "jpeg ffmpeg mysql postgresql"
+
+RSUGGESTS = "mysql-client postgresql-client"
+
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+EXTRA_OECONF = " --with-ffmpeg=${STAGING_LIBDIR} \
+ --with-mysql-lib=${STAGING_LIBDIR} \
+ --with-mysql-include=${STAGING_INCDIR}/mysql \
+ --with-pgsql=${STAGING_DIR_HOST}${layout_exec_prefix} "
diff --git a/packages/mozilla/firefox.inc b/packages/mozilla/firefox.inc
index bd0322334d..f5e020dc68 100644
--- a/packages/mozilla/firefox.inc
+++ b/packages/mozilla/firefox.inc
@@ -1,4 +1,5 @@
SRC_URI += "file://mozilla-firefox.png file://mozilla-firefox.desktop"
+
PACKAGES =+ "firefox-inspector"
FILES_firefox-inspector = " ${libdir}/firefox-${PV}/chrome/inspector* \
@@ -27,3 +28,11 @@ pkg_postinst_firefox() {
# work around requirement for root access on first startup
chmod -R a+w ${libdir}/firefox*
}
+
+do_stage() {
+ autotools_stage_all
+
+
+
+}
+
diff --git a/packages/mozilla/firefox_1.0.7.bb b/packages/mozilla/firefox_1.0.7.bb
index dd4d734f89..b82dbda91e 100644
--- a/packages/mozilla/firefox_1.0.7.bb
+++ b/packages/mozilla/firefox_1.0.7.bb
@@ -1,4 +1,5 @@
-PR = "r0"
+PR = "r2"
+
SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \
file://xptcstubs.patch;patch=1 \
file://no-xmb.patch;patch=1 \
@@ -8,11 +9,10 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/
file://firefox-1.0-gcc4-compile.patch;patch=1;pnum=0 \
file://xptcinvoke-arm.patch;patch=1 \
file://mozilla-eabi.patch;patch=1"
-
S = "${WORKDIR}/mozilla"
-inherit mozilla
-
+inherit autotools mozilla
+
require firefox.inc
EXTRA_OECONF += " --with-gssapi=${STAGINGLIBDIR}/../"
@@ -20,4 +20,3 @@ EXTRA_OECONF += " --with-gssapi=${STAGINGLIBDIR}/../"
do_compile_prepend() {
cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
}
-
diff --git a/packages/mozilla/firefox_2.0.0.3.bb b/packages/mozilla/firefox_2.0.0.3.bb
index e1fb5a996d..72c42bc074 100644
--- a/packages/mozilla/firefox_2.0.0.3.bb
+++ b/packages/mozilla/firefox_2.0.0.3.bb
@@ -6,38 +6,36 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/
file://no-xmb.patch;patch=1 \
file://jsautocfg.h \
file://extensions-hack.patch;patch=1 \
- file://security-cross.patch;patch=1 \
- file://jsautocfg-dontoverwrite.patch;patch=1 \
- file://xptcinvoke-arm.patch;patch=1 \
- file://eabi-fix.patch;patch=1 \
- file://eabi-fix2.patch;patch=1 \
- file://eabi-fix3.patch;patch=1 \
- file://linkage-problem.patch;patch=1 \
- "
+ file://security-cross.patch;patch=1 \
+ file://jsautocfg-dontoverwrite.patch;patch=1 \
+ file://xptcinvoke-arm.patch;patch=1 \
+ file://eabi-fix.patch;patch=1 \
+ file://eabi-fix2.patch;patch=1 \
+ file://eabi-fix3.patch;patch=1 \
+ file://linkage-problem.patch;patch=1 \
+"
S = "${WORKDIR}/mozilla"
DEFAULT_PREFERENCE = "-1"
inherit mozilla
-
require firefox.inc
do_compile_prepend() {
cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
-
sed -i "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" security/coreconf/Linux.mk
}
do_stage() {
-
- install -d ${STAGING_INCDIR}/${P}
+ install -d ${STAGING_INCDIR}/firefox-${PV}
cd dist/sdk/include
+ rm -rf obsolete
headers=`find . -name "*.h"`
for f in $headers
do
- install -D -m 0644 $f ${STAGING_INCDIR}/${P}/$f
+ install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
done
# removes 2 lines that call absent headers
- sed -e '178,179d' ${STAGING_INCDIR}/${P}/nsIServiceManager.h
+ sed -e '178,179d' ${STAGING_INCDIR}/firefox-${PV}/nsIServiceManager.h
}
diff --git a/packages/mpfr/mpfr_2.1.1.bb b/packages/mpfr/mpfr_2.1.1.bb
index a42498cfd4..1a60ab17a2 100644
--- a/packages/mpfr/mpfr_2.1.1.bb
+++ b/packages/mpfr/mpfr_2.1.1.bb
@@ -7,10 +7,5 @@ SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.bz2"
S = "${WORKDIR}/mpfr-${PV}"
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- infodir=${STAGING_DIR}/${HOST_SYS}/info
+ autotools_stage_all
}
diff --git a/packages/mpfr/mpfr_2.3.0.bb b/packages/mpfr/mpfr_2.3.0.bb
index 92fbe7bd4b..869c4227e2 100644
--- a/packages/mpfr/mpfr_2.3.0.bb
+++ b/packages/mpfr/mpfr_2.3.0.bb
@@ -7,9 +7,5 @@ SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.bz2"
S = "${WORKDIR}/mpfr-${PV}"
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
+ autotools_stage_all
}
diff --git a/packages/mpfr/mpfr_svn.bb b/packages/mpfr/mpfr_svn.bb
index da6036e69f..f1e9273a65 100644
--- a/packages/mpfr/mpfr_svn.bb
+++ b/packages/mpfr/mpfr_svn.bb
@@ -8,9 +8,5 @@ SRC_URI = "svn://scm.gforge.inria.fr/svn/mpfr;module=trunk"
S = "${WORKDIR}/trunk"
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
+ autotools_stage_all
}
diff --git a/packages/mtd/mtd-utils-native.inc b/packages/mtd/mtd-utils-native.inc
index 8ac4673524..28696b46d5 100644
--- a/packages/mtd/mtd-utils-native.inc
+++ b/packages/mtd/mtd-utils-native.inc
@@ -11,4 +11,3 @@ do_stage () {
install -m 0755 $binary ${STAGING_BINDIR}
done
}
-
diff --git a/packages/mtd/mtd-utils-native_1.1.0.bb b/packages/mtd/mtd-utils-native_1.1.0.bb
new file mode 100644
index 0000000000..2b8d925c90
--- /dev/null
+++ b/packages/mtd/mtd-utils-native_1.1.0.bb
@@ -0,0 +1,5 @@
+# scheduled to enable 15-03-2008
+DEFAULT_PREFERENCE = "-1"
+
+require mtd-utils_${PV}.bb
+require mtd-utils-native.inc
diff --git a/packages/mtd/mtd-utils_1.0.0+git.bb b/packages/mtd/mtd-utils_1.0.0+git.bb
index d4e67f3aae..42d92edd9a 100644
--- a/packages/mtd/mtd-utils_1.0.0+git.bb
+++ b/packages/mtd/mtd-utils_1.0.0+git.bb
@@ -3,7 +3,7 @@ SECTION = "base"
DEPENDS = "zlib lzo"
HOMEPAGE = "http://www.linux-mtd.infradead.org/"
LICENSE = "GPLv2"
-PR = "r7"
+PR = "r8"
# This is the default package, thus we lock to a specific git version so
# upstream changes will not break builds.
@@ -36,11 +36,16 @@ mtd_utils = "ftl_format flash_erase flash_eraseall nanddump doc_loadbios \
do_install () {
install -d ${D}${bindir}
+ install -d ${D}${includedir}
for binary in ${mtd_utils}; do
install -m 0755 $binary ${D}${bindir}
done
+ for f in ${S}/include/mtd/*.h; do
+ install -m 0644 $f ${D}${includedir}
+ done
}
PACKAGES =+ "mkfs-jffs mkfs-jffs2"
FILES_mkfs-jffs = "${bindir}/mkfs.jffs"
FILES_mkfs-jffs2 = "${bindir}/mkfs.jffs2"
+
diff --git a/packages/mtd/mtd-utils_1.1.0.bb b/packages/mtd/mtd-utils_1.1.0.bb
new file mode 100644
index 0000000000..679fc7e79e
--- /dev/null
+++ b/packages/mtd/mtd-utils_1.1.0.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "Tools for managing memory technology devices."
+SECTION = "base"
+DEPENDS = "zlib lzo"
+HOMEPAGE = "http://www.linux-mtd.infradead.org/"
+LICENSE = "GPLv2"
+PR = "r1"
+
+# scheduled to enable 15-03-2008
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.1.0.tar.bz2 \
+ file://add-exclusion-to-mkfs-jffs2-git.patch;patch=1 \
+ file://fix-ignoreerrors-git.patch;patch=1 \
+ file://lzo_1x.patch;patch=1"
+
+S = "${WORKDIR}/mtd-utils-${PV}/"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR'"
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/mtd
+ for f in ${S}/include/mtd/*.h; do
+ install -m 0644 $f ${STAGING_INCDIR}/mtd/
+ done
+ for binary in ${mtd_utils}; do
+ install -m 0755 $binary ${STAGING_BINDIR}
+ done
+}
+
+mtd_utils = "ftl_format flash_erase flash_eraseall nanddump doc_loadbios \
+ mkfs.jffs ftl_check mkfs.jffs2 flash_lock flash_unlock flash_info mtd_debug \
+ flashcp nandwrite jffs2dump sumtool"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${includedir}
+ for binary in ${mtd_utils}; do
+ install -m 0755 $binary ${D}${bindir}
+ done
+ for f in ${S}/include/mtd/*.h; do
+ install -m 0644 $f ${D}${includedir}
+ done
+}
+
+PACKAGES =+ "mkfs-jffs mkfs-jffs2"
+FILES_mkfs-jffs = "${bindir}/mkfs.jffs"
+FILES_mkfs-jffs2 = "${bindir}/mkfs.jffs2"
+
diff --git a/packages/nonworking/efl/evas/.mtn2git_empty b/packages/multitap-pad/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/evas/.mtn2git_empty
+++ b/packages/multitap-pad/.mtn2git_empty
diff --git a/packages/nonworking/efl/ewl/.mtn2git_empty b/packages/multitap-pad/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/ewl/.mtn2git_empty
+++ b/packages/multitap-pad/files/.mtn2git_empty
diff --git a/packages/multitap-pad/files/80multitappad b/packages/multitap-pad/files/80multitappad
new file mode 100644
index 0000000000..d2b12ea7cc
--- /dev/null
+++ b/packages/multitap-pad/files/80multitappad
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+CMD=""
+
+if [ "$DISPLAY_CAN_ROTATE" = "1" ]; then
+ if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" ]; then
+ CMD="multitap-pad -d -o landscape"
+ elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" ]; then
+ CMD="multitap-pad -d -o portrait"
+ fi
+else
+ CMD="multitap-pad -d"
+fi
+
+
+# Delay to make sure the window manager is active
+
+if [ "$CMD" ]; then
+ (sleep 2 && $CMD) &
+fi
diff --git a/packages/multitap-pad/multitap-pad_svn.bb b/packages/multitap-pad/multitap-pad_svn.bb
new file mode 100644
index 0000000000..7543a44d72
--- /dev/null
+++ b/packages/multitap-pad/multitap-pad_svn.bb
@@ -0,0 +1,47 @@
+DESCRIPTION = "Multi-tap input method for GTK"
+LICENSE = "GPL"
+DEPENDS = "libfakekey gtk+ matchbox-panel-2"
+RCONFLICTS = matchbox-keyboard-inputmethod
+SECTION = "x11"
+PV = "0.0+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http \
+ file://80multitappad"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/${PN}"
+
+FILES_${PN} = "${bindir}/* \
+ ${libdir} \
+ ${sysconfdir} \
+ ${datadir}"
+
+FILES_${PN}-dbg += " ${libdir}/gtk-2.0/2.10.0/immodules/.debug \
+ ${libdir}/matchbox-panel/.debug"
+
+FILES_${PN}-dev += " ${libdir}/gtk-2.0/2.10.0/immodules/*.a \
+ ${libdir}/gtk-2.0/2.10.0/immodules/*.la \
+ ${libdir}/matchbox-panel/*.a \
+ ${libdir}/matchbox-panel/*.la"
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d/
+ install -m 755 ${WORKDIR}/80multitappad ${D}/${sysconfdir}/X11/Xsession.d/
+}
+
+pkg_postinst_multitap-pad () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
+
+pkg_postrm_multitap-pad () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
diff --git a/packages/navit/navit_0.0.3.bb b/packages/navit/navit_0.0.4.bb
index 6688768b88..f1dfb1ceb4 100644
--- a/packages/navit/navit_0.0.3.bb
+++ b/packages/navit/navit_0.0.4.bb
@@ -1,5 +1,5 @@
require navit.inc
-PR = "r5"
+PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/navit/navit-${PV}.tar.gz"
diff --git a/packages/navit/navit_cvs.bb b/packages/navit/navit_cvs.bb
index f548c192df..5739063f7b 100644
--- a/packages/navit/navit_cvs.bb
+++ b/packages/navit/navit_cvs.bb
@@ -1,7 +1,9 @@
require navit.inc
-PV = "0.0.4+cvs${SRCDATE}"
-PR = "r5"
+PV = "0.1.0+cvs${SRCDATE}"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
S = "${WORKDIR}/navit"
diff --git a/packages/netatalk/netatalk_2.0.3.bb b/packages/netatalk/netatalk_2.0.3.bb
index 5fd7255fed..4f802dbcf6 100644
--- a/packages/netatalk/netatalk_2.0.3.bb
+++ b/packages/netatalk/netatalk_2.0.3.bb
@@ -17,13 +17,13 @@ inherit autotools update-rc.d
do_configure () {
autoreconf
- ac_cv_header_rpcsvc_rquota_h=no LDFLAGS="-lpthread -L${STAGING_DIR}/${TARGET_SYS}/lib" ./configure \
+ ac_cv_header_rpcsvc_rquota_h=no LDFLAGS="-lpthread -L${STAGING_LIBDIR}" ./configure \
--build=${BUILD_SYS} \
--host=${HOST_SYS} \
--target=${TARGET_SYS} \
--prefix=${prefix} \
- --with-bdb=${STAGING_DIR}/${TARGET_SYS} \
- --with-ssl-dir=${STAGING_DIR}/${TARGET_SYS} \
+ --with-bdb=${STAGING_DIR_TARGET}${layout_exec_prefix} \
+ --with-ssl-dir=${STAGING_DIR_TARGET}${layout_exec_prefix} \
--without-shadow \
--sysconfdir=${sysconfdir} \
--disable-nls \
diff --git a/packages/nonworking/efl/files/.mtn2git_empty b/packages/netsurf/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/efl/files/.mtn2git_empty
+++ b/packages/netsurf/.mtn2git_empty
diff --git a/packages/nonworking/kgrok/.mtn2git_empty b/packages/netsurf/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/kgrok/.mtn2git_empty
+++ b/packages/netsurf/files/.mtn2git_empty
diff --git a/packages/netsurf/files/netsurf.desktop b/packages/netsurf/files/netsurf.desktop
new file mode 100644
index 0000000000..4188d3019d
--- /dev/null
+++ b/packages/netsurf/files/netsurf.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=NetSurf
+Comment=NetSurf Web Browser
+GenericName=Web Browser
+Icon=netsurf
+Exec=netsurf
+Terminal=false
+StartupNotify=false
+Categories=Network;WebBrowser;
diff --git a/packages/netsurf/netsurf_svn.bb b/packages/netsurf/netsurf_svn.bb
new file mode 100644
index 0000000000..78f23991d3
--- /dev/null
+++ b/packages/netsurf/netsurf_svn.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "Lightweight web browser capable of handling many of the \
+web standards in use today."
+HOMEPAGE = "http://www.netsurf-browser.org/"
+SECTION = "x11/network"
+LICENSE = "GPLv2"
+PV = "1.1+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.netsurf-browser.org/trunk;module=netsurf \
+ file://netsurf.desktop"
+S = "${WORKDIR}/netsurf"
+
+DEPENDS = "gtk+ (>=2.8) lemon-native re2c-native libxml2 librsvg jpeg \
+ libmng curl openssl libglade (>=2.0)"
+
+do_compile() {
+ make -f Makefile.unix
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -d ${D}/${libdir}/netsurf
+ install -d ${D}/${datadir}/netsurf
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0755 nsgtk ${D}/${libdir}/netsurf
+ install -m 0644 gtk/res/*.css ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/ca-bundle.txt ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/netsurf.glade ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/netsurf-logo.png ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/netsurf.xpm ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/throbber.gif ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/messages ${D}/${datadir}/netsurf
+ install -m 0644 gtk/res/netsurf.xpm ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/netsurf.desktop ${D}/${datadir}/applications
+ cat >${D}/${bindir}/netsurf <<EOF
+#!/bin/sh
+NETSURFRES=${datadir}/netsurf
+export NETSURFRES
+exec ${libdir}/netsurf/nsgtk "\$@"
+EOF
+ chmod 0755 ${D}/${bindir}/netsurf
+}
diff --git a/packages/nonworking/apache/apache-2.0.47/configure.patch b/packages/nonworking/apache/apache-2.0.47/configure.patch
deleted file mode 100644
index 95d43fcd1b..0000000000
--- a/packages/nonworking/apache/apache-2.0.47/configure.patch
+++ /dev/null
@@ -1,903 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- httpd-2.0.47/./configure.in~configure 2003-05-21 00:46:00.000000000 -0400
-+++ httpd-2.0.47/./configure.in 2004-01-26 19:43:04.000000000 -0500
-@@ -4,8 +4,9 @@
- dnl Use ./buildconf to produce a configure script
- dnl
-
--AC_PREREQ(2.13)
--AC_INIT(ABOUT_APACHE)
-+AC_PREREQ(2.57)
-+AC_INIT
-+AC_CONFIG_SRCDIR([ABOUT_APACHE])
-
- AC_CONFIG_HEADER(include/ap_config_auto.h)
- AC_CONFIG_AUX_DIR(build)
-@@ -55,7 +56,7 @@
- dnl shared library support for these packages doesn't currently
- dnl work on some platforms
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
-
- orig_prefix="$prefix"
-
-@@ -209,7 +210,7 @@
- APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
- ;;
- *-solaris2*)
-- dnl This is a hack -- we should be using AC_TRY_RUN instead
-+ dnl This is a hack -- we should be using AC_RUN_IFELSE([AC_LANG_SOURCE([[]])],[],[],[]) instead
- ap_platform_runtime_link_flag="-R"
- dnl solaris 8 and above don't have a thundering herd
- dnl not sure about rev's before this one.
-@@ -286,7 +287,7 @@
- dnl ## Check for typedefs, structures, and compiler characteristics.
-
- AC_C_CONST
--if test "$ac_cv_prog_gcc" = "yes"; then
-+if test "$ac_cv_c_compiler_gnu" = "yes"; then
- APR_ADDTO(NOTEST_CPPFLAGS,-DAP_HAVE_DESIGNATED_INITIALIZER)
- fi
-
-@@ -305,9 +306,8 @@
-
- dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
- AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
--[AC_TRY_COMPILE([#include <sys/types.h>
--#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
-- ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
-+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-+#include <time.h>]], [[struct tm tm; tm.tm_gmtoff;]])],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no])])
- if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
- AC_DEFINE(HAVE_GMTOFF)
- fi
-@@ -566,7 +566,9 @@
- dnl Ensure that docs/conf is created.
- test -d docs/conf||$mkdir_p docs/conf
-
--AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd-std.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk,[true],[
-+AC_CONFIG_FILES([$APACHE_OUTPUT_FILES docs/conf/httpd-std.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk])
-+AC_CONFIG_COMMANDS([default],[[true]],[[
- APACHE_GEN_MAKEFILES
--])
-+]])
-+AC_OUTPUT
-
---- httpd-2.0.47/./srclib/apr/configure.in~configure 2003-06-11 11:20:33.000000000 -0400
-+++ httpd-2.0.47/./srclib/apr/configure.in 2004-01-26 19:39:34.000000000 -0500
-@@ -4,7 +4,8 @@
- dnl Process this file with autoconf to produce a configure script.
- dnl Use ./buildconf to prepare build files and run autoconf for APR.
-
--AC_INIT(build/apr_common.m4)
-+AC_INIT
-+AC_CONFIG_SRCDIR([build/apr_common.m4])
- AC_CONFIG_HEADER(include/arch/unix/apr_private.h)
- AC_CONFIG_AUX_DIR(build)
-
-@@ -29,7 +30,7 @@
- dnl
- APR_CONFIG_NICE(config.nice)
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
- echo "Configuring APR library"
- echo "Platform: $host"
-
-@@ -510,18 +511,14 @@
- dnl Linux is silly as it has pthread_rwlock_init defined
- dnl but keeps the pthread_rwlock_t structure hidden unless
- dnl special things are defined.
-- AC_TRY_COMPILE([#include <sys/types.h>
--#include <pthread.h>],
-- [pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;],
-- ac_cv_struct_pthread_rw=yes, ac_cv_struct_pthread_rw=no)
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-+#include <pthread.h>]], [[pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;]])],[ac_cv_struct_pthread_rw=yes],[ac_cv_struct_pthread_rw=no])
- if test "$ac_cv_struct_pthread_rw" = "no"; then
-- AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _XOPEN_SOURCE 500
- #define _BSD_SOURCE
- #define _SVID_SOURCE
- #include <sys/types.h>
--#include <pthread.h>],
-- [pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;],
-- ac_cv_struct_pthread_rw=yes, ac_cv_struct_pthread_rw=no)
-+#include <pthread.h>]], [[pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;]])],[ac_cv_struct_pthread_rw=yes],[ac_cv_struct_pthread_rw=no])
- if test "$ac_cv_struct_pthread_rw" = "yes"; then
- APR_ADDTO(CPPFLAGS, [-D_XOPEN_SOURCE=500 -D_BSD_SOURCE])
- APR_ADDTO(CPPFLAGS, [-D_SVID_SOURCE])
-@@ -602,7 +599,7 @@
- if test "$ac_cv_func_mmap" = "yes" &&
- test "$ac_cv_file__dev_zero" = "yes"; then
- AC_MSG_CHECKING(for mmap that can map /dev/zero)
-- AC_TRY_RUN([
-+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-@@ -625,7 +622,7 @@
- return 3;
- }
- return 0;
-- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])
-+ }]])],[],[ac_cv_file__dev_zero=no],[ac_cv_file__dev_zero=no])
-
- AC_MSG_RESULT($ac_cv_file__dev_zero)
- fi
-@@ -829,7 +826,8 @@
- AC_SUBST(sendfile)
-
- AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ])
--AC_DECL_SYS_SIGLIST
-+AC_CHECK_DECLS([sys_siglist])
-+
-
- AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ])
- APR_CHECK_INET_ADDR
-@@ -936,12 +934,11 @@
- # being included by itself. Check for <netinet/tcp.h> manually,
- # including another header file first.
- AC_CACHE_CHECK([for netinet/tcp.h], [apr_cv_hdr_netinet_tcp_h],
--[AC_TRY_CPP(
--[#ifdef HAVE_NETINET_IN_H
-+[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#ifdef HAVE_NETINET_IN_H
- #include <netinet/in.h>
- #endif
- #include <netinet/tcp.h>
--], [apr_cv_hdr_netinet_tcp_h=yes], [apr_cv_hdr_netinet_tcp_h=no])])
-+]])],[apr_cv_hdr_netinet_tcp_h=yes],[apr_cv_hdr_netinet_tcp_h=no])])
- if test "$apr_cv_hdr_netinet_tcp_h" = "yes"; then
- netinet_tcph=1
- AC_DEFINE([HAVE_NETINET_TCP_H], 1, [Defined if netinet/tcp.h is present])
-@@ -1012,7 +1009,7 @@
- if test "x$ac_cv_sizeof_voidp" != "x"; then
- voidp_size=$ac_cv_sizeof_voidp
- else
-- AC_ERROR([Cannot determine size of void*])
-+ AC_MSG_ERROR([Cannot determine size of void*])
- fi
-
- dnl Checks for integer size
-@@ -1351,7 +1348,7 @@
- fi
-
- AC_CACHE_CHECK(struct rlimit,ac_cv_struct_rlimit,[
--AC_TRY_RUN([
-+AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-@@ -1361,10 +1358,10 @@
- limit.rlim_cur = 0;
- limit.rlim_max = 0;
- exit(0);
--}], [
-- ac_cv_struct_rlimit=yes ], [
-- ac_cv_struct_rlimit=no ], [
-- ac_cv_struct_rlimit=no ] ) ] )
-+}]])],[
-+ ac_cv_struct_rlimit=yes ],[
-+ ac_cv_struct_rlimit=no ],[
-+ ac_cv_struct_rlimit=no ]) ] )
- struct_rlimit=0
- test "x$ac_cv_struct_rlimit" = xyes && struct_rlimit=1
- AC_SUBST(struct_rlimit)
-@@ -1378,7 +1375,7 @@
-
- # Some systems return ENOSYS from sem_open.
- AC_CACHE_CHECK(for working sem_open,ac_cv_func_sem_open,[
--AC_TRY_RUN([
-+AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <errno.h>
- #include <stdlib.h>
- #include <fcntl.h>
-@@ -1397,22 +1394,21 @@
- sem_close(psem);
- sem_unlink(sem_name);
- exit(0);
--}], [ac_cv_func_sem_open=yes], [ac_cv_func_sem_open=no],
--[ac_cv_func_sem_open=no])])
-+}]])],[ac_cv_func_sem_open=yes],[ac_cv_func_sem_open=no],[ac_cv_func_sem_open=no])])
-
- # It's stupid, but not all platforms have union semun, even those that need it.
- AC_MSG_CHECKING(for union semun in sys/sem.h)
--AC_TRY_COMPILE([
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/sem.h>
--],[
-+]], [[
- union semun arg;
- semctl(0, 0, 0, arg);
--], [have_union_semun="1" union_semun=yes ]
--msg=yes, [
-+]])],[have_union_semun="1" union_semun=yes
-+msg=yes],[
- have_union_semun="0"
--msg=no ] )
-+msg=no ])
- AC_MSG_RESULT([$msg])
- AC_SUBST(have_union_semun)
-
-@@ -1434,7 +1430,7 @@
- # Linux and older versions of AIX have this problem.
- APR_IFALLYES(header:pthread.h define:PTHREAD_PROCESS_SHARED func:pthread_mutexattr_setpshared, [
- AC_CACHE_CHECK([for working PROCESS_SHARED locks], apr_cv_process_shared_works, [
-- AC_TRY_RUN([
-+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <sys/types.h>
- #include <pthread.h>
- int main()
-@@ -1452,7 +1448,7 @@
- if (pthread_mutex_destroy(&mutex))
- exit(5);
- exit(0);
-- }], [apr_cv_process_shared_works=yes], [apr_cv_process_shared_works=no])])
-+ }]])],[apr_cv_process_shared_works=yes],[apr_cv_process_shared_works=no],[])])
- # Override detection of pthread_mutexattr_setpshared
- ac_cv_func_pthread_mutexattr_setpshared=$apr_cv_process_shared_works])
-
-@@ -1461,15 +1457,15 @@
- if test "$ac_cv_func_pthread_mutexattr_setrobust_np" = "no"; then
- AC_CACHE_CHECK([for pthread_mutexattr_setrobust_np with _POSIX_THREAD_PRIO_INHERIT],
- [apr_cv_setrobust_with_prio_inherit], [
-- AC_TRY_COMPILE([#define _POSIX_THREAD_PRIO_INHERIT
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _POSIX_THREAD_PRIO_INHERIT
- #include <sys/types.h>
--#include <pthread.h>],[
-+#include <pthread.h>]], [[
- int main()
- {
- pthread_mutexattr_t attr;
- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP);
- return 0;
-- }], [apr_cv_setrobust_with_prio_inherit=yes], [apr_cv_setrobust_with_prio_inherit=no])])
-+ }]])],[apr_cv_setrobust_with_prio_inherit=yes],[apr_cv_setrobust_with_prio_inherit=no])])
- if test "$apr_cv_setrobust_with_prio_inherit" = "yes"; then
- ac_cv_func_pthread_mutexattr_setrobust_np=yes
- APR_ADDTO(CPPFLAGS, -D_POSIX_THREAD_PRIO_INHERIT)
-@@ -1637,7 +1633,7 @@
- if test -r "$apr_devrandom"; then
- rand="1"
- else
-- AC_ERROR([$apr_devrandom not found or unreadable.])
-+ AC_MSG_ERROR([$apr_devrandom not found or unreadable.])
- fi
- fi
-
-@@ -1673,9 +1669,8 @@
- dnl ----------------------------- Checking for Time Support
- echo "${nl}Checking for Time Support..."
- AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
--[AC_TRY_COMPILE([#include <sys/types.h>
--#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
-- ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
-+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-+#include <time.h>]], [[struct tm tm; tm.tm_gmtoff;]])],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no])])
-
- if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
- AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field])
-@@ -1684,14 +1679,14 @@
- dnl ----------------------------- Checking for Networking Support
- echo "${nl}Checking for Networking support..."
- AC_MSG_CHECKING(for in_addr in netinet/in.h)
--AC_TRY_COMPILE([
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include <sys/types.h>
- #include <netinet/in.h>
--],[
-+]], [[
- struct in_addr arg;
- arg.s_addr = htonl(INADDR_ANY);
--], [ have_in_addr="1"
--msg=yes ] , [ have_in_addr="0"
-+]])],[ have_in_addr="1"
-+msg=yes ],[ have_in_addr="0"
- msg=no ])
- AC_MSG_RESULT([$msg])
-
-@@ -1898,12 +1893,13 @@
- dir=include/arch/unix
- test -d $dir || $MKDIR $dir
-
--AC_OUTPUT([
-+AC_CONFIG_FILES([
- $MAKEFILE1 $MAKEFILE2 $MAKEFILE3
- include/apr.h
- build/apr_rules.mk
- apr-config
--],[
-+])
-+AC_CONFIG_COMMANDS([default],[[
- for i in $SAVE_FILES; do
- if cmp -s $i $i.save 2>/dev/null; then
- mv $i.save $i
-@@ -1912,7 +1908,8 @@
- rm -f $i.save
- done
- chmod +x apr-config
--])
-+]],[[]])
-+AC_OUTPUT
-
- dnl ----------------------------- Fixup Makefiles for VPATH support
-
---- httpd-2.0.47/./srclib/pcre/configure.in~configure 2002-03-20 01:56:34.000000000 -0500
-+++ httpd-2.0.47/./srclib/pcre/configure.in 2004-01-26 19:43:27.000000000 -0500
-@@ -3,7 +3,8 @@
- dnl This is required at the start; the name is the name of a file
- dnl it should be seeing, to verify it is in the same directory.
-
--AC_INIT(dftables.c)
-+AC_INIT
-+AC_CONFIG_SRCDIR([dftables.c])
-
- dnl Arrange to build config.h from config.in. Note that pcre.h is
- dnl built differently, as it is just a "substitution" file.
-@@ -101,4 +102,6 @@
- AC_SUBST(PCRE_POSIXLIB_VERSION)
-
- dnl This must be last; it determines what files are written as well as config.h
--AC_OUTPUT(Makefile pcre.h:pcre.in pcre-config,[chmod a+x pcre-config])
-+AC_CONFIG_FILES([Makefile pcre.h:pcre.in pcre-config])
-+AC_CONFIG_COMMANDS([default],[[chmod a+x pcre-config]],[[]])
-+AC_OUTPUT
---- httpd-2.0.47/./srclib/apr-util/xml/expat/configure.in~configure 2001-07-08 22:31:04.000000000 -0400
-+++ httpd-2.0.47/./srclib/apr-util/xml/expat/configure.in 2004-01-26 19:39:34.000000000 -0500
-@@ -10,7 +10,8 @@
- dnl in the file COPYING that comes with this distribution.
- dnl
-
--AC_INIT(Makefile.in)
-+AC_INIT
-+AC_CONFIG_SRCDIR([Makefile.in])
- AC_CONFIG_AUX_DIR(conftools)
-
- dnl
-@@ -45,7 +46,7 @@
-
- AC_CONFIG_HEADER(config.h)
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
- case "$host_alias" in
- *os2*)
- # Use a custom made libtool replacement
-@@ -106,4 +107,5 @@
-
- AC_CHECK_FUNCS(memmove bcopy)
-
--AC_OUTPUT(Makefile lib/Makefile lib/expat.h)
-+AC_CONFIG_FILES([Makefile lib/Makefile lib/expat.h])
-+AC_OUTPUT
---- httpd-2.0.47/./srclib/apr-util/configure.in~configure 2003-06-12 03:27:10.000000000 -0400
-+++ httpd-2.0.47/./srclib/apr-util/configure.in 2004-01-26 19:39:34.000000000 -0500
-@@ -2,8 +2,9 @@
- dnl Process this file with autoconf to produce a configure script
- dnl
-
--AC_PREREQ(2.13)
--AC_INIT(export_vars.sh.in)
-+AC_PREREQ(2.57)
-+AC_INIT
-+AC_CONFIG_SRCDIR([export_vars.sh.in])
-
- AC_CONFIG_HEADER(include/private/apu_config.h)
- AC_CONFIG_AUX_DIR(build)
-@@ -29,7 +30,7 @@
- USE_VPATH=1
- fi
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
-
- dnl
- dnl compute the top directory of the build
-@@ -191,13 +192,15 @@
- dnl
- dnl everthing is done.
- MAKEFILES="Makefile buckets/Makefile crypto/Makefile dbm/Makefile dbm/sdbm/Makefile encoding/Makefile hooks/Makefile ldap/Makefile uri/Makefile xml/Makefile misc/Makefile strmatch/Makefile xlate/Makefile $test_Makefile"
--AC_OUTPUT([
-+AC_CONFIG_FILES([
- export_vars.sh
- apu-config
- include/private/apu_select_dbm.h
- include/apr_ldap.h
- include/apu.h
- $MAKEFILES
-- ],[
-+ ])
-+AC_CONFIG_COMMANDS([default],[[
- chmod +x apu-config
--])
-+]],[[]])
-+AC_OUTPUT
---- httpd-2.0.47/acinclude.m4~configure 2002-11-29 06:05:57.000000000 -0500
-+++ httpd-2.0.47/acinclude.m4 2004-01-26 19:39:34.000000000 -0500
-@@ -4,25 +4,25 @@
- dnl AC_HELP_STRING, so let's try to call it if we can.
- dnl Note: this define must be on one line so that it can be properly returned
- dnl as the help string.
--AC_DEFUN(APACHE_HELP_STRING,[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING($1,$2),[ ]$1 substr([ ],len($1))$2)])dnl
-+AC_DEFUN([APACHE_HELP_STRING],[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING($1,$2),[ ]$1 substr([ ],len($1))$2)])dnl
-
- dnl APACHE_SUBST(VARIABLE)
- dnl Makes VARIABLE available in generated files
- dnl (do not use @variable@ in Makefiles, but $(variable))
--AC_DEFUN(APACHE_SUBST,[
-+AC_DEFUN([APACHE_SUBST],[
- APACHE_VAR_SUBST="$APACHE_VAR_SUBST $1"
- AC_SUBST($1)
- ])
-
- dnl APACHE_FAST_OUTPUT(FILENAME)
- dnl Perform substitutions on FILENAME (Makefiles only)
--AC_DEFUN(APACHE_FAST_OUTPUT,[
-+AC_DEFUN([APACHE_FAST_OUTPUT],[
- APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $1"
- ])
-
- dnl APACHE_GEN_CONFIG_VARS
- dnl Creates config_vars.mk
--AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
-+AC_DEFUN([APACHE_GEN_CONFIG_VARS],[
- APACHE_SUBST(abs_srcdir)
- APACHE_SUBST(bindir)
- APACHE_SUBST(sbindir)
-@@ -104,14 +104,14 @@
-
- dnl APACHE_GEN_MAKEFILES
- dnl Creates Makefiles
--AC_DEFUN(APACHE_GEN_MAKEFILES,[
-+AC_DEFUN([APACHE_GEN_MAKEFILES],[
- $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
- ])
-
- dnl ## APACHE_OUTPUT(file)
- dnl ## adds "file" to the list of files generated by AC_OUTPUT
- dnl ## This macro can be used several times.
--AC_DEFUN(APACHE_OUTPUT, [
-+AC_DEFUN([APACHE_OUTPUT], [
- APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
- ])
-
-@@ -120,7 +120,7 @@
- dnl
- dnl If rlim_t is not defined, define it to int
- dnl
--AC_DEFUN(APACHE_TYPE_RLIM_T, [
-+AC_DEFUN([APACHE_TYPE_RLIM_T], [
- AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
- AC_TRY_COMPILE([
- #include <sys/types.h>
-@@ -138,7 +138,7 @@
- ])
-
- dnl APACHE_MODPATH_INIT(modpath)
--AC_DEFUN(APACHE_MODPATH_INIT,[
-+AC_DEFUN([APACHE_MODPATH_INIT],[
- current_dir=$1
- modpath_current=modules/$1
- modpath_static=
-@@ -147,7 +147,7 @@
- > $modpath_current/modules.mk
- ])dnl
- dnl
--AC_DEFUN(APACHE_MODPATH_FINISH,[
-+AC_DEFUN([APACHE_MODPATH_FINISH],[
- echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
- echo "static = $modpath_static" >> $modpath_current/modules.mk
- echo "shared = $modpath_shared" >> $modpath_current/modules.mk
-@@ -160,7 +160,7 @@
- ])dnl
- dnl
- dnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
--AC_DEFUN(APACHE_MODPATH_ADD,[
-+AC_DEFUN([APACHE_MODPATH_ADD],[
- if test -z "$3"; then
- objects="mod_$1.lo"
- else
-@@ -203,7 +203,7 @@
- dnl setting. otherwise, fall under the "all" setting.
- dnl explicit yes/no always overrides.
- dnl
--AC_DEFUN(APACHE_MODULE,[
-+AC_DEFUN([APACHE_MODULE],[
- AC_MSG_CHECKING(whether to enable mod_$1)
- define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
- AC_ARG_ENABLE(translit($1,_,-),APACHE_HELP_STRING(optname(),$2),,enable_$1=ifelse($5,,maybe-all,$5))
-@@ -273,7 +273,7 @@
- dnl
- dnl APACHE_LAYOUT(configlayout, layoutname)
- dnl
--AC_DEFUN(APACHE_LAYOUT,[
-+AC_DEFUN([APACHE_LAYOUT],[
- if test ! -f $srcdir/config.layout; then
- echo "** Error: Layout file $srcdir/config.layout not found"
- echo "** Error: Cannot use undefined layout '$LAYOUT'"
-@@ -325,7 +325,7 @@
- dnl
- dnl APACHE_ENABLE_LAYOUT
- dnl
--AC_DEFUN(APACHE_ENABLE_LAYOUT,[
-+AC_DEFUN([APACHE_ENABLE_LAYOUT],[
- AC_ARG_ENABLE(layout,
- [ --enable-layout=LAYOUT],[
- LAYOUT=$enableval
-@@ -343,7 +343,7 @@
- dnl
- dnl APACHE_ENABLE_MODULES
- dnl
--AC_DEFUN(APACHE_ENABLE_MODULES,[
-+AC_DEFUN([APACHE_ENABLE_MODULES],[
- module_selection=default
- module_default=yes
-
-@@ -372,7 +372,7 @@
- ])
- ])
-
--AC_DEFUN(APACHE_REQUIRE_CXX,[
-+AC_DEFUN([APACHE_REQUIRE_CXX],[
- if test -z "$apache_cxx_done"; then
- AC_PROG_CXX
- AC_PROG_CXXCPP
-@@ -389,7 +389,7 @@
- dnl and then AC_TRY_LINK to test the libraries directly for the version,
- dnl but that will require someone who knows how to program openssl.
- dnl
--AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[
-+AC_DEFUN([APACHE_CHECK_SSL_TOOLKIT],[
- if test "x$ap_ssltk_base" = "x"; then
- AC_MSG_CHECKING(for SSL/TLS toolkit base)
- ap_ssltk_base=""
-@@ -499,14 +499,14 @@
- dnl apache will use while generating scripts like autoconf and apxs and
- dnl the default config file.
-
--AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
-+AC_DEFUN([APACHE_SUBST_EXPANDED_ARG],[
- APR_EXPAND_VAR(exp_$1, [$]$1)
- APACHE_SUBST(exp_$1)
- APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
- APACHE_SUBST(rel_$1)
- ])
-
--AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
-+AC_DEFUN([APACHE_EXPORT_ARGUMENTS],[
- APACHE_SUBST_EXPANDED_ARG(exec_prefix)
- APACHE_SUBST_EXPANDED_ARG(bindir)
- APACHE_SUBST_EXPANDED_ARG(sbindir)
---- httpd-2.0.47/srclib/apr/build/apr_common.m4~configure 2003-04-05 16:42:20.000000000 -0500
-+++ httpd-2.0.47/srclib/apr/build/apr_common.m4 2004-01-26 19:39:34.000000000 -0500
-@@ -6,7 +6,7 @@
- dnl
- dnl Saves a snapshot of the configure command-line for later reuse
- dnl
--AC_DEFUN(APR_CONFIG_NICE,[
-+AC_DEFUN([APR_CONFIG_NICE],[
- rm -f $1
- cat >$1<<EOF
- #! /bin/sh
-@@ -55,7 +55,7 @@
-
- dnl APR_MKDIR_P_CHECK(fallback-mkdir-p)
- dnl checks whether mkdir -p works
--AC_DEFUN(APR_MKDIR_P_CHECK,[
-+AC_DEFUN([APR_MKDIR_P_CHECK],[
- AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[
- test -d conftestdir && rm -rf conftestdir
- mkdir -p conftestdir/somedir >/dev/null 2>&1
-@@ -93,7 +93,7 @@
- dnl Trying to optimize this is left as an exercise to the reader who wants
- dnl to put up with more autoconf craziness. I give up.
- dnl
--AC_DEFUN(APR_SUBDIR_CONFIG, [
-+AC_DEFUN([APR_SUBDIR_CONFIG], [
- # save our work to this point; this allows the sub-package to use it
- AC_CACHE_SAVE
-
-@@ -158,7 +158,7 @@
- dnl
- dnl Stores the variable (usually a Makefile macro) for later restoration
- dnl
--AC_DEFUN(APR_SAVE_THE_ENVIRONMENT,[
-+AC_DEFUN([APR_SAVE_THE_ENVIRONMENT],[
- apr_ste_save_$1="$$1"
- ])dnl
-
-@@ -170,7 +170,7 @@
- dnl and restoring the original variable contents. This makes it possible
- dnl for a user to override configure when it does something stupid.
- dnl
--AC_DEFUN(APR_RESTORE_THE_ENVIRONMENT,[
-+AC_DEFUN([APR_RESTORE_THE_ENVIRONMENT],[
- if test "x$apr_ste_save_$1" = "x"; then
- $2$1="$$1"
- $1=
-@@ -192,7 +192,7 @@
- dnl
- dnl Set variable iff it's currently null
- dnl
--AC_DEFUN(APR_SETIFNULL,[
-+AC_DEFUN([APR_SETIFNULL],[
- if test -z "$$1"; then
- echo " setting $1 to \"$2\""
- $1="$2"
-@@ -204,7 +204,7 @@
- dnl
- dnl Set variable no matter what
- dnl
--AC_DEFUN(APR_SETVAR,[
-+AC_DEFUN([APR_SETVAR],[
- echo " forcing $1 to \"$2\""
- $1="$2"
- ])dnl
-@@ -214,7 +214,7 @@
- dnl
- dnl Add value to variable
- dnl
--AC_DEFUN(APR_ADDTO,[
-+AC_DEFUN([APR_ADDTO],[
- if test "x$$1" = "x"; then
- echo " setting $1 to \"$2\""
- $1="$2"
-@@ -241,7 +241,7 @@
- dnl
- dnl Remove a value from a variable
- dnl
--AC_DEFUN(APR_REMOVEFROM,[
-+AC_DEFUN([APR_REMOVEFROM],[
- if test "x$$1" = "x$2"; then
- echo " nulling $1"
- $1=""
-@@ -265,7 +265,7 @@
- dnl
- dnl APR_CHECK_DEFINE_FILES( symbol, header_file [header_file ...] )
- dnl
--AC_DEFUN(APR_CHECK_DEFINE_FILES,[
-+AC_DEFUN([APR_CHECK_DEFINE_FILES],[
- AC_CACHE_CHECK([for $1 in $2],ac_cv_define_$1,[
- ac_cv_define_$1=no
- for curhdr in $2
-@@ -287,7 +287,7 @@
- dnl
- dnl APR_CHECK_DEFINE(symbol, header_file)
- dnl
--AC_DEFUN(APR_CHECK_DEFINE,[
-+AC_DEFUN([APR_CHECK_DEFINE],[
- AC_CACHE_CHECK([for $1 in $2],ac_cv_define_$1,[
- AC_EGREP_CPP(YES_IS_DEFINED, [
- #include <$2>
-@@ -304,7 +304,7 @@
- dnl
- dnl APR_CHECK_APR_DEFINE( symbol )
- dnl
--AC_DEFUN(APR_CHECK_APR_DEFINE,[
-+AC_DEFUN([APR_CHECK_APR_DEFINE],[
- apr_old_cppflags=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $INCLUDES"
- AC_EGREP_CPP(YES_IS_DEFINED, [
-@@ -329,7 +329,7 @@
- fi])
- ])
-
--define(APR_IFALLYES,[dnl
-+define([APR_IFALLYES],[dnl
- ac_rc=yes
- for ac_spec in $1; do
- ac_type=`echo "$ac_spec" | sed -e 's/:.*$//'`
-@@ -364,14 +364,14 @@
- ])
-
-
--define(APR_BEGIN_DECISION,[dnl
-+define([APR_BEGIN_DECISION],[dnl
- ac_decision_item='$1'
- ac_decision_msg='FAILED'
- ac_decision=''
- ])
-
-
--define(APR_DECIDE,[dnl
-+define([APR_DECIDE],[dnl
- ac_decision='$1'
- ac_decision_msg='$2'
- ac_decision_$1=yes
-@@ -379,7 +379,7 @@
- ])
-
-
--define(APR_DECISION_OVERRIDE,[dnl
-+define([APR_DECISION_OVERRIDE],[dnl
- ac_decision=''
- for ac_item in $1; do
- eval "ac_decision_this=\$ac_decision_${ac_item}"
-@@ -391,13 +391,13 @@
- ])
-
-
--define(APR_DECISION_FORCE,[dnl
-+define([APR_DECISION_FORCE],[dnl
- ac_decision="$1"
- eval "ac_decision_msg=\"\$ac_decision_${ac_decision}_msg\""
- ])
-
-
--define(APR_END_DECISION,[dnl
-+define([APR_END_DECISION],[dnl
- if test ".$ac_decision" = .; then
- echo "[$]0:Error: decision on $ac_decision_item failed" 1>&2
- exit 1
-@@ -417,7 +417,7 @@
- dnl A variant of AC_CHECK_SIZEOF which allows the checking of
- dnl sizes of non-builtin types
- dnl
--AC_DEFUN(APR_CHECK_SIZEOF_EXTENDED,
-+AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED],
- [changequote(<<,>>)dnl
- dnl The name to #define
- define(<<AC_TYPE_NAME>>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl
-@@ -450,7 +450,7 @@
- dnl Tries a compile test with warnings activated so that the result
- dnl is false if the code doesn't compile cleanly.
- dnl
--AC_DEFUN(APR_TRY_COMPILE_NO_WARNING,
-+AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
- [if test "x$CFLAGS_WARN" = "x"; then
- apr_tcnw_flags=""
- else
-@@ -489,7 +489,7 @@
- dnl string.
- dnl
- dnl
--AC_DEFUN(APR_CHECK_STRERROR_R_RC,[
-+AC_DEFUN([APR_CHECK_STRERROR_R_RC],[
- AC_MSG_CHECKING(for type of return code from strerror_r)
- AC_TRY_RUN([
- #include <errno.h>
-@@ -522,7 +522,7 @@
- dnl Decide which of a couple of flavors of crypt_r() is necessary for
- dnl this platform.
- dnl
--AC_DEFUN(APR_CHECK_CRYPT_R_STYLE,[
-+AC_DEFUN([APR_CHECK_CRYPT_R_STYLE],[
- AC_CACHE_CHECK(style of crypt_r, ac_cv_crypt_r_style,[
- dnl
- ac_cv_crypt_r_style=none
-@@ -576,7 +576,7 @@
- dnl structure on this platform. Single UNIX Spec says d_ino,
- dnl BSD uses d_fileno. Undef to find the real beast.
- dnl
--AC_DEFUN(APR_CHECK_DIRENT_INODE, [
-+AC_DEFUN([APR_CHECK_DIRENT_INODE], [
- AC_CACHE_CHECK([for inode member of struct dirent], apr_cv_dirent_inode, [
- apr_cv_dirent_inode=no
- AC_TRY_COMPILE([
-@@ -613,7 +613,7 @@
- dnl Note that this is worthless without DT_xxx macros, so
- dnl look for one while we are at it.
- dnl
--AC_DEFUN(APR_CHECK_DIRENT_TYPE,[
-+AC_DEFUN([APR_CHECK_DIRENT_TYPE],[
- AC_CACHE_CHECK([for file type member of struct dirent], apr_cv_dirent_type,[
- apr_cv_dirent_type=no
- AC_TRY_COMPILE([
-@@ -645,8 +645,8 @@
- dnl within each iteration.
- dnl
- changequote({,})
--define({APR_COMMA_ARGS},{patsubst([$}{1],[[}apr_whitespace{]+],[,])})
--define({APR_FOREACH},
-+define([{APR_COMMA_ARGS}],{patsubst([$}{1],[[}apr_whitespace{]+],[,])})
-+define([{APR_FOREACH}],
- {ifelse($}{2,,,
- [define([eachval],
- $}{2)$}{1[]APR_FOREACH([$}{1],
-@@ -661,7 +661,7 @@
- dnl all "." and "-" chars. If the 3rd parameter is "yes" then instead of
- dnl setting to 1 or 0, we set FLAG-TO-SET to yes or no.
- dnl
--AC_DEFUN(APR_FLAG_HEADERS,[
-+AC_DEFUN([APR_FLAG_HEADERS],[
- AC_CHECK_HEADERS($1)
- for aprt_i in $1
- do
-@@ -682,7 +682,7 @@
- dnl is "yes" then instead of setting to 1 or 0, we set FLAG-TO-SET
- dnl to yes or no.
- dnl
--AC_DEFUN(APR_FLAG_FUNCS,[
-+AC_DEFUN([APR_FLAG_FUNCS],[
- AC_CHECK_FUNCS($1)
- for aprt_j in $1
- do
-@@ -707,7 +707,7 @@
- dnl APR_EXPAND_VAR(fraz, $baz)
- dnl $fraz is now "1/2/3"
- dnl
--AC_DEFUN(APR_EXPAND_VAR,[
-+AC_DEFUN([APR_EXPAND_VAR],[
- ap_last=
- ap_cur="$2"
- while test "x${ap_cur}" != "x${ap_last}";
-@@ -726,7 +726,7 @@
- dnl orig_path="${prefix}/bar"
- dnl APR_PATH_RELATIVE(final_path, $orig_path, $prefix)
- dnl $final_path now contains "bar"
--AC_DEFUN(APR_PATH_RELATIVE,[
-+AC_DEFUN([APR_PATH_RELATIVE],[
- ap_stripped=`echo $2 | sed -e "s#^$3##"`
- # check if the stripping was successful
- if test "x$2" != "x${ap_stripped}"; then
-@@ -744,12 +744,12 @@
- dnl Note: this define must be on one line so that it can be properly returned
- dnl as the help string. When using this macro with a multi-line RHS, ensure
- dnl that you surround the macro invocation with []s
--AC_DEFUN(APR_HELP_STRING,[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING([$1],[$2]),[ ][$1] substr([ ],len($1))[$2])])
-+AC_DEFUN([APR_HELP_STRING],[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING([$1],[$2]),[ ][$1] substr([ ],len($1))[$2])])
-
- dnl
- dnl APR_LAYOUT(configlayout, layoutname [, extravars])
- dnl
--AC_DEFUN(APR_LAYOUT,[
-+AC_DEFUN([APR_LAYOUT],[
- if test ! -f $srcdir/config.layout; then
- echo "** Error: Layout file $srcdir/config.layout not found"
- echo "** Error: Cannot use undefined layout '$LAYOUT'"
-@@ -805,7 +805,7 @@
- dnl
- dnl APR_ENABLE_LAYOUT(default layout name [, extra vars])
- dnl
--AC_DEFUN(APR_ENABLE_LAYOUT,[
-+AC_DEFUN([APR_ENABLE_LAYOUT],[
- AC_ARG_ENABLE(layout,
- [ --enable-layout=LAYOUT],[
- LAYOUT=$enableval
-@@ -826,7 +826,7 @@
- dnl a reimplementation of autoconf's argument parser,
- dnl used here to allow us to co-exist layouts and argument based
- dnl set ups.
--AC_DEFUN(APR_PARSE_ARGUMENTS,[
-+AC_DEFUN([APR_PARSE_ARGUMENTS],[
- ac_prev=
- for ac_option
- do
-@@ -948,7 +948,7 @@
- dnl
- dnl Determine what program we can use to generate .deps-style dependencies
- dnl
--AC_DEFUN(APR_CHECK_DEPEND,[
-+AC_DEFUN([APR_CHECK_DEPEND],[
- dnl Try to determine what depend program we can use
- dnl All GCC-variants should have -MM.
- dnl If not, then we can check on those, too.
---- httpd-2.0.47/srclib/apr/build/find_apr.m4~configure 2002-11-05 17:09:19.000000000 -0500
-+++ httpd-2.0.47/srclib/apr/build/find_apr.m4 2004-01-26 19:39:34.000000000 -0500
-@@ -37,7 +37,7 @@
- dnl value of apr_config to fetch any necessary build/link information.
- dnl
-
--AC_DEFUN(APR_FIND_APR, [
-+AC_DEFUN([APR_FIND_APR], [
- apr_found="no"
-
- if test "$ac_cv_emxos2" = "yes"; then
---- httpd-2.0.47/srclib/apr-util/build/find_apu.m4~configure 2002-11-05 17:13:42.000000000 -0500
-+++ httpd-2.0.47/srclib/apr-util/build/find_apu.m4 2004-01-26 19:39:34.000000000 -0500
-@@ -41,7 +41,7 @@
- dnl value of apu_config to fetch any necessary build/link information.
- dnl
-
--AC_DEFUN(APR_FIND_APU, [
-+AC_DEFUN([APR_FIND_APU], [
- apu_found="no"
-
- AC_MSG_CHECKING(for APR-util)
diff --git a/packages/nonworking/apache/apache-2.0.47/init b/packages/nonworking/apache/apache-2.0.47/init
deleted file mode 100755
index 7a05c38a9a..0000000000
--- a/packages/nonworking/apache/apache-2.0.47/init
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-#
-# apache Start the apache HTTP server.
-#
-
-NAME=apache
-PATH=/bin:/usr/bin:/sbin:/usr/sbin
-DAEMON=/usr/sbin/httpd
-SUEXEC=/usr/lib/apache/suexec
-PIDFILE=/var/run/$NAME.pid
-CONF=/etc/apache/httpd.conf
-APACHECTL=/usr/sbin/apachectl
-
-trap "" 1
-export LANG=C
-export PATH
-
-test -f $DAEMON || exit 0
-test -f $APACHECTL || exit 0
-
-# ensure we don't leak environment vars into apachectl
-APACHECTL="env -i LANG=${LANG} PATH=${PATH} $APACHECTL"
-
-if egrep -q -i "^[[:space:]]*ServerType[[:space:]]+inet" $CONF
-then
- exit 0
-fi
-
-case "$1" in
- start)
- echo -n "Starting web server: $NAME"
- start-stop-daemon -S -x $DAEMON
- ;;
-
- stop)
- echo -n "Stopping web server: $NAME"
- start-stop-daemon -K -x $DAEMON
- ;;
-
- reload)
- echo -n "Reloading $NAME configuration"
- start-stop-daemon -K --signal USR1 -x $DAEMON
- ;;
-
- reload-modules)
- echo -n "Reloading $NAME modules"
- start-stop-daemon -K
- start-stop-daemon -S -x $DAEMON
- ;;
-
- restart)
- $0 reload-modules
- exit $?
- ;;
-
- force-reload)
- $0 reload-modules
- exit $?
- ;;
-
- *)
- echo "Usage: /etc/init.d/$NAME {start|stop|reload|reload-modules|force-reload|restart}"
- exit 1
- ;;
-esac
-
-if [ $? == 0 ]; then
- echo .
- exit 0
-else
- echo failed
- exit 1
-fi
diff --git a/packages/nonworking/apache/apache-2.0.47/pcre-configure.patch b/packages/nonworking/apache/apache-2.0.47/pcre-configure.patch
deleted file mode 100644
index 0460d17456..0000000000
--- a/packages/nonworking/apache/apache-2.0.47/pcre-configure.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- httpd-2.0.47/srclib/pcre/configure.in~pcre-configure
-+++ httpd-2.0.47/srclib/pcre/configure.in
-@@ -72,7 +72,8 @@
- AC_ARG_ENABLE(newline-is-cr,
- [ --enable-newline-is-cr use CR as the newline character],
- if test "$enableval" = "yes"; then
-- NEWLINE=-DNEWLINE=13
-+ AC_DEFINE(NEWLINE, 13)
-+# NEWLINE=-DNEWLINE=13
- fi
- )
-
-@@ -81,7 +82,8 @@
- AC_ARG_ENABLE(newline-is-lf,
- [ --enable-newline-is-lf use LF as the newline character],
- if test "$enableval" = "yes"; then
-- NEWLINE=-DNEWLINE=10
-+ AC_DEFINE(NEWLINE, 10)
-+# NEWLINE=-DNEWLINE=10
- fi
- )
-
-@@ -91,7 +93,7 @@
- AC_SUBST(HAVE_STRERROR)
- AC_SUBST(LIBTOOL)
- AC_SUBST(LIBSUFFIX)
--AC_SUBST(NEWLINE)
-+#AC_SUBST(NEWLINE)
- AC_SUBST(UTF8)
- AC_SUBST(PCRE_MAJOR)
- AC_SUBST(PCRE_MINOR)
diff --git a/packages/nonworking/apache/apache/apache-2.0.48/configure.patch b/packages/nonworking/apache/apache/apache-2.0.48/configure.patch
deleted file mode 100644
index 13217ed4b9..0000000000
--- a/packages/nonworking/apache/apache/apache-2.0.48/configure.patch
+++ /dev/null
@@ -1,390 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- httpd-2.0.48/./configure.in~configure
-+++ httpd-2.0.48/./configure.in
-@@ -4,8 +4,9 @@
- dnl Use ./buildconf to produce a configure script
- dnl
-
--AC_PREREQ(2.13)
--AC_INIT(ABOUT_APACHE)
-+AC_PREREQ(2.57)
-+AC_INIT
-+AC_CONFIG_SRCDIR([ABOUT_APACHE])
-
- AC_CONFIG_HEADER(include/ap_config_auto.h)
- AC_CONFIG_AUX_DIR(build)
-@@ -55,7 +56,7 @@
- dnl shared library support for these packages doesn't currently
- dnl work on some platforms
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
-
- orig_prefix="$prefix"
-
-@@ -209,7 +210,7 @@
- APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
- ;;
- *-solaris2*)
-- dnl This is a hack -- we should be using AC_TRY_RUN instead
-+ dnl This is a hack -- we should be using AC_RUN_IFELSE([AC_LANG_SOURCE([[]])],[],[],[]) instead
- ap_platform_runtime_link_flag="-R"
- dnl solaris 8 and above don't have a thundering herd
- dnl not sure about rev's before this one.
-@@ -286,7 +287,7 @@
- dnl ## Check for typedefs, structures, and compiler characteristics.
-
- AC_C_CONST
--if test "$ac_cv_prog_gcc" = "yes"; then
-+if test "$ac_cv_c_compiler_gnu" = "yes"; then
- APR_ADDTO(NOTEST_CPPFLAGS,-DAP_HAVE_DESIGNATED_INITIALIZER)
- fi
-
-@@ -305,9 +306,8 @@
-
- dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
- AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
--[AC_TRY_COMPILE([#include <sys/types.h>
--#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
-- ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
-+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-+#include <time.h>]], [[struct tm tm; tm.tm_gmtoff;]])],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no])])
- if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
- AC_DEFINE(HAVE_GMTOFF)
- fi
---- httpd-2.0.48/./srclib/apr/configure.in~configure
-+++ httpd-2.0.48/./srclib/apr/configure.in
-@@ -4,7 +4,8 @@
- dnl Process this file with autoconf to produce a configure script.
- dnl Use ./buildconf to prepare build files and run autoconf for APR.
-
--AC_INIT(build/apr_common.m4)
-+AC_INIT
-+AC_CONFIG_SRCDIR([build/apr_common.m4])
- AC_CONFIG_HEADER(include/arch/unix/apr_private.h)
- AC_CONFIG_AUX_DIR(build)
-
-@@ -29,7 +30,7 @@
- dnl
- APR_CONFIG_NICE(config.nice)
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
- echo "Configuring APR library"
- echo "Platform: $host"
-
-@@ -532,18 +533,14 @@
- dnl Linux is silly as it has pthread_rwlock_init defined
- dnl but keeps the pthread_rwlock_t structure hidden unless
- dnl special things are defined.
-- AC_TRY_COMPILE([#include <sys/types.h>
--#include <pthread.h>],
-- [pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;],
-- ac_cv_struct_pthread_rw=yes, ac_cv_struct_pthread_rw=no)
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-+#include <pthread.h>]], [[pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;]])],[ac_cv_struct_pthread_rw=yes],[ac_cv_struct_pthread_rw=no])
- if test "$ac_cv_struct_pthread_rw" = "no"; then
-- AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _XOPEN_SOURCE 500
- #define _BSD_SOURCE
- #define _SVID_SOURCE
- #include <sys/types.h>
--#include <pthread.h>],
-- [pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;],
-- ac_cv_struct_pthread_rw=yes, ac_cv_struct_pthread_rw=no)
-+#include <pthread.h>]], [[pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;]])],[ac_cv_struct_pthread_rw=yes],[ac_cv_struct_pthread_rw=no])
- if test "$ac_cv_struct_pthread_rw" = "yes"; then
- APR_ADDTO(CPPFLAGS, [-D_XOPEN_SOURCE=500 -D_BSD_SOURCE])
- APR_ADDTO(CPPFLAGS, [-D_SVID_SOURCE])
-@@ -624,7 +621,7 @@
- if test "$ac_cv_func_mmap" = "yes" &&
- test "$ac_cv_file__dev_zero" = "yes"; then
- AC_MSG_CHECKING(for mmap that can map /dev/zero)
-- AC_TRY_RUN([
-+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-@@ -647,7 +644,7 @@
- return 3;
- }
- return 0;
-- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])
-+ }]])],[],[ac_cv_file__dev_zero=no],[ac_cv_file__dev_zero=no])
-
- AC_MSG_RESULT($ac_cv_file__dev_zero)
- fi
-@@ -852,7 +849,8 @@
- AC_SUBST(sendfile)
-
- AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ])
--AC_DECL_SYS_SIGLIST
-+AC_CHECK_DECLS([sys_siglist])
-+
-
- AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ])
- APR_CHECK_INET_ADDR
-@@ -961,12 +959,11 @@
- # being included by itself. Check for <netinet/tcp.h> manually,
- # including another header file first.
- AC_CACHE_CHECK([for netinet/tcp.h], [apr_cv_hdr_netinet_tcp_h],
--[AC_TRY_CPP(
--[#ifdef HAVE_NETINET_IN_H
-+[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#ifdef HAVE_NETINET_IN_H
- #include <netinet/in.h>
- #endif
- #include <netinet/tcp.h>
--], [apr_cv_hdr_netinet_tcp_h=yes], [apr_cv_hdr_netinet_tcp_h=no])])
-+]])],[apr_cv_hdr_netinet_tcp_h=yes],[apr_cv_hdr_netinet_tcp_h=no])])
- if test "$apr_cv_hdr_netinet_tcp_h" = "yes"; then
- netinet_tcph=1
- AC_DEFINE([HAVE_NETINET_TCP_H], 1, [Defined if netinet/tcp.h is present])
-@@ -1039,7 +1036,7 @@
- if test "x$ac_cv_sizeof_voidp" != "x"; then
- voidp_size=$ac_cv_sizeof_voidp
- else
-- AC_ERROR([Cannot determine size of void*])
-+ AC_MSG_ERROR([Cannot determine size of void*])
- fi
-
- dnl Checks for integer size
-@@ -1378,7 +1375,7 @@
- fi
-
- AC_CACHE_CHECK(struct rlimit,ac_cv_struct_rlimit,[
--AC_TRY_RUN([
-+AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-@@ -1388,10 +1385,10 @@
- limit.rlim_cur = 0;
- limit.rlim_max = 0;
- exit(0);
--}], [
-- ac_cv_struct_rlimit=yes ], [
-- ac_cv_struct_rlimit=no ], [
-- ac_cv_struct_rlimit=no ] ) ] )
-+}]])],[
-+ ac_cv_struct_rlimit=yes ],[
-+ ac_cv_struct_rlimit=no ],[
-+ ac_cv_struct_rlimit=no ]) ] )
- struct_rlimit=0
- test "x$ac_cv_struct_rlimit" = xyes && struct_rlimit=1
- AC_SUBST(struct_rlimit)
-@@ -1405,7 +1402,7 @@
-
- # Some systems return ENOSYS from sem_open.
- AC_CACHE_CHECK(for working sem_open,ac_cv_func_sem_open,[
--AC_TRY_RUN([
-+AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <errno.h>
- #include <stdlib.h>
- #include <fcntl.h>
-@@ -1424,22 +1421,21 @@
- sem_close(psem);
- sem_unlink(sem_name);
- exit(0);
--}], [ac_cv_func_sem_open=yes], [ac_cv_func_sem_open=no],
--[ac_cv_func_sem_open=no])])
-+}]])],[ac_cv_func_sem_open=yes],[ac_cv_func_sem_open=no],[ac_cv_func_sem_open=no])])
-
- # It's stupid, but not all platforms have union semun, even those that need it.
- AC_MSG_CHECKING(for union semun in sys/sem.h)
--AC_TRY_COMPILE([
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/sem.h>
--],[
-+]], [[
- union semun arg;
- semctl(0, 0, 0, arg);
--], [have_union_semun="1" union_semun=yes ]
--msg=yes, [
-+]])],[have_union_semun="1" union_semun=yes
-+msg=yes],[
- have_union_semun="0"
--msg=no ] )
-+msg=no ])
- AC_MSG_RESULT([$msg])
- AC_SUBST(have_union_semun)
-
-@@ -1461,7 +1457,7 @@
- # Linux and older versions of AIX have this problem.
- APR_IFALLYES(header:pthread.h define:PTHREAD_PROCESS_SHARED func:pthread_mutexattr_setpshared, [
- AC_CACHE_CHECK([for working PROCESS_SHARED locks], apr_cv_process_shared_works, [
-- AC_TRY_RUN([
-+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <sys/types.h>
- #include <pthread.h>
- int main()
-@@ -1479,7 +1475,7 @@
- if (pthread_mutex_destroy(&mutex))
- exit(5);
- exit(0);
-- }], [apr_cv_process_shared_works=yes], [apr_cv_process_shared_works=no])])
-+ }]])],[apr_cv_process_shared_works=yes],[apr_cv_process_shared_works=no],[])])
- # Override detection of pthread_mutexattr_setpshared
- ac_cv_func_pthread_mutexattr_setpshared=$apr_cv_process_shared_works])
-
-@@ -1488,15 +1484,15 @@
- if test "$ac_cv_func_pthread_mutexattr_setrobust_np" = "no"; then
- AC_CACHE_CHECK([for pthread_mutexattr_setrobust_np with _POSIX_THREAD_PRIO_INHERIT],
- [apr_cv_setrobust_with_prio_inherit], [
-- AC_TRY_COMPILE([#define _POSIX_THREAD_PRIO_INHERIT
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _POSIX_THREAD_PRIO_INHERIT
- #include <sys/types.h>
--#include <pthread.h>],[
-+#include <pthread.h>]], [[
- int main()
- {
- pthread_mutexattr_t attr;
- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP);
- return 0;
-- }], [apr_cv_setrobust_with_prio_inherit=yes], [apr_cv_setrobust_with_prio_inherit=no])])
-+ }]])],[apr_cv_setrobust_with_prio_inherit=yes],[apr_cv_setrobust_with_prio_inherit=no])])
- if test "$apr_cv_setrobust_with_prio_inherit" = "yes"; then
- ac_cv_func_pthread_mutexattr_setrobust_np=yes
- APR_ADDTO(CPPFLAGS, -D_POSIX_THREAD_PRIO_INHERIT)
-@@ -1664,7 +1660,7 @@
- if test -r "$apr_devrandom"; then
- rand="1"
- else
-- AC_ERROR([$apr_devrandom not found or unreadable.])
-+ AC_MSG_ERROR([$apr_devrandom not found or unreadable.])
- fi
- fi
-
-@@ -1700,9 +1696,8 @@
- dnl ----------------------------- Checking for Time Support
- echo "${nl}Checking for Time Support..."
- AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
--[AC_TRY_COMPILE([#include <sys/types.h>
--#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
-- ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
-+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-+#include <time.h>]], [[struct tm tm; tm.tm_gmtoff;]])],[ac_cv_struct_tm_gmtoff=yes],[ac_cv_struct_tm_gmtoff=no])])
-
- if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
- AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field])
-@@ -1711,14 +1706,14 @@
- dnl ----------------------------- Checking for Networking Support
- echo "${nl}Checking for Networking support..."
- AC_MSG_CHECKING(for in_addr in netinet/in.h)
--AC_TRY_COMPILE([
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include <sys/types.h>
- #include <netinet/in.h>
--],[
-+]], [[
- struct in_addr arg;
- arg.s_addr = htonl(INADDR_ANY);
--], [ have_in_addr="1"
--msg=yes ] , [ have_in_addr="0"
-+]])],[ have_in_addr="1"
-+msg=yes ],[ have_in_addr="0"
- msg=no ])
- AC_MSG_RESULT([$msg])
-
-@@ -1920,12 +1915,13 @@
- dir=include/arch/unix
- test -d $dir || $MKDIR $dir
-
--AC_OUTPUT([
-+AC_CONFIG_FILES([
- $MAKEFILE1 $MAKEFILE2 $MAKEFILE3
- include/apr.h
- build/apr_rules.mk
- apr-config
--],[
-+])
-+AC_CONFIG_COMMANDS([default],[[
- for i in $SAVE_FILES; do
- if cmp -s $i $i.save 2>/dev/null; then
- mv $i.save $i
-@@ -1934,7 +1930,8 @@
- rm -f $i.save
- done
- chmod +x apr-config
--])
-+]],[[]])
-+AC_OUTPUT
-
- dnl ----------------------------- Fixup Makefiles for VPATH support
-
---- httpd-2.0.48/./srclib/pcre/configure.in~configure
-+++ httpd-2.0.48/./srclib/pcre/configure.in
-@@ -3,7 +3,8 @@
- dnl This is required at the start; the name is the name of a file
- dnl it should be seeing, to verify it is in the same directory.
-
--AC_INIT(dftables.c)
-+AC_INIT
-+AC_CONFIG_SRCDIR([dftables.c])
-
- dnl Arrange to build config.h from config.in. Note that pcre.h is
- dnl built differently, as it is just a "substitution" file.
-@@ -101,4 +102,6 @@
- AC_SUBST(PCRE_POSIXLIB_VERSION)
-
- dnl This must be last; it determines what files are written as well as config.h
--AC_OUTPUT(Makefile pcre.h:pcre.in pcre-config,[chmod a+x pcre-config])
-+AC_CONFIG_FILES([Makefile pcre.h:pcre.in pcre-config])
-+AC_CONFIG_COMMANDS([default],[[chmod a+x pcre-config]],[[]])
-+AC_OUTPUT
---- httpd-2.0.48/./srclib/apr-util/xml/expat/configure.in~configure
-+++ httpd-2.0.48/./srclib/apr-util/xml/expat/configure.in
-@@ -10,7 +10,8 @@
- dnl in the file COPYING that comes with this distribution.
- dnl
-
--AC_INIT(Makefile.in)
-+AC_INIT
-+AC_CONFIG_SRCDIR([Makefile.in])
- AC_CONFIG_AUX_DIR(conftools)
-
- dnl
-@@ -45,7 +46,7 @@
-
- AC_CONFIG_HEADER(config.h)
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
- case "$host_alias" in
- *os2*)
- # Use a custom made libtool replacement
-@@ -106,4 +107,5 @@
-
- AC_CHECK_FUNCS(memmove bcopy)
-
--AC_OUTPUT(Makefile lib/Makefile lib/expat.h)
-+AC_CONFIG_FILES([Makefile lib/Makefile lib/expat.h])
-+AC_OUTPUT
---- httpd-2.0.48/./srclib/apr-util/configure.in~configure
-+++ httpd-2.0.48/./srclib/apr-util/configure.in
-@@ -2,8 +2,9 @@
- dnl Process this file with autoconf to produce a configure script
- dnl
-
--AC_PREREQ(2.13)
--AC_INIT(export_vars.sh.in)
-+AC_PREREQ(2.57)
-+AC_INIT
-+AC_CONFIG_SRCDIR([export_vars.sh.in])
-
- AC_CONFIG_HEADER(include/private/apu_config.h)
- AC_CONFIG_AUX_DIR(build)
-@@ -30,7 +31,7 @@
- USE_VPATH=1
- fi
-
--AC_CANONICAL_SYSTEM
-+AC_CANONICAL_TARGET([])
-
- dnl
- dnl compute the top directory of the build
diff --git a/packages/nonworking/apache/apache/apache-2.0.48/pcre-configure.patch b/packages/nonworking/apache/apache/apache-2.0.48/pcre-configure.patch
deleted file mode 100644
index 0460d17456..0000000000
--- a/packages/nonworking/apache/apache/apache-2.0.48/pcre-configure.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- httpd-2.0.47/srclib/pcre/configure.in~pcre-configure
-+++ httpd-2.0.47/srclib/pcre/configure.in
-@@ -72,7 +72,8 @@
- AC_ARG_ENABLE(newline-is-cr,
- [ --enable-newline-is-cr use CR as the newline character],
- if test "$enableval" = "yes"; then
-- NEWLINE=-DNEWLINE=13
-+ AC_DEFINE(NEWLINE, 13)
-+# NEWLINE=-DNEWLINE=13
- fi
- )
-
-@@ -81,7 +82,8 @@
- AC_ARG_ENABLE(newline-is-lf,
- [ --enable-newline-is-lf use LF as the newline character],
- if test "$enableval" = "yes"; then
-- NEWLINE=-DNEWLINE=10
-+ AC_DEFINE(NEWLINE, 10)
-+# NEWLINE=-DNEWLINE=10
- fi
- )
-
-@@ -91,7 +93,7 @@
- AC_SUBST(HAVE_STRERROR)
- AC_SUBST(LIBTOOL)
- AC_SUBST(LIBSUFFIX)
--AC_SUBST(NEWLINE)
-+#AC_SUBST(NEWLINE)
- AC_SUBST(UTF8)
- AC_SUBST(PCRE_MAJOR)
- AC_SUBST(PCRE_MINOR)
diff --git a/packages/nonworking/apache/apache/apache_2.0.48.bb b/packages/nonworking/apache/apache/apache_2.0.48.bb
deleted file mode 100644
index adb068a575..0000000000
--- a/packages/nonworking/apache/apache/apache_2.0.48.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-BROKEN = "1"
-SECTION = "console/network"
-DEPENDS = "expat openssl"
-DESCRIPTION = "A high performance Unix-based HTTP server."
-LICENSE="Apache-2.0"
-
-SRC_URI = "http://ftp.epix.net/apache/httpd/httpd-${PV}.tar.gz \
- file://configure.patch;patch=1 \
- file://pcre-configure.patch;patch=1 \
- file://init \
- file://httpd.conf"
-S = "${WORKDIR}/httpd-${PV}"
-
-basesysconfdir := "${sysconfdir}"
-sysconfdir = "/etc/apache"
-
-inherit autotools
-
-FILES_${PN}="${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \
- ${libdir}/*/ ${basesysconfdir} ${sharedstatedir} ${localstatedir} \
- /bin /sbin /lib/*/ /lib/*.so* ${datadir}/${PN} ${datadir}/htdocs \
- ${datadir}/icons ${datadir}/cgi-bin ${datadir}/error /var"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl --with-ssl=${STAGING_LIBDIR}/.. --enable-dav \
- --enable-dav-fs --with-dbm=sdbm --with-berkeley-db=no \
- --with-gdbm=no --with-ndbm=no"
-do_configure () {
- (cd srclib/apr && ./buildconf)
- (cd srclib/apr-util && ./buildconf)
-
- cp srclib/apr/build/config.guess srclib/apr/build/config.sub \
- srclib/apr/build/PrintPath srclib/apr/build/apr_common.m4 \
- srclib/apr/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build
-
- (cd srclib/pcre && autoconf)
-
- aclocal -I build
- autoheader
- autoconf
- oe_runconf
-}
-
-do_compile () {
- touch srclib/apr-util/uri/gen_uri_delims.lo
- ${BUILD_CC} srclib/apr-util/uri/gen_uri_delims.c -o srclib/apr-util/uri/gen_uri_delims
- touch srclib/pcre/dftables.lo
- ${BUILD_CC} -I/usr/include/pcre srclib/pcre/dftables.c -o srclib/pcre/dftables
- cd server
- ${BUILD_CC} -I${S}/srclib/apr/include -c gen_test_char.c && touch gen_test_char.lo
- ${BUILD_CC} -I${S}/os/unix -I${S}/srclib/apr/include -I${S}/srclib/apr-util/include -I${S}/include -c util_debug.c && touch util_debug.lo
- ${BUILD_CC} gen_test_char.o util_debug.o -o gen_test_char
- /bin/sh ${S}/srclib/apr/libtool --silent --mode=compile ${CC} -DPATH_MAX=4096 -I${S}/srclib/apr/include -prefer-non-pic -static -c gen_test_char.c && touch gen_test_char.lo
- /bin/sh ${S}/srclib/apr/libtool --silent --mode=compile ${CC} -DPATH_MAX=4096 -I${S}/os/unix -I${S}/srclib/apr/include -I${S}/srclib/apr-util/include -I${S}/include -prefer-non-pic -static -c util_debug.c && touch util_debug.lo
- touch gen_test_char
- cd ..
- oe_runmake
-}
-
-do_install_append () {
- set -x
- install -d ${D}${basesysconfdir}/init.d
- cat ${WORKDIR}/init | \
- sed -e 's,/usr/sbin/,${sbindir}/,g; \
- s,/usr/bin/,${bindir}/,g; \
- s,/usr/lib,${libdir}/,g; \
- s,/etc/apache/,${sysconfdir}/,g; \
- s,/etc/,${basesysconfdir}/,g; \
- s,/usr/,${prefix}/,g;' > ${D}${basesysconfdir}/init.d/httpd
- chmod 755 ${D}${basesysconfdir}/init.d/httpd
- install -m 0644 ${WORKDIR}/httpd.conf ${D}${sysconfdir}/httpd.conf
-}
-
-pkg_postinst () {
- if test -n "${D}"; then
- D="-r $D"
- fi
- update-rc.d $D httpd defaults 91 20
-}
-
-pkg_prerm () {
- if test -n "${D}"; then
- D="-r $D"
- fi
- update-rc.d $D httpd remove
-}
diff --git a/packages/nonworking/apache/apache/files/httpd.conf b/packages/nonworking/apache/apache/files/httpd.conf
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/nonworking/apache/apache/files/httpd.conf
+++ /dev/null
diff --git a/packages/nonworking/apache/apache/files/init b/packages/nonworking/apache/apache/files/init
deleted file mode 100755
index 7a05c38a9a..0000000000
--- a/packages/nonworking/apache/apache/files/init
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-#
-# apache Start the apache HTTP server.
-#
-
-NAME=apache
-PATH=/bin:/usr/bin:/sbin:/usr/sbin
-DAEMON=/usr/sbin/httpd
-SUEXEC=/usr/lib/apache/suexec
-PIDFILE=/var/run/$NAME.pid
-CONF=/etc/apache/httpd.conf
-APACHECTL=/usr/sbin/apachectl
-
-trap "" 1
-export LANG=C
-export PATH
-
-test -f $DAEMON || exit 0
-test -f $APACHECTL || exit 0
-
-# ensure we don't leak environment vars into apachectl
-APACHECTL="env -i LANG=${LANG} PATH=${PATH} $APACHECTL"
-
-if egrep -q -i "^[[:space:]]*ServerType[[:space:]]+inet" $CONF
-then
- exit 0
-fi
-
-case "$1" in
- start)
- echo -n "Starting web server: $NAME"
- start-stop-daemon -S -x $DAEMON
- ;;
-
- stop)
- echo -n "Stopping web server: $NAME"
- start-stop-daemon -K -x $DAEMON
- ;;
-
- reload)
- echo -n "Reloading $NAME configuration"
- start-stop-daemon -K --signal USR1 -x $DAEMON
- ;;
-
- reload-modules)
- echo -n "Reloading $NAME modules"
- start-stop-daemon -K
- start-stop-daemon -S -x $DAEMON
- ;;
-
- restart)
- $0 reload-modules
- exit $?
- ;;
-
- force-reload)
- $0 reload-modules
- exit $?
- ;;
-
- *)
- echo "Usage: /etc/init.d/$NAME {start|stop|reload|reload-modules|force-reload|restart}"
- exit 1
- ;;
-esac
-
-if [ $? == 0 ]; then
- echo .
- exit 0
-else
- echo failed
- exit 1
-fi
diff --git a/packages/nonworking/apache/apache_2.0.47.bb b/packages/nonworking/apache/apache_2.0.47.bb
deleted file mode 100644
index e8a7c390e5..0000000000
--- a/packages/nonworking/apache/apache_2.0.47.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-SECTION = net
-DEPENDS = expat openssl
-
-SRC_URI = http://ftp.epix.net/apache/httpd/httpd-${PV}.tar.gz \
- file://${FILESDIR}/configure.patch;patch=1 \
- file://${FILESDIR}/pcre-configure.patch;patch=1
-S = ${WORKDIR}/httpd-${PV}
-
-basesysconfdir := ${sysconfdir}
-sysconfdir = /etc/apache
-
-inherit autotools
-
-FILES_${PN}=${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \
- ${libdir}/*/ ${basesysconfdir} ${sharedstatedir} ${localstatedir} \
- /bin /sbin /lib/*/ /lib/*.so* ${datadir}/${PN} ${datadir}/htdocs \
- ${datadir}/icons ${datadir}/cgi-bin ${datadir}/error /var
-
-CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl --with-ssl=${STAGING_LIBDIR}/.. --enable-dav \
- --enable-dav-fs --with-dbm=sdbm --with-berkeley-db=no \
- --with-gdbm=no --with-ndbm=no"
-do_configure () {
- (cd srclib/apr && ./buildconf)
- (cd srclib/apr-util && ./buildconf)
-
- cp srclib/apr/build/config.guess srclib/apr/build/config.sub \
- srclib/apr/build/PrintPath srclib/apr/build/apr_common.m4 \
- srclib/apr/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build
-
- (cd srclib/pcre && autoconf)
-
- aclocal -I build
- autoheader
- autoconf
- oe_runconf
-}
-
-do_compile () {
- touch srclib/apr-util/uri/gen_uri_delims.lo
- ${BUILD_CC} srclib/apr-util/uri/gen_uri_delims.c -o srclib/apr-util/uri/gen_uri_delims
- touch srclib/pcre/dftables.lo
- ${BUILD_CC} -I/usr/include/pcre srclib/pcre/dftables.c -o srclib/pcre/dftables
- cd server
- ${BUILD_CC} -I${S}/srclib/apr/include -c gen_test_char.c && touch gen_test_char.lo
- ${BUILD_CC} -I${S}/os/unix -I${S}/srclib/apr/include -I${S}/srclib/apr-util/include -I${S}/include -c util_debug.c && touch util_debug.lo
- ${BUILD_CC} gen_test_char.o util_debug.o -o gen_test_char
- /bin/sh ${S}/srclib/apr/libtool --silent --mode=compile ${CC} -DPATH_MAX=4096 -I${S}/srclib/apr/include -prefer-non-pic -static -c gen_test_char.c && touch gen_test_char.lo
- /bin/sh ${S}/srclib/apr/libtool --silent --mode=compile ${CC} -DPATH_MAX=4096 -I${S}/os/unix -I${S}/srclib/apr/include -I${S}/srclib/apr-util/include -I${S}/include -prefer-non-pic -static -c util_debug.c && touch util_debug.lo
- touch gen_test_char
- cd ..
- oe_runmake
-}
-
-do_install_append () {
- set -x
- install -d ${D}/${basesysconfdir}/init.d
- cat ${FILESDIR}/init | \
- sed -e 's,/usr/sbin/,${sbindir}/,g; \
- s,/usr/bin/,${bindir}/,g; \
- s,/usr/lib,${libdir}/,g; \
- s,/etc/apache/,${sysconfdir}/,g; \
- s,/etc/,${basesysconfdir}/,g; \
- s,/usr/,${prefix}/,g;' > ${D}/${basesysconfdir}/init.d/httpd
- chmod 755 ${D}/${basesysconfdir}/init.d/httpd
- if test -e ${FILESDIR}/httpd.conf.${MACHINE}; then
- install -m 0644 ${FILESDIR}/httpd.conf.${MACHINE} ${D}/${sysconfdir}/httpd.conf
- fi
-}
-
-pkg_postinst () {
- if test -n "$D"; then
- D="-r $D"
- fi
- update-rc.d $D httpd defaults 91 20
-}
-
-pkg_prerm () {
- if test -n "$D"; then
- D="-r $D"
- fi
- update-rc.d $D httpd remove
-}
diff --git a/packages/nonworking/docbook/docbook_4.2.bb b/packages/nonworking/docbook/docbook_4.2.bb
index 5bd2aa0e63..ee1ab674cd 100644
--- a/packages/nonworking/docbook/docbook_4.2.bb
+++ b/packages/nonworking/docbook/docbook_4.2.bb
@@ -5,9 +5,9 @@ installfiles = calstblx.dtd ChangeLog dbgenent.mod dbnotnx.mod docbook.cat docbo
catalog.xml dbcentx.mod dbhierx.mod dbpoolx.mod docbook.dcl docbookx.dtd soextblx.dtd
do_stage () {
- install -d ${STAGING_DIR}/share/sgml/docbook_${PV}
+ install -d ${STAGING_DATADIR}/sgml/docbook_${PV}
for i in ${installfiles}; do
- install -m 0644 $i ${STAGING_DIR}/share/sgml/docbook_${PV}
+ install -m 0644 $i ${STAGING_DATADIR}/sgml/docbook_${PV}
done
}
diff --git a/packages/nonworking/e17/evidence b/packages/nonworking/e17/evidence
deleted file mode 100644
index 84a47ff570..0000000000
--- a/packages/nonworking/e17/evidence
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "evidence, an enlightenemt file manager"
-LICENSE = "GPL"
-# can support dbus, avifile, libmpeg3
-DEPENDS = "pkgconfig gtk+ glib-2.0 ecore-x11 evas-x11 edb eet edje imlib2-x11 libpng epeg jpeg libpcre curl taglib libvorbis libogg libxine-x11 emotion freetype"
-RDEPENDS += "examine"
-PR = "r0"
-
-inherit e
-
-SRC_URI = "cvs://anonymous@evidence.cvs.sourceforge.net/cvsroot/evidence;module=evidence;date=${PV}"
-S = "${WORKDIR}/evidence"
-
-EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
- --enable-ecore \
- --enable-ecore-ipc \
- --enable-canvas-evas2 \
- --enable-edje \
- --enable-x \
- --enable-tree-view \
- --enable-icon-view \
- --enable-browser-view \
- --with-libxine=${STAGING_LIBDIR}"
-
-do_compile_prepend() {
- sed -i 's:LDFLAGS = :LDFLAGS = -L${STAGING_LIBDIR} :' ${S}/src/providers/vorbis/Makefile
-}
-
-FILES_${PN} = "${bindir}/* ${libdir}/* ${datadir} /etc/* /usr/sbin/*"
-
diff --git a/packages/nonworking/efl/e/fix-configure.patch b/packages/nonworking/efl/e/fix-configure.patch
deleted file mode 100644
index 02560fd7ab..0000000000
--- a/packages/nonworking/efl/e/fix-configure.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -Nur e~/configure.in e/configure.in
---- e~/configure.in 2005-09-29 13:17:29.000000000 -0700
-+++ e/configure.in 2005-09-29 13:19:35.000000000 -0700
-@@ -114,9 +114,7 @@
- AC_PATH_XTRA
- AC_CHECK_HEADER(X11/X.h,
- [
-- x_dir=${x_dir:-/usr/X11R6}
-- x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-- x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-+ x_libs="-lX11 -lXext";
- ],[
- AC_MSG_ERROR([Cannot find X headers and libraries.])
- ]
-diff -Nur e~/src/bin/Makefile.am e/src/bin/Makefile.am
---- e~/src/bin/Makefile.am 2005-09-29 13:17:29.000000000 -0700
-+++ e/src/bin/Makefile.am 2005-09-29 13:19:35.000000000 -0700
-@@ -1,6 +1,5 @@
- MAINTAINERCLEANFILES = Makefile.in
--INCLUDES = -I$(includedir) \
-- -I$(top_srcdir) \
-+INCLUDES = -I$(top_srcdir) \
- -I$(top_srcdir)/src/bin \
- -I$(top_srcdir)/src/lib \
- @e_cflags@ \
-diff -Nur e~/src/lib/Makefile.am e/src/lib/Makefile.am
---- e~/src/lib/Makefile.am 2005-09-29 13:17:29.000000000 -0700
-+++ e/src/lib/Makefile.am 2005-09-29 13:19:56.000000000 -0700
-@@ -1,6 +1,5 @@
- MAINTAINERCLEANFILES = Makefile.in
--INCLUDES = -I$(includedir) \
-- -I$(top_srcdir)/src/bin \
-+INCLUDES = -I$(top_srcdir)/src/bin \
- @e_cflags@
-
- lib_LTLIBRARIES = libe.la
-diff -Nur e~/src/preload/Makefile.am e/src/preload/Makefile.am
---- e~/src/preload/Makefile.am 2005-09-29 13:17:29.000000000 -0700
-+++ e/src/preload/Makefile.am 2005-09-29 13:19:35.000000000 -0700
-@@ -2,7 +2,6 @@
-
- INCLUDES = -I. \
- -I$(top_srcdir) \
-- -I$(includedir) \
- -I$(top_srcdir)src/preload \
- @x_cflags@
- pkgdir = $(libdir)/enlightenment/preload
diff --git a/packages/nonworking/efl/ecore-fb_0.9.9.038.bb b/packages/nonworking/efl/ecore-fb_0.9.9.038.bb
deleted file mode 100644
index b856d38bd9..0000000000
--- a/packages/nonworking/efl/ecore-fb_0.9.9.038.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require ecore.inc
-PR = "r2"
-
-SRC_URI += "file://remove-bad-code.patch;patch=1"
-
-EXTRA_OECONF = "--enable-ecore-fb \
- --enable-ecore-job \
- --enable-ecore-file \
- --enable-poll \
- --enable-ecore-dbus \
- --enable-ecore-evas \
- --enable-ecore-evas-buffer \
- --enable-ecore-evas-fb \
- --disable-ecore-evas-x \
- --disable-ecore-evas-xrender \
- --disable-ecore-evas-gl \
- --enable-ecore-con \
- --enable-ecore-config \
- --enable-ecore-ipc \
- --enable-ecore-txt \
- --disable-ecore-x \
- --disable-curl \
- --without-curl-config \
- --enable-ecore-config \
- --enable-ecore-desktop \
- --disable-openssl"
-
-parts = "Ecore Ecore_Job Ecore_File Ecore_DBus \
- Ecore_Txt Ecore_Fb Ecore_Con \
- Ecore_Ipc Ecore_Evas Ecore_Config \
- Ecore_Desktop"
diff --git a/packages/nonworking/efl/ecore-native_0.9.9.038.bb b/packages/nonworking/efl/ecore-native_0.9.9.038.bb
deleted file mode 100644
index 7d7ed2370a..0000000000
--- a/packages/nonworking/efl/ecore-native_0.9.9.038.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require ecore-fb_${PV}.bb
-inherit native
-# disable curl for now (see EXTRA_OECONF in ecore-fb), we may reenable it when we need it
-# DEPENDS = "curl-native eet-native evas-native"
-DEPENDS = "eet-native evas-native"
-PROVIDES = "ecore-native" \ No newline at end of file
diff --git a/packages/nonworking/efl/ecore-x11_0.9.9.038.bb b/packages/nonworking/efl/ecore-x11_0.9.9.038.bb
deleted file mode 100644
index 1deb641326..0000000000
--- a/packages/nonworking/efl/ecore-x11_0.9.9.038.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-require ecore.inc
-DEPENDS += "evas-x11"
-PR = "r3"
-
-SRC_URI += "file://configure-abstract-sockets.patch;patch=1"
-
-EXTRA_OECONF = "--disable-ecore-fb \
- --disable-ecore-dfb \
- --enable-ecore-job \
- --enable-ecore-file \
- --enable-ecore-dbus \
- --disable-ecore-evas-fb \
- --disable-ecore-evas-dfb \
- --enable-ecore-evas-x \
- --enable-ecore-evas-buffer \
- --disable-ecore-evas-gl \
- --enable-ecore-con \
- --enable-ecore-ipc \
- --enable-ecore-txt \
- --enable-ecore-x \
- --enable-ecore-config \
- --disable-openssl \
- --enable-ecore-desktop \
- --x-includes=${STAGING_INCDIR}/X11 \
- --x-libraries=${STAGING_LIBDIR} "
-
-parts = "Ecore Ecore_Job Ecore_File Ecore_DBus \
- Ecore_Txt Ecore_Fb Ecore_Con \
- Ecore_Ipc Ecore_Evas Ecore_Config \
- Ecore_X Ecore_Desktop"
diff --git a/packages/nonworking/efl/ecore.inc b/packages/nonworking/efl/ecore.inc
deleted file mode 100644
index 60c18cacc3..0000000000
--- a/packages/nonworking/efl/ecore.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "Ecore is the core event abstraction layer for the enlightenment \
-foundation libraries. It makes makes doing selections, drag and drop, event loops, \
-timeouts and idle handlers fast, optimized, and convenient."
-LEAD_SONAME = "libecore.so"
-LICENSE = "MIT"
-# can also have openssl, dbus, iconv
-DEPENDS += "virtual/evas curl eet"
-PROVIDES += "virtual/ecore"
-
-inherit efl
-
-SRC_URI = "http://enlightenment.freedesktop.org/files/ecore-${PV}.tar.gz \
- file://ecore_kernel_input_header.patch;patch=1 \
- ${E_CVS};module=e17/libs/ecore/m4;date=20070501"
-# file://fix-tslib-configure.patch;patch=1 \
-# file://configure.patch;patch=1 \
-
-S = "${WORKDIR}/ecore-${PV}"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ecore"
-
-EXTRA_OECONF = "<override me>"
-
-libraries = ""
-headers = ""
-parts = "<override me>"
-
-do_configure_prepend() {
- if [ -e "${WORKDIR}/m4" ]; then
- install -d "${S}/m4"
- install "${WORKDIR}/m4/"*.m4 "${S}/m4"
- aclocal -I m4
- fi
-}
-
-do_stage_append() {
- for p in ${parts}; do
- dir=`echo $p|tr A-Z a-z`
- install -m 0644 ${S}/src/lib/$dir/$p*.h ${STAGING_INCDIR}/
- oe_libinstall -C src/lib/$dir lib$dir ${STAGING_LIBDIR}/
- done
- install -m 0644 ${S}/src/lib/ecore/Ecore_Data.h ${STAGING_INCDIR}/
-# install -m 0644 ${S}/ecore.m4 ${STAGING_DATADIR}/aclocal/
-}
-
-FILES_${PN} += "${libdir}/ecore_config_ipc_ecore.so.*"
-FILES_${PN}-dev += "${libdir}/ecore_config_ipc_ecore.so"
diff --git a/packages/nonworking/efl/ecore/add-tslib-support.patch b/packages/nonworking/efl/ecore/add-tslib-support.patch
deleted file mode 100644
index c125122a91..0000000000
--- a/packages/nonworking/efl/ecore/add-tslib-support.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-
-#
-# tslib support for ecore, (C) Michael 'Mickey' Lauer <mickey@Vanille.de>
-#
-
---- ecore/src/lib/ecore_fb/ecore_fb.c~add-tslib-support.patch
-+++ ecore/src/lib/ecore_fb/ecore_fb.c
-@@ -4,6 +4,13 @@
- #include "Ecore_Fb.h"
- #include "ecore_private.h"
-
-+
-+#ifdef HAVE_TSLIB
-+#include <tslib.h>
-+#include <errno.h>
-+#endif
-+
-+
- #include <fcntl.h>
- #include <unistd.h>
- #include <stdio.h>
-@@ -77,6 +84,11 @@
- unsigned char z;
- };
-
-+#ifdef HAVE_TSLIB
-+struct tsdev *_ecore_fb_tslib_tsdev = NULL;
-+struct ts_sample _ecore_fb_tslib_event;
-+#endif
-+
- static void _ecore_fb_size_get(int *w, int *h);
- static int _ecore_fb_ts_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
- static int _ecore_fb_kbd_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
-@@ -269,10 +281,39 @@
- ecore_fb_init(const char *name __UNUSED__)
- {
- int prev_flags;
-+#ifdef HAVE_TSLIB
-+ char *tslib_tsdevice = NULL;
-+#endif
-
- _ecore_fb_init_count++;
- if (_ecore_fb_init_count > 1) return _ecore_fb_init_count;
-+#ifdef HAVE_TSLIB
-+ if ( ( tslib_tsdevice = getenv("TSLIB_TSDEVICE") ) != NULL )
-+ {
-+ printf( "ECORE_FB: TSLIB_TSDEVICE = '%s'\n", tslib_tsdevice );
-+ _ecore_fb_tslib_tsdev = ts_open( tslib_tsdevice, 1 ); /* 1 = nonblocking, 0 = blocking */
-+
-+ if ( !_ecore_fb_tslib_tsdev )
-+ {
-+ printf( "ECORE_FB: Can't ts_open (%s)\n", strerror( errno ) );
-+ return 0;
-+ }
-+
-+ if ( ts_config( _ecore_fb_tslib_tsdev ) )
-+ {
-+ printf( "ECORE_FB: Can't ts_config (%s)\n", strerror( errno ) );
-+ return 0;
-+ }
-+ _ecore_fb_ts_fd = ts_fd( _ecore_fb_tslib_tsdev );
-+ if ( _ecore_fb_ts_fd < 0 )
-+ {
-+ printf( "ECORE_FB: Can't open touchscreen (%s)\n", strerror( errno ) );
-+ return 0;
-+ }
-+ }
-+#else
- _ecore_fb_ts_fd = open("/dev/touchscreen/0", O_RDONLY);
-+#endif
- if (_ecore_fb_ts_fd >= 0)
- {
- prev_flags = fcntl(_ecore_fb_ts_fd, F_GETFL);
-@@ -790,7 +831,21 @@
- char *ptr;
- double t;
- int did_triple = 0;
--
-+
-+#ifdef HAVE_TSLIB
-+ if ( _ecore_fb_ts_apply_cal )
-+ num = ts_read_raw( _ecore_fb_tslib_tsdev, &_ecore_fb_tslib_event, 1 );
-+ else
-+ num = ts_read( _ecore_fb_tslib_tsdev, &_ecore_fb_tslib_event, 1 );
-+ if ( num != 1 )
-+ {
-+ return 1; /* no more samples at this time */
-+ }
-+ x = _ecore_fb_tslib_event.x;
-+ y = _ecore_fb_tslib_event.y;
-+ pressure = _ecore_fb_tslib_event.pressure;
-+ v = 1; /* loop, there might be more samples */
-+#else
- ptr = (char *)&(_ecore_fb_ts_event);
- ptr += _ecore_fb_ts_event_byte_count;
- num = sizeof(Ecore_Fb_Ts_Event) - _ecore_fb_ts_event_byte_count;
-@@ -811,6 +866,7 @@
- y = _ecore_fb_ts_event.y;
- }
- pressure = _ecore_fb_ts_event.pressure;
-+#endif
- /* add event to queue */
- /* always add a move event */
- if ((pressure) || (prev_pressure))
diff --git a/packages/nonworking/efl/ecore/configure-abstract-sockets.patch b/packages/nonworking/efl/ecore/configure-abstract-sockets.patch
deleted file mode 100644
index 359203b163..0000000000
--- a/packages/nonworking/efl/ecore/configure-abstract-sockets.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: ecore-0.9.9.038/configure.in
-===================================================================
---- ecore-0.9.9.038.orig/configure.in
-+++ ecore-0.9.9.038/configure.in
-@@ -541,10 +541,7 @@ AC_ARG_ENABLE(abstract-sockets,
- [ want_abstract_sockets="yes"]
- )
- if test "x$want_abstract_sockets" = "xyes"; then
-- AC_ABSTRACT_SOCKET_TEST(
-- [AC_DEFINE(HAVE_ABSTRACT_SOCKETS, 1, [Have abstract sockets namespace])],
-- []
-- )
-+ HAVE_ABSTRACT_SOCKETS = 1
- fi
-
- ECORE_CHECK_MODULE([Con], [yes])
diff --git a/packages/nonworking/efl/ecore/configure.patch b/packages/nonworking/efl/ecore/configure.patch
deleted file mode 100644
index 23d8193b44..0000000000
--- a/packages/nonworking/efl/ecore/configure.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- ecore-0.9.9.036/configure.in.bak 2006-11-13 14:01:10.000000000 -0800
-+++ ecore-0.9.9.036/configure.in 2006-11-13 14:02:15.000000000 -0800
-@@ -16,7 +16,6 @@
- AC_CHECK_SIZEOF(long, 4)
- AM_ENABLE_SHARED
- AM_PROG_LIBTOOL
--AC_C___ATTRIBUTE__
-
- if test "x${bindir}" = 'xNONE'; then
- if test "x${prefix}" = "xNONE"; then
-@@ -200,9 +199,7 @@
- AM_CONDITIONAL(BUILD_ECORE_X, true)
- AC_DEFINE(BUILD_ECORE_X, 1, [Build Ecore_X Module])
- have_ecore_x="yes"
-- x_dir=${x_dir:-/usr/X11R6}
-- x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-- x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-+ x_libs="-lX11 -lXext"
- ecore_x_libs="-lecore_x $x_libs";
- ],[
- AM_CONDITIONAL(BUILD_ECORE_X, false)
diff --git a/packages/nonworking/efl/ecore/ecore_kernel_input_header.patch b/packages/nonworking/efl/ecore/ecore_kernel_input_header.patch
deleted file mode 100644
index 99f57ddcff..0000000000
--- a/packages/nonworking/efl/ecore/ecore_kernel_input_header.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: ecore-0.9.9.036/src/lib/ecore_fb/ecore_fb_li.c
-===================================================================
---- ecore-0.9.9.036.orig/src/lib/ecore_fb/ecore_fb_li.c 2006-09-05 01:36:43.000000000 +0100
-+++ ecore-0.9.9.036/src/lib/ecore_fb/ecore_fb_li.c 2006-12-02 21:55:54.000000000 +0000
-@@ -1,6 +1,18 @@
- #include "Ecore_Fb.h"
- #include "ecore_fb_private.h"
-
-+struct input_absinfo {
-+ __s32 value;
-+ __s32 minimum;
-+ __s32 maximum;
-+ __s32 fuzz;
-+ __s32 flat;
-+};
-+
-+
-+#define EV_SYN 0x00
-+#define EV_PWR 0x16
-+#define EV_FF_STATUS 0x17
-
- /* Copyright (C) Brad Hards (1999-2002).
- * this macro is used to tell if "bit" is set in "array"
diff --git a/packages/nonworking/efl/ecore/fix-tslib-configure.patch b/packages/nonworking/efl/ecore/fix-tslib-configure.patch
deleted file mode 100644
index 2c82b2741e..0000000000
--- a/packages/nonworking/efl/ecore/fix-tslib-configure.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur ecore-0.9.9.037~/configure.in ecore-0.9.9.037/configure.in
---- ecore-0.9.9.037~/configure.in 2007-01-14 20:21:42.000000000 -0800
-+++ ecore-0.9.9.037/configure.in 2007-01-14 20:22:18.000000000 -0800
-@@ -578,7 +578,7 @@
- if test "x$want_ecore_fb" = "xyes"; then
- AC_CHECK_HEADER(tslib.h,
- [
-- tslib_libs="-ltslib"
-+ tslib_libs="-lts"
- AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
- ]
- )
diff --git a/packages/nonworking/efl/ecore/remove-bad-code.patch b/packages/nonworking/efl/ecore/remove-bad-code.patch
deleted file mode 100644
index 87a8d16bd6..0000000000
--- a/packages/nonworking/efl/ecore/remove-bad-code.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: ecore-0.9.9.037/src/lib/ecore_fb/ecore_fb_private.h
-===================================================================
---- ecore-0.9.9.037.orig/src/lib/ecore_fb/ecore_fb_private.h
-+++ ecore-0.9.9.037/src/lib/ecore_fb/ecore_fb_private.h
-@@ -19,8 +19,8 @@
- #define kernel_ulong_t unsigned long
- #define BITS_PER_LONG 32
- #include <linux/input.h>
-- #undef kernel_ulong_t <-added
-- #undef BITS_PER_LONG <-added
-+ #undef kernel_ulong_t
-+ #undef BITS_PER_LONG
- #else
- #include <linux/input.h>
- #endif
-Index: ecore-0.9.9.037/src/lib/ecore_fb/ecore_fb_li.c
-===================================================================
---- ecore-0.9.9.037.orig/src/lib/ecore_fb/ecore_fb_li.c
-+++ ecore-0.9.9.037/src/lib/ecore_fb/ecore_fb_li.c
-@@ -1,6 +1,6 @@
- #include "Ecore_Fb.h"
- #include "ecore_fb_private.h"
--
-+/*
- struct input_absinfo {
- __s32 value;
- __s32 minimum;
-@@ -8,7 +8,7 @@ struct input_absinfo {
- __s32 fuzz;
- __s32 flat;
- };
--
-+*/
-
- #define EV_SYN 0x00
- #define EV_PWR 0x16
diff --git a/packages/nonworking/efl/ecore/remove-tslib-configure.patch b/packages/nonworking/efl/ecore/remove-tslib-configure.patch
deleted file mode 100644
index 40ed1c2c33..0000000000
--- a/packages/nonworking/efl/ecore/remove-tslib-configure.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- ecore/configure.in.~1.125.~ 2005-11-29 01:13:26.000000000 -0800
-+++ ecore/configure.in 2006-01-12 11:21:42.000000000 -0800
-@@ -101,12 +101,6 @@
- AC_CHECK_FUNCS(gettimeofday)
-
- tslib_libs=""
--AC_CHECK_HEADER(tslib.h,
-- [
-- tslib_libs="-ltslib"
-- AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_X Module])
-- ]
--)
- AC_SUBST(tslib_libs)
-
- AC_CHECK_HEADERS(netinet/in.h)
diff --git a/packages/nonworking/efl/edb-native/no-gtk-forkbomb.patch b/packages/nonworking/efl/edb-native/no-gtk-forkbomb.patch
deleted file mode 100644
index 8fe226846e..0000000000
--- a/packages/nonworking/efl/edb-native/no-gtk-forkbomb.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur edb-1.0.5.007~/configure.in edb-1.0.5.007/configure.in
---- edb-1.0.5.007~/configure.in 2007-01-15 01:01:31.000000000 -0800
-+++ edb-1.0.5.007/configure.in 2007-01-15 01:01:40.000000000 -0800
-@@ -404,7 +404,7 @@
- ncurses_ok=no
- gtk_ok=no
-
--GTK_CONFIG=`which gtk-config`
-+GTK_CONFIG=
- if test -x "$GTK_CONFIG"; then
- AC_CHECK_LIB(gtk, gtk_init, gtk_ok=yes, gtk_ok=no, `$GTK_CONFIG --libs`)
- fi
diff --git a/packages/nonworking/efl/edb-native_1.0.5.007.bb b/packages/nonworking/efl/edb-native_1.0.5.007.bb
deleted file mode 100644
index f3f94086ce..0000000000
--- a/packages/nonworking/efl/edb-native_1.0.5.007.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require edb_${PV}.bb
-inherit native
-DEPENDS = "zlib-native"
-
-SRC_URI += "file://no-gtk-forkbomb.patch;patch=1"
-
-EXTRA_OECONF += "--disable-gtk --disable-ncurses"
-
-do_stage_append () {
- install -m 0755 tools/.libs/edb_ed ${STAGING_BINDIR}
-}
diff --git a/packages/nonworking/efl/edb-utils_1.0.5.007.bb b/packages/nonworking/efl/edb-utils_1.0.5.007.bb
deleted file mode 100644
index 11fae0f565..0000000000
--- a/packages/nonworking/efl/edb-utils_1.0.5.007.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "EDB is a database convenience library wrapped around the \
-Berkeley DB 2.7.7 by Sleepycat Software."
-DEPENDS = "zlib ncurses"
-LICENSE = "BSD"
-PR = "r4"
-
-inherit efl
-
-EXTRA_OECONF += "--disable-gtk"
-
-PACKAGES = "${PN}-dbg edb-utils"
-FILES_${PN} = "${bindir}/edb_ed ${bindir}/edb_vt_ed ${bindir}/edb_gtk_ed"
-RDEPENDS_${PN} += "ncurses"
-
-SRC_URI = "${E_URI}/edb-${PV}.tar.gz"
-S = "${WORKDIR}/edb-${PV}"
-
-libraries = ""
-headers = ""
diff --git a/packages/nonworking/efl/edb_1.0.5.007.bb b/packages/nonworking/efl/edb_1.0.5.007.bb
deleted file mode 100644
index 9632fc4acc..0000000000
--- a/packages/nonworking/efl/edb_1.0.5.007.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "EDB is a database convenience library wrapped around the \
-Berkeley DB 2.7.7 by Sleepycat Software."
-DEPENDS = "zlib ncurses"
-# can depend on gtk and tcl/tk
-LICENSE = "BSD"
-PR = "r4"
-
-inherit efl
-
-EXTRA_OECONF += "--disable-gtk"
-
-libdirectory = "src"
-
-FILES_${PN}-examples = "" \ No newline at end of file
diff --git a/packages/nonworking/efl/edje-native_0.5.0.038.bb b/packages/nonworking/efl/edje-native_0.5.0.038.bb
deleted file mode 100644
index 4e878ab204..0000000000
--- a/packages/nonworking/efl/edje-native_0.5.0.038.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require edje_${PV}.bb
-PR = "r4"
-
-inherit native
-
-DEPENDS = "evas-native ecore-native eet-native embryo-native"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/edje"
-
-do_configure_prepend() {
- sed -i 's:EMBRYO_PREFIX"/bin:"${STAGING_BINDIR}:' ${S}/src/bin/edje_cc_out.c
- sed -i 's:cpp -I:/usr/bin/cpp -I:' ${S}/src/bin/edje_cc_parse.c
- sed -i 's:gcc -I:/usr/bin/gcc -I:' ${S}/src/bin/edje_cc_parse.c
-}
-
-do_install_append() {
- edje_data_dir=`${S}/edje-config --datadir`
- # could also use ${STAGING_DATADIR}/edje/include
- install -d $edje_data_dir/include
- install -m 0644 data/include/edje.inc $edje_data_dir/include
-}
diff --git a/packages/nonworking/efl/edje-utils_0.5.0.038.bb b/packages/nonworking/efl/edje-utils_0.5.0.038.bb
deleted file mode 100644
index 966abe7654..0000000000
--- a/packages/nonworking/efl/edje-utils_0.5.0.038.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Edje is a complex graphical design & layout library."
-DEPENDS = "edje embryo-utils gcc"
-LICENSE = "MIT"
-PR = "r6"
-
-inherit efl
-
-PACKAGES = "${PN}-dbg edje-utils"
-FILES_${PN} = "${bindir}/edje ${bindir}/edje_* ${datadir}/edje/data/template ${datadir}/edje/include"
-RDEPENDS_${PN} += "embryo-utils cpp cpp-symlinks gcc gcc-symlinks"
-
-SRC_URI = "${E_URI}/edje-${PV}.tar.gz \
- ${E_CVS};module=e17/libs/edje/m4;date=20060101"
-S = "${WORKDIR}/edje-${PV}"
-
-libraries = ""
-headers = ""
-
-do_configure_prepend() {
- install -d "${S}/m4"
- install "${WORKDIR}/m4/"*.m4 "${S}/m4"
- aclocal -I m4
-}
diff --git a/packages/nonworking/efl/edje_0.5.0.038.bb b/packages/nonworking/efl/edje_0.5.0.038.bb
deleted file mode 100644
index d51dd119e4..0000000000
--- a/packages/nonworking/efl/edje_0.5.0.038.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "Edje is a complex graphical design & layout library."
-# can also install vim data files
-DEPENDS = "virtual/evas virtual/ecore eet embryo edje-native"
-LICENSE = "MIT"
-PR = "r7"
-
-## package.bbclass kills packages when there are duplicates, this means
-## that efl.bbclass can't have PACKAGES += and so the FILES for previous
-## packages take precedence over -utils
-#PACKAGES = "edje-utils"
-#RPROVIDES_edje-utils += "libedje-utils"
-#FILES_edje-utils = "${bindir}/edje ${bindir}/edje_* ${datadir}/edje/data/template ${datadir}/edje/include"
-#RDEPENDS_edje-utils += "libembryo-utils cpp cpp-symlinks gcc gcc-symlinks"
-
-inherit efl
-
-SRC_URI += "${E_CVS};module=e17/libs/edje/m4;date=20060101"
-
-do_configure_prepend() {
- install -d "${S}/m4"
- install "${WORKDIR}/m4/"*.m4 "${S}/m4"
- aclocal -I m4
-}
-
-LEAD_SONAME = "libedje.so"
-
-FILES_${PN}-examples = "${datadir}/edje/data/images \
- ${datadir}/edje/data/src \
- ${datadir}/edje/data/test \
- ${datadir}/edje/data/*.sh"
-
-FILES_${SRCNAME}-themes = ""
diff --git a/packages/nonworking/efl/eet-native_0.9.10.038.bb b/packages/nonworking/efl/eet-native_0.9.10.038.bb
deleted file mode 100644
index 9e2426ca9f..0000000000
--- a/packages/nonworking/efl/eet-native_0.9.10.038.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require eet_${PV}.bb
-inherit native
-DEPENDS = "zlib-native jpeg-native"
-
diff --git a/packages/nonworking/efl/eet_0.9.10.038.bb b/packages/nonworking/efl/eet_0.9.10.038.bb
deleted file mode 100644
index 6e6032e098..0000000000
--- a/packages/nonworking/efl/eet_0.9.10.038.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "EET is a tiny library designed to write an \
-arbitary set of chunks of data to a file and optionally compress \
-each chunk (very much like a zip file) and allow fast \
-random-access reading of the file later on."
-DEPENDS = "zlib jpeg"
-LICENSE = "BSD"
-PR = "r2"
-
-inherit efl
diff --git a/packages/nonworking/efl/efl.bbclass b/packages/nonworking/efl/efl.bbclass
deleted file mode 100644
index 808bf2eaae..0000000000
--- a/packages/nonworking/efl/efl.bbclass
+++ /dev/null
@@ -1,52 +0,0 @@
-inherit e
-
-SECTION = "e/libs"
-
-SRCNAME = "${@bb.data.getVar('PN', d, 1).replace('-native', '')}"
-SRC_URI = "${E_URI}/${SRCNAME}-${PV}.tar.gz"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-INHIBIT_AUTO_STAGE_INCLUDES = "1"
-INHIBIT_NATIVE_STAGE_INSTALL = "1"
-
-libdirectory = "src/lib"
-libraries = "lib${SRCNAME}"
-headers = "${@bb.data.getVar('SRCNAME',d,1).capitalize()}.h"
-
-def efl_is_native(d):
- import bb
- return ["","-native"][bb.data.inherits_class('native', d)]
-
-do_stage_append () {
- for i in ${libraries}
- do
- oe_libinstall -C ${libdirectory} $i ${STAGING_LIBDIR}
- done
- for i in ${headers}
- do
- install -m 0644 ${libdirectory}/$i ${STAGING_INCDIR}
- done
-
- # Install binaries automatically for native builds
- if [ "${@efl_is_native(d)}" = "-native" ]
- then
-
- # Most EFL binaries start with the package name
- for i in src/bin/${SRCNAME}*
- do
- if [ -x $i -a -f $i ]
- then
-
- # Don't install anything with an extension (.so, etc)
- if echo $i | grep -v \\.
- then
- ${HOST_SYS}-libtool --mode=install install -m 0755 $i ${STAGING_BINDIR}
- fi
- fi
- done
- fi
-}
-
-PACKAGES = "${PN}-dbg ${PN} ${PN}-themes ${PN}-dev ${PN}-examples"
-FILES_${PN}-dev += "${bindir}/${PN}-config ${libdir}/pkgconfig ${libdir}/lib*.?a ${libdir}/lib*.a"
-FILES_${PN}-examples = "${bindir} ${datadir}"
diff --git a/packages/nonworking/efl/efreet-native_0.0.3.002.bb b/packages/nonworking/efl/efreet-native_0.0.3.002.bb
deleted file mode 100644
index 470d9e2dab..0000000000
--- a/packages/nonworking/efl/efreet-native_0.0.3.002.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require efreet_${PV}.bb
-inherit native
-DEPENDS = "ecore-native"
diff --git a/packages/nonworking/efl/efreet_0.0.3.002.bb b/packages/nonworking/efl/efreet_0.0.3.002.bb
deleted file mode 100644
index 2ef049eed7..0000000000
--- a/packages/nonworking/efl/efreet_0.0.3.002.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-DESCRIPTION = "An implementation of freedesktop.org specs for the EFL"
-DEPENDS = "virtual/ecore"
-LICENSE = "BSD"
-PR = "r0"
-
-inherit efl
-
-headers += "efreet_base.h efreet_desktop.h efreet_icon.h efreet_ini.h efreet_menu.h efreet_private.h efreet_utils.h efreet_xml.h"
diff --git a/packages/nonworking/efl/embryo-native_0.9.1.038.bb b/packages/nonworking/efl/embryo-native_0.9.1.038.bb
deleted file mode 100644
index 76fe80fe3d..0000000000
--- a/packages/nonworking/efl/embryo-native_0.9.1.038.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require embryo_${PV}.bb
-inherit native
-
-do_stage_append() {
- install -d ${STAGING_DATADIR}/embryo/include
- install -m 0644 include/default.inc ${STAGING_DATADIR}/embryo/include
-} \ No newline at end of file
diff --git a/packages/nonworking/efl/embryo-utils_0.9.1.038.bb b/packages/nonworking/efl/embryo-utils_0.9.1.038.bb
deleted file mode 100644
index 78cc70394c..0000000000
--- a/packages/nonworking/efl/embryo-utils_0.9.1.038.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Embryo implements a C like scripting language used in various parts \
-of the Enlightenment project, namely Edje. Embryo's scripting language is based on \
-CompuPhase's Small language that was introduced in Dr Dobb's Journal in 1999. \
-Embryo allows scripting capabilities in places that otherwise wouldn't support \
-basic programming structures such as in Edje EDCs."
-LICENSE = "MIT"
-PR = "r4"
-
-inherit efl
-
-SRC_URI = "${E_URI}/embryo-${PV}.tar.gz"
-S = "${WORKDIR}/embryo-${PV}"
-
-PACKAGES = "${PN}-dbg embryo-utils"
-FILES_${PN} = "${bindir}/embryo ${bindir}/embryo_* ${datadir}/embryo/include"
-
-libraries = ""
-headers = ""
diff --git a/packages/nonworking/efl/embryo_0.9.1.038.bb b/packages/nonworking/efl/embryo_0.9.1.038.bb
deleted file mode 100644
index 0009c0a149..0000000000
--- a/packages/nonworking/efl/embryo_0.9.1.038.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Embryo implements a C like scripting language used in various parts \
-of the Enlightenment project, namely Edje. Embryo's scripting language is based on \
-CompuPhase's Small language that was introduced in Dr Dobb's Journal in 1999. \
-Embryo allows scripting capabilities in places that otherwise wouldn't support \
-basic programming structures such as in Edje EDCs."
-LICENSE = "MIT"
-PR = "r4"
-
-inherit efl
-
-FILES_${PN}-examples = "${datadir}/${PN}/examples" \ No newline at end of file
diff --git a/packages/nonworking/efl/emotion_20061116.bb b/packages/nonworking/efl/emotion_20061116.bb
deleted file mode 100644
index 59a3fa7269..0000000000
--- a/packages/nonworking/efl/emotion_20061116.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Emotion is a multimedia library based on libxine"
-LICENSE = "MIT"
-DEPENDS = "eet virtual/evas edje virtual/ecore embryo gstreamer gst-plugins-base"
-# virtual/libxine
-#RPROVIDES += "emotion-themes emotion-plugins"
-RDEPENDS += "emotion-themes emotion-plugins"
-
-PR = "r1"
-
-#FIXME: Needs patch not to build the examples when building against ecore-fb, because the examples depend on ecore-x11
-
-inherit efl
-
-SRC_URI = "${E_CVS};module=e17/libs/emotion;date=${PV}"
-S = "${WORKDIR}/emotion"
-
-PACKAGES += "emotion-plugins"
-FILES_emotion-plugins = "${libdir}/xine/plugins/1.1.0/*.so ${libdir}/emotion/*.so"
diff --git a/packages/nonworking/efl/engrave_20060128.bb b/packages/nonworking/efl/engrave_20060128.bb
deleted file mode 100644
index 63eb24eb1f..0000000000
--- a/packages/nonworking/efl/engrave_20060128.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Engrave is an Edje Editing Library"
-LICENSE = "MIT"
-# also requires yacc and lex on host
-DEPENDS = "virtual/evas virtual/ecore"
-
-inherit efl
-
-SRC_URI = "${E_CVS};module=e17/libs/engrave;date=${PV}"
-S = "${WORKDIR}/engrave"
-
-do_stage_append() {
- for i in src/lib/engrave*.h
- do
- install -m 0644 $i ${STAGING_INCDIR}
- done
-}
-
diff --git a/packages/nonworking/efl/epdf_20060418.bb b/packages/nonworking/efl/epdf_20060418.bb
deleted file mode 100644
index 9f7bd0a255..0000000000
--- a/packages/nonworking/efl/epdf_20060418.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "EPDF is the EFL PDF rendering library based on poppler"
-DEPENDS = "etk poppler"
-LICENSE = "MIT"
-PR = "r0"
-
-inherit efl
-
-SRC_URI = "${E_CVS};module=e17/proto/epdf;date=${PV}"
-S = "${WORKDIR}/epdf"
diff --git a/packages/nonworking/efl/epeg_0.9.0.008.bb b/packages/nonworking/efl/epeg_0.9.0.008.bb
deleted file mode 100644
index c35ec63606..0000000000
--- a/packages/nonworking/efl/epeg_0.9.0.008.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-DESCRIPTION = "Epeg is a small library for handling thumbnails."
-LICENSE = "MIT"
-DEPENDS = "jpeg"
-
-inherit efl
diff --git a/packages/nonworking/efl/epsilon/compile-fix.patch b/packages/nonworking/efl/epsilon/compile-fix.patch
deleted file mode 100644
index 1c42cc59c4..0000000000
--- a/packages/nonworking/efl/epsilon/compile-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- epsilon-0.3.0.004/src/lib/exiftags/exif.c~compile-fix
-+++ epsilon-0.3.0.004/src/lib/exiftags/exif.c
-@@ -48,7 +48,6 @@
- #include <stdlib.h>
- #include <string.h>
- #include <errno.h>
--#include <math.h>
- #include <float.h>
- #include <ctype.h>
-
diff --git a/packages/nonworking/efl/epsilon/server-is-not-client.patch b/packages/nonworking/efl/epsilon/server-is-not-client.patch
deleted file mode 100644
index e96e528b9e..0000000000
--- a/packages/nonworking/efl/epsilon/server-is-not-client.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/epsilon_private.h 2006-12-01 12:06:30.000000000 +0100
-+++ epsilon-0.3.0.007/src/include/epsilon_private.h 2006-12-01 12:07:10.928254000 +0100
-@@ -41,7 +41,7 @@
- Epsilon_Message *epsilon_message_new(int clientid, char *path, char *dst, int status);
-
- int epsilon_ipc_client_send(Ecore_Con_Client *cl, Epsilon_Message *msg);
--int epsilon_ipc_server_send(Ecore_Con_Client *cl, Epsilon_Message *msg);
-+int epsilon_ipc_server_send(Ecore_Con_Server *srv, Epsilon_Message *msg);
-
- Epsilon_Message *epsilon_ipc_consume(Epsilon_Ipc_End *end);
-
diff --git a/packages/nonworking/efl/epsilon_0.3.0.008.bb b/packages/nonworking/efl/epsilon_0.3.0.008.bb
deleted file mode 100644
index d3c1cba1e4..0000000000
--- a/packages/nonworking/efl/epsilon_0.3.0.008.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Epsilon is a flexable and powerful image thumbnailing library \
-that is complient with the freedesktop.org Thumbnail Managing Standard."
-LICENSE = "GPL"
-DEPENDS = "imlib2 epeg libpng evas ecore edje perl-native"
-PR = "r0"
-
-inherit efl1
-
-#SRC_URI += "file://compile-fix.patch;patch=1 \
-# ${E_CVS};module=e17/libs/epsilon/m4;date=20060101"
-# file://server-is-not-client.patch;patch=1 \
-
-#do_configure_prepend() {
-# install -d "${S}/m4"
-# install "${WORKDIR}/m4/"*.m4 "${S}/m4"
-# aclocal -I m4
-#}
diff --git a/packages/nonworking/efl/esmart-fb_0.9.0.008.bb b/packages/nonworking/efl/esmart-fb_0.9.0.008.bb
deleted file mode 100644
index a2fab3ca09..0000000000
--- a/packages/nonworking/efl/esmart-fb_0.9.0.008.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require esmart.inc
-PR = "r0"
-
-SRC_URI += "file://disable-x-only-features.patch;patch=1"
-
-myheaders = "esmart_container/Esmart_Container.h \
- esmart_draggies/Esmart_Draggies.h \
- esmart_file_dialog/Esmart_File_Dialog.h \
- esmart_text_entry/Esmart_Text_Entry.h \
- esmart_thumb/Esmart_Thumb.h"
-
-mylibraries = "esmart_container \
- esmart_draggies \
- esmart_file_dialog \
- esmart_text_entry \
- esmart_thumb"
diff --git a/packages/nonworking/efl/esmart-x11_0.9.0.008.bb b/packages/nonworking/efl/esmart-x11_0.9.0.008.bb
deleted file mode 100644
index 7b80b581a1..0000000000
--- a/packages/nonworking/efl/esmart-x11_0.9.0.008.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require esmart.inc
-PR = "r2"
-
-SRC_URI += "file://include-stdio.patch;patch=1"
-
-myheaders = "esmart_container/Esmart_Container.h \
- esmart_draggies/Esmart_Draggies.h \
- esmart_file_dialog/Esmart_File_Dialog.h \
- esmart_text_entry/Esmart_Text_Entry.h \
- esmart_thumb/Esmart_Thumb.h \
- esmart_trans_x11/Esmart_Trans_X11.h"
-# esmart_textarea/Esmart_Textarea.h \
-
-mylibraries = "esmart_container \
- esmart_draggies \
- esmart_file_dialog \
- esmart_text_entry \
- esmart_thumb \
- esmart_trans_x11"
-# esmart_textarea \
-
-do_compile_prepend() {
- find ${S} -type f -name "*.[ch]" | xargs sed -i 's:NULL:0:g'
-} \ No newline at end of file
diff --git a/packages/nonworking/efl/esmart.inc b/packages/nonworking/efl/esmart.inc
deleted file mode 100644
index 9b8114de53..0000000000
--- a/packages/nonworking/efl/esmart.inc
+++ /dev/null
@@ -1,51 +0,0 @@
-DESCRIPTION = "ESmart is a collection of smart Evas objects"
-LICENSE = "MIT"
-DEPENDS = "virtual/evas virtual/ecore virtual/imlib2 epsilon edje libtool"
-PROVIDES += "virtual/esmart"
-
-inherit efl
-
-SRC_URI = "http://enlightenment.freedesktop.org/files/esmart-${PV}.tar.gz \
- ${E_CVS};module=e17/libs/esmart/m4;date=20060101"
-
-do_configure_prepend() {
- install -d "${S}/m4"
- install "${WORKDIR}/m4/"*.m4 "${S}/m4"
- aclocal -I m4
-}
-
-S = "${WORKDIR}/esmart-${PV}"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/esmart"
-
-headers = ""
-libraries = ""
-
-myheaders = "<override me>"
-mylibraries = "<override me>"
-
-do_stage_append() {
- install -d ${STAGING_INCDIR}/Esmart/
- for i in ${myheaders}; do
- install -m 0644 ${S}/src/lib/$i ${STAGING_INCDIR}/Esmart/
- done
- oe_libinstall -C src/lib libsmart ${STAGING_LIBDIR}/
- for i in ${mylibraries}; do
- oe_libinstall -C src/lib/$i lib$i ${STAGING_LIBDIR}/
- done
-}
-
-PACKAGES =+ "libesmart-textentry \
- libesmart-thumb \
- libesmart-container \
- libesmart-container-plugins \
- libesmart-file-dialog \
- libesmart-draggies \
- libesmart-trans-x11"
-FILES_libesmart-textentry = "${libdir}/libesmart_text_entry*.so*"
-FILES_libesmart-thumb = "${libdir}/libesmart_thumb*.so*"
-FILES_libesmart-container = "${libdir}/libesmart_container*"
-DEPENDS_libesmart-container += "libesmart-container-plugins"
-FILES_libesmart-container-plugins = "${libdir}/esmart/layout/*.so"
-FILES_libesmart-file-dialog = "${libdir}/libesmart_file_dialog*.so*"
-FILES_libesmart-draggies = "${libdir}/libesmart_draggies*.so*"
-FILES_libesmart-trans-x11 = "${libdir}/libesmart_trans_x11*.so*"
diff --git a/packages/nonworking/efl/esmart/compile-fix.patch b/packages/nonworking/efl/esmart/compile-fix.patch
deleted file mode 100644
index 08ca835aa7..0000000000
--- a/packages/nonworking/efl/esmart/compile-fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- esmart-0.9.0.004/src/lib/esmart_container/esmart_container.c~compile-fix
-+++ esmart-0.9.0.004/src/lib/esmart_container/esmart_container.c
-@@ -30,7 +30,7 @@
- return _sort_func(o, oo);
- }
-
--void esmart_container_sort(Evas_Object *container, int (*func)(Evas_Object *, Evas_Object *$))
-+void esmart_container_sort(Evas_Object *container, int (*func)(Evas_Object *, Evas_Object *))
- {
- Container *cont;
-
diff --git a/packages/nonworking/efl/esmart/disable-x-only-features.patch b/packages/nonworking/efl/esmart/disable-x-only-features.patch
deleted file mode 100644
index 68dd363f74..0000000000
--- a/packages/nonworking/efl/esmart/disable-x-only-features.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- esmart-0.9.0.007/src/lib/Makefile.am~disable-x-only-features.patch
-+++ esmart-0.9.0.007/src/lib/Makefile.am
-@@ -1,9 +1,7 @@
- SUBDIRS = \
- esmart_container \
-- esmart_draggies \
- esmart_text_entry \
- esmart_file_dialog \
-- esmart_thumb \
-- esmart_trans_x11
-+ esmart_thumb
-
- # esmart_textarea
---- esmart-0.9.0.007/src/Makefile.am~disable-x-only-features.patch
-+++ esmart-0.9.0.007/src/Makefile.am
-@@ -1,3 +1,3 @@
- MAINTAINERCLEANFILES = Makefile.in
-
--SUBDIRS = lib bin
-+SUBDIRS = lib
diff --git a/packages/nonworking/efl/esmart/ecore-fix.patch b/packages/nonworking/efl/esmart/ecore-fix.patch
deleted file mode 100644
index 94deff0b95..0000000000
--- a/packages/nonworking/efl/esmart/ecore-fix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- esmart-0.9.0.004/src/lib/esmart_trans_x11/esmart_trans_x11.c~ 2004-11-10 07:18:23.000000000 -0800
-+++ esmart-0.9.0.004/src/lib/esmart_trans_x11/esmart_trans_x11.c 2005-09-29 11:22:52.000000000 -0700
-@@ -9,6 +9,7 @@
- #include <X11/Xlib.h>
- #include <Imlib2.h>
- #include <Ecore.h>
-+#include <Ecore_Data.h>
- #include <Ecore_X.h>
- #include <assert.h>
-
diff --git a/packages/nonworking/efl/esmart/include-stdio.patch b/packages/nonworking/efl/esmart/include-stdio.patch
deleted file mode 100644
index 20a490f421..0000000000
--- a/packages/nonworking/efl/esmart/include-stdio.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Nur esmart-0.9.0.004~/src/bin/esmart_file_dialog_test.c esmart-0.9.0.004/src/bin/esmart_file_dialog_test.c
---- esmart-0.9.0.004~/src/bin/esmart_file_dialog_test.c 2005-09-29 14:33:09.000000000 -0700
-+++ esmart-0.9.0.004/src/bin/esmart_file_dialog_test.c 2005-09-29 14:33:48.000000000 -0700
-@@ -8,6 +8,7 @@
- * $ esmart_file_dialog_test /path/to/my_custom/theme.eet
- * to test a custom theme you've written for it
- */
-+#include <stdio.h>
- #include <Ecore.h>
- #include <Edje.h>
- #include <Ecore_Evas.h>
-diff -Nur esmart-0.9.0.004~/src/lib/esmart_trans_x11/esmart_trans_x11.c esmart-0.9.0.004/src/lib/esmart_trans_x11/esmart_trans_x11.c
---- esmart-0.9.0.004~/src/lib/esmart_trans_x11/esmart_trans_x11.c 2005-09-29 14:33:09.000000000 -0700
-+++ esmart-0.9.0.004/src/lib/esmart_trans_x11/esmart_trans_x11.c 2005-09-29 14:33:19.000000000 -0700
-@@ -4,6 +4,7 @@
- *
- ***************************************************************************/
-
-+#include <stdio.h>
- #include <stdlib.h>
- #include "config.h"
- #include <X11/Xlib.h>
diff --git a/packages/nonworking/efl/etk_0.1.0.003.bb b/packages/nonworking/efl/etk_0.1.0.003.bb
deleted file mode 100644
index e283adef23..0000000000
--- a/packages/nonworking/efl/etk_0.1.0.003.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Etk is an advanced widget toolkit based on the Enlightenment Foundation Libraries."
-DEPENDS = "evas-x11 ecore-x11 edje"
-LICENSE = "MIT"
-PR = "r1"
-
-inherit efl
-
-SRC_URI = "http://enlightenment.freedesktop.org/files/etk-${PV}.tar.gz"
-
-do_stage() {
- autotools_stage_all
-}
-
-FILES_${PN} += "${libdir}/etk/engines/*.so"
-FILES_${PN}-dev += "${libdir}/etk/engines/*.a ${libdir}/etk/engines/*.la"
-FILES_${PN}-dbg += "${libdir}/etk/engines/*/.debug/"
-
diff --git a/packages/nonworking/efl/evas-fb_0.9.9.038.bb b/packages/nonworking/efl/evas-fb_0.9.9.038.bb
deleted file mode 100644
index 4acc857982..0000000000
--- a/packages/nonworking/efl/evas-fb_0.9.9.038.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-require evas.inc
-PR = "r6"
-
-EXTRA_OECONF = "--enable-fb \
- --disable-directfb \
- --enable-buffer \
- --disable-software-qtopia \
- --disable-software-x11 \
- --disable-gl-x11 \
- --disable-xrender-x11 \
- --enable-image-loader-eet \
- --disable-image-loader-edb \
- --enable-image-loader-png \
- --enable-image-loader-jpeg \
- --enable-small-dither-mask \
- --enable-cpu-c \
- --enable-font-loader-eet \
- --enable-scale-sample \
- --enable-scale-smooth \
- --enable-convert-yuv \
- --enable-convert-8-rgb-332 \
- --enable-convert-8-rgb-666 \
- --enable-convert-8-rgb-232 \
- --enable-convert-8-rgb-222 \
- --enable-convert-8-rgb-221 \
- --enable-convert-8-rgb-121 \
- --enable-convert-8-rgb-111 \
- --enable-convert-16-rgb-565 \
- --enable-convert-16-rgb-555 \
- --enable-convert-16-rgb-444 \
- --enable-convert-16-rgb-ipq \
- --enable-convert-16-rgb-rot-0 \
- --enable-convert-16-rgb-rot-90 \
- --enable-convert-16-rgb-rot-270 \
- --enable-convert-24-rgb-888 \
- --enable-convert-24-bgr-888 \
- --enable-convert-32-rgb-8888 \
- --enable-convert-32-rgbx-8888 \
- --enable-convert-32-bgr-8888 \
- --enable-convert-32-bgrx-8888 \
- --enable-convert-32-rgb-rot-0 \
- --enable-convert-32-rgb-rot-90 \
- --enable-convert-32-rgb-rot-270"
-
-headers = "../modules/engines/buffer/Evas_Engine_Buffer.h \
- ../modules/engines/fb/Evas_Engine_FB.h \
- Evas.h"
diff --git a/packages/nonworking/efl/evas-native_0.9.9.038.bb b/packages/nonworking/efl/evas-native_0.9.9.038.bb
deleted file mode 100644
index 68dacbc809..0000000000
--- a/packages/nonworking/efl/evas-native_0.9.9.038.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require evas-fb_${PV}.bb
-inherit native
-DEPENDS = "freetype-native libpng-native jpeg-native eet-native"
-PROVIDES = "evas-native"
-
diff --git a/packages/nonworking/efl/evas-x11_0.9.9.038.bb b/packages/nonworking/efl/evas-x11_0.9.9.038.bb
deleted file mode 100644
index 4c5ef29515..0000000000
--- a/packages/nonworking/efl/evas-x11_0.9.9.038.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-require evas.inc
-DEPENDS += "edb virtual/libx11 libxext freetype"
-PR = "r10"
-
-EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-fb \
- --disable-directfb \
- --enable-buffer \
- --disable-software-qtopia \
- --enable-software-x11 \
- --enable-software-16-x11 \
- --disable-gl-x11 \
- --enable-image-loader-eet \
- --enable-image-loader-edb \
- --enable-image-loader-png \
- --enable-image-loader-jpeg \
- --enable-small-dither-mask \
- --enable-cpu-c \
- --enable-font-loader-eet \
- --enable-scale-sample \
- --enable-scale-smooth \
- --enable-convert-yuv \
- --disable-image-loader-svg \
- --disable-convert-8-rgb-332 \
- --disable-convert-8-rgb-666 \
- --disable-convert-8-rgb-232 \
- --disable-convert-8-rgb-222 \
- --disable-convert-8-rgb-221 \
- --disable-convert-8-rgb-121 \
- --disable-convert-8-rgb-111 \
- --enable-convert-16-rgb-565 \
- --disable-convert-16-rgb-555 \
- --disable-convert-16-rgb-444 \
- --disable-convert-16-rgb-ipq \
- --enable-convert-16-rgb-rot-0 \
- --enable-convert-16-rgb-rot-90 \
- --enable-convert-16-rgb-rot-270 \
- --disable-convert-24-rgb-888 \
- --disable-convert-24-bgr-888 \
- --disable-convert-32-rgb-8888 \
- --disable-convert-32-rgbx-8888 \
- --enable-convert-32-bgr-8888 \
- --enable-convert-32-bgrx-8888 \
- --disable-convert-32-rgb-rot-0 \
- --disable-convert-32-rgb-rot-90 \
- --disable-convert-32-rgb-rot-270"
-
-headers = "../modules/engines/software_x11/Evas_Engine_Software_X11.h \
- ../modules/engines/software_16_x11/Evas_Engine_Software_16_X11.h \
- ../modules/engines/xrender_x11/Evas_Engine_XRender_X11.h \
- ../modules/engines/buffer/Evas_Engine_Buffer.h \
- ../modules/engines/fb/Evas_Engine_FB.h \
- Evas.h"
-
diff --git a/packages/nonworking/efl/evas.inc b/packages/nonworking/efl/evas.inc
deleted file mode 100644
index a175099c31..0000000000
--- a/packages/nonworking/efl/evas.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "Evas is a hardware-accelerated canvas API that can draw \
-anti-aliased text, smooth super and sub-images, alpha-blend, as well as drop \
-down to using normal X11 primitives such as pixmaps, lines and rectangles if \
-your CPU or graphics hardware are too slow."
-LICENSE = "MIT"
-# can also depend on valgrind (?)
-DEPENDS = "freetype libpng jpeg eet"
-PROVIDES += "virtual/evas"
-
-inherit efl lib_package
-
-export FREETYPE_CONFIG = "${STAGING_BINDIR_CROSS}/freetype-config"
-
-SRC_URI = "http://enlightenment.freedesktop.org/files/evas-${PV}.tar.gz \
- file://fix-configure.patch;patch=1 \
- ${E_CVS};module=e17/libs/evas/m4;date=20060101"
-# file://pagesize.patch;patch=1 \
-
-S = "${WORKDIR}/evas-${PV}"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/evas"
-
-EXTRA_OECONF = "<override me>"
-
-do_configure_prepend() {
- if [ -e "${WORKDIR}/m4" ]; then
- install -d "${S}/m4"
- install "${WORKDIR}/m4/"*.m4 "${S}/m4"
- aclocal -I m4
- fi
-}
-
-#do_install_append() {
-# find "${S}" -name .debug -type d | xargs -iBLAH rm -rf "BLAH"
-#}
-
-do_stage_append() {
- cd src
- modules=`find modules -name ".libs"`
- for module in $modules
- do
- install -d ${STAGING_LIBDIR}/evas/`dirname $module`/${TARGET_OS}-gnu-${TARGET_ARCH}
- install -m 0755 $module/module.so ${STAGING_LIBDIR}/evas/`dirname $module`/${TARGET_OS}-gnu-${TARGET_ARCH}/module.so
- done
-}
-
-headers = "<override me>"
-libraries = "libevas"
-FILES_${PN} += "/usr/lib/evas/modules/*/*/*/*.so"
-FILES_${PN}-dev += "/usr/lib/evas/modules/*/*/*/*.a /usr/lib/evas/modules/*/*/*/*.la"
-FILES_${PN}-dbg += "/usr/lib/evas/modules/*/*/*/.debug/"
diff --git a/packages/nonworking/efl/evas/fix-configure.patch b/packages/nonworking/efl/evas/fix-configure.patch
deleted file mode 100644
index abf9b94bdf..0000000000
--- a/packages/nonworking/efl/evas/fix-configure.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -Nur evas-0.9.9.037~/configure.in evas-0.9.9.037/configure.in
---- evas-0.9.9.037~/configure.in 2007-01-14 20:09:57.000000000 -0800
-+++ evas-0.9.9.037/configure.in 2007-01-14 20:11:09.000000000 -0800
-@@ -161,9 +161,7 @@
- AC_CHECK_HEADER(X11/X.h,
- [
- AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, 1, [Software X11 Rendering Backend])
-- x_dir=${x_dir:-/usr/X11R6}
-- x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-- x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-+ x_libs="-lX11 -lXext"
- ],
- [
- AC_MSG_RESULT(disabling software X11 engine)
-@@ -407,10 +405,10 @@
- AC_DEFINE(BUILD_ENGINE_GL_X11, 1, [OpenGL X11 Rendering Backend])
- AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, true)
- AC_DEFINE(BUILD_ENGINE_GL_COMMON, 1, [Generic OpenGL Rendering Support])
-- x_dir=${x_dir:-/usr/X11R6};
-+ x_dir=${x_dir:-};
- x_cflags=${x_cflags:--I$x_dir/include}
- x_libs="${x_libs:--L$x_dir/lib -lX11 -lXext}"
-- gl_cflags="-I/usr/include"
-+ gl_cflags=""
- gl_libs="-lGL -lGLU -lpthread"
- gl_dir=""
- ], [
-@@ -471,7 +469,7 @@
- AC_DEFINE(BUILD_ENGINE_CAIRO_X11, 1, [Cairo X11 Rendering Backend])
- AM_CONDITIONAL(BUILD_ENGINE_CAIRO_COMMON, true)
- AC_DEFINE(BUILD_ENGINE_CAIRO_COMMON, 1, [Generic Cairo Rendering Support])
-- x_dir="/usr/X11R6";
-+ x_dir="";
- x_cflags="-I"$x_dir"/include"
- x_libs="-L"$x_dir"/lib -lX11 -lXext"
- ], [
diff --git a/packages/nonworking/efl/evas/pagesize.patch b/packages/nonworking/efl/evas/pagesize.patch
deleted file mode 100644
index 5efd16a96e..0000000000
--- a/packages/nonworking/efl/evas/pagesize.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/modules/engines/fb/evas_fb_main.c b/src/modules/engines/fb/evas_fb_main.c
-index e26c171..75e0743 100644
---- a/src/modules/engines/fb/evas_fb_main.c
-+++ b/src/modules/engines/fb/evas_fb_main.c
-@@ -530,7 +530,7 @@ fb_postinit(FB_Mode *mode)
- fb_cleanup();
- exit(1);
- }
-- mode->mem_offset = (unsigned)(fb_fix.smem_start) & (~PAGE_MASK);
-+ mode->mem_offset = (unsigned)(fb_fix.smem_start) & (getpagesize()-1);
- mode->mem = (unsigned char *)mmap(NULL, fb_fix.smem_len + mode->mem_offset,
- PROT_WRITE | PROT_READ, MAP_SHARED, fb, 0);
- if ((int)mode->mem == -1)
diff --git a/packages/nonworking/efl/ewl/ewl-configure.patch b/packages/nonworking/efl/ewl/ewl-configure.patch
deleted file mode 100644
index a754e0f819..0000000000
--- a/packages/nonworking/efl/ewl/ewl-configure.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ewl-0.0.4.003/configure.in~fix-configure
-+++ ewl-0.0.4.003/configure.in
-@@ -13,7 +13,6 @@
- AC_C_CONST
- AM_ENABLE_SHARED
- AM_PROG_LIBTOOL
--AC_C___ATTRIBUTE__
-
- dnl Check for Solaris or other OS
- case "$host" in
diff --git a/packages/nonworking/efl/ewl/minmax.patch b/packages/nonworking/efl/ewl/minmax.patch
deleted file mode 100644
index cd8723e9a3..0000000000
--- a/packages/nonworking/efl/ewl/minmax.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nur ewl-0.0.4.004~/src/lib/Ewl.h.in ewl-0.0.4.004/src/lib/Ewl.h.in
---- ewl-0.0.4.004~/src/lib/Ewl.h.in 2005-09-29 18:26:11.000000000 -0700
-+++ ewl-0.0.4.004/src/lib/Ewl.h.in 2005-09-29 18:26:55.000000000 -0700
-@@ -254,6 +254,14 @@
- extern"C" {
- #endif
-
-+#ifndef MAX
-+#define MAX(a, b) (a > b ? a : b)
-+#endif
-+
-+#ifndef MIN
-+#define MIN(a, b) (a < b ? a : b)
-+#endif
-+
- #include <Evas.h>
- #include <Edje.h>
- #include <Ecore.h>
diff --git a/packages/nonworking/efl/ewl/no-examples.patch b/packages/nonworking/efl/ewl/no-examples.patch
deleted file mode 100644
index 402c50894c..0000000000
--- a/packages/nonworking/efl/ewl/no-examples.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Nur ewl-0.0.4.004~/src/Makefile.am ewl-0.0.4.004/src/Makefile.am
---- ewl-0.0.4.004~/src/Makefile.am 2005-09-29 18:21:52.000000000 -0700
-+++ ewl-0.0.4.004/src/Makefile.am 2005-09-29 18:22:17.000000000 -0700
-@@ -1,5 +1,5 @@
-
--SUBDIRS = lib bin
-+SUBDIRS = lib
-
- MAINTAINERCLEANFILES = Makefile.in
-
-diff -Nur ewl-0.0.4.004~/src/Makefile.in ewl-0.0.4.004/src/Makefile.in
---- ewl-0.0.4.004~/src/Makefile.in 2005-09-29 18:21:52.000000000 -0700
-+++ ewl-0.0.4.004/src/Makefile.in 2005-09-29 18:22:07.000000000 -0700
-@@ -108,7 +108,7 @@
- ewl_media_include = @ewl_media_include@
- requirements = @requirements@
-
--SUBDIRS = lib bin
-+SUBDIRS = lib
-
- MAINTAINERCLEANFILES = Makefile.in
- mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/packages/nonworking/efl/ewl_0.5.1.008.bb b/packages/nonworking/efl/ewl_0.5.1.008.bb
deleted file mode 100644
index 3a9313cb59..0000000000
--- a/packages/nonworking/efl/ewl_0.5.1.008.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "The Enlightened Widget Library, \
-a simple-to-use general purpose widget library based on the enlightenment foundation libraries."
-DEPENDS = "edb virtual/evas virtual/ecore edje"
-# emotion
-RDEPENDS += "ewl-themes"
-LICENSE = "MIT"
-PR = "r1"
-
-inherit efl
-
-SRC_URI += "file://ewl-configure.patch;patch=1 \
- file://no-examples.patch;patch=1 \
- file://minmax.patch;patch=1 \
- ${E_CVS};module=e17/libs/evas/m4;date=20060501"
-
-do_configure_prepend() {
- if [ -e "${WORKDIR}/m4" ]; then
- install -d "${S}/m4"
- install "${WORKDIR}/m4/"*.m4 "${S}/m4"
- aclocal -I m4
- fi
-}
-
-do_stage_append() {
- for i in src/lib/ewl_*.h
- do
- install -m 0644 $i ${STAGING_INCDIR}
- done
-}
diff --git a/packages/nonworking/efl/files/pkg.m4 b/packages/nonworking/efl/files/pkg.m4
deleted file mode 100644
index c80e0acfc4..0000000000
--- a/packages/nonworking/efl/files/pkg.m4
+++ /dev/null
@@ -1,57 +0,0 @@
-
-dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
-dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
-dnl also defines GSTUFF_PKG_ERRORS on error
-AC_DEFUN(PKG_CHECK_MODULES, [
- succeeded=no
-
- if test -z "$PKG_CONFIG"; then
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
- fi
-
- if test "$PKG_CONFIG" = "no" ; then
- echo "*** The pkg-config script could not be found. Make sure it is"
- echo "*** in your path, or set the PKG_CONFIG environment variable"
- echo "*** to the full path to pkg-config."
- echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
- else
- PKG_CONFIG_MIN_VERSION=0.9.0
- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
- AC_MSG_CHECKING(for $2)
-
- if $PKG_CONFIG --exists "$2" ; then
- AC_MSG_RESULT(yes)
- succeeded=yes
-
- AC_MSG_CHECKING($1_CFLAGS)
- $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
- AC_MSG_RESULT($$1_CFLAGS)
-
- AC_MSG_CHECKING($1_LIBS)
- $1_LIBS=`$PKG_CONFIG --libs "$2"`
- AC_MSG_RESULT($$1_LIBS)
- else
- $1_CFLAGS=""
- $1_LIBS=""
- ## If we have a custom action on failure, don't print errors, but
- ## do set a variable so people can do so.
- $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
- ifelse([$4], ,echo $$1_PKG_ERRORS,)
- fi
-
- AC_SUBST($1_CFLAGS)
- AC_SUBST($1_LIBS)
- else
- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
- echo "*** See http://www.freedesktop.org/software/pkgconfig"
- fi
- fi
-
- if test $succeeded = yes; then
- ifelse([$3], , :, [$3])
- else
- ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
- fi
-])
-
-
diff --git a/packages/nonworking/efl/imlib2-fb_1.3.0.001.bb b/packages/nonworking/efl/imlib2-fb_1.3.0.001.bb
deleted file mode 100644
index f2ee48f5d9..0000000000
--- a/packages/nonworking/efl/imlib2-fb_1.3.0.001.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require imlib2.inc
-PR = "r2"
-
-EXTRA_OECONF = "--without-x \
- --disable-mmx"
-
diff --git a/packages/nonworking/efl/imlib2-native_1.3.0.001.bb b/packages/nonworking/efl/imlib2-native_1.3.0.001.bb
deleted file mode 100644
index 65c5b672b2..0000000000
--- a/packages/nonworking/efl/imlib2-native_1.3.0.001.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require imlib2.inc
-inherit native
-PROVIDES = "imlib2-native"
-DEPENDS = "freetype-native libpng-native jpeg-native"
-PR = "r2"
-
-EXTRA_OECONF = "--disable-mmx \
- --without-x"
diff --git a/packages/nonworking/efl/imlib2-x11_1.3.0.001.bb b/packages/nonworking/efl/imlib2-x11_1.3.0.001.bb
deleted file mode 100644
index 67ed947e08..0000000000
--- a/packages/nonworking/efl/imlib2-x11_1.3.0.001.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require imlib2.inc
-DEPENDS += "virtual/libx11 libxext"
-PR = "r3"
-
-EXTRA_OECONF = "--disable-mmx \
- --with-x \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR}"
diff --git a/packages/nonworking/efl/imlib2.inc b/packages/nonworking/efl/imlib2.inc
deleted file mode 100644
index 6a040c5386..0000000000
--- a/packages/nonworking/efl/imlib2.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "A graphic library for file loading, saving, rendering, and manipulation."
-LICENSE = "BSD"
-# can also depend on tiff34, ungif or gif, z, bz2, id3tag
-DEPENDS = "freetype libpng jpeg"
-PROVIDES += "virtual/imlib2"
-
-inherit efl
-
-SRC_URI = "http://enlightenment.freedesktop.org/files/imlib2-${PV}.tar.gz"
-S = "${WORKDIR}/imlib2-${PV}"
-
-libraries = ""
-headers = ""
-
-do_stage_append() {
- oe_libinstall -C src/lib libImlib2 ${STAGING_LIBDIR}/
- install -m 0644 ${S}/src/lib/Imlib2.h ${STAGING_INCDIR}/
-
- install -d ${STAGING_LIBDIR}/imlib2/loaders
- for i in src/modules/loaders/.libs/*.so
- do
- install -m 0755 $i ${STAGING_LIBDIR}/imlib2/loaders
- done
-
- install -d ${STAGING_LIBDIR}/imlib2/filters
- for i in src/modules/filters/.libs/*.so
- do
- install -m 0755 $i ${STAGING_LIBDIR}/imlib2/filters
- done
-}
-
-do_install() {
- install -d "${D}${includedir}"
- oe_libinstall -C src/lib libImlib2 ${D}${libdir}/
- install -m 0644 ${S}/src/lib/Imlib2.h ${D}${includedir}/
-
- install -d ${D}${libdir}/imlib2/loaders
- for i in src/modules/loaders/.libs/*.so
- do
- install -m 0755 $i ${D}${libdir}/imlib2/loaders
- done
-
- install -d ${D}${libdir}/imlib2/filters
- for i in src/modules/filters/.libs/*.so
- do
- install -m 0755 $i ${D}${libdir}/imlib2/filters
- done
-}
-
-PACKAGES =+ "imlib2-loaders-dbg imlib2-filters-dbg imlib2-loaders imlib2-filters"
-FILES_${PN} = "${libdir}/lib*.so.* ${libdir}/imlib2/*/*.so"
-FILES_${PN}-dbg = "${libdir}/.debug/"
-FILES_${PN}-dev += "${bindir}/imlib2-config ${libdir}/*.so ${includedir}"
-FILES_imlib2-bin = "${bindir}"
-FILES_imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
-FILES_imlib2-filters = "${libdir}/imlib2/filters/*.so"
-FILES_imlib2-loaders-dbg += "${libdir}/imlib2/loaders/.debug"
-FILES_imlib2-filters-dbg += "${libdir}/imlib2/filters/.debug"
diff --git a/packages/nonworking/kgrok/files/mediabutton.patch b/packages/nonworking/kgrok/files/mediabutton.patch
deleted file mode 100644
index ce2c70e936..0000000000
--- a/packages/nonworking/kgrok/files/mediabutton.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- src/mediabutton.C~mediabutton
-+++ src/mediabutton.C
-@@ -23,6 +23,7 @@
- #include <qwidget.h>
- #include <qdrawutil.h>
- #include "bluebutton.h"
-+#include "mediabutton.h"
-
- extern QApplication *app;
-
diff --git a/packages/nonworking/kgrok/files/parser_yacc.cpp b/packages/nonworking/kgrok/files/parser_yacc.cpp
deleted file mode 100644
index 7078dced62..0000000000
--- a/packages/nonworking/kgrok/files/parser_yacc.cpp
+++ /dev/null
@@ -1,2048 +0,0 @@
-#ifndef lint
-static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
-#endif
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define yyclearin (yychar=(-1))
-#define yyerrok (yyerrflag=0)
-#define YYRECOVERING (yyerrflag!=0)
-extern int yyparse(void);
-#define yyparse parserparse
-#define yylex parserlex
-#define yyerror parsererror
-#define yychar parserchar
-#define yyval parserval
-#define yylval parserlval
-#define yydebug parserdebug
-#define yynerrs parsernerrs
-#define yyerrflag parsererrflag
-#define yyss parserss
-#define yyssp parserssp
-#define yyvs parservs
-#define yyvsp parservsp
-#define yylhs parserlhs
-#define yylen parserlen
-#define yydefred parserdefred
-#define yydgoto parserdgoto
-#define yysindex parsersindex
-#define yyrindex parserrindex
-#define yygindex parsergindex
-#define yytable parsertable
-#define yycheck parsercheck
-#define yyname parsername
-#define yyrule parserrule
-#define YYPREFIX "parser"
-#line 2 "parser.y"
-/**/
-/* (C) Copyright 2001 by Thomas Driemeyer <thomas@bitrot.de> www.bitrot.de.*/
-/**/
-/* This is free software; you can redistribute it and/or modify it under the*/
-/* terms of the GNU Library 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 Library*/
-/* General Public License for more details.*/
-/**/
-/* expression language grammar, compiled to parser.C by yacc*/
-/**/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <time.h>
-#include <math.h>
-#include <qmessagebox.h>
-#include "form.h"
-#include "section.h"
-#include "database.h"
-#include "evaluate.h"
-#include "util.h"
-
-#define yyparse Evaluate::yyeparse
-#line 32 "parser.y"
-typedef union { int ival; double dval; char *sval; Arg *aval; } YYSTYPE;
-#line 68 "y.tab.c"
-#define NUMBER 257
-#define STRING 258
-#define SYMBOL 259
-#define FIELD 260
-#define VAR 261
-#define EQ 262
-#define NEQ 263
-#define LE 264
-#define GE 265
-#define SHR 266
-#define SHL 267
-#define AND 268
-#define OR 269
-#define IN 270
-#define PLA 271
-#define MIA 272
-#define MUA 273
-#define MOA 274
-#define DVA 275
-#define ANA 276
-#define ORA 277
-#define INC 278
-#define DEC_ 279
-#define APP 280
-#define AVG 281
-#define DEV 282
-#define AMIN 283
-#define AMAX 284
-#define SUM 285
-#define QAVG 286
-#define QDEV 287
-#define QMIN_ 288
-#define QMAX_ 289
-#define QSUM 290
-#define SAVG 291
-#define SDEV 292
-#define SMIN 293
-#define SMAX 294
-#define SSUM 295
-#define ABS 296
-#define INT 297
-#define BOUND 298
-#define LEN 299
-#define CHOP 300
-#define TR 301
-#define SUBSTR 302
-#define SQRT 303
-#define EXP 304
-#define LOG 305
-#define LN 306
-#define POW 307
-#define RANDOM 308
-#define SIN 309
-#define COS 310
-#define TAN 311
-#define ASIN 312
-#define ACOS 313
-#define ATAN 314
-#define ATAN2 315
-#define DATE 316
-#define TIME 317
-#define DURATION 318
-#define EXPAND 319
-#define YEAR 320
-#define MONTH 321
-#define DAY 322
-#define HOUR 323
-#define MINUTE 324
-#define SECOND 325
-#define LEAP 326
-#define JULIAN 327
-#define SECTION_ 328
-#define DBASE_ 329
-#define FORM_ 330
-#define PREVFORM 331
-#define SWITCH 332
-#define THIS 333
-#define LAST 334
-#define DISP 335
-#define FOREACH 336
-#define HOST 337
-#define USER 338
-#define UID 339
-#define GID 340
-#define SYSTEM 341
-#define ACCESS 342
-#define BEEP 343
-#define ERROR 344
-#define PRINTF 345
-#define UMINUS 346
-#define YYERRCODE 256
-short parserlhs[] = { -1,
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1,
-};
-short parserlen[] = { 2,
- 1, 1, 3, 3, 3, 1, 3, 3, 3, 5,
- 3, 3, 3, 3, 3, 3, 3, 1, 4, 3,
- 6, 4, 2, 4, 6, 8, 1, 1, 1, 1,
- 4, 1, 1, 6, 4, 6, 1, 1, 4, 4,
- 4, 4, 7, 4, 1, 4, 1, 3, 1, 3,
- 3, 1, 4, 3, 6, 1, 3, 3, 3, 3,
- 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
- 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
- 3, 1, 1, 1, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 8, 4, 4, 4, 4, 4, 6, 1, 4,
- 4, 4, 4, 4, 4, 6, 1, 4, 1, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 1, 1, 6,
-};
-short parserdefred[] = { 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 32, 29, 0, 0, 27, 28, 0, 45,
- 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, 49, 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, 0, 0, 0, 119, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 92, 93, 94, 141, 142, 0,
- 0, 0, 0, 0, 0, 0, 23, 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, 0, 0, 0, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 65, 66, 0, 67, 68,
- 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, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 69, 70, 71, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
- 0, 24, 0, 0, 40, 39, 41, 42, 0, 31,
- 0, 0, 35, 22, 0, 46, 44, 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, 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, 0, 0, 0,
- 0, 50, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 81, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 0,
- 113, 114, 115, 116, 117, 0, 120, 121, 122, 123,
- 124, 125, 0, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 140, 139, 128, 0, 0, 0, 0, 25,
- 0, 0, 34, 36, 0, 0, 0, 0, 0, 0,
- 0, 43, 0, 0, 118, 126, 143, 26, 0, 112,
-};
-short parserdgoto[] = { 26,
- 106, 133, 134,
-};
-short parsersindex[] = { 230,
- 0, -59, -52, -36, -35, -28, -25, -18, -11, -3,
- -75, 0, 0, 0, 16, 28, 0, 0, 38, 0,
- 39, 49, 230, 159, -231, 0, 3062, 230, 159, 230,
- 230, 230, 230, 230, 159, 159, 159, -217, 159, 230,
- 230, 230, 230, 230, 263, 0, -50, 235, -178, -170,
- 53, 54, 55, 56, 64, 65, 66, 67, 80, 82,
- 83, 84, 85, 87, 88, 89, 90, 91, 93, 94,
- 96, 114, 115, 126, 0, 128, 156, 160, 162, 163,
- 166, 168, 173, 175, 178, 180, 186, 187, 189, 190,
- 195, 196, 197, 26, 0, 0, 0, 0, 0, 208,
- 159, 159, 159, 230, 159, 727, 0, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 147, 968, 147,
- 147, 846, 1194, 2176, 979, 1006, 1033, -38, 1044, 3031,
- 614, 1408, 3062, -17, 3, 0, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 0, 0, 159, 0, 0,
- -4, -2, -1, 2, 5, 7, 9, 12, 21, 23,
- 24, 29, 30, 31, 34, 159, 159, 159, 230, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 230, 230, 230, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 230, 0, 0, 0, 1701, 1128, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 0,
- 15, 15, 203, 203, 107, 594, 2956, 203, 203, 0,
- 199, 0, 230, 159, 0, 0, 0, 0, 159, 0,
- 230, 230, 0, 0, 230, 0, 0, 2528, 1277, 2528,
- 2528, 2528, 2528, 2528, 2528, 2528, 2528, 216, 220, 227,
- 233, 247, 257, 270, 271, 272, 274, 275, 277, 279,
- 283, 287, 1155, 1288, 2203, 1926, 1315, 1342, 1388, 1400,
- 2256, 1436, 1472, 1582, 1648, 1683, 1711, 2330, 2937, 2971,
- 2980, 1738, 1749, 1776, 1834, 1845, 2010, 2021, 2079, 2093,
- 3095, 0, 0, 1882, 1882, 20, 20, 43, 43, 2886,
- 2727, 2517, 2120, -12, 2917, 2278, 20, 20, 50, 50,
- 0, 0, 0, 230, 230, 2991, 2365, 2132, 3011, 3022,
- 3062, 268, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 159,
- 0, 0, 0, 0, 0, 159, 0, 0, 0, 0,
- 0, 0, 159, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 159, 159, 594, 147, 0,
- 159, 289, 0, 0, 159, 2517, 2415, 2443, 2168, 2517,
- 2454, 0, 2528, 159, 0, 0, 0, 0, 2489, 0,
-};
-short parserrindex[] = { 0,
- 0, 273, 459, 0, 0, 0, 539, 550, 0, 0,
- 570, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 337, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -24, 699, 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, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 856, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 883, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 747, 0, 911,
- 1219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 10, 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, 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, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 234, 590, 603, 40, 577, 0, 626, 672, 0,
- 579, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 299, 0, 300,
- 320, 338, 736, 737, 787, 1071, 1118, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2864, 2874, 2760, 2797, 1223, 2609, 153,
- 154, 310, 0, 77, 336, 8, 2841, 2851, 2563, 2601,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 14, 941, 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, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 659, 1558, 0,
- 0, 0, 0, 0, 0, 294, 294, 294, 0, 346,
- 294, 0, 1119, 0, 0, 0, 0, 0, 294, 0,
-};
-short parsergindex[] = { 0,
- -29, 191, 295,
-};
-#define YYTABLESIZE 3365
-short parsertable[] = { 119,
- 13, 28, 238, 32, 33, 125, 126, 127, 31, 129,
- 137, 34, 52, 52, 35, 39, 52, 52, 52, 52,
- 52, 36, 52, 246, 219, 212, 245, 107, 37, 217,
- 216, 29, 215, 52, 218, 52, 38, 52, 52, 17,
- 138, 13, 128, 247, 13, 72, 245, 213, 72, 214,
- 47, 72, 239, 47, 48, 40, 219, 48, 13, 13,
- 117, 217, 216, 13, 215, 72, 218, 41, 52, 52,
- 72, 195, 196, 197, 115, 199, 116, 42, 43, 219,
- 17, 211, 149, 17, 217, 216, 219, 215, 44, 218,
- 150, 217, 151, 152, 153, 154, 218, 17, 17, 52,
- 72, 72, 17, 155, 156, 157, 158, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 193, 74, 257, 159,
- 74, 160, 161, 162, 163, 13, 164, 165, 166, 167,
- 168, 72, 169, 170, 74, 171, 273, 274, 275, 74,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 117, 172, 173, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 17, 174, 115, 175, 116, 74,
- 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
- 27, 102, 117, 88, 89, 176, 88, 89, 105, 177,
- 74, 178, 179, 101, 327, 180, 115, 181, 116, 328,
- 88, 89, 182, 45, 183, 88, 89, 184, 118, 185,
- 120, 121, 122, 123, 124, 186, 187, 30, 188, 189,
- 130, 131, 132, 14, 190, 191, 192, 52, 52, 52,
- 52, 52, 52, 52, 52, 88, 89, 194, 117, 200,
- 201, 202, 203, 204, 205, 258, 333, 259, 260, 325,
- 334, 261, 13, 13, 262, 25, 263, 335, 264, 24,
- 13, 265, 18, 336, 14, 72, 72, 14, 110, 111,
- 266, 104, 267, 268, 103, 204, 205, 337, 269, 270,
- 271, 14, 14, 272, 198, 148, 14, 338, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 117, 17,
- 339, 340, 341, 18, 342, 343, 18, 344, 18, 345,
- 386, 113, 115, 346, 116, 114, 387, 347, 385, 392,
- 18, 18, 18, 388, 18, 18, 1, 91, 135, 54,
- 58, 0, 54, 58, 74, 74, 389, 390, 0, 0,
- 91, 391, 23, 91, 0, 393, 54, 58, 14, 276,
- 59, 54, 58, 59, 399, 0, 0, 91, 108, 109,
- 110, 111, 289, 290, 291, 0, 73, 59, 60, 73,
- 0, 60, 59, 0, 301, 0, 90, 136, 0, 90,
- 0, 54, 58, 73, 0, 60, 0, 18, 73, 0,
- 60, 0, 91, 90, 0, 0, 0, 0, 108, 109,
- 110, 111, 59, 0, 0, 46, 112, 0, 47, 48,
- 88, 88, 89, 326, 0, 0, 0, 0, 73, 73,
- 60, 329, 330, 0, 0, 331, 49, 50, 90, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 69, 6, 73,
- 0, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 0, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 1, 0, 2,
- 3, 95, 96, 97, 0, 14, 14, 98, 99, 6,
- 100, 0, 6, 14, 6, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 378, 379, 6, 6, 6, 0,
- 6, 6, 0, 0, 108, 109, 110, 111, 0, 4,
- 5, 6, 112, 0, 18, 18, 18, 18, 38, 0,
- 0, 0, 18, 0, 0, 7, 8, 9, 10, 37,
- 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
- 14, 15, 0, 0, 0, 16, 17, 18, 0, 30,
- 19, 0, 20, 21, 22, 0, 4, 0, 19, 38,
- 0, 0, 38, 6, 38, 0, 0, 0, 0, 15,
- 37, 0, 0, 37, 0, 37, 38, 38, 38, 0,
- 38, 38, 16, 73, 73, 0, 0, 37, 37, 37,
- 30, 37, 37, 30, 0, 30, 0, 4, 0, 19,
- 4, 0, 19, 0, 19, 11, 0, 30, 30, 30,
- 15, 30, 30, 15, 4, 4, 19, 19, 19, 117,
- 19, 19, 0, 16, 0, 0, 16, 15, 15, 15,
- 0, 15, 15, 115, 243, 116, 114, 242, 10, 117,
- 16, 16, 16, 38, 16, 16, 11, 0, 0, 11,
- 0, 12, 113, 115, 37, 116, 114, 0, 0, 0,
- 0, 0, 0, 11, 11, 11, 0, 11, 11, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 0, 10,
- 0, 4, 10, 19, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 15, 12, 10, 10, 0, 0,
- 6, 6, 6, 6, 0, 0, 0, 16, 6, 12,
- 12, 12, 0, 12, 12, 56, 56, 0, 0, 56,
- 56, 56, 56, 56, 0, 56, 20, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 56, 0, 56, 0,
- 56, 56, 0, 219, 212, 0, 0, 220, 217, 216,
- 208, 215, 0, 218, 0, 0, 62, 61, 0, 62,
- 61, 0, 0, 10, 0, 0, 213, 20, 214, 209,
- 20, 56, 56, 62, 61, 0, 12, 0, 62, 61,
- 38, 38, 38, 38, 20, 20, 0, 0, 38, 20,
- 0, 37, 37, 37, 37, 0, 0, 0, 0, 37,
- 211, 0, 56, 0, 0, 0, 0, 63, 62, 61,
- 63, 30, 30, 30, 30, 0, 0, 0, 0, 30,
- 19, 19, 19, 19, 63, 0, 0, 0, 19, 63,
- 210, 15, 15, 15, 15, 108, 109, 110, 111, 15,
- 0, 0, 0, 112, 16, 16, 16, 16, 0, 0,
- 0, 20, 16, 0, 0, 108, 109, 110, 111, 63,
- 0, 0, 0, 112, 0, 0, 232, 11, 11, 11,
- 11, 117, 129, 129, 0, 11, 129, 129, 129, 129,
- 129, 0, 129, 0, 113, 115, 0, 116, 114, 0,
- 7, 0, 0, 129, 0, 129, 0, 129, 129, 127,
- 127, 0, 0, 127, 127, 127, 127, 127, 0, 127,
- 0, 0, 0, 12, 12, 12, 12, 0, 0, 0,
- 127, 12, 127, 0, 127, 127, 0, 0, 129, 129,
- 0, 7, 0, 0, 7, 0, 0, 0, 0, 0,
- 56, 56, 56, 56, 56, 56, 56, 56, 7, 7,
- 0, 0, 0, 7, 0, 127, 127, 53, 53, 129,
- 0, 53, 53, 53, 53, 53, 0, 53, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 0, 53, 0,
- 53, 0, 53, 53, 219, 212, 127, 0, 0, 217,
- 216, 208, 215, 0, 218, 219, 212, 0, 0, 235,
- 217, 216, 208, 215, 0, 218, 0, 213, 0, 214,
- 209, 0, 0, 53, 53, 7, 0, 0, 213, 0,
- 214, 209, 219, 212, 0, 0, 236, 217, 216, 208,
- 215, 0, 218, 0, 0, 0, 0, 0, 0, 0,
- 231, 211, 0, 0, 53, 213, 0, 214, 209, 219,
- 212, 0, 211, 237, 217, 216, 208, 215, 0, 218,
- 219, 212, 0, 0, 0, 217, 216, 208, 215, 0,
- 218, 210, 213, 0, 214, 209, 0, 0, 0, 211,
- 0, 0, 210, 213, 0, 214, 209, 108, 109, 110,
- 111, 64, 0, 0, 64, 112, 0, 129, 129, 129,
- 129, 129, 129, 129, 129, 0, 211, 0, 64, 210,
- 0, 0, 0, 64, 0, 0, 240, 211, 0, 0,
- 0, 0, 0, 0, 127, 127, 127, 127, 127, 127,
- 127, 127, 0, 0, 0, 0, 210, 0, 57, 55,
- 0, 57, 55, 64, 219, 212, 0, 210, 303, 217,
- 216, 208, 215, 0, 218, 57, 55, 0, 0, 0,
- 57, 55, 0, 0, 0, 0, 0, 213, 0, 214,
- 209, 219, 212, 0, 0, 348, 217, 216, 208, 215,
- 0, 218, 53, 53, 53, 53, 53, 53, 53, 53,
- 57, 55, 0, 0, 213, 0, 214, 209, 8, 0,
- 0, 211, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 233, 0, 117,
- 200, 201, 202, 203, 204, 205, 206, 207, 211, 0,
- 0, 210, 113, 115, 0, 116, 114, 0, 0, 8,
- 76, 0, 8, 76, 0, 0, 76, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 8, 8, 210, 0,
- 76, 8, 76, 0, 76, 76, 0, 0, 0, 0,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 219, 212, 76, 76, 0, 217, 216,
- 208, 215, 0, 218, 219, 212, 0, 0, 349, 217,
- 216, 208, 215, 0, 218, 0, 213, 0, 214, 209,
- 0, 0, 0, 8, 0, 0, 76, 213, 0, 214,
- 209, 219, 212, 0, 0, 352, 217, 216, 208, 215,
- 0, 218, 0, 0, 0, 0, 0, 0, 0, 332,
- 211, 0, 0, 0, 213, 0, 214, 209, 219, 212,
- 0, 211, 353, 217, 216, 208, 215, 0, 218, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 0, 0,
- 210, 213, 0, 214, 209, 0, 0, 0, 211, 0,
- 0, 210, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 219, 212, 0, 0, 354, 217,
- 216, 208, 215, 0, 218, 211, 219, 212, 210, 0,
- 355, 217, 216, 208, 215, 0, 218, 213, 244, 214,
- 209, 0, 0, 117, 0, 108, 109, 110, 111, 213,
- 0, 214, 209, 112, 0, 210, 113, 115, 0, 116,
- 114, 0, 219, 212, 0, 0, 357, 217, 216, 208,
- 215, 211, 218, 0, 76, 76, 76, 76, 76, 76,
- 76, 76, 0, 211, 0, 213, 0, 214, 209, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 219, 212,
- 0, 210, 358, 217, 216, 208, 215, 0, 218, 0,
- 0, 0, 0, 210, 0, 0, 0, 0, 0, 211,
- 0, 213, 0, 214, 209, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 21, 0, 210,
- 0, 0, 0, 0, 0, 211, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 210, 0, 0, 21, 0,
- 0, 21, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 0, 0, 0, 21, 21, 0, 219, 212,
- 21, 0, 359, 217, 216, 208, 215, 0, 218, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 213, 0, 214, 209, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 108,
- 109, 110, 111, 0, 0, 211, 0, 112, 0, 0,
- 0, 0, 21, 0, 219, 212, 0, 0, 360, 217,
- 216, 208, 215, 0, 218, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 210, 0, 213, 0, 214,
- 209, 0, 0, 0, 0, 0, 0, 0, 0, 219,
- 212, 0, 0, 361, 217, 216, 208, 215, 0, 218,
- 0, 0, 0, 200, 201, 202, 203, 204, 205, 206,
- 207, 211, 213, 0, 214, 209, 117, 219, 212, 0,
- 0, 362, 217, 216, 208, 215, 0, 218, 0, 113,
- 115, 0, 116, 114, 0, 0, 0, 0, 0, 0,
- 213, 210, 214, 209, 219, 212, 211, 0, 367, 217,
- 216, 208, 215, 0, 218, 219, 212, 0, 0, 368,
- 217, 216, 208, 215, 0, 218, 0, 213, 0, 214,
- 209, 0, 0, 0, 211, 0, 210, 0, 213, 0,
- 214, 209, 219, 212, 0, 0, 369, 217, 216, 208,
- 215, 0, 218, 0, 0, 302, 0, 0, 0, 0,
- 0, 211, 0, 0, 210, 213, 0, 214, 209, 0,
- 0, 0, 211, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 210, 0, 0, 0, 0, 0, 0, 0, 211,
- 219, 212, 210, 0, 370, 217, 216, 208, 215, 0,
- 218, 219, 212, 0, 0, 371, 217, 216, 208, 215,
- 0, 218, 0, 213, 0, 214, 209, 0, 0, 210,
- 0, 0, 0, 0, 213, 0, 214, 209, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 219, 0,
- 0, 0, 0, 217, 216, 0, 215, 211, 218, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 211, 0,
- 0, 213, 0, 214, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 0, 0, 0, 0, 210, 0, 0,
- 0, 0, 108, 109, 110, 111, 351, 0, 210, 0,
- 112, 117, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 0, 0, 0, 113, 115, 0, 116, 114, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 219, 212, 0, 0,
- 372, 217, 216, 208, 215, 0, 218, 219, 212, 0,
- 0, 373, 217, 216, 208, 215, 0, 218, 0, 213,
- 0, 214, 209, 0, 0, 0, 0, 0, 0, 0,
- 213, 0, 214, 209, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 211, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 211, 219, 212, 0, 0, 374,
- 217, 216, 208, 215, 0, 218, 0, 0, 0, 219,
- 212, 0, 0, 210, 217, 216, 208, 215, 213, 218,
- 214, 209, 0, 0, 210, 202, 203, 204, 205, 0,
- 0, 0, 213, 0, 214, 209, 219, 212, 0, 0,
- 0, 217, 216, 208, 215, 0, 218, 0, 219, 212,
- 0, 0, 211, 217, 216, 208, 215, 377, 218, 213,
- 0, 214, 209, 0, 0, 375, 211, 108, 109, 110,
- 111, 213, 0, 214, 209, 112, 0, 0, 0, 0,
- 0, 0, 210, 0, 219, 212, 0, 0, 397, 217,
- 216, 208, 215, 211, 218, 0, 210, 0, 0, 234,
- 0, 117, 0, 0, 382, 211, 0, 213, 0, 214,
- 209, 0, 0, 0, 113, 115, 0, 116, 114, 219,
- 212, 0, 0, 210, 217, 216, 350, 215, 0, 218,
- 0, 0, 0, 0, 0, 210, 0, 0, 0, 0,
- 0, 211, 213, 0, 214, 209, 0, 0, 0, 0,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 0, 0, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 210, 219, 212, 0, 0, 211, 217, 216, 356,
- 215, 0, 218, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 219, 213, 0, 214, 209, 217,
- 216, 0, 215, 0, 218, 0, 210, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 213, 0, 214,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 211,
- 0, 0, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 0, 0, 0, 219, 212, 0, 0,
- 0, 217, 216, 363, 215, 0, 218, 0, 0, 210,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 213,
- 0, 214, 209, 200, 201, 202, 203, 204, 205, 206,
- 207, 219, 212, 0, 0, 0, 217, 216, 381, 215,
- 0, 218, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 211, 213, 0, 214, 209, 0, 200,
- 201, 202, 203, 204, 205, 206, 207, 108, 109, 110,
- 111, 0, 0, 0, 0, 112, 0, 0, 0, 0,
- 0, 219, 212, 210, 0, 395, 217, 216, 211, 215,
- 0, 218, 0, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 0, 213, 0, 214, 209, 0, 219,
- 212, 0, 0, 396, 217, 216, 0, 215, 210, 218,
- 219, 212, 0, 0, 398, 217, 216, 0, 215, 0,
- 218, 0, 213, 0, 214, 209, 0, 0, 211, 0,
- 0, 0, 0, 213, 0, 214, 209, 200, 201, 202,
- 203, 204, 205, 206, 207, 219, 212, 0, 0, 400,
- 217, 216, 0, 215, 0, 218, 211, 0, 210, 200,
- 201, 202, 203, 204, 205, 0, 0, 211, 213, 0,
- 214, 209, 0, 219, 212, 0, 0, 0, 217, 216,
- 0, 215, 0, 218, 219, 212, 210, 0, 0, 217,
- 216, 0, 215, 0, 218, 0, 213, 210, 214, 209,
- 0, 0, 211, 0, 0, 0, 0, 213, 0, 214,
- 0, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 79, 0, 0, 79, 0, 79, 79, 79, 0, 0,
- 211, 0, 210, 0, 0, 0, 0, 0, 0, 0,
- 79, 211, 79, 0, 79, 79, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 0, 0, 0, 78, 0,
- 210, 78, 0, 78, 78, 78, 75, 0, 0, 75,
- 0, 210, 75, 0, 0, 79, 79, 0, 78, 0,
- 78, 0, 78, 78, 0, 0, 75, 0, 75, 0,
- 75, 75, 0, 0, 0, 0, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 0, 79, 0, 0, 0,
- 0, 0, 0, 78, 78, 0, 0, 0, 0, 0,
- 0, 75, 75, 0, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 0, 0, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 78, 0, 0, 0, 0, 0,
- 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 0,
- 0, 0, 0, 219, 212, 0, 0, 0, 217, 216,
- 0, 215, 0, 218, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 206, 207, 213, 0, 214, 200,
- 201, 202, 203, 204, 205, 206, 207, 86, 0, 0,
- 86, 0, 0, 86, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 86, 0, 86,
- 211, 86, 86, 0, 79, 79, 79, 79, 79, 79,
- 79, 79, 0, 0, 87, 0, 0, 87, 0, 0,
- 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 210, 0, 86, 86, 87, 0, 87, 0, 87, 87,
- 0, 0, 78, 78, 78, 78, 78, 78, 78, 78,
- 75, 75, 75, 75, 75, 75, 75, 75, 82, 0,
- 0, 82, 0, 86, 82, 0, 0, 0, 83, 87,
- 87, 83, 0, 0, 83, 0, 0, 0, 82, 0,
- 82, 84, 82, 82, 84, 0, 0, 84, 83, 0,
- 83, 85, 83, 83, 85, 0, 0, 85, 0, 0,
- 87, 84, 219, 212, 0, 0, 84, 217, 216, 0,
- 215, 85, 218, 82, 82, 0, 85, 0, 0, 0,
- 0, 0, 0, 83, 83, 213, 0, 214, 0, 0,
- 0, 0, 0, 219, 212, 0, 84, 84, 217, 216,
- 0, 215, 0, 218, 82, 0, 85, 85, 0, 0,
- 0, 0, 0, 0, 83, 0, 213, 364, 214, 211,
- 0, 0, 117, 0, 0, 0, 0, 84, 200, 201,
- 202, 203, 204, 205, 206, 113, 115, 85, 116, 114,
- 0, 117, 0, 0, 0, 0, 0, 0, 0, 210,
- 0, 365, 0, 324, 113, 115, 117, 116, 114, 0,
- 366, 86, 86, 86, 86, 117, 0, 86, 86, 113,
- 115, 380, 116, 114, 0, 0, 117, 0, 113, 115,
- 0, 116, 114, 0, 0, 0, 0, 0, 0, 113,
- 115, 383, 116, 114, 0, 0, 117, 0, 87, 87,
- 87, 87, 384, 0, 87, 87, 0, 117, 0, 113,
- 115, 0, 116, 114, 241, 0, 117, 0, 0, 0,
- 113, 115, 0, 116, 114, 0, 0, 0, 0, 113,
- 115, 0, 116, 114, 0, 0, 0, 0, 0, 0,
- 0, 0, 82, 82, 82, 82, 0, 117, 82, 82,
- 0, 0, 83, 83, 83, 83, 0, 0, 83, 83,
- 113, 115, 0, 116, 114, 84, 84, 0, 0, 0,
- 0, 84, 84, 0, 0, 85, 85, 0, 376, 0,
- 117, 85, 85, 0, 0, 0, 0, 200, 201, 202,
- 203, 204, 205, 113, 115, 0, 116, 114, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 200, 201,
- 202, 203, 204, 205, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 108, 109,
- 110, 111, 0, 0, 0, 0, 112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 108, 109, 110,
- 111, 0, 0, 0, 0, 112, 0, 0, 0, 0,
- 0, 0, 108, 109, 110, 111, 0, 0, 0, 0,
- 112, 108, 109, 110, 111, 0, 0, 0, 0, 112,
- 0, 0, 108, 109, 110, 111, 0, 0, 0, 0,
- 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 108, 109, 110, 111, 0, 0, 0, 0,
- 112, 0, 0, 108, 109, 110, 111, 0, 0, 0,
- 0, 112, 108, 109, 110, 111, 0, 0, 0, 0,
- 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 108, 109, 110, 111, 0, 0, 0,
- 0, 112, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 108, 109, 110, 111,
- 0, 0, 0, 0, 112,
-};
-short parsercheck[] = { 29,
- 0, 61, 41, 40, 40, 35, 36, 37, 61, 39,
- 61, 40, 37, 38, 40, 91, 41, 42, 43, 44,
- 45, 40, 47, 41, 37, 38, 44, 259, 40, 42,
- 43, 91, 45, 58, 47, 60, 40, 62, 63, 0,
- 91, 41, 260, 41, 44, 38, 44, 60, 41, 62,
- 41, 44, 91, 44, 41, 40, 37, 44, 58, 59,
- 46, 42, 43, 63, 45, 58, 47, 40, 93, 94,
- 63, 101, 102, 103, 60, 105, 62, 40, 40, 37,
- 41, 94, 261, 44, 42, 43, 37, 45, 40, 47,
- 261, 42, 40, 40, 40, 40, 47, 58, 59, 124,
- 93, 94, 63, 40, 40, 40, 40, 137, 138, 139,
- 140, 141, 142, 143, 144, 145, 91, 41, 148, 40,
- 44, 40, 40, 40, 40, 125, 40, 40, 40, 40,
- 40, 124, 40, 40, 58, 40, 166, 167, 168, 63,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
- 180, 181, 46, 40, 40, 185, 186, 187, 188, 189,
- 190, 191, 192, 193, 125, 40, 60, 40, 62, 93,
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 0, 33, 46, 41, 41, 40, 44, 44, 40, 40,
- 124, 40, 40, 45, 234, 40, 60, 40, 62, 239,
- 58, 58, 40, 23, 40, 63, 63, 40, 28, 40,
- 30, 31, 32, 33, 34, 40, 40, 280, 40, 40,
- 40, 41, 42, 0, 40, 40, 40, 262, 263, 264,
- 265, 266, 267, 268, 269, 93, 93, 40, 46, 262,
- 263, 264, 265, 266, 267, 260, 41, 260, 260, 61,
- 41, 260, 262, 263, 260, 36, 260, 41, 260, 40,
- 270, 260, 0, 41, 41, 268, 269, 44, 264, 265,
- 260, 123, 260, 260, 126, 266, 267, 41, 260, 260,
- 260, 58, 59, 260, 104, 61, 63, 41, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 46, 270,
- 41, 41, 41, 41, 41, 41, 44, 41, 46, 41,
- 350, 59, 60, 41, 62, 63, 356, 41, 61, 41,
- 58, 59, 60, 363, 62, 63, 0, 44, 44, 41,
- 41, -1, 44, 44, 268, 269, 376, 377, -1, -1,
- 41, 381, 123, 44, -1, 385, 58, 58, 125, 169,
- 41, 63, 63, 44, 394, -1, -1, 58, 262, 263,
- 264, 265, 182, 183, 184, -1, 41, 58, 41, 44,
- -1, 44, 63, -1, 194, -1, 41, 125, -1, 44,
- -1, 93, 93, 58, -1, 58, -1, 125, 63, -1,
- 63, -1, 93, 58, -1, -1, -1, -1, 262, 263,
- 264, 265, 93, -1, -1, 257, 270, -1, 260, 261,
- 268, 269, 269, 233, -1, -1, -1, -1, 93, 94,
- 93, 241, 242, -1, -1, 245, 278, 279, 93, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 297, 298, 299, 0, 124,
- -1, 303, 304, 305, 306, 307, 308, 309, 310, 311,
- 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
- 322, 323, 324, 325, 326, 327, 328, 258, -1, 260,
- 261, 333, 334, 335, -1, 262, 263, 339, 340, 41,
- 342, -1, 44, 270, 46, 271, 272, 273, 274, 275,
- 276, 277, 278, 279, 324, 325, 58, 59, 60, -1,
- 62, 63, -1, -1, 262, 263, 264, 265, -1, 300,
- 301, 302, 270, -1, 262, 263, 264, 265, 0, -1,
- -1, -1, 270, -1, -1, 316, 317, 318, 319, 0,
- -1, -1, -1, -1, -1, -1, -1, 328, 329, 330,
- 331, 332, -1, -1, -1, 336, 337, 338, -1, 0,
- 341, -1, 343, 344, 345, -1, 0, -1, 0, 41,
- -1, -1, 44, 125, 46, -1, -1, -1, -1, 0,
- 41, -1, -1, 44, -1, 46, 58, 59, 60, -1,
- 62, 63, 0, 268, 269, -1, -1, 58, 59, 60,
- 41, 62, 63, 44, -1, 46, -1, 41, -1, 41,
- 44, -1, 44, -1, 46, 0, -1, 58, 59, 60,
- 41, 62, 63, 44, 58, 59, 58, 59, 60, 46,
- 62, 63, -1, 41, -1, -1, 44, 58, 59, 60,
- -1, 62, 63, 60, 41, 62, 63, 44, 0, 46,
- 58, 59, 60, 125, 62, 63, 41, -1, -1, 44,
- -1, 0, 59, 60, 125, 62, 63, -1, -1, -1,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, 125, -1, -1, -1, -1, 41,
- -1, 125, 44, 125, -1, -1, -1, -1, -1, -1,
- -1, -1, 41, -1, 125, 44, 58, 59, -1, -1,
- 262, 263, 264, 265, -1, -1, -1, 125, 270, 58,
- 59, 60, -1, 62, 63, 37, 38, -1, -1, 41,
- 42, 43, 44, 45, -1, 47, 0, -1, -1, -1,
- 125, -1, -1, -1, -1, -1, 58, -1, 60, -1,
- 62, 63, -1, 37, 38, -1, -1, 41, 42, 43,
- 44, 45, -1, 47, -1, -1, 41, 41, -1, 44,
- 44, -1, -1, 125, -1, -1, 60, 41, 62, 63,
- 44, 93, 94, 58, 58, -1, 125, -1, 63, 63,
- 262, 263, 264, 265, 58, 59, -1, -1, 270, 63,
- -1, 262, 263, 264, 265, -1, -1, -1, -1, 270,
- 94, -1, 124, -1, -1, -1, -1, 41, 93, 93,
- 44, 262, 263, 264, 265, -1, -1, -1, -1, 270,
- 262, 263, 264, 265, 58, -1, -1, -1, 270, 63,
- 124, 262, 263, 264, 265, 262, 263, 264, 265, 270,
- -1, -1, -1, 270, 262, 263, 264, 265, -1, -1,
- -1, 125, 270, -1, -1, 262, 263, 264, 265, 93,
- -1, -1, -1, 270, -1, -1, 41, 262, 263, 264,
- 265, 46, 37, 38, -1, 270, 41, 42, 43, 44,
- 45, -1, 47, -1, 59, 60, -1, 62, 63, -1,
- 0, -1, -1, 58, -1, 60, -1, 62, 63, 37,
- 38, -1, -1, 41, 42, 43, 44, 45, -1, 47,
- -1, -1, -1, 262, 263, 264, 265, -1, -1, -1,
- 58, 270, 60, -1, 62, 63, -1, -1, 93, 94,
- -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
- 262, 263, 264, 265, 266, 267, 268, 269, 58, 59,
- -1, -1, -1, 63, -1, 93, 94, 37, 38, 124,
- -1, 41, 42, 43, 44, 45, -1, 47, 262, 263,
- 264, 265, 266, 267, 268, 269, -1, -1, 58, -1,
- 60, -1, 62, 63, 37, 38, 124, -1, -1, 42,
- 43, 44, 45, -1, 47, 37, 38, -1, -1, 41,
- 42, 43, 44, 45, -1, 47, -1, 60, -1, 62,
- 63, -1, -1, 93, 94, 125, -1, -1, 60, -1,
- 62, 63, 37, 38, -1, -1, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
- 93, 94, -1, -1, 124, 60, -1, 62, 63, 37,
- 38, -1, 94, 41, 42, 43, 44, 45, -1, 47,
- 37, 38, -1, -1, -1, 42, 43, 44, 45, -1,
- 47, 124, 60, -1, 62, 63, -1, -1, -1, 94,
- -1, -1, 124, 60, -1, 62, 63, 262, 263, 264,
- 265, 41, -1, -1, 44, 270, -1, 262, 263, 264,
- 265, 266, 267, 268, 269, -1, 94, -1, 58, 124,
- -1, -1, -1, 63, -1, -1, 93, 94, -1, -1,
- -1, -1, -1, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, -1, -1, 124, -1, 41, 41,
- -1, 44, 44, 93, 37, 38, -1, 124, 41, 42,
- 43, 44, 45, -1, 47, 58, 58, -1, -1, -1,
- 63, 63, -1, -1, -1, -1, -1, 60, -1, 62,
- 63, 37, 38, -1, -1, 41, 42, 43, 44, 45,
- -1, 47, 262, 263, 264, 265, 266, 267, 268, 269,
- 93, 93, -1, -1, 60, -1, 62, 63, 0, -1,
- -1, 94, -1, -1, -1, -1, -1, -1, -1, 262,
- 263, 264, 265, 266, 267, 268, 269, 44, -1, 46,
- 262, 263, 264, 265, 266, 267, 268, 269, 94, -1,
- -1, 124, 59, 60, -1, 62, 63, -1, -1, 41,
- 38, -1, 44, 41, -1, -1, 44, 262, 263, 264,
- 265, 266, 267, 268, 269, -1, 58, 59, 124, -1,
- 58, 63, 60, -1, 62, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, -1, 262, 263, 264, 265, 266,
- 267, 268, 269, 37, 38, 93, 94, -1, 42, 43,
- 44, 45, -1, 47, 37, 38, -1, -1, 41, 42,
- 43, 44, 45, -1, 47, -1, 60, -1, 62, 63,
- -1, -1, -1, 125, -1, -1, 124, 60, -1, 62,
- 63, 37, 38, -1, -1, 41, 42, 43, 44, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, 93,
- 94, -1, -1, -1, 60, -1, 62, 63, 37, 38,
- -1, 94, 41, 42, 43, 44, 45, -1, 47, 262,
- 263, 264, 265, 266, 267, 268, 269, -1, -1, -1,
- 124, 60, -1, 62, 63, -1, -1, -1, 94, -1,
- -1, 124, -1, -1, -1, -1, 262, 263, 264, 265,
- 266, 267, 268, 269, 37, 38, -1, -1, 41, 42,
- 43, 44, 45, -1, 47, 94, 37, 38, 124, -1,
- 41, 42, 43, 44, 45, -1, 47, 60, 41, 62,
- 63, -1, -1, 46, -1, 262, 263, 264, 265, 60,
- -1, 62, 63, 270, -1, 124, 59, 60, -1, 62,
- 63, -1, 37, 38, -1, -1, 41, 42, 43, 44,
- 45, 94, 47, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, 94, -1, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 37, 38,
- -1, 124, 41, 42, 43, 44, 45, -1, 47, -1,
- -1, -1, -1, 124, -1, -1, -1, -1, -1, 94,
- -1, 60, -1, 62, 63, -1, -1, -1, 262, 263,
- 264, 265, 266, 267, 268, 269, -1, -1, -1, 262,
- 263, 264, 265, 266, 267, 268, 269, 0, -1, 124,
- -1, -1, -1, -1, -1, 94, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 262, 263, 264, 265,
- 266, 267, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 124, -1, -1, 41, -1,
- -1, 44, -1, 262, 263, 264, 265, 266, 267, 268,
- 269, -1, -1, -1, -1, 58, 59, -1, 37, 38,
- 63, -1, 41, 42, 43, 44, 45, -1, 47, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 60, -1, 62, 63, -1, -1, -1, -1, 262,
- 263, 264, 265, 266, 267, 268, 269, -1, -1, -1,
- -1, 262, 263, 264, 265, 266, 267, 268, 269, 262,
- 263, 264, 265, -1, -1, 94, -1, 270, -1, -1,
- -1, -1, 125, -1, 37, 38, -1, -1, 41, 42,
- 43, 44, 45, -1, 47, -1, -1, 262, 263, 264,
- 265, 266, 267, 268, 269, 124, -1, 60, -1, 62,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, 37,
- 38, -1, -1, 41, 42, 43, 44, 45, -1, 47,
- -1, -1, -1, 262, 263, 264, 265, 266, 267, 268,
- 269, 94, 60, -1, 62, 63, 46, 37, 38, -1,
- -1, 41, 42, 43, 44, 45, -1, 47, -1, 59,
- 60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
- 60, 124, 62, 63, 37, 38, 94, -1, 41, 42,
- 43, 44, 45, -1, 47, 37, 38, -1, -1, 41,
- 42, 43, 44, 45, -1, 47, -1, 60, -1, 62,
- 63, -1, -1, -1, 94, -1, 124, -1, 60, -1,
- 62, 63, 37, 38, -1, -1, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, 125, -1, -1, -1, -1,
- -1, 94, -1, -1, 124, 60, -1, 62, 63, -1,
- -1, -1, 94, 262, 263, 264, 265, 266, 267, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 124, -1, -1, -1, -1, -1, -1, -1, 94,
- 37, 38, 124, -1, 41, 42, 43, 44, 45, -1,
- 47, 37, 38, -1, -1, 41, 42, 43, 44, 45,
- -1, 47, -1, 60, -1, 62, 63, -1, -1, 124,
- -1, -1, -1, -1, 60, -1, 62, 63, -1, 262,
- 263, 264, 265, 266, 267, 268, 269, -1, 37, -1,
- -1, -1, -1, 42, 43, -1, 45, 94, 47, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
- -1, 60, -1, 62, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, -1, -1, -1, 124, -1, -1,
- -1, -1, 262, 263, 264, 265, 41, -1, 124, -1,
- 270, 46, 262, 263, 264, 265, 266, 267, 268, 269,
- -1, -1, -1, -1, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 262,
- 263, 264, 265, 266, 267, 268, 269, -1, -1, -1,
- 262, 263, 264, 265, 266, 267, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 262, 263, 264,
- 265, 266, 267, 268, 269, -1, 37, 38, -1, -1,
- 41, 42, 43, 44, 45, -1, 47, 37, 38, -1,
- -1, 41, 42, 43, 44, 45, -1, 47, -1, 60,
- -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
- 60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 262, 263, 264, 265, 266,
- 267, 268, 269, 94, -1, -1, 262, 263, 264, 265,
- 266, 267, 268, 269, 94, 37, 38, -1, -1, 41,
- 42, 43, 44, 45, -1, 47, -1, -1, -1, 37,
- 38, -1, -1, 124, 42, 43, 44, 45, 60, 47,
- 62, 63, -1, -1, 124, 264, 265, 266, 267, -1,
- -1, -1, 60, -1, 62, 63, 37, 38, -1, -1,
- -1, 42, 43, 44, 45, -1, 47, -1, 37, 38,
- -1, -1, 94, 42, 43, 44, 45, 58, 47, 60,
- -1, 62, 63, -1, -1, 93, 94, 262, 263, 264,
- 265, 60, -1, 62, 63, 270, -1, -1, -1, -1,
- -1, -1, 124, -1, 37, 38, -1, -1, 41, 42,
- 43, 44, 45, 94, 47, -1, 124, -1, -1, 44,
- -1, 46, -1, -1, 93, 94, -1, 60, -1, 62,
- 63, -1, -1, -1, 59, 60, -1, 62, 63, 37,
- 38, -1, -1, 124, 42, 43, 44, 45, -1, 47,
- -1, -1, -1, -1, -1, 124, -1, -1, -1, -1,
- -1, 94, 60, -1, 62, 63, -1, -1, -1, -1,
- -1, 262, 263, 264, 265, 266, 267, 268, 269, -1,
- -1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
- -1, 124, 37, 38, -1, -1, 94, 42, 43, 44,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 37, 60, -1, 62, 63, 42,
- 43, -1, 45, -1, 47, -1, 124, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
- 262, 263, 264, 265, 266, 267, 268, 269, -1, 94,
- -1, -1, -1, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, -1, -1, 37, 38, -1, -1,
- -1, 42, 43, 44, 45, -1, 47, -1, -1, 124,
- -1, 262, 263, 264, 265, 266, 267, 268, 269, 60,
- -1, 62, 63, 262, 263, 264, 265, 266, 267, 268,
- 269, 37, 38, -1, -1, -1, 42, 43, 44, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 94, 60, -1, 62, 63, -1, 262,
- 263, 264, 265, 266, 267, 268, 269, 262, 263, 264,
- 265, -1, -1, -1, -1, 270, -1, -1, -1, -1,
- -1, 37, 38, 124, -1, 41, 42, 43, 94, 45,
- -1, 47, -1, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, 60, -1, 62, 63, -1, 37,
- 38, -1, -1, 41, 42, 43, -1, 45, 124, 47,
- 37, 38, -1, -1, 41, 42, 43, -1, 45, -1,
- 47, -1, 60, -1, 62, 63, -1, -1, 94, -1,
- -1, -1, -1, 60, -1, 62, 63, 262, 263, 264,
- 265, 266, 267, 268, 269, 37, 38, -1, -1, 41,
- 42, 43, -1, 45, -1, 47, 94, -1, 124, 262,
- 263, 264, 265, 266, 267, -1, -1, 94, 60, -1,
- 62, 63, -1, 37, 38, -1, -1, -1, 42, 43,
- -1, 45, -1, 47, 37, 38, 124, -1, -1, 42,
- 43, -1, 45, -1, 47, -1, 60, 124, 62, 63,
- -1, -1, 94, -1, -1, -1, -1, 60, -1, 62,
- -1, 262, 263, 264, 265, 266, 267, 268, 269, -1,
- 38, -1, -1, 41, -1, 43, 44, 45, -1, -1,
- 94, -1, 124, -1, -1, -1, -1, -1, -1, -1,
- 58, 94, 60, -1, 62, 63, 262, 263, 264, 265,
- 266, 267, 268, 269, -1, -1, -1, -1, 38, -1,
- 124, 41, -1, 43, 44, 45, 38, -1, -1, 41,
- -1, 124, 44, -1, -1, 93, 94, -1, 58, -1,
- 60, -1, 62, 63, -1, -1, 58, -1, 60, -1,
- 62, 63, -1, -1, -1, -1, 262, 263, 264, 265,
- 266, 267, 268, 269, -1, -1, 124, -1, -1, -1,
- -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
- -1, 93, 94, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, -1, 262, 263, 264, 265, 266,
- 267, 268, 269, -1, 124, -1, -1, -1, -1, -1,
- -1, -1, 124, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 262, 263, 264, 265, 266, 267, 268, 269, -1, -1,
- -1, -1, -1, 37, 38, -1, -1, -1, 42, 43,
- -1, 45, -1, 47, -1, -1, -1, -1, 262, 263,
- 264, 265, 266, 267, 268, 269, 60, -1, 62, 262,
- 263, 264, 265, 266, 267, 268, 269, 38, -1, -1,
- 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 58, -1, 60,
- 94, 62, 63, -1, 262, 263, 264, 265, 266, 267,
- 268, 269, -1, -1, 38, -1, -1, 41, -1, -1,
- 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 124, -1, 93, 94, 58, -1, 60, -1, 62, 63,
- -1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
- 262, 263, 264, 265, 266, 267, 268, 269, 38, -1,
- -1, 41, -1, 124, 44, -1, -1, -1, 38, 93,
- 94, 41, -1, -1, 44, -1, -1, -1, 58, -1,
- 60, 38, 62, 63, 41, -1, -1, 44, 58, -1,
- 60, 38, 62, 63, 41, -1, -1, 44, -1, -1,
- 124, 58, 37, 38, -1, -1, 63, 42, 43, -1,
- 45, 58, 47, 93, 94, -1, 63, -1, -1, -1,
- -1, -1, -1, 93, 94, 60, -1, 62, -1, -1,
- -1, -1, -1, 37, 38, -1, 93, 94, 42, 43,
- -1, 45, -1, 47, 124, -1, 93, 94, -1, -1,
- -1, -1, -1, -1, 124, -1, 60, 41, 62, 94,
- -1, -1, 46, -1, -1, -1, -1, 124, 262, 263,
- 264, 265, 266, 267, 268, 59, 60, 124, 62, 63,
- -1, 46, -1, -1, -1, -1, -1, -1, -1, 124,
- -1, 41, -1, 58, 59, 60, 46, 62, 63, -1,
- 41, 262, 263, 264, 265, 46, -1, 268, 269, 59,
- 60, 41, 62, 63, -1, -1, 46, -1, 59, 60,
- -1, 62, 63, -1, -1, -1, -1, -1, -1, 59,
- 60, 41, 62, 63, -1, -1, 46, -1, 262, 263,
- 264, 265, 41, -1, 268, 269, -1, 46, -1, 59,
- 60, -1, 62, 63, 44, -1, 46, -1, -1, -1,
- 59, 60, -1, 62, 63, -1, -1, -1, -1, 59,
- 60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, 262, 263, 264, 265, -1, 46, 268, 269,
- -1, -1, 262, 263, 264, 265, -1, -1, 268, 269,
- 59, 60, -1, 62, 63, 262, 263, -1, -1, -1,
- -1, 268, 269, -1, -1, 262, 263, -1, 44, -1,
- 46, 268, 269, -1, -1, -1, -1, 262, 263, 264,
- 265, 266, 267, 59, 60, -1, 62, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 262, 263,
- 264, 265, 266, 267, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 262, 263,
- 264, 265, -1, -1, -1, -1, 270, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 262, 263, 264,
- 265, -1, -1, -1, -1, 270, -1, -1, -1, -1,
- -1, -1, 262, 263, 264, 265, -1, -1, -1, -1,
- 270, 262, 263, 264, 265, -1, -1, -1, -1, 270,
- -1, -1, 262, 263, 264, 265, -1, -1, -1, -1,
- 270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 262, 263, 264, 265, -1, -1, -1, -1,
- 270, -1, -1, 262, 263, 264, 265, -1, -1, -1,
- -1, 270, 262, 263, 264, 265, -1, -1, -1, -1,
- 270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 262, 263, 264, 265, -1, -1, -1,
- -1, 270, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 262, 263, 264, 265,
- -1, -1, -1, -1, 270,
-};
-#define YYFINAL 26
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 346
-#if YYDEBUG
-char *parsername[] = {
-"end-of-file",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,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,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,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,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,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,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,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,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,0,0,0,0,0,0,"NUMBER",
-"STRING","SYMBOL","FIELD","VAR","EQ","NEQ","LE","GE","SHR","SHL","AND","OR",
-"IN","PLA","MIA","MUA","MOA","DVA","ANA","ORA","INC","DEC_","APP","AVG","DEV",
-"AMIN","AMAX","SUM","QAVG","QDEV","QMIN_","QMAX_","QSUM","SAVG","SDEV","SMIN",
-"SMAX","SSUM","ABS","INT","BOUND","LEN","CHOP","TR","SUBSTR","SQRT","EXP","LOG",
-"LN","POW","RANDOM","SIN","COS","TAN","ASIN","ACOS","ATAN","ATAN2","DATE",
-"TIME","DURATION","EXPAND","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","LEAP",
-"JULIAN","SECTION_","DBASE_","FORM_","PREVFORM","SWITCH","THIS","LAST","DISP",
-"FOREACH","HOST","USER","UID","GID","SYSTEM","ACCESS","BEEP","ERROR","PRINTF",
-"UMINUS",
-};
-char *parserrule[] = {
-"$accept : stmt",
-"stmt : string",
-"string : STRING",
-"string : '{' string '}'",
-"string : string ';' string",
-"string : string '.' string",
-"string : VAR",
-"string : VAR APP string",
-"string : VAR '=' string",
-"string : '(' number ')'",
-"string : string '?' string ':' string",
-"string : string '<' string",
-"string : string '>' string",
-"string : string EQ string",
-"string : string NEQ string",
-"string : string LE string",
-"string : string GE string",
-"string : string IN string",
-"string : FIELD",
-"string : FIELD '[' number ']'",
-"string : FIELD '=' string",
-"string : FIELD '[' number ']' '=' string",
-"string : SYSTEM '(' string ')'",
-"string : '$' SYMBOL",
-"string : CHOP '(' string ')'",
-"string : TR '(' string ',' string ')'",
-"string : SUBSTR '(' string ',' number ',' number ')'",
-"string : HOST",
-"string : USER",
-"string : PREVFORM",
-"string : SECTION_",
-"string : SECTION_ '[' number ']'",
-"string : FORM_",
-"string : DBASE_",
-"string : SWITCH '(' string ',' string ')'",
-"string : FOREACH '(' string ')'",
-"string : FOREACH '(' string ',' string ')'",
-"string : TIME",
-"string : DATE",
-"string : TIME '(' number ')'",
-"string : DATE '(' number ')'",
-"string : DURATION '(' number ')'",
-"string : EXPAND '(' FIELD ')'",
-"string : EXPAND '(' FIELD '[' number ']' ')'",
-"string : PRINTF '(' args ')'",
-"string : BEEP",
-"string : ERROR '(' args ')'",
-"args : string",
-"args : args ',' string",
-"number : NUMBER",
-"number : '{' string '}'",
-"number : '(' number ')'",
-"number : FIELD",
-"number : FIELD '[' number ']'",
-"number : FIELD '=' number",
-"number : FIELD '[' number ']' '=' number",
-"number : VAR",
-"number : VAR '=' number",
-"number : VAR PLA number",
-"number : VAR MIA number",
-"number : VAR MUA number",
-"number : VAR DVA number",
-"number : VAR MOA number",
-"number : VAR ANA number",
-"number : VAR ORA number",
-"number : VAR INC",
-"number : VAR DEC_",
-"number : INC VAR",
-"number : DEC_ VAR",
-"number : '-' number",
-"number : '!' number",
-"number : '~' number",
-"number : number '&' number",
-"number : number '^' number",
-"number : number '|' number",
-"number : number SHL number",
-"number : number SHR number",
-"number : number '%' number",
-"number : number '+' number",
-"number : number '-' number",
-"number : number '*' number",
-"number : number '/' number",
-"number : number '<' number",
-"number : number '>' number",
-"number : number EQ number",
-"number : number NEQ number",
-"number : number LE number",
-"number : number GE number",
-"number : number AND number",
-"number : number OR number",
-"number : number '?' number ':' number",
-"number : number ',' number",
-"number : THIS",
-"number : LAST",
-"number : DISP",
-"number : AVG '(' FIELD ')'",
-"number : DEV '(' FIELD ')'",
-"number : AMIN '(' FIELD ')'",
-"number : AMAX '(' FIELD ')'",
-"number : SUM '(' FIELD ')'",
-"number : QAVG '(' FIELD ')'",
-"number : QDEV '(' FIELD ')'",
-"number : QMIN_ '(' FIELD ')'",
-"number : QMAX_ '(' FIELD ')'",
-"number : QSUM '(' FIELD ')'",
-"number : SAVG '(' FIELD ')'",
-"number : SDEV '(' FIELD ')'",
-"number : SMIN '(' FIELD ')'",
-"number : SMAX '(' FIELD ')'",
-"number : SSUM '(' FIELD ')'",
-"number : ABS '(' number ')'",
-"number : INT '(' number ')'",
-"number : BOUND '(' number ',' number ',' number ')'",
-"number : LEN '(' string ')'",
-"number : SQRT '(' number ')'",
-"number : EXP '(' number ')'",
-"number : LOG '(' number ')'",
-"number : LN '(' number ')'",
-"number : POW '(' number ',' number ')'",
-"number : RANDOM",
-"number : SIN '(' number ')'",
-"number : COS '(' number ')'",
-"number : TAN '(' number ')'",
-"number : ASIN '(' number ')'",
-"number : ACOS '(' number ')'",
-"number : ATAN '(' number ')'",
-"number : ATAN2 '(' number ',' number ')'",
-"number : SECTION_",
-"number : SECTION_ '[' number ']'",
-"number : DATE",
-"number : DATE '(' string ')'",
-"number : TIME '(' string ')'",
-"number : DURATION '(' string ')'",
-"number : YEAR '(' number ')'",
-"number : MONTH '(' number ')'",
-"number : DAY '(' number ')'",
-"number : HOUR '(' number ')'",
-"number : MINUTE '(' number ')'",
-"number : SECOND '(' number ')'",
-"number : JULIAN '(' number ')'",
-"number : LEAP '(' number ')'",
-"number : UID",
-"number : GID",
-"number : ACCESS '(' string ',' number ')'",
-};
-#endif
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
-#endif
-int yydebug;
-int yynerrs;
-int yyerrflag;
-int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
-YYSTYPE yyval;
-YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-int
-yyparse(void)
-{
- register int yym, yyn, yystate;
-#if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
-yyloop:
- if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
-#ifdef lint
- goto yynewerror;
-#endif
-yynewerror:
- yyerror("syntax error");
-#ifdef lint
- goto yyerrlab;
-#endif
-yyerrlab:
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yyssp);
-#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = (-1);
- goto yyloop;
- }
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
-case 1:
-#line 71 "parser.y"
-{ yyret = yyvsp[0].sval; }
-break;
-case 2:
-#line 74 "parser.y"
-{ yyval.sval = yyvsp[0].sval; }
-break;
-case 3:
-#line 75 "parser.y"
-{ yyval.sval = yyvsp[-1].sval; }
-break;
-case 4:
-#line 76 "parser.y"
-{ yyval.sval = yyvsp[0].sval; f_free(yyvsp[-2].sval); }
-break;
-case 5:
-#line 77 "parser.y"
-{ char *s=yyvsp[-2].sval, *t=yyvsp[0].sval, *r=new
- char[f_len(s)+f_len(t)+1]; *r=0;
- if (s) strcpy(r, s); f_free(s);
- if (t) strcat(r, t); f_free(t);
- yyval.sval = r; }
-break;
-case 6:
-#line 82 "parser.y"
-{ yyval.sval = f_getsvar(yyvsp[0].ival); }
-break;
-case 7:
-#line 83 "parser.y"
-{ int v=yyvsp[-2].ival;
- char *s=f_getsvar(v), *t=yyvsp[0].sval, *r=new
- char[f_len(s)+f_len(t)+1]; *r=0;
- if (s) strcpy(r, s); f_free(s);
- if (t) strcat(r, t); f_free(t);
- yyval.sval = f_setsvar(v, r); }
-break;
-case 8:
-#line 89 "parser.y"
-{ yyval.sval = f_setsvar(yyvsp[-2].ival, yyvsp[0].sval);}
-break;
-case 9:
-#line 90 "parser.y"
-{ yyval.sval = f_str(yyvsp[-1].dval); }
-break;
-case 10:
-#line 91 "parser.y"
-{ yyval.sval = f_num(yyvsp[-4].sval) ? yyvsp[-2].sval : yyvsp[0].sval; }
-break;
-case 11:
-#line 92 "parser.y"
-{ yyval.sval = f_str((double)
- (f_cmp(yyvsp[-2].sval, yyvsp[0].sval) < 0));}
-break;
-case 12:
-#line 94 "parser.y"
-{ yyval.sval = f_str((double)
- (f_cmp(yyvsp[-2].sval, yyvsp[0].sval) > 0));}
-break;
-case 13:
-#line 96 "parser.y"
-{ yyval.sval = f_str((double)
- (f_cmp(yyvsp[-2].sval, yyvsp[0].sval) == 0));}
-break;
-case 14:
-#line 98 "parser.y"
-{ yyval.sval = f_str((double)
- (f_cmp(yyvsp[-2].sval, yyvsp[0].sval) != 0));}
-break;
-case 15:
-#line 100 "parser.y"
-{ yyval.sval = f_str((double)
- (f_cmp(yyvsp[-2].sval, yyvsp[0].sval) <= 0));}
-break;
-case 16:
-#line 102 "parser.y"
-{ yyval.sval = f_str((double)
- (f_cmp(yyvsp[-2].sval, yyvsp[0].sval) >= 0));}
-break;
-case 17:
-#line 104 "parser.y"
-{ yyval.sval = f_str((double)f_instr(yyvsp[-2].sval, yyvsp[0].sval));}
-break;
-case 18:
-#line 105 "parser.y"
-{ yyval.sval = f_field(yyvsp[0].ival,database->getrow());}
-break;
-case 19:
-#line 106 "parser.y"
-{ yyval.sval = f_field(yyvsp[-3].ival, (int)yyvsp[-1].dval); }
-break;
-case 20:
-#line 107 "parser.y"
-{ yyval.sval = f_assign(yyvsp[-2].ival,
- database->getrow(), yyvsp[0].sval);
- assigned = 1; }
-break;
-case 21:
-#line 111 "parser.y"
-{ yyval.sval = f_assign(yyvsp[-5].ival, (int)yyvsp[-3].dval, yyvsp[0].sval);
- assigned = 1; }
-break;
-case 22:
-#line 113 "parser.y"
-{ yyval.sval = f_system(yyvsp[-1].sval); }
-break;
-case 23:
-#line 114 "parser.y"
-{ yyval.sval = copystring(getenv(yyvsp[0].sval)); }
-break;
-case 24:
-#line 115 "parser.y"
-{ char *s=yyvsp[-1].sval; if (s) { int n=strlen(s);
- if (n && s[n-1]=='\n') s[n-1] = 0; }
- yyval.sval = s; }
-break;
-case 25:
-#line 118 "parser.y"
-{ yyval.sval = f_tr(yyvsp[-3].sval, yyvsp[-1].sval); }
-break;
-case 26:
-#line 120 "parser.y"
-{ yyval.sval = f_substr(yyvsp[-5].sval, (int)yyvsp[-3].dval, (int)yyvsp[-1].dval);}
-break;
-case 27:
-#line 121 "parser.y"
-{ char s[80]; if (gethostname(s, 80))
- *s=0; s[80-1]=0; yyval.sval = copystring(s);}
-break;
-case 28:
-#line 123 "parser.y"
-{ yyval.sval = copystring(getenv("USER")); }
-break;
-case 29:
-#line 124 "parser.y"
-{ yyval.sval = copystring(prev_form); }
-break;
-case 30:
-#line 125 "parser.y"
-{ yyval.sval = !database ? 0 : copystring(
- sections->at(sections->curr())->name);}
-break;
-case 31:
-#line 127 "parser.y"
-{ yyval.sval = copystring(sections->at(
- f_section((int)yyvsp[-1].dval))->name);}
-break;
-case 32:
-#line 129 "parser.y"
-{ yyval.sval = form && form->name ?
- copystring(resolve_tilde
- (form->memindex,
- form->name, "gf")):0;}
-break;
-case 33:
-#line 133 "parser.y"
-{ yyval.sval = form && form->dbase ?
- copystring(resolve_tilde
- (form->memindex,
- form->dbase,
- form->proc ?
- 0 : "db")) :0;}
-break;
-case 34:
-#line 140 "parser.y"
-{ char *name = yyvsp[-3].sval, *expr = yyvsp[-1].sval;
- f_free(switch_name);
- f_free(switch_expr);
- switch_name = copystring(name);
- switch_expr = copystring(expr);
- f_free(name); f_free(expr); yyval.sval = 0; }
-break;
-case 35:
-#line 146 "parser.y"
-{ f_foreach(0, yyvsp[-1].sval); yyval.sval = 0; }
-break;
-case 36:
-#line 148 "parser.y"
-{ f_foreach(yyvsp[-3].sval, yyvsp[-1].sval); yyval.sval = 0; }
-break;
-case 37:
-#line 149 "parser.y"
-{ yyval.sval = copystring(mktimestring
- (time(0), FALSE)); }
-break;
-case 38:
-#line 151 "parser.y"
-{ yyval.sval = copystring(mkdatestring
- (time(0))); }
-break;
-case 39:
-#line 153 "parser.y"
-{ yyval.sval = copystring(mktimestring
- ((time_t)yyvsp[-1].dval, FALSE)); }
-break;
-case 40:
-#line 155 "parser.y"
-{ yyval.sval = copystring(mkdatestring
- ((time_t)yyvsp[-1].dval)); }
-break;
-case 41:
-#line 157 "parser.y"
-{ yyval.sval = copystring(mktimestring
- ((time_t)yyvsp[-1].dval, TRUE)); }
-break;
-case 42:
-#line 159 "parser.y"
-{ yyval.sval = f_expand(yyvsp[-1].ival,
- database->getrow()); }
-break;
-case 43:
-#line 162 "parser.y"
-{ yyval.sval = f_expand(yyvsp[-4].ival, (int)yyvsp[-2].dval); }
-break;
-case 44:
-#line 163 "parser.y"
-{ yyval.sval = f_printf(yyvsp[-1].aval); }
-break;
-case 45:
-#line 164 "parser.y"
-{ /*<<< XBell(display, 0);*/ yyval.sval = 0; }
-break;
-case 46:
-#line 165 "parser.y"
-{ char *s = f_printf(yyvsp[-1].aval);
- QMessageBox::warning(0, "KGrok", s);
- f_free(s); yyval.sval = 0; }
-break;
-case 47:
-#line 170 "parser.y"
-{ yyval.aval = f_addarg(0, yyvsp[0].sval); }
-break;
-case 48:
-#line 171 "parser.y"
-{ yyval.aval = f_addarg(yyvsp[-2].aval, yyvsp[0].sval); }
-break;
-case 49:
-#line 174 "parser.y"
-{ yyval.dval = yyvsp[0].dval; }
-break;
-case 50:
-#line 175 "parser.y"
-{ yyval.dval = f_num(yyvsp[-1].sval); }
-break;
-case 51:
-#line 176 "parser.y"
-{ yyval.dval = yyvsp[-1].dval; }
-break;
-case 52:
-#line 177 "parser.y"
-{ yyval.dval = f_num(f_field(yyvsp[0].ival,
- database->getrow())); }
-break;
-case 53:
-#line 179 "parser.y"
-{ yyval.dval = f_num(f_field(yyvsp[-3].ival, (int)yyvsp[-1].dval)); }
-break;
-case 54:
-#line 180 "parser.y"
-{ f_free(f_assign(yyvsp[-2].ival, database->
- getrow(), f_str(yyval.dval = yyvsp[0].dval)));
- assigned = 1; }
-break;
-case 55:
-#line 184 "parser.y"
-{ f_free(f_assign(yyvsp[-5].ival, (int)yyvsp[-3].dval,
- f_str(yyval.dval = yyvsp[0].dval))); assigned = 1; }
-break;
-case 56:
-#line 186 "parser.y"
-{ yyval.dval = f_getnvar(yyvsp[0].ival); }
-break;
-case 57:
-#line 187 "parser.y"
-{ yyval.dval = f_setnvar(yyvsp[-2].ival, yyvsp[0].dval); }
-break;
-case 58:
-#line 188 "parser.y"
-{ int v = yyvsp[-2].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)+yyvsp[0].dval); }
-break;
-case 59:
-#line 190 "parser.y"
-{ int v = yyvsp[-2].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)-yyvsp[0].dval); }
-break;
-case 60:
-#line 192 "parser.y"
-{ int v = yyvsp[-2].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)*yyvsp[0].dval); }
-break;
-case 61:
-#line 194 "parser.y"
-{ int v = yyvsp[-2].ival; double d=yyvsp[0].dval; if(d==0)d=1;
- yyval.dval = f_setnvar(v, f_getnvar(v)/d); }
-break;
-case 62:
-#line 196 "parser.y"
-{ int v = yyvsp[-2].ival; double d=yyvsp[0].dval; if(d==0)d=1;
- yyval.dval = f_setnvar(v, (double)((int)
- f_getnvar(v)%(int)d));}
-break;
-case 63:
-#line 199 "parser.y"
-{ int v = yyvsp[-2].ival;
- yyval.dval = f_setnvar(v, (double)((int)yyvsp[0].dval &
- (int)f_getnvar(v)));}
-break;
-case 64:
-#line 202 "parser.y"
-{ int v = yyvsp[-2].ival;
- yyval.dval = f_setnvar(v, (double)((int)yyvsp[0].dval |
- (int)f_getnvar(v)));}
-break;
-case 65:
-#line 205 "parser.y"
-{ int v = yyvsp[-1].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)+1)-1;}
-break;
-case 66:
-#line 207 "parser.y"
-{ int v = yyvsp[-1].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)-1)+1;}
-break;
-case 67:
-#line 209 "parser.y"
-{ int v = yyvsp[0].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)+1); }
-break;
-case 68:
-#line 211 "parser.y"
-{ int v = yyvsp[0].ival;
- yyval.dval = f_setnvar(v, f_getnvar(v)-1); }
-break;
-case 69:
-#line 213 "parser.y"
-{ yyval.dval = - yyvsp[0].dval; }
-break;
-case 70:
-#line 214 "parser.y"
-{ yyval.dval = ! yyvsp[0].dval; }
-break;
-case 71:
-#line 215 "parser.y"
-{ yyval.dval = ~ (int)yyvsp[0].dval; }
-break;
-case 72:
-#line 216 "parser.y"
-{ yyval.dval = (int)yyvsp[-2].dval & (int)yyvsp[0].dval; }
-break;
-case 73:
-#line 217 "parser.y"
-{ yyval.dval = (int)yyvsp[-2].dval ^ (int)yyvsp[0].dval; }
-break;
-case 74:
-#line 218 "parser.y"
-{ yyval.dval = (int)yyvsp[-2].dval | (int)yyvsp[0].dval; }
-break;
-case 75:
-#line 219 "parser.y"
-{ yyval.dval = (int)yyvsp[-2].dval << (int)yyvsp[0].dval; }
-break;
-case 76:
-#line 220 "parser.y"
-{ yyval.dval = (int)yyvsp[-2].dval >> (int)yyvsp[0].dval; }
-break;
-case 77:
-#line 221 "parser.y"
-{ int i=(int)yyvsp[0].dval; if (i==0) i=1;
- yyval.dval = (int)yyvsp[-2].dval % i; }
-break;
-case 78:
-#line 223 "parser.y"
-{ yyval.dval = yyvsp[-2].dval + yyvsp[0].dval; }
-break;
-case 79:
-#line 224 "parser.y"
-{ yyval.dval = yyvsp[-2].dval - yyvsp[0].dval; }
-break;
-case 80:
-#line 225 "parser.y"
-{ yyval.dval = yyvsp[-2].dval * yyvsp[0].dval; }
-break;
-case 81:
-#line 226 "parser.y"
-{ double d=yyvsp[0].dval; if (d==0) d=1;
- yyval.dval = yyvsp[-2].dval / d; }
-break;
-case 82:
-#line 228 "parser.y"
-{ yyval.dval = yyvsp[-2].dval < yyvsp[0].dval; }
-break;
-case 83:
-#line 229 "parser.y"
-{ yyval.dval = yyvsp[-2].dval > yyvsp[0].dval; }
-break;
-case 84:
-#line 230 "parser.y"
-{ yyval.dval = yyvsp[-2].dval == yyvsp[0].dval; }
-break;
-case 85:
-#line 231 "parser.y"
-{ yyval.dval = yyvsp[-2].dval != yyvsp[0].dval; }
-break;
-case 86:
-#line 232 "parser.y"
-{ yyval.dval = yyvsp[-2].dval <= yyvsp[0].dval; }
-break;
-case 87:
-#line 233 "parser.y"
-{ yyval.dval = yyvsp[-2].dval >= yyvsp[0].dval; }
-break;
-case 88:
-#line 234 "parser.y"
-{ yyval.dval = yyvsp[-2].dval && yyvsp[0].dval; }
-break;
-case 89:
-#line 235 "parser.y"
-{ yyval.dval = yyvsp[-2].dval || yyvsp[0].dval; }
-break;
-case 90:
-#line 236 "parser.y"
-{ yyval.dval = yyvsp[-4].dval ? yyvsp[-2].dval : yyvsp[0].dval; }
-break;
-case 91:
-#line 237 "parser.y"
-{ yyval.dval = yyvsp[0].dval; }
-break;
-case 92:
-#line 238 "parser.y"
-{ yyval.dval = database->getrow() > 0 ?
- database->getrow() : 0; }
-break;
-case 93:
-#line 240 "parser.y"
-{ yyval.dval = database ?
- database->rowcount() - 1 : -1; }
-break;
-case 94:
-#line 242 "parser.y"
-{ /*<<<$$ = database && card->disprow >= 0
- && card->disprow <
- database->rowcount()
- ? card->disprow : -1; <<<*/ }
-break;
-case 95:
-#line 246 "parser.y"
-{ yyval.dval = f_avg(yyvsp[-1].ival); }
-break;
-case 96:
-#line 247 "parser.y"
-{ yyval.dval = f_dev(yyvsp[-1].ival); }
-break;
-case 97:
-#line 248 "parser.y"
-{ yyval.dval = f_min(yyvsp[-1].ival); }
-break;
-case 98:
-#line 249 "parser.y"
-{ yyval.dval = f_max(yyvsp[-1].ival); }
-break;
-case 99:
-#line 250 "parser.y"
-{ yyval.dval = f_sum(yyvsp[-1].ival); }
-break;
-case 100:
-#line 251 "parser.y"
-{ yyval.dval = f_qavg(yyvsp[-1].ival); }
-break;
-case 101:
-#line 252 "parser.y"
-{ yyval.dval = f_qdev(yyvsp[-1].ival); }
-break;
-case 102:
-#line 253 "parser.y"
-{ yyval.dval = f_qmin(yyvsp[-1].ival); }
-break;
-case 103:
-#line 254 "parser.y"
-{ yyval.dval = f_qmax(yyvsp[-1].ival); }
-break;
-case 104:
-#line 255 "parser.y"
-{ yyval.dval = f_qsum(yyvsp[-1].ival); }
-break;
-case 105:
-#line 256 "parser.y"
-{ yyval.dval = f_savg(yyvsp[-1].ival); }
-break;
-case 106:
-#line 257 "parser.y"
-{ yyval.dval = f_sdev(yyvsp[-1].ival); }
-break;
-case 107:
-#line 258 "parser.y"
-{ yyval.dval = f_smin(yyvsp[-1].ival); }
-break;
-case 108:
-#line 259 "parser.y"
-{ yyval.dval = f_smax(yyvsp[-1].ival); }
-break;
-case 109:
-#line 260 "parser.y"
-{ yyval.dval = f_ssum(yyvsp[-1].ival); }
-break;
-case 110:
-#line 261 "parser.y"
-{ yyval.dval = fabs(yyvsp[-1].dval); }
-break;
-case 111:
-#line 262 "parser.y"
-{ yyval.dval = (int)(yyvsp[-1].dval); }
-break;
-case 112:
-#line 264 "parser.y"
-{ register double a=yyvsp[-5].dval, b=yyvsp[-3].dval, c=yyvsp[-1].dval;
- yyval.dval = a < b ? b : a > c ? c : a; }
-break;
-case 113:
-#line 266 "parser.y"
-{ char *a=yyvsp[-1].sval; yyval.dval = a ? f_len(a) : 0;
- f_free(a); }
-break;
-case 114:
-#line 268 "parser.y"
-{ yyval.dval = sqrt(fabs(yyvsp[-1].dval)); }
-break;
-case 115:
-#line 269 "parser.y"
-{ yyval.dval = exp(yyvsp[-1].dval); }
-break;
-case 116:
-#line 270 "parser.y"
-{ double a=yyvsp[-1].dval; yyval.dval = a<=0 ? 0:log10(a);}
-break;
-case 117:
-#line 271 "parser.y"
-{ double a=yyvsp[-1].dval; yyval.dval = a<=0 ? 0:log(a); }
-break;
-case 118:
-#line 273 "parser.y"
-{ yyval.dval = pow(yyvsp[-3].dval, yyvsp[-1].dval); }
-break;
-case 119:
-#line 274 "parser.y"
-{ yyval.dval = drand48(); }
-break;
-case 120:
-#line 275 "parser.y"
-{ yyval.dval = sin(yyvsp[-1].dval); }
-break;
-case 121:
-#line 276 "parser.y"
-{ yyval.dval = cos(yyvsp[-1].dval); }
-break;
-case 122:
-#line 277 "parser.y"
-{ yyval.dval = tan(yyvsp[-1].dval); }
-break;
-case 123:
-#line 278 "parser.y"
-{ yyval.dval = asin(yyvsp[-1].dval); }
-break;
-case 124:
-#line 279 "parser.y"
-{ yyval.dval = acos(yyvsp[-1].dval); }
-break;
-case 125:
-#line 280 "parser.y"
-{ yyval.dval = atan(yyvsp[-1].dval); }
-break;
-case 126:
-#line 282 "parser.y"
-{ yyval.dval = atan2(yyvsp[-3].dval, yyvsp[-1].dval); }
-break;
-case 127:
-#line 283 "parser.y"
-{ yyval.dval = database ? sections->curr() :0;}
-break;
-case 128:
-#line 284 "parser.y"
-{ yyval.dval = f_section((int)yyvsp[-1].dval); }
-break;
-case 129:
-#line 285 "parser.y"
-{ yyval.dval = time(0); }
-break;
-case 130:
-#line 286 "parser.y"
-{ yyval.dval = parse_datetimestring(yyvsp[-1].sval); }
-break;
-case 131:
-#line 287 "parser.y"
-{ yyval.dval = parse_timestring(yyvsp[-1].sval, FALSE); }
-break;
-case 132:
-#line 288 "parser.y"
-{ yyval.dval = parse_timestring(yyvsp[-1].sval, TRUE); }
-break;
-case 133:
-#line 289 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_year; }
-break;
-case 134:
-#line 291 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_mon+1; }
-break;
-case 135:
-#line 293 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_mday; }
-break;
-case 136:
-#line 295 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_hour; }
-break;
-case 137:
-#line 297 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_min; }
-break;
-case 138:
-#line 299 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_sec; }
-break;
-case 139:
-#line 301 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- yyval.dval = localtime(&t)->tm_yday; }
-break;
-case 140:
-#line 303 "parser.y"
-{ const time_t t = (time_t)yyvsp[-1].dval;
- int y=localtime(&t)->tm_year;
- yyval.dval = !(y%4) ^ !(y%100) ^ !(y%400); }
-break;
-case 141:
-#line 306 "parser.y"
-{ yyval.dval = getuid(); }
-break;
-case 142:
-#line 307 "parser.y"
-{ yyval.dval = getgid(); }
-break;
-case 143:
-#line 309 "parser.y"
-{ char *a = yyvsp[-3].sval;
- yyval.dval = a ? access(a, (int)yyvsp[-1].dval) : 0;
- f_free(a); }
-break;
-#line 1993 "y.tab.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yyssp, yystate);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
-yyoverflow:
- yyerror("yacc stack overflow");
-yyabort:
- return (1);
-yyaccept:
- return (0);
-}
diff --git a/packages/nonworking/kgrok/files/parser_yacc.h b/packages/nonworking/kgrok/files/parser_yacc.h
deleted file mode 100644
index d673cedaf5..0000000000
--- a/packages/nonworking/kgrok/files/parser_yacc.h
+++ /dev/null
@@ -1,92 +0,0 @@
-#define NUMBER 257
-#define STRING 258
-#define SYMBOL 259
-#define FIELD 260
-#define VAR 261
-#define EQ 262
-#define NEQ 263
-#define LE 264
-#define GE 265
-#define SHR 266
-#define SHL 267
-#define AND 268
-#define OR 269
-#define IN 270
-#define PLA 271
-#define MIA 272
-#define MUA 273
-#define MOA 274
-#define DVA 275
-#define ANA 276
-#define ORA 277
-#define INC 278
-#define DEC_ 279
-#define APP 280
-#define AVG 281
-#define DEV 282
-#define AMIN 283
-#define AMAX 284
-#define SUM 285
-#define QAVG 286
-#define QDEV 287
-#define QMIN_ 288
-#define QMAX_ 289
-#define QSUM 290
-#define SAVG 291
-#define SDEV 292
-#define SMIN 293
-#define SMAX 294
-#define SSUM 295
-#define ABS 296
-#define INT 297
-#define BOUND 298
-#define LEN 299
-#define CHOP 300
-#define TR 301
-#define SUBSTR 302
-#define SQRT 303
-#define EXP 304
-#define LOG 305
-#define LN 306
-#define POW 307
-#define RANDOM 308
-#define SIN 309
-#define COS 310
-#define TAN 311
-#define ASIN 312
-#define ACOS 313
-#define ATAN 314
-#define ATAN2 315
-#define DATE 316
-#define TIME 317
-#define DURATION 318
-#define EXPAND 319
-#define YEAR 320
-#define MONTH 321
-#define DAY 322
-#define HOUR 323
-#define MINUTE 324
-#define SECOND 325
-#define LEAP 326
-#define JULIAN 327
-#define SECTION_ 328
-#define DBASE_ 329
-#define FORM_ 330
-#define PREVFORM 331
-#define SWITCH 332
-#define THIS 333
-#define LAST 334
-#define DISP 335
-#define FOREACH 336
-#define HOST 337
-#define USER 338
-#define UID 339
-#define GID 340
-#define SYSTEM 341
-#define ACCESS 342
-#define BEEP 343
-#define ERROR 344
-#define PRINTF 345
-#define UMINUS 346
-typedef union { int ival; double dval; char *sval; Arg *aval; } YYSTYPE;
-extern YYSTYPE parserlval;
diff --git a/packages/nonworking/kgrok/kgrok_1.5.bb b/packages/nonworking/kgrok/kgrok_1.5.bb
deleted file mode 100644
index 67b668efc8..0000000000
--- a/packages/nonworking/kgrok/kgrok_1.5.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "Palmtop Data Manager \
-KGrok is a shared flatfile database visualization engine. Simple application \
-scripts turn it into a phone list, todo list, notepad, and others. Encryption \
-optionally secures personal data."
-SECTION = "opie/applications"
-PRIORITY = "optional"
-LICENSE = "GPL"
-AUTHOR = "Thomas Driemeyer <thomas@bitrot.de>"
-HOMEPAGE = "http://www.bitrot.de/pda_kgrok.html"
-APPNAME = "kgrok"
-APPTYPE = "binary"
-APPDESKTOP = "${S}/apps/KGrok"
-
-SRC_URI = "ftp://ftp.bitrot.de/pub/kgrok/kgrok-src_1.5.tar.gz \
- file://parser_yacc.* \
- file://mediabutton.patch;patch=1"
-S = "${WORKDIR}/src/"
-
-inherit opie
-
-EXTRA_QMAKEVARS_POST += "DEFINES+=ORDER_DCBA YACCSOURCES= SOURCES+=parser_yacc.cpp"
-QMAKE_PROFILES = "src.pro"
-
-do_configure_prepend() {
- cd ${S} && qmake -project
-}
-
-do_compile_prepend() {
- install -m 0655 ${WORKDIR}/parser_yacc.* ${S}
-}
-
-do_install () {
- install -d ${D}/${palmtopdir}/pics/
- install -m 0644 src/temtor.png ${D}/${palmtopdir}/pics/
-}
-
diff --git a/packages/nonworking/lftp/files/pty.patch b/packages/nonworking/lftp/files/pty.patch
deleted file mode 100644
index 166b665f3f..0000000000
--- a/packages/nonworking/lftp/files/pty.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- lftp-2.6.11/m4/pty.m4~pty
-+++ lftp-2.6.11/m4/pty.m4
-@@ -4,14 +4,20 @@
- *-*-sco3.2v4*) no_dev_ptmx=1;;
- *-*-sco3.2v5*) no_dev_ptmx=1;;
- esac
-+AC_SEARCH_LIBS(openpty,util,
-+ [
-+ AC_DEFINE(HAVE_OPENPTY,1,[define if you have openpty function])
-+ no_dev_ptc=yes
-+ no_dev_ptmx=yes
-+ ])
-+AC_CHECK_FUNCS([_getpty])
- if test -z "$no_dev_ptmx" ; then
- AC_CHECK_FILE("/dev/ptmx", [
- AC_DEFINE(HAVE_DEV_PTMX,1,[define if you have /dev/ptmx device])])
- fi
-+if test -z "$no_dev_ptc" ; then
- AC_CHECK_FILE("/dev/ptc", [
- AC_DEFINE(HAVE_DEV_PTS_AND_PTC,1,[define if you have /dev/ptc device])])
-+fi
- AC_CHECK_HEADERS([util.h sys/stropts.h pty.h])
--AC_SEARCH_LIBS(openpty,util,
-- [AC_DEFINE(HAVE_OPENPTY,1,[define if you have openpty function])])
--AC_CHECK_FUNCS([_getpty])
- ])
diff --git a/packages/nonworking/lftp/lftp_3.2.1.bb b/packages/nonworking/lftp/lftp_3.2.1.bb
deleted file mode 100644
index 0acc1e328d..0000000000
--- a/packages/nonworking/lftp/lftp_3.2.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "lftp is a sophisticated command line based file \
-transfer program. Supported protocols include FTP, HTTP, and FISH."
-HOMEPAGE = "http://lftp.yar.ru"
-SECTION = "console/network"
-DEPENDS = "readline"
-LICENSE = "GPL"
-PR = "r0"
-
-SRC_URI = "http://ftp.yars.free.net/pub/software/unix/net/ftp/client/lftp/lftp-${PV}.tar.bz2 \
- file://pty.patch;patch=1"
-S = "${WORKDIR}/lftp-${PV}"
-
-EXTRA_OECONF = "--disable-largefile --disable-rpath --with-included-readline=no"
-
-inherit autotools gettext
-
-PARALLEL_MAKE = ""
-
-do_configure() {
- gnu-configize
- oe_runconf
-}
-
diff --git a/packages/nonworking/libmikey/libmikey0_0.3.2.bb b/packages/nonworking/libmikey/libmikey0_0.3.2.bb
deleted file mode 100644
index 21210937a6..0000000000
--- a/packages/nonworking/libmikey/libmikey0_0.3.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "LGPL"
-
-DESCRIPTION = "C++ implementation of the Multimedia Internet KEYing (RFC3830)"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "libmutil0 openssl"
-
-inherit autotools
-
-SRC_URI = "http://www.minisip.org/snapshots/libmikey-${PV}.tar.gz"
-S="${WORKDIR}/libmikey-${PV}"
-
-
-
-FILES_${PN} = " ${libdir}/libmikey.so.0 ${libdir}/libmikey.so.0.0.0 "
-
-do_stage() {
- oe_libinstall -a -so libmikey ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmikey
- install -m 0644 ${S}/include/libmikey/* ${STAGING_INCDIR}/libmikey
-}
diff --git a/packages/nonworking/libmikey/libmikey_0.1a.bb b/packages/nonworking/libmikey/libmikey_0.1a.bb
deleted file mode 100644
index e00ce25594..0000000000
--- a/packages/nonworking/libmikey/libmikey_0.1a.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-LICENSE = "GPL"
-DESCRIPTION = "libmikey is a C++ library that implements the IETF work-in-progress MIKEY protocol."
-HOMEPAGE = "http://minisip.org/libmikey"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "openssl"
-
-SRC_URI = "http://minisip.org/source/libmikey-${PV}.tar.gz"
-S = "${WORKDIR}/libmikey-0.1"
-
-inherit autotools
-
-do_configure() {
- gnu-configize
- oe_runconf
-}
-
-do_stage() {
- oe_libinstall -so libmikey ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmikey
- install -m 0644 include/libmikey/*.h ${STAGING_INCDIR}/libmikey/
-}
diff --git a/packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb b/packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb
deleted file mode 100644
index d41a86b4e2..0000000000
--- a/packages/nonworking/libmnetutil/libmnetutil0_0.2.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "LGPL"
-
-DESCRIPTION = "Networking class library for C++ programming"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "libmutil0 openssl"
-
-inherit autotools
-
-SRC_URI = "http://www.minisip.org/snapshots/libmnetutil-${PV}.tar.gz"
-S="${WORKDIR}/libmnetutil-${PV}"
-
-
-
-FILES_${PN} = " ${libdir}/libmnetutil.so.0 ${libdir}/libmnetutil.so.0.0.0 "
-
-do_stage() {
- oe_libinstall -a -so libmnetutil ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmnetutil
- install -m 0644 ${S}/include/libmnetutil/* ${STAGING_INCDIR}/libmnetutil
-}
diff --git a/packages/nonworking/libmsip/libmsip0_0.2.2.bb b/packages/nonworking/libmsip/libmsip0_0.2.2.bb
deleted file mode 100644
index 161e270f7d..0000000000
--- a/packages/nonworking/libmsip/libmsip0_0.2.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "LGPL"
-
-DESCRIPTION = "C++ implementation Session Initiation Protocol (RFC3261)"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "libmnetutil0 libmutil0"
-
-inherit autotools
-
-SRC_URI = "http://www.minisip.org/snapshots/libmsip-${PV}.tar.gz"
-S="${WORKDIR}/libmsip-${PV}"
-
-
-
-FILES_${PN} = " ${libdir}/libmsip.so.0 ${libdir}/libmsip.so.0.0.0 "
-
-do_stage() {
- oe_libinstall -a -so libmsip ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/libmsip
- install -m 0644 ${S}/include/libmsip/* ${STAGING_INCDIR}/libmsip
-}
diff --git a/packages/nonworking/lufs/lufs_0.9.7.bb b/packages/nonworking/lufs/lufs_0.9.7.bb
index 58c1aa135e..c56410f847 100644
--- a/packages/nonworking/lufs/lufs_0.9.7.bb
+++ b/packages/nonworking/lufs/lufs_0.9.7.bb
@@ -6,11 +6,10 @@ LICENSE = "GPL"
SRC_URI = "${SOURCEFORGE_MIRROR}/lufs/lufs-${PV}.tar.gz"
S = "${WORKDIR}/lufs-${PV}"
-inherit autotools
+inherit autotools module
-KERNEL_VERSION = "`cat ${STAGING_DIR}/target/kernel/kernel-version`"
-KERNEL_SOURCE = "`cat ${STAGING_DIR}/target/kernel/kernel-source`"
-KERNEL_PATH = "${STAGING_DIR}/target/kernel"
+KERNEL_SOURCE = "${STAGING_KERNEL_DIR}"
+KERNEL_PATH = "${STAGING_KERNEL_DIR}"
-EXTRA_OECONF = " --with-kernel=${KERNEL_VERSION} --with-kheaders=${STAGING_DIR}/target/kernel/include"
+EXTRA_OECONF = " --with-kernel=${KERNEL_VERSION} --with-kheaders=${STAGING_KERNEL_DIR}/include"
diff --git a/packages/nonworking/lzma/lzma_0.01.bb b/packages/nonworking/lzma/lzma_0.01.bb
deleted file mode 100644
index ec710c45fa..0000000000
--- a/packages/nonworking/lzma/lzma_0.01.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "LZMA is a compression algorithm, based on the famous \
-Lempel Ziff compression method. The windows only open source tool 7-zip \
-is another tool which uses this algorithm."
-SECTION = "libs"
-PRIORITY = "optional"
-
-SRC_URI = "http://students.fhs-hagenberg.ac.at/se/se00001/lzma-0.01.tar.bz2"
-S = "${WORKDIR}/"
-
-inherit qmake
-
-do_configure_prepend() {
- ${STAGING_BINDIR_NATIVE}/qmake -project -o lzma.pro
-}
-
-do_install_append () {
- # Make install doesn't properly install these
- oe_libinstall -so -C shlib libhistory ${D}/${libdir}
- oe_libinstall -so -C shlib libreadline ${D}/${libdir}
-}
-
-do_stage() {
- oe_libinstall -so -C shlib libhistory ${STAGING_LIBDIR}
- oe_libinstall -so -C shlib libreadline ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}/readline
- for f in readline.h chardefs.h keymaps.h history.h tilde.h rlstdc.h \
- rlconf.h rltypedefs.h
- do
- install -m 0644 $f ${STAGING_INCDIR}/readline/
- done
-
-}
diff --git a/packages/nonworking/minisip/minisip_0.6.2.bb b/packages/nonworking/minisip/minisip_0.6.2.bb
deleted file mode 100644
index b85007deef..0000000000
--- a/packages/nonworking/minisip/minisip_0.6.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-LICENSE = "GPL"
-SECTION = "x11/utils"
-PR = "r0"
-
-DESCRIPTION = "SIP user agent, with focus on security"
-DEPENDS = "libglademm libmsip0 libmikey0"
-SRC_URI = "http://www.minisip.org/snapshots/minisip-${PV}.tar.gz"
-
-
-FILES_${PN} += "${datadir}/minisip"
-
-inherit autotools
-
-EXTRA_OECONF = "--enable-ipaq"
-
-do_install_append () {
- install -d ${D}${datadir}/pixmaps
- install -d ${D}${datadir}/applications
- install -m 0644 share/minisip.png ${D}${datadir}/pixmaps/minisip.png
- install -m 0644 share/minisip.desktop ${D}${datadir}/applications/minisip.desktop
-}
diff --git a/packages/nonworking/ode/files/config.h b/packages/nonworking/ode/files/config.h
deleted file mode 100644
index 8711bd91b2..0000000000
--- a/packages/nonworking/ode/files/config.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* per-machine configuration. this file is automatically generated. */
-
-#ifndef _ODE_CONFIG_H_
-#define _ODE_CONFIG_H_
-
-/* standard system headers */
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <stdarg.h>
-#include <malloc.h>
-#include <alloca.h>
-#include <values.h>
-#include <float.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* is this a pentium on a gcc-based platform? */
-#undef PENTIUM
-
-/* integer types (we assume int >= 32 bits) */
-typedef char int8;
-typedef unsigned char uint8;
-typedef short int16;
-typedef unsigned short uint16;
-typedef int int32;
-typedef unsigned int uint32;
-
-/* an integer type that we can safely cast a pointer to and
- * from without loss of bits.
- */
-typedef unsigned int intP;
-
-/* select the base floating point type */
-#define dDOUBLE 1
-
-/* the floating point infinity */
-#define dInfinity DBL_MAX
-
-/* available functions */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/packages/nonworking/pixdev/pixdev-stable_0.1.bb b/packages/nonworking/pixdev/pixdev-stable_0.1.bb
index 9542c668b9..78a658d7e7 100644
--- a/packages/nonworking/pixdev/pixdev-stable_0.1.bb
+++ b/packages/nonworking/pixdev/pixdev-stable_0.1.bb
@@ -17,7 +17,7 @@ do_compile() {
if [ -z "$CONFIG" ]; then CONFIG=defconfig; fi
oe_runmake $CONFIG
- oe_runmake MWDIR=${STAGING_DIR}/target/ "TARGET_CROSS=${TARGET_PREFIX}" all
+ oe_runmake MWDIR=${STAGING_DIR_TARGET} "TARGET_CROSS=${TARGET_PREFIX}" all
}
do_install() {
diff --git a/packages/nonworking/python/python-gsl-0.2.0/cross-compile.patch b/packages/nonworking/python/python-gsl-0.2.0/cross-compile.patch
index 69f68c7dc0..1c90d59c54 100644
--- a/packages/nonworking/python/python-gsl-0.2.0/cross-compile.patch
+++ b/packages/nonworking/python/python-gsl-0.2.0/cross-compile.patch
@@ -11,8 +11,8 @@
- self.prefix = self.get_gsl_info('--prefix').strip()
- self.cflags = self.get_gsl_info('--cflags').strip()
-+ self.prefix = os.getenv( "STAGING" )+"/target"
-+ self.cflags = self.get_gsl_info('--cflags').strip() + " -I%s/python2.3/include" % os.getenv( "STAGING" )
++ self.prefix = os.getenv( "STAGING_DIR" )+"/target"
++ self.cflags = self.get_gsl_info('--cflags').strip() + " -I%s/python2.5/include" % os.getenv( "STAGING_DIR" )
self.libs = self.get_gsl_info('--libs').strip()
self.version = self._split_version(self.get_gsl_info('--version').strip())
diff --git a/packages/nonworking/python/python-gsl_0.2.0.bb b/packages/nonworking/python/python-gsl_0.2.0.bb
index ddb901532d..38bd9e273f 100644
--- a/packages/nonworking/python/python-gsl_0.2.0.bb
+++ b/packages/nonworking/python/python-gsl_0.2.0.bb
@@ -11,4 +11,4 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit distutils
-export STAGING=${STAGING_DIR}
+export STAGING_DIR := "${STAGING_DIR}"
diff --git a/packages/nonworking/python/python-m2crypto/0.13p1.patch b/packages/nonworking/python/python-m2crypto/0.13p1.patch
deleted file mode 100644
index ad359185e6..0000000000
--- a/packages/nonworking/python/python-m2crypto/0.13p1.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- M2Crypto/SSL/Connection.py.org Wed Mar 31 08:49:57 2004
-+++ M2Crypto/SSL/Connection.py Wed Mar 31 08:50:45 2004
-@@ -143,11 +143,11 @@
- """Set this connection's underlying socket to _mode_."""
- self.socket.setblocking(mode)
- if mode:
-- self.send = self.write = self._write_bio
-- self.recv = self.read = self._read_bio
-+ self.send = self.write = Connection._write_bio
-+ self.recv = self.read = Connection._read_bio
- else:
-- self.send = self.write = self._write_nbio
-- self.recv = self.read = self._read_nbio
-+ self.send = self.write = Connection._write_nbio
-+ self.recv = self.read = Connection._read_nbio
-
- def fileno(self):
- return self.socket.fileno()
---- M2Crypto/DSA.py.org Wed Mar 31 08:53:16 2004
-+++ M2Crypto/DSA.py Wed Mar 31 08:53:35 2004
-@@ -35,7 +35,7 @@
-
- def __getattr__(self, name):
- if name in ['p', 'q', 'g', 'pub', 'priv']:
-- method = getattr(m2, 'm2.dsa_get_%s' % (name,))
-+ method = getattr(m2, 'dsa_get_%s' % (name,))
- assert m2.dsa_type_check(self.dsa), "'dsa' type error"
- return method(self.dsa)
- else:
---- M2Crypto/_version.py.org Wed Mar 31 12:25:21 2004
-+++ M2Crypto/_version.py Wed Mar 31 12:24:18 2004
-@@ -1,8 +1,8 @@
- """M2Crypto Version Info"""
-
--RCS_id='$Id: _version.py,v 1.2 2004/03/25 06:33:29 ngps Exp $'
-+RCS_id='$Id: _version.py,v 1.3 2004/03/31 01:30:58 ngps Exp $'
-
- import string
--version_info = (0, 13)
-+version_info = (0, 13, 1)
- version = string.join(map(lambda x: "%s" % x, version_info), ".")
-
diff --git a/packages/nonworking/python/python-m2crypto_0.18.bb b/packages/nonworking/python/python-m2crypto_0.18.bb
deleted file mode 100644
index 009345e5a0..0000000000
--- a/packages/nonworking/python/python-m2crypto_0.18.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "A Python crypto and SSL toolkit"
-SECTION = "devel/python"
-PRIORITY = "optional"
-DEPENDS = "openssl swig-native"
-LICENSE = "BSD"
-SRCNAME = "M2Crypto"
-
-SRC_URI = "http://sandbox.rulemaker.net/ngps/Dist/m2crypto-0.13.zip \
- file://0.13p1.patch;patch=1;pnum=0"
-S = "${WORKDIR}/m2crypto-0.13"
-
-inherit distutils
-
diff --git a/packages/nonworking/xfree86/xfree86-4.3.0/dirty-3.2-xterm-breakage-fix.patch b/packages/nonworking/xfree86/xfree86-4.3.0/dirty-3.2-xterm-breakage-fix.patch
deleted file mode 100644
index dbddb41bee..0000000000
--- a/packages/nonworking/xfree86/xfree86-4.3.0/dirty-3.2-xterm-breakage-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- xc/programs/xterm/util.c.orig 2003-03-18 00:24:46.000000000 +0000
-+++ xc/programs/xterm/util.c 2003-03-18 00:21:37.000000000 +0000
-@@ -1336,7 +1336,7 @@
- }
- #endif
- ReverseOldColors();
-- update_reversevideo();
-+ // update_reversevideo();
- }
-
- void
-@@ -2111,10 +2111,12 @@
- {
-+ /*
- update_delete_del();
- update_old_fkeys();
- update_hp_fkeys();
- update_sco_fkeys();
- update_sun_fkeys();
- update_sun_kbd();
-+ */
- }
-
- void
-@@ -2145,8 +2147,8 @@
- }
-
- if (save != term->keyboard.type) {
-- update_keyboard_type();
-- }
-+ //update_keyboard_type();
-+ }
- }
-
- void
diff --git a/packages/nonworking/xfree86/xfree86-4.3.0/host.def b/packages/nonworking/xfree86/xfree86-4.3.0/host.def
deleted file mode 100644
index 586c04f5f2..0000000000
--- a/packages/nonworking/xfree86/xfree86-4.3.0/host.def
+++ /dev/null
@@ -1,22 +0,0 @@
-#define KDriveXServer YES
-#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=2 -DXResExtension -fexpensive-optimizations -fomit-frame-pointer -O2 -march=armv4 -mtune=xscale -mapcs-32
-#define TinyXServer YES
-#define CrossCompiling YES
-#define TouchScreen YES
-#define ItsyCompilerBug YES
-#undef BuildRandR
-#define BuildRandR YES
-#define BuildXInputLib YES
-#define ProjectRoot /usr/X11R6
-#define Freetype2Dir $(TOP)/extras/freetype2
-#define Freetype2LibDir $(TOP)/exports/lib
-#define BuildXTrueType YES
-#define BuildScreenSaverExt YES
-#define BuildScreenSaverLibrary YES
-#define SharedLibXss YES
-#define ServerXdmcpDefines
-#define XfbdevServer YES
-#define HasTsLib YES
-#define BuildXResExt YES
-#define XResExtension YES
-#define BuildXcursorgen NO
diff --git a/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-kbd-enable-fix.patch b/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-kbd-enable-fix.patch
deleted file mode 100644
index 2c5355c9e4..0000000000
--- a/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-kbd-enable-fix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- xc/programs/Xserver/hw/kdrive/linux/keyboard.c.orig 2001-11-08 10:26:24.000000000 +0000
-+++ xc/programs/Xserver/hw/kdrive/linux/keyboard.c 2003-03-11 21:13:09.000000000 +0000
-@@ -397,12 +397,13 @@
- static struct termios LinuxTermios;
- static int LinuxKbdType;
-
--void
-+int
- LinuxKeyboardEnable (int fd, void *closure)
- {
- struct termios nTty;
- unsigned char buf[256];
- int n;
-+ int fd_orig_flags;
-
- ioctl (fd, KDGKBMODE, &LinuxKbdTrans);
- tcgetattr (fd, &LinuxTermios);
-@@ -420,9 +421,18 @@
- tcsetattr(fd, TCSANOW, &nTty);
- /*
- * Flush any pending keystrokes
-+ *
-+ * Also set to nonblock, just to be safe
- */
-+ fd_orig_flags = fcntl( fd , F_GETFL, 0 );
-+ fcntl ( fd, F_SETFL, fd_orig_flags | O_NONBLOCK );
-+
- while ((n = read (fd, buf, sizeof (buf))) > 0)
-- ;
-+ ;
-+
-+ fcntl ( fd , F_SETFL, fd_orig_flags );
-+
-+ return fd;
- }
-
- void
diff --git a/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-tslib-reset-and-vt-switch-fixes.patch b/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-tslib-reset-and-vt-switch-fixes.patch
deleted file mode 100644
index dc1cc86343..0000000000
--- a/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-tslib-reset-and-vt-switch-fixes.patch
+++ /dev/null
@@ -1,69 +0,0 @@
---- xc/programs/Xserver/hw/kdrive/linux/tslib.c.orig 2002-11-05 05:28:06.000000000 +0000
-+++ xc/programs/Xserver/hw/kdrive/linux/tslib.c 2003-03-11 21:11:37.000000000 +0000
-@@ -119,6 +119,29 @@
- int TsInputType;
-
- int
-+TslibEnable (int not_needed_fd, void *closure)
-+{
-+ KdMouseInfo *mi = closure;
-+ int fd = 0;
-+
-+ if(!(tsDev = ts_open(mi->name, 0))) {
-+ fprintf(stderr, "%s() failed to open %s\n", __func__, mi->name );
-+ return -1; /* XXX Not sure what to return here */
-+ }
-+
-+ ts_config(tsDev);
-+ fd=ts_fd(tsDev);
-+
-+ return fd;
-+}
-+
-+void
-+TslibDisable (int fd, void *closure)
-+{
-+ ts_close(tsDev);
-+}
-+
-+int
- TslibInit (void)
- {
- int i;
-@@ -128,7 +151,7 @@
-
- if (!TsInputType)
- TsInputType = KdAllocInputType ();
--
-+
- for (mi = kdMouseInfo; mi; mi = next)
- {
- next = mi->next;
-@@ -148,14 +171,25 @@
- break;
- }
- }
-+ } else {
-+
-+ if(!(tsDev = ts_open(mi->name,0)))
-+ continue;
-+ ts_config(tsDev);
-+ fd=ts_fd(tsDev);
-+
- }
-
- if (fd > 0 && tsDev != 0)
- {
- mi->driver = (void *) fd;
- mi->inputType = TsInputType;
-- if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi))
-- n++;
-+ if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi))
-+ n++;
-+
-+ /* Set callbacks for vt switches etc */
-+ KdRegisterFdEnableDisable (fd, TslibEnable, TslibDisable);
-+
- }
- else
- if (fd > 0) close(fd);
diff --git a/packages/nonworking/xfree86/xfree86_4.3.0.bb b/packages/nonworking/xfree86/xfree86_4.3.0.bb
deleted file mode 100644
index 02ef88f326..0000000000
--- a/packages/nonworking/xfree86/xfree86_4.3.0.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SECTION = "base"
-PRIORITY = "required"
-DEPENDS = "zlib tslib ncurses"
-
-SRC_URI = "ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/X430src-1.tgz;"
-SRC_URI_append =" ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/X430src-2.tgz;"
-SRC_URI_append =" ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/X430src-3.tgz;"
-SRC_URI_append =" file://${FILESDIR}/tinyx-kbd-enable-fix.patch;patch=1"
-SRC_URI_append =" file://${FILESDIR}/tinyx-tslib-reset-and-vt-switch-fixes.patch;patch=1"
-SRC_URI_append =" file://${FILESDIR}/dirty-3.2-xterm-breakage-fix.patch;patch=1"
-
-S = "${WORKDIR}/xc"
-
-
-do_configure() {
- rm -fr ${WORKDIR}/XXcompiler;
- mkdir -p ${WORKDIR}/XXcompiler
- pushd ./
- cd ${CROSS_DIR}/bin/;
- echo ${CC}
- for i in *; do
- echo " linking ${WORKDIR}/XXcompiler/$i to $i";
- ln -s ${CROSS_DIR}/bin/$i ${WORKDIR}/XXcompiler/$i ;
- toolname=`echo $i | sed s/${TARGET_ARCH}-${TARGET_OS}-//`
- echo `echo $i | sed s/${TARGET_ARCH}-${TARGET_OS}-//`
- echo " linking ${WORKDIR}/XXcompiler/$i to $toolname";
- ln -s ${CROSS_DIR}/bin/$i ${WORKDIR}/XXcompiler/$toolname;
- done
- echo "#!/bin/sh" > ${WORKDIR}/XXcompiler/cc
- echo "${CC} \$*" >> ${WORKDIR}/XXcompiler/cc
- chmod 755 ${WORKDIR}/XXcompiler/cc
- popd ;
-
-
-}
-
-XCURSORGEN=/usr/local/X11R6/bin/xcursorgen
-EXTRA_OEMAKE="-C ${S} CC='${BUILD_CC}' \
- CROSSCOMPILEDIR='${WORKDIR}/XXcompiler' \
- EXTRA_LDOPTIONS='${LDFLAGS}' \
- EXTRA_INCLUDES='-I${STAGING_DIR}/target/include' "
-do_compile() {
- sed -e "s/^\#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=2 -DXResExtension.*/\#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=2 -DXResExtension ${FULL_OPTIMIZATION}/" < ${FILESDIR}/host.def > ${S}/config/cf/host.def;
-
- oe_runmake World
-
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} install
-
-}
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb
deleted file mode 100644
index b58c45026c..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/diet-x11_6.2.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SECTION = "x11/base"
-require libx11_${PV}.bb
-
-EXTRA_OECONF = "--disable-xcms --disable-xlocale --disable-xkb"
-CFLAGS += "-D_GNU_SOURCE"
-
-SRC_URI += "file://fix-utf8-wrong-define.patch;patch=1 \
- file://xim.patch;patch=1"
-
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb
deleted file mode 100644
index 4ed4c6dd0c..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libx11_6.2.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "XFree86"
-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"
-PR = "r4"
-
-SRC_URI = "${XLIBS_MIRROR}/libX11-${PV}.tar.bz2 \
- file://errordb-keysymdb-path-fix.patch;patch=1 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libX11-${PV}"
-
-inherit autotools pkgconfig
-
-do_compile() {
- (
- unset CC LD CXX CCLD
-# unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake -C src/util 'CFLAGS= -D_GNU_SOURCE' 'LDFLAGS=' 'CXXFLAGS=' 'CPPFLAGS=' makekeys
- )
- 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/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb
deleted file mode 100644
index c1b47cb77a..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxau_0.1.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "MIT"
-PRIORITY = "optional"
-DEPENDS = "xproto"
-PROVIDES = "xau"
-DESCRIPTION = "Authorization Protocol for X."
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXau-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXau-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb
deleted file mode 100644
index 2571939b54..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxcursor_1.1.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "BSD-X"
-PRIORITY = "optional"
-DESCRIPTION = "X Cursor library"
-DEPENDS = "libxfixes"
-PR = "r2"
-
-SRC_URI = "${XLIBS_MIRROR}/libXcursor-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXcursor-${PV}"
-FILES_${PN} += "${libdir}/libXcursor.so"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb
deleted file mode 100644
index d5f01f4e36..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxdmcp_0.1.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SECTION = "x11/libs"
-PRIORITY = "optional"
-LICENSE= "MIT"
-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/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb
deleted file mode 100644
index d5343fd798..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxext_cvs.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-# "+" is missing due to bug in Familiar
-PV = "0.0cvs${SRCDATE}"
-PR = "r1"
-LICENSE= "MIT"
-DESCRIPTION = "X Server Extension library"
-SECTION = "x11/libs"
-PRIORITY = "optional"
-DEPENDS = "xproto virtual/libx11 xextensions"
-PROVIDES = "xext"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xext"
-S = "${WORKDIR}/Xext"
-
-inherit autotools pkgconfig
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb
deleted file mode 100644
index 58643ed470..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxfixes_2.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "BSD-X"
-DEPENDS = "virtual/libx11 fixesext"
-DESCRIPTION = "X Fixes extension library."
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXfixes-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXfixes-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb
deleted file mode 100644
index f0116aca4b..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxft_2.1.6.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "MIT-X"
-DEPENDS = "virtual/libx11 xproto libxrender freetype fontconfig"
-DESCRIPTION = "X FreeType library. Client-side fonts with FreeType."
-PROVIDES = "xft"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXft-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXft-${PV}"
-
-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/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb b/packages/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb
deleted file mode 100644
index 9da41bfe75..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/libxrender_0.8.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "libs"
-DEPENDS = "renderext virtual/libx11"
-DESCRIPTION = "X Render extension library."
-LICENSE = "BSD"
-PR = "r1"
-
-SRC_URI = "${XLIBS_MIRROR}/libXrender-${PV}.tar.bz2 \
- file://autofoo.patch;patch=1"
-S = "${WORKDIR}/libXrender-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb
deleted file mode 100644
index ab8895e0a5..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/xextensions_1.0.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SECTION = "x11/libs"
-LICENSE= "BSD-X"
-DESCRIPTION = "various extension headers."
-
-SRC_URI = "${XLIBS_MIRROR}/xextensions-${PV}.tar.bz2"
-S = "${WORKDIR}/xextensions-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb b/packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb
deleted file mode 100644
index f6afd506e2..0000000000
--- a/packages/obsolete/freedesktop-premodular-xlibs/xtrans_0.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SECTION = "x11/libs"
-LICENSE = "MIT"
-DESCRIPTION = "network API translation layer to \
-insulate X applications and libraries from OS \
-network vageries."
-
-SRC_URI = "${XLIBS_MIRROR}/libXtrans-0.1.tar.bz2"
-S = "${WORKDIR}/libXtrans-${PV}"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/nonworking/kgrok/files/.mtn2git_empty b/packages/obsolete/gaim/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/kgrok/files/.mtn2git_empty
+++ b/packages/obsolete/gaim/.mtn2git_empty
diff --git a/packages/nonworking/lftp/.mtn2git_empty b/packages/obsolete/gaim/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/lftp/.mtn2git_empty
+++ b/packages/obsolete/gaim/files/.mtn2git_empty
diff --git a/packages/gaim/files/01-optional-icons-in-dialogs.patch b/packages/obsolete/gaim/files/01-optional-icons-in-dialogs.patch
index 260dcf364f..260dcf364f 100644
--- a/packages/gaim/files/01-optional-icons-in-dialogs.patch
+++ b/packages/obsolete/gaim/files/01-optional-icons-in-dialogs.patch
diff --git a/packages/gaim/files/02-request-field-dialogs.patch b/packages/obsolete/gaim/files/02-request-field-dialogs.patch
index 50529ca53e..50529ca53e 100644
--- a/packages/gaim/files/02-request-field-dialogs.patch
+++ b/packages/obsolete/gaim/files/02-request-field-dialogs.patch
diff --git a/packages/gaim/files/03-blist-dialogs.patch b/packages/obsolete/gaim/files/03-blist-dialogs.patch
index 62d4710d46..62d4710d46 100644
--- a/packages/gaim/files/03-blist-dialogs.patch
+++ b/packages/obsolete/gaim/files/03-blist-dialogs.patch
diff --git a/packages/gaim/files/04-saved-status-dialogs.patch b/packages/obsolete/gaim/files/04-saved-status-dialogs.patch
index 2cdf70c5c1..2cdf70c5c1 100644
--- a/packages/gaim/files/04-saved-status-dialogs.patch
+++ b/packages/obsolete/gaim/files/04-saved-status-dialogs.patch
diff --git a/packages/gaim/files/05-statusbox-icon-size.patch b/packages/obsolete/gaim/files/05-statusbox-icon-size.patch
index e18f3b2bcb..e18f3b2bcb 100644
--- a/packages/gaim/files/05-statusbox-icon-size.patch
+++ b/packages/obsolete/gaim/files/05-statusbox-icon-size.patch
diff --git a/packages/gaim/files/06-account-dialogs.patch b/packages/obsolete/gaim/files/06-account-dialogs.patch
index 9d2cb9acb0..9d2cb9acb0 100644
--- a/packages/gaim/files/06-account-dialogs.patch
+++ b/packages/obsolete/gaim/files/06-account-dialogs.patch
diff --git a/packages/gaim/files/07-roomlist-dialog.patch b/packages/obsolete/gaim/files/07-roomlist-dialog.patch
index 2806c78fd4..2806c78fd4 100644
--- a/packages/gaim/files/07-roomlist-dialog.patch
+++ b/packages/obsolete/gaim/files/07-roomlist-dialog.patch
diff --git a/packages/gaim/files/08-prefs-dialog.patch b/packages/obsolete/gaim/files/08-prefs-dialog.patch
index a8fcb89311..a8fcb89311 100644
--- a/packages/gaim/files/08-prefs-dialog.patch
+++ b/packages/obsolete/gaim/files/08-prefs-dialog.patch
diff --git a/packages/gaim/files/09-filetransfer-dialog.patch b/packages/obsolete/gaim/files/09-filetransfer-dialog.patch
index c4fa3a0a6d..c4fa3a0a6d 100644
--- a/packages/gaim/files/09-filetransfer-dialog.patch
+++ b/packages/obsolete/gaim/files/09-filetransfer-dialog.patch
diff --git a/packages/gaim/files/10-pda-default-settings.patch b/packages/obsolete/gaim/files/10-pda-default-settings.patch
index 953dc11612..953dc11612 100644
--- a/packages/gaim/files/10-pda-default-settings.patch
+++ b/packages/obsolete/gaim/files/10-pda-default-settings.patch
diff --git a/packages/gaim/files/define-pda-mode.patch b/packages/obsolete/gaim/files/define-pda-mode.patch
index f1a368bc73..f1a368bc73 100644
--- a/packages/gaim/files/define-pda-mode.patch
+++ b/packages/obsolete/gaim/files/define-pda-mode.patch
diff --git a/packages/gaim/files/desktop-name-2.0.0.patch b/packages/obsolete/gaim/files/desktop-name-2.0.0.patch
index c921619721..c921619721 100644
--- a/packages/gaim/files/desktop-name-2.0.0.patch
+++ b/packages/obsolete/gaim/files/desktop-name-2.0.0.patch
diff --git a/packages/gaim/files/desktop-name.patch b/packages/obsolete/gaim/files/desktop-name.patch
index 6095a77e47..6095a77e47 100644
--- a/packages/gaim/files/desktop-name.patch
+++ b/packages/obsolete/gaim/files/desktop-name.patch
diff --git a/packages/gaim/files/desktop-name_1.4.0.patch b/packages/obsolete/gaim/files/desktop-name_1.4.0.patch
index 3cfaa5771e..3cfaa5771e 100644
--- a/packages/gaim/files/desktop-name_1.4.0.patch
+++ b/packages/obsolete/gaim/files/desktop-name_1.4.0.patch
diff --git a/packages/gaim/files/desktop-name_1.5.0.patch b/packages/obsolete/gaim/files/desktop-name_1.5.0.patch
index 3cfaa5771e..3cfaa5771e 100644
--- a/packages/gaim/files/desktop-name_1.5.0.patch
+++ b/packages/obsolete/gaim/files/desktop-name_1.5.0.patch
diff --git a/packages/gaim/files/docklet-icon-size.patch b/packages/obsolete/gaim/files/docklet-icon-size.patch
index 6b8047a30c..6b8047a30c 100644
--- a/packages/gaim/files/docklet-icon-size.patch
+++ b/packages/obsolete/gaim/files/docklet-icon-size.patch
diff --git a/packages/gaim/files/gaim-OE-branding.patch b/packages/obsolete/gaim/files/gaim-OE-branding.patch
index d090899cac..d090899cac 100644
--- a/packages/gaim/files/gaim-OE-branding.patch
+++ b/packages/obsolete/gaim/files/gaim-OE-branding.patch
diff --git a/packages/gaim/files/gevolution-eds-dbus.patch b/packages/obsolete/gaim/files/gevolution-eds-dbus.patch
index 0b7479d4f7..0b7479d4f7 100644
--- a/packages/gaim/files/gevolution-eds-dbus.patch
+++ b/packages/obsolete/gaim/files/gevolution-eds-dbus.patch
diff --git a/packages/gaim/files/gtk-deprecated-2.0.0.patch b/packages/obsolete/gaim/files/gtk-deprecated-2.0.0.patch
index 04bb9244f0..04bb9244f0 100644
--- a/packages/gaim/files/gtk-deprecated-2.0.0.patch
+++ b/packages/obsolete/gaim/files/gtk-deprecated-2.0.0.patch
diff --git a/packages/gaim/files/no-superimposed-version-on-logo.patch b/packages/obsolete/gaim/files/no-superimposed-version-on-logo.patch
index 86809dfe98..86809dfe98 100644
--- a/packages/gaim/files/no-superimposed-version-on-logo.patch
+++ b/packages/obsolete/gaim/files/no-superimposed-version-on-logo.patch
diff --git a/packages/gaim/files/series b/packages/obsolete/gaim/files/series
index c7a16f71c1..c7a16f71c1 100644
--- a/packages/gaim/files/series
+++ b/packages/obsolete/gaim/files/series
diff --git a/packages/gaim/gaim.inc b/packages/obsolete/gaim/gaim.inc
index d2fb38881a..d2fb38881a 100644
--- a/packages/gaim/gaim.inc
+++ b/packages/obsolete/gaim/gaim.inc
diff --git a/packages/gaim/gaim_1.0.3.bb b/packages/obsolete/gaim/gaim_1.0.3.bb
index f833ddde28..f833ddde28 100644
--- a/packages/gaim/gaim_1.0.3.bb
+++ b/packages/obsolete/gaim/gaim_1.0.3.bb
diff --git a/packages/gaim/gaim_1.1.0.bb b/packages/obsolete/gaim/gaim_1.1.0.bb
index f833ddde28..f833ddde28 100644
--- a/packages/gaim/gaim_1.1.0.bb
+++ b/packages/obsolete/gaim/gaim_1.1.0.bb
diff --git a/packages/gaim/gaim_1.1.1.bb b/packages/obsolete/gaim/gaim_1.1.1.bb
index f833ddde28..f833ddde28 100644
--- a/packages/gaim/gaim_1.1.1.bb
+++ b/packages/obsolete/gaim/gaim_1.1.1.bb
diff --git a/packages/gaim/gaim_1.1.2.bb b/packages/obsolete/gaim/gaim_1.1.2.bb
index 3bf9aeb3a7..3bf9aeb3a7 100644
--- a/packages/gaim/gaim_1.1.2.bb
+++ b/packages/obsolete/gaim/gaim_1.1.2.bb
diff --git a/packages/gaim/gaim_1.4.0.bb b/packages/obsolete/gaim/gaim_1.4.0.bb
index 1585229b14..1585229b14 100644
--- a/packages/gaim/gaim_1.4.0.bb
+++ b/packages/obsolete/gaim/gaim_1.4.0.bb
diff --git a/packages/gaim/gaim_1.5.0.bb b/packages/obsolete/gaim/gaim_1.5.0.bb
index 3bf9aeb3a7..3bf9aeb3a7 100644
--- a/packages/gaim/gaim_1.5.0.bb
+++ b/packages/obsolete/gaim/gaim_1.5.0.bb
diff --git a/packages/gaim/gaim_2.0.0-cvs-mco1.bb b/packages/obsolete/gaim/gaim_2.0.0-cvs-mco1.bb
index bf8591920c..bf8591920c 100644
--- a/packages/gaim/gaim_2.0.0-cvs-mco1.bb
+++ b/packages/obsolete/gaim/gaim_2.0.0-cvs-mco1.bb
diff --git a/packages/obsolete/xcalibrateext/xcalibrateext_cvs.bb b/packages/obsolete/xcalibrateext/xcalibrateext_cvs.bb
deleted file mode 100644
index 4e47c1677e..0000000000
--- a/packages/obsolete/xcalibrateext/xcalibrateext_cvs.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "x11/libs"
-LICENSE = "BSD-X"
-DESCRIPTION = "XCalibrate extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XCalibrateExt"
-S = "${WORKDIR}/XCalibrateExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/nonworking/lftp/files/.mtn2git_empty b/packages/ode/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/lftp/files/.mtn2git_empty
+++ b/packages/ode/.mtn2git_empty
diff --git a/packages/nonworking/libmikey/.mtn2git_empty b/packages/ode/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/libmikey/.mtn2git_empty
+++ b/packages/ode/files/.mtn2git_empty
diff --git a/packages/nonworking/ode/ode_0.8.bb b/packages/ode/ode_0.9.bb
index 9055681a36..9055681a36 100644
--- a/packages/nonworking/ode/ode_0.8.bb
+++ b/packages/ode/ode_0.9.bb
diff --git a/packages/openmoko-panel-plugins/openmoko-panel-memory_svn.bb b/packages/openmoko-panel-plugins/openmoko-panel-memory_svn.bb
new file mode 100644
index 0000000000..8e8af7a086
--- /dev/null
+++ b/packages/openmoko-panel-plugins/openmoko-panel-memory_svn.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "Shows an out-of-memory warning in the OpenMoko panel"
+DEPENDS = "libnotify"
+RDEPENDS = "openmoko-dialer2"
+PV = "0.0.0+svn${SVNREV}"
+PR = "r0"
+
+inherit openmoko-panel-plugin
diff --git a/packages/nonworking/libmnetutil/.mtn2git_empty b/packages/openmoko2/openmoko-dialer2/fic-gta01/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/libmnetutil/.mtn2git_empty
+++ b/packages/openmoko2/openmoko-dialer2/fic-gta01/.mtn2git_empty
diff --git a/packages/openmoko2/openmoko-dialer2/fic-gta01/kernel-2.6.24.patch b/packages/openmoko2/openmoko-dialer2/fic-gta01/kernel-2.6.24.patch
new file mode 100644
index 0000000000..c6f34f4131
--- /dev/null
+++ b/packages/openmoko2/openmoko-dialer2/fic-gta01/kernel-2.6.24.patch
@@ -0,0 +1,13 @@
+Index: openmoko-dialer2/src/phone-kit/moko-notify.c
+===================================================================
+--- openmoko-dialer2/src/phone-kit/moko-notify.c.orig 2008-02-14 17:47:23.000000000 +0800
++++ openmoko-dialer2/src/phone-kit/moko-notify.c 2008-02-14 17:48:19.000000000 +0800
+@@ -38,7 +38,7 @@
+
+ #define DEFAULT_RINGTONE "/default_ringtone.ogg"
+ #define SYS_BRIGHTNESS "/sys/class/backlight/gta01-bl"
+-#define SYS_VIBRATE "/sys/class/leds/gta01:vibrator"
++#define SYS_VIBRATE "/sys/class/leds/neo1973:vibrator"
+
+ struct _MokoNotifyPrivate
+ {
diff --git a/packages/nonworking/libmsip/.mtn2git_empty b/packages/openmoko2/openmoko-dialer2/fic-gta02/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/libmsip/.mtn2git_empty
+++ b/packages/openmoko2/openmoko-dialer2/fic-gta02/.mtn2git_empty
diff --git a/packages/openmoko2/openmoko-dialer2/fic-gta02/kernel-2.6.24.patch b/packages/openmoko2/openmoko-dialer2/fic-gta02/kernel-2.6.24.patch
new file mode 100644
index 0000000000..72c516f5d6
--- /dev/null
+++ b/packages/openmoko2/openmoko-dialer2/fic-gta02/kernel-2.6.24.patch
@@ -0,0 +1,15 @@
+Index: openmoko-dialer2/src/phone-kit/moko-notify.c
+===================================================================
+--- openmoko-dialer2/src/phone-kit/moko-notify.c (revision 4051)
++++ openmoko-dialer2/src/phone-kit/moko-notify.c (working copy)
+@@ -37,8 +37,8 @@
+ MOKO_TYPE_NOTIFY, MokoNotifyPrivate))
+
+ #define DEFAULT_RINGTONE "/default_ringtone.ogg"
+-#define SYS_BRIGHTNESS "/sys/class/backlight/gta01-bl"
+-#define SYS_VIBRATE "/sys/class/leds/gta01:vibrator"
++#define SYS_BRIGHTNESS "/sys/class/backlight/pcf50633-bl"
++#define SYS_VIBRATE "/sys/class/leds/neo1973:vibrator"
+
+ struct _MokoNotifyPrivate
+ {
diff --git a/packages/openmoko2/openmoko-dialer2_svn.bb b/packages/openmoko2/openmoko-dialer2_svn.bb
index 3378e43503..4f15ac07dc 100644
--- a/packages/openmoko2/openmoko-dialer2_svn.bb
+++ b/packages/openmoko2/openmoko-dialer2_svn.bb
@@ -2,11 +2,14 @@ DESCRIPTION = "The OpenMoko Dialer"
SECTION = "openmoko/pim"
DEPENDS = "libgsmd libjana libmokoui2 libmokojournal2 pulseaudio libnotify"
PV = "0.1.0+svnr${SRCREV}"
-PR = "r6"
+PR = "r7"
PE = "1"
inherit openmoko2
+SRC_URI_append_fic-gta01 = " file://kernel-2.6.24.patch;patch=1"
+SRC_URI_append_fic-gta02 = " file://kernel-2.6.24.patch;patch=1"
+
EXTRA_OECONF = "--with-dbusbindir=${STAGING_BINDIR_NATIVE}"
FILES_${PN} += "${datadir}/openmoko-dialer/ ${datadir}/dbus-1/services/"
diff --git a/packages/openmoko2/openmoko-session2.bb b/packages/openmoko2/openmoko-session2.bb
index 3d8c9109e1..02489f5621 100644
--- a/packages/openmoko2/openmoko-session2.bb
+++ b/packages/openmoko2/openmoko-session2.bb
@@ -4,7 +4,7 @@ SECTION = "x11"
RDEPENDS = "matchbox-applet-startup-monitor matchbox-panel-2"
RDEPENDS += "openmoko-common2 openmoko-today2 openmoko-dialer2"
RCONFLICTS_${PN} = "openmoko-session matchbox-common"
-PR = "r63"
+PR = "r64"
SRC_URI = "\
file://etc \
diff --git a/packages/openmoko2/openmoko-session2/etc/matchbox/session b/packages/openmoko2/openmoko-session2/etc/matchbox/session
index 9eea32a45d..f4d1ee9b11 100755
--- a/packages/openmoko2/openmoko-session2/etc/matchbox/session
+++ b/packages/openmoko2/openmoko-session2/etc/matchbox/session
@@ -7,6 +7,6 @@ phone-kit &
matchbox-window-manager -use_titlebar yes -use_desktop_mode decorated -theme openmoko-standard-2 -use_cursor $SHOWCURSOR $@ &
matchbox-panel-2 --start-applets systray,startup \
- --end-applets openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb,openmoko-panel-bt,keyboard --titlebar &
+ --end-applets openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb,openmoko-panel-bt,openmoko-panel-memory,keyboard --titlebar &
exec neod
diff --git a/packages/openmoko2/openmoko-sound-system2/session b/packages/openmoko2/openmoko-sound-system2/session
index ed2346d55f..7ba07e9784 100644
--- a/packages/openmoko2/openmoko-sound-system2/session
+++ b/packages/openmoko2/openmoko-sound-system2/session
@@ -1,7 +1,7 @@
#!/usr/bin/pulseaudio -nF
# Create autoload entries for the device drivers
-add-autoload-sink output module-alsa-sink fragment_size=2048 sink_name=output
+add-autoload-sink output module-alsa-sink sink_name=output
add-autoload-source input module-alsa-source source_name=input
# Load several protocols
diff --git a/packages/openmoko2/openmoko-sound-system2_0.1.0.bb b/packages/openmoko2/openmoko-sound-system2_0.1.0.bb
index 29d0cba1fe..ac281dad76 100644
--- a/packages/openmoko2/openmoko-sound-system2_0.1.0.bb
+++ b/packages/openmoko2/openmoko-sound-system2_0.1.0.bb
@@ -13,7 +13,7 @@ RDEPENDS = "\
"
RREPLACES = "openmoko-sound-system"
RPROVIDES = "openmoko-sound-system"
-PR = "r4"
+PR = "r5"
inherit openmoko-base update-rc.d
diff --git a/packages/nonworking/lzma/.mtn2git_empty b/packages/openttd/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/lzma/.mtn2git_empty
+++ b/packages/openttd/files/.mtn2git_empty
diff --git a/packages/openttd/files/openttd_0.6.0-buildfix.patch b/packages/openttd/files/openttd_0.6.0-buildfix.patch
new file mode 100644
index 0000000000..d815cfc9c6
--- /dev/null
+++ b/packages/openttd/files/openttd_0.6.0-buildfix.patch
@@ -0,0 +1,25 @@
+Index: openttd-0.6.0-beta4/config.lib
+===================================================================
+--- openttd-0.6.0-beta4.orig/config.lib 2008-02-20 20:24:58.000000000 +0100
++++ openttd-0.6.0-beta4/config.lib 2008-02-20 20:26:55.000000000 +0100
+@@ -1255,7 +1255,7 @@
+ if [ -z "$6" ]; then
+ compiler="$3"
+ else
+- compiler="$3-$6"
++ compiler="$4"
+ fi
+ machine=`eval $compiler $9 2>/dev/null`
+ ret=$?
+@@ -1271,11 +1271,6 @@
+ exit 1
+ fi
+
+- if [ "$machine" != "$3" ] && ( [ "$8" = "0" ] || [ "$8" = "1" ] ); then
+- log 1 "checking $1... expected $3, found $machine"
+- log 1 "the compiler suggests it doesn't build code for the machine you specified"
+- exit 1
+- fi
+ elif [ -n "$4" ]; then
+ # Check for manual compiler
+ machine=`$4 $9 2>/dev/null`
diff --git a/packages/openttd/openttd.inc b/packages/openttd/openttd.inc
new file mode 100644
index 0000000000..4c4c009296
--- /dev/null
+++ b/packages/openttd/openttd.inc
@@ -0,0 +1,46 @@
+# Note: OpenTTD's build system changed considerably in 0.6.x
+# This include file is written towards the newer versions.
+
+DESCRIPTION = "Open source clone of the Microprose game 'Transport Tycoon Deluxe' - SDL edition."
+HOMEPAGE = "http://openttd.sf.net"
+LICENSE = "GPLv2"
+
+DEPENDS = "libsdl-net libpng zlib freetype fontconfig"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/openttd/openttd-${PV}-source.tar.bz2"
+
+APPIMAGE = "media/openttd.48.png"
+
+inherit siteinfo sdl
+
+do_configure() {
+ # The way the OTTD configure system handles the application's directories
+ # isn't the way autotools does it. Mainly prefix is always prepended even if
+ # absolute binary-dir and data-dir is given. Sigh ...
+
+ # Disabling MIDI feature for now.
+ ./configure \
+ --build=${BUILD_SYS} \
+ --host=${TARGET_SYS} \
+ --windres=${MACHINE_DISPLAY_WIDTH_PIXELS}x${MACHINE_DISPLAY_HEIGHT_PIXELS} \
+ --os=UNIX \
+ --endian=${SITEINFO_ENDIANESS} \
+ --prefix-dir=${prefix} \
+ --binary-dir=bin \
+ --with-midi=/bin/true \
+ --with-zlib \
+ --with-png \
+ --with-freetype \
+ --cc-build=gcc \
+ --cc-host=${TARGET_SYS}-gcc \
+ --cxx-build=g++ \
+ --cxx-host=${TARGET_SYS}-g++ \
+ --strip=${TARGET_SYS}-strip \
+ --install-dir=${D}
+}
+
+do_install() {
+ oe_runmake install
+}
+
+FILES_${PN} += "${datadir}/*"
diff --git a/packages/openttd/openttd_0.4.0.1.bb b/packages/openttd/openttd_0.4.0.1.bb
index eb5f2e27e9..9dab970849 100644
--- a/packages/openttd/openttd_0.4.0.1.bb
+++ b/packages/openttd/openttd_0.4.0.1.bb
@@ -1,11 +1,6 @@
-DESCRIPTION = "Open source clone of the Microprose game 'Transport Tycoon Deluxe' - SDL edition."
-HOMEPAGE = "http://openttd.sf.net"
-LICENSE = "GPLv2"
-PR = "r1"
+require openttd.inc
-SRC_URI = "${SOURCEFORGE_MIRROR}/openttd/openttd-${PV}-source.tar.gz"
-
-APPIMAGE = "media/openttd.48.png"
+PR = "r2"
EXTRA_OEMAKE = "WITH_ZLIB=1 \
WITH_PNG=1 \
@@ -22,7 +17,9 @@ EXTRA_OEMAKE = "WITH_ZLIB=1 \
CC_HOST=gcc \
CC_TARGET=${TARGET_SYS}-gcc"
-inherit sdl
+do_configure() {
+ :
+}
do_install() {
oe_runmake install DESTDIR="${D}"
@@ -34,4 +31,3 @@ do_install() {
install -m 0644 ${S}/data/*.grf ${D}${datadir}/games/openttd/data/
}
-FILES_${PN} += "${datadir}/*"
diff --git a/packages/openttd/openttd_0.6.0-beta4.bb b/packages/openttd/openttd_0.6.0-beta4.bb
new file mode 100644
index 0000000000..b984d45dbf
--- /dev/null
+++ b/packages/openttd/openttd_0.6.0-beta4.bb
@@ -0,0 +1,8 @@
+require openttd.inc
+
+PR = "r0"
+
+SRC_URI += "file://openttd_0.6.0-buildfix.patch;patch=1"
+
+
+
diff --git a/packages/pango/pango-1.13.3/opentype-makefile.patch b/packages/pango/pango-1.13.3/opentype-makefile.patch
deleted file mode 100644
index 9f68420bc5..0000000000
--- a/packages/pango/pango-1.13.3/opentype-makefile.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- pango/opentype/Makefile.am~ 2006-07-05 14:49:28.000000000 +0200
-+++ pango/opentype/Makefile.am 2006-07-05 14:49:28.000000000 +0200
-@@ -5,7 +5,7 @@
-
- noinst_LTLIBRARIES = libharfbuzz-1.la
-
--SOURCES = \
-+MAIN_SOURCES = \
- ftglue.c \
- harfbuzz-buffer.c \
- harfbuzz-dump.c \
-@@ -34,7 +34,7 @@
- harfbuzz-open-private.h
-
- libharfbuzz_1_la_SOURCES = \
-- $(SOURCES) \
-+ $(MAIN_SOURCES) \
- $(PUBLICHEADERS) \
- $(PRIVATEHEADERS)
-
diff --git a/packages/pango/pango-1.16.0/no-tests.patch b/packages/pango/pango-1.16.0/no-tests.patch
deleted file mode 100644
index dafcb20c3b..0000000000
--- a/packages/pango/pango-1.16.0/no-tests.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- /tmp/Makefile.am 2007-03-01 13:29:37.000000000 +0100
-+++ pango-1.16.0/Makefile.am 2007-03-01 13:29:52.545251000 +0100
-@@ -1,6 +1,6 @@
- ## Process this file with automake to create Makefile.in.
-
--SUBDIRS= pango modules pango-view examples docs tools tests
-+SUBDIRS= pango modules pango-view examples docs tools
-
- EXTRA_DIST = \
- autogen.sh \
diff --git a/packages/pango/pango-1.16.2/no-tests.patch b/packages/pango/pango-1.16.2/no-tests.patch
deleted file mode 100644
index dafcb20c3b..0000000000
--- a/packages/pango/pango-1.16.2/no-tests.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- /tmp/Makefile.am 2007-03-01 13:29:37.000000000 +0100
-+++ pango-1.16.0/Makefile.am 2007-03-01 13:29:52.545251000 +0100
-@@ -1,6 +1,6 @@
- ## Process this file with automake to create Makefile.in.
-
--SUBDIRS= pango modules pango-view examples docs tools tests
-+SUBDIRS= pango modules pango-view examples docs tools
-
- EXTRA_DIST = \
- autogen.sh \
diff --git a/packages/pango/pango-1.18.1/no-tests.patch b/packages/pango/pango-1.18.1/no-tests.patch
deleted file mode 100644
index dafcb20c3b..0000000000
--- a/packages/pango/pango-1.18.1/no-tests.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- /tmp/Makefile.am 2007-03-01 13:29:37.000000000 +0100
-+++ pango-1.16.0/Makefile.am 2007-03-01 13:29:52.545251000 +0100
-@@ -1,6 +1,6 @@
- ## Process this file with automake to create Makefile.in.
-
--SUBDIRS= pango modules pango-view examples docs tools tests
-+SUBDIRS= pango modules pango-view examples docs tools
-
- EXTRA_DIST = \
- autogen.sh \
diff --git a/packages/pango/pango-1.18.3/pkgconfig_fixes.patch b/packages/pango/pango-1.18.3/pkgconfig_fixes.patch
new file mode 100644
index 0000000000..f021591a91
--- /dev/null
+++ b/packages/pango/pango-1.18.3/pkgconfig_fixes.patch
@@ -0,0 +1,79 @@
+Index: pango-1.18.1/configure.in
+===================================================================
+--- pango-1.18.1.orig/configure.in 2007-08-28 00:29:54.000000000 +0000
++++ pango-1.18.1/configure.in 2007-11-12 19:21:22.000000000 +0000
+@@ -226,13 +226,9 @@
+ #
+ # Checks for FreeType
+ #
+- FREETYPE_LIBS=
+- FREETYPE_CFLAGS=
+- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+- if test "x$FREETYPE_CONFIG" != "xno" ; then
+- FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
+- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
++ PKG_CHECK_MODULES(FREETYPE, freetype2 >= 1.0.1, have_freetype=true, AC_MSG_RESULT([no]))
+
++ if $have_freetype ; then
+ pango_save_ldflags=$LDFLAGS
+ LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
+ AC_CHECK_LIB(freetype, FT_Get_Next_Char, have_freetype=true, :)
+Index: pango-1.18.1/pangoft2-uninstalled.pc.in
+===================================================================
+--- pango-1.18.1.orig/pangoft2-uninstalled.pc.in 2007-07-05 21:30:28.000000000 +0000
++++ pango-1.18.1/pangoft2-uninstalled.pc.in 2007-11-12 19:23:44.000000000 +0000
+@@ -1,7 +1,7 @@
+ Name: Pango FT2 Uninstalled
+ Description: Freetype 2.0 font support for Pango, Not Installed
+ Version: @VERSION@
+-Requires: pango
+-Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangoft2-@PANGO_API_VERSION@.la @FREETYPE_LIBS@
+-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ @FREETYPE_CFLAGS@
++Requires: pango freetype2
++Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangoft2-@PANGO_API_VERSION@.la
++Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@
+
+Index: pango-1.18.1/pangoft2.pc.in
+===================================================================
+--- pango-1.18.1.orig/pangoft2.pc.in 2007-07-05 21:30:28.000000000 +0000
++++ pango-1.18.1/pangoft2.pc.in 2007-11-12 19:27:05.000000000 +0000
+@@ -6,7 +6,7 @@
+ Name: Pango FT2
+ Description: Freetype 2.0 font support for Pango
+ Version: @VERSION@
+-Requires: pango
+-Libs: -L${libdir} -lpangoft2-@PANGO_API_VERSION@ @PKGCONFIG_FREETYPE_LIBS@
+-Cflags: -I${includedir}/pango-1.0 @FONTCONFIG_CFLAGS@ @FREETYPE_CFLAGS@
++Requires: pango freetype2 fontconfig
++Libs: -L${libdir} -lpangoft2-@PANGO_API_VERSION@
++Cflags: -I${includedir}/pango-1.0
+
+Index: pango-1.18.1/pangoxft-uninstalled.pc.in
+===================================================================
+--- pango-1.18.1.orig/pangoxft-uninstalled.pc.in 2007-07-05 21:30:28.000000000 +0000
++++ pango-1.18.1/pangoxft-uninstalled.pc.in 2007-11-12 19:22:24.000000000 +0000
+@@ -1,7 +1,7 @@
+ Name: Pango Xft Uninstalled
+ Description: Xft font support for Pango, Not Installed
+ Version: @VERSION@
+-Requires: pango
+-Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangoxft-@PANGO_API_VERSION@.la @XFT_LIBS@
+-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ @X_CFLAGS@ @FREETYPE_CFLAGS@
++Requires: pango xft
++Libs: ${pc_top_builddir}/${pcfiledir}/pango/libpangoxft-@PANGO_API_VERSION@.la
++Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ @X_CFLAGS@
+
+Index: pango-1.18.1/pangoxft.pc.in
+===================================================================
+--- pango-1.18.1.orig/pangoxft.pc.in 2007-07-05 21:30:28.000000000 +0000
++++ pango-1.18.1/pangoxft.pc.in 2007-11-12 19:21:57.000000000 +0000
+@@ -6,6 +6,6 @@
+ Name: Pango Xft
+ Description: Xft font support for Pango
+ Version: @VERSION@
+-Requires: pango pangoft2
+-Libs: -L${libdir} -lpangoxft-@PANGO_API_VERSION@ @PKGCONFIG_XFT_LIBS@
+-Cflags: -I${includedir}/pango-1.0 @XFT_CFLAGS@
++Requires: pango pangoft2 xft
++Libs: -L${libdir} -lpangoxft-@PANGO_API_VERSION@
++Cflags: -I${includedir}/pango-1.0
diff --git a/packages/pango/pango_1.13.3.bb b/packages/pango/pango_1.13.3.bb
deleted file mode 100644
index 90e4acbf50..0000000000
--- a/packages/pango/pango_1.13.3.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-LICENSE = "LGPL"
-SECTION = "x11/libs"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libx11 libxft gtk-doc cairo"
-DESCRIPTION = "The goal of the Pango project is to provide an \
-Open Source framework for the layout and rendering of \
-internationalized text."
-PR = "r2"
-
-RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
-
-# seems to go wrong with default cflags
-FULL_OPTIMIZATION_arm = "-O2"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pango/1.13/pango-${PV}.tar.bz2 \
- file://no-tests.patch;patch=1 \
- file://opentype-makefile.patch;patch=1;pnum=0"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-glibtest \
- --enable-explicit-deps=no \
- --disable-debug"
-
-LEAD_SONAME = "libpango-1.0*"
-LIBV = "1.5.0"
-
-FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*.so.*"
-FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
-FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
-
-do_stage () {
- for lib in pango pangox pangoft2 pangoxft pangocairo; do
- oe_libinstall -so -C pango lib$lib-1.0 ${STAGING_LIBDIR}/
- done
- install -d ${STAGING_INCDIR}/pango
- install -m 0644 ${S}/pango/pango*.h ${STAGING_INCDIR}/pango/
-}
-
-postinst_prologue() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-}
-
-PACKAGES_DYNAMIC = "pango-module-*"
-
-python populate_packages_prepend () {
- prologue = bb.data.getVar("postinst_prologue", d, 1)
-
- modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
-
- do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
-}
diff --git a/packages/pango/pango_1.14.0.bb b/packages/pango/pango_1.14.0.bb
deleted file mode 100644
index caa09c610a..0000000000
--- a/packages/pango/pango_1.14.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-LICENSE = "LGPL"
-SECTION = "x11/libs"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libx11 libxft gtk-doc cairo"
-DESCRIPTION = "The goal of the Pango project is to provide an \
-Open Source framework for the layout and rendering of \
-internationalized text."
-PR = "r2"
-
-PACKAGES_DYNAMIC = "pango-module-*"
-
-RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
-
-# seems to go wrong with default cflags
-FULL_OPTIMIZATION_arm = "-O2"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pango/1.14/pango-${PV}.tar.bz2 \
- file://no-tests.patch;patch=1 \
- "
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-glibtest \
- --enable-explicit-deps=no \
- --disable-debug"
-
-LEAD_SONAME = "libpango-1.0*"
-LIBV = "1.5.0"
-
-FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*.so.*"
-FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
-FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
-
-do_stage () {
- autotools_stage_all
-}
-
-postinst_prologue() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-}
-
-python populate_packages_prepend () {
- prologue = bb.data.getVar("postinst_prologue", d, 1)
-
- modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
-
- do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
-}
diff --git a/packages/pango/pango_1.15.1.bb b/packages/pango/pango_1.15.1.bb
deleted file mode 100644
index 82d1ad2b66..0000000000
--- a/packages/pango/pango_1.15.1.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-DESCRIPTION = "The goal of the Pango project is to provide an \
-Open Source framework for the layout and rendering of \
-internationalized text."
-LICENSE = "LGPL"
-SECTION = "x11/libs"
-
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libx11 libxft gtk-doc cairo"
-
-PR = "r0"
-
-PACKAGES_DYNAMIC = "pango-module-*"
-
-RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
-
-# seems to go wrong with default cflags
-FULL_OPTIMIZATION_arm = "-O2"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pango/1.15/pango-${PV}.tar.bz2 \
- file://no-tests.patch;patch=1 \
- "
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-glibtest \
- --enable-explicit-deps=no \
- --disable-debug"
-
-LEAD_SONAME = "libpango-1.0*"
-LIBV = "1.6.0"
-
-FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*.so.*"
-FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
-FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
-
-do_stage () {
- autotools_stage_all
-}
-
-postinst_prologue() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-}
-
-python populate_packages_prepend () {
- prologue = bb.data.getVar("postinst_prologue", d, 1)
-
- modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
-
- do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
-}
diff --git a/packages/pango/pango_1.15.2.bb b/packages/pango/pango_1.15.2.bb
deleted file mode 100644
index 8e3e8e7d3a..0000000000
--- a/packages/pango/pango_1.15.2.bb
+++ /dev/null
@@ -1 +0,0 @@
-require pango.inc
diff --git a/packages/pango/pango_1.16.0.bb b/packages/pango/pango_1.16.0.bb
deleted file mode 100644
index 8e3e8e7d3a..0000000000
--- a/packages/pango/pango_1.16.0.bb
+++ /dev/null
@@ -1 +0,0 @@
-require pango.inc
diff --git a/packages/pango/pango_1.16.2.bb b/packages/pango/pango_1.16.2.bb
deleted file mode 100644
index 8e3e8e7d3a..0000000000
--- a/packages/pango/pango_1.16.2.bb
+++ /dev/null
@@ -1 +0,0 @@
-require pango.inc
diff --git a/packages/pango/pango_1.16.4.bb b/packages/pango/pango_1.16.4.bb
index 2749b0ba1e..ce81d89263 100644
--- a/packages/pango/pango_1.16.4.bb
+++ b/packages/pango/pango_1.16.4.bb
@@ -1,4 +1,2 @@
-DEFAULT_PREFERENCE = "-1"
-
require pango.inc
diff --git a/packages/pango/pango_1.18.1.bb b/packages/pango/pango_1.18.1.bb
deleted file mode 100644
index 8e3e8e7d3a..0000000000
--- a/packages/pango/pango_1.18.1.bb
+++ /dev/null
@@ -1 +0,0 @@
-require pango.inc
diff --git a/packages/pango/pango_1.18.3.bb b/packages/pango/pango_1.18.3.bb
index 9656f30376..4069cecebd 100644
--- a/packages/pango/pango_1.18.3.bb
+++ b/packages/pango/pango_1.18.3.bb
@@ -1,4 +1,4 @@
require pango.inc
-DEFAULT_PREFERENCE = "-1"
+SRC_URI += "file://pkgconfig_fixes.patch;patch=1"
diff --git a/packages/pango/pango_1.9.1.bb b/packages/pango/pango_1.9.1.bb
deleted file mode 100644
index 66a6a84d22..0000000000
--- a/packages/pango/pango_1.9.1.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-LICENSE = "LGPL"
-SECTION = "x11/libs"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libx11 libxft gtk-doc"
-RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
-DESCRIPTION = "The goal of the Pango project is to provide an \
-Open Source framework for the layout and rendering of \
-internationalized text."
-PR = "r1"
-
-# seems to go wrong with default cflags
-FULL_OPTIMIZATION_arm = "-O2"
-
-SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.7/pango-${PV}.tar.bz2 \
- file://no-tests.patch;patch=1"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-glibtest \
- --enable-explicit-deps=no \
- --disable-debug"
-
-LEAD_SONAME = "libpango-1.0*"
-LIBV = "1.4.0"
-
-FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*.so.*"
-FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
-FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
-
-do_stage () {
- for lib in pango pangox pangoft2 pangoxft; do
- oe_libinstall -so -C pango lib$lib-1.0 ${STAGING_LIBDIR}/
- done
- install -d ${STAGING_INCDIR}/pango
- install -m 0644 ${S}/pango/pango*.h ${STAGING_INCDIR}/pango/
-}
-
-postinst_prologue() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-}
-
-PACKAGES_DYNAMIC = "pango-module-*"
-
-python populate_packages_prepend () {
- prologue = bb.data.getVar("postinst_prologue", d, 1)
-
- modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
-
- do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
-}
diff --git a/packages/panoramixext/.mtn2git_empty b/packages/panoramixext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/panoramixext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/panoramixext/panoramixext_1.1.bb b/packages/panoramixext/panoramixext_1.1.bb
deleted file mode 100644
index 2da504779f..0000000000
--- a/packages/panoramixext/panoramixext_1.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "libs"
-LICENSE= "MIT"
-PRIORITY = "optional"
-DESCRIPTION = "PanoramiX extension headers"
-
-SRC_URI = "${XLIBS_MIRROR}/panoramixext-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DIR}/man
-}
diff --git a/packages/panoramixext/panoramixext_cvs.bb b/packages/panoramixext/panoramixext_cvs.bb
deleted file mode 100644
index 08cc0cc51e..0000000000
--- a/packages/panoramixext/panoramixext_cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "MIT"
-SECTION = "libs"
-PRIORITY = "optional"
-DESCRIPTION = "PanoramiX extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=PanoramiXExt"
-S = "${WORKDIR}/PanoramiXExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DIR}/man
-}
diff --git a/packages/pax-utils/pax-utils-native_0.1.13.bb b/packages/pax-utils/pax-utils-native_0.1.13.bb
index d586dcb29e..5a56c01aa4 100644
--- a/packages/pax-utils/pax-utils-native_0.1.13.bb
+++ b/packages/pax-utils/pax-utils-native_0.1.13.bb
@@ -3,5 +3,10 @@ inherit native
require pax-utils_${PV}.bb
do_stage() {
- oe_runmake PREFIX=${STAGING_DIR}/${HOST_SYS} install
+ oe_runmake PREFIX=${STAGING_DIR_HOST}${layout_prefix} install
}
+
+do_install() {
+ :
+}
+
diff --git a/packages/perl/libwww-perl-native_5.808.bb b/packages/perl/libwww-perl-native_5.808.bb
new file mode 100644
index 0000000000..68fdcbbbe5
--- /dev/null
+++ b/packages/perl/libwww-perl-native_5.808.bb
@@ -0,0 +1,5 @@
+SECTION = "libs"
+
+inherit native
+
+require libwww-perl_${PV}.bb
diff --git a/packages/perl/libwww-perl_5.808.bb b/packages/perl/libwww-perl_5.808.bb
new file mode 100644
index 0000000000..2bea48a2d0
--- /dev/null
+++ b/packages/perl/libwww-perl_5.808.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "libwww-perl provides a simple and consistent API to the World Wide Web"
+SECTION = "libs"
+LICENSE = "Artistic"
+DEPENDS = "liburi-perl-native"
+RDEPENDS = "liburi-perl"
+PR = "r1"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-${PV}.tar.gz"
+
+S = "${WORKDIR}/libwww-perl-${PV}"
+
+inherit cpan
diff --git a/packages/php/php_5.2.0.bb b/packages/php/php_5.2.0.bb
index 4ed88cf411..890d467c10 100644
--- a/packages/php/php_5.2.0.bb
+++ b/packages/php/php_5.2.0.bb
@@ -15,7 +15,7 @@ EXTRA_OECONF = " --without-iconv \
--enable-embedded-mysqli \
--enable-magic-quotes \
--with-zlib \
- --with-mysql="${STAGING_DIR}/${TARGET_SYS}" \
+ --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \
--with-mysqli="${STAGING_BINDIR_NATIVE}/mysql_config" \
"
diff --git a/packages/nonworking/minisip/.mtn2git_empty b/packages/pidgin/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/minisip/.mtn2git_empty
+++ b/packages/pidgin/.mtn2git_empty
diff --git a/packages/gaim/pidgin.inc b/packages/pidgin/pidgin.inc
index a2ef61a508..a2ef61a508 100644
--- a/packages/gaim/pidgin.inc
+++ b/packages/pidgin/pidgin.inc
diff --git a/packages/nonworking/ode/.mtn2git_empty b/packages/pidgin/pidgin/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/ode/.mtn2git_empty
+++ b/packages/pidgin/pidgin/.mtn2git_empty
diff --git a/packages/gaim/pidgin/gconf-no-errors.patch b/packages/pidgin/pidgin/gconf-no-errors.patch
index 9a95175ac9..9a95175ac9 100644
--- a/packages/gaim/pidgin/gconf-no-errors.patch
+++ b/packages/pidgin/pidgin/gconf-no-errors.patch
diff --git a/packages/gaim/pidgin/pidgin.desktop-set-icon.patch b/packages/pidgin/pidgin/pidgin.desktop-set-icon.patch
index 05f76895ba..05f76895ba 100644
--- a/packages/gaim/pidgin/pidgin.desktop-set-icon.patch
+++ b/packages/pidgin/pidgin/pidgin.desktop-set-icon.patch
diff --git a/packages/gaim/files/purple-OE-branding.patch b/packages/pidgin/pidgin/purple-OE-branding.patch
index 99c61375ce..99c61375ce 100644
--- a/packages/gaim/files/purple-OE-branding.patch
+++ b/packages/pidgin/pidgin/purple-OE-branding.patch
diff --git a/packages/gaim/pidgin/sanitize-configure.ac.patch b/packages/pidgin/pidgin/sanitize-configure.ac.patch
index a77d64f40b..a77d64f40b 100644
--- a/packages/gaim/pidgin/sanitize-configure.ac.patch
+++ b/packages/pidgin/pidgin/sanitize-configure.ac.patch
diff --git a/packages/gaim/pidgin_2.0.2.bb b/packages/pidgin/pidgin_2.0.2.bb
index 2cc02c5072..2cc02c5072 100644
--- a/packages/gaim/pidgin_2.0.2.bb
+++ b/packages/pidgin/pidgin_2.0.2.bb
diff --git a/packages/gaim/pidgin_2.1.1.bb b/packages/pidgin/pidgin_2.1.1.bb
index 5531880669..5531880669 100644
--- a/packages/gaim/pidgin_2.1.1.bb
+++ b/packages/pidgin/pidgin_2.1.1.bb
diff --git a/packages/gaim/pidgin_2.2.1.bb b/packages/pidgin/pidgin_2.2.1.bb
index 5531880669..5531880669 100644
--- a/packages/gaim/pidgin_2.2.1.bb
+++ b/packages/pidgin/pidgin_2.2.1.bb
diff --git a/packages/postgresql/postgresql.inc b/packages/postgresql/postgresql.inc
index 36ec1187aa..9f1335b2bd 100644
--- a/packages/postgresql/postgresql.inc
+++ b/packages/postgresql/postgresql.inc
@@ -7,10 +7,65 @@ DEPENDS = "zlib readline"
SRC_URI = "ftp://ftp-archives.postgresql.org/pub/source/v${PV}/${P}.tar.bz2"
+LEAD_SONAME = "libpq.so"
+
inherit autotools pkgconfig
do_compile_append() {
cp /usr/sbin/zic ${S}/src/timezone/
}
+do_stage() {
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/pgsql
+ oe_libinstall -a -so -C src/interfaces/libpq libpq ${STAGING_LIBDIR}/pgsql
+
+ oe_libinstall -a -so -C src/interfaces/ecpg/ecpglib libecpg ${STAGING_LIBDIR}
+ oe_libinstall -a -so -C src/interfaces/ecpg/compatlib libecpg_compat ${STAGING_LIBDIR}
+ oe_libinstall -a -so -C src/interfaces/ecpg/pgtypeslib libpgtypes ${STAGING_LIBDIR}
+}
+
+PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \
+ libecpg-compat-dbg libecpg-compat \
+ libecpg-dbg libecpg libecpg-dev \
+ libpq-dbg libpq libpq-dev \
+ libpgtypes-dbg libpgtypes "
+
+FILES_${PN}-client = "${bindir}/clusterdb \
+ ${bindir}/createdb \
+ ${bindir}/createlang \
+ ${bindir}/createuser \
+ ${bindir}/dropdb \
+ ${bindir}/droplang \
+ ${bindir}/dropuser \
+ ${bindir}/pg_dump \
+ ${bindir}/pg_dumpall \
+ ${bindir}/pg_restore \
+ ${bindir}/psql \
+ ${bindir}/reindexdb \
+ ${bindir}/vacuumdb \
+ ${bindir}/vacuumlo \
+ ${datadir}/${PN}/psqlrc.sample"
+
FILES_${PN}-doc += "${prefix}/doc/"
+FILES_${PN}-timezone = "${datadir}/${PN}/timezone"
+FILES_${PN}-server-dev = "${includedir}/${PN}/server"
+
+FILES_libecpg = "${libdir}/libecpg*.so.*"
+FILES_libecpg-dbg = "${libdir}/.debug/libecpg*"
+FILES_libecpg-dev = "${libdir}/libecpg*.a ${libdir}/libecpg*.so \
+ ${libdir}/libpgtypes*.a ${libdir}/libpgtypes*.so \
+ ${includedir}/ecpg*.h ${includedir}/${PN}/ecpg*.h \
+ ${includedir}/pgtypes*.h ${includedir}/${PN}/informix \
+ ${includedir}/sql3types.h ${includedir}/sqlca.h"
+
+FILES_libpq = "${libdir}/libpq*.so.*"
+FILES_libpq-dbg = "${libdir}/.debug/libpq*"
+FILES_libpq-dev = "${libdir}/libpq*.a ${libdir}/libpq*.so ${libdir}/libpgport.a \
+ ${includedir}"
+
+FILES_libecpg-compat = "${libdir}/libecpg_compat*.so.*"
+FILES_libecpg-compat-dbg = "${libdir}/.debug/libecpg_compat*"
+FILES_libpgtypes = "${libdir}/libpgtypes*.so.*"
+FILES_libpgtypes-dbg = "${libdir}/.debug/libpgtypes*"
diff --git a/packages/postgresql/postgresql_8.1.4.bb b/packages/postgresql/postgresql_8.1.4.bb
index 27b067b5cb..eb03642085 100644
--- a/packages/postgresql/postgresql_8.1.4.bb
+++ b/packages/postgresql/postgresql_8.1.4.bb
@@ -1,3 +1,3 @@
require postgresql.inc
-PR = "r1"
+PR = "r2"
diff --git a/packages/postgresql/postgresql_8.1.8.bb b/packages/postgresql/postgresql_8.1.8.bb
index 27b067b5cb..eb03642085 100644
--- a/packages/postgresql/postgresql_8.1.8.bb
+++ b/packages/postgresql/postgresql_8.1.8.bb
@@ -1,3 +1,3 @@
require postgresql.inc
-PR = "r1"
+PR = "r2"
diff --git a/packages/postgresql/postgresql_8.2.4.bb b/packages/postgresql/postgresql_8.2.4.bb
index 3dc8577c1c..6e778e5b49 100644
--- a/packages/postgresql/postgresql_8.2.4.bb
+++ b/packages/postgresql/postgresql_8.2.4.bb
@@ -1,6 +1,6 @@
require postgresql.inc
-PR = "r1"
+PR = "r2"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "http://ftp.de.postgresql.org/mirror/postgresql/source/v${PV}/${P}.tar.bz2 \
diff --git a/packages/prboom/files/m4.patch b/packages/prboom/files/m4.patch
deleted file mode 100644
index e7918156e2..0000000000
--- a/packages/prboom/files/m4.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- /dev/null 1970-01-01 01:00:00.000000000 +0100
-+++ Src/m4/sdl.m4 2004-01-21 00:43:55.000000000 +0100
-@@ -0,0 +1,175 @@
-+# Configure paths for SDL
-+# Sam Lantinga 9/21/99
-+# stolen from Manish Singh
-+# stolen back from Frank Belew
-+# stolen from Manish Singh
-+# Shamelessly stolen from Owen Taylor
-+
-+dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-+dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
-+dnl
-+AC_DEFUN(AM_PATH_SDL,
-+[dnl
-+dnl Get the cflags and libraries from the sdl-config script
-+dnl
-+AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
-+ sdl_prefix="$withval", sdl_prefix="")
-+AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
-+ sdl_exec_prefix="$withval", sdl_exec_prefix="")
-+AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
-+ , enable_sdltest=yes)
-+
-+ if test x$sdl_exec_prefix != x ; then
-+ sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
-+ if test x${SDL_CONFIG+set} != xset ; then
-+ SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
-+ fi
-+ fi
-+ if test x$sdl_prefix != x ; then
-+ sdl_args="$sdl_args --prefix=$sdl_prefix"
-+ if test x${SDL_CONFIG+set} != xset ; then
-+ SDL_CONFIG=$sdl_prefix/bin/sdl-config
-+ fi
-+ fi
-+
-+ AC_REQUIRE([AC_CANONICAL_TARGET])
-+ PATH="$prefix/bin:$prefix/usr/bin:$PATH"
-+ AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
-+ min_sdl_version=ifelse([$1], ,0.11.0,$1)
-+ AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
-+ no_sdl=""
-+ if test "$SDL_CONFIG" = "no" ; then
-+ no_sdl=yes
-+ else
-+ SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
-+ SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
-+
-+ sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
-+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-+ sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
-+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-+ sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
-+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-+ if test "x$enable_sdltest" = "xyes" ; then
-+ ac_save_CFLAGS="$CFLAGS"
-+ ac_save_LIBS="$LIBS"
-+ CFLAGS="$CFLAGS $SDL_CFLAGS"
-+ LIBS="$LIBS $SDL_LIBS"
-+dnl
-+dnl Now check if the installed SDL is sufficiently new. (Also sanity
-+dnl checks the results of sdl-config to some extent
-+dnl
-+ rm -f conf.sdltest
-+ AC_TRY_RUN([
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include "SDL.h"
-+
-+char*
-+my_strdup (char *str)
-+{
-+ char *new_str;
-+
-+ if (str)
-+ {
-+ new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
-+ strcpy (new_str, str);
-+ }
-+ else
-+ new_str = NULL;
-+
-+ return new_str;
-+}
-+
-+int main (int argc, char *argv[])
-+{
-+ int major, minor, micro;
-+ char *tmp_version;
-+
-+ /* This hangs on some systems (?)
-+ system ("touch conf.sdltest");
-+ */
-+ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
-+
-+ /* HP/UX 9 (%@#!) writes to sscanf strings */
-+ tmp_version = my_strdup("$min_sdl_version");
-+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-+ printf("%s, bad version string\n", "$min_sdl_version");
-+ exit(1);
-+ }
-+
-+ if (($sdl_major_version > major) ||
-+ (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
-+ (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
-+ {
-+ return 0;
-+ }
-+ else
-+ {
-+ printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
-+ printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
-+ printf("*** best to upgrade to the required version.\n");
-+ printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
-+ printf("*** to point to the correct copy of sdl-config, and remove the file\n");
-+ printf("*** config.cache before re-running configure\n");
-+ return 1;
-+ }
-+}
-+
-+],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-+ CFLAGS="$ac_save_CFLAGS"
-+ LIBS="$ac_save_LIBS"
-+ fi
-+ fi
-+ if test "x$no_sdl" = x ; then
-+ AC_MSG_RESULT(yes)
-+ ifelse([$2], , :, [$2])
-+ else
-+ AC_MSG_RESULT(no)
-+ if test "$SDL_CONFIG" = "no" ; then
-+ echo "*** The sdl-config script installed by SDL could not be found"
-+ echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
-+ echo "*** your path, or set the SDL_CONFIG environment variable to the"
-+ echo "*** full path to sdl-config."
-+ else
-+ if test -f conf.sdltest ; then
-+ :
-+ else
-+ echo "*** Could not run SDL test program, checking why..."
-+ CFLAGS="$CFLAGS $SDL_CFLAGS"
-+ LIBS="$LIBS $SDL_LIBS"
-+ AC_TRY_LINK([
-+#include <stdio.h>
-+#include "SDL.h"
-+
-+int main(int argc, char *argv[])
-+{ return 0; }
-+#undef main
-+#define main K_and_R_C_main
-+], [ return 0; ],
-+ [ echo "*** The test program compiled, but did not run. This usually means"
-+ echo "*** that the run-time linker is not finding SDL or finding the wrong"
-+ echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
-+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
-+ echo "*** is required on your system"
-+ echo "***"
-+ echo "*** If you have an old version installed, it is best to remove it, although"
-+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
-+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
-+ echo "*** exact error that occured. This usually means SDL was incorrectly installed"
-+ echo "*** or that you have moved SDL since it was installed. In the latter case, you"
-+ echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
-+ CFLAGS="$ac_save_CFLAGS"
-+ LIBS="$ac_save_LIBS"
-+ fi
-+ fi
-+ SDL_CFLAGS=""
-+ SDL_LIBS=""
-+ ifelse([$3], , :, [$3])
-+ fi
-+ AC_SUBST(SDL_CFLAGS)
-+ AC_SUBST(SDL_LIBS)
-+ rm -f conf.sdltest
-+])
diff --git a/packages/prboom/prboom_2.2.6.bb b/packages/prboom/prboom_2.2.6.bb
index a54616db71..7bcfa90ae1 100644
--- a/packages/prboom/prboom_2.2.6.bb
+++ b/packages/prboom/prboom_2.2.6.bb
@@ -6,17 +6,11 @@ LICENSE = "GPL"
PR = "r1"
-SRC_URI = "${SOURCEFORGE_MIRROR}/prboom/prboom-${PV}.tar.gz \
- file://m4.patch;patch=1"
+SRC_URI = "${SOURCEFORGE_MIRROR}/prboom/prboom-${PV}.tar.gz"
inherit autotools
-EXTRA_OECONF = "--without-x --disable-sdltest --with-sdl-exec-prefix=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
-
-do_configure() {
- gnu-configize
- oe_runconf
-}
+EXTRA_OECONF = "--without-x --disable-sdltest"
do_install() {
install -d ${D}${bindir} \
diff --git a/packages/prboom/prboom_2.3.1.bb b/packages/prboom/prboom_2.3.1.bb
index 7af6048bcd..e681967424 100644
--- a/packages/prboom/prboom_2.3.1.bb
+++ b/packages/prboom/prboom_2.3.1.bb
@@ -10,18 +10,12 @@ LICENSE = "GPL"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "${SOURCEFORGE_MIRROR}/prboom/prboom-${PV}.tar.gz \
- file://m4.patch;patch=1 \
file://prboom.png \
file://prboom.desktop"
inherit autotools
-EXTRA_OECONF = "--without-x --disable-sdltest --with-sdl-exec-prefix=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
-
-do_configure() {
- gnu-configize
- oe_runconf
-}
+EXTRA_OECONF = "--without-x --disable-sdltest"
do_install() {
install -d ${D}${palmtopdir}/bin \
diff --git a/packages/prismstumbler/prismstumbler_0.7.3+0.7.4pre1.bb b/packages/prismstumbler/prismstumbler_0.7.3+0.7.4pre1.bb
index 7b60122445..22309f9203 100644
--- a/packages/prismstumbler/prismstumbler_0.7.3+0.7.4pre1.bb
+++ b/packages/prismstumbler/prismstumbler_0.7.3+0.7.4pre1.bb
@@ -20,12 +20,12 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
--x-libraries=${STAGING_LIBDIR} \
- --with-libgps=${STAGING_DIR}/${HOST_SYS} \
- --with-libpcap=${STAGING_DIR}/${HOST_SYS} \
+ --with-libgps=${STAGING_EXECPREFIXDIR} \
+ --with-libpcap=${STAGING_EXECPREFIXDIR} \
--with-sqlite-includes=${STAGING_INCDIR} \
--with-sqlite-libs=${STAGING_LIBDIR} \
--without-athena --enable-dbus \
- --with-libiw=${STAGING_DIR}/${HOST_SYS}"
+ --with-libiw=${STAGING_EXECPREFIXDIR}"
CFLAGS =+ "-I${S}/include"
LDFLAGS += "-lz"
diff --git a/packages/prismstumbler/prismstumbler_0.7.3.bb b/packages/prismstumbler/prismstumbler_0.7.3.bb
index 29a112d95a..5bddcf31b6 100644
--- a/packages/prismstumbler/prismstumbler_0.7.3.bb
+++ b/packages/prismstumbler/prismstumbler_0.7.3.bb
@@ -17,7 +17,7 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
--x-libraries=${STAGING_LIBDIR} \
- --with-libpcap=${STAGING_DIR}/${HOST_SYS} \
+ --with-libpcap=${STAGING_EXECPREFIXDIR} \
--with-sqlite-includes=${STAGING_INCDIR} \
--with-sqlite-libs=${STAGING_LIBDIR} \
--without-athena \
diff --git a/packages/psplash/files/logo-math.patch b/packages/psplash/files/logo-math.patch
index 87574b1855..21467af0ec 100644
--- a/packages/psplash/files/logo-math.patch
+++ b/packages/psplash/files/logo-math.patch
@@ -1,3 +1,5 @@
+upstream: http://bugzilla.openedhand.com/show_bug.cgi?id=801
+comment:
Do better math when showing logo vs progressbar.
--- psplash/psplash.c.org 2007-09-22 20:33:36.000000000 +0300
diff --git a/packages/psplash/psplash_svn.bb b/packages/psplash/psplash_svn.bb
index 17b459a15f..7e19ce3cbb 100644
--- a/packages/psplash/psplash_svn.bb
+++ b/packages/psplash/psplash_svn.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://projects.o-hand.com/psplash"
SECTION = "base"
LICENSE = "GPL"
PV = "0.0+svnr${SRCREV}"
-PR = "r12"
+PR = "r13"
RDEPENDS = "initscripts"
# You can create your own pslash-hand-img.h by doing
@@ -36,6 +36,6 @@ do_install_prepend() {
}
INITSCRIPT_NAME = "psplash"
-INITSCRIPT_PARAMS = "start 0 S . stop 20 0 1 6 ."
+INITSCRIPT_PARAMS = "start 01 S . stop 20 0 1 6 ."
FILES_${PN} += "/mnt/.psplash"
diff --git a/packages/pulseaudio/pulse.inc b/packages/pulseaudio/pulse.inc
index b6b622d9c6..4b13980cc4 100644
--- a/packages/pulseaudio/pulse.inc
+++ b/packages/pulseaudio/pulse.inc
@@ -20,8 +20,8 @@ EXTRA_OECONF = "\
--with-glib \
--with-alsa \
--with-oss \
- --with-hal \
- "
+ --with-hal \
+"
PARALLEL_MAKE = ""
@@ -83,7 +83,8 @@ pkg_postinst_${PN}-server() {
grep -q pulse: /etc/group || addgroup pulse
grep -q pulse: /etc/passwd || \
adduser --disabled-password --home=/var/run/pulse --system \
- --ingroup pulse --no-create-home -g "Pulse audio daemon" pulse
+ --ingroup pulse --no-create-home -g "Pulse audio daemon" pulse
+ addgroup pulse audio
/etc/init.d/populate-volatile.sh update
}
diff --git a/packages/pulseaudio/pulseaudio_0.9.6.bb b/packages/pulseaudio/pulseaudio_0.9.6.bb
index aa07afe6fe..56b717aac7 100644
--- a/packages/pulseaudio/pulseaudio_0.9.6.bb
+++ b/packages/pulseaudio/pulseaudio_0.9.6.bb
@@ -1,4 +1,4 @@
require pulse.inc
-PR = "r6"
+PR = "r7"
diff --git a/packages/pulseaudio/pulseaudio_0.9.9.bb b/packages/pulseaudio/pulseaudio_0.9.9.bb
index d1e5706809..7e63b61eb3 100644
--- a/packages/pulseaudio/pulseaudio_0.9.9.bb
+++ b/packages/pulseaudio/pulseaudio_0.9.9.bb
@@ -8,11 +8,9 @@ SRC_URI += "\
file://fix-dbus-without-hal.patch;patch=1 \
"
-PR = "r1"
+PR = "r3"
# problems w/ pulseaudio 0.9.9 atm:
# 1.) needs libltdl >= 1.5.24 (yes, any older version will NOT work at runtime)
# 2.) doesn't build w/ glibc TLS support (hence patched out)
-# 3.) hangs, if used with gst-pulse 0.9.7, fails with hierarchical pthread stuff
-DEFAULT_PREFERENCE = "-1"
-
+# 3.) fails with hierarchical pthread stuff w/ gst-pulse (hence patched out)
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20050911/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20050911/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20050911/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20050911/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20050911/Makefile.patch
deleted file mode 100644
index 829c741b69..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20050911/Makefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- driver/Makefile- 2005-09-11 13:22:08.000000000 -1000
-+++ driver/Makefile 2005-09-17 01:02:06.341217389 -1000
-@@ -37,10 +37,10 @@
- all: modules
-
- modules modules_install clean:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) $@
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS)" -C $(KDIR) M=$(shell pwd) $@
-
- install:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) modules_install
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS)" -C $(KDIR) M=$(shell pwd) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20050921/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20050921/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20050921/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20050921/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20050921/Makefile.patch
deleted file mode 100644
index 829c741b69..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20050921/Makefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- driver/Makefile- 2005-09-11 13:22:08.000000000 -1000
-+++ driver/Makefile 2005-09-17 01:02:06.341217389 -1000
-@@ -37,10 +37,10 @@
- all: modules
-
- modules modules_install clean:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) $@
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS)" -C $(KDIR) M=$(shell pwd) $@
-
- install:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) modules_install
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS)" -C $(KDIR) M=$(shell pwd) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20051016/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20051016/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20051016/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20051016/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20051016/Makefile.patch
deleted file mode 100644
index b79c42e2c5..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20051016/Makefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- driver/Makefile- 2005-09-11 13:22:08.000000000 -1000
-+++ driver/Makefile 2005-09-17 01:02:06.341217389 -1000
-@@ -37,10 +37,10 @@
- all: modules
-
- modules modules_install clean:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) $@
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS) $(TARGET_CFLAGS)" -C $(KDIR) M=$(shell pwd) $@
-
- install:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) modules_install
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS) $(TARGET_CFLAGS)" -C $(KDIR) M=$(shell pwd) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20051113/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20051113/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20051113/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20051113/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20051113/Makefile.patch
deleted file mode 100644
index b79c42e2c5..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20051113/Makefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- driver/Makefile- 2005-09-11 13:22:08.000000000 -1000
-+++ driver/Makefile 2005-09-17 01:02:06.341217389 -1000
-@@ -37,10 +37,10 @@
- all: modules
-
- modules modules_install clean:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) $@
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS) $(TARGET_CFLAGS)" -C $(KDIR) M=$(shell pwd) $@
-
- install:
-- $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(shell pwd) modules_install
-+ $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) CFLAGS="$(CFLAGS) $(TARGET_CFLAGS)" -C $(KDIR) M=$(shell pwd) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060209/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060209/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060209/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060209/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060209/Makefile.patch
deleted file mode 100644
index 29b1267177..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060209/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile- Tue Feb 28 21:05:41 2006
---- driver/Makefile Tue Feb 28 21:07:15 2006
-***************
-*** 45,54 ****
- M:=$(shell pwd)
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) CONFIG_VIDEO_PVRUSB2=m $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) CONFIG_VIDEO_PVRUSB2=m modules_install
-
- else
-
---- 45,54 ----
- M:=$(shell pwd)
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) CONFIG_VIDEO_PVRUSB2=m $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) CONFIG_VIDEO_PVRUSB2=m modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060326/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060326/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060326/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060326/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060326/Makefile.patch
deleted file mode 100644
index 29b1267177..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060326/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile- Tue Feb 28 21:05:41 2006
---- driver/Makefile Tue Feb 28 21:07:15 2006
-***************
-*** 45,54 ****
- M:=$(shell pwd)
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) CONFIG_VIDEO_PVRUSB2=m $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) CONFIG_VIDEO_PVRUSB2=m modules_install
-
- else
-
---- 45,54 ----
- M:=$(shell pwd)
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) CONFIG_VIDEO_PVRUSB2=m $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) CONFIG_VIDEO_PVRUSB2=m modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060329/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060329/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060329/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060329/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060329/Makefile.patch
deleted file mode 100644
index 29b1267177..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060329/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile- Tue Feb 28 21:05:41 2006
---- driver/Makefile Tue Feb 28 21:07:15 2006
-***************
-*** 45,54 ****
- M:=$(shell pwd)
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) CONFIG_VIDEO_PVRUSB2=m $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) CONFIG_VIDEO_PVRUSB2=m modules_install
-
- else
-
---- 45,54 ----
- M:=$(shell pwd)
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) CONFIG_VIDEO_PVRUSB2=m $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) CONFIG_VIDEO_PVRUSB2=m modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060423/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060423/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060423/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060517/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060517/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060517/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060517/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060517/Makefile.patch
deleted file mode 100644
index 3db0b2c9d6..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060517/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile.orig 2006-04-02 03:40:31.000000000 +0200
---- driver/Makefile 2006-04-26 21:56:46.000000000 +0200
-***************
-*** 57,66 ****
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
---- 57,66 ----
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060607/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060607/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060607/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060607/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060607/Makefile.patch
deleted file mode 100644
index 3db0b2c9d6..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060607/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile.orig 2006-04-02 03:40:31.000000000 +0200
---- driver/Makefile 2006-04-26 21:56:46.000000000 +0200
-***************
-*** 57,66 ****
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
---- 57,66 ----
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060626/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060626/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060626/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060626/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060626/Makefile.patch
deleted file mode 100644
index 3db0b2c9d6..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060626/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile.orig 2006-04-02 03:40:31.000000000 +0200
---- driver/Makefile 2006-04-26 21:56:46.000000000 +0200
-***************
-*** 57,66 ****
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
---- 57,66 ----
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060702/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060702/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060702/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060702/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060702/Makefile.patch
deleted file mode 100644
index 3db0b2c9d6..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060702/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile.orig 2006-04-02 03:40:31.000000000 +0200
---- driver/Makefile 2006-04-26 21:56:46.000000000 +0200
-***************
-*** 57,66 ****
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
---- 57,66 ----
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060726/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20060726/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060726/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060726/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20060726/Makefile.patch
deleted file mode 100644
index 3db0b2c9d6..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060726/Makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-*** driver/Makefile.orig 2006-04-02 03:40:31.000000000 +0200
---- driver/Makefile 2006-04-26 21:56:46.000000000 +0200
-***************
-*** 57,66 ****
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
---- 57,66 ----
- CONFIG_VARS+= CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
-
- modules modules_install clean:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) $@
-
- install:
-! $(MAKE) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) -C $(KDIR) CFLAGS="$(CFLAGS)" M=$(M) $(CONFIG_VARS) modules_install
-
- else
-
diff --git a/packages/nonworking/ode/files/.mtn2git_empty b/packages/pvrusb2-mci/pvrusb2-mci-20080210/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/ode/files/.mtn2git_empty
+++ b/packages/pvrusb2-mci/pvrusb2-mci-20080210/.mtn2git_empty
diff --git a/packages/pvrusb2-mci/pvrusb2-mci-20060423/Makefile.patch b/packages/pvrusb2-mci/pvrusb2-mci-20080210/Makefile.patch
index 3db0b2c9d6..3db0b2c9d6 100644
--- a/packages/pvrusb2-mci/pvrusb2-mci-20060423/Makefile.patch
+++ b/packages/pvrusb2-mci/pvrusb2-mci-20080210/Makefile.patch
diff --git a/packages/pvrusb2-mci/pvrusb2-mci2.inc b/packages/pvrusb2-mci/pvrusb2-mci2.inc
new file mode 100644
index 0000000000..f916880cf4
--- /dev/null
+++ b/packages/pvrusb2-mci/pvrusb2-mci2.inc
@@ -0,0 +1,4 @@
+require pvrusb2-mci.inc
+
+export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir}"
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20050911.bb b/packages/pvrusb2-mci/pvrusb2-mci_20050911.bb
deleted file mode 100644
index 93fa743e53..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20050911.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require pvrusb2-mci.inc
-
-# It in fact requires these modules, but for now is using the local ones.
-# RDEPENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20050911.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-20050911/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20050921.bb b/packages/pvrusb2-mci/pvrusb2-mci_20050921.bb
deleted file mode 100644
index a62c6f3d42..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20050921.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require pvrusb2-mci.inc
-
-RDEPENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400"
-# It in fact also requires kernel-module-saa7115", but for now is using the local ones.
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20050921.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-20050921/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20051016.bb b/packages/pvrusb2-mci/pvrusb2-mci_20051016.bb
deleted file mode 100644
index bd8070708e..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20051016.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-# It in fact requires these modules, but for now is using the local ones.
-# RDEPENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20051016.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-20051016/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20051113.bb b/packages/pvrusb2-mci/pvrusb2-mci_20051113.bb
deleted file mode 100644
index 25a08d9bff..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20051113.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-# It in fact requires these modules, but for now is using the local ones.
-# RDEPENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20051113.tar.bz2"
-
-#SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20051113.tar.bz2 \
-# file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-20051113"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-
-do_compile() {
- cd ivtv; oe_runmake
- cd ../driver; oe_runmake
-}
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 ivtv/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 driver/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
-
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060101.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060101.bb
deleted file mode 100644
index 9f91a111ad..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060101.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-# It in fact requires these modules, but for now is using the local ones.
-# RRECOMMEND = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115"
-RRECOMMEND = "kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20060101.tar.bz2"
-
-S = "${WORKDIR}/pvrusb2-mci-20060101"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-
-do_compile() {
- cd ivtv; oe_runmake
- cd ../driver; oe_runmake
-}
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 ivtv/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 driver/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060103.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060103.bb
deleted file mode 100644
index d8c17cbde6..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060103.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-# It in fact requires these modules, but for now is using the local ones.
-# RRECOMMEND = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115"
-RRECOMMEND = "kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20060103.tar.bz2"
-
-S = "${WORKDIR}/pvrusb2-mci-20060103"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-
-do_compile() {
- cd ivtv; oe_runmake
- cd ../driver; oe_runmake
-}
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 ivtv/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 driver/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060121.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060121.bb
deleted file mode 100644
index fa8a68432d..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060121.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-# It in fact requires these modules, but for now is using the local ones.
-# RRECOMMEND = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115"
-RRECOMMEND = "kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-20060121.tar.bz2"
-
-S = "${WORKDIR}/pvrusb2-mci-20060121"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-
-do_compile() {
- cd ivtv; oe_runmake
- cd ../driver; oe_runmake
-}
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 ivtv/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 driver/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060209.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060209.bb
deleted file mode 100644
index e80430f7d0..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060209.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r2"
-RRECOMMENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115 kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060326.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060326.bb
deleted file mode 100644
index ac5b82be94..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060326.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115 kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' \
- '-D__LINUX_ARM_ARCH__=5'"
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060329.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060329.bb
deleted file mode 100644
index 8f1cc4465b..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060329.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115 kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' "
-
-CFLAGS_append_arm = " '-D__LINUX_ARM_ARCH__=5' "
-
-CFLAGS_append_armeb = " '-D__LINUX_ARM_ARCH__=5' "
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060423.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060423.bb
deleted file mode 100644
index 8f1cc4465b..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060423.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115 kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' "
-
-CFLAGS_append_arm = " '-D__LINUX_ARM_ARCH__=5' "
-
-CFLAGS_append_armeb = " '-D__LINUX_ARM_ARCH__=5' "
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060517.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060517.bb
deleted file mode 100644
index 8f1cc4465b..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060517.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115 kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' "
-
-CFLAGS_append_arm = " '-D__LINUX_ARM_ARCH__=5' "
-
-CFLAGS_append_armeb = " '-D__LINUX_ARM_ARCH__=5' "
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060607.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060607.bb
deleted file mode 100644
index 8f1cc4465b..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060607.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom kernel-module-tuner kernel-module-msp3400 kernel-module-saa7115 kernel-module-tda9887"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' "
-
-CFLAGS_append_arm = " '-D__LINUX_ARM_ARCH__=5' "
-
-CFLAGS_append_armeb = " '-D__LINUX_ARM_ARCH__=5' "
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060702.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060702.bb
deleted file mode 100644
index b2ad76d007..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060702.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom \
- kernel-module-firmware-class \
- kernel-module-tuner \
- kernel-module-msp3400 \
- kernel-module-saa7115 \
- kernel-module-tda9887 \
- kernel-module-v4l1-compat \
- kernel-module-v4l2-common \
- kernel-module-videodev"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://hotplug.functions \
- file://firmware.hotplug \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' "
-
-CFLAGS_append_arm = " '-D__LINUX_ARM_ARCH__=5' "
-
-CFLAGS_append_armeb = " '-D__LINUX_ARM_ARCH__=5' "
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- mkdir -p ${D}/etc/hotplug.d/firmware
- cp ${WORKDIR}/hotplug.functions ${D}/etc/hotplug.d/firmware
- cp ${WORKDIR}/firmware.hotplug ${D}/etc/hotplug.d/firmware
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060726.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060726.bb
deleted file mode 100644
index b2ad76d007..0000000000
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060726.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require pvrusb2-mci.inc
-
-PR = "r1"
-RRECOMMENDS = "kernel-module-tveeprom \
- kernel-module-firmware-class \
- kernel-module-tuner \
- kernel-module-msp3400 \
- kernel-module-saa7115 \
- kernel-module-tda9887 \
- kernel-module-v4l1-compat \
- kernel-module-v4l2-common \
- kernel-module-videodev"
-
-SRC_URI = "http://www.isely.net/downloads/pvrusb2-mci-${PV}.tar.bz2 \
- file://hotplug.functions \
- file://firmware.hotplug \
- file://Makefile.patch;patch=1"
-
-S = "${WORKDIR}/pvrusb2-mci-${PV}/driver"
-
-inherit module
-
-CFLAGS = "'-I${KERNEL_SOURCE}/include' \
- '-I${KERNEL_SOURCE}/drivers/media/video' "
-
-CFLAGS_append_arm = " '-D__LINUX_ARM_ARCH__=5' "
-
-CFLAGS_append_armeb = " '-D__LINUX_ARM_ARCH__=5' "
-
-EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
- 'CC=${KERNEL_CC}' \
- 'LD=${KERNEL_LD}' \
- 'KDIR=${STAGING_KERNEL_DIR}'"
-
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
-do_install() {
- install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
- mkdir -p ${D}/etc/hotplug.d/firmware
- cp ${WORKDIR}/hotplug.functions ${D}/etc/hotplug.d/firmware
- cp ${WORKDIR}/firmware.hotplug ${D}/etc/hotplug.d/firmware
-}
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060903.bb b/packages/pvrusb2-mci/pvrusb2-mci_20060903.bb
index adf2fe6c5e..5bd4ea2db9 100644
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060903.bb
+++ b/packages/pvrusb2-mci/pvrusb2-mci_20060903.bb
@@ -1,4 +1,4 @@
-require pvrusb2-mci.inc
+require pvrusb2-mci2.inc
RRECOMMENDS = "kernel-module-tveeprom \
kernel-module-firmware-class \
@@ -31,9 +31,6 @@ EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
'LD=${KERNEL_LD}' \
'KDIR=${STAGING_KERNEL_DIR}'"
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
do_install() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
diff --git a/packages/pvrusb2-mci/pvrusb2-mci_20060626.bb b/packages/pvrusb2-mci/pvrusb2-mci_20080210.bb
index b2ad76d007..5bd4ea2db9 100644
--- a/packages/pvrusb2-mci/pvrusb2-mci_20060626.bb
+++ b/packages/pvrusb2-mci/pvrusb2-mci_20080210.bb
@@ -1,6 +1,5 @@
-require pvrusb2-mci.inc
+require pvrusb2-mci2.inc
-PR = "r1"
RRECOMMENDS = "kernel-module-tveeprom \
kernel-module-firmware-class \
kernel-module-tuner \
@@ -32,9 +31,6 @@ EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
'LD=${KERNEL_LD}' \
'KDIR=${STAGING_KERNEL_DIR}'"
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib"
-
do_install() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
diff --git a/packages/pwc/pwc_10.0.12-rc1.bb b/packages/pwc/pwc_10.0.12-rc1.bb
index 626a8ef47a..af1d5f53ab 100644
--- a/packages/pwc/pwc_10.0.12-rc1.bb
+++ b/packages/pwc/pwc_10.0.12-rc1.bb
@@ -23,8 +23,8 @@ EXTRA_OEMAKE = "'V=1' 'CFLAGS=${CFLAGS}' \
'LD=${KERNEL_LD}' \
'KDIR=${STAGING_KERNEL_DIR}'"
-export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
- -rpath-link ${STAGING_DIR}/${TARGET_SYS}/lib"
+export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
+ -rpath-link ${STAGING_DIR_TARGET}${layout_libdir}"
do_install() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/usb/media
diff --git a/packages/python/python-2.5-manifest.inc b/packages/python/python-2.5-manifest.inc
index edf5c7697f..5288bafbf4 100644
--- a/packages/python/python-2.5-manifest.inc
+++ b/packages/python/python-2.5-manifest.inc
@@ -1,5 +1,5 @@
########################################################################################################################
-### AUTO-GENERATED by 'contrib/python/generate-manifest-2.5.py' [(C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>] on Tue Jan 22 04:03:18 2008
+### AUTO-GENERATED by './generate-manifest-2.5.py' [(C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>] on Wed Feb 27 13:29:38 2008
###
### Visit THE Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy
###
@@ -13,287 +13,287 @@ PROVIDES+="python-profile python-threading python-distutils python-textutils pyt
PACKAGES="python-profile python-threading python-distutils python-textutils python-codecs python-ctypes python-pickle python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-core-dbg python-resource python-devel python-math python-hotshot python-unixadmin python-syslog python-tkinter python-gdbm python-fcntl python-netclient python-pprint python-netserver python-curses python-smtpd python-html python-readline python-subprocess python-pydoc python-logging python-mailbox python-xml python-mime python-sqlite3 python-tests python-unittest python-stringold python-robotparser python-lib-old-and-deprecated python-compile python-debugger python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio "
DESCRIPTION_python-profile="Python Basic Profiling Support"
-PR_python-profile="ml7"
+PR_python-profile="ml0"
RDEPENDS_python-profile="python-core"
FILES_python-profile="${libdir}/python2.5/profile.* ${libdir}/python2.5/pstats.* "
DESCRIPTION_python-threading="Python Threading & Synchronization Support"
-PR_python-threading="ml7"
+PR_python-threading="ml0"
RDEPENDS_python-threading="python-core python-lang"
FILES_python-threading="${libdir}/python2.5/_threading_local.* ${libdir}/python2.5/dummy_thread.* ${libdir}/python2.5/dummy_threading.* ${libdir}/python2.5/mutex.* ${libdir}/python2.5/threading.* ${libdir}/python2.5/Queue.* "
DESCRIPTION_python-distutils="Python Distribution Utilities"
-PR_python-distutils="ml7"
+PR_python-distutils="ml0"
RDEPENDS_python-distutils="python-core"
FILES_python-distutils="${libdir}/python2.5/config ${libdir}/python2.5/distutils "
DESCRIPTION_python-textutils="Python Option Parsing, Text Wrapping and Comma-Separated-Value Support"
-PR_python-textutils="ml7"
+PR_python-textutils="ml0"
RDEPENDS_python-textutils="python-core python-io python-re python-stringold"
FILES_python-textutils="${libdir}/python2.5/lib-dynload/_csv.so ${libdir}/python2.5/csv.* ${libdir}/python2.5/optparse.* ${libdir}/python2.5/textwrap.* "
DESCRIPTION_python-codecs="Python Codecs, Encodings & i18n Support"
-PR_python-codecs="ml7"
+PR_python-codecs="ml0"
RDEPENDS_python-codecs="python-core python-lang"
FILES_python-codecs="${libdir}/python2.5/codecs.* ${libdir}/python2.5/encodings ${libdir}/python2.5/gettext.* ${libdir}/python2.5/locale.* ${libdir}/python2.5/lib-dynload/_locale.so ${libdir}/python2.5/lib-dynload/unicodedata.so ${libdir}/python2.5/stringprep.* ${libdir}/python2.5/xdrlib.* "
DESCRIPTION_python-ctypes="Python C Types Support"
-PR_python-ctypes="ml7"
+PR_python-ctypes="ml0"
RDEPENDS_python-ctypes="python-core"
FILES_python-ctypes="${libdir}/python2.5/ctypes ${libdir}/python2.5/lib-dynload/_ctypes.so "
DESCRIPTION_python-pickle="Python Persistence Support"
-PR_python-pickle="ml7"
+PR_python-pickle="ml0"
RDEPENDS_python-pickle="python-core python-codecs python-io python-re"
FILES_python-pickle="${libdir}/python2.5/pickle.* ${libdir}/python2.5/shelve.* ${libdir}/python2.5/lib-dynload/cPickle.so "
DESCRIPTION_python-datetime="Python Calendar and Time support"
-PR_python-datetime="ml7"
+PR_python-datetime="ml0"
RDEPENDS_python-datetime="python-core python-codecs"
FILES_python-datetime="${libdir}/python2.5/_strptime.* ${libdir}/python2.5/calendar.* ${libdir}/python2.5/lib-dynload/datetime.so "
DESCRIPTION_python-core="Python Interpreter and core modules (needed!)"
-PR_python-core="ml7"
+PR_python-core="ml0"
RDEPENDS_python-core=""
FILES_python-core="${libdir}/python2.5/__future__.* ${libdir}/python2.5/copy.* ${libdir}/python2.5/copy_reg.* ${libdir}/python2.5/ConfigParser.* ${libdir}/python2.5/getopt.* ${libdir}/python2.5/linecache.* ${libdir}/python2.5/new.* ${libdir}/python2.5/os.* ${libdir}/python2.5/posixpath.* ${libdir}/python2.5/struct.* ${libdir}/python2.5/warnings.* ${libdir}/python2.5/site.* ${libdir}/python2.5/stat.* ${libdir}/python2.5/UserDict.* ${libdir}/python2.5/UserList.* ${libdir}/python2.5/UserString.* ${libdir}/python2.5/lib-dynload/binascii.so ${libdir}/python2.5/lib-dynload/_struct.so ${libdir}/python2.5/lib-dynload/time.so ${libdir}/python2.5/lib-dynload/xreadlines.so ${libdir}/python2.5/types.* ${bindir}/python* "
DESCRIPTION_python-io="Python Low-Level I/O"
-PR_python-io="ml7"
+PR_python-io="ml0"
RDEPENDS_python-io="python-core python-math"
FILES_python-io="${libdir}/python2.5/lib-dynload/_socket.so ${libdir}/python2.5/lib-dynload/_ssl.so ${libdir}/python2.5/lib-dynload/select.so ${libdir}/python2.5/lib-dynload/termios.so ${libdir}/python2.5/lib-dynload/cStringIO.so ${libdir}/python2.5/pipes.* ${libdir}/python2.5/socket.* ${libdir}/python2.5/tempfile.* ${libdir}/python2.5/StringIO.* "
DESCRIPTION_python-compiler="Python Compiler Support"
-PR_python-compiler="ml7"
+PR_python-compiler="ml0"
RDEPENDS_python-compiler="python-core"
FILES_python-compiler="${libdir}/python2.5/compiler "
DESCRIPTION_python-compression="Python High Level Compression Support"
-PR_python-compression="ml7"
+PR_python-compression="ml0"
RDEPENDS_python-compression="python-core python-zlib"
FILES_python-compression="${libdir}/python2.5/gzip.* ${libdir}/python2.5/zipfile.* "
DESCRIPTION_python-re="Python Regular Expression APIs"
-PR_python-re="ml7"
+PR_python-re="ml0"
RDEPENDS_python-re="python-core"
FILES_python-re="${libdir}/python2.5/re.* ${libdir}/python2.5/sre.* ${libdir}/python2.5/sre_compile.* ${libdir}/python2.5/sre_constants* ${libdir}/python2.5/sre_parse.* "
DESCRIPTION_python-xmlrpc="Python XMLRPC Support"
-PR_python-xmlrpc="ml7"
+PR_python-xmlrpc="ml0"
RDEPENDS_python-xmlrpc="python-core python-xml python-netserver python-lang"
FILES_python-xmlrpc="${libdir}/python2.5/xmlrpclib.* ${libdir}/python2.5/SimpleXMLRPCServer.* "
DESCRIPTION_python-terminal="Python Terminal Controlling Support"
-PR_python-terminal="ml7"
+PR_python-terminal="ml0"
RDEPENDS_python-terminal="python-core python-io"
FILES_python-terminal="${libdir}/python2.5/pty.* ${libdir}/python2.5/tty.* "
DESCRIPTION_python-email="Python Email Support"
-PR_python-email="ml7"
+PR_python-email="ml0"
RDEPENDS_python-email="python-core python-io python-re python-mime python-audio python-image"
FILES_python-email="${libdir}/python2.5/email "
DESCRIPTION_python-image="Python Graphical Image Handling"
-PR_python-image="ml7"
+PR_python-image="ml0"
RDEPENDS_python-image="python-core"
FILES_python-image="${libdir}/python2.5/colorsys.* ${libdir}/python2.5/imghdr.* ${libdir}/python2.5/lib-dynload/imageop.so ${libdir}/python2.5/lib-dynload/rgbimg.so "
DESCRIPTION_python-core-dbg="Python core module debug information"
-PR_python-core-dbg="ml7"
+PR_python-core-dbg="ml0"
RDEPENDS_python-core-dbg="python-core"
FILES_python-core-dbg="${libdir}/python2.5/lib-dynload/.debug ${bindir}/.debug ${libdir}/.debug "
DESCRIPTION_python-resource="Python Resource Control Interface"
-PR_python-resource="ml7"
+PR_python-resource="ml0"
RDEPENDS_python-resource="python-core"
FILES_python-resource="${libdir}/python2.5/lib-dynload/resource.so "
DESCRIPTION_python-devel="Python Development Package"
-PR_python-devel="ml7"
+PR_python-devel="ml0"
RDEPENDS_python-devel="python-core"
FILES_python-devel="${includedir} ${libdir}/python2.5/config "
DESCRIPTION_python-math="Python Math Support"
-PR_python-math="ml7"
+PR_python-math="ml0"
RDEPENDS_python-math="python-core"
FILES_python-math="${libdir}/python2.5/lib-dynload/cmath.so ${libdir}/python2.5/lib-dynload/math.so ${libdir}/python2.5/lib-dynload/_random.so ${libdir}/python2.5/random.* ${libdir}/python2.5/sets.* "
DESCRIPTION_python-hotshot="Python Hotshot Profiler"
-PR_python-hotshot="ml7"
+PR_python-hotshot="ml0"
RDEPENDS_python-hotshot="python-core"
FILES_python-hotshot="${libdir}/python2.5/hotshot ${libdir}/python2.5/lib-dynload/_hotshot.so "
DESCRIPTION_python-unixadmin="Python Unix Administration Support"
-PR_python-unixadmin="ml7"
+PR_python-unixadmin="ml0"
RDEPENDS_python-unixadmin="python-core"
FILES_python-unixadmin="${libdir}/python2.5/lib-dynload/nis.so ${libdir}/python2.5/lib-dynload/grp.so ${libdir}/python2.5/lib-dynload/pwd.so ${libdir}/python2.5/getpass.* "
DESCRIPTION_python-syslog="Python's syslog Interface"
-PR_python-syslog="ml7"
+PR_python-syslog="ml0"
RDEPENDS_python-syslog="python-core"
FILES_python-syslog="${libdir}/python2.5/lib-dynload/syslog.so "
DESCRIPTION_python-tkinter="Python Tcl/Tk Bindings"
-PR_python-tkinter="ml7"
+PR_python-tkinter="ml0"
RDEPENDS_python-tkinter="python-core"
FILES_python-tkinter="${libdir}/python2.5/lib-dynload/_tkinter.so ${libdir}/python2.5/lib-tk "
DESCRIPTION_python-gdbm="Python GNU Database Support"
-PR_python-gdbm="ml7"
+PR_python-gdbm="ml0"
RDEPENDS_python-gdbm="python-core"
FILES_python-gdbm="${libdir}/python2.5/lib-dynload/gdbm.so "
DESCRIPTION_python-fcntl="Python's fcntl Interface"
-PR_python-fcntl="ml7"
+PR_python-fcntl="ml0"
RDEPENDS_python-fcntl="python-core"
FILES_python-fcntl="${libdir}/python2.5/lib-dynload/fcntl.so "
DESCRIPTION_python-netclient="Python Internet Protocol Clients"
-PR_python-netclient="ml7"
+PR_python-netclient="ml0"
RDEPENDS_python-netclient="python-core python-crypt python-datetime python-io python-lang python-logging python-mime"
FILES_python-netclient="${libdir}/python2.5/*Cookie*.* ${libdir}/python2.5/base64.* ${libdir}/python2.5/cookielib.* ${libdir}/python2.5/ftplib.* ${libdir}/python2.5/gopherlib.* ${libdir}/python2.5/hmac.* ${libdir}/python2.5/httplib.* ${libdir}/python2.5/mimetypes.* ${libdir}/python2.5/nntplib.* ${libdir}/python2.5/poplib.* ${libdir}/python2.5/smtplib.* ${libdir}/python2.5/telnetlib.* ${libdir}/python2.5/urllib.* ${libdir}/python2.5/urllib2.* ${libdir}/python2.5/urlparse.* "
DESCRIPTION_python-pprint="Python Pretty-Print Support"
-PR_python-pprint="ml7"
+PR_python-pprint="ml0"
RDEPENDS_python-pprint="python-core"
FILES_python-pprint="${libdir}/python2.5/pprint.* "
DESCRIPTION_python-netserver="Python Internet Protocol Servers"
-PR_python-netserver="ml7"
+PR_python-netserver="ml0"
RDEPENDS_python-netserver="python-core python-netclient"
FILES_python-netserver="${libdir}/python2.5/cgi.* ${libdir}/python2.5/BaseHTTPServer.* ${libdir}/python2.5/SimpleHTTPServer.* ${libdir}/python2.5/SocketServer.* "
DESCRIPTION_python-curses="Python Curses Support"
-PR_python-curses="ml7"
+PR_python-curses="ml0"
RDEPENDS_python-curses="python-core"
FILES_python-curses="${libdir}/python2.5/curses ${libdir}/python2.5/lib-dynload/_curses.so ${libdir}/python2.5/lib-dynload/_curses_panel.so "
DESCRIPTION_python-smtpd="Python Simple Mail Transport Daemon"
-PR_python-smtpd="ml7"
+PR_python-smtpd="ml0"
RDEPENDS_python-smtpd="python-core python-netserver python-email python-mime"
FILES_python-smtpd="${bindir}/smtpd.* "
DESCRIPTION_python-html="Python HTML Processing"
-PR_python-html="ml7"
+PR_python-html="ml0"
RDEPENDS_python-html="python-core"
FILES_python-html="${libdir}/python2.5/formatter.* ${libdir}/python2.5/htmlentitydefs.* ${libdir}/python2.5/htmllib.* ${libdir}/python2.5/markupbase.* ${libdir}/python2.5/sgmllib.* "
DESCRIPTION_python-readline="Python Readline Support"
-PR_python-readline="ml7"
+PR_python-readline="ml0"
RDEPENDS_python-readline="python-core"
FILES_python-readline="${libdir}/python2.5/lib-dynload/readline.so ${libdir}/python2.5/rlcompleter.* "
DESCRIPTION_python-subprocess="Python Subprocess Support"
-PR_python-subprocess="ml7"
+PR_python-subprocess="ml0"
RDEPENDS_python-subprocess="python-core python-io python-re python-fcntl python-pickle"
FILES_python-subprocess="${libdir}/python2.5/subprocess.* "
DESCRIPTION_python-pydoc="Python Interactive Help Support"
-PR_python-pydoc="ml7"
+PR_python-pydoc="ml0"
RDEPENDS_python-pydoc="python-core python-lang python-stringold python-re"
FILES_python-pydoc="${bindir}/pydoc ${libdir}/python2.5/pydoc.* "
DESCRIPTION_python-logging="Python Logging Support"
-PR_python-logging="ml7"
+PR_python-logging="ml0"
RDEPENDS_python-logging="python-core python-io python-lang python-stringold"
FILES_python-logging="${libdir}/python2.5/logging "
DESCRIPTION_python-mailbox="Python Mailbox Format Support"
-PR_python-mailbox="ml7"
+PR_python-mailbox="ml0"
RDEPENDS_python-mailbox="python-core python-mime"
FILES_python-mailbox="${libdir}/python2.5/mailbox.* "
DESCRIPTION_python-xml="Python basic XML support."
-PR_python-xml="ml7"
+PR_python-xml="ml0"
RDEPENDS_python-xml="python-core python-re python-netclient"
FILES_python-xml="${libdir}/python2.5/lib-dynload/pyexpat.so ${libdir}/python2.5/xml ${libdir}/python2.5/xmllib.* "
DESCRIPTION_python-mime="Python MIME Handling APIs"
-PR_python-mime="ml7"
+PR_python-mime="ml0"
RDEPENDS_python-mime="python-core python-io"
FILES_python-mime="${libdir}/python2.5/mimetools.* ${libdir}/python2.5/uu.* ${libdir}/python2.5/quopri.* ${libdir}/python2.5/rfc822.* "
DESCRIPTION_python-sqlite3="Python Sqlite3 Database Support"
-PR_python-sqlite3="ml7"
+PR_python-sqlite3="ml0"
RDEPENDS_python-sqlite3="python-core"
FILES_python-sqlite3="${libdir}/python2.5/sqlite3 "
DESCRIPTION_python-tests="Python Tests"
-PR_python-tests="ml7"
+PR_python-tests="ml0"
RDEPENDS_python-tests="python-core"
FILES_python-tests="${libdir}/python2.5/test "
DESCRIPTION_python-unittest="Python Unit Testing Framework"
-PR_python-unittest="ml7"
+PR_python-unittest="ml0"
RDEPENDS_python-unittest="python-core python-stringold python-lang"
FILES_python-unittest="${libdir}/python2.5/unittest.* "
DESCRIPTION_python-stringold="Python String APIs [deprecated]"
-PR_python-stringold="ml7"
+PR_python-stringold="ml0"
RDEPENDS_python-stringold="python-core python-re"
FILES_python-stringold="${libdir}/python2.5/lib-dynload/strop.so ${libdir}/python2.5/string.* "
DESCRIPTION_python-robotparser="Python robots.txt parser"
-PR_python-robotparser="ml7"
+PR_python-robotparser="ml0"
RDEPENDS_python-robotparser="python-core python-netclient"
FILES_python-robotparser="${libdir}/python2.5/robotparser.* "
DESCRIPTION_python-lib-old-and-deprecated="Python Deprecated Libraries"
-PR_python-lib-old-and-deprecated="ml7"
+PR_python-lib-old-and-deprecated="ml0"
RDEPENDS_python-lib-old-and-deprecated="python-core"
FILES_python-lib-old-and-deprecated="${libdir}/python2.5/lib-old "
DESCRIPTION_python-compile="Python Bytecode Compilation Support"
-PR_python-compile="ml7"
+PR_python-compile="ml0"
RDEPENDS_python-compile="python-core"
FILES_python-compile="${libdir}/python2.5/py_compile.* ${libdir}/python2.5/compileall.* "
DESCRIPTION_python-debugger="Python Debugger"
-PR_python-debugger="ml7"
+PR_python-debugger="ml0"
RDEPENDS_python-debugger="python-core python-io python-lang python-re python-stringold python-shell"
FILES_python-debugger="${libdir}/python2.5/bdb.* ${libdir}/python2.5/pdb.* "
DESCRIPTION_python-shell="Python Shell-Like Functionality"
-PR_python-shell="ml7"
+PR_python-shell="ml0"
RDEPENDS_python-shell="python-core python-re"
FILES_python-shell="${libdir}/python2.5/cmd.* ${libdir}/python2.5/commands.* ${libdir}/python2.5/dircache.* ${libdir}/python2.5/fnmatch.* ${libdir}/python2.5/glob.* ${libdir}/python2.5/popen2.* ${libdir}/python2.5/shutil.* "
DESCRIPTION_python-bsddb="Python Berkeley Database Bindings"
-PR_python-bsddb="ml7"
+PR_python-bsddb="ml0"
RDEPENDS_python-bsddb="python-core"
FILES_python-bsddb="${libdir}/python2.5/bsddb "
DESCRIPTION_python-mmap="Python Memory-Mapped-File Support"
-PR_python-mmap="ml7"
+PR_python-mmap="ml0"
RDEPENDS_python-mmap="python-core python-io"
FILES_python-mmap="${libdir}/python2.5/lib-dynload/mmap.so "
DESCRIPTION_python-zlib="Python zlib Support."
-PR_python-zlib="ml7"
+PR_python-zlib="ml0"
RDEPENDS_python-zlib="python-core"
FILES_python-zlib="${libdir}/python2.5/lib-dynload/zlib.so "
DESCRIPTION_python-db="Python File-Based Database Support"
-PR_python-db="ml7"
+PR_python-db="ml0"
RDEPENDS_python-db="python-core"
FILES_python-db="${libdir}/python2.5/anydbm.* ${libdir}/python2.5/dumbdbm.* ${libdir}/python2.5/whichdb.* "
DESCRIPTION_python-crypt="Python Basic Cryptographic and Hashing Support"
-PR_python-crypt="ml7"
+PR_python-crypt="ml0"
RDEPENDS_python-crypt="python-core"
FILES_python-crypt="${libdir}/python2.5/hashlib.* ${libdir}/python2.5/md5.* ${libdir}/python2.5/sha.* ${libdir}/python2.5/lib-dynload/crypt.so ${libdir}/python2.5/lib-dynload/_hashlib.so ${libdir}/python2.5/lib-dynload/_sha256.so ${libdir}/python2.5/lib-dynload/_sha512.so "
DESCRIPTION_python-idle="Python Integrated Development Environment"
-PR_python-idle="ml7"
+PR_python-idle="ml0"
RDEPENDS_python-idle="python-core python-tkinter"
FILES_python-idle="${bindir}/idle ${libdir}/python2.5/idlelib "
DESCRIPTION_python-lang="Python Low-Level Language Support"
-PR_python-lang="ml7"
+PR_python-lang="ml0"
RDEPENDS_python-lang="python-core"
FILES_python-lang="${libdir}/python2.5/lib-dynload/array.so ${libdir}/python2.5/lib-dynload/parser.so ${libdir}/python2.5/lib-dynload/operator.so ${libdir}/python2.5/lib-dynload/_weakref.so ${libdir}/python2.5/lib-dynload/itertools.so ${libdir}/python2.5/lib-dynload/collections.so ${libdir}/python2.5/lib-dynload/_bisect.so ${libdir}/python2.5/lib-dynload/_heapq.so ${libdir}/python2.5/atexit.* ${libdir}/python2.5/bisect.* ${libdir}/python2.5/code.* ${libdir}/python2.5/codeop.* ${libdir}/python2.5/dis.* ${libdir}/python2.5/heapq.* ${libdir}/python2.5/inspect.* ${libdir}/python2.5/keyword.* ${libdir}/python2.5/opcode.* ${libdir}/python2.5/repr.* ${libdir}/python2.5/token.* ${libdir}/python2.5/tokenize.* ${libdir}/python2.5/traceback.* ${libdir}/python2.5/linecache.* ${libdir}/python2.5/weakref.* "
DESCRIPTION_python-audio="Python Audio Handling"
-PR_python-audio="ml7"
+PR_python-audio="ml0"
RDEPENDS_python-audio="python-core"
FILES_python-audio="${libdir}/python2.5/wave.* ${libdir}/python2.5/chunk.* ${libdir}/python2.5/sndhdr.* ${libdir}/python2.5/lib-dynload/ossaudiodev.so ${libdir}/python2.5/lib-dynload/audioop.so "
diff --git a/packages/python/python-2.5.1/.mtn2git_empty b/packages/python/python-2.5.1/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/python/python-2.5.1/.mtn2git_empty
+++ /dev/null
diff --git a/packages/nonworking/python/python-m2crypto/.mtn2git_empty b/packages/python/python-2.5.2/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/python/python-m2crypto/.mtn2git_empty
+++ b/packages/python/python-2.5.2/.mtn2git_empty
diff --git a/packages/python/python-2.5.1/autohell.patch b/packages/python/python-2.5.2/autohell.patch
index e2d63145be..32977955d4 100644
--- a/packages/python/python-2.5.1/autohell.patch
+++ b/packages/python/python-2.5.2/autohell.patch
@@ -1,22 +1,19 @@
-#
-# FIXME: Don't simply rip this test out... add getting it from cache
-#
-Index: Python-2.5.1/configure.in
+Index: Python-2.5.2/configure.in
===================================================================
---- Python-2.5.1.orig/configure.in
-+++ Python-2.5.1/configure.in
-@@ -3367,41 +3367,6 @@ else
- AC_MSG_RESULT(no)
- fi
+--- Python-2.5.2.orig/configure.in
++++ Python-2.5.2/configure.in
+@@ -3410,45 +3410,6 @@ esac
+
+
-AC_MSG_CHECKING(for %zd printf() format support)
-AC_TRY_RUN([#include <stdio.h>
-#include <stddef.h>
-#include <string.h>
-
--int main()
--{
-- char buffer[256];
+-#ifdef HAVE_SYS_TYPES_H
+-#include <sys/types.h>
+-#endif
-
-#ifdef HAVE_SSIZE_T
-typedef ssize_t Py_ssize_t;
@@ -26,6 +23,10 @@ Index: Python-2.5.1/configure.in
-typedef int Py_ssize_t;
-#endif
-
+-int main()
+-{
+- char buffer[256];
+-
- if(sprintf(buffer, "%zd", (size_t)123) < 0)
- return 1;
-
diff --git a/packages/python/python-2.5.1/bindir-libdir.patch b/packages/python/python-2.5.2/bindir-libdir.patch
index 047c358a55..047c358a55 100644
--- a/packages/python/python-2.5.1/bindir-libdir.patch
+++ b/packages/python/python-2.5.2/bindir-libdir.patch
diff --git a/packages/python/python-2.5.1/crosscompile.patch b/packages/python/python-2.5.2/crosscompile.patch
index f456048ef5..f1b1c6f3e0 100644
--- a/packages/python/python-2.5.1/crosscompile.patch
+++ b/packages/python/python-2.5.2/crosscompile.patch
@@ -1,11 +1,11 @@
#
# Patch (C) by Michael 'Mickey' Lauer <mlauer@vanille-media.de>
#
-Index: Python-2.5.1/Makefile.pre.in
+Index: Python-2.5.2/Makefile.pre.in
===================================================================
---- Python-2.5.1.orig/Makefile.pre.in
-+++ Python-2.5.1/Makefile.pre.in
-@@ -170,6 +170,7 @@ UNICODE_OBJS= @UNICODE_OBJS@
+--- Python-2.5.2.orig/Makefile.pre.in
++++ Python-2.5.2/Makefile.pre.in
+@@ -173,6 +173,7 @@ UNICODE_OBJS= @UNICODE_OBJS@
PYTHON= python$(EXE)
BUILDPYTHON= python$(BUILDEXE)
@@ -13,7 +13,7 @@ Index: Python-2.5.1/Makefile.pre.in
# === Definitions added by makesetup ===
-@@ -196,7 +197,7 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
+@@ -199,7 +200,7 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
##########################################################################
# Parser
PGEN= Parser/pgen$(EXE)
@@ -22,7 +22,7 @@ Index: Python-2.5.1/Makefile.pre.in
POBJS= \
Parser/acceler.o \
Parser/grammar1.o \
-@@ -345,8 +346,8 @@ platform: $(BUILDPYTHON)
+@@ -348,8 +349,8 @@ platform: $(BUILDPYTHON)
# Build the shared modules
sharedmods: $(BUILDPYTHON)
case $$MAKEFLAGS in \
@@ -33,16 +33,16 @@ Index: Python-2.5.1/Makefile.pre.in
esac
# Build static library
-@@ -470,7 +471,7 @@ Modules/python.o: $(srcdir)/Modules/pyth
-
+@@ -474,7 +475,7 @@ Modules/python.o: $(srcdir)/Modules/pyth
$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+ -@ mkdir Include
- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
$(PGEN): $(PGENOBJS)
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
-@@ -773,19 +774,19 @@ libinstall: $(BUILDPYTHON) $(srcdir)/Lib
+@@ -782,19 +783,19 @@ libinstall: $(BUILDPYTHON) $(srcdir)/Lib
done
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
@@ -66,7 +66,7 @@ Index: Python-2.5.1/Makefile.pre.in
-d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-@@ -885,7 +886,7 @@ libainstall: all
+@@ -894,7 +895,7 @@ libainstall: all
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall:
@@ -75,10 +75,10 @@ Index: Python-2.5.1/Makefile.pre.in
--prefix=$(prefix) \
--install-scripts=$(BINDIR) \
--install-platlib=$(DESTSHARED) \
-Index: Python-2.5.1/setup.py
+Index: Python-2.5.2/setup.py
===================================================================
---- Python-2.5.1.orig/setup.py
-+++ Python-2.5.1/setup.py
+--- Python-2.5.2.orig/setup.py
++++ Python-2.5.2/setup.py
@@ -211,6 +211,7 @@ class PyBuildExt(build_ext):
except ImportError, why:
self.announce('*** WARNING: renaming "%s" since importing it'
@@ -98,7 +98,7 @@ Index: Python-2.5.1/setup.py
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
-@@ -341,6 +342,9 @@ class PyBuildExt(build_ext):
+@@ -342,6 +343,9 @@ class PyBuildExt(build_ext):
# XXX Omitted modules: gl, pure, dl, SGI-specific modules
diff --git a/packages/python/python-2.5.1/default-is-optimized.patch b/packages/python/python-2.5.2/default-is-optimized.patch
index 6beeb6e022..6beeb6e022 100644
--- a/packages/python/python-2.5.1/default-is-optimized.patch
+++ b/packages/python/python-2.5.2/default-is-optimized.patch
diff --git a/packages/python/python-2.5.1/enable-ctypes-module.patch b/packages/python/python-2.5.2/enable-ctypes-module.patch
index dd5adaf0e7..dd5adaf0e7 100644
--- a/packages/python/python-2.5.1/enable-ctypes-module.patch
+++ b/packages/python/python-2.5.2/enable-ctypes-module.patch
diff --git a/packages/python/python-2.5.1/fix-tkinter-detection.patch b/packages/python/python-2.5.2/fix-tkinter-detection.patch
index 93bd343381..93bd343381 100644
--- a/packages/python/python-2.5.1/fix-tkinter-detection.patch
+++ b/packages/python/python-2.5.2/fix-tkinter-detection.patch
diff --git a/packages/python/python-2.5.1/sitebranding.patch b/packages/python/python-2.5.2/sitebranding.patch
index c6e486ae97..c6e486ae97 100644
--- a/packages/python/python-2.5.1/sitebranding.patch
+++ b/packages/python/python-2.5.2/sitebranding.patch
diff --git a/packages/python/python-2.5.1/sitecustomize.py b/packages/python/python-2.5.2/sitecustomize.py
index 4c0ba3f0da..ec626b4b63 100644
--- a/packages/python/python-2.5.1/sitecustomize.py
+++ b/packages/python/python-2.5.2/sitecustomize.py
@@ -37,9 +37,8 @@ import sys
try:
import rlcompleter, readline
except ImportError:
- sys.stderr.write( "Python %s (OpenEmbedded build) sitecustomize.py not active. Please install python-readline.\n" % sys.version.split()[0] )
+ pass
else:
__enableDefaultEncoding()
__registerExitHandler()
__enableReadlineSupport()
- sys.stderr.write( "Python %s (OpenEmbedded build) sitecustomize.py active.\n" % sys.version.split()[0] )
diff --git a/packages/python/python-dbus/.mtn2git_empty b/packages/python/python-dbus/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/python/python-dbus/.mtn2git_empty
+++ /dev/null
diff --git a/packages/python/python-dbus/allow-older-autotools.patch b/packages/python/python-dbus/allow-older-autotools.patch
deleted file mode 100644
index 7595f70e5d..0000000000
--- a/packages/python/python-dbus/allow-older-autotools.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# so it looks like dbus-python really doesn't make use of any 2.59c features
-# Signed-Off: mickey@openmoko.org
-#
-Index: dbus-python-0.81.1/configure.ac
-===================================================================
---- dbus-python-0.81.1.orig/configure.ac 2007-06-04 13:17:10.000000000 +0000
-+++ dbus-python-0.81.1/configure.ac 2007-06-11 06:57:20.000000000 +0000
-@@ -1,5 +1,5 @@
- -*- mode: m4 -*-
--AC_PREREQ(2.59c)
-+AC_PREREQ(2.59)
-
- dnl If not 1, append datestamp to the version number
- m4_define(dbus_python_released, 1)
-Index: dbus-python-0.81.1/Makefile.am
-===================================================================
---- dbus-python-0.81.1.orig/Makefile.am 2007-05-09 09:44:40.000000000 +0000
-+++ dbus-python-0.81.1/Makefile.am 2007-06-11 06:59:23.000000000 +0000
-@@ -38,6 +38,7 @@
-
- TXT_RSTDOCS = doc/tutorial.txt doc/API_CHANGES.txt doc/HACKING.txt
- RSTDOCS = README NEWS TODO
-+docdir=foo
- dist_doc_DATA = $(TXT_RSTDOCS) $(RSTDOCS)
-
- maintainer-update-website: _maintainer-update-apidocs \
diff --git a/packages/python/python-dbus/python-path.patch b/packages/python/python-dbus/python-path.patch
deleted file mode 100644
index 6bdbd19d03..0000000000
--- a/packages/python/python-dbus/python-path.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- dbus-python-0.81.1/m4.orig/am-check-python-headers.m4
-+++ dbus-python-0.81.1/m4/am-check-python-headers.m4
-@@ -7214,12 +7214,18 @@
- [AC_REQUIRE([AM_PATH_PYTHON])
- AC_MSG_CHECKING(for headers required to compile python extensions)
- dnl deduce PYTHON_INCLUDES
-+AC_ARG_WITH(python-includes,
-+ [ --with-python-includes=DIR path to Python includes], py_exec_prefix=$withval)
-+if test x$py_exec_prefix != x; then
-+PYTHON_INCLUDES="-I${py_exec_prefix}/include/python${PYTHON_VERSION}"
-+else
- py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
- py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
- PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
- if test "$py_prefix" != "$py_exec_prefix"; then
- PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
- fi
-+fi
- AC_SUBST(PYTHON_INCLUDES)
- dnl check if the headers exist:
- save_CPPFLAGS="$CPPFLAGS"
diff --git a/packages/python/python-dbus_0.81.1.bb b/packages/python/python-dbus_0.82.4.bb
index 86628bad26..8e80882a30 100644
--- a/packages/python/python-dbus_0.81.1.bb
+++ b/packages/python/python-dbus_0.82.4.bb
@@ -1,22 +1,21 @@
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 python-threading python-io python-stringold python-logging"
+LICENSE = "MIT"
+DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
+RDEPENDS = "python-threading python-io python-stringold python-logging"
PR = "ml2"
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
- file://allow-older-autotools.patch;patch=1 \
- file://python-path.patch;patch=1"
-
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz"
S = "${WORKDIR}/dbus-python-${PV}"
inherit distutils-base autotools
-EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../"
+export BUILD_SYS := "${BUILD_SYS}"
+export HOST_SYS := "${HOST_SYS}"
do_stage() {
autotools_stage_all
}
+FILES_${PN}-dev += "${libdir}/pkgconfig
diff --git a/packages/python/python-ecore_cvs.bb b/packages/python/python-ecore_cvs.bb
index 0ec598f5a0..73c4b7ea00 100644
--- a/packages/python/python-ecore_cvs.bb
+++ b/packages/python/python-ecore_cvs.bb
@@ -1,6 +1,7 @@
require python-efl.inc
-DEPENDS += "ecore"
-PR = "r5"
+DEPENDS += "python-evas ecore"
+PV = "0.2.1+cvs${SRCDATE}"
+PR = "r0"
do_stage() {
distutils_stage_all
diff --git a/packages/python/python-edbus_cvs.bb b/packages/python/python-edbus_cvs.bb
index 544a6f347f..dc4b09cee8 100644
--- a/packages/python/python-edbus_cvs.bb
+++ b/packages/python/python-edbus_cvs.bb
@@ -1,7 +1,7 @@
require python-efl.inc
DEPENDS += "edbus python-dbus"
-
-PR = "r3"
+PV = "0.1.1+cvs${SRCDATE}"
+PR = "r0"
SRC_URI = "${E_CVS};module=e17/proto/python-efl/python-e_dbus"
S = "${WORKDIR}/python-e_dbus"
diff --git a/packages/python/python-edje_cvs.bb b/packages/python/python-edje_cvs.bb
index 1205e7ec84..3ee4b1decd 100644
--- a/packages/python/python-edje_cvs.bb
+++ b/packages/python/python-edje_cvs.bb
@@ -1,4 +1,5 @@
require python-efl.inc
DEPENDS += "edje python-evas"
-PR = "r5"
+PV = "0.2.1+cvs${SRCDATE}"
+PR = "r0"
diff --git a/packages/python/python-efl.inc b/packages/python/python-efl.inc
index e6cc62df5e..1cbec65fa5 100644
--- a/packages/python/python-efl.inc
+++ b/packages/python/python-efl.inc
@@ -6,7 +6,6 @@ HOMEPAGE = "http://www.enlightenment.org"
# does not compile unless pyrex has been built
DEPENDS = "python-cython-native python-pyrex-native python-numeric"
RDEPENDS += "python-lang"
-PV = "0.1.1+cvs${SRCDATE}"
inherit setuptools
diff --git a/packages/nonworking/python/python-egenix-mx-base_2.0.6.bb b/packages/python/python-egenix-mx-base_3.0.0.bb
index b31cd20cad..8452ca6e7f 100644
--- a/packages/nonworking/python/python-egenix-mx-base_2.0.6.bb
+++ b/packages/python/python-egenix-mx-base_3.0.0.bb
@@ -5,10 +5,9 @@ SECTION = "devel/python"
PRIORITY = "optional"
LICENSE = "EGENIX"
SRCNAME = "egenix-mx-base"
-PR = "r1"
+PR = "r0"
-SRC_URI = "http://www.egenix.com/files/python/egenix-mx-base-${PV}.tar.gz \
- file://gcc4.patch;patch=1"
+SRC_URI = "http://downloads.egenix.com/python/${SRCNAME}-${PV}.tar.gz"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit distutils
@@ -17,3 +16,4 @@ export INCLUDE = "${STAGING_INCDIR}/${PYTHON_DIR}"
export LIB = "${STAGING_LIBDIR}"
FILES_${PN} += "${datadir}"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/mx/*/*/.debug"
diff --git a/packages/python/python-emotion_cvs.bb b/packages/python/python-emotion_cvs.bb
index d3f5109d86..cc79ad51e6 100644
--- a/packages/python/python-emotion_cvs.bb
+++ b/packages/python/python-emotion_cvs.bb
@@ -1,3 +1,4 @@
require python-efl.inc
DEPENDS += "emotion python-evas"
-PR = "r4"
+PV = "0.2.1+cvs${SRCDATE}"
+PR = "r0"
diff --git a/packages/python/python-epsilon_cvs.bb b/packages/python/python-epsilon_cvs.bb
index 204dd95610..f979159b49 100644
--- a/packages/python/python-epsilon_cvs.bb
+++ b/packages/python/python-epsilon_cvs.bb
@@ -1,3 +1,4 @@
require python-efl.inc
DEPENDS += "epsilon python-ecore"
-PR = "r4"
+PV = "0.2.1+cvs${SRCDATE}"
+PR = "r0"
diff --git a/packages/python/python-evas_cvs.bb b/packages/python/python-evas_cvs.bb
index e0de4569bd..92f4466a24 100644
--- a/packages/python/python-evas_cvs.bb
+++ b/packages/python/python-evas_cvs.bb
@@ -1,6 +1,7 @@
require python-efl.inc
DEPENDS += "evas"
-PR = "r4"
+PV = "0.2.1+cvs${SRCDATE}"
+PR = "r0"
do_stage() {
distutils_stage_all
diff --git a/packages/python/python-gst_0.10.10.bb b/packages/python/python-gst_0.10.10.bb
index cc1a19574e..59cc6ad268 100644
--- a/packages/python/python-gst_0.10.10.bb
+++ b/packages/python/python-gst_0.10.10.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Python Gstreamer bindings"
SECTION = "devel/python"
LICENSE = "LGPL"
DEPENDS = "gstreamer gst-plugins-base python-pygobject"
-PR = "ml0"
+PR = "ml1"
SRC_URI = "http://gstreamer.freedesktop.org/src/gst-python/gst-python-${PV}.tar.bz2 \
file://python-path.patch;patch=1"
@@ -21,6 +21,12 @@ do_stage() {
autotools_stage_all
}
+PACKAGES =+ "${PN}-examples"
+
FILES_${PN} += "${datadir}/gst-python"
-FILES_${PN}-dev += "${datadir}/gst-python/0.10/defs"
+FILES_${PN}-dev += "\
+ ${datadir}/gst-python/0.10/defs \
+ ${libdir}/${PYTHON_DIR}/site-packages/gst-0.10/gst/*.la \
+"
FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/gst-0.10/gst/.debug/"
+FILES_${PN}-examples = "${datadir}/gst-python/0.10/examples"
diff --git a/packages/nonworking/xfree86/.mtn2git_empty b/packages/python/python-m2crypto/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/xfree86/.mtn2git_empty
+++ b/packages/python/python-m2crypto/.mtn2git_empty
diff --git a/packages/python/python-m2crypto/install.patch b/packages/python/python-m2crypto/install.patch
new file mode 100644
index 0000000000..6c70ccf516
--- /dev/null
+++ b/packages/python/python-m2crypto/install.patch
@@ -0,0 +1,24 @@
+Index: m2crypto-0.18.2/setup.py
+===================================================================
+--- m2crypto-0.18.2.orig/setup.py
++++ m2crypto-0.18.2/setup.py
+@@ -38,7 +38,7 @@ class _M2CryptoBuildExt(build_ext.build_
+ self.openssl = 'c:\\pkg'
+ else:
+ self.libraries = ['ssl', 'crypto']
+- self.openssl = '/usr'
++ self.openssl = os.environ.get( "STAGING_DIR" )
+
+
+ def finalize_options(self):
+@@ -47,8 +47,8 @@ class _M2CryptoBuildExt(build_ext.build_
+
+ build_ext.build_ext.finalize_options(self)
+
+- opensslIncludeDir = os.path.join(self.openssl, 'include')
+- opensslLibraryDir = os.path.join(self.openssl, 'lib')
++ opensslIncludeDir = os.environ.get( "STAGING_INCDIR" )
++ opensslLibraryDir = os.environ.get( "STAGING_LIBDIR" )
+
+ self.swig_opts = ['-I%s' % i for i in self.include_dirs + \
+ [opensslIncludeDir]]
diff --git a/packages/python/python-m2crypto_0.18.2.bb b/packages/python/python-m2crypto_0.18.2.bb
new file mode 100644
index 0000000000..c83a2ec076
--- /dev/null
+++ b/packages/python/python-m2crypto_0.18.2.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "A Python crypto and SSL toolkit"
+SECTION = "devel/python"
+PRIORITY = "optional"
+DEPENDS = "openssl swig-native"
+LICENSE = "BSD"
+SRCNAME = "M2Crypto"
+PR = "ml0"
+
+SRC_URI = "http://chandlerproject.org/pub/Projects/MeTooCrypto/m2crypto-${PV}.tar.gz \
+ file://install.patch;patch=1"
+S = "${WORKDIR}/m2crypto-0.18.2"
+
+inherit setuptools
+
+export STAGING_DIR := "${STAGING_DIR}"
+export STAGING_INCDIR := "${STAGING_INCDIR}"
+export STAGING_LIBDIR := "${STAGING_LIBDIR}"
+
diff --git a/packages/nonworking/python/python-pycap_0.1.6.bb b/packages/python/python-pycap_0.1.6.bb
index 48e62c4e91..48e62c4e91 100644
--- a/packages/nonworking/python/python-pycap_0.1.6.bb
+++ b/packages/python/python-pycap_0.1.6.bb
diff --git a/packages/nonworking/python/python-pyode_1.2.0.bb b/packages/python/python-pyode_1.2.0.bb
index 95dc0228e3..3c67db9fe5 100644
--- a/packages/nonworking/python/python-pyode_1.2.0.bb
+++ b/packages/python/python-pyode_1.2.0.bb
@@ -6,7 +6,8 @@ LICENSE = "LGPL"
DEPENDS = "ode"
SRCNAME = "PyODE"
-SRC_URI = "${SOURCEFORGE_MIRROR}/pyode/${SRCNAME}-${PV}.tar.bz2"
+SRC_URI = "${SOURCEFORGE_MIRROR}/pyode/${SRCNAME}-${PV}.tar.bz2 \
+ file://install.patch;patch=1"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit distutils
diff --git a/packages/python/python-sword_1.5.10.bb b/packages/python/python-sword_1.5.10.bb
index a18cf89466..4769a8814f 100644
--- a/packages/python/python-sword_1.5.10.bb
+++ b/packages/python/python-sword_1.5.10.bb
@@ -11,7 +11,7 @@ SRC_URI = "http://crosswire.org/ftpmirror/pub/sword/source/v1.5/sword-${PV}.tar.
S = "${WORKDIR}/${SRCNAME}-${PV}/bindings/swig/package"
-EXTRA_OECONF = "--with-sword-dir=${STAGING_DIR}/${HOST_SYS}"
+EXTRA_OECONF = "--with-sword-dir=${STAGING_DIR_HOST}${layout_exec_prefix}"
inherit distutils autotools
diff --git a/packages/python/python_2.5.1.bb b/packages/python/python_2.5.2.bb
index 5b15634dd0..e6667cc04b 100644
--- a/packages/python/python_2.5.1.bb
+++ b/packages/python/python_2.5.2.bb
@@ -7,7 +7,7 @@ DEPENDS = "python-native readline zlib gdbm openssl sqlite3 tcl tk"
DEPENDS_sharprom = "python-native readline zlib gdbm openssl"
# NOTE: Keep the digit in sync with BASEREV in contrib/generate-manifest-2.5.py
-PR = "ml9"
+PR = "ml0"
PYTHON_MAJMIN = "2.5"
@@ -82,8 +82,11 @@ do_install() {
require python-${PYTHON_MAJMIN}-manifest.inc
+# manual additions
RPROVIDES_python-core = "python"
RRECOMMENDS_python-core = "python-readline"
+RRECOMMENDS_python-crypt = "openssl"
+PR_python-crypt = "ml1"
# add sitecustomize
FILES_python-core += "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py"
@@ -103,5 +106,3 @@ FILES_python-misc = "${libdir}/python${PYTHON_MAJMIN}"
PACKAGES += "python-man"
FILES_python-man = "${datadir}/man"
-PACKAGES_DYNAMIC += "python-ncurses"
-
diff --git a/packages/nonworking/xfree86/xfree86-4.3.0/.mtn2git_empty b/packages/qclockchange/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/nonworking/xfree86/xfree86-4.3.0/.mtn2git_empty
+++ b/packages/qclockchange/files/.mtn2git_empty
diff --git a/packages/qclockchange/files/qclockchange.desktop b/packages/qclockchange/files/qclockchange.desktop
new file mode 100644
index 0000000000..9463623883
--- /dev/null
+++ b/packages/qclockchange/files/qclockchange.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Comment= Changes the CPU frequency
+Exec=qclockchange
+Icon=qclockchange
+Type=Application
+Name=Qclockchange
diff --git a/packages/qclockchange/files/qclockchange.png b/packages/qclockchange/files/qclockchange.png
new file mode 100644
index 0000000000..861fe2eecc
--- /dev/null
+++ b/packages/qclockchange/files/qclockchange.png
Binary files differ
diff --git a/packages/qclockchange/qclockchange_0.1a.bb b/packages/qclockchange/qclockchange_0.1a.bb
deleted file mode 100644
index 0061c830c9..0000000000
--- a/packages/qclockchange/qclockchange_0.1a.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Program that allows you to set the CCCR registers on PXA Zauruses."
-SECTION = "opie/settings"
-PRIORITY = "optional"
-LICENSE = "GPL"
-AUTHOR = "piro <piro400@occn.zaq.ne.jp>"
-HOMEPAGE = "http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5B%A5%AB%A1%BC%A5%CD%A5%EB%A5%D1%A5%C3%A5%C1%A4%F2%A4%DE%A4%C8%A4%E1%A4%EB%5D%5D"
-APPTYPE="binary"
-PR = "r1"
-
-SRC_URI = "http://www.piro.hopto.org/~piro/zaurus/qclockchange-${PV}.tar.gz"
-
-inherit palmtop
-
-do_install() {
- install -d ${D}${palmtopdir}/bin/ \
- ${D}${palmtopdir}/pics \
- ${D}${palmtopdir}/apps/Settings
-
- install -m 0755 qclockchange ${D}${palmtopdir}/bin/qclockchange
- install -m 0644 ipkg/opt/QtPalmtop/pics/qclockchange.png ${D}${palmtopdir}/pics/qclockchange.png
- install -m 0644 ipkg/opt/QtPalmtop/apps/Settings/qclockchange.desktop ${D}${palmtopdir}/apps/Settings/qclockchange.desktop
-}
diff --git a/packages/qclockchange/qclockchange_0.1b.bb b/packages/qclockchange/qclockchange_0.1b.bb
new file mode 100644
index 0000000000..7980618f97
--- /dev/null
+++ b/packages/qclockchange/qclockchange_0.1b.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Program that allows you to set the CCCR registers on PXA Zauruses."
+SECTION = "opie/settings"
+PRIORITY = "optional"
+LICENSE = "GPL"
+AUTHOR = "piro <piro400@occn.zaq.ne.jp>"
+HOMEPAGE = "http://piro.sytes.net/~piro/zaurus/"
+APPTYPE="binary"
+PR = "r0"
+
+SRC_URI = "http://piro.sytes.net/~piro/zaurus/etc/qclockchange-${PV}.tar.gz \
+ file://qclockchange.png \
+ file://qclockchange.desktop "
+
+inherit palmtop
+
+do_install() {
+ install -d ${D}${palmtopdir}/bin/ \
+ ${D}${palmtopdir}/pics \
+ ${D}${palmtopdir}/apps/Settings
+
+ install -m 0755 bin/qclockchange ${D}${palmtopdir}/bin/qclockchange
+ install -m 0644 ${WORKDIR}/qclockchange.png ${D}${palmtopdir}/pics/qclockchange.png
+ install -m 0644 ${WORKDIR}/qclockchange.desktop ${D}${palmtopdir}/apps/Settings/qclockchange.desktop
+}
diff --git a/packages/qt/qt-x11-free-common.inc b/packages/qt/qt-x11-free-common.inc
index a68575d601..745c7fab3c 100644
--- a/packages/qt/qt-x11-free-common.inc
+++ b/packages/qt/qt-x11-free-common.inc
@@ -9,7 +9,7 @@ S = "${WORKDIR}/qt-x11-free-${PV}"
inherit qmake_base qt3x11
export QTDIR = "${S}"
-STAGING_QT_DIR = "${STAGING_DIR}/${HOST_SYS}/qt3"
+STAGING_QT_DIR = "${STAGING_DIR_HOST}/qt3"
ARCH_i686 = "x86"
EXTRA_OEMAKE = "-e"
diff --git a/packages/qt/qt-x11-free-native_3.3.5.bb b/packages/qt/qt-x11-free-native_3.3.5.bb
index 2ed3da49b5..f23d874648 100644
--- a/packages/qt/qt-x11-free-native_3.3.5.bb
+++ b/packages/qt/qt-x11-free-native_3.3.5.bb
@@ -41,16 +41,16 @@ do_compile() {
}
do_stage() {
- install -d ${STAGING_DIR}/${HOST_SYS}/qt3/lib
- oe_soinstall lib/libqt-mt.so.${PV} ${STAGING_DIR}/${HOST_SYS}/qt3/lib
- install -d ${STAGING_DIR}/${HOST_SYS}/qt3/include/private
+ install -d ${STAGING_DIR_HOST}/qt3/lib
+ oe_soinstall lib/libqt-mt.so.${PV} ${STAGING_DIR_HOST}/qt3/lib
+ install -d ${STAGING_DIR_HOST}/qt3/include/private
for f in include/*.h
do
- install -m 0644 $f ${STAGING_DIR}/${HOST_SYS}/qt3/include/
+ install -m 0644 $f ${STAGING_DIR_HOST}/qt3/include/
done
for f in include/private/*.h
do
- install -m 0644 $f ${STAGING_DIR}/${HOST_SYS}/qt3/include/private
+ install -m 0644 $f ${STAGING_DIR_HOST}/qt3/include/private
done
}
diff --git a/packages/qt4/qt4-x11-free_4.1.2.bb b/packages/qt4/qt4-x11-free_4.1.2.bb
index 77fa6dba12..54c706463a 100644
--- a/packages/qt4/qt4-x11-free_4.1.2.bb
+++ b/packages/qt4/qt4-x11-free_4.1.2.bb
@@ -22,7 +22,7 @@ PARALLEL_MAKE = ""
inherit qmake_base qt4x11 pkgconfig
export QTDIR = "${S}"
-STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4"
+STAGING_QT_DIR = "${STAGING_DIR_TARGET}/qt4"
EXTRA_OEMAKE = "-e"
require qt4_arch.inc
diff --git a/packages/qte/qte-common_2.3.10.inc b/packages/qte/qte-common_2.3.10.inc
index 5f9c01ba80..9b69b00b48 100644
--- a/packages/qte/qte-common_2.3.10.inc
+++ b/packages/qte/qte-common_2.3.10.inc
@@ -134,13 +134,13 @@ do_compile() {
}
do_stage() {
- rm -rf ${STAGING_DIR}/${HOST_SYS}/qt2
- install -d ${STAGING_DIR}/${HOST_SYS}/qt2/lib
- oe_libinstall -so -C lib lib${PN} ${STAGING_DIR}/${HOST_SYS}/qt2/lib
+ rm -rf ${STAGING_DIR_HOST}/qt2
+ install -d ${STAGING_DIR_HOST}/qt2/lib
+ oe_libinstall -so -C lib lib${PN} ${STAGING_DIR_HOST}/qt2/lib
rm -f include/qxt.h
- install -d ${STAGING_DIR}/${HOST_SYS}/qt2/include
- cp -pfLR include/* ${STAGING_DIR}/${HOST_SYS}/qt2/include
- cp -pPR lib/fonts ${STAGING_DIR}/${HOST_SYS}/qt2/lib/
+ install -d ${STAGING_DIR_HOST}/qt2/include
+ cp -pfLR include/* ${STAGING_DIR_HOST}/qt2/include
+ cp -pPR lib/fonts ${STAGING_DIR_HOST}/qt2/lib/
}
do_install() {
diff --git a/packages/qte/qte-mt-static_2.3.10.bb b/packages/qte/qte-mt-static_2.3.10.bb
index c7d962343a..68ab2aceab 100644
--- a/packages/qte/qte-mt-static_2.3.10.bb
+++ b/packages/qte/qte-mt-static_2.3.10.bb
@@ -6,13 +6,13 @@ DEFAULT_PREFERENCE = "-1"
EXTRA_OECONF += "-static -thread"
do_stage() {
- rm -rf ${STAGING_DIR}/${HOST_SYS}/qt2
- install -d ${STAGING_DIR}/${HOST_SYS}/qt2/lib
- oe_libinstall -a -C lib libqte-mt ${STAGING_DIR}/${HOST_SYS}/qt2/lib
+ rm -rf ${STAGING_DIR_HOST}/qt2
+ install -d ${STAGING_DIR_HOST}/qt2/lib
+ oe_libinstall -a -C lib libqte-mt ${STAGING_DIR_HOST}/qt2/lib
rm -f include/qxt.h
- install -d ${STAGING_DIR}/${HOST_SYS}/qt2/include
- cp -pfLR include/* ${STAGING_DIR}/${HOST_SYS}/qt2/include
- cp -pPR lib/fonts ${STAGING_DIR}/${HOST_SYS}/qt2/lib/
+ install -d ${STAGING_DIR_HOST}/qt2/include
+ cp -pfLR include/* ${STAGING_DIR_HOST}/qt2/include
+ cp -pPR lib/fonts ${STAGING_DIR_HOST}/qt2/lib/
}
do_install() {
diff --git a/packages/qte/qte-mt-static_2.3.12.bb b/packages/qte/qte-mt-static_2.3.12.bb
index 9210d85dc3..8403528415 100644
--- a/packages/qte/qte-mt-static_2.3.12.bb
+++ b/packages/qte/qte-mt-static_2.3.12.bb
@@ -6,14 +6,14 @@ DEFAULT_PREFERENCE = "-1"
EXTRA_OECONF += "-static -thread"
do_stage() {
- rm -rf ${STAGING_DIR}/${HOST_SYS}/qt2
- install -d ${STAGING_DIR}/${HOST_SYS}/qt2/lib
- oe_libinstall -a -C lib libqte-mt ${STAGING_DIR}/${HOST_SYS}/qt2/lib
+ rm -rf ${STAGING_DIR_HOST}/qt2
+ install -d ${STAGING_DIR_HOST}/qt2/lib
+ oe_libinstall -a -C lib libqte-mt ${STAGING_DIR_HOST}/qt2/lib
rm -f include/qxt.h
- install -d ${STAGING_DIR}/${HOST_SYS}/qt2/include
- cp -pfLR include/* ${STAGING_DIR}/${HOST_SYS}/qt2/include
- cp -pPR lib/fonts ${STAGING_DIR}/${HOST_SYS}/qt2/lib/
- install -m 0644 src/kernel/qsnoopdata_qws_p.h ${STAGING_DIR}/${HOST_SYS}/qt2/include/
+ install -d ${STAGING_DIR_HOST}/qt2/include
+ cp -pfLR include/* ${STAGING_DIR_HOST}/qt2/include
+ cp -pPR lib/fonts ${STAGING_DIR_HOST}/qt2/lib/
+ install -m 0644 src/kernel/qsnoopdata_qws_p.h ${STAGING_DIR_HOST}/qt2/include/
}
do_install() {
diff --git a/packages/radlib/radlib-mysql.inc b/packages/radlib/radlib-mysql.inc
index a6a5923343..12cb73dcea 100644
--- a/packages/radlib/radlib-mysql.inc
+++ b/packages/radlib/radlib-mysql.inc
@@ -2,5 +2,5 @@ DEPENDS = "mysql"
export CFLAGS_append=" -I${STAGING_INCDIR}/mysql "
-EXTRA_OECONF = " --host=${TARGET_SYS} --prefix=${STAGING_DIR} --enable-mysql"
+EXTRA_OECONF = " --host=${TARGET_SYS} --prefix=${STAGING_DIR_HOST}${layout_prefix} --enable-mysql"
diff --git a/packages/radlib/radlib.inc b/packages/radlib/radlib.inc
index 67357ebe55..b8fa555771 100644
--- a/packages/radlib/radlib.inc
+++ b/packages/radlib/radlib.inc
@@ -1 +1 @@
-EXTRA_OECONF = " --host=${TARGET_SYS} --prefix=${STAGING_DIR}"
+EXTRA_OECONF = " --host=${TARGET_SYS} --prefix=${STAGING_DIR_HOST}${layout_prefix}"
diff --git a/packages/radlib/x b/packages/radlib/x
deleted file mode 100644
index c27c3cae43..0000000000
--- a/packages/radlib/x
+++ /dev/null
@@ -1 +0,0 @@
- file://Makefile.am.patch;patch=1"
diff --git a/packages/randrext/.mtn2git_empty b/packages/randrext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/randrext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/randrext/randrext_1.0.bb b/packages/randrext/randrext_1.0.bb
deleted file mode 100644
index 3fe6a442ac..0000000000
--- a/packages/randrext/randrext_1.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SECTION = "libs"
-LICENSE= "BSD-X"
-DESCRIPTION = "X Resize and Rotate extension headers"
-
-SRC_URI = "${XLIBS_MIRROR}/randrext-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/randrext/randrext_cvs.bb b/packages/randrext/randrext_cvs.bb
deleted file mode 100644
index 29cff38373..0000000000
--- a/packages/randrext/randrext_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE= "BSD-X"
-SECTION = "libs"
-DESCRIPTION = "X Resize and Rotate extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Randr"
-S = "${WORKDIR}/Randr"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/rdesktop/rdesktop_1.3.1.bb b/packages/rdesktop/rdesktop_1.3.1.bb
index 12ff1c5bcd..f54c675314 100644
--- a/packages/rdesktop/rdesktop_1.3.1.bb
+++ b/packages/rdesktop/rdesktop_1.3.1.bb
@@ -22,8 +22,8 @@ do_configure() {
--bindir=${bindir} \
--mandir=${mandir} \
--sharedir=${datadir} \
- --with-x=${STAGING_DIR}/${HOST_SYS} \
- --with-openssl=${STAGING_DIR}/${HOST_SYS} \
+ --with-x=${STAGING_EXECPREFIXDIR} \
+ --with-openssl=${STAGING_EXECPREFIXDIR} \
--with-oss \
--without-debug
}
diff --git a/packages/rdesktop/rdesktop_1.4.1.bb b/packages/rdesktop/rdesktop_1.4.1.bb
index 7581647a57..da1794b190 100644
--- a/packages/rdesktop/rdesktop_1.4.1.bb
+++ b/packages/rdesktop/rdesktop_1.4.1.bb
@@ -11,4 +11,4 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/rdesktop/rdesktop-${PV}.tar.gz \
inherit autotools
-EXTRA_OECONF = "--with-openssl=${STAGING_LIBDIR}/.. "
+EXTRA_OECONF = "--with-openssl=${STAGING_EXECPREFIXDIR} "
diff --git a/packages/rdesktop/rdesktop_1.5.0.bb b/packages/rdesktop/rdesktop_1.5.0.bb
index de270e1025..12385c127f 100644
--- a/packages/rdesktop/rdesktop_1.5.0.bb
+++ b/packages/rdesktop/rdesktop_1.5.0.bb
@@ -10,4 +10,4 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/rdesktop/rdesktop-${PV}.tar.gz"
inherit autotools
-EXTRA_OECONF = "--with-openssl=${STAGING_LIBDIR}/.. "
+EXTRA_OECONF = "--with-openssl=${STAGING_EXECPREFIXDIR} "
diff --git a/packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty b/packages/re2c/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/obsolete/freedesktop-premodular-xlibs/.mtn2git_empty
+++ b/packages/re2c/.mtn2git_empty
diff --git a/packages/re2c/re2c-native_0.13.1.bb b/packages/re2c/re2c-native_0.13.1.bb
new file mode 100644
index 0000000000..fb7e3df626
--- /dev/null
+++ b/packages/re2c/re2c-native_0.13.1.bb
@@ -0,0 +1,5 @@
+require re2c.inc
+
+PR = "r0"
+
+inherit native
diff --git a/packages/re2c/re2c.inc b/packages/re2c/re2c.inc
new file mode 100644
index 0000000000..730059e526
--- /dev/null
+++ b/packages/re2c/re2c.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Tool for writing very fast and very flexible scanners"
+HOMEPAGE = "http://re2c.sourceforge.net/"
+AUTHOR = "Marcus Börger helly@users.sourceforge.net"
+SECTION = "devel"
+PRIORITY = "optional"
+LICENSE = "PD"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/re2c/re2c-${PV}.tar.gz"
+
+S = "${WORKDIR}/re2c-${PV}"
+
+inherit autotools
diff --git a/packages/re2c/re2c_0.13.1.bb b/packages/re2c/re2c_0.13.1.bb
new file mode 100644
index 0000000000..5846dc4bf1
--- /dev/null
+++ b/packages/re2c/re2c_0.13.1.bb
@@ -0,0 +1,3 @@
+require re2c.inc
+
+PR = "r0"
diff --git a/packages/recordext/.mtn2git_empty b/packages/recordext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/recordext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/recordext/recordext_cvs.bb b/packages/recordext/recordext_cvs.bb
deleted file mode 100644
index eeaae24762..0000000000
--- a/packages/recordext/recordext_cvs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "BSD-X"
-SECTION = "libs"
-DESCRIPTION = "XRecord extension protocol bits"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=RecordExt"
-S = "${WORKDIR}/RecordExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/renderext/.mtn2git_empty b/packages/renderext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/renderext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/renderext/renderext_0.8.bb b/packages/renderext/renderext_0.8.bb
deleted file mode 100644
index a12f7c0da5..0000000000
--- a/packages/renderext/renderext_0.8.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SECTION = "libs"
-LICENSE = "MIT-X"
-DESCRIPTION = "X Render extension headers"
-
-SRC_URI = "${XLIBS_MIRROR}/renderext-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/renderext/renderext_cvs.bb b/packages/renderext/renderext_cvs.bb
deleted file mode 100644
index 08053d95b9..0000000000
--- a/packages/renderext/renderext_cvs.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT-X"
-SECTION = "libs"
-DESCRIPTION = "X Render extension headers"
-DEFAULT_PREFERENCE = "1"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Render"
-S = "${WORKDIR}/Render"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/resourceext/.mtn2git_empty b/packages/resourceext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/resourceext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/resourceext/resourceext_1.0.bb b/packages/resourceext/resourceext_1.0.bb
deleted file mode 100644
index 55780b1d22..0000000000
--- a/packages/resourceext/resourceext_1.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SECTION = "libs"
-LICENSE = "Xorg"
-DEPENDS = "xextensions"
-DESCRIPTION = "X Resource usage extension headers"
-
-SRC_URI = "${XLIBS_MIRROR}/resourceext-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/resourceext/resourceext_cvs.bb b/packages/resourceext/resourceext_cvs.bb
deleted file mode 100644
index b0fe23392e..0000000000
--- a/packages/resourceext/resourceext_cvs.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-SECTION = "libs"
-LICENSE = "Xorg"
-DEPENDS = "xextensions"
-DESCRIPTION = "X Resource usage extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=ResourceExt"
-S = "${WORKDIR}/ResourceExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR} \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
-}
diff --git a/packages/roadster/roadster_cvs.bb b/packages/roadster/roadster_cvs.bb
index ae32f204a2..81e406c6e1 100644
--- a/packages/roadster/roadster_cvs.bb
+++ b/packages/roadster/roadster_cvs.bb
@@ -11,7 +11,7 @@ RDEPENDS = "gpsd gtk+ cairo libxml2"
SRC_URI = "cvs://anoncvs@cvs.cairographics.org/cvs/cairo;module=roadster"
S = "${WORKDIR}/${PN}"
-EXTRA_OECONF = " --with-gpsd=${STAGING_DIR}/${TARGET_SYS} "
+EXTRA_OECONF = " --with-gpsd=${STAGING_DIR_TARGET}${layout_exec_prefix} "
inherit autotools
CFLAGS += " -I{$STAGING_INCDIR} "
diff --git a/packages/obsolete/xcalibrateext/.mtn2git_empty b/packages/rt-tests/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/obsolete/xcalibrateext/.mtn2git_empty
+++ b/packages/rt-tests/.mtn2git_empty
diff --git a/packages/rt-tests/rt-tests_0.19.bb b/packages/rt-tests/rt-tests_0.19.bb
new file mode 100644
index 0000000000..e2c9e17846
--- /dev/null
+++ b/packages/rt-tests/rt-tests_0.19.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Real-time tests, such as cyclictest."
+HOMEPAGE = "http://rt.wiki.kernel.org/index.php/Cyclictest"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-${PV}.tar.bz2"
+
+S = "${WORKDIR}/rt-tests"
+
+do_install() {
+ install -d ${D}${bindir}
+ for binary in `find . -perm 0755 -type f`
+ do
+ install -m 0755 $binary ${D}${bindir}
+ done
+}
+
+
diff --git a/packages/s3c2410-utils/.mtn2git_empty b/packages/s3c2410-utils/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/s3c2410-utils/.mtn2git_empty
+++ /dev/null
diff --git a/packages/pango/pango-1.13.3/.mtn2git_empty b/packages/s3c24xx-utils/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/pango/pango-1.13.3/.mtn2git_empty
+++ b/packages/s3c24xx-utils/.mtn2git_empty
diff --git a/packages/s3c2410-utils/s3c2410-boot-usb-native_svn.bb b/packages/s3c24xx-utils/s3c2410-boot-usb-native_svn.bb
index c7b89647f5..c7b89647f5 100644
--- a/packages/s3c2410-utils/s3c2410-boot-usb-native_svn.bb
+++ b/packages/s3c24xx-utils/s3c2410-boot-usb-native_svn.bb
diff --git a/packages/s3c24xx-utils/s3c24xx-gpio_svn.bb b/packages/s3c24xx-utils/s3c24xx-gpio_svn.bb
new file mode 100644
index 0000000000..085339a9c1
--- /dev/null
+++ b/packages/s3c24xx-utils/s3c24xx-gpio_svn.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform"
+SECTION = "console/utils"
+LICENSE = "GPL"
+PV = "1.0+svn${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=http"
+S = "${WORKDIR}/gpio"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.c
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 ${PN} ${D}${sbindir}
+}
diff --git a/packages/s3c2410-utils/sjf2410-linux-native_svn.bb b/packages/s3c24xx-utils/sjf2410-linux-native_svn.bb
index 60cce4a3e2..60cce4a3e2 100644
--- a/packages/s3c2410-utils/sjf2410-linux-native_svn.bb
+++ b/packages/s3c24xx-utils/sjf2410-linux-native_svn.bb
diff --git a/packages/skippy/skippy-xd_0.5.0.bb b/packages/skippy/skippy-xd_0.5.0.bb
index a27670da76..c5ed177aa6 100644
--- a/packages/skippy/skippy-xd_0.5.0.bb
+++ b/packages/skippy/skippy-xd_0.5.0.bb
@@ -9,9 +9,9 @@ SRC_URI = "http://thegraveyard.org/files/${PN}-${PV}.tar.bz2 \
file://fix-makefile.patch;patch=1 \
file://event_base.patch;patch=1"
-EXTRA_OEMAKE = "X11PREFIX='${STAGING_DIR}/${TARGET_SYS}' PKG_CONFIG='${STAGING_BINDIR_NATIVE}/pkg-config'"
-CFLAGS_append = " -I${STAGING_DIR}/${TARGET_SYS}/include/X11"
-LDFLAGS_append = " -L${STAGING_DIR}/${TARGET_SYS}/lib/X11"
+EXTRA_OEMAKE = "X11PREFIX='${STAGING_DIR_TARGET}${layout_prefix}' PKG_CONFIG='${STAGING_BINDIR_NATIVE}/pkg-config'"
+CFLAGS_append = " -I${STAGING_INCDIR}/X11"
+LDFLAGS_append = " -L${STAGING_LIBDIR}/X11"
do_install() {
oe_runmake 'BINDIR=${D}${bindir}' install
diff --git a/packages/sox/sox-native_13.0.0.bb b/packages/sox/sox-native_13.0.0.bb
index 9b4dd29433..9be032260c 100644
--- a/packages/sox/sox-native_13.0.0.bb
+++ b/packages/sox/sox-native_13.0.0.bb
@@ -9,7 +9,7 @@ do_patch() {
}
do_stage() {
- make bindir="${STAGING_BINDIR}" libdir="${STAGING_LIBDIR}" mandir="${STAGING_DIR}/${HOST_SYS}/man" includedir="${STAGING_INCDIR}" install
+ make bindir="${STAGING_BINDIR}" libdir="${STAGING_LIBDIR}" mandir="${STAGING_DIR_HOST}${layout_mandir}" includedir="${STAGING_INCDIR}" install
rm ${STAGING_BINDIR}/rec
ln -s ${STAGING_BINDIR}/play ${STAGING_BINDIR}/rec
}
diff --git a/packages/sqlite/sqlite3-3.2.2/libtool.patch b/packages/sqlite/sqlite3-3.2.2/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.2.2/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3-3.2.5/libtool.patch b/packages/sqlite/sqlite3-3.2.5/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.2.5/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3-3.2.7/libtool.patch b/packages/sqlite/sqlite3-3.2.7/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.2.7/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3-3.3.12/cross-compile.patch b/packages/sqlite/sqlite3-3.3.12/cross-compile.patch
deleted file mode 100644
index 31d4f0d162..0000000000
--- a/packages/sqlite/sqlite3-3.3.12/cross-compile.patch
+++ /dev/null
@@ -1,92 +0,0 @@
---- sqlite-3.3.7/configure.ac.orig 2006-08-21 00:20:50.000000000 +0200
-+++ sqlite-3.3.7/configure.ac 2006-08-21 00:22:35.000000000 +0200
-@@ -187,10 +187,11 @@
- default_build_cflags="-g"
- if test "$config_BUILD_CC" = ""; then
- AC_PROG_CC
-- if test "$cross_compiling" = "yes"; then
-- AC_MSG_ERROR([unable to find a compiler for building build tools])
-- fi
-- BUILD_CC=$CC
-+# if test "$cross_compiling" = "yes"; then
-+# AC_MSG_ERROR([unable to find a compiler for building build tools])
-+# fi
-+# BUILD_CC=$CC
-+BUILD_CC=gcc
- default_build_cflags=$CFLAGS
- else
- BUILD_CC=$config_BUILD_CC
-@@ -238,6 +239,12 @@
- TARGET_LINK=$config_TARGET_LINK
- fi
- AC_MSG_RESULT($TARGET_LINK)
-+if test "$config_TARGET_LFLAGS" != ""; then
-+ TARGET_LFLAGS=$config_TARGET_LFLAGS
-+ else
-+ TARGET_LFLAGS=$BUILD_LFLAGS
-+ fi
-+AC_MSG_RESULT($TARGET_LFLAGS)
- AC_MSG_CHECKING([switches on the target compiler])
- if test "$config_TARGET_TFLAGS" != ""; then
- TARGET_TFLAGS=$config_TARGET_TFLAGS
-@@ -592,15 +599,7 @@
- # Figure out what C libraries are required to compile programs
- # that use "readline()" library.
- #
--if test "$config_TARGET_READLINE_LIBS" != ""; then
-- TARGET_READLINE_LIBS="$config_TARGET_READLINE_LIBS"
--else
-- CC=$TARGET_CC
-- LIBS=""
-- AC_SEARCH_LIBS(tgetent, [readline ncurses curses termcap])
-- AC_CHECK_LIB([readline], [readline])
-- TARGET_READLINE_LIBS="$LIBS"
--fi
-+TARGET_READLINE_LIBS="-lreadline"
- AC_SUBST(TARGET_READLINE_LIBS)
-
- ##########
-@@ -615,41 +614,8 @@
- ##########
- # Figure out where to get the READLINE header files.
- #
--AC_MSG_CHECKING([readline header files])
--found=no
--if test "$config_TARGET_READLINE_INC" != ""; then
-- TARGET_READLINE_INC=$config_TARGET_READLINE_INC
-- found=yes
--fi
--if test "$found" = "yes"; then
-- AC_MSG_RESULT($TARGET_READLINE_INC)
--else
-- AC_MSG_RESULT(not specified: still searching...)
-- AC_CHECK_HEADER(readline.h, [found=yes])
--fi
--if test "$found" = "no"; then
-- for dir in /usr /usr/local /usr/local/readline /usr/contrib /mingw; do
-- AC_CHECK_FILE($dir/include/readline.h, found=yes)
-- if test "$found" = "yes"; then
-- TARGET_READLINE_INC="-I$dir/include"
-- break
-- fi
-- AC_CHECK_FILE($dir/include/readline/readline.h, found=yes)
-- if test "$found" = "yes"; then
-- TARGET_READLINE_INC="-I$dir/include/readline"
-- break
-- fi
-- done
--fi
--if test "$found" = "yes"; then
-- if test "$TARGET_READLINE_LIBS" = ""; then
-- TARGET_HAVE_READLINE=0
-- else
-- TARGET_HAVE_READLINE=1
-- fi
--else
-- TARGET_HAVE_READLINE=0
--fi
-+TARGET_READLINE_INC=""
-+TARGET_HAVE_READLINE=1
- AC_SUBST(TARGET_READLINE_INC)
- AC_SUBST(TARGET_HAVE_READLINE)
-
diff --git a/packages/sqlite/sqlite3-3.3.12/libtool.patch b/packages/sqlite/sqlite3-3.3.12/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.3.12/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3-3.3.13/cross-compile.patch b/packages/sqlite/sqlite3-3.3.13/cross-compile.patch
deleted file mode 100644
index 31d4f0d162..0000000000
--- a/packages/sqlite/sqlite3-3.3.13/cross-compile.patch
+++ /dev/null
@@ -1,92 +0,0 @@
---- sqlite-3.3.7/configure.ac.orig 2006-08-21 00:20:50.000000000 +0200
-+++ sqlite-3.3.7/configure.ac 2006-08-21 00:22:35.000000000 +0200
-@@ -187,10 +187,11 @@
- default_build_cflags="-g"
- if test "$config_BUILD_CC" = ""; then
- AC_PROG_CC
-- if test "$cross_compiling" = "yes"; then
-- AC_MSG_ERROR([unable to find a compiler for building build tools])
-- fi
-- BUILD_CC=$CC
-+# if test "$cross_compiling" = "yes"; then
-+# AC_MSG_ERROR([unable to find a compiler for building build tools])
-+# fi
-+# BUILD_CC=$CC
-+BUILD_CC=gcc
- default_build_cflags=$CFLAGS
- else
- BUILD_CC=$config_BUILD_CC
-@@ -238,6 +239,12 @@
- TARGET_LINK=$config_TARGET_LINK
- fi
- AC_MSG_RESULT($TARGET_LINK)
-+if test "$config_TARGET_LFLAGS" != ""; then
-+ TARGET_LFLAGS=$config_TARGET_LFLAGS
-+ else
-+ TARGET_LFLAGS=$BUILD_LFLAGS
-+ fi
-+AC_MSG_RESULT($TARGET_LFLAGS)
- AC_MSG_CHECKING([switches on the target compiler])
- if test "$config_TARGET_TFLAGS" != ""; then
- TARGET_TFLAGS=$config_TARGET_TFLAGS
-@@ -592,15 +599,7 @@
- # Figure out what C libraries are required to compile programs
- # that use "readline()" library.
- #
--if test "$config_TARGET_READLINE_LIBS" != ""; then
-- TARGET_READLINE_LIBS="$config_TARGET_READLINE_LIBS"
--else
-- CC=$TARGET_CC
-- LIBS=""
-- AC_SEARCH_LIBS(tgetent, [readline ncurses curses termcap])
-- AC_CHECK_LIB([readline], [readline])
-- TARGET_READLINE_LIBS="$LIBS"
--fi
-+TARGET_READLINE_LIBS="-lreadline"
- AC_SUBST(TARGET_READLINE_LIBS)
-
- ##########
-@@ -615,41 +614,8 @@
- ##########
- # Figure out where to get the READLINE header files.
- #
--AC_MSG_CHECKING([readline header files])
--found=no
--if test "$config_TARGET_READLINE_INC" != ""; then
-- TARGET_READLINE_INC=$config_TARGET_READLINE_INC
-- found=yes
--fi
--if test "$found" = "yes"; then
-- AC_MSG_RESULT($TARGET_READLINE_INC)
--else
-- AC_MSG_RESULT(not specified: still searching...)
-- AC_CHECK_HEADER(readline.h, [found=yes])
--fi
--if test "$found" = "no"; then
-- for dir in /usr /usr/local /usr/local/readline /usr/contrib /mingw; do
-- AC_CHECK_FILE($dir/include/readline.h, found=yes)
-- if test "$found" = "yes"; then
-- TARGET_READLINE_INC="-I$dir/include"
-- break
-- fi
-- AC_CHECK_FILE($dir/include/readline/readline.h, found=yes)
-- if test "$found" = "yes"; then
-- TARGET_READLINE_INC="-I$dir/include/readline"
-- break
-- fi
-- done
--fi
--if test "$found" = "yes"; then
-- if test "$TARGET_READLINE_LIBS" = ""; then
-- TARGET_HAVE_READLINE=0
-- else
-- TARGET_HAVE_READLINE=1
-- fi
--else
-- TARGET_HAVE_READLINE=0
--fi
-+TARGET_READLINE_INC=""
-+TARGET_HAVE_READLINE=1
- AC_SUBST(TARGET_READLINE_INC)
- AC_SUBST(TARGET_HAVE_READLINE)
-
diff --git a/packages/sqlite/sqlite3-3.3.13/libtool.patch b/packages/sqlite/sqlite3-3.3.13/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.3.13/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3-3.3.17/libtool.patch b/packages/sqlite/sqlite3-3.3.17/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.3.17/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3-3.4.1/libtool.patch b/packages/sqlite/sqlite3-3.4.1/libtool.patch
deleted file mode 100644
index ccf9993ed2..0000000000
--- a/packages/sqlite/sqlite3-3.4.1/libtool.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: sqlite-3.2.1/Makefile.in
-===================================================================
---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100
-+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200
-@@ -15,7 +15,10 @@
- # The toplevel directory of the source tree. This is the directory
- # that contains this "Makefile.in" and the "configure.in" script.
- #
--TOP = @srcdir@
-+TOP = $(srcdir)
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+top_builddir = .
-
- # C Compiler and options for use in building executables that
- # will run on the platform that is doing the build.
-@@ -96,7 +99,7 @@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
- INSTALL = @INSTALL@
--LIBTOOL = ./libtool
-+LIBTOOL = @LIBTOOL@
- ALLOWRELEASE = @ALLOWRELEASE@
-
- # libtool compile/link/install
diff --git a/packages/sqlite/sqlite3_3.5.2.bb b/packages/sqlite/sqlite3_3.5.6.bb
index 53fd96c705..53fd96c705 100644
--- a/packages/sqlite/sqlite3_3.5.2.bb
+++ b/packages/sqlite/sqlite3_3.5.6.bb
diff --git a/packages/startup-notification/startup-notification_0.5.bb b/packages/startup-notification/startup-notification_0.5.bb
index c48e89ce0b..e073476472 100644
--- a/packages/startup-notification/startup-notification_0.5.bb
+++ b/packages/startup-notification/startup-notification_0.5.bb
@@ -9,5 +9,5 @@ inherit autotools pkgconfig
SRC_URI = "http://freedesktop.org/Software/startup-notification/releases/startup-notification-${PV}.tar.gz"
do_stage () {
- oe_runmake install DESTDIR="" bindir=${STAGING_BINDIR} includedir=${STAGING_INCDIR} libdir=${STAGING_LIBDIR} prefix=${STAGING_DIR}
+ autotools_stage_all
}
diff --git a/packages/subversion/subversion_1.3.1.bb b/packages/subversion/subversion_1.3.1.bb
index 1e40cd7a55..79e5e67d7b 100644
--- a/packages/subversion/subversion_1.3.1.bb
+++ b/packages/subversion/subversion_1.3.1.bb
@@ -9,7 +9,7 @@ SRC_URI = "http://subversion.tigris.org/downloads/${P}.tar.bz2 \
file://disable-revision-install.patch;patch=1 \
file://apr-regex.patch;patch=1"
-EXTRA_OECONF = "--with-neon=${STAGING_DIR_NATIVE}${layout_exec_prefix} \
+EXTRA_OECONF = "--with-neon=${STAGING_EXECPREFIXDIR} \
--without-berkeley-db --without-apxs --without-apache \
--without-swig --with-apr=${STAGING_BINDIR_CROSS} \
--with-apr-util=${STAGING_BINDIR_CROSS}"
diff --git a/packages/subversion/subversion_1.4.0.bb b/packages/subversion/subversion_1.4.0.bb
index 59f42b8c66..305b13c6a4 100644
--- a/packages/subversion/subversion_1.4.0.bb
+++ b/packages/subversion/subversion_1.4.0.bb
@@ -10,7 +10,7 @@ SRC_URI = "http://subversion.tigris.org/downloads/${P}.tar.bz2 \
file://disable-revision-install.patch;patch=1 \
file://neon-detection.patch;patch=1"
-EXTRA_OECONF = "--with-neon=${STAGING_DIR}/${TARGET_SYS} \
+EXTRA_OECONF = "--with-neon=${STAGING_EXECPREFIXDIR} \
--without-berkeley-db --without-apxs --without-apache \
--without-swig --with-apr=${STAGING_BINDIR_CROSS} \
--with-apr-util=${STAGING_BINDIR_CROSS}"
diff --git a/packages/subversion/subversion_1.4.3.bb b/packages/subversion/subversion_1.4.3.bb
index 9674329f6c..4871674cc8 100644
--- a/packages/subversion/subversion_1.4.3.bb
+++ b/packages/subversion/subversion_1.4.3.bb
@@ -11,7 +11,7 @@ SRC_URI = "http://subversion.tigris.org/downloads/${P}.tar.bz2 \
file://disable-revision-install.patch;patch=1 \
file://neon-detection.patch;patch=1"
-EXTRA_OECONF = "--with-neon=${STAGING_DIR}/${TARGET_SYS} \
+EXTRA_OECONF = "--with-neon=${STAGING_EXECPREFIXDIR} \
--without-berkeley-db --without-apxs --without-apache \
--without-swig --with-apr=${STAGING_BINDIR_CROSS} \
--with-apr-util=${STAGING_BINDIR_CROSS}"
diff --git a/packages/subversion/subversion_1.4.5.bb b/packages/subversion/subversion_1.4.5.bb
index 1daf45bd0c..5c15d67daf 100644
--- a/packages/subversion/subversion_1.4.5.bb
+++ b/packages/subversion/subversion_1.4.5.bb
@@ -11,7 +11,7 @@ SRC_URI = "http://subversion.tigris.org/downloads/${P}.tar.bz2 \
file://disable-revision-install.patch;patch=1 \
file://neon-detection.patch;patch=1"
-EXTRA_OECONF = "--with-neon=${STAGING_DIR}/${TARGET_SYS} \
+EXTRA_OECONF = "--with-neon=${STAGING_EXECPREFIXDIR} \
--without-berkeley-db --without-apxs --without-apache \
--without-swig --with-apr=${STAGING_BINDIR_CROSS} \
--with-apr-util=${STAGING_BINDIR_CROSS}"
diff --git a/packages/swt/files/swt-hildon.patch b/packages/swt/files/swt-hildon.patch
index 728dd3070c..5f095e08fc 100644
--- a/packages/swt/files/swt-hildon.patch
+++ b/packages/swt/files/swt-hildon.patch
@@ -1,15 +1,15 @@
-Index: swt-hildon/swt-source/make_linux.mak
+Index: swt/swt-source/make_linux.mak
===================================================================
---- swt-hildon.orig/swt-source/make_linux.mak 2008-01-08 09:35:29.000000000 +0100
-+++ swt-hildon/swt-source/make_linux.mak 2008-01-08 11:35:01.000000000 +0100
+--- swt.orig/swt-source/make_linux.mak 2007-06-20 12:01:22.000000000 +0200
++++ swt/swt-source/make_linux.mak 2008-02-14 11:32:49.000000000 +0100
@@ -45,8 +45,8 @@
CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo
# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
-GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
-GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst
-+GTKCFLAGS = `pkg-config --cflags gtk+-2.0 hildon-1`
-+GTKLIBS = -lhildon-1 `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst
++GTKCFLAGS = `pkg-config --cflags gtk+-2.0 hildon-1 hildon-fm-2`
++GTKLIBS = -lhildon-1 -lhildonfm `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst
CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
@@ -31,10 +31,10 @@ Index: swt-hildon/swt-source/make_linux.mak
-fPIC \
${SWT_PTR_CFLAGS}
LIBS = -shared -fPIC
-Index: swt-hildon/swt-source/os.c
+Index: swt/swt-source/os.c
===================================================================
---- swt-hildon.orig/swt-source/os.c 2008-01-08 09:35:29.000000000 +0100
-+++ swt-hildon/swt-source/os.c 2008-01-08 09:37:00.000000000 +0100
+--- swt.orig/swt-source/os.c 2007-10-30 16:24:28.000000000 +0100
++++ swt/swt-source/os.c 2008-02-14 09:32:49.000000000 +0100
@@ -17,6 +17,9 @@
#include "os_structs.h"
#include "os_stats.h"
@@ -80,7 +80,7 @@ Index: swt-hildon/swt-source/os.c
OS_NATIVE_EXIT(env, that, _1gtk_1menu_1bar_1new_FUNC);
return rc;
}
-@@ -15464,8 +15479,22 @@
+@@ -15464,8 +15479,23 @@
(JNIEnv *env, jclass that, jint arg0)
{
jint rc = 0;
@@ -95,6 +95,7 @@ Index: swt-hildon/swt-source/os.c
+ p = hildon_program_get_instance();
+ w = hildon_window_new();
+ hildon_program_add_window(p, HILDON_WINDOW(w));
++/* gtk_window_fullscreen(GTK_WINDOW(w));*/
+/*
+ }
+ else
@@ -104,10 +105,10 @@ Index: swt-hildon/swt-source/os.c
OS_NATIVE_EXIT(env, that, _1gtk_1window_1new_FUNC);
return rc;
}
-Index: swt-hildon/swt-source/org/eclipse/swt/widgets/Menu.java
+Index: swt/swt-source/org/eclipse/swt/widgets/Menu.java
===================================================================
---- swt-hildon.orig/swt-source/org/eclipse/swt/widgets/Menu.java 2008-01-08 09:34:55.000000000 +0100
-+++ swt-hildon/swt-source/org/eclipse/swt/widgets/Menu.java 2008-01-08 09:36:01.000000000 +0100
+--- swt.orig/swt-source/org/eclipse/swt/widgets/Menu.java 2007-05-31 18:03:50.000000000 +0200
++++ swt/swt-source/org/eclipse/swt/widgets/Menu.java 2008-02-14 09:05:04.000000000 +0100
@@ -259,9 +259,17 @@
if ((style & SWT.BAR) != 0) {
handle = OS.gtk_menu_bar_new ();
@@ -126,3 +127,137 @@ Index: swt-hildon/swt-source/org/eclipse/swt/widgets/Menu.java
} else {
handle = OS.gtk_menu_new ();
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
+Index: swt/swt-source/org/eclipse/swt/internal/gtk/OS.java
+===================================================================
+--- swt.orig/swt-source/org/eclipse/swt/internal/gtk/OS.java 2007-10-30 16:06:36.000000000 +0100
++++ swt/swt-source/org/eclipse/swt/internal/gtk/OS.java 2008-02-14 09:05:04.000000000 +0100
+@@ -471,6 +471,11 @@
+ public static final byte[] window_state_event = ascii("window-state-event");
+
+ /** Properties */
++ /* Maemo hildon specific - border added due to toolbar */
++ public static final byte[] toolbar_borders = ascii("toolbar-borders");
++ /* Maemo hildon specific - border added due to skin graphics area */
++ public static final byte[] borders = ascii("borders");
++
+ public static final byte[] active = ascii("active");
+ public static final byte[] background_gdk = ascii("background-gdk");
+ public static final byte[] button_relief = ascii("button-relief");
+Index: swt/swt-source/org/eclipse/swt/widgets/Shell.java
+===================================================================
+--- swt.orig/swt-source/org/eclipse/swt/widgets/Shell.java 2007-11-01 11:31:12.000000000 +0100
++++ swt/swt-source/org/eclipse/swt/widgets/Shell.java 2008-02-14 10:51:37.000000000 +0100
+@@ -1028,6 +1028,14 @@
+ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
+ int width = OS.GTK_WIDGET_WIDTH (shellHandle);
+ int height = OS.GTK_WIDGET_HEIGHT (shellHandle);
++
++ if (!fullScreen)
++ {
++ GtkBorder b = getMaemoBorder(false);
++ width -= (b.left + b.right);
++ height -= (b.top + b.bottom);
++ }
++
+ if (!resized || oldWidth != width || oldHeight != height) {
+ oldWidth = width;
+ oldHeight = height;
+@@ -1384,14 +1392,53 @@
+ if ((state & FOREIGN_HANDLE) != 0) return;
+ Monitor monitor = getMonitor ();
+ Rectangle rect = monitor.getClientArea ();
++/*
+ int width = rect.width * 5 / 8;
+ int height = rect.height * 5 / 8;
++*/
++
++ int width = rect.width;
++ int height = rect.height;
++
++ // Instead of some arbitrary defaults we can use the complete "application
++ // area" on the maemo platform.
++ if (!fullScreen)
++ {
++ GtkBorder b = getMaemoBorder(false);
++ width -= (b.left + b.right);
++ height -= (b.top + b.bottom);
++ }
++
+ if ((style & SWT.RESIZE) != 0) {
+ OS.gtk_window_resize (shellHandle, width, height);
+ }
+ resizeBounds (width, height, false);
+ }
+
++/**
++ * Retrieves the "borders" or "toolbar-borders" property
++ * from the Shell.
++ *
++ * That is neccessary to calculate correct Shell sizes on
++ * the Maemo platform.
++ *
++ */
++private GtkBorder getMaemoBorder(boolean wantToolbarBorder)
++{
++ GtkBorder b = new GtkBorder();
++
++ int /*long*/ [] result = new int /*long*/[1];
++ OS.gtk_widget_style_get(shellHandle,
++ (wantToolbarBorder ? OS.toolbar_borders
++ : OS.borders),
++ result, 0);
++
++ if (result[0] != 0)
++ OS.memmove(b, result[0], GtkBorder.sizeof);
++
++ return b;
++}
++
+ public void setMaximized (boolean maximized) {
+ checkWidget();
+ super.setMaximized (maximized);
+Index: swt/swt-source/os_custom.c
+===================================================================
+--- swt.orig/swt-source/os_custom.c 2007-05-31 18:04:22.000000000 +0200
++++ swt/swt-source/os_custom.c 2008-02-14 13:55:49.000000000 +0100
+@@ -13,6 +13,8 @@
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
++#include <hildon/hildon-file-chooser-dialog.h>
++
+ #include "swt.h"
+ #include "os_structs.h"
+ #include "os_stats.h"
+@@ -41,11 +43,22 @@
+ {
+ jbyte *lparg0=NULL;
+ SWT_PTR rc = 0;
++ GtkWidget *widget = NULL;
+ OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1dialog_1new_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ /*
+ rc = (SWT_PTR)gtk_file_chooser_dialog_new(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+ */
++ /* Remaining arguments are thrown away as they cannot be used for the
++ * HildonFileChooserDialog anyways.
++ */
++ widget = (SWT_PTR) hildon_file_chooser_dialog_new(arg1, (GtkFileChooserAction) arg2);
++ gtk_window_set_title(GTK_WINDOW(widget), (const gchar *) lparg0);
++
++ rc = (SWT_PTR) widget;
++#if 0
++// The code is not supposed to run on AMD64.
++
+ {
+ static int initialized = 0;
+ static void *handle = NULL;
+@@ -70,6 +83,8 @@
+ rc = (SWT_PTR)(*fptr)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+ }
+ }
++#endif
++
+ fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1dialog_1new_FUNC);
diff --git a/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb
index 628dcdd810..d3dfe4d216 100644
--- a/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb
+++ b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb
@@ -1,7 +1,7 @@
require swt3.4-gtk_${PV}.bb
-PR = "r1"
+PR = "r2"
-DEPENDS += "hildon-1"
+DEPENDS += "libhildon libhildonfm"
SRC_URI += "file://swt-hildon.patch;patch=1;pnum=2"
diff --git a/packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb
new file mode 100644
index 0000000000..17d85b46f3
--- /dev/null
+++ b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb
@@ -0,0 +1,7 @@
+require swt3.4-gtk_${PV}.bb
+
+PR = "r0"
+
+DEPENDS += "libhildon libhildonfm"
+
+SRC_URI += "file://swt-hildon.patch;patch=1;pnum=2"
diff --git a/packages/swt/swt3.4-gtk_3.3+3.4M5.bb b/packages/swt/swt3.4-gtk_3.3+3.4M5.bb
new file mode 100644
index 0000000000..4035d083f7
--- /dev/null
+++ b/packages/swt/swt3.4-gtk_3.3+3.4M5.bb
@@ -0,0 +1,12 @@
+require swt-gtk.inc
+
+SRC_URI = "http://ftp.wh2.tu-dresden.de/pub/mirrors/eclipse/eclipse/downloads/drops/S-3.4M5-200802071530/swt-3.4M5-gtk-linux-x86.zip \
+ file://Makefile"
+
+# A number which is used by SWT to mark the shared libraries.
+SWTVERSION = "3428"
+SWT_API_VERSION = "3.4"
+
+PROVIDES = "swt3.4-gtk"
+
+RCONFLICTS = "libswt3.3-gtk-java"
diff --git a/packages/sylpheed/claws-mail_3.2.0.bb b/packages/sylpheed/claws-mail_3.3.0.bb
index 29e7a5bc63..29e7a5bc63 100644
--- a/packages/sylpheed/claws-mail_3.2.0.bb
+++ b/packages/sylpheed/claws-mail_3.3.0.bb
diff --git a/packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.bb b/packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb
index 5ca95d9dfb..5ca95d9dfb 100644
--- a/packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.bb
+++ b/packages/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb
diff --git a/packages/sylpheed/claws-plugin-rssyl_0.17.bb b/packages/sylpheed/claws-plugin-rssyl_0.18.bb
index 29fc245ac4..29fc245ac4 100644
--- a/packages/sylpheed/claws-plugin-rssyl_0.17.bb
+++ b/packages/sylpheed/claws-plugin-rssyl_0.18.bb
diff --git a/packages/tasks/task-base.bb b/packages/tasks/task-base.bb
index b5b3e82f70..15835508aa 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 = "r60"
+PR = "r63"
inherit task
@@ -345,6 +345,8 @@ RRECOMMENDS_task-base-wifi = "\
kernel-module-ieee80211-crypt-wep \
kernel-module-ecb \
kernel-module-arc4 \
+ kernel-module-crypto_algapi \
+ kernel-module-cryptomgr \
kernel-module-michael-mic \
kernel-module-aes"
diff --git a/packages/tasks/task-devimage.bb b/packages/tasks/task-devimage.bb
index 9da765ee94..f2d25e32ac 100644
--- a/packages/tasks/task-devimage.bb
+++ b/packages/tasks/task-devimage.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Image for development testing"
-PR = "r2"
+PR = "r4"
LICENSE = "MIT"
inherit task
@@ -19,8 +19,10 @@ RDEPENDS = "\
"
RRECOMMENDS = "\
+ kernel-image \
kernel-module-msdos \
kernel-module-vfat \
kernel-modules \
${DEVIMAGE_EXTRA_RRECOMMENDS} \
"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/tasks/task-java-gtk.bb b/packages/tasks/task-java-gtk.bb
new file mode 100644
index 0000000000..b4f75920f3
--- /dev/null
+++ b/packages/tasks/task-java-gtk.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Task package for Java GTK applications"
+PR = "r0"
+LICENSE = "MIT"
+
+inherit task
+
+RDEPENDS_${PN} = "\
+ classpath-awt \
+ librxtx-java \
+ librxtx-jni \
+ libswt3.4-gtk-java \
+ logic-analyzer \
+ "
diff --git a/packages/tasks/task-java.bb b/packages/tasks/task-java.bb
index bfe6f56db8..be94662d40 100644
--- a/packages/tasks/task-java.bb
+++ b/packages/tasks/task-java.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Base task package for Java"
-PR = "r1"
+PR = "r2"
LICENSE = "MIT"
inherit task
@@ -9,5 +9,4 @@ RDEPENDS_${PN} = "\
classpath-awt \
java2-runtime \
librxtx-java \
- logic-analyzer \
"
diff --git a/packages/tasks/task-openmoko-base.bb b/packages/tasks/task-openmoko-base.bb
index a5d13e7e08..310d3f07c3 100644
--- a/packages/tasks/task-openmoko-base.bb
+++ b/packages/tasks/task-openmoko-base.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "OpenMoko: Base Task for the OpenMoko Linux Distribution"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r71"
+PR = "r72"
inherit task
@@ -12,10 +12,11 @@ DESCRIPTION_task-openmoko-base = "OpenMoko: Top Panel, Application Launcher, App
RDEPENDS_task-openmoko-base = "\
matchbox-panel-2 \
matchbox-panel-2-applets \
- matchbox-keyboard-inputmethod \
- matchbox-keyboard-im \
- matchbox-keyboard-applet \
+# matchbox-keyboard-inputmethod \
+# matchbox-keyboard-im \
+# matchbox-keyboard-applet \
matchbox-stroke \
+ multitap-pad \
openmoko-terminal2 \
# openmoko-keyboard \
openmoko-panel-battery \
diff --git a/packages/tasks/task-openmoko-phone.bb b/packages/tasks/task-openmoko-phone.bb
index 49e4e66859..474efff79d 100644
--- a/packages/tasks/task-openmoko-phone.bb
+++ b/packages/tasks/task-openmoko-phone.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "OpenMoko: Tasks for the OpenMoko Linux Distribution"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r72"
+PR = "r73"
inherit task
@@ -14,5 +14,6 @@ RDEPENDS_task-openmoko-phone = "\
libgsmd-tools \
openmoko-dialer2 \
openmoko-panel-gsm \
+ openmoko-panel-memory \
# ppp \
"
diff --git a/packages/tasks/task-openmoko-python-devel.bb b/packages/tasks/task-openmoko-python-devel.bb
index 695c380bc6..a5baed0024 100644
--- a/packages/tasks/task-openmoko-python-devel.bb
+++ b/packages/tasks/task-openmoko-python-devel.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "OpenMoko: Python Development Tools"
SECTION = "openmoko/devel"
LICENSE = "MIT"
-PR = "r2"
+PR = "r3"
inherit task
RDEPENDS_task-openmoko-python-devel = "\
- python-efl \
+ task-python-efl \
python-pygtk \
python-lightmediascanner \
"
diff --git a/packages/tasks/task-opie-all.bb b/packages/tasks/task-opie-all.bb
index 4666b4ab8d..5487985fd4 100644
--- a/packages/tasks/task-opie-all.bb
+++ b/packages/tasks/task-opie-all.bb
@@ -50,8 +50,7 @@ RDEPENDS_task-opie-settings = "opie-appearance opie-aqpkg opie-backup opie-butto
opie-formatter opie-language opie-launcher-settings \
opie-light-and-power opie-mediummount opie-networksettings \
opie-packagemanager opie-security opie-sshkeys opie-sysinfo \
- opie-systemtime opie-usermanager opie-icon-reload \
- opie-vmemo-settings"
+ opie-systemtime opie-icon-reload opie-vmemo-settings"
RDEPENDS_task-opie-pim = "task-opie-base-pim task-opie-todayplugins task-opie-datebookplugins \
opie-mail opie-pimconverter"
diff --git a/packages/python/python-efl-examples.bb b/packages/tasks/task-python-efl-examples.bb
index 0a4e32097f..e78a4cabae 100644
--- a/packages/python/python-efl-examples.bb
+++ b/packages/tasks/task-python-efl-examples.bb
@@ -2,9 +2,13 @@ DESCRIPTION = "Python Examples for the Enlightenment Foundation Libraries"
LICENSE = "MIT"
SECTION = "devel/python"
RDEPENDS = "\
- python-efl python-ecore-examples python-emotion-examples python-edje-examples python-epsilon-examples \
+ task-python-efl \
+ python-ecore-examples \
+ python-emotion-examples \
+ python-edje-examples \
+ python-epsilon-examples \
python-math python-textutils \
"
-PR = "ml2"
+PR = "ml3"
ALLOW_EMPTY = "1"
diff --git a/packages/python/python-efl.bb b/packages/tasks/task-python-efl.bb
index 1c7f23a1eb..1c7f23a1eb 100644
--- a/packages/python/python-efl.bb
+++ b/packages/tasks/task-python-efl.bb
diff --git a/packages/tcltk/tcl_8.4.11.bb b/packages/tcltk/tcl_8.4.11.bb
index 963bc30fc8..4bf3efd786 100644
--- a/packages/tcltk/tcl_8.4.11.bb
+++ b/packages/tcltk/tcl_8.4.11.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Tool Command Language"
LICENSE = "tcl"
SECTION = "devel/tcltk"
HOMEPAGE = "http://tcl.sourceforge.net"
-PR = "r5"
+PR = "r6"
SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
file://tcl-add-soname.patch;patch=1 \
@@ -27,6 +27,7 @@ do_stage() {
oe_libinstall -a libtclstub8.4 ${STAGING_LIBDIR}
oe_libinstall -so libtcl8.4 ${STAGING_LIBDIR}
sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
+ sed -i "s,-L${libdir},," tclConfig.sh
install -d ${STAGING_BINDIR_CROSS}/
install -m 0755 tclConfig.sh ${STAGING_BINDIR_CROSS}
cd ..
diff --git a/packages/tremor/tremor_svn.bb b/packages/tremor/tremor_svn.bb
index c7830f2063..29851f55af 100644
--- a/packages/tremor/tremor_svn.bb
+++ b/packages/tremor/tremor_svn.bb
@@ -15,14 +15,6 @@ inherit autotools
EXTRA_OECONF=" --enable-shared --disable-rpath "
-#do_configure_prepend() {
-# ./autogen.sh
-#}
-
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
- bindir=${STAGING_BINDIR} \
- includedir=${STAGING_INCDIR}/tremor \
- libdir=${STAGING_LIBDIR} \
- datadir=${STAGING_DATADIR}
+ autotools_stage_all
}
diff --git a/packages/ttf-fonts/ttf-dejavu_2.23.bb b/packages/ttf-fonts/ttf-dejavu_2.23.bb
index c0655ec5f4..fe291163fc 100644
--- a/packages/ttf-fonts/ttf-dejavu_2.23.bb
+++ b/packages/ttf-fonts/ttf-dejavu_2.23.bb
@@ -18,6 +18,7 @@ do_install_append () {
PACKAGES = "${PN}-dbg ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-sans-condensed \
ttf-dejavu-serif ttf-dejavu-serif-condensed ttf-dejavu-common"
+RRECOMMENDS_${PN}-dbg = ""
FILES_ttf-dejavu-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
FILES_ttf-dejavu-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
diff --git a/packages/ttf-fonts/ttf-hunkyfonts_0.3.0.bb b/packages/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
index 2964d7a7d8..a3126c00d3 100644
--- a/packages/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
+++ b/packages/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
@@ -10,5 +10,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
S = "${WORKDIR}/hunkyfonts-${PV}/TTF/"
PACKAGES = "${PN}-dbg ttf-hunky-sans ttf-hunky-serif"
+RRECOMMENDS_${PN}-dbg = ""
FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
diff --git a/packages/ttf-fonts/ttf-liberation_0.2.bb b/packages/ttf-fonts/ttf-liberation_0.2.bb
index 08d450e2ab..048d43c1c8 100644
--- a/packages/ttf-fonts/ttf-liberation_0.2.bb
+++ b/packages/ttf-fonts/ttf-liberation_0.2.bb
@@ -9,6 +9,8 @@ SRC_URI = "http://www.redhat.com/f/fonts/liberation-fonts-ttf-3.tar.gz"
S = "${WORKDIR}/liberation-fonts-${PV}"
PACKAGES = "${PN}-dbg ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
+RRECOMMENDS_${PN}-dbg = ""
+
FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
diff --git a/packages/ttf-fonts/ttf-sazanami_20040629.bb b/packages/ttf-fonts/ttf-sazanami_20040629.bb
index ef65d40b6b..8cf46ae82d 100644
--- a/packages/ttf-fonts/ttf-sazanami_20040629.bb
+++ b/packages/ttf-fonts/ttf-sazanami_20040629.bb
@@ -14,6 +14,7 @@ SRC_URI = "http://download.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2"
S = "${WORKDIR}/sazanami-20040629"
PACKAGES = "${PN}-dbg ttf-sazanami-gothic ttf-sazanami-mincho"
+RRECOMMENDS_${PN}-dbg = ""
FILES_ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \
${datadir}/doc/ttf-sazanami-gothic/README"
FILES_ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \
diff --git a/packages/u-boot/u-boot-openmoko-devel_git.bb b/packages/u-boot/u-boot-openmoko-devel_git.bb
index c2e21658ac..c1a5cefe77 100644
--- a/packages/u-boot/u-boot-openmoko-devel_git.bb
+++ b/packages/u-boot/u-boot-openmoko-devel_git.bb
@@ -6,14 +6,16 @@ PRIORITY = "optional"
PROVIDES = "virtual/bootloader"
LOCALVERSION = "+git${SRCREV}"
PV = "1.3.1${LOCALVERSION}"
-PR = "r0"
+PR = "r1"
-UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v1 gta02v2 gta02v3 gta02v4"
+UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v2 gta02v4 gta02v5"
DEFAULT_PREFERENCE = "-1"
SRCREV_FORMAT = "git.openmoko.org"
+SRCREV = "1dd080c17b105da5cd4720307fa62de38276796a"
+
SRC_URI = "git://git.openmoko.org/git/u-boot.git;protocol=git;branch=andy \
file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \
file://makefile-no-dirafter.patch;patch=1 \
diff --git a/packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb b/packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb
index 7a9800f94a..020fd421c6 100644
--- a/packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb
+++ b/packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb
@@ -4,12 +4,12 @@ LICENSE = "GPL"
SECTION = "bootloader"
PRIORITY = "optional"
-UBOOT_UPSTREAM_REV = "0ec595243dc99edcd248bbcfbfd5a1dc860bde89"
-UBOOT_OPENMOKO_REV = "3817"
-UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v2 gta02v3 gta02v4"
+UBOOT_UPSTREAM_REV = "10bbb38a402a2faf18858c451bcdc63d45888e6e"
+UBOOT_OPENMOKO_REV = "4118"
+UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v2 gta02v3 gta02v4 gta02v5"
LOCALVERSION = "+git${UBOOT_UPSTREAM_REV}+svn${UBOOT_OPENMOKO_REV}"
PV = "1.3.1${LOCALVERSION}"
-PR = "r1"
+PR = "r3"
PROVIDES = "virtual/bootloader"
S = "${WORKDIR}/git"
@@ -18,11 +18,11 @@ SRC_URI = "\
git://www.denx.de/git/u-boot.git;protocol=git;tag=${UBOOT_UPSTREAM_REV} \
svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;rev=${UBOOT_OPENMOKO_REV};proto=http \
file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \
- file://makefile-no-dirafter.patch;patch=1 \
- file://fix-data-abort-from-sd-ombug799.patch;patch=1 \
+# file://makefile-no-dirafter.patch;patch=1 \
+# file://fix-data-abort-from-sd-ombug799.patch;patch=1 \
"
-EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
TARGET_LDFLAGS = ""
do_quilt() {
@@ -35,12 +35,6 @@ do_svnrev() {
echo "echo ${LOCALVERSION}" >>tools/setlocalversion
}
-do_configure_prepend() {
- find . -name "*.mk" -exec sed -i 's,-mabi=apcs-gnu,,' {} \;
- find . -name "Makefile" -exec sed -i 's,-mabi=apcs-gnu,,' {} \;
- cat ${WORKDIR}/uboot-eabi-fix-HACK.patch |patch -p1
-}
-
do_compile () {
chmod +x board/neo1973/gta*/split_by_variant.sh
for mach in ${UBOOT_MACHINES}
diff --git a/packages/u-boot/u-boot-openmoko_svn.bb b/packages/u-boot/u-boot-openmoko_svn.bb
index 3ec97f2a77..ba172c094e 100644
--- a/packages/u-boot/u-boot-openmoko_svn.bb
+++ b/packages/u-boot/u-boot-openmoko_svn.bb
@@ -6,16 +6,19 @@ PRIORITY = "optional"
PROVIDES = "virtual/bootloader"
LOCALVERSION = "+git${SRCDATE}+svnr${SRCREV}"
PV = "1.3.1${LOCALVERSION}"
-PR = "r0"
+PR = "r1"
SRCREV_FORMAT = "patches"
-UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v1 gta02v2 gta02v3 gta02v4"
+UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v2 gta02v4 gta02v5"
DEFAULT_PREFERENCE = "-1"
+BLESSED_GIT_REV = "928d1d77f8623c120d8763e20e1ca58df9c5c4c6"
+
SRC_URI = "\
- git://www.denx.de/git/u-boot.git/;protocol=git;name=upstream;tag=3afac79ec27b91df185f090b31dad9620779f440 \
+
+git://www.denx.de/git/u-boot.git/;protocol=git;name=upstream;tag=${BLESSED_GIT_REV} \
svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=http;name=patches \
file://uboot-eabi-fix-HACK.patch;patch=1;maxrev=3773 \
file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \
diff --git a/packages/uclibc/elf2flt_svn.bb b/packages/uclibc/elf2flt_svn.bb
index 0fac49d468..3af893a7a8 100644
--- a/packages/uclibc/elf2flt_svn.bb
+++ b/packages/uclibc/elf2flt_svn.bb
@@ -9,7 +9,7 @@ SRC_URI = "svn://sources.blackfin.uclinux.org/toolchain/trunk;module=${PN}"
S = "${WORKDIR}/${PN}"
-EXTRA_OECONF = " --with-libbfd=${STAGING_DIR}/${TARGET_SYS}/lib/libbfd.a \
- --with-libiberty=${STAGING_DIR}/${TARGET_SYS}/lib/libiberty.a \
- --with-bfd-include-dir=${STAGING_DIR}/${TARGET_SYS}/include \
+EXTRA_OECONF = " --with-libbfd=${STAGING_LIBDIR}/libbfd.a \
+ --with-libiberty=${STAGING_LIBDIR}/libiberty.a \
+ --with-bfd-include-dir=${STAGING_INCDIR} \
"
diff --git a/packages/uclibc/uclibc-0.9.29/bfin/uClibc.machine b/packages/uclibc/uclibc-0.9.29/bfin/uClibc.machine
index cef409289c..0c565238e5 100644
--- a/packages/uclibc/uclibc-0.9.29/bfin/uClibc.machine
+++ b/packages/uclibc/uclibc-0.9.29/bfin/uClibc.machine
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Fri Aug 10 19:05:32 2007
+# Sat Oct 20 20:22:28 2007
#
# TARGET_alpha is not set
# TARGET_arm is not set
@@ -33,11 +33,10 @@ TARGET_ARCH="bfin"
FORCE_OPTIONS_FOR_ARCH=y
TARGET_SUBARCH=""
# UCLIBC_FORMAT_ELF is not set
-# UCLIBC_FORMAT_FDPIC_ELF is not set
+UCLIBC_FORMAT_FDPIC_ELF=y
# UCLIBC_FORMAT_FLAT is not set
# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
-UCLIBC_FORMAT_SHARED_FLAT=y
-UCLIBC_SHARED_FLAT_ID=1
+# UCLIBC_FORMAT_SHARED_FLAT is not set
ARCH_LITTLE_ENDIAN=y
#
@@ -50,8 +49,8 @@ ARCH_HAS_NO_MMU=y
#
UCLIBC_HAS_FLOATS=y
UCLIBC_HAS_FPU=y
-DO_C99_MATH=y
-KERNEL_HEADERS="/media/hda4/OE/build/tmp-new/angstrom/cross/bfin-angstrom-uclinux-uclibc/include"
+# DO_C99_MATH is not set
+KERNEL_HEADERS="/usr/include"
# UCLIBC_UCLINUX_BROKEN_MUNMAP is not set
EXCLUDE_BRK=y
HAVE_DOT_CONFIG=y
@@ -60,12 +59,22 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
# HAVE_NO_PIC is not set
-# DOPIC is not set
-HAVE_NO_SHARED=y
-ARCH_HAS_NO_LDSO=y
+DOPIC=y
+# HAVE_NO_SHARED is not set
+# ARCH_HAS_NO_LDSO is not set
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+UCLIBC_STATIC_LDCONFIG=y
+LDSO_RUNPATH=y
UCLIBC_CTOR_DTOR=y
# HAS_NO_THREADS is not set
-# UCLIBC_HAS_THREADS is not set
+UCLIBC_HAS_THREADS=y
+# PTHREADS_DEBUG_SUPPORT is not set
+LINUXTHREADS_OLD=y
UCLIBC_HAS_LFS=y
MALLOC=y
# MALLOC_SIMPLE is not set
@@ -73,24 +82,24 @@ MALLOC=y
# MALLOC_GLIBC_COMPAT is not set
UCLIBC_DYNAMIC_ATEXIT=y
# COMPAT_ATEXIT is not set
-UCLIBC_SUSV3_LEGACY=y
-UCLIBC_SUSV3_LEGACY_MACROS=y
-# UCLIBC_HAS_SHADOW is not set
+# UCLIBC_SUSV3_LEGACY is not set
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_HAS_SHADOW=y
# UCLIBC_HAS_PROGRAM_INVOCATION_NAME is not set
UCLIBC_HAS___PROGNAME=y
UNIX98PTY_ONLY=y
ASSUME_DEVPTS=y
UCLIBC_HAS_TM_EXTENSIONS=y
-# UCLIBC_HAS_TZ_CACHING is not set
-# UCLIBC_HAS_TZ_FILE is not set
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
#
# Networking Support
#
# UCLIBC_HAS_IPV6 is not set
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-UCLIBC_HAS_REENTRANT_RPC=y
+# UCLIBC_HAS_RPC is not set
# UCLIBC_USE_NETLINK is not set
#
@@ -103,18 +112,19 @@ UCLIBC_HAS_CTYPE_SIGNED=y
UCLIBC_HAS_CTYPE_UNSAFE=y
# UCLIBC_HAS_CTYPE_CHECKED is not set
# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_WCHAR is not set
# UCLIBC_HAS_LOCALE is not set
# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
# UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set
+# USE_OLD_VFPRINTF is not set
UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set
# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-UCLIBC_HAS_STDIO_BUFSIZ_256=y
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
@@ -149,8 +159,9 @@ UCLIBC_HAS_GLOB=y
#
# Library Installation Options
#
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="//usr"
+SHARED_LIB_LOADER_PREFIX="$(RUNTIME_PREFIX)lib"
+RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/"
+DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
MULTILIB=""
#
@@ -159,16 +170,21 @@ MULTILIB=""
# UCLIBC_HAS_ARC4RANDOM is not set
# HAVE_NO_SSP is not set
# UCLIBC_HAS_SSP is not set
-# UCLIBC_BUILD_NOEXECSTACK is not set
+UCLIBC_BUILD_RELRO=y
+# UCLIBC_BUILD_NOW is not set
+UCLIBC_BUILD_NOEXECSTACK=y
#
# uClibc development/debugging options
#
-CROSS_COMPILER_PREFIX="bfin-elf-"
+CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
-# DOSTRIP is not set
+# DODEBUG_PT is not set
+DOSTRIP=y
# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
# UCLIBC_MALLOC_DEBUGGING is not set
WARNINGS="-Wall"
# EXTRA_WARNINGS is not set
diff --git a/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-002-atmel.1.patch b/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-002-atmel.1.patch
new file mode 100644
index 0000000000..d275ac2302
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-002-atmel.1.patch
@@ -0,0 +1,3546 @@
+diff --git a/Rules.mak b/Rules.mak
+index d054bbb..55381cf 100644
+--- a/Rules.mak
++++ b/Rules.mak
+@@ -313,6 +313,12 @@ ifeq ($(TARGET_ARCH),frv)
+ UCLIBC_LDSO=ld.so.1
+ endif
+
++ifeq ($(strip $(TARGET_ARCH)),avr32)
++ CPU_CFLAGS-$(CONFIG_AVR32_AP7) += -march=ap
++ CPU_CFLAGS-$(CONFIG_LINKRELAX) += -mrelax
++ CPU_LDFLAGS-$(CONFIG_LINKRELAX) += --relax
++endif
++
+ # Keep the check_gcc from being needlessly executed
+ ifndef PIEFLAG
+ ifneq ($(UCLIBC_BUILD_PIE),y)
+diff --git a/extra/Configs/Config.avr32 b/extra/Configs/Config.avr32
+new file mode 100644
+index 0000000..8d70e6e
+--- /dev/null
++++ b/extra/Configs/Config.avr32
+@@ -0,0 +1,31 @@
++#
++# For a description of the syntax of this configuration file,
++# see extra/config/Kconfig-language.txt
++#
++
++config TARGET_ARCH
++ string
++ default "avr32"
++
++config FORCE_OPTIONS_FOR_ARCH
++ bool
++ default y
++ select ARCH_BIG_ENDIAN
++ select FORCE_SHAREABLE_TEXT_SEGMENTS
++
++config ARCH_CFLAGS
++ string
++
++choice
++ prompt "Target CPU Type"
++ default CONFIG_AVR32_AP7
++
++config CONFIG_AVR32_AP7
++ bool "AVR32 AP7"
++ select ARCH_HAS_MMU
++
++endchoice
++
++config LINKRELAX
++ bool "Enable linker optimizations"
++ default y
+diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
+index 8eab394..10c9f7b 100644
+--- a/extra/Configs/Config.in
++++ b/extra/Configs/Config.in
+@@ -16,6 +16,9 @@ config TARGET_alpha
+ config TARGET_arm
+ bool "arm"
+
++config TARGET_avr32
++ bool "avr32"
++
+ config TARGET_bfin
+ bool "bfin"
+
+@@ -92,6 +95,10 @@ if TARGET_arm
+ source "extra/Configs/Config.arm"
+ endif
+
++if TARGET_avr32
++source "extra/Configs/Config.avr32"
++endif
++
+ if TARGET_bfin
+ source "extra/Configs/Config.bfin"
+ endif
+diff --git a/extra/Configs/defconfigs/avr32 b/extra/Configs/defconfigs/avr32
+new file mode 100644
+index 0000000..0b890a2
+--- /dev/null
++++ b/extra/Configs/defconfigs/avr32
+@@ -0,0 +1 @@
++TARGET_avr32=y
+diff --git a/include/elf.h b/include/elf.h
+index 19805d7..ab90160 100644
+--- a/include/elf.h
++++ b/include/elf.h
+@@ -354,6 +354,8 @@ typedef struct
+ /* NIOS magic number - no EABI available. */
+ #define EM_NIOS32 0xFEBB
+
++#define EM_AVR32 0x18ad
++
+ /* V850 backend magic number. Written in the absense of an ABI. */
+ #define EM_CYGNUS_V850 0x9080
+
+@@ -2828,6 +2830,55 @@ typedef Elf32_Addr Elf32_Conflict;
+ /* Keep this the last entry. */
+ #define R_V850_NUM 25
+
++/* Atmel AVR32 relocations. */
++#define R_AVR32_NONE 0
++#define R_AVR32_32 1
++#define R_AVR32_16 2
++#define R_AVR32_8 3
++#define R_AVR32_32_PCREL 4
++#define R_AVR32_16_PCREL 5
++#define R_AVR32_8_PCREL 6
++#define R_AVR32_DIFF32 7
++#define R_AVR32_DIFF16 8
++#define R_AVR32_DIFF8 9
++#define R_AVR32_GOT32 10
++#define R_AVR32_GOT16 11
++#define R_AVR32_GOT8 12
++#define R_AVR32_21S 13
++#define R_AVR32_16U 14
++#define R_AVR32_16S 15
++#define R_AVR32_8S 16
++#define R_AVR32_8S_EXT 17
++#define R_AVR32_22H_PCREL 18
++#define R_AVR32_18W_PCREL 19
++#define R_AVR32_16B_PCREL 20
++#define R_AVR32_16N_PCREL 21
++#define R_AVR32_14UW_PCREL 22
++#define R_AVR32_11H_PCREL 23
++#define R_AVR32_10UW_PCREL 24
++#define R_AVR32_9H_PCREL 25
++#define R_AVR32_9UW_PCREL 26
++#define R_AVR32_HI16 27
++#define R_AVR32_LO16 28
++#define R_AVR32_GOTPC 29
++#define R_AVR32_GOTCALL 30
++#define R_AVR32_LDA_GOT 31
++#define R_AVR32_GOT21S 32
++#define R_AVR32_GOT18SW 33
++#define R_AVR32_GOT16S 34
++#define R_AVR32_GOT7UW 35
++#define R_AVR32_32_CPENT 36
++#define R_AVR32_CPCALL 37
++#define R_AVR32_16_CP 38
++#define R_AVR32_9W_CP 39
++#define R_AVR32_RELATIVE 40
++#define R_AVR32_GLOB_DAT 41
++#define R_AVR32_JMP_SLOT 42
++#define R_AVR32_ALIGN 43
++#define R_AVR32_NUM 44
++
++/* AVR32 dynamic tags */
++#define DT_AVR32_GOTSZ 0x70000001 /* Total size of GOT in bytes */
+
+ /* Renesas H8/300 Relocations */
+ #define R_H8_NONE 0
+diff --git a/ldso/include/dl-string.h b/ldso/include/dl-string.h
+index 32c5bf8..eb43bd9 100644
+--- a/ldso/include/dl-string.h
++++ b/ldso/include/dl-string.h
+@@ -285,7 +285,8 @@ static __always_inline char * _dl_simple_ltoahex(char * local, unsigned long i)
+ /* On some arches constant strings are referenced through the GOT.
+ * This requires that load_addr must already be defined... */
+ #if defined(mc68000) || defined(__arm__) || defined(__thumb__) || \
+- defined(__mips__) || defined(__sh__) || defined(__powerpc__)
++ defined(__mips__) || defined(__sh__) || defined(__powerpc__) || \
++ defined(__avr32__)
+ # define CONSTANT_STRING_GOT_FIXUP(X) \
+ if ((X) < (const char *) load_addr) (X) += load_addr
+ # define NO_EARLY_SEND_STDERR
+diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
+index b42416a..4404219 100644
+--- a/ldso/include/dl-syscall.h
++++ b/ldso/include/dl-syscall.h
+@@ -55,69 +55,69 @@
+ dynamic linking at all, so we cannot return any error codes.
+ We just punt if there is an error. */
+ #define __NR__dl_exit __NR_exit
+-static inline _syscall1(void, _dl_exit, int, status);
++static __always_inline _syscall1(void, _dl_exit, int, status);
+
+ #define __NR__dl_close __NR_close
+-static inline _syscall1(int, _dl_close, int, fd);
++static __always_inline _syscall1(int, _dl_close, int, fd);
+
+ #define __NR__dl_open __NR_open
+-static inline _syscall3(int, _dl_open, const char *, fn, int, flags,
++static __always_inline _syscall3(int, _dl_open, const char *, fn, int, flags,
+ __kernel_mode_t, mode);
+
+ #define __NR__dl_write __NR_write
+-static inline _syscall3(unsigned long, _dl_write, int, fd,
++static __always_inline _syscall3(unsigned long, _dl_write, int, fd,
+ const void *, buf, unsigned long, count);
+
+ #define __NR__dl_read __NR_read
+-static inline _syscall3(unsigned long, _dl_read, int, fd,
++static __always_inline _syscall3(unsigned long, _dl_read, int, fd,
+ const void *, buf, unsigned long, count);
+
+ #define __NR__dl_mprotect __NR_mprotect
+-static inline _syscall3(int, _dl_mprotect, const void *, addr,
++static __always_inline _syscall3(int, _dl_mprotect, const void *, addr,
+ unsigned long, len, int, prot);
+
+ #define __NR__dl_stat __NR_stat
+-static inline _syscall2(int, _dl_stat, const char *, file_name,
++static __always_inline _syscall2(int, _dl_stat, const char *, file_name,
+ struct stat *, buf);
+
+ #define __NR__dl_fstat __NR_fstat
+-static inline _syscall2(int, _dl_fstat, int, fd, struct stat *, buf);
++static __always_inline _syscall2(int, _dl_fstat, int, fd, struct stat *, buf);
+
+ #define __NR__dl_munmap __NR_munmap
+-static inline _syscall2(int, _dl_munmap, void *, start, unsigned long, length);
++static __always_inline _syscall2(int, _dl_munmap, void *, start, unsigned long, length);
+
+ #ifdef __NR_getxuid
+ # define __NR_getuid __NR_getxuid
+ #endif
+ #define __NR__dl_getuid __NR_getuid
+-static inline _syscall0(uid_t, _dl_getuid);
++static __always_inline _syscall0(uid_t, _dl_getuid);
+
+ #ifndef __NR_geteuid
+ # define __NR_geteuid __NR_getuid
+ #endif
+ #define __NR__dl_geteuid __NR_geteuid
+-static inline _syscall0(uid_t, _dl_geteuid);
++static __always_inline _syscall0(uid_t, _dl_geteuid);
+
+ #ifdef __NR_getxgid
+ # define __NR_getgid __NR_getxgid
+ #endif
+ #define __NR__dl_getgid __NR_getgid
+-static inline _syscall0(gid_t, _dl_getgid);
++static __always_inline _syscall0(gid_t, _dl_getgid);
+
+ #ifndef __NR_getegid
+ # define __NR_getegid __NR_getgid
+ #endif
+ #define __NR__dl_getegid __NR_getegid
+-static inline _syscall0(gid_t, _dl_getegid);
++static __always_inline _syscall0(gid_t, _dl_getegid);
+
+ #ifdef __NR_getxpid
+ # define __NR_getpid __NR_getxpid
+ #endif
+ #define __NR__dl_getpid __NR_getpid
+-static inline _syscall0(gid_t, _dl_getpid);
++static __always_inline _syscall0(gid_t, _dl_getpid);
+
+ #define __NR__dl_readlink __NR_readlink
+-static inline _syscall3(int, _dl_readlink, const char *, path, char *, buf,
++static __always_inline _syscall3(int, _dl_readlink, const char *, path, char *, buf,
+ size_t, bufsiz);
+
+ #ifdef __UCLIBC_HAS_SSP__
+@@ -146,14 +146,14 @@ static inline _syscall2(int, _dl_gettimeofday, struct timeval *, tv,
+ #if defined(__UCLIBC_MMAP_HAS_6_ARGS__) && defined(__NR_mmap)
+
+ # define __NR__dl_mmap __NR_mmap
+-static inline _syscall6(void *, _dl_mmap, void *, start, size_t, length,
++static __always_inline _syscall6(void *, _dl_mmap, void *, start, size_t, length,
+ int, prot, int, flags, int, fd, off_t, offset);
+
+ /* then try mmap2() */
+ #elif defined(__NR_mmap2)
+
+ # define __NR___syscall_mmap2 __NR_mmap2
+-static inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, size_t, len,
++static __always_inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, size_t, len,
+ int, prot, int, flags, int, fd, off_t, offset);
+
+ /* Some architectures always use 12 as page shift for mmap2() eventhough the
+@@ -164,7 +164,7 @@ static inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr, size_t, len,
+ # define MMAP2_PAGE_SHIFT 12
+ #endif
+
+-static inline void * _dl_mmap(void * addr, unsigned long size, int prot,
++static __always_inline void * _dl_mmap(void * addr, unsigned long size, int prot,
+ int flags, int fd, unsigned long offset)
+ {
+ if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1))
+@@ -177,8 +177,8 @@ static inline void * _dl_mmap(void * addr, unsigned long size, int prot,
+ #elif defined(__NR_mmap)
+
+ # define __NR__dl_mmap_real __NR_mmap
+-static inline _syscall1(void *, _dl_mmap_real, unsigned long *, buffer);
+-static inline void * _dl_mmap(void * addr, unsigned long size, int prot,
++static __always_inline _syscall1(void *, _dl_mmap_real, unsigned long *, buffer);
++static __always_inline void * _dl_mmap(void * addr, unsigned long size, int prot,
+ int flags, int fd, unsigned long offset)
+ {
+ unsigned long buffer[6];
+diff --git a/ldso/ldso/avr32/dl-debug.h b/ldso/ldso/avr32/dl-debug.h
+new file mode 100644
+index 0000000..fe35539
+--- /dev/null
++++ b/ldso/ldso/avr32/dl-debug.h
+@@ -0,0 +1,45 @@
++/*
++ * AVR32 ELF shared libary loader support
++ *
++ * Copyright (C) 2005-2007 Atmel Corporation
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. The name of the above contributors may not be
++ * used to endorse or promote products derived from this software
++ * without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++static const char *_dl_reltypes_tab[] = {
++ "R_AVR32_NONE",
++ "R_AVR32_32", "R_AVR32_16", "R_AVR32_8",
++ "R_AVR32_32_PCREL", "R_AVR32_16_PCREL", "R_AVR32_8_PCREL",
++ "R_AVR32_DIFF32", "R_AVR32_DIFF16", "R_AVR32_DIFF8",
++ "R_AVR32_GOT32", "R_AVR32_GOT16", "R_AVR32_GOT8",
++ "R_AVR32_21S", "R_AVR32_16U", "R_AVR32_16S", "R_AVR32_8S", "R_AVR32_8S_EXT",
++ "R_AVR32_22H_PCREL", "R_AVR32_18W_PCREL", "R_AVR32_16B_PCREL",
++ "R_AVR32_16N_PCREL", "R_AVR32_14UW_PCREL", "R_AVR32_11H_PCREL",
++ "R_AVR32_10UW_PCREL", "R_AVR32_9H_PCREL", "R_AVR32_9UW_PCREL",
++ "R_AVR32_HI16", "R_AVR32_LO16",
++ "R_AVR32_GOTPC", "R_AVR32_GOTCALL", "R_AVR32_LDA_GOT",
++ "R_AVR32_GOT21S", "R_AVR32_GOT18SW", "R_AVR32_GOT16S", "R_AVR32_GOT7UW",
++ "R_AVR32_32_CPENT", "R_AVR32_CPCALL", "R_AVR32_16_CP", "R_AVR32_9W_CP",
++ "R_AVR32_RELATIVE", "R_AVR32_GLOB_DAT", "R_AVR32_JMP_SLOT",
++ "R_AVR32_ALIGN",
++};
+diff --git a/ldso/ldso/avr32/dl-startup.h b/ldso/ldso/avr32/dl-startup.h
+new file mode 100644
+index 0000000..3b9a641
+--- /dev/null
++++ b/ldso/ldso/avr32/dl-startup.h
+@@ -0,0 +1,112 @@
++/*
++ * Architecture specific code used by dl-startup.c
++ *
++ * Copyright (C) 2005-2007 Atmel Corporation
++ *
++ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
++ */
++
++/* This is the library loader's main entry point. Let _dl_boot2 do its
++ * initializations and jump to the application's entry point
++ * afterwards. */
++asm( " .text\n"
++ " .global _start\n"
++ " .type _start,@function\n"
++ "_start:\n"
++ /* All arguments are on the stack initially */
++ " mov r12, sp\n"
++ " rcall _dl_start\n"
++ /* Returns user entry point in r12. Save it. */
++ " mov r0, r12\n"
++ /* We're PIC, so get the Global Offset Table */
++ " lddpc r6, .L_GOT\n"
++ ".L_RGOT:\n"
++ " rsub r6, pc\n"
++ /* Adjust argc and argv according to _dl_skip_args */
++ " ld.w r1, r6[_dl_skip_args@got]\n"
++ " ld.w r1, r1[0]\n"
++ " ld.w r2, sp++\n"
++ " sub r2, r1\n"
++ " add sp, sp, r1 << 2\n"
++ " st.w --sp, r2\n"
++ /* Load the finalizer function */
++ " ld.w r12, r6[_dl_fini@got]\n"
++ /* Jump to the user's entry point */
++ " mov pc, r0\n\n"
++
++ " .align 2\n"
++ ".L_GOT:"
++ " .long .L_RGOT - _GLOBAL_OFFSET_TABLE_\n"
++ " .size _start, . - _start\n"
++ " .previous\n");
++
++/* Get a pointer to the argv array. On many platforms this can be just
++ * the address if the first argument, on other platforms we need to
++ * do something a little more subtle here. */
++#define GET_ARGV(ARGVP, ARGS) ARGVP = ((unsigned long *)ARGS + 1)
++
++
++/* We can't call functions before the GOT has been initialized */
++#define NO_FUNCS_BEFORE_BOOTSTRAP
++
++/*
++ * Relocate the GOT during dynamic loader bootstrap. This will add
++ * the load address to all entries in the GOT, which is necessary
++ * because the linker doesn't generate R_AVR32_RELATIVE relocs for the
++ * GOT.
++ */
++static __always_inline
++void PERFORM_BOOTSTRAP_GOT(struct elf_resolve *tpnt)
++{
++ Elf32_Addr i, nr_got;
++ register Elf32_Addr *__r6 __asm__("r6");
++ Elf32_Addr *got = __r6;
++
++ nr_got = tpnt->dynamic_info[DT_AVR32_GOTSZ_IDX] / sizeof(*got);
++ for (i = 2; i < nr_got; i++)
++ got[i] += tpnt->loadaddr;
++}
++
++#define PERFORM_BOOTSTRAP_GOT(tpnt) PERFORM_BOOTSTRAP_GOT(tpnt)
++
++/* Handle relocation of the symbols in the dynamic loader. */
++static __always_inline
++void PERFORM_BOOTSTRAP_RELOC(ELF_RELOC *rpnt, unsigned long *reloc_addr,
++ unsigned long symbol_addr,
++ unsigned long load_addr, Elf32_Sym *symtab)
++{
++ switch(ELF32_R_TYPE(rpnt->r_info)) {
++ case R_AVR32_NONE:
++ break;
++ case R_AVR32_GLOB_DAT:
++ case R_AVR32_JMP_SLOT:
++ *reloc_addr = symbol_addr;
++ break;
++ case R_AVR32_RELATIVE:
++ SEND_STDERR_DEBUG("Applying RELATIVE relocation: ");
++ SEND_ADDRESS_STDERR_DEBUG(load_addr, 0);
++ SEND_STDERR_DEBUG(" + ");
++ SEND_ADDRESS_STDERR_DEBUG(rpnt->r_addend, 1);
++ *reloc_addr = load_addr + rpnt->r_addend;
++ break;
++ default:
++ SEND_STDERR("BOOTSTRAP_RELOC: unhandled reloc_type ");
++ SEND_NUMBER_STDERR(ELF32_R_TYPE(rpnt->r_info), 1);
++ SEND_STDERR("REL, SYMBOL, LOAD: ");
++ SEND_ADDRESS_STDERR(reloc_addr, 0);
++ SEND_STDERR(", ");
++ SEND_ADDRESS_STDERR(symbol_addr, 0);
++ SEND_STDERR(", ");
++ SEND_ADDRESS_STDERR(load_addr, 1);
++ _dl_exit(1);
++ }
++}
++
++/* Transfer control to the user's application, once the dynamic loader
++ * is done. This routine has to exit the current function, then call
++ * the _dl_elf_main function.
++ *
++ * Since our _dl_boot will simply call whatever is returned by
++ * _dl_boot2, we can just return the address we're supposed to
++ * call. */
++#define START() return _dl_elf_main;
+diff --git a/ldso/ldso/avr32/dl-syscalls.h b/ldso/ldso/avr32/dl-syscalls.h
+new file mode 100644
+index 0000000..996bb87
+--- /dev/null
++++ b/ldso/ldso/avr32/dl-syscalls.h
+@@ -0,0 +1,6 @@
++/* We can't use the real errno in ldso, since it has not yet
++ * been dynamicly linked in yet. */
++#include "sys/syscall.h"
++extern int _dl_errno;
++#undef __set_errno
++#define __set_errno(X) {(_dl_errno) = (X);}
+diff --git a/ldso/ldso/avr32/dl-sysdep.h b/ldso/ldso/avr32/dl-sysdep.h
+new file mode 100644
+index 0000000..1a30172
+--- /dev/null
++++ b/ldso/ldso/avr32/dl-sysdep.h
+@@ -0,0 +1,105 @@
++/*
++ * Various assembly language/system dependent hacks that are required
++ * so that we can minimize the amount of platform specific code.
++ *
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
++ */
++
++/* Define this if the system uses RELOCA. */
++#define ELF_USES_RELOCA
++
++#include <elf.h>
++
++#define ARCH_NUM 1
++#define DT_AVR32_GOTSZ_IDX (DT_NUM + OS_NUM)
++
++#define ARCH_DYNAMIC_INFO(dpnt, dynamic, debug_addr) \
++ do { \
++ if (dpnt->d_tag == DT_AVR32_GOTSZ) \
++ dynamic[DT_AVR32_GOTSZ_IDX] = dpnt->d_un.d_val; \
++ } while (0)
++
++/* Initialization sequence for the application/library GOT. */
++#define INIT_GOT(GOT_BASE,MODULE) \
++ do { \
++ unsigned long i, nr_got; \
++ \
++ GOT_BASE[0] = (unsigned long) _dl_linux_resolve; \
++ GOT_BASE[1] = (unsigned long) MODULE; \
++ \
++ /* Add load address displacement to all GOT entries */ \
++ nr_got = MODULE->dynamic_info[DT_AVR32_GOTSZ_IDX] / 4; \
++ for (i = 2; i < nr_got; i++) \
++ GOT_BASE[i] += (unsigned long)MODULE->loadaddr; \
++ } while (0)
++
++#define do_rem(result, n, base) ((result) = (n) % (base))
++
++/* Here we define the magic numbers that this dynamic loader should accept */
++#define MAGIC1 EM_AVR32
++#undef MAGIC2
++
++/* Used for error messages */
++#define ELF_TARGET "AVR32"
++
++unsigned long _dl_linux_resolver(unsigned long got_offset, unsigned long *got);
++
++/* 4096 bytes alignment */
++#define PAGE_ALIGN 0xfffff000
++#define ADDR_ALIGN 0xfff
++#define OFFS_ALIGN 0x7ffff000
++
++#define elf_machine_type_class(type) \
++ ((type == R_AVR32_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
++
++/* AVR32 doesn't need any COPY relocs */
++#define DL_NO_COPY_RELOCS
++
++/* Return the link-time address of _DYNAMIC. Conveniently, this is the
++ first element of the GOT. This must be inlined in a function which
++ uses global data. */
++static inline Elf32_Addr
++elf_machine_dynamic (void)
++{
++ register Elf32_Addr *got asm ("r6");
++ return *got;
++}
++
++/* Return the run-time load address of the shared object. */
++static inline Elf32_Addr
++elf_machine_load_address (void)
++{
++ extern void __dl_start asm("_dl_start");
++ Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
++ Elf32_Addr pcrel_addr;
++
++ asm (" lddpc %0, 2f\n"
++ "1: add %0, pc\n"
++ " rjmp 3f\n"
++ " .align 2\n"
++ "2: .long _dl_start - 1b\n"
++ "3:\n"
++ : "=r"(pcrel_addr) : : "cc");
++
++ return pcrel_addr - got_addr;
++}
++
++/*
++ * Perform any RELATIVE relocations specified by DT_RELCOUNT.
++ * Currently, we don't use that tag, but we might in the future as
++ * this would reduce the startup time somewhat (although probably not by much).
++ */
++static inline void
++elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
++ Elf32_Word relative_count)
++{
++ Elf32_Rela *rpnt = (void *)rel_addr;
++
++ do {
++ Elf32_Addr *reloc_addr;
++ reloc_addr = (void *)(load_off + (rpnt++)->r_offset);
++ *reloc_addr = load_off + rpnt->r_addend;
++ } while (--relative_count);
++}
+diff --git a/ldso/ldso/avr32/elfinterp.c b/ldso/ldso/avr32/elfinterp.c
+new file mode 100644
+index 0000000..196292b
+--- /dev/null
++++ b/ldso/ldso/avr32/elfinterp.c
+@@ -0,0 +1,191 @@
++/*
++ * AVR32 ELF shared library loader suppport
++ *
++ * Copyright (C) 2004-2006 Atmel Corporation
++ *
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. The name of the above contributors may not be
++ * used to endorse or promote products derived from this software
++ * without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++unsigned long _dl_linux_resolver(unsigned long got_offset, unsigned long *got)
++{
++ struct elf_resolve *tpnt = (struct elf_resolve *)got[1];
++ Elf32_Sym *sym;
++ unsigned long local_gotno;
++ unsigned long gotsym;
++ unsigned long new_addr;
++ char *strtab, *symname;
++ unsigned long *entry;
++ unsigned long sym_index = got_offset / 4;
++
++#if 0
++ local_gotno = tpnt->dynamic_info[DT_AVR32_LOCAL_GOTNO];
++ gotsym = tpnt->dynamic_info[DT_AVR32_GOTSYM];
++
++ sym = ((Elf32_Sym *)(tpnt->dynamic_info[DT_SYMTAB] + tpnt->loadaddr))
++ + sym_index;
++ strtab = (char *)(tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr);
++ symname = strtab + sym->st_name;
++
++#if 0
++ new_addr = (unsigned long) _dl_find_hash(strtab + sym->st_name,
++ tpnt->symbol_scope, tpnt,
++ resolver);
++#endif
++
++ entry = (unsigned long *)(got + local_gotno + sym_index - gotsym);
++ *entry = new_addr;
++#endif
++
++ return new_addr;
++}
++
++static int
++_dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope,
++ unsigned long rel_addr, unsigned long rel_size,
++ int (*reloc_func)(struct elf_resolve *tpnt, struct dyn_elf *scope,
++ Elf32_Rela *rpnt, Elf32_Sym *symtab, char *strtab))
++{
++ Elf32_Sym *symtab;
++ Elf32_Rela *rpnt;
++ char *strtab;
++ int i;
++
++ rpnt = (Elf32_Rela *)rel_addr;
++ rel_size /= sizeof(Elf32_Rela);
++ symtab = (Elf32_Sym *)tpnt->dynamic_info[DT_SYMTAB];
++ strtab = (char *)tpnt->dynamic_info[DT_STRTAB];
++
++ for (i = 0; i < rel_size; i++, rpnt++) {
++ int symtab_index, res;
++
++ symtab_index = ELF32_R_SYM(rpnt->r_info);
++
++ debug_sym(symtab, strtab, symtab_index);
++ debug_reloc(symtab, strtab, rpnt);
++
++ res = reloc_func(tpnt, scope, rpnt, symtab, strtab);
++
++ if (res == 0)
++ continue;
++
++ _dl_dprintf(2, "\n%s: ", _dl_progname);
++
++ if (symtab_index)
++ _dl_dprintf(2, "symbol '%s': ",
++ strtab + symtab[symtab_index].st_name);
++
++ if (res < 0) {
++ int reloc_type = ELF32_R_TYPE(rpnt->r_info);
++#if defined(__SUPPORT_LD_DEBUG__)
++ _dl_dprintf(2, "can't handle reloc type %s\n",
++ _dl_reltypes(reloc_type));
++#else
++ _dl_dprintf(2, "can't handle reloc type %x\n",
++ reloc_type);
++#endif
++ _dl_exit(-res);
++ } else {
++ _dl_dprintf(2, "can't resolve symbol\n");
++ return res;
++ }
++ }
++
++ return 0;
++}
++
++static int _dl_do_reloc(struct elf_resolve *tpnt, struct dyn_elf *scope,
++ Elf32_Rela *rpnt, Elf32_Sym *symtab, char *strtab)
++{
++ int reloc_type;
++ int symtab_index;
++ char *symname;
++ unsigned long *reloc_addr;
++ unsigned long symbol_addr;
++#if defined(__SUPPORT_LD_DEBUG__)
++ unsigned long old_val;
++#endif
++
++ reloc_addr = (unsigned long *)(tpnt->loadaddr + rpnt->r_offset);
++ reloc_type = ELF32_R_TYPE(rpnt->r_info);
++ symtab_index = ELF32_R_SYM(rpnt->r_info);
++ symbol_addr = 0;
++ symname = strtab + symtab[symtab_index].st_name;
++
++ if (symtab_index) {
++ symbol_addr = (unsigned long)
++ _dl_find_hash(strtab + symtab[symtab_index].st_name,
++ tpnt->symbol_scope, tpnt,
++ elf_machine_type_class(reloc_type));
++
++ /* Allow undefined references to weak symbols */
++ if (!symbol_addr &&
++ ELF32_ST_BIND(symtab[symtab_index].st_info) != STB_WEAK) {
++ _dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
++ _dl_progname, symname);
++ return 0;
++ }
++ }
++
++#if defined(__SUPPORT_LD_DEBUG__)
++ old_val = *reloc_addr;
++#endif
++ switch (reloc_type) {
++ case R_AVR32_NONE:
++ break;
++ case R_AVR32_GLOB_DAT:
++ case R_AVR32_JMP_SLOT:
++ *reloc_addr = symbol_addr + rpnt->r_addend;
++ break;
++ case R_AVR32_RELATIVE:
++ *reloc_addr = (unsigned long)tpnt->loadaddr
++ + rpnt->r_addend;
++ break;
++ default:
++ return -1;
++ }
++
++#if defined(__SUPPORT_LD_DEBUG__)
++ if (_dl_debug_reloc && _dl_debug_detail)
++ _dl_dprintf(_dl_debug_file, "\tpatched: %x ==> %x @ %x\n",
++ old_val, *reloc_addr);
++#endif
++
++ return 0;
++}
++
++void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
++ unsigned long rel_addr,
++ unsigned long rel_size)
++{
++ /* TODO: Might want to support this in order to get faster
++ * startup times... */
++}
++
++int _dl_parse_relocation_information(struct dyn_elf *rpnt,
++ unsigned long rel_addr,
++ unsigned long rel_size)
++{
++ return _dl_parse(rpnt->dyn, rpnt->dyn->symbol_scope, rel_addr, rel_size,
++ _dl_do_reloc);
++}
+diff --git a/ldso/ldso/avr32/resolve.S b/ldso/ldso/avr32/resolve.S
+new file mode 100644
+index 0000000..e3cb7f4
+--- /dev/null
++++ b/ldso/ldso/avr32/resolve.S
+@@ -0,0 +1,28 @@
++/*
++ * Linux dynamic resolving code for AVR32. Fixes up the GOT entry as
++ * indicated in register r12 and jumps to the resolved address.
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ *
++ * Copyright (C) 2004-2007 Atmel Corporation
++ */
++
++#define ip r5
++
++ .text
++ .global _dl_linux_resolve
++ .type _dl_linux_resolve,@function
++_dl_linux_resolve:
++ /* The PLT code pushed r8 for us. It contains the address of this
++ function's GOT entry, that is entry 0. ip contains the address
++ of the GOT entry of the function we wanted to call. */
++ stm --sp, r9-r12, lr
++ mov r11, r8
++ sub r12, ip, r8
++ rcall _dl_linux_resolver
++ mov ip, r12
++ popm r8-r12,lr
++ mov pc, ip
++ .size _dl_linux_resolve, . - _dl_linux_resolve
+diff --git a/ldso/ldso/dl-startup.c b/ldso/ldso/dl-startup.c
+index 5cf1d04..d4294ec 100644
+--- a/ldso/ldso/dl-startup.c
++++ b/ldso/ldso/dl-startup.c
+@@ -217,7 +217,9 @@ DL_START(unsigned long args)
+ /* some arches (like MIPS) we have to tweak the GOT before relocations */
+ PERFORM_BOOTSTRAP_GOT(tpnt);
+
+-#else
++#endif
++
++#if !defined(PERFORM_BOOTSTRAP_GOT) || defined(__avr32__)
+
+ /* OK, now do the relocations. We do not do a lazy binding here, so
+ that once we are done, we have considerably more flexibility. */
+diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
+index f4e6cac..9cdc3fe 100644
+--- a/libc/inet/resolv.c
++++ b/libc/inet/resolv.c
+@@ -1643,7 +1643,7 @@ int attribute_hidden __read_etc_hosts_r(FILE * fp, const char * name, int type,
+ *result=result_buf;
+ ret=NETDB_SUCCESS;
+ #ifdef __UCLIBC_HAS_IPV6__
+- } else if (type == AF_INET6 && inet_pton(AF_INET6, alias[0], in6) > 0) {
++ } else if (type == AF_INET6 && inet_pton(AF_INET6, alias[0], in6) > 0) {
+ DPRINTF("Found INET6\n");
+ addr_list6[0] = in6;
+ addr_list6[1] = 0;
+@@ -1658,8 +1658,8 @@ int attribute_hidden __read_etc_hosts_r(FILE * fp, const char * name, int type,
+ } else {
+ DPRINTF("Error\n");
+ ret=TRY_AGAIN;
+- break; /* bad ip address */
+- }
++ continue; /* bad ip address, keep searching */
++ }
+
+ if (action!=GETHOSTENT) {
+ fclose(fp);
+diff --git a/libc/string/avr32/Makefile b/libc/string/avr32/Makefile
+new file mode 100644
+index 0000000..e19e9d9
+--- /dev/null
++++ b/libc/string/avr32/Makefile
+@@ -0,0 +1,26 @@
++# Makefile for uClibc
++#
++# Copyright (C) 2000-2003 Erik Andersen <andersen@uclibc.org>
++#
++# This program is free software; you can redistribute it and/or modify it under
++# the terms of the GNU Library General Public License as published by the Free
++# Software Foundation; either version 2 of the License, or (at your option) any
++# later version.
++#
++# 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 Library General Public License for more
++# details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this program; if not, write to the Free Software Foundation, Inc.,
++# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++top_srcdir := ../../../
++top_builddir := ../../../
++
++all: objs
++
++include $(top_builddir)Rules.mak
++include ../Makefile.in
++include $(top_srcdir)Makerules
+diff --git a/libc/string/avr32/bcopy.S b/libc/string/avr32/bcopy.S
+new file mode 100644
+index 0000000..87c1e04
+--- /dev/null
++++ b/libc/string/avr32/bcopy.S
+@@ -0,0 +1,26 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#include <features.h>
++
++#ifdef __UCLIBC_SUSV3_LEGACY__
++
++ .text
++ .global bcopy
++ .type bcopy, @function
++ .align 1
++bcopy:
++ /* Swap the first two arguments */
++ eor r11, r12
++ eor r12, r11
++ eor r11, r12
++ rjmp __GI_memmove
++
++ .size bcopy, . - bcopy
++
++#endif /* __UCLIBC_SUSV3_LEGACY__ */
+diff --git a/libc/string/avr32/bzero.S b/libc/string/avr32/bzero.S
+new file mode 100644
+index 0000000..c999e65
+--- /dev/null
++++ b/libc/string/avr32/bzero.S
+@@ -0,0 +1,22 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#ifdef __UCLIBC_SUSV3_LEGACY__
++
++ .text
++ .global bzero
++ .type bzero, @function
++ .align 1
++bzero:
++ mov r10, r11
++ mov r11, 0
++ rjmp __memset
++
++ .size bzero, . - bzero
++
++#endif /* __UCLIBC_SUSV3_LEGACY__ */
+diff --git a/libc/string/avr32/memcmp.S b/libc/string/avr32/memcmp.S
+new file mode 100644
+index 0000000..ae6cc91
+--- /dev/null
++++ b/libc/string/avr32/memcmp.S
+@@ -0,0 +1,61 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#include <features.h>
++
++#define s1 r12
++#define s2 r11
++#define len r10
++
++ .text
++ .global memcmp
++ .type memcmp, @function
++ .align 1
++memcmp:
++ sub len, 4
++ brlt .Lless_than_4
++
++1: ld.w r8, s1++
++ ld.w r9, s2++
++ cp.w r8, r9
++ brne .Lfound_word
++ sub len, 4
++ brge 1b
++
++.Lless_than_4:
++ sub len, -4
++ reteq 0
++
++1: ld.ub r8, s1++
++ ld.ub r9, s2++
++ sub r8, r9
++ retne r8
++ sub len, 1
++ brgt 1b
++
++ retal 0
++
++.Lfound_word:
++ mov len, 4
++
++2: bfextu r11, r9, 24, 8
++ bfextu r12, r8, 24, 8
++ sub r12, r11
++ retne r12
++ lsl r8, 8
++ lsl r9, 8
++ sub len, 1
++ brne 2b
++ retal r12
++
++ .size memcmp, . - memcmp
++
++libc_hidden_def(memcmp)
++#ifdef __UCLIBC_SUSV3_LEGACY__
++strong_alias(memcmp,bcmp)
++#endif
+diff --git a/libc/string/avr32/memcpy.S b/libc/string/avr32/memcpy.S
+new file mode 100644
+index 0000000..bf091ab
+--- /dev/null
++++ b/libc/string/avr32/memcpy.S
+@@ -0,0 +1,111 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++/* Don't use r12 as dst since we must return it unmodified */
++#define dst r9
++#define src r11
++#define len r10
++
++ .text
++ .global memcpy
++ .type memcpy, @function
++memcpy:
++ pref src[0]
++ mov dst, r12
++
++ /* If we have less than 32 bytes, don't do anything fancy */
++ cp.w len, 32
++ brge .Lmore_than_31
++
++ sub len, 1
++ retlt r12
++1: ld.ub r8, src++
++ st.b dst++, r8
++ sub len, 1
++ brge 1b
++ retal r12
++
++.Lmore_than_31:
++ pushm r0-r7, lr
++
++ /* Check alignment */
++ mov r8, src
++ andl r8, 31, COH
++ brne .Lunaligned_src
++ mov r8, dst
++ andl r8, 3, COH
++ brne .Lunaligned_dst
++
++.Laligned_copy:
++ sub len, 32
++ brlt .Lless_than_32
++
++1: /* Copy 32 bytes at a time */
++ ldm src, r0-r7
++ sub src, -32
++ stm dst, r0-r7
++ sub dst, -32
++ sub len, 32
++ brge 1b
++
++.Lless_than_32:
++ /* Copy 16 more bytes if possible */
++ sub len, -16
++ brlt .Lless_than_16
++ ldm src, r0-r3
++ sub src, -16
++ sub len, 16
++ stm dst, r0-r3
++ sub dst, -16
++
++.Lless_than_16:
++ /* Do the remaining as byte copies */
++ neg len
++ add pc, pc, len << 2
++ .rept 15
++ ld.ub r0, src++
++ st.b dst++, r0
++ .endr
++
++ popm r0-r7, pc
++
++.Lunaligned_src:
++ /* Make src cacheline-aligned. r8 = (src & 31) */
++ rsub r8, r8, 32
++ sub len, r8
++1: ld.ub r0, src++
++ st.b dst++, r0
++ sub r8, 1
++ brne 1b
++
++ /* If dst is word-aligned, we're ready to go */
++ pref src[0]
++ mov r8, 3
++ tst dst, r8
++ breq .Laligned_copy
++
++.Lunaligned_dst:
++ /* src is aligned, but dst is not. Expect bad performance */
++ sub len, 4
++ brlt 2f
++1: ld.w r0, src++
++ st.w dst++, r0
++ sub len, 4
++ brge 1b
++
++2: neg len
++ add pc, pc, len << 2
++ .rept 3
++ ld.ub r0, src++
++ st.b dst++, r0
++ .endr
++
++ popm r0-r7, pc
++ .size memcpy, . - memcpy
++
++libc_hidden_def(memcpy)
+diff --git a/libc/string/avr32/memmove.S b/libc/string/avr32/memmove.S
+new file mode 100644
+index 0000000..98287c5
+--- /dev/null
++++ b/libc/string/avr32/memmove.S
+@@ -0,0 +1,116 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#define dst r12
++#define src r11
++#define len r10
++
++ .text
++ .global memmove
++ .type memmove, @function
++memmove:
++ cp.w src, dst
++ brge __GI_memcpy
++
++ add dst, len
++ add src, len
++ pref src[-1]
++
++ /*
++ * The rest is basically the same as in memcpy.S except that
++ * the direction is reversed.
++ */
++ cp.w len, 32
++ brge .Lmore_than_31
++
++ sub len, 1
++ retlt r12
++1: ld.ub r8, --src
++ st.b --dst, r8
++ sub len, 1
++ brge 1b
++ retal r12
++
++.Lmore_than_31:
++ pushm r0-r7, lr
++
++ /* Check alignment */
++ mov r8, src
++ andl r8, 31, COH
++ brne .Lunaligned_src
++ mov r8, r12
++ andl r8, 3, COH
++ brne .Lunaligned_dst
++
++.Laligned_copy:
++ sub len, 32
++ brlt .Lless_than_32
++
++1: /* Copy 32 bytes at a time */
++ sub src, 32
++ ldm src, r0-r7
++ sub dst, 32
++ sub len, 32
++ stm dst, r0-r7
++ brge 1b
++
++.Lless_than_32:
++ /* Copy 16 more bytes if possible */
++ sub len, -16
++ brlt .Lless_than_16
++ sub src, 16
++ ldm src, r0-r3
++ sub dst, 16
++ sub len, 16
++ stm dst, r0-r3
++
++.Lless_than_16:
++ /* Do the remaining as byte copies */
++ sub len, -16
++ breq 2f
++1: ld.ub r0, --src
++ st.b --dst, r0
++ sub len, 1
++ brne 1b
++
++2: popm r0-r7, pc
++
++.Lunaligned_src:
++ /* Make src cacheline-aligned. r8 = (src & 31) */
++ sub len, r8
++1: ld.ub r0, --src
++ st.b --dst, r0
++ sub r8, 1
++ brne 1b
++
++ /* If dst is word-aligned, we're ready to go */
++ pref src[-4]
++ mov r8, 3
++ tst dst, r8
++ breq .Laligned_copy
++
++.Lunaligned_dst:
++ /* src is aligned, but dst is not. Expect bad performance */
++ sub len, 4
++ brlt 2f
++1: ld.w r0, --src
++ st.w --dst, r0
++ sub len, 4
++ brge 1b
++
++2: neg len
++ add pc, pc, len << 2
++ .rept 3
++ ld.ub r0, --src
++ st.b --dst, r0
++ .endr
++
++ popm r0-r7, pc
++ .size memmove, . - memmove
++
++libc_hidden_def(memmove)
+diff --git a/libc/string/avr32/memset.S b/libc/string/avr32/memset.S
+new file mode 100644
+index 0000000..33cfaed
+--- /dev/null
++++ b/libc/string/avr32/memset.S
+@@ -0,0 +1,70 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#include <features.h>
++
++#define s r12
++#define c r11
++#define n r10
++
++ .text
++ .global memset
++ .type memset, @function
++
++ .global __memset
++ .hidden __memset
++ .type __memset, @function
++
++ .align 1
++memset:
++__memset:
++ cp.w n, 32
++ mov r9, s
++ brge .Llarge_memset
++
++ sub n, 1
++ retlt s
++1: st.b s++, c
++ sub n, 1
++ brge 1b
++
++ retal r9
++
++.Llarge_memset:
++ mov r8, r11
++ mov r11, 3
++ bfins r8, r8, 8, 8
++ bfins r8, r8, 16, 16
++ tst s, r11
++ breq 2f
++
++1: st.b s++, r8
++ sub n, 1
++ tst s, r11
++ brne 1b
++
++2: mov r11, r9
++ mov r9, r8
++ sub n, 8
++
++3: st.d s++, r8
++ sub n, 8
++ brge 3b
++
++ /* If we are done, n == -8 and we'll skip all st.b insns below */
++ neg n
++ lsl n, 1
++ add pc, n
++ .rept 7
++ st.b s++, r8
++ .endr
++ retal r11
++
++ .size memset, . - memset
++
++libc_hidden_def(memset)
+diff --git a/libc/string/avr32/strcmp.S b/libc/string/avr32/strcmp.S
+new file mode 100644
+index 0000000..f73bd43
+--- /dev/null
++++ b/libc/string/avr32/strcmp.S
+@@ -0,0 +1,91 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#include <features.h>
++
++#define s1 r12
++#define s2 r11
++#define len r10
++
++ .text
++ .global strcmp
++ .type strcmp, @function
++ .align 1
++strcmp:
++ mov r8, 3
++ tst s1, r8
++ brne .Lunaligned_s1
++ tst s2, r8
++ brne .Lunaligned_s2
++
++1: ld.w r8, s1++
++ ld.w r9, s2++
++ cp.w r8, r9
++ brne 2f
++ tnbz r8
++ brne 1b
++ retal 0
++
++2: bfextu r12, r8, 24, 8
++ bfextu r11, r9, 24, 8
++ sub r12, r11
++ retne r12
++ cp.w r11, 0
++ reteq 0
++ bfextu r12, r8, 16, 8
++ bfextu r11, r9, 16, 8
++ sub r12, r11
++ retne r12
++ cp.w r11, 0
++ reteq 0
++ bfextu r12, r8, 8, 8
++ bfextu r11, r9, 8, 8
++ sub r12, r11
++ retne r12
++ cp.w r11, 0
++ reteq 0
++ bfextu r12, r8, 0, 8
++ bfextu r11, r9, 0, 8
++ sub r12, r11
++ retal r12
++
++.Lunaligned_s1:
++3: tst s1, r8
++ breq 4f
++ ld.ub r10, s1++
++ ld.ub r9, s2++
++ sub r10, r9
++ retne r10
++ cp.w r9, 0
++ brne 3b
++ retal r10
++
++4: tst s2, r8
++ breq 1b
++
++.Lunaligned_s2:
++ /*
++ * s1 and s2 can't both be aligned, and unaligned word loads
++ * can trigger spurious exceptions if we cross a page boundary.
++ * Do it the slow way...
++ */
++1: ld.ub r8, s1++
++ ld.ub r9, s2++
++ sub r8, r9
++ retne r8
++ cp.w r9, 0
++ brne 1b
++ retal 0
++
++ .size strcmp, . - strcmp
++
++libc_hidden_def(strcmp)
++#ifndef __UCLIBC_HAS_LOCALE__
++strong_alias(strcmp, strcoll)
++libc_hidden_def(strcoll)
++#endif
+diff --git a/libc/string/avr32/strlen.S b/libc/string/avr32/strlen.S
+new file mode 100644
+index 0000000..5223e53
+--- /dev/null
++++ b/libc/string/avr32/strlen.S
+@@ -0,0 +1,62 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#include <features.h>
++
++#define str r12
++
++ .text
++ .global strlen
++ .type strlen, @function
++strlen:
++ mov r11, r12
++
++ mov r9, str
++ andl r9, 3, COH
++ brne .Lunaligned_str
++
++1: ld.w r8, str++
++ tnbz r8
++ brne 1b
++
++ sub r12, r11
++ bfextu r9, r8, 24, 8
++ cp.w r9, 0
++ subeq r12, 4
++ reteq r12
++ bfextu r9, r8, 16, 8
++ cp.w r9, 0
++ subeq r12, 3
++ reteq r12
++ bfextu r9, r8, 8, 8
++ cp.w r9, 0
++ subeq r12, 2
++ reteq r12
++ sub r12, 1
++ retal r12
++
++.Lunaligned_str:
++ add pc, pc, r9 << 3
++ sub r0, r0, 0 /* 4-byte nop */
++ ld.ub r8, str++
++ sub r8, r8, 0
++ breq 1f
++ ld.ub r8, str++
++ sub r8, r8, 0
++ breq 1f
++ ld.ub r8, str++
++ sub r8, r8, 0
++ brne 1b
++
++1: sub r12, 1
++ sub r12, r11
++ retal r12
++
++ .size strlen, . - strlen
++
++libc_hidden_def(strlen)
+diff --git a/libc/sysdeps/linux/avr32/Makefile b/libc/sysdeps/linux/avr32/Makefile
+new file mode 100644
+index 0000000..338abc0
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/Makefile
+@@ -0,0 +1,25 @@
++# Makefile for uClibc
++#
++# Copyright (C) 2000-2003 Erik Andersen <andersen@uclibc.org>
++#
++# This program is free software; you can redistribute it and/or modify it under
++# the terms of the GNU Library General Public License as published by the Free
++# Software Foundation; either version 2 of the License, or (at your option) any
++# later version.
++#
++# 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 Library General Public License for more
++# details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this program; if not, write to the Free Software Foundation, Inc.,
++# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++top_srcdir=../../../../
++top_builddir=../../../../
++all: objs
++
++include $(top_builddir)Rules.mak
++include Makefile.arch
++include $(top_srcdir)Makerules
+diff --git a/libc/sysdeps/linux/avr32/Makefile.arch b/libc/sysdeps/linux/avr32/Makefile.arch
+new file mode 100644
+index 0000000..44fc01e
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/Makefile.arch
+@@ -0,0 +1,13 @@
++# Makefile for uClibc
++#
++# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
++#
++# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
++#
++
++CSRC := brk.c clone.c mmap.c sigaction.c
++
++SSRC := __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
++ sigrestorer.S syscall.S vfork.S
++
++include $(top_srcdir)/libc/sysdeps/linux/Makefile.commonarch
+diff --git a/libc/sysdeps/linux/avr32/__longjmp.S b/libc/sysdeps/linux/avr32/__longjmp.S
+new file mode 100644
+index 0000000..6154bb2
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/__longjmp.S
+@@ -0,0 +1,21 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++ .global __longjmp
++ .type __longjmp,"function"
++ .align 1
++__longjmp:
++ ldm r12++, r0-r8,sp,lr
++ mustr r8 /* restore status register (lower half) */
++ cp r11, 0 /* can't return zero */
++ frs
++ moveq r11, 1
++ retal r11
++ .size __longjmp, . - __longjmp
++
++libc_hidden_def(__longjmp)
+diff --git a/libc/sysdeps/linux/avr32/bits/atomic.h b/libc/sysdeps/linux/avr32/bits/atomic.h
+new file mode 100644
+index 0000000..e6be41f
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/atomic.h
+@@ -0,0 +1,120 @@
++/*
++ * Copyright (C) 2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#ifndef _AVR32_BITS_ATOMIC_H
++#define _AVR32_BITS_ATOMIC_H 1
++
++#include <inttypes.h>
++
++typedef int32_t atomic32_t;
++typedef uint32_t uatomic32_t;
++typedef int_fast32_t atomic_fast32_t;
++typedef uint_fast32_t uatomic_fast32_t;
++
++typedef intptr_t atomicptr_t;
++typedef uintptr_t uatomicptr_t;
++typedef intmax_t atomic_max_t;
++typedef uintmax_t uatomic_max_t;
++
++#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
++ (abort(), 0)
++
++#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
++ (abort(), 0)
++
++#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
++ ({ \
++ __typeof__(*(mem)) __prev; \
++ __asm__ __volatile__( \
++ "/* __arch_compare_and_exchange_val_32_acq */\n" \
++ "1: ssrf 5\n" \
++ " ld.w %[result], %[m]\n" \
++ " cp.w %[result], %[old]\n" \
++ " brne 2f\n" \
++ " stcond %[m], %[new]\n" \
++ " brne 1b\n" \
++ "2:" \
++ : [result] "=&r"(__result), [m] "=m"(*(mem)) \
++ : "m"(*(mem)), [old] "ir"(oldval), \
++ [new] "r"(newval) \
++ : "memory", "cc"); \
++ __prev; \
++ })
++
++#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
++ (abort(), 0)
++
++#define __arch_exchange_32_acq(mem, newval) \
++ ({ \
++ __typeof__(*(mem)) __oldval; \
++ __asm__ __volatile__( \
++ "/*__arch_exchange_32_acq */\n" \
++ " xchg %[old], %[m], %[new]" \
++ : [old] "=&r"(__oldval) \
++ : [m] "r"(mem), [new] "r"(newval) \
++ : "memory"); \
++ __oldval; \
++ })
++
++#define __arch_atomic_exchange_and_add_32(mem, value) \
++ ({ \
++ __typeof__(*(mem)) __oldval, __tmp; \
++ __asm__ __volatile__( \
++ "/* __arch_atomic_exchange_and_add_32 */\n" \
++ "1: ssrf 5\n" \
++ " ld.w %[old], %[m]\n" \
++ " add %[tmp], %[old], %[val]\n" \
++ " stcond %[m], %[tmp]\n" \
++ " brne 1b" \
++ : [old] "=&r"(__oldval), [tmp] "=&r"(__tmp), \
++ [m] "=m"(*(mem)) \
++ : "m"(*(mem)), [val] "r"(value) \
++ : "memory", "cc"); \
++ __oldval; \
++ })
++
++#define __arch_atomic_decrement_if_positive_32(mem) \
++ ({ \
++ __typeof__(*(mem)) __oldval, __tmp; \
++ __asm__ __volatile__( \
++ "/* __arch_atomic_decrement_if_positive_32 */\n" \
++ "1: ssrf 5\n" \
++ " ld.w %[old], %[m]\n" \
++ " sub %[tmp], %[old], 1\n" \
++ " brlt 2f\n" \
++ " stcond %[m], %[tmp]\n" \
++ " brne 1b" \
++ "2:" \
++ : [old] "=&r"(__oldval), [tmp] "=&r"(__tmp), \
++ [m] "=m"(*(mem)) \
++ : "m"(*(mem)) \
++ : "memory", "cc"); \
++ __oldval; \
++ })
++
++#define atomic_exchange_acq(mem, newval) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_exchange_32_acq(mem, newval); \
++ })
++
++#define atomic_exchange_and_add(mem, newval) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_atomic_exchange_and_add_32(mem, newval); \
++ })
++
++#define atomic_decrement_if_positive(mem) \
++ ({ \
++ if (sizeof(*(mem)) != 4) \
++ abort(); \
++ __arch_atomic_decrement_if_positive_32(mem); \
++ })
++
++#endif /* _AVR32_BITS_ATOMIC_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/byteswap.h b/libc/sysdeps/linux/avr32/bits/byteswap.h
+new file mode 100644
+index 0000000..1c030b9
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/byteswap.h
+@@ -0,0 +1,70 @@
++/*
++ * Copyright (C) 2005 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#if !defined _BYTESWAP_H && !defined _NETINET_IN_H
++# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
++#endif
++
++#ifndef _BITS_BYTESWAP_H
++#define _BITS_BYTESWAP_H 1
++
++/* Swap bytes in 16 bit value. */
++#if defined __GNUC__
++# define __bswap_16(x) (__extension__ __builtin_bswap_16(x))
++#else
++/* This is better than nothing. */
++static __inline unsigned short int
++__bswap_16 (unsigned short int __bsx)
++{
++ return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
++}
++#endif
++
++/* Swap bytes in 32 bit value. */
++#if defined __GNUC__
++# define __bswap_32(x) (__extension__ __builtin_bswap_32(x))
++#else
++static __inline unsigned int
++__bswap_32 (unsigned int __bsx)
++{
++ return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) |
++ (((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24));
++}
++#endif
++
++#if defined __GNUC__
++/* Swap bytes in 64 bit value. */
++# define __bswap_constant_64(x) \
++ ((((x) & 0xff00000000000000ull) >> 56) \
++ | (((x) & 0x00ff000000000000ull) >> 40) \
++ | (((x) & 0x0000ff0000000000ull) >> 24) \
++ | (((x) & 0x000000ff00000000ull) >> 8) \
++ | (((x) & 0x00000000ff000000ull) << 8) \
++ | (((x) & 0x0000000000ff0000ull) << 24) \
++ | (((x) & 0x000000000000ff00ull) << 40) \
++ | (((x) & 0x00000000000000ffull) << 56))
++
++# define __bswap_64(x) \
++ (__extension__ \
++ ({ \
++ union { \
++ __extension__ unsigned long long int __ll; \
++ unsigned int __l[2]; \
++ } __w, __r; \
++ if (__builtin_constant_p(x)) \
++ __r.__ll = __bswap_constant_64(x); \
++ else { \
++ __w.__ll = (x); \
++ __r.__l[0] = __bswap_32(__w.__l[1]); \
++ __r.__l[1] = __bswap_32(__w.__l[0]); \
++ } \
++ __r.__ll; \
++ }))
++#endif
++
++#endif /* _BITS_BYTESWAP_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/endian.h b/libc/sysdeps/linux/avr32/bits/endian.h
+new file mode 100644
+index 0000000..7bb6358
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/endian.h
+@@ -0,0 +1,7 @@
++/* AVR32 is big-endian */
++
++#ifndef _ENDIAN_H
++# error "Never use <bits/endian.h> directly; include <endian.h> instead."
++#endif
++
++#define __BYTE_ORDER __BIG_ENDIAN
+diff --git a/libc/sysdeps/linux/avr32/bits/fcntl.h b/libc/sysdeps/linux/avr32/bits/fcntl.h
+new file mode 100644
+index 0000000..1abff17
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/fcntl.h
+@@ -0,0 +1,165 @@
++#ifndef _FCNTL_H
++# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
++#endif
++
++#include <sys/types.h>
++
++/*
++ * open/fcntl - O_SYNC is only implemented on blocks devices and on files
++ * located on an ext2 file system
++ */
++#define O_ACCMODE 00000003
++#define O_RDONLY 00000000
++#define O_WRONLY 00000001
++#define O_RDWR 00000002
++#define O_CREAT 00000100 /* not fcntl */
++#define O_EXCL 00000200 /* not fcntl */
++#define O_NOCTTY 00000400 /* not fcntl */
++#define O_TRUNC 00001000 /* not fcntl */
++#define O_APPEND 00002000
++#define O_NONBLOCK 00004000
++#define O_NDELAY O_NONBLOCK
++#define O_SYNC 00010000
++#define O_ASYNC 00020000
++
++#ifdef __USE_GNU
++# define O_DIRECT 00040000 /* must be a directory */
++# define O_DIRECTORY 00200000 /* direct disk access */
++# define O_NOFOLLOW 00400000 /* don't follow links */
++# define O_NOATIME 01000000 /* don't set atime */
++#endif
++
++#ifdef __USE_LARGEFILE64
++# define O_LARGEFILE 00100000
++#endif
++
++/* For now Linux has synchronisity options for data and read operations.
++ We define the symbols here but let them do the same as O_SYNC since
++ this is a superset. */
++#if defined __USE_POSIX199309 || defined __USE_UNIX98
++# define O_DSYNC O_SYNC /* Synchronize data. */
++# define O_RSYNC O_SYNC /* Synchronize read operations. */
++#endif
++
++#define F_DUPFD 0 /* dup */
++#define F_GETFD 1 /* get close_on_exec */
++#define F_SETFD 2 /* set/clear close_on_exec */
++#define F_GETFL 3 /* get file->f_flags */
++#define F_SETFL 4 /* set file->f_flags */
++
++#ifndef __USE_FILE_OFFSET64
++# define F_GETLK 5
++# define F_SETLK 6
++# define F_SETLKW 7
++#else
++# define F_GETLK F_GETLK64
++# define F_SETLK F_SETLK64
++# define F_SETLKW F_SETLKW64
++#endif
++#define F_GETLK64 12 /* using 'struct flock64' */
++#define F_SETLK64 13
++#define F_SETLKW64 14
++
++#if defined __USE_BSD || defined __USE_XOPEN2K
++# define F_SETOWN 8 /* for sockets. */
++# define F_GETOWN 9 /* for sockets. */
++#endif
++
++#ifdef __USE_GNU
++# define F_SETSIG 10 /* for sockets. */
++# define F_GETSIG 11 /* for sockets. */
++#endif
++
++#ifdef __USE_GNU
++# define F_SETLEASE 1024 /* Set a lease. */
++# define F_GETLEASE 1025 /* Enquire what lease is active. */
++# define F_NOTIFY 1026 /* Request notfications on a directory. */
++#endif
++
++/* for F_[GET|SET]FL */
++#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
++
++/* for posix fcntl() and lockf() */
++#define F_RDLCK 0
++#define F_WRLCK 1
++#define F_UNLCK 2
++
++/* for old implementation of bsd flock () */
++#define F_EXLCK 4 /* or 3 */
++#define F_SHLCK 8 /* or 4 */
++
++/* for leases */
++#define F_INPROGRESS 16
++
++#ifdef __USE_BSD
++/* operations for bsd flock(), also used by the kernel implementation */
++# define LOCK_SH 1 /* shared lock */
++# define LOCK_EX 2 /* exclusive lock */
++# define LOCK_NB 4 /* or'd with one of the above to prevent
++ blocking */
++# define LOCK_UN 8 /* remove lock */
++#endif
++
++#ifdef __USE_GNU
++# define LOCK_MAND 32 /* This is a mandatory flock */
++# define LOCK_READ 64 /* ... Which allows concurrent
++ read operations */
++# define LOCK_WRITE 128 /* ... Which allows concurrent
++ write operations */
++# define LOCK_RW 192 /* ... Which allows concurrent
++ read & write ops */
++#endif
++
++#ifdef __USE_GNU
++/* Types of directory notifications that may be requested with F_NOTIFY. */
++# define DN_ACCESS 0x00000001 /* File accessed. */
++# define DN_MODIFY 0x00000002 /* File modified. */
++# define DN_CREATE 0x00000004 /* File created. */
++# define DN_DELETE 0x00000008 /* File removed. */
++# define DN_RENAME 0x00000010 /* File renamed. */
++# define DN_ATTRIB 0x00000020 /* File changed attibutes. */
++# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */
++#endif
++
++struct flock {
++ short l_type;
++ short l_whence;
++#ifndef __USE_FILE_OFFSET64
++ __off_t l_start;
++ __off_t l_len;
++#else
++ __off64_t l_start;
++ __off64_t l_len;
++#endif
++ __pid_t l_pid;
++};
++
++#ifdef __USE_LARGEFILE64
++struct flock64 {
++ short l_type;
++ short l_whence;
++ __off64_t l_start;
++ __off64_t l_len;
++ __pid_t l_pid;
++};
++#endif
++
++/* Define some more compatibility macros to be backward compatible with
++ * BSD systems which did not managed to hide these kernel macros. */
++#ifdef __USE_BSD
++# define FAPPEND O_APPEND
++# define FFSYNC O_FSYNC
++# define FASYNC O_ASYNC
++# define FNONBLOCK O_NONBLOCK
++# define FNDELAY O_NDELAY
++#endif /* Use BSD. */
++
++/* Advise to `posix_fadvise'. */
++#ifdef __USE_XOPEN2K
++# define POSIX_FADV_NORMAL 0 /* No further special treatment. */
++# define POSIX_FADV_RANDOM 1 /* Expect random page references. */
++# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */
++# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */
++# define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */
++# define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */
++#endif
+diff --git a/libc/sysdeps/linux/avr32/bits/kernel_stat.h b/libc/sysdeps/linux/avr32/bits/kernel_stat.h
+new file mode 100644
+index 0000000..f97d23b
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/kernel_stat.h
+@@ -0,0 +1,67 @@
++#ifndef _BITS_STAT_STRUCT_H
++#define _BITS_STAT_STRUCT_H
++
++#ifndef _LIBC
++#error bits/kernel_stat.h is for internal uClibc use only!
++#endif
++
++/*
++ * This file provides struct stat, taken from kernel 2.6.4. Verified
++ * to match kernel 2.6.22.
++ */
++
++struct kernel_stat {
++ unsigned long st_dev;
++ unsigned long st_ino;
++ unsigned short st_mode;
++ unsigned short st_nlink;
++ unsigned short st_uid;
++ unsigned short st_gid;
++ unsigned long st_rdev;
++ unsigned long st_size;
++ unsigned long st_blksize;
++ unsigned long st_blocks;
++ unsigned long st_atime;
++ unsigned long st_atime_nsec;
++ unsigned long st_mtime;
++ unsigned long st_mtime_nsec;
++ unsigned long st_ctime;
++ unsigned long st_ctime_nsec;
++ unsigned long __unused4;
++ unsigned long __unused5;
++};
++
++#define STAT_HAVE_NSEC 1
++
++struct kernel_stat64 {
++ unsigned long long st_dev;
++
++ unsigned long long st_ino;
++ unsigned int st_mode;
++ unsigned int st_nlink;
++
++ unsigned long st_uid;
++ unsigned long st_gid;
++
++ unsigned long long st_rdev;
++
++ long long st_size;
++ unsigned long __pad1;
++ unsigned long st_blksize;
++
++ unsigned long long st_blocks;
++
++ unsigned long st_atime;
++ unsigned long st_atime_nsec;
++
++ unsigned long st_mtime;
++ unsigned long st_mtime_nsec;
++
++ unsigned long st_ctime;
++ unsigned long st_ctime_nsec;
++
++ unsigned long __unused1;
++ unsigned long __unused2;
++};
++
++#endif /* _BITS_STAT_STRUCT_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/kernel_types.h b/libc/sysdeps/linux/avr32/bits/kernel_types.h
+new file mode 100644
+index 0000000..f7d8b52
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/kernel_types.h
+@@ -0,0 +1,55 @@
++/* Note that we use the exact same include guard #define names
++ * as asm/posix_types.h. This will avoid gratuitous conflicts
++ * with the posix_types.h kernel header, and will ensure that
++ * our private content, and not the kernel header, will win.
++ * -Erik
++ */
++#ifndef __ASM_AVR32_POSIX_TYPES_H
++#define __ASM_AVR32_POSIX_TYPES_H
++
++/*
++ * This file is generally used by user-level software, so you need to
++ * be a little careful about namespace pollution etc. Also, we cannot
++ * assume GCC is being used.
++ */
++
++typedef unsigned long __kernel_dev_t;
++typedef unsigned long __kernel_ino_t;
++typedef unsigned short __kernel_mode_t;
++typedef unsigned short __kernel_nlink_t;
++typedef long __kernel_off_t;
++typedef int __kernel_pid_t;
++typedef unsigned short __kernel_ipc_pid_t;
++typedef unsigned int __kernel_uid_t;
++typedef unsigned int __kernel_gid_t;
++typedef unsigned long __kernel_size_t;
++typedef long __kernel_ssize_t;
++typedef int __kernel_ptrdiff_t;
++typedef long __kernel_time_t;
++typedef long __kernel_suseconds_t;
++typedef long __kernel_clock_t;
++typedef int __kernel_timer_t;
++typedef int __kernel_clockid_t;
++typedef int __kernel_daddr_t;
++typedef char * __kernel_caddr_t;
++typedef unsigned short __kernel_uid16_t;
++typedef unsigned short __kernel_gid16_t;
++typedef unsigned int __kernel_uid32_t;
++typedef unsigned int __kernel_gid32_t;
++typedef unsigned short __kernel_old_uid_t;
++typedef unsigned short __kernel_old_gid_t;
++typedef unsigned short __kernel_old_dev_t;
++
++#ifdef __GNUC__
++typedef long long __kernel_loff_t;
++#endif
++
++typedef struct {
++#if defined(__USE_ALL)
++ int val[2];
++#else
++ int __val[2];
++#endif
++} __kernel_fsid_t;
++
++#endif /* __ASM_AVR32_POSIX_TYPES_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/mman.h b/libc/sysdeps/linux/avr32/bits/mman.h
+new file mode 100644
+index 0000000..5f6e3c3
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/mman.h
+@@ -0,0 +1,103 @@
++/* Definitions for POSIX memory map interface. Linux/AVR32 version.
++ Copyright (C) 1997, 2000 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.1 of the License, or (at your option) any later version.
++
++ The GNU C 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 the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _SYS_MMAN_H
++# error "Never include this file directly. Use <sys/mman.h> instead"
++#endif
++
++/* The following definitions basically come from the kernel headers.
++ But the kernel header is not namespace clean. */
++
++
++/* Protections are chosen from these bits, OR'd together. The
++ implementation does not necessarily support PROT_EXEC or PROT_WRITE
++ without PROT_READ. The only guarantees are that no writing will be
++ allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
++
++#define PROT_READ 0x1 /* Page can be read. */
++#define PROT_WRITE 0x2 /* Page can be written. */
++#define PROT_EXEC 0x4 /* Page can be executed. */
++#define PROT_NONE 0x0 /* Page can not be accessed. */
++#define PROT_GROWSDOWN 0x01000000 /* Extend change to start of
++ growsdown vma (mprotect only). */
++#define PROT_GROWSUP 0x02000000 /* Extend change to start of
++ growsup vma (mprotect only). */
++
++/* Sharing types (must choose one and only one of these). */
++#define MAP_SHARED 0x01 /* Share changes. */
++#define MAP_PRIVATE 0x02 /* Changes are private. */
++#ifdef __USE_MISC
++# define MAP_TYPE 0x0f /* Mask for type of mapping. */
++#endif
++
++/* Other flags. */
++#define MAP_FIXED 0x10 /* Interpret addr exactly. */
++#ifdef __USE_MISC
++# define MAP_FILE 0
++# define MAP_ANONYMOUS 0x20 /* Don't use a file. */
++# define MAP_ANON MAP_ANONYMOUS
++#endif
++
++/* These are Linux-specific. */
++#ifdef __USE_MISC
++# define MAP_GROWSDOWN 0x0100 /* Stack-like segment. */
++# define MAP_DENYWRITE 0x0800 /* ETXTBSY */
++# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */
++# define MAP_LOCKED 0x2000 /* Lock the mapping. */
++# define MAP_NORESERVE 0x4000 /* Don't check for reservations. */
++# define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
++# define MAP_NONBLOCK 0x10000 /* do not block on IO */
++#endif
++
++/* Flags to `msync'. */
++#define MS_ASYNC 1 /* Sync memory asynchronously. */
++#define MS_SYNC 4 /* Synchronous memory sync. */
++#define MS_INVALIDATE 2 /* Invalidate the caches. */
++
++/* Flags for `mlockall'. */
++#define MCL_CURRENT 1 /* Lock all currently mapped pages. */
++#define MCL_FUTURE 2 /* Lock all additions to address
++ space. */
++
++/* Flags for `mremap'. */
++#ifdef __USE_GNU
++# define MREMAP_MAYMOVE 1
++# define MREMAP_FIXED 2
++#endif
++
++/* Advise to `madvise'. */
++#ifdef __USE_BSD
++# define MADV_NORMAL 0 /* No further special treatment. */
++# define MADV_RANDOM 1 /* Expect random page references. */
++# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
++# define MADV_WILLNEED 3 /* Will need these pages. */
++# define MADV_DONTNEED 4 /* Don't need these pages. */
++# define MADV_REMOVE 9 /* Remove these pages and resources. */
++# define MADV_DONTFORK 10 /* Do not inherit across fork. */
++# define MADV_DOFORK 11 /* Do inherit across fork. */
++#endif
++
++/* The POSIX people had to invent similar names for the same things. */
++#ifdef __USE_XOPEN2K
++# define POSIX_MADV_NORMAL 0 /* No further special treatment. */
++# define POSIX_MADV_RANDOM 1 /* Expect random page references. */
++# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */
++# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */
++# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */
++#endif
+diff --git a/libc/sysdeps/linux/avr32/bits/setjmp.h b/libc/sysdeps/linux/avr32/bits/setjmp.h
+new file mode 100644
+index 0000000..78348a3
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/setjmp.h
+@@ -0,0 +1,30 @@
++/*
++ * Copyright (C) 2004-2005 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#ifndef _BITS_SETJMP_H
++#define _BITS_SETJMP_H 1
++
++#if !defined _SETJMP_H && !defined _PTHREAD_H
++# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
++#endif
++
++#ifndef _ASM
++/*
++ * The jump buffer contains r0-r7, sr, sp and lr. Other registers are
++ * not saved.
++ */
++typedef int __jmp_buf[11];
++#endif
++
++#define __JMP_BUF_SP 4
++
++/* Test if longjmp to JMPBUF would unwind the frame containing a local
++ variable at ADDRESS. */
++#define _JMPBUF_UNWINDS(jmpbuf, address) \
++ ((void *)(address) < (void *)(jmpbuf[__JMP_BUF_SP]))
++
++#endif /* _BITS_SETJMP_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/stackinfo.h b/libc/sysdeps/linux/avr32/bits/stackinfo.h
+new file mode 100644
+index 0000000..29b8452
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/stackinfo.h
+@@ -0,0 +1,28 @@
++/* Copyright (C) 1999 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.1 of the License, or (at your option) any later version.
++
++ The GNU C 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 the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* This file contains a bit of information about the stack allocation
++ of the processor. */
++
++#ifndef _STACKINFO_H
++#define _STACKINFO_H 1
++
++/* On AVR32 the stack grows down. */
++#define _STACK_GROWS_DOWN 1
++
++#endif /* stackinfo.h */
+diff --git a/libc/sysdeps/linux/avr32/bits/syscalls.h b/libc/sysdeps/linux/avr32/bits/syscalls.h
+new file mode 100644
+index 0000000..22ac059
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/syscalls.h
+@@ -0,0 +1,143 @@
++#ifndef _BITS_SYSCALLS_H
++#define _BITS_SYSCALLS_H
++#ifndef _SYSCALL_H
++# error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead."
++#endif
++
++/*
++ * This includes the `__NR_<name>' syscall numbers taken from the
++ * Linux kernel header files. It also defines the traditional
++ * `SYS_<name>' macros for older programs.
++ */
++#include <bits/sysnum.h>
++
++#ifndef __ASSEMBLER__
++
++#include <errno.h>
++
++#define SYS_ify(syscall_name) (__NR_##syscall_name)
++
++#undef _syscall0
++#define _syscall0(type,name) \
++ type name(void) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 0)); \
++ }
++
++#undef _syscall1
++#define _syscall1(type,name,type1,arg1) \
++ type name(type1 arg1) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 1, arg1)); \
++ }
++
++#undef _syscall2
++#define _syscall2(type,name,type1,arg1,type2,arg2) \
++ type name(type1 arg1, type2 arg2) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 2, arg1, arg2)); \
++ }
++
++#undef _syscall3
++#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
++ type name(type1 arg1, type2 arg2, type3 arg3) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 3, arg1, \
++ arg2, arg3)); \
++ }
++
++#undef _syscall4
++#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3, \
++ type4,arg4) \
++ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 4, arg1, arg2, \
++ arg3, arg4)); \
++ }
++
++#undef _syscall5
++#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3, \
++ type4,arg4,type5,arg5) \
++ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \
++ type5 arg5) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 5, arg1, arg2, \
++ arg3, arg4, arg5)); \
++ }
++
++#undef _syscall6
++#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3, \
++ type4,arg4,type5,arg5,type6,arg6) \
++ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \
++ type5 arg5, type6 arg6) \
++ { \
++ return (type)(INLINE_SYSCALL(name, 6, arg1, arg2, arg3, \
++ arg4, arg5, arg6)); \
++ }
++
++#undef unlikely
++#define unlikely(x) __builtin_expect((x), 0)
++
++#undef INLINE_SYSCALL
++#define INLINE_SYSCALL(name, nr, args...) \
++ ({ \
++ unsigned _sys_result = INTERNAL_SYSCALL(name, , nr, args); \
++ if (unlikely(INTERNAL_SYSCALL_ERROR_P(_sys_result, ))) { \
++ __set_errno(INTERNAL_SYSCALL_ERRNO(_sys_result, )); \
++ _sys_result = (unsigned int) -1; \
++ } \
++ (int) _sys_result; \
++ })
++
++#undef INTERNAL_SYSCALL_DECL
++#define INTERNAL_SYSCALL_DECL(err) do { } while(0)
++
++#undef INTERNAL_SYSCALL
++#define INTERNAL_SYSCALL(name, err, nr, args...) \
++ ({ \
++ register int _a1 asm ("r12"); \
++ register int _scno asm("r8") = SYS_ify(name); \
++ LOAD_ARGS_##nr (args); \
++ asm volatile ("scall /* syscall " #name " */" \
++ : "=r" (_a1) \
++ : "r"(_scno) ASM_ARGS_##nr \
++ : "cc", "memory"); \
++ _a1; \
++ })
++
++#undef INTERNAL_SYSCALL_ERROR_P
++#define INTERNAL_SYSCALL_ERROR_P(val, err) \
++ ((unsigned int)(val) >= 0xfffff001U)
++
++#undef INTERNAL_SYSCALL_ERRNO
++#define INTERNAL_SYSCALL_ERRNO(val, errr) (-(val))
++
++#define LOAD_ARGS_0() do { } while(0)
++#define ASM_ARGS_0
++#define LOAD_ARGS_1(a1) \
++ _a1 = (int) (a1); \
++ LOAD_ARGS_0()
++#define ASM_ARGS_1 ASM_ARGS_0, "r"(_a1)
++#define LOAD_ARGS_2(a1, a2) \
++ register int _a2 asm("r11") = (int)(a2); \
++ LOAD_ARGS_1(a1)
++#define ASM_ARGS_2 ASM_ARGS_1, "r"(_a2)
++#define LOAD_ARGS_3(a1, a2, a3) \
++ register int _a3 asm("r10") = (int)(a3); \
++ LOAD_ARGS_2(a1, a2)
++#define ASM_ARGS_3 ASM_ARGS_2, "r"(_a3)
++#define LOAD_ARGS_4(a1, a2, a3, a4) \
++ register int _a4 asm("r9") = (int)(a4); \
++ LOAD_ARGS_3(a1, a2, a3)
++#define ASM_ARGS_4 ASM_ARGS_3, "r"(_a4)
++#define LOAD_ARGS_5(a1, a2, a3, a4, a5) \
++ register int _a5 asm("r5") = (int)(a5); \
++ LOAD_ARGS_4(a1, a2, a3, a4)
++#define ASM_ARGS_5 ASM_ARGS_4, "r"(_a5)
++#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6) \
++ register int _a6 asm("r3") = (int)(a6); \
++ LOAD_ARGS_5(a1, a2, a3, a4, a5)
++#define ASM_ARGS_6 ASM_ARGS_5, "r"(_a6)
++
++#endif /* __ASSEMBLER__ */
++#endif /* _BITS_SYSCALLS_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
+new file mode 100644
+index 0000000..e95e8a5
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/uClibc_arch_features.h
+@@ -0,0 +1,45 @@
++/*
++ * Track misc arch-specific features that aren't config options
++ */
++
++#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
++#define _BITS_UCLIBC_ARCH_FEATURES_H
++
++/* instruction used when calling abort() to kill yourself */
++/* trigger illegal instruction exception, same as BUG in Linux */
++#define __UCLIBC_ABORT_INSTRUCTION__ ".short 0x5df0"
++
++/* can your target use syscall6() for mmap ? */
++#define __UCLIBC_MMAP_HAS_6_ARGS__
++
++/* does your target use syscall4() for truncate64 ? (32bit arches only) */
++#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__
++
++/* does your target have a broken create_module() ? */
++#undef __UCLIBC_BROKEN_CREATE_MODULE__
++
++/* does your target have to worry about older [gs]etrlimit() ? */
++#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
++
++/* does your target prefix all symbols with an _ ? */
++#define __UCLIBC_NO_UNDERSCORES__
++
++/* does your target have an asm .set ? */
++#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
++
++/* define if target doesn't like .global */
++#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
++
++/* define if target supports .weak */
++#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
++
++/* define if target supports .weakext */
++#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
++
++/* needed probably only for ppc64 */
++#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
++
++/* define if target supports IEEE signed zero floats */
++#define __UCLIBC_HAVE_SIGNED_ZERO__
++
++#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
+diff --git a/libc/sysdeps/linux/avr32/bits/wordsize.h b/libc/sysdeps/linux/avr32/bits/wordsize.h
+new file mode 100644
+index 0000000..1b5842a
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bits/wordsize.h
+@@ -0,0 +1 @@
++#define __WORDSIZE 32
+diff --git a/libc/sysdeps/linux/avr32/brk.c b/libc/sysdeps/linux/avr32/brk.c
+new file mode 100644
+index 0000000..a54b49a
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/brk.c
+@@ -0,0 +1,31 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#include <errno.h>
++#include <unistd.h>
++#include <sys/syscall.h>
++
++libc_hidden_proto(brk)
++
++void *__curbrk attribute_hidden = 0;
++
++int brk (void *addr)
++{
++ void *newbrk;
++
++ newbrk = (void *)INLINE_SYSCALL(brk, 1, addr);
++
++ __curbrk = newbrk;
++
++ if (newbrk < addr) {
++ __set_errno (ENOMEM);
++ return -1;
++ }
++
++ return 0;
++}
++libc_hidden_def(brk)
+diff --git a/libc/sysdeps/linux/avr32/bsd-_setjmp.S b/libc/sysdeps/linux/avr32/bsd-_setjmp.S
+new file mode 100644
+index 0000000..be66a10
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bsd-_setjmp.S
+@@ -0,0 +1,16 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++ /* This just does a tail-call to __sigsetjmp(env, 0) */
++ .global _setjmp
++ .type _setjmp,"function"
++ .align 1
++_setjmp:
++ mov r11, 0
++ bral __GI___sigsetjmp
++ .size _setjmp, . - _setjmp
+diff --git a/libc/sysdeps/linux/avr32/bsd-setjmp.S b/libc/sysdeps/linux/avr32/bsd-setjmp.S
+new file mode 100644
+index 0000000..4635eeb
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/bsd-setjmp.S
+@@ -0,0 +1,16 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++ /* This just does a tail-call to __sigsetjmp(env, 1) */
++ .global setjmp
++ .type setjmp,"function"
++ .align 1
++setjmp:
++ mov r11, 1
++ bral __GI___sigsetjmp
++ .size setjmp, . - setjmp
+diff --git a/libc/sysdeps/linux/avr32/clone.c b/libc/sysdeps/linux/avr32/clone.c
+new file mode 100644
+index 0000000..e43b0f3
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/clone.c
+@@ -0,0 +1,41 @@
++/*
++ * Copyright (C) 2004 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#include <errno.h>
++#include <sys/syscall.h>
++#include <unistd.h>
++
++/*
++ * I don't know if we can be absolutely certain that the fn and arg
++ * parameters are preserved when returning as the child. If the
++ * compiler stores them in registers (r0-r7), they should be.
++ */
++int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg)
++{
++ register int (*_fn)(void *arg) = fn;
++ register void *_arg = arg;
++ int err;
++
++ /* Sanity check the arguments */
++ err = -EINVAL;
++ if (!fn)
++ goto syscall_error;
++ if (!child_stack)
++ goto syscall_error;
++
++ err = INLINE_SYSCALL(clone, 2, flags, child_stack);
++ if (err < 0)
++ goto syscall_error;
++ else if (err != 0)
++ return err;
++
++ _exit(_fn(_arg));
++
++syscall_error:
++ __set_errno (-err);
++ return -1;
++}
+diff --git a/libc/sysdeps/linux/avr32/crt1.S b/libc/sysdeps/linux/avr32/crt1.S
+new file mode 100644
+index 0000000..ca1fa7a
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/crt1.S
+@@ -0,0 +1,97 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ *
++ * When we enter _start, the stack looks like this:
++ * argc argument counter
++ * argv[0] pointer to program name
++ * argv[1..argc-1] pointers to program args
++ * NULL
++ * env[0..N] pointers to environment variables
++ * NULL
++ *
++ * r12 contains a function pointer to be registered with `atexit'.
++ * This is how the dynamic linker arranges to have DT_FINI functions
++ * called for shared libraries that have been loaded before this
++ * code runs.
++ *
++ * We're going to call the following function:
++ * __uClibc_main(int (*main)(int, char **, char **), int argc,
++ * char **argv, void (*app_init)(void), void (*app_fini)(void),
++ * void (*rtld_fini)(void), void *stack_end)
++ *
++ * So we need to set up things as follows:
++ * r12 = address of main
++ * r11 = argc
++ * r10 = &argv[0]
++ * r9 = address of _init
++ * r8 = address of _fini
++ * sp[0] = whatever we got passed in r12
++ */
++
++#include <features.h>
++
++ .text
++ .global _start
++ .type _start, @function
++_start:
++ /* Clear the frame pointer and link register since this is the outermost frame. */
++ mov r7, 0
++ mov lr, 0
++
++ ld.w r11, sp++ /* argc */
++ mov r10, sp /* &argv[0] */
++
++ st.w --sp, r10 /* stack_end */
++ st.w --sp, r12 /* rtld_fini */
++
++#ifdef __PIC__
++ lddpc r6, .L_GOT
++.L_RGOT:
++ rsub r6, pc
++ lda.w r9, _init
++ lda.w r8, _fini
++ lda.w r12, main
++
++ /* Ok, now run uClibc's main() -- should not return */
++ call __uClibc_main
++
++ .align 2
++.L_GOT:
++ .long .L_RGOT - _GLOBAL_OFFSET_TABLE_
++#else
++ lddpc r9, __init_addr /* app_init */
++ lddpc r8, __fini_addr /* app_fini */
++ lddpc r12, __main_addr /* main */
++
++ /* Ok, now run uClibc's main() -- should not return */
++ lddpc pc, ___uClibc_main_addr
++
++ .align 2
++__init_addr:
++ .long _init
++__fini_addr:
++ .long _fini
++__main_addr:
++ .long main
++___uClibc_main_addr:
++ .long __uClibc_main
++#endif
++ .size _start, . - _start
++
++ /*
++ * The LSB says we need this.
++ */
++ .section ".note.ABI-tag", "a"
++ .align 4
++ .long 2f - 1f /* namesz */
++ .long 4f - 3f /* descsz */
++ .long 1 /* type */
++1: .asciz "GNU" /* name */
++2: .align 4
++3: .long 0 /* Linux executable */
++ .long 2,6,0 /* Earliest compatible kernel */
++4: .align 4
+diff --git a/libc/sysdeps/linux/avr32/crti.S b/libc/sysdeps/linux/avr32/crti.S
+new file mode 100644
+index 0000000..660f47c
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/crti.S
+@@ -0,0 +1,26 @@
++
++ .section .init
++ .align 2
++ .global _init
++ .type _init, @function
++_init:
++ stm --sp, r6, lr
++ lddpc r6, 2f
++1: rsub r6, pc
++ rjmp 3f
++ .align 2
++2: .long 1b - _GLOBAL_OFFSET_TABLE_
++3:
++
++ .section .fini
++ .align 2
++ .global _fini
++ .type _fini, @function
++_fini:
++ stm --sp, r6, lr
++ lddpc r6, 2f
++1: rsub r6, pc
++ rjmp 3f
++ .align 2
++2: .long 1b - _GLOBAL_OFFSET_TABLE_
++3:
+diff --git a/libc/sysdeps/linux/avr32/crtn.S b/libc/sysdeps/linux/avr32/crtn.S
+new file mode 100644
+index 0000000..f7d1040
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/crtn.S
+@@ -0,0 +1,14 @@
++
++ .section .init
++ .align 2
++ .global _init
++ .type _init, @function
++ ldm sp++, r6, pc
++ .size _init, . - _init
++
++ .section .fini
++ .align 2
++ .global _fini
++ .type _fini, @function
++ ldm sp++, r6, pc
++ .size _fini, . - _fini
+diff --git a/libc/sysdeps/linux/avr32/mmap.c b/libc/sysdeps/linux/avr32/mmap.c
+new file mode 100644
+index 0000000..2ee025a
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/mmap.c
+@@ -0,0 +1,33 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++#include <errno.h>
++#include <unistd.h>
++#include <sys/mman.h>
++#include <sys/syscall.h>
++
++libc_hidden_proto(mmap)
++
++static _syscall6(__ptr_t, mmap2, __ptr_t, addr, size_t, len, int, prot,
++ int, flags, int, fd, __off_t, pgoff);
++
++__ptr_t mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset)
++{
++ unsigned long page_size = sysconf(_SC_PAGESIZE);
++ unsigned long pgoff;
++
++ if (offset & (page_size - 1)) {
++ __set_errno(EINVAL);
++ return MAP_FAILED;
++ }
++
++ pgoff = (unsigned long)offset >> (31 - __builtin_clz(page_size));
++
++ return mmap2(addr, len, prot, flags, fd, pgoff);
++}
++libc_hidden_def(mmap)
+diff --git a/libc/sysdeps/linux/avr32/setjmp.S b/libc/sysdeps/linux/avr32/setjmp.S
+new file mode 100644
+index 0000000..7d0354b
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/setjmp.S
+@@ -0,0 +1,29 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#define _SETJMP_H
++#define _ASM
++#include <bits/setjmp.h>
++
++ .text
++
++ .global __sigsetjmp
++ .type __sigsetjmp,"function"
++
++ .align 1
++__sigsetjmp:
++ mustr r8
++ stm r12, r0,r1,r2,r3,r4,r5,r6,r7,r8,sp,lr
++
++ /*
++ * Make a tail call to __sigjmp_save; it takes the same args
++ * and is hidden so we don't need to mess around with the GOT.
++ */
++ rjmp __sigjmp_save
++ .size __sigsetjmp, . - __sigsetjmp
++
++libc_hidden_def(__sigsetjmp)
+diff --git a/libc/sysdeps/linux/avr32/sigaction.c b/libc/sysdeps/linux/avr32/sigaction.c
+new file mode 100644
+index 0000000..a97ff3d
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/sigaction.c
+@@ -0,0 +1,59 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#include <errno.h>
++#include <signal.h>
++#include <string.h>
++#include <sys/syscall.h>
++#include <bits/kernel_sigaction.h>
++
++#define SA_RESTORER 0x04000000
++extern void __default_rt_sa_restorer(void);
++
++libc_hidden_proto(memcpy)
++
++/*
++ * If act is not NULL, change the action for sig to *act.
++ * If oact is not NULL, put the old action for sig in *oact.
++ */
++int __libc_sigaction(int signum, const struct sigaction *act,
++ struct sigaction *oldact)
++{
++ struct kernel_sigaction kact, koact;
++ int result;
++
++ if (act) {
++ kact.k_sa_handler = act->sa_handler;
++ memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
++ kact.sa_flags = act->sa_flags;
++ if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK))
++ kact.sa_restorer = act->sa_restorer;
++ else
++ kact.sa_restorer = __default_rt_sa_restorer;
++ kact.sa_flags |= SA_RESTORER;
++ }
++
++ result = __syscall_rt_sigaction(signum, act ? __ptrvalue(&kact) : NULL,
++ oldact ? __ptrvalue(&koact) : NULL,
++ _NSIG / 8);
++
++ if (oldact && result >= 0) {
++ oldact->sa_handler = koact.k_sa_handler;
++ memcpy(&oldact->sa_mask, &koact.sa_mask,
++ sizeof(oldact->sa_mask));
++ oldact->sa_flags = koact.sa_flags;
++ oldact->sa_restorer = koact.sa_restorer;
++ }
++
++ return result;
++}
++
++#ifndef LIBC_SIGACTION
++libc_hidden_proto(sigaction)
++weak_alias(__libc_sigaction, sigaction)
++libc_hidden_weak(sigaction)
++#endif
+diff --git a/libc/sysdeps/linux/avr32/sigrestorer.S b/libc/sysdeps/linux/avr32/sigrestorer.S
+new file mode 100644
+index 0000000..df6a1ba
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/sigrestorer.S
+@@ -0,0 +1,15 @@
++/*
++ * Copyright (C) 2004 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#include <sys/syscall.h>
++
++ .global __default_rt_sa_restorer
++ .type __default_rt_sa_restorer,"function"
++ .align 1
++__default_rt_sa_restorer:
++ mov r8, __NR_rt_sigreturn
++ scall
+diff --git a/libc/sysdeps/linux/avr32/sys/elf.h b/libc/sysdeps/linux/avr32/sys/elf.h
+new file mode 100644
+index 0000000..faa7310
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/sys/elf.h
+@@ -0,0 +1,26 @@
++/* Copyright (C) 1996, 1997, 1999, 2001 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.1 of the License, or (at your option) any later version.
++
++ The GNU C 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 the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _SYS_ELF_H
++#define _SYS_ELF_H 1
++
++#warning "This header is obsolete; use <sys/procfs.h> instead."
++
++#include <sys/procfs.h>
++
++#endif /* sys/elf.h */
+diff --git a/libc/sysdeps/linux/avr32/sys/procfs.h b/libc/sysdeps/linux/avr32/sys/procfs.h
+new file mode 100644
+index 0000000..3b37363
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/sys/procfs.h
+@@ -0,0 +1,123 @@
++/* Copyright (C) 1996, 1997, 1999, 2001 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.1 of the License, or (at your option) any later version.
++
++ The GNU C 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 the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _SYS_PROCFS_H
++#define _SYS_PROCFS_H 1
++
++/* This is somewhat modelled after the file of the same name on SVR4
++ systems. It provides a definition of the core file format for ELF
++ used on Linux. It doesn't have anything to do with the /proc file
++ system, even though Linux has one.
++
++ Anyway, the whole purpose of this file is for GDB and GDB only.
++ Don't read too much into it. Don't use it for anything other than
++ GDB unless you know what you are doing. */
++
++#include <features.h>
++#include <sys/time.h>
++#include <sys/types.h>
++#include <sys/user.h>
++
++__BEGIN_DECLS
++
++/* Type for a general-purpose register. */
++typedef unsigned long elf_greg_t;
++
++/* And the whole bunch of them. We could have used `struct
++ user_regs' directly in the typedef, but tradition says that
++ the register set is an array, which does have some peculiar
++ semantics, so leave it that way. */
++#define ELF_NGREG (sizeof (struct user_regs) / sizeof(elf_greg_t))
++typedef elf_greg_t elf_gregset_t[ELF_NGREG];
++
++/* Register set for the floating-point registers. */
++typedef struct user_fpregs elf_fpregset_t;
++
++/* Signal info. */
++struct elf_siginfo
++ {
++ int si_signo; /* Signal number. */
++ int si_code; /* Extra code. */
++ int si_errno; /* Errno. */
++ };
++
++/* Definitions to generate Intel SVR4-like core files. These mostly
++ have the same names as the SVR4 types with "elf_" tacked on the
++ front to prevent clashes with Linux definitions, and the typedef
++ forms have been avoided. This is mostly like the SVR4 structure,
++ but more Linuxy, with things that Linux does not support and which
++ GDB doesn't really use excluded. */
++
++struct elf_prstatus
++ {
++ struct elf_siginfo pr_info; /* Info associated with signal. */
++ short int pr_cursig; /* Current signal. */
++ unsigned long int pr_sigpend; /* Set of pending signals. */
++ unsigned long int pr_sighold; /* Set of held signals. */
++ __pid_t pr_pid;
++ __pid_t pr_ppid;
++ __pid_t pr_pgrp;
++ __pid_t pr_sid;
++ struct timeval pr_utime; /* User time. */
++ struct timeval pr_stime; /* System time. */
++ struct timeval pr_cutime; /* Cumulative user time. */
++ struct timeval pr_cstime; /* Cumulative system time. */
++ elf_gregset_t pr_reg; /* GP registers. */
++ int pr_fpvalid; /* True if math copro being used. */
++ };
++
++
++#define ELF_PRARGSZ (80) /* Number of chars for args. */
++
++struct elf_prpsinfo
++ {
++ char pr_state; /* Numeric process state. */
++ char pr_sname; /* Char for pr_state. */
++ char pr_zomb; /* Zombie. */
++ char pr_nice; /* Nice val. */
++ unsigned long int pr_flag; /* Flags. */
++ unsigned short int pr_uid;
++ unsigned short int pr_gid;
++ int pr_pid, pr_ppid, pr_pgrp, pr_sid;
++ /* Lots missing */
++ char pr_fname[16]; /* Filename of executable. */
++ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
++ };
++
++/* The rest of this file provides the types for emulation of the
++ Solaris <proc_service.h> interfaces that should be implemented by
++ users of libthread_db. */
++
++/* Addresses. */
++typedef void *psaddr_t;
++
++/* Register sets. Linux has different names. */
++typedef elf_gregset_t prgregset_t;
++typedef elf_fpregset_t prfpregset_t;
++
++/* We don't have any differences between processes and threads,
++ therefore have only one PID type. */
++typedef __pid_t lwpid_t;
++
++/* Process status and info. In the end we do provide typedefs for them. */
++typedef struct elf_prstatus prstatus_t;
++typedef struct elf_prpsinfo prpsinfo_t;
++
++__END_DECLS
++
++#endif /* sys/procfs.h */
+diff --git a/libc/sysdeps/linux/avr32/sys/ucontext.h b/libc/sysdeps/linux/avr32/sys/ucontext.h
+new file mode 100644
+index 0000000..82c7fe2
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/sys/ucontext.h
+@@ -0,0 +1,90 @@
++/* Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.1 of the License, or (at your option) any later version.
++
++ The GNU C 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 the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* Linux/AVR32 ABI compliant context switching support. */
++
++#ifndef _SYS_UCONTEXT_H
++#define _SYS_UCONTEXT_H 1
++
++#include <features.h>
++#include <signal.h>
++#include <sys/procfs.h>
++#include <bits/sigcontext.h>
++
++typedef int greg_t;
++
++/* Number of general registers. */
++#define NGREG 16
++
++/* Container for all general registers. */
++typedef elf_gregset_t gregset_t;
++
++/* Number of each register is the `gregset_t' array. */
++enum
++{
++ R0 = 0,
++#define R0 R0
++ R1 = 1,
++#define R1 R1
++ R2 = 2,
++#define R2 R2
++ R3 = 3,
++#define R3 R3
++ R4 = 4,
++#define R4 R4
++ R5 = 5,
++#define R5 R5
++ R6 = 6,
++#define R6 R6
++ R7 = 7,
++#define R7 R7
++ R8 = 8,
++#define R8 R8
++ R9 = 9,
++#define R9 R9
++ R10 = 10,
++#define R10 R10
++ R11 = 11,
++#define R11 R11
++ R12 = 12,
++#define R12 R12
++ R13 = 13,
++#define R13 R13
++ R14 = 14,
++#define R14 R14
++ R15 = 15
++#define R15 R15
++};
++
++/* Structure to describe FPU registers. */
++typedef elf_fpregset_t fpregset_t;
++
++/* Context to describe whole processor state. */
++typedef struct sigcontext mcontext_t;
++
++/* Userlevel context. */
++typedef struct ucontext
++{
++ unsigned long uc_flags;
++ struct ucontext *uc_link;
++ stack_t uc_stack;
++ mcontext_t uc_mcontext;
++ sigset_t uc_sigmask; /* mask last for extensibility */
++} ucontext_t;
++
++#endif /* sys/ucontext.h */
+diff --git a/libc/sysdeps/linux/avr32/sys/user.h b/libc/sysdeps/linux/avr32/sys/user.h
+new file mode 100644
+index 0000000..c0b3d38
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/sys/user.h
+@@ -0,0 +1,46 @@
++#ifndef _SYS_USER_H
++#define _SYS_USER_H
++
++struct user_fpregs
++{
++
++};
++
++struct user_regs
++{
++ unsigned long sr;
++ unsigned long pc;
++ unsigned long lr;
++ unsigned long sp;
++ unsigned long r12;
++ unsigned long r11;
++ unsigned long r10;
++ unsigned long r9;
++ unsigned long r8;
++ unsigned long r7;
++ unsigned long r6;
++ unsigned long r5;
++ unsigned long r4;
++ unsigned long r3;
++ unsigned long r2;
++ unsigned long r1;
++ unsigned long r0;
++ unsigned long r12_orig;
++};
++
++struct user
++{
++ struct user_regs regs; /* general registers */
++ size_t u_tsize; /* text size (pages) */
++ size_t u_dsize; /* data size (pages) */
++ size_t u_ssize; /* stack size (pages) */
++ unsigned long start_code; /* text starting address */
++ unsigned long start_data; /* data starting address */
++ unsigned long start_stack; /* stack starting address */
++ long int signal; /* signal causing core dump */
++ struct user_regs * u_ar0; /* help gdb find registers */
++ unsigned long magic; /* identifies a core file */
++ char u_comm[32]; /* user command name */
++};
++
++#endif /* _SYS_USER_H */
+diff --git a/libc/sysdeps/linux/avr32/syscall.S b/libc/sysdeps/linux/avr32/syscall.S
+new file mode 100644
+index 0000000..55c1b1f
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/syscall.S
+@@ -0,0 +1,71 @@
++/*
++ * Copyright (C) 2004-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#include <features.h>
++
++ .text
++
++ /*
++ * long int syscall(long int sysno, ...)
++ */
++ .global syscall
++ .type syscall, @function
++ .align 2
++syscall:
++ stm --sp, r3,r5,r6,lr
++ sub lr, sp, -16
++ mov r8, r12
++ ldm lr, r3,r5,r9-r12
++ scall
++ cp.w r12, -4095
++ brlo .Ldone
++
++#ifdef __PIC__
++ lddpc r6, .Lgot
++.Lgotcalc:
++ rsub r6, pc
++# ifdef __UCLIBC_HAS_THREADS__
++ rsub r3, r12, 0
++ mcall r6[__errno_location@got]
++ st.w r12[0], r3
++# else
++ ld.w r3, r6[errno@got]
++ neg r12
++ st.w r3[0], r12
++# endif
++#else
++# ifdef __UCLIBC_HAS_THREADS__
++ rsub r3, r12, 0
++ mcall .Lerrno_location
++ st.w r12[0], r3
++# else
++ lddpc r3, .Lerrno
++ neg r12
++ st.w r3[0], r12
++# endif
++#endif
++ mov r12, -1
++
++.Ldone:
++ ldm sp++, r3,r5,r6,pc
++
++ .align 2
++#ifdef __PIC__
++.Lgot:
++ .long .Lgotcalc - _GLOBAL_OFFSET_TABLE_
++#else
++# ifdef __UCLIBC_HAS_THREADS__
++.Lerrno_location:
++ .long __errno_location
++# else
++.Lerrno:
++ .long errno
++# endif
++#endif
++
++
++ .size syscall, . - syscall
+diff --git a/libc/sysdeps/linux/avr32/vfork.S b/libc/sysdeps/linux/avr32/vfork.S
+new file mode 100644
+index 0000000..03ca99f
+--- /dev/null
++++ b/libc/sysdeps/linux/avr32/vfork.S
+@@ -0,0 +1,58 @@
++/*
++ * Copyright (C) 2005 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++
++/*
++ * Clone the process without copying the address space. The
++ * calling process is suspended until the child either exits
++ * or calls execve.
++ *
++ * This all means that we cannot rely on the stack to store
++ * away registers, since they will be overwritten by the child
++ * as soon as it makes another function call (e.g. execve()).
++ * Fortunately, the Linux kernel preserves LR across system calls.
++ */
++
++#include <features.h>
++#include <sys/syscall.h>
++
++ .global __vfork
++ .type __vfork,@function
++ .align 1
++__vfork:
++ mov r8, __NR_vfork
++ scall
++ cp.w r12, -4096
++ retls r12
++
++ /* vfork failed, so we may use the stack freely */
++ pushm r4-r7,lr
++#ifdef __PIC__
++ lddpc r6, .L_GOT
++ rsub r4, r12, 0
++.L_RGOT:
++ rsub r6, pc
++ mcall r6[__errno_location@got]
++#else
++ rsub r4, r12, 0
++ mcall .L__errno_location
++#endif
++ st.w r12[0], r4
++ popm r4-r7,pc,r12=-1
++
++ .align 2
++#ifdef __PIC__
++.L_GOT:
++ .long .L_RGOT - _GLOBAL_OFFSET_TABLE_
++#else
++.L__errno_location:
++ .long __errno_location
++#endif
++ .size __vfork, . - __vfork
++
++weak_alias(__vfork,vfork)
++libc_hidden_weak(vfork)
+diff --git a/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
+new file mode 100644
+index 0000000..eccf329
+--- /dev/null
++++ b/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
+@@ -0,0 +1,73 @@
++/* Machine-dependent pthreads configuration and inline functions.
++ *
++ * Copyright (C) 2005-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#ifndef _PT_MACHINE_H
++#define _PT_MACHINE_H 1
++
++#include <features.h>
++
++static inline int
++_test_and_set (int *p, int v)
++{
++ int result;
++
++ __asm__ __volatile__(
++ "/* Inline test and set */\n"
++ " xchg %[old], %[mem], %[new]"
++ : [old] "=&r"(result)
++ : [mem] "r"(p), [new] "r"(v)
++ : "memory");
++
++ return result;
++}
++
++#ifndef PT_EI
++# define PT_EI extern inline
++#endif
++
++extern long int testandset (int *spinlock);
++extern int __compare_and_swap (long int *p, long int oldval, long int newval);
++
++/* Spinlock implementation; required. */
++PT_EI long int
++testandset (int *spinlock)
++{
++ return _test_and_set(spinlock, 1);
++}
++
++
++/* Get some notion of the current stack. Need not be exactly the top
++ of the stack, just something somewhere in the current frame. */
++#define CURRENT_STACK_FRAME stack_pointer
++register char * stack_pointer __asm__ ("sp");
++
++/* Compare-and-swap for semaphores. */
++
++#define HAS_COMPARE_AND_SWAP
++PT_EI int
++__compare_and_swap(long int *p, long int oldval, long int newval)
++{
++ long int result;
++
++ __asm__ __volatile__(
++ "/* Inline compare and swap */\n"
++ "1: ssrf 5\n"
++ " ld.w %[result], %[mem]\n"
++ " eor %[result], %[old]\n"
++ " brne 2f\n"
++ " stcond %[mem], %[new]\n"
++ " brne 1b\n"
++ "2:"
++ : [result] "=&r"(result), [mem] "=m"(*p)
++ : "m"(*p), [new] "r"(newval), [old] "r"(oldval)
++ : "cc", "memory");
++
++ return result == 0;
++}
++
++#endif /* pt-machine.h */
+diff --git a/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h b/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
+new file mode 100644
+index 0000000..fe12bf8
+--- /dev/null
++++ b/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
+@@ -0,0 +1,73 @@
++/* Machine-dependent pthreads configuration and inline functions.
++ *
++ * Copyright (C) 2005-2007 Atmel Corporation
++ *
++ * This file is subject to the terms and conditions of the GNU Lesser General
++ * Public License. See the file "COPYING.LIB" in the main directory of this
++ * archive for more details.
++ */
++#ifndef _PT_MACHINE_H
++#define _PT_MACHINE_H 1
++
++#include <features.h>
++
++static inline int
++_test_and_set (int *p, int v) __THROW
++{
++ int result;
++
++ __asm__ __volatile__(
++ "/* Inline test and set */\n"
++ " xchg %[old], %[mem], %[new]"
++ : [old] "=&r"(result)
++ : [mem] "r"(p), [new] "r"(v)
++ : "memory");
++
++ return result;
++}
++
++#ifndef PT_EI
++# define PT_EI extern inline
++#endif
++
++extern long int testandset (int *spinlock);
++extern int __compare_and_swap (long int *p, long int oldval, long int newval);
++
++/* Spinlock implementation; required. */
++PT_EI long int
++testandset (int *spinlock)
++{
++ return _test_and_set(spinlock, 1);
++}
++
++
++/* Get some notion of the current stack. Need not be exactly the top
++ of the stack, just something somewhere in the current frame. */
++#define CURRENT_STACK_FRAME stack_pointer
++register char * stack_pointer __asm__ ("sp");
++
++/* Compare-and-swap for semaphores. */
++
++#define HAS_COMPARE_AND_SWAP
++PT_EI int
++__compare_and_swap(long int *p, long int oldval, long int newval)
++{
++ int result;
++
++ __asm__ __volatile__(
++ "/* Inline compare and swap */\n"
++ "1: ssrf 5\n"
++ " ld.w %[result], %[mem]\n"
++ " eor %[result], %[old]\n"
++ " brne 2f\n"
++ " stcond %[mem], %[new]\n"
++ " brne 1b\n"
++ "2:"
++ : [result] "=&r"(result), [mem] "=m"(*p)
++ : "m"(*p), [new] "r"(newval), [old] "r"(oldval)
++ : "cc", "memory");
++
++ return result == 0;
++}
++
++#endif /* pt-machine.h */
+diff --git a/utils/ldd.c b/utils/ldd.c
+index 75ad628..e34acd9 100644
+--- a/utils/ldd.c
++++ b/utils/ldd.c
+@@ -44,6 +44,11 @@
+ #define ELFCLASSM ELFCLASS32
+ #endif
+
++#if defined(__avr32__)
++#define MATCH_MACHINE(x) (x == EM_AVR32)
++#define ELFCLASSM ELFCLASS32
++#endif
++
+ #if defined(__s390__)
+ #define MATCH_MACHINE(x) (x == EM_S390)
+ #define ELFCLASSM ELFCLASS32
diff --git a/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch b/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch
new file mode 100644
index 0000000000..722decdbd7
--- /dev/null
+++ b/packages/uclibc/uclibc-0.9.29/uClibc-0.9.29-avr32-fix-sa_onstack.patch
@@ -0,0 +1,31 @@
+From 974a769cc135bcfb1ea751db34a84ed6b5ceb509 Mon Sep 17 00:00:00 2001
+From: Haavard Skinnemoen <hskinnemoen@atmel.com>
+Date: Fri, 7 Dec 2007 14:02:19 +0100
+Subject: [PATCH] AVR32: Fix sa_restorer when SA_ONSTACK is set
+
+I don't remember exactly why we decided to pick the caller's value of
+sa_restorer when SA_ONSTACK is set, but it seems to break LTP's
+sigaltstack testcase. Some users have reported problems with
+sigaltstack as well; hopefully this will fix it.
+
+Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
+---
+ libc/sysdeps/linux/avr32/sigaction.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/libc/sysdeps/linux/avr32/sigaction.c b/libc/sysdeps/linux/avr32/sigaction.c
+index a97ff3d..6dcca91 100644
+--- a/libc/sysdeps/linux/avr32/sigaction.c
++++ b/libc/sysdeps/linux/avr32/sigaction.c
+@@ -30,7 +30,7 @@ int __libc_sigaction(int signum, const struct sigaction *act,
+ kact.k_sa_handler = act->sa_handler;
+ memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
+ kact.sa_flags = act->sa_flags;
+- if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK))
++ if (kact.sa_flags & SA_RESTORER)
+ kact.sa_restorer = act->sa_restorer;
+ else
+ kact.sa_restorer = __default_rt_sa_restorer;
+--
+1.5.3.4
+
diff --git a/packages/uclibc/uclibc.inc b/packages/uclibc/uclibc.inc
index e57ef174a9..5965c0b8bd 100644
--- a/packages/uclibc/uclibc.inc
+++ b/packages/uclibc/uclibc.inc
@@ -66,8 +66,7 @@ UCLIBC_LOCALE_URI_arm = "http://openembedded.org/dl/uclibc-locale/${UCLIBC_LOCAL
SRC_URI = "${@['${UCLIBC_LOCALE_URI}', ''][bb.data.getVar('USE_NLS', d, 1) != 'yes']} \
file://uClibc.config"
-UCLIBC_PREFIX = "${CROSS_DIR}/${TARGET_SYS}"
-UCLIBC_STAGE_PREFIX = "${STAGING_DIR}/${HOST_SYS}"
+UCLIBC_STAGE_PREFIX = "${STAGING_DIR_HOST}${layout_prefix}"
# do_stage barfs on a CC with whitepspace, therefore put the 'HOST_CC_ARCH' in
# the CFLAGS (for when building the utils).
@@ -77,8 +76,8 @@ EXTRA_OEMAKE = "${OEMAKE_NO_CC} 'CC=${CC}'"
EXTRA_OEMAKE_task_do_populate_staging = "${OEMAKE_NO_CC}"
EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
-KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}/include"
-KERNEL_HEADERS = "${CROSS_DIR}/${TARGET_SYS}/include"
+KERNEL_SOURCE = "${STAGING_INCDIR}"
+KERNEL_HEADERS = "${STAGING_INCDIR}"
# Lets munge this via siteinfo.bbclass as well:
# ARCH_BIG_ENDIAN=y
@@ -145,33 +144,18 @@ do_configure() {
}
do_stage() {
- # Install into the cross dir (this MUST be done first because we
- # will install crt1.o in the install_dev stage and gcc needs it)
- oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_PREFIX}/ \
- RUNTIME_PREFIX=${UCLIBC_PREFIX}/ \
- install_dev install_runtime
-
- oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_PREFIX}/ \
- RUNTIME_PREFIX=${UCLIBC_PREFIX}/ \
- install_utils
-
- # We don't really need this
- rm -f ${UCLIBC_PREFIX}/include/.cvsignore
-
- # Fixup shared lib symlinks
- ( cd ${UCLIBC_PREFIX}/lib
- for f in c crypt dl m nsl pthread resolv thread_db util; do
- ln -sf lib${f}.so.? lib${f}.so
- done
- )
+ # This MUST be done first because we
+ # will install crt1.o in the install_dev stage and gcc needs it
- # This conflicts with the c++ version of this header
- rm -f ${UCLIBC_PREFIX}/include/bits/atomicity.h
+ # Install into the staging dir
+ oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ install_dev install_runtime
# Install into the staging dir
oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
- install_dev install_runtime install_utils
+ install_utils
# We don't really need this
rm -f ${UCLIBC_STAGE_PREFIX}/include/.cvsignore
@@ -188,11 +172,11 @@ do_stage() {
}
do_install() {
- # Install into the cross dir (this MUST be done first because we
+ # This MUST be done first because we
# will install crt1.o in the install_dev stage and gcc needs it)
- oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_PREFIX}/ \
- RUNTIME_PREFIX=${UCLIBC_PREFIX}/ \
- install_dev install_runtime
+ oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ install_dev install_runtime
oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
install_dev install_runtime
diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb
index 9ec20d61de..484477c084 100644
--- a/packages/uclibc/uclibc_0.9.29.bb
+++ b/packages/uclibc/uclibc_0.9.29.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.29"
-PR = "r8"
+PR = "r9"
require uclibc.inc
@@ -17,6 +17,8 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \
file://errno_values.h.patch;patch=1 \
file://termios.h.patch;patch=1 \
file://uClibc-0.9.29-001-fix-mmap.patch;patch=1 \
+ file://uClibc-0.9.29-002-atmel.1.patch;patch=1 \
+ file://uClibc-0.9.29-avr32-fix-sa_onstack.patch;patch=1 \
file://uClibc-0.9.29-conditional-sched_affinity.patch;patch=1 \
file://uClibc-0.9.29-fix-gethostent_r-failure-retval.patch;patch=1 \
file://uClibc-0.9.29-fix-internal_function-definition.patch;patch=1 \
diff --git a/packages/udev/files/network.sh b/packages/udev/files/network.sh
index 5016328df4..182c26d86a 100644
--- a/packages/udev/files/network.sh
+++ b/packages/udev/files/network.sh
@@ -1,5 +1,8 @@
#!/bin/sh
+# udevd does clearenv(). Export shell PATH to children.
+export PATH
+
# Do not run when pcmcia-cs is installed
test -x /sbin/cardctl && exit 0
diff --git a/packages/udev/udev-118/init b/packages/udev/udev-118/init
index 73c655a0ee..a6b8fa174f 100644
--- a/packages/udev/udev-118/init
+++ b/packages/udev/udev-118/init
@@ -30,7 +30,7 @@ mount_tmpfs() {
# directory which is guaranteed to be available.
mount -n -o bind /dev /etc/udev
- if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
+ if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs udev /dev; then
umount /etc/udev
echo "udev requires tmpfs support, not started."
exit 1
@@ -55,6 +55,7 @@ mount_tmpfs() {
# I hate this hack. -- Md
make_extra_nodes() {
+ mknod -m 666 /dev/null c 1 3
if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then
cp -a /lib/udev/devices/* /dev/
fi
@@ -75,18 +76,11 @@ make_extra_nodes() {
supported_kernel() {
case "$(uname -r)" in
2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
- 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
+ 2.6.1[0134]|2.6.1[01234][!0-9]*) return 1 ;;
esac
return 0
}
-set_hotplug_handler() {
- case "$(uname -r)" in
- 2.6.1[0-4]|2.6.1[0-4][!0-9]*) HANDLER='/sbin/udevsend' ;;
- esac
- echo $HANDLER > /proc/sys/kernel/hotplug
-}
-
# shell version of /usr/bin/tty
my_tty() {
[ -x /bin/readlink ] || return 0
@@ -94,24 +88,6 @@ my_tty() {
readlink --silent /proc/self/fd/0 || true
}
-warn_if_interactive() {
- if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
- return
- fi
-
- TTY=$(my_tty)
- if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
- return
- fi
-
- printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
- printf "has been run from an interactive shell.\n"
- printf "It will probably not do what you expect, so this script will wait\n"
- printf "60 seconds before continuing. Press ^C to stop it.\n"
- printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
- sleep 60
-}
-
##############################################################################
PATH="/sbin:/bin:/usr/bin"
@@ -120,13 +96,11 @@ PATH="/sbin:/bin:/usr/bin"
# defaults
tmpfs_size="2M"
-udev_root="/dev"
-udevd_timeout=30
. /etc/udev/udev.conf
if ! supported_kernel; then
- echo "udev requires a kernel >= 2.6.12, not started."
+ echo "udev requires a kernel >= 2.6.15, not started."
exit 1
fi
@@ -145,61 +119,31 @@ if [ ! -d /sys/class/ ]; then
exit 1
fi
-if [ ! -e /proc/sys/kernel/hotplug ]; then
- echo "udev requires hotplug support, not started."
- exit 1
-fi
-
##############################################################################
# When modifying this script, do not forget that between the time that
# the new /dev has been mounted and udevsynthesize has been run there will be
# no /dev/null. This also means that you cannot use the "&" shell command.
-
case "$1" in
start)
- if [ -e "$udev_root/.udev/" ]; then
- if mountpoint -q /dev/; then
- TMPFS_MOUNTED=1
- else
- echo ".udev/ already exists on the static $udev_root!"
- fi
- else
- warn_if_interactive
- fi
+ unmount_devpts
+ mount_tmpfs
+ [ -d /proc/1 ] || mount -n /proc
- echo "Starting the hotplug events dispatcher" "udevd"
- udevd --daemon
-
- set_hotplug_handler
+ # /dev/null must be created before udevd is started
+ make_extra_nodes
- if [ -z "$TMPFS_MOUNTED" ]; then
- unmount_devpts
- mount_tmpfs
- [ -d /proc/1 ] || mount -n /proc
+ # It's all over netlink now
+ if [ -e /proc/sys/kernel/hotplug ]; then
+ echo "" > /proc/sys/kernel/hotplug
fi
- # if this directory is not present /dev will not be updated by udev
- mkdir -p /dev/.udev/ /dev/.udev/db/ /dev/.udev/queue/ /dev/.udevdb/
- # /dev/null must be created before udevd is started
- make_extra_nodes
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
echo "Synthesizing the initial hotplug events"
udevtrigger
-
- # wait for the udevd childs to finish
- echo "Waiting for /dev to be fully populated"
- while [ -d /dev/.udev/queue/ ]; do
- sleep 1
- udevd_timeout=$(($udevd_timeout - 1))
- if [ $udevd_timeout -eq 0 ]; then
- # ps axf
- break
- fi
- done
- if [ $udevd_timeout -eq 0 ]; then
- echo 'timeout'
- fi
+ udevsettle
;;
stop)
diff --git a/packages/udev/udev_118.bb b/packages/udev/udev_118.bb
index a4c12877f5..18479a3d13 100644
--- a/packages/udev/udev_118.bb
+++ b/packages/udev/udev_118.bb
@@ -3,9 +3,9 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
RPROVIDES_${PN} = "hotplug"
-PR = "r0"
+PR = "r2"
-DEFAULT_PREFERENCE = "-115"
+DEFAULT_PREFERENCE = "-118"
SRC_URI = "\
http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
diff --git a/packages/pango/pango-1.16.0/.mtn2git_empty b/packages/uqm/uqm-0.5.0/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/pango/pango-1.16.0/.mtn2git_empty
+++ b/packages/uqm/uqm-0.5.0/.mtn2git_empty
diff --git a/packages/uqm/uqm-0.5.0/build-oe.patch b/packages/uqm/uqm-0.5.0/build-oe.patch
new file mode 100644
index 0000000000..045082a920
--- /dev/null
+++ b/packages/uqm/uqm-0.5.0/build-oe.patch
@@ -0,0 +1,40 @@
+Index: build/unix/config_proginfo_build
+===================================================================
+--- build/unix/config_proginfo_build.orig 2008-02-28 10:00:47.000000000 +0000
++++ build/unix/config_proginfo_build 2008-02-28 10:01:38.000000000 +0000
+@@ -37,9 +37,9 @@
+
+ ### gcc ###
+ PROG_gcc_NAME="GNU C compiler"
+-PROG_gcc_FILE="gcc"
++PROG_gcc_FILE="$CC"
+ PROG_gcc_ACTION=""
+-PROG_gcc_VERSION='$(gcc --version)'
++PROG_gcc_VERSION='$($CC --version)'
+
+
+ ### sed ###
+Index: build/unix/config_proginfo_host
+===================================================================
+--- build/unix/config_proginfo_host.orig 2008-02-28 10:00:47.000000000 +0000
++++ build/unix/config_proginfo_host 2008-02-28 10:03:09.000000000 +0000
+@@ -69,7 +69,7 @@
+ ;;
+ *)
+ LIB_SDL_CFLAGS='$(sdl-config --cflags)'
+- LIB_SDL_LDFLAGS='$(sdl-config --libs)'
++ LIB_SDL_LDFLAGS='$(sdl-config --libs) -lts -lpng -ljpeg -lz'
+ LIB_SDL_VERSION='$(sdl-config --version)'
+ ;;
+ esac
+@@ -170,8 +170,8 @@
+ LIB_vorbisfile_LDFLAGS="-lvorbisfile -lvorbis -logg -lm"
+ ;;
+ *)
+- LIB_vorbisfile_CFLAGS=""
+- LIB_vorbisfile_LDFLAGS="-lvorbisfile -lvorbis"
++ LIB_vorbisfile_CFLAGS="-I$STAGING_INCDIR"
++ LIB_vorbisfile_LDFLAGS="-L$STAGING_LIBDIR -lvorbisfile -lvorbis -logg"
+ ;;
+ esac
+ LIB_vorbisfile_VERSION=""
diff --git a/packages/uqm/uqm_0.3.bb b/packages/uqm/uqm_0.3.bb
index 036e1a9bc1..b5b80ddc58 100644
--- a/packages/uqm/uqm_0.3.bb
+++ b/packages/uqm/uqm_0.3.bb
@@ -16,7 +16,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/sc2/uqm-${PV}-source.tgz \
do_configure() {
install ${WORKDIR}/build-opts.sh ${S}/
- ./build-opts.sh ${STAGING_DIR} ${STAGING_BINDIR} ${STAGING_LIBDIR}
+ ./build-opts.sh ${STAGING_DIR_HOST}${layout_prefix} ${STAGING_BINDIR} ${STAGING_LIBDIR}
}
do_compile() {
diff --git a/packages/uqm/uqm_0.5.0.bb b/packages/uqm/uqm_0.5.0.bb
index 0367137e03..089922a472 100644
--- a/packages/uqm/uqm_0.5.0.bb
+++ b/packages/uqm/uqm_0.5.0.bb
@@ -6,17 +6,18 @@ SECTION = "games"
PRIORITY = "optional"
LICENSE = "GPL"
-PR = "r0"
+PR = "r2"
S = "${WORKDIR}/uqm-${PV}"
SRC_URI = "${SOURCEFORGE_MIRROR}/sc2/uqm-${PV}-source.tar.gz \
file://build-opts.sh \
+ file://build-oe.patch;patch=1;pnum=0 \
"
do_configure() {
install ${WORKDIR}/build-opts.sh ${S}/
- ./build-opts.sh ${STAGING_DIR} ${STAGING_BINDIR} ${STAGING_LIBDIR}
+ ./build-opts.sh ${STAGING_DIR_HOST}${layout_prefix} ${STAGING_BINDIR} ${STAGING_LIBDIR}
}
do_compile() {
diff --git a/packages/util-linux-ng/util-linux-ng.inc b/packages/util-linux-ng/util-linux-ng.inc
index c01458d626..fa02f35356 100644
--- a/packages/util-linux-ng/util-linux-ng.inc
+++ b/packages/util-linux-ng/util-linux-ng.inc
@@ -9,7 +9,8 @@ inherit autotools
# @todo Remove $RC later. See if patches are needed. Move files from /usr/*.
# -- Leon 'likewise' Woestenberg
-RC="-rc2"
+#RC="-rc2"
+RC=""
DEFAULT_PREFERENCE = "-1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v2.13/util-linux-ng-${PV}${RC}.tar.bz2"
diff --git a/packages/vim/gvim_7.0.bb b/packages/vim/gvim_7.0.bb
index 3547c89d47..78a0c54f9d 100644
--- a/packages/vim/gvim_7.0.bb
+++ b/packages/vim/gvim_7.0.bb
@@ -2,7 +2,7 @@ VIMVER = "70"
require vim.inc
-DEPENDS += "gtk+"
+DEPENDS += "gtk+ xt"
PR = "r1"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/vim-7.0', '${FILE_DIRNAME}/vim', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
diff --git a/packages/vnc/fbvncserver2_cvs.bb b/packages/vnc/fbvncserver2_cvs.bb
new file mode 100644
index 0000000000..29ce53274b
--- /dev/null
+++ b/packages/vnc/fbvncserver2_cvs.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A Framebuffer VNC Server for PDA"
+AUTHOR = "Patrik Gfeller <gfellerpatrik@gmx.net>"
+HOMEPAGE = "http://fbvncserver.sourceforge.net/"
+SECTION = "console/utils"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS = "libvncserver jpeg zlib gmp tslib"
+RRECOMMENDS = "kernel-modules-uinput kernel-module-keybdev"
+RCONFLICTS = "fbvncserver, fbvncserver-kmodule"
+PV = "0.0.0+cvs${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "cvs://anonymous@fbvncserver.cvs.sourceforge.net/cvsroot/fbvncserver;method=pserver;module=ipkg"
+S = "${WORKDIR}/ipkg/src/"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-debug"
+
+FILES_${PN} += "${datadir}"
+
diff --git a/packages/wireshark/tshark_0.99.4.bb b/packages/wireshark/tshark_0.99.4.bb
new file mode 100644
index 0000000000..7338efdda7
--- /dev/null
+++ b/packages/wireshark/tshark_0.99.4.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "tshark is the text based verion of wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.ethereal.com"
+SECTION = "network"
+LICENSE = "GPL"
+DEPENDS = "perl-native gnutls libpcap pcre expat"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/wireshark/wireshark-${PV}.tar.bz2 \
+ file://use-our-lemon.patch;patch=1 \
+ file://no-host-includes.patch;patch=1"
+
+S=${WORKDIR}/wireshark-${PV}
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-wireshark"
+
+do_compile_prepend() {
+ ${BUILD_CC} ${BUILD_CFLAGS} -o rdps rdps.c
+ oe_runmake -C tools/lemon CC="${BUILD_CC} ${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}"
+}
+
diff --git a/packages/wlan-ng/wlan-ng-modules_0.2.1-pre26.bb b/packages/wlan-ng/wlan-ng-modules_0.2.1-pre26.bb
index 60b29999ef..d9597febe4 100644
--- a/packages/wlan-ng/wlan-ng-modules_0.2.1-pre26.bb
+++ b/packages/wlan-ng/wlan-ng-modules_0.2.1-pre26.bb
@@ -6,7 +6,7 @@ RRECOMMENDS = "wlan-ng-utils"
LICENSE = "GPL"
PR = "r2"
-SRC_URI = "ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-${PV}.tar.bz2 \
+SRC_URI = "ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/older/linux-wlan-ng-${PV}.tar.bz2 \
file://no-compat.patch;patch=1 \
file://only-the-modules.patch;patch=1 \
file://config.in"
diff --git a/packages/wxbase/.mtn2git_empty b/packages/wxbase/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/wxbase/.mtn2git_empty
+++ /dev/null
diff --git a/packages/wxbase/wxbase_2.6.2.bb b/packages/wxwidgets/wxbase_2.6.2.bb
index 07d9199ae1..07d9199ae1 100644
--- a/packages/wxbase/wxbase_2.6.2.bb
+++ b/packages/wxwidgets/wxbase_2.6.2.bb
diff --git a/packages/wxbase/wxbase_2.7+cvs.bb b/packages/wxwidgets/wxbase_2.7+cvs.bb
index 772ea4e27f..772ea4e27f 100644
--- a/packages/wxbase/wxbase_2.7+cvs.bb
+++ b/packages/wxwidgets/wxbase_2.7+cvs.bb
diff --git a/packages/xmms-embedded/xmms-embedded_20040327.bb b/packages/xmms-embedded/xmms-embedded_20040327.bb
index c525f6299c..4d5ea6a12b 100644
--- a/packages/xmms-embedded/xmms-embedded_20040327.bb
+++ b/packages/xmms-embedded/xmms-embedded_20040327.bb
@@ -31,7 +31,7 @@ do_configure_prepend() {
}
do_compile() {
- oe_runmake "STAGING_DIR=${STAGING_DIR}/${HOST_SYS}"
+ oe_runmake "STAGING_DIR=${STAGING_EXECPREFIXDIR}"
}
do_install() {
diff --git a/packages/xorg-app/mkbold-mkitalic-native_0.11.bb b/packages/xorg-app/mkbold-mkitalic-native_0.11.bb
index 40082ec816..24ff14e01a 100644
--- a/packages/xorg-app/mkbold-mkitalic-native_0.11.bb
+++ b/packages/xorg-app/mkbold-mkitalic-native_0.11.bb
@@ -12,10 +12,10 @@ S = "${WORKDIR}/mkbold-mkitalic-${PV}"
inherit native
do_stage() {
- install -d ${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}/bin
- install -m 755 mkbold ${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}/bin/
- install -m 755 mkitalic ${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}/bin/
- install -m 755 mkbolditalic ${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}/bin/
- install -m 755 ${WORKDIR}/makebifonts ${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}/bin/
+ install -d ${STAGING_BINDIR_NATIVE}
+ install -m 755 mkbold ${STAGING_BINDIR_NATIVE}/
+ install -m 755 mkitalic ${STAGING_BINDIR_NATIVE}/
+ install -m 755 mkbolditalic ${STAGING_BINDIR_NATIVE}/
+ install -m 755 ${WORKDIR}/makebifonts ${STAGING_BINDIR_NATIVE}/
}
diff --git a/packages/xorg-lib/diet-x11/.mtn2git_empty b/packages/xorg-lib/diet-x11/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/diet-x11/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/diet-x11/autofoo.patch b/packages/xorg-lib/diet-x11/autofoo.patch
deleted file mode 100644
index 8bdba09768..0000000000
--- a/packages/xorg-lib/diet-x11/autofoo.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- libX11-6.2.1/configure.ac~autofoo
-+++ libX11-6.2.1/configure.ac
-@@ -7,12 +7,12 @@
- [jg@freedesktop.org],
- libX11)
- AC_CONFIG_SRCDIR([Makefile.am])
--AM_INIT_AUTOMAKE([dist-bzip2])
-+AC_CONFIG_AUX_DIR(.)
-
-+AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER([src/config.h])
--AC_CONFIG_AUX_DIR(.)
-
- # Checks for programs.
- AC_PROG_LIBTOOL
diff --git a/packages/xorg-lib/diet-x11/makekeys.diff b/packages/xorg-lib/diet-x11/makekeys.diff
deleted file mode 100644
index cea08725ec..0000000000
--- a/packages/xorg-lib/diet-x11/makekeys.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru libX11-X11R7.1-1.0.1.org/src/util/makekeys.c libX11-X11R7.1-1.0.1/src/util/makekeys.c
---- libX11-X11R7.1-1.0.1.org/src/util/makekeys.c 2007-03-08 14:34:34.000000000 +0100
-+++ libX11-X11R7.1-1.0.1/src/util/makekeys.c 2007-03-08 14:34:58.000000000 +0100
-@@ -49,7 +49,7 @@
- KeySym val;
- } info[KTNUM];
-
--#define MIN_REHASH 10
-+#define MIN_REHASH 15
- #define MATCHES 10
-
- char tab[KTNUM];
diff --git a/packages/xorg-lib/diet-x11_1.1.1.bb b/packages/xorg-lib/diet-x11_1.1.1.bb
index 8dc3174a16..4219b0c997 100644
--- a/packages/xorg-lib/diet-x11_1.1.1.bb
+++ b/packages/xorg-lib/diet-x11_1.1.1.bb
@@ -4,6 +4,8 @@ require libx11_${PV}.bb
EXTRA_OECONF += "--disable-udc --enable-xcms --disable-xlocale --disable-xkb"
CFLAGS += "-D_GNU_SOURCE"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
+
SRC_URI += "file://X18NCMSstubs.diff;patch=1 \
file://fix-disable-xlocale.diff;patch=1 \
file://fix-utf8-wrong-define.patch;patch=1 \
diff --git a/packages/xorg-lib/diet-x11_1.1.2.bb b/packages/xorg-lib/diet-x11_1.1.2.bb
index f032987b88..2dbd458ec7 100644
--- a/packages/xorg-lib/diet-x11_1.1.2.bb
+++ b/packages/xorg-lib/diet-x11_1.1.2.bb
@@ -4,5 +4,7 @@ SRC_URI += "file://X18NCMSstubs.diff;patch=1 \
file://fix-disable-xlocale.diff;patch=1 \
file://fix-utf8-wrong-define.patch;patch=1"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
+
EXTRA_OECONF += "--disable-udc --disable-xcms --disable-xlocale --disable-xkb"
CFLAGS += "-D_GNU_SOURCE"
diff --git a/packages/xorg-lib/diet-x11_1.1.3.bb b/packages/xorg-lib/diet-x11_1.1.3.bb
index f032987b88..2dbd458ec7 100644
--- a/packages/xorg-lib/diet-x11_1.1.3.bb
+++ b/packages/xorg-lib/diet-x11_1.1.3.bb
@@ -4,5 +4,7 @@ SRC_URI += "file://X18NCMSstubs.diff;patch=1 \
file://fix-disable-xlocale.diff;patch=1 \
file://fix-utf8-wrong-define.patch;patch=1"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
+
EXTRA_OECONF += "--disable-udc --disable-xcms --disable-xlocale --disable-xkb"
CFLAGS += "-D_GNU_SOURCE"
diff --git a/packages/xorg-lib/files/.mtn2git_empty b/packages/xorg-lib/files/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/files/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/files/errordb-keysymdb-path-fix.patch b/packages/xorg-lib/files/errordb-keysymdb-path-fix.patch
deleted file mode 100644
index f43d38065e..0000000000
--- a/packages/xorg-lib/files/errordb-keysymdb-path-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- X11/src/ErrDes.c.orig 2005-09-03 16:15:48 +0200
-+++ X11/src/ErrDes.c 2005-09-03 16:16:03 +0200
-@@ -56,7 +56,7 @@
- #include <stdio.h>
-
- #ifndef ERRORDB
--#define ERRORDB "/usr/lib/X11/XErrorDB"
-+#define ERRORDB "/usr/share/X11/XErrorDB"
- #endif
-
- /*
---- X11/src/StrKeysym.c.orig 2005-09-03 16:41:18 +0200
-+++ X11/src/StrKeysym.c 2005-09-03 16:41:33 +0200
-@@ -36,7 +36,7 @@
- #include "Key.h"
-
- #ifndef KEYSYMDB
--#define KEYSYMDB "/usr/lib/X11/XKeysymDB"
-+#define KEYSYMDB "/usr/share/X11/XKeysymDB"
- #endif
-
- static Bool initialized;
diff --git a/packages/xorg-lib/files/fix-utf8-wrong-define.patch b/packages/xorg-lib/files/fix-utf8-wrong-define.patch
deleted file mode 100644
index dca88fba92..0000000000
--- a/packages/xorg-lib/files/fix-utf8-wrong-define.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- libX11-6.2.1/include/X11/Xlib.h~fix-utf8-wrong-define
-+++ libX11-6.2.1/include/X11/Xlib.h
-@@ -100,7 +100,7 @@
-
- /* 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
-+#undef X_HAVE_UTF8_STRING
-
- typedef char *XPointer;
-
diff --git a/packages/xorg-lib/libice/.mtn2git_empty b/packages/xorg-lib/libice/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libice/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libice/autofoo.patch b/packages/xorg-lib/libice/autofoo.patch
deleted file mode 100644
index 8ab0585fb8..0000000000
--- a/packages/xorg-lib/libice/autofoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libICE-6.3.3/configure.ac~autofoo 2004-05-11 01:50:07.000000000 -0400
-+++ libICE-6.3.3/configure.ac 2005-01-18 02:30:07.463895544 -0500
-@@ -8,12 +8,12 @@
- libICE)
-
- AC_CONFIG_SRCDIR([Makefile.am])
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
-
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER([config.h])
--AC_CONFIG_AUX_DIR(.)
-
- # Checks for programs.
- AC_PROG_LIBTOOL
diff --git a/packages/xorg-lib/liblbxutil/mkg3states-1.0.0.patch b/packages/xorg-lib/liblbxutil/mkg3states-1.0.0.patch
deleted file mode 100644
index afa34712e2..0000000000
--- a/packages/xorg-lib/liblbxutil/mkg3states-1.0.0.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ruN liblbxutil-X11R7.0-1.0.0_orig/configure.ac liblbxutil-X11R7.0-1.0.0/configure.ac
---- liblbxutil-X11R7.0-1.0.0_orig/configure.ac 2005-12-15 00:24:36.000000000 +0000
-+++ liblbxutil-X11R7.0-1.0.0/configure.ac 2006-08-21 18:32:04.000000000 +0000
-@@ -60,4 +60,5 @@
-
- AC_OUTPUT([Makefile
- src/Makefile
-+ src/image/Makefile
- lbxutil.pc])
-diff -ruN liblbxutil-X11R7.0-1.0.0_orig/src/Makefile.am liblbxutil-X11R7.0-1.0.0/src/Makefile.am
---- liblbxutil-X11R7.0-1.0.0_orig/src/Makefile.am 2005-10-16 02:07:10.000000000 +0000
-+++ liblbxutil-X11R7.0-1.0.0/src/Makefile.am 2006-08-21 18:32:04.000000000 +0000
-@@ -1,9 +1,6 @@
- lib_LTLIBRARIES = liblbxutil.la
-
--noinst_PROGRAMS = mkg3states
--
--mkg3states_SOURCES = \
-- $(srcdir)/image/mkg3states.c
-+SUBDIRS = image
-
- liblbxutil_la_SOURCES = \
- $(srcdir)/lbx_zlib/reqstats.h \
-@@ -28,9 +25,8 @@
-
- $(srcdir)/image/dfaxg42d.c: g3states.h
-
--g3states.h: mkg3states
-- -rm -f g3states.h
-- ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
-+g3states.h: image/mkg3states
-+ ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
-
- liblbxutil_la_LDFLAGS = -version-number 1:0:0
-
-diff -ruN liblbxutil-X11R7.0-1.0.0_orig/src/image/Makefile.am liblbxutil-X11R7.0-1.0.0/src/image/Makefile.am
---- liblbxutil-X11R7.0-1.0.0_orig/src/image/Makefile.am 1970-01-01 00:00:00.000000000 +0000
-+++ liblbxutil-X11R7.0-1.0.0/src/image/Makefile.am 2006-08-21 18:32:04.000000000 +0000
-@@ -0,0 +1,15 @@
-+# evil hack
-+CFLAGS=$(CFLAGS_FOR_BUILD)
-+CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+
-+CC=$(CC_FOR_BUILD)
-+LIBTOOL = @LIBTOOL@ --tag=CC
-+
-+noinst_PROGRAMS = mkg3states
-+
-+mkg3states_SOURCES = \
-+ mkg3states.c
-+
-+mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD)
-+mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD)
diff --git a/packages/xorg-lib/libsm/.mtn2git_empty b/packages/xorg-lib/libsm/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libsm/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libsm/autofoo.patch b/packages/xorg-lib/libsm/autofoo.patch
deleted file mode 100644
index 8cb204a66e..0000000000
--- a/packages/xorg-lib/libsm/autofoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libSM-6.0.3/configure.ac~autofoo 2004-05-11 01:51:21.000000000 -0400
-+++ libSM-6.0.3/configure.ac 2005-01-18 12:15:50.405356376 -0500
-@@ -8,12 +8,12 @@
- libSM)
-
- AC_CONFIG_SRCDIR([Makefile.am])
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
-
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER([config.h])
--AC_CONFIG_AUX_DIR(.)
-
- # Checks for programs.
- AC_PROG_LIBTOOL
diff --git a/packages/xorg-lib/diet-x11/X18NCMSstubs.diff b/packages/xorg-lib/libx11/X18NCMSstubs.diff
index 54b1727a95..54b1727a95 100644
--- a/packages/xorg-lib/diet-x11/X18NCMSstubs.diff
+++ b/packages/xorg-lib/libx11/X18NCMSstubs.diff
diff --git a/packages/xorg-lib/libx11/autofoo.patch b/packages/xorg-lib/libx11/autofoo.patch
deleted file mode 100644
index 8bdba09768..0000000000
--- a/packages/xorg-lib/libx11/autofoo.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- libX11-6.2.1/configure.ac~autofoo
-+++ libX11-6.2.1/configure.ac
-@@ -7,12 +7,12 @@
- [jg@freedesktop.org],
- libX11)
- AC_CONFIG_SRCDIR([Makefile.am])
--AM_INIT_AUTOMAKE([dist-bzip2])
-+AC_CONFIG_AUX_DIR(.)
-
-+AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER([src/config.h])
--AC_CONFIG_AUX_DIR(.)
-
- # Checks for programs.
- AC_PROG_LIBTOOL
diff --git a/packages/xorg-lib/diet-x11/fix-disable-xlocale.diff b/packages/xorg-lib/libx11/fix-disable-xlocale.diff
index 9dbf6dac68..9dbf6dac68 100644
--- a/packages/xorg-lib/diet-x11/fix-disable-xlocale.diff
+++ b/packages/xorg-lib/libx11/fix-disable-xlocale.diff
diff --git a/packages/xorg-lib/diet-x11/fix-utf8-wrong-define.patch b/packages/xorg-lib/libx11/fix-utf8-wrong-define.patch
index a098db1941..a098db1941 100644
--- a/packages/xorg-lib/diet-x11/fix-utf8-wrong-define.patch
+++ b/packages/xorg-lib/libx11/fix-utf8-wrong-define.patch
diff --git a/packages/xorg-lib/files/ruutf8.patch b/packages/xorg-lib/libx11/ruutf8.patch
index 0822b30cb8..0822b30cb8 100644
--- a/packages/xorg-lib/files/ruutf8.patch
+++ b/packages/xorg-lib/libx11/ruutf8.patch
diff --git a/packages/xorg-lib/diet-x11/xchar2b.patch b/packages/xorg-lib/libx11/xchar2b.patch
index 31da58fa5c..31da58fa5c 100644
--- a/packages/xorg-lib/diet-x11/xchar2b.patch
+++ b/packages/xorg-lib/libx11/xchar2b.patch
diff --git a/packages/xorg-lib/diet-x11/xim.patch b/packages/xorg-lib/libx11/xim.patch
index 0eab197a80..0eab197a80 100644
--- a/packages/xorg-lib/diet-x11/xim.patch
+++ b/packages/xorg-lib/libx11/xim.patch
diff --git a/packages/xorg-lib/libx11_1.1.1.bb b/packages/xorg-lib/libx11_1.1.1.bb
index 7ac5b58345..5b1e304d51 100644
--- a/packages/xorg-lib/libx11_1.1.1.bb
+++ b/packages/xorg-lib/libx11_1.1.1.bb
@@ -1,23 +1,18 @@
require xorg-lib-common.inc
PE = "1"
-PR = "r4"
+PR = "r5"
DESCRIPTION = "Base X libs."
-
DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \
- libxcb libxdmcp xf86bigfontproto kbproto inputproto"
+ libxdmcp xf86bigfontproto kbproto inputproto"
PROVIDES = "virtual/libx11"
XORG_PN = "libX11"
-PACKAGES =+ "libx11-xcb"
+EXTRA_OECONF += "--without-xcb"
SRC_URI += " file://ruutf8.patch;patch=1"
-FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt"
-FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
-FILES_${PN}-xcb = "${libdir}/libX11-xcb.so.*"
-
do_compile() {
(
unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS
@@ -27,3 +22,5 @@ do_compile() {
oe_runmake
}
+FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt"
+FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
diff --git a/packages/xorg-lib/libxau/.mtn2git_empty b/packages/xorg-lib/libxau/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxau/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxau/autofoo.patch b/packages/xorg-lib/libxau/autofoo.patch
deleted file mode 100644
index 1e42eb974d..0000000000
--- a/packages/xorg-lib/libxau/autofoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- libXau-0.1.1/configure.ac~autofoo
-+++ libXau-0.1.1/configure.ac
-@@ -25,11 +25,10 @@
-
- AC_PREREQ([2.57])
- AC_INIT(libXau, [0.1.1], [keithp@keithp.com],libXau)
--AM_INIT_AUTOMAKE([dist-bzip2])
--AM_MAINTAINER_MODE
--
- AM_CONFIG_HEADER(config.h)
- AC_CONFIG_AUX_DIR(.)
-+AM_INIT_AUTOMAKE([dist-bzip2])
-+AM_MAINTAINER_MODE
-
- AC_PROG_CC
- AC_PROG_INSTALL
diff --git a/packages/xorg-lib/libxaw/.mtn2git_empty b/packages/xorg-lib/libxaw/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxaw/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxaw/auxdir.patch b/packages/xorg-lib/libxaw/auxdir.patch
deleted file mode 100644
index 4226ab6a4d..0000000000
--- a/packages/xorg-lib/libxaw/auxdir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- /tmp/configure.ac 2005-06-17 21:26:17.519157272 +0200
-+++ libXaw-7.0.2/configure.ac 2005-06-17 21:26:34.832525240 +0200
-@@ -10,7 +10,6 @@
- AM_INIT_AUTOMAKE([dist-bzip2])
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxcalibrate/.mtn2git_empty b/packages/xorg-lib/libxcalibrate/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxcalibrate/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxcalibrate/coords.patch b/packages/xorg-lib/libxcalibrate/coords.patch
deleted file mode 100644
index 19cf1639f6..0000000000
--- a/packages/xorg-lib/libxcalibrate/coords.patch
+++ /dev/null
@@ -1,50 +0,0 @@
----
- xcalibrate.c | 26 ++++++++++++++++++++++++++
- xcalibrate.h | 2 ++
- 2 files changed, 28 insertions(+)
-
-Index: XCalibrate/xcalibrate.c
-===================================================================
---- XCalibrate.orig/xcalibrate.c 2007-06-30 14:12:22.000000000 +0100
-+++ XCalibrate/xcalibrate.c 2007-06-30 14:18:10.000000000 +0100
-@@ -227,3 +227,29 @@ XCalibrateSetRawMode (Display *dpy, Bool
- SyncHandle ();
- return 0;
- }
-+
-+Status
-+XCalibrateScreenToCoord (Display *dpy, int *x, int *y)
-+{
-+ XExtDisplayInfo *info = XCalibrateFindDisplay (dpy);
-+ xXCalibrateScreenToCoordReq *req;
-+ xXCalibrateScreenToCoordReply rep;
-+ LockDisplay (dpy);
-+ GetReq (XCalibrateScreenToCoord, req);
-+ req->reqType = info->codes->major_opcode;
-+ req->xCalibrateReqType = X_XCalibrateScreenToCoord;
-+ req->x = *x;
-+ req->y = *y;
-+ if (!_XReply (dpy, (xReply *) &rep, 0, xFalse))
-+ {
-+ UnlockDisplay (dpy);
-+ SyncHandle ();
-+ return 1;
-+ }
-+ *x = rep.x;
-+ *y = rep.y;
-+ UnlockDisplay (dpy);
-+ SyncHandle ();
-+ return 0;
-+}
-+
-Index: XCalibrate/xcalibrate.h
-===================================================================
---- XCalibrate.orig/xcalibrate.h 2007-06-30 14:16:16.000000000 +0100
-+++ XCalibrate/xcalibrate.h 2007-06-30 14:16:38.000000000 +0100
-@@ -43,4 +43,6 @@ Status XCalibrateQueryVersion (Display *
-
- Status XCalibrateSetRawMode (Display *dpy, Bool enable);
-
-+Status XCalibrateScreenToCoord (Display *dpy, int *x, int *y);
-+
- #endif
diff --git a/packages/xorg-lib/libxcalibrate_git.bb b/packages/xorg-lib/libxcalibrate_git.bb
index 99f11e40fd..24b4a1f067 100644
--- a/packages/xorg-lib/libxcalibrate_git.bb
+++ b/packages/xorg-lib/libxcalibrate_git.bb
@@ -3,11 +3,9 @@ require xorg-lib-common.inc
DESCRIPTION = " Touchscreen calibration client library"
LICENSE = "BSD-X"
DEPENDS = "virtual/libx11 calibrateproto libxext"
-PV = "0.0+git${SRCDATE}"
-PR = "r2"
+PV = "0.0+git${SRCREV}"
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git;tag=4be232e30cd33a44a1ce6d3ec429ee6101540c62 \
- file://coords.patch;patch=1"
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libXCalibrate;protocol=git"
S = "${WORKDIR}/git"
diff --git a/packages/xorg-lib/libxcomposite-1.0.1/.mtn2git_empty b/packages/xorg-lib/libxcomposite-1.0.1/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxcomposite-1.0.1/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxcomposite-1.0.1/autofoo.patch b/packages/xorg-lib/libxcomposite-1.0.1/autofoo.patch
deleted file mode 100644
index 072cf25214..0000000000
--- a/packages/xorg-lib/libxcomposite-1.0.1/autofoo.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: libXcomposite-1.0.1/configure.ac
-===================================================================
---- libXcomposite-1.0.1.orig/configure.ac 2004-01-15 03:59:12.000000000 -0500
-+++ libXcomposite-1.0.1/configure.ac 2005-01-18 17:05:25.573929256 -0500
-@@ -33,11 +33,11 @@
- dnl protocol, so Xfixes version l.n.m corresponds to protocol version l.n
- dnl
- AC_INIT(libXcomposite, 1.0.1, [keithp@keithp.com], libXcomposite)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxcursor-1.1.2/.mtn2git_empty b/packages/xorg-lib/libxcursor-1.1.2/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxcursor-1.1.2/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxcursor-1.1.2/autofoo.patch b/packages/xorg-lib/libxcursor-1.1.2/autofoo.patch
deleted file mode 100644
index 99cd45a7ea..0000000000
--- a/packages/xorg-lib/libxcursor-1.1.2/autofoo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libXcursor-1.1.2/configure.ac~autofoo 2004-01-16 23:38:26.000000000 -0500
-+++ libXcursor-1.1.2/configure.ac 2005-01-18 13:40:06.539707120 -0500
-@@ -31,11 +31,11 @@
- dnl not possible to extract the version number here from Xcursor.h
- dnl
- AC_INIT([libXcursor],1.1.2,[keithp@keithp.com],[libXcursor])
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AC_CONFIG_SRCDIR([Makefile.am])
- AM_MAINTAINER_MODE
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- dnl libtool versioning
-
diff --git a/packages/xorg-lib/libxcursor/.mtn2git_empty b/packages/xorg-lib/libxcursor/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxcursor/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxcursor/autofoo.patch b/packages/xorg-lib/libxcursor/autofoo.patch
deleted file mode 100644
index 7aa573ce13..0000000000
--- a/packages/xorg-lib/libxcursor/autofoo.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
-Index: Xcursor/configure.ac
-===================================================================
---- Xcursor.orig/configure.ac 2004-04-12 10:11:12.000000000 -0400
-+++ Xcursor/configure.ac 2005-01-18 16:04:36.860617992 -0500
-@@ -31,11 +31,11 @@
- dnl not possible to extract the version number here from Xcursor.h
- dnl
- AC_INIT([libXcursor],1.1.3,[keithp@keithp.com],[libXcursor])
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AC_CONFIG_SRCDIR([Makefile.am])
- AM_MAINTAINER_MODE
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- dnl libtool versioning
-
diff --git a/packages/xorg-lib/libxdamage-1.0.1/.mtn2git_empty b/packages/xorg-lib/libxdamage-1.0.1/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxdamage-1.0.1/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxdamage-1.0.1/autofoo.patch b/packages/xorg-lib/libxdamage-1.0.1/autofoo.patch
deleted file mode 100644
index 1e3ec45d4a..0000000000
--- a/packages/xorg-lib/libxdamage-1.0.1/autofoo.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: libXdamage-1.0.1/configure.ac
-===================================================================
---- libXdamage-1.0.1.orig/configure.ac 2004-01-15 03:54:55.000000000 -0500
-+++ libXdamage-1.0.1/configure.ac 2005-01-18 19:07:16.951430928 -0500
-@@ -33,11 +33,11 @@
- dnl protocol, so Xfixes version l.n.m corresponds to protocol version l.n
- dnl
- AC_INIT(libXdamage, 1.0.1, [keithp@keithp.com], libXdamage)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxdamage/.mtn2git_empty b/packages/xorg-lib/libxdamage/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxdamage/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxdamage/m4.patch b/packages/xorg-lib/libxdamage/m4.patch
deleted file mode 100644
index 393f3d13d2..0000000000
--- a/packages/xorg-lib/libxdamage/m4.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- /dev/null
-+++ Xdamage/m4/pkg.m4
-@@ -0,0 +1,57 @@
-+
-+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
-+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
-+dnl also defines GSTUFF_PKG_ERRORS on error
-+AC_DEFUN(PKG_CHECK_MODULES, [
-+ succeeded=no
-+
-+ if test -z "$PKG_CONFIG"; then
-+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-+ fi
-+
-+ if test "$PKG_CONFIG" = "no" ; then
-+ echo "*** The pkg-config script could not be found. Make sure it is"
-+ echo "*** in your path, or set the PKG_CONFIG environment variable"
-+ echo "*** to the full path to pkg-config."
-+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
-+ else
-+ PKG_CONFIG_MIN_VERSION=0.9.0
-+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-+ AC_MSG_CHECKING(for $2)
-+
-+ if $PKG_CONFIG --exists "$2" ; then
-+ AC_MSG_RESULT(yes)
-+ succeeded=yes
-+
-+ AC_MSG_CHECKING($1_CFLAGS)
-+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
-+ AC_MSG_RESULT($$1_CFLAGS)
-+
-+ AC_MSG_CHECKING($1_LIBS)
-+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
-+ AC_MSG_RESULT($$1_LIBS)
-+ else
-+ $1_CFLAGS=""
-+ $1_LIBS=""
-+ ## If we have a custom action on failure, don't print errors, but
-+ ## do set a variable so people can do so.
-+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
-+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
-+ fi
-+
-+ AC_SUBST($1_CFLAGS)
-+ AC_SUBST($1_LIBS)
-+ else
-+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
-+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
-+ fi
-+ fi
-+
-+ if test $succeeded = yes; then
-+ ifelse([$3], , :, [$3])
-+ else
-+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
-+ fi
-+])
-+
-+
diff --git a/packages/xorg-lib/libxdmcp/.mtn2git_empty b/packages/xorg-lib/libxdmcp/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxdmcp/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxdmcp/autofoo.patch b/packages/xorg-lib/libxdmcp/autofoo.patch
deleted file mode 100644
index ff1a76ad04..0000000000
--- a/packages/xorg-lib/libxdmcp/autofoo.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- libXdmcp-0.1.3/configure.ac~autofoo
-+++ libXdmcp-0.1.3/configure.ac
-@@ -25,12 +25,11 @@
-
- AC_PREREQ([2.57])
- AC_INIT(libXdmcp, [0.1.3], [keithp@keithp.com],libXdmcp)
-+AC_CONFIG_AUX_DIR(.)
-+AC_CONFIG_HEADERS([include/X11/Xdmcpconf.h])
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
--
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
--AC_CONFIG_HEADERS([include/X11/Xdmcpconf.h])
-
- AC_PROG_CC
- AC_PROG_INSTALL
diff --git a/packages/xorg-lib/libxext/.mtn2git_empty b/packages/xorg-lib/libxext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxext/autofoo.patch b/packages/xorg-lib/libxext/autofoo.patch
deleted file mode 100644
index c006884526..0000000000
--- a/packages/xorg-lib/libxext/autofoo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- Xext/configure.ac~autofoo
-+++ Xext/configure.ac
-@@ -8,9 +8,8 @@
- libXext)
-
- AC_CONFIG_SRCDIR([Makefile.am])
--AM_INIT_AUTOMAKE([dist-bzip2])
--
- AC_CONFIG_AUX_DIR(.)
-+AM_INIT_AUTOMAKE([dist-bzip2])
-
- AM_MAINTAINER_MODE
-
diff --git a/packages/xorg-lib/libxfixes/.mtn2git_empty b/packages/xorg-lib/libxfixes/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxfixes/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxfixes/autofoo.patch b/packages/xorg-lib/libxfixes/autofoo.patch
deleted file mode 100644
index 26803cf7f3..0000000000
--- a/packages/xorg-lib/libxfixes/autofoo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libXfixes-2.0.1/configure.ac~autofoo 2004-01-15 03:40:23.000000000 -0500
-+++ libXfixes-2.0.1/configure.ac 2005-01-18 13:35:33.461221360 -0500
-@@ -33,11 +33,11 @@
- dnl protocol, so Xfixes version l.n.m corresponds to protocol version l.n
- dnl
- AC_INIT(libXfixes, 2.0.1, [keithp@keithp.com], libXfixes)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxfont/autofoo.patch b/packages/xorg-lib/libxfont/autofoo.patch
deleted file mode 100644
index 4998625c24..0000000000
--- a/packages/xorg-lib/libxfont/autofoo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libXfont-1.4.2/configure.ac~autofoo 2004-05-06 20:19:03.000000000 -0400
-+++ libXfont-1.4.2/configure.ac 2005-01-16 12:14:14.042598720 -0500
-@@ -35,9 +35,9 @@
- dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
- dnl not possible to extract the version number here from Xfont.h
- dnl
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
- AC_CONFIG_HEADERS([include/X11/fonts/fontconf.h])
-
- # Check for progs
diff --git a/packages/xorg-lib/libxfont/scalable.patch b/packages/xorg-lib/libxfont/scalable.patch
deleted file mode 100644
index 7f97b9a8f6..0000000000
--- a/packages/xorg-lib/libxfont/scalable.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Index: fontfile/fontdir.c
-===================================================================
-RCS file: /cvs/xlibs/Xfont/fontfile/fontdir.c,v
-retrieving revision 3.22
-diff -u -r3.22 fontdir.c
---- xfont/fontfile/fontdir.c 7 Jul 2003 16:40:11 -0000 3.22
-+++ xfont/fontfile/fontdir.c 30 Dec 2004 20:37:12 -0000
-@@ -699,6 +699,11 @@
- */
- if (isscale)
- {
-+ /* If the fontname says it is scalable, make sure that the
-+ * renderer supports OpenScalable and GetInfoScalable.
-+ */
-+ if (renderer->OpenScalable && renderer->GetInfoScalable)
-+ {
- if (vals.values_supplied & SIZE_SPECIFY_MASK)
- {
- bzero((char *)&zeroVals, sizeof(zeroVals));
-@@ -798,6 +803,7 @@
- bitmap->name.name);
- }
- }
-+ }
- }
- return TRUE;
- }
diff --git a/packages/xorg-lib/libxft/.mtn2git_empty b/packages/xorg-lib/libxft/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxft/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxft/autofoo.patch b/packages/xorg-lib/libxft/autofoo.patch
deleted file mode 100644
index 54120aa612..0000000000
--- a/packages/xorg-lib/libxft/autofoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libXft-2.1.6/configure.ac~autofoo 2004-03-22 10:02:59.000000000 -0500
-+++ libXft-2.1.6/configure.ac 2005-01-17 02:08:10.165951760 -0500
-@@ -33,12 +33,12 @@
- dnl Please bump the minor library number at each release as well.
- dnl
- AC_INIT(libXft, 2.1.6, [keithp@keithp.com], libXft)
-+AC_CONFIG_AUX_DIR(.)
-
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # checks for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxi/.mtn2git_empty b/packages/xorg-lib/libxi/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxi/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxi/autofoo.patch b/packages/xorg-lib/libxi/autofoo.patch
deleted file mode 100644
index f1bce9ed7a..0000000000
--- a/packages/xorg-lib/libxi/autofoo.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: libXi-6.0.1/configure.ac
-===================================================================
---- libXi-6.0.1.orig/configure.ac 2003-11-01 04:11:49.000000000 -0500
-+++ libXi-6.0.1/configure.ac 2005-01-20 11:34:06.878357352 -0500
-@@ -8,7 +8,6 @@
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER([config.h])
--AC_CONFIG_AUX_DIR(.)
-
- # Checks for programs.
- AC_PROG_LIBTOOL
diff --git a/packages/xorg-lib/libxpm/.mtn2git_empty b/packages/xorg-lib/libxpm/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxpm/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxpm/autofoo.patch b/packages/xorg-lib/libxpm/autofoo.patch
deleted file mode 100644
index 6b2174bf02..0000000000
--- a/packages/xorg-lib/libxpm/autofoo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: libXpm-3.5.1/configure.ac
-===================================================================
---- libXpm-3.5.1.orig/configure.ac 2004-05-11 02:00:35.000000000 -0400
-+++ libXpm-3.5.1/configure.ac 2005-01-19 18:35:57.187402008 -0500
-@@ -1,12 +1,12 @@
- AC_PREREQ(2.57)
- AC_INIT([libXpm], 3.5.1, [daniel@freedesktop.org], libXpm)
- AC_CONFIG_SRCDIR([Makefile.am])
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
-
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER([lib/config.h])
--AC_CONFIG_AUX_DIR(.)
-
- # Checks for programs.
- AC_PROG_LIBTOOL
diff --git a/packages/xorg-lib/libxrandr-1.0.2/.mtn2git_empty b/packages/xorg-lib/libxrandr-1.0.2/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxrandr-1.0.2/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxrandr-1.0.2/autofoo.patch b/packages/xorg-lib/libxrandr-1.0.2/autofoo.patch
deleted file mode 100644
index 21f6e7fd78..0000000000
--- a/packages/xorg-lib/libxrandr-1.0.2/autofoo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libXrandr-1.0.2/configure.ac~autofoo 2004-01-15 03:23:00.000000000 -0500
-+++ libXrandr-1.0.2/configure.ac 2005-01-16 11:18:35.924069872 -0500
-@@ -33,11 +33,11 @@
- dnl protocol, so Xrandr version l.n.m corresponds to protocol version l.n
- dnl
- AC_INIT(libXrandr, 1.0.2, [keithp@keithp.com], libXrandr)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxrandr/.mtn2git_empty b/packages/xorg-lib/libxrandr/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxrandr/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxrandr/autofoo.patch b/packages/xorg-lib/libxrandr/autofoo.patch
deleted file mode 100644
index 7b1db760f2..0000000000
--- a/packages/xorg-lib/libxrandr/autofoo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- Xrandr/configure.ac~autofoo.patch 2004-07-01 15:01:55.000000000 -0400
-+++ Xrandr/configure.ac 2005-01-16 11:22:09.169651616 -0500
-@@ -33,11 +33,11 @@
- dnl protocol, so Xrandr version l.n.m corresponds to protocol version l.n
- dnl
- AC_INIT(libXrandr, 1.0.2, [keithp@keithp.com], libXrandr)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
---- Xrandr/ChangeLog~autofoo.patch 2004-09-19 04:53:38.000000000 -0400
-+++ Xrandr/ChangeLog 2005-01-16 11:52:29.694889712 -0500
-@@ -1,3 +1,7 @@
-+2005-01-16 Chris Larson <kergoth@handhelds.org>
-+
-+ * configure.ac: Fix to work with automake 1.9.x.
-+
- 2004-09-19 Carlos Romero <kidcrash@freedesktop.org>
-
- * Makefile.am:
diff --git a/packages/xorg-lib/libxrender/.mtn2git_empty b/packages/xorg-lib/libxrender/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxrender/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxrender/autofoo.patch b/packages/xorg-lib/libxrender/autofoo.patch
deleted file mode 100644
index eb21c766f8..0000000000
--- a/packages/xorg-lib/libxrender/autofoo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- libXrender-0.8.4/configure.ac~autofoo
-+++ libXrender-0.8.4/configure.ac
-@@ -33,11 +33,10 @@
- dnl protocol, so Xrender version l.n.m corresponds to protocol version l.n
- dnl
- AC_INIT(libXrender, 0.8.4, [keithp@keithp.com], libXrender)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
--
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-lib/libxt/.mtn2git_empty b/packages/xorg-lib/libxt/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-lib/libxt/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-lib/libxt/autofoo.patch b/packages/xorg-lib/libxt/autofoo.patch
deleted file mode 100644
index ff6dfdbbcc..0000000000
--- a/packages/xorg-lib/libxt/autofoo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- libXt-0.1.5/configure.ac~autofoo 2004-05-06 20:19:04.000000000 -0400
-+++ libXt-0.1.5/configure.ac 2005-01-18 13:10:13.683262728 -0500
-@@ -28,11 +28,11 @@
- dnl
- dnl
- AC_INIT(libXt, 0.1.5, [keithp@keithp.com], libXt)
-+AC_CONFIG_AUX_DIR(.)
- AM_INIT_AUTOMAKE([dist-bzip2])
- AM_MAINTAINER_MODE
-
- AM_CONFIG_HEADER(config.h)
--AC_CONFIG_AUX_DIR(.)
-
- # Check for progs
- AC_PROG_CC
diff --git a/packages/xorg-proto/calibrateproto/.mtn2git_empty b/packages/xorg-proto/calibrateproto/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xorg-proto/calibrateproto/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xorg-proto/calibrateproto/coords.patch b/packages/xorg-proto/calibrateproto/coords.patch
deleted file mode 100644
index 8f44b029c5..0000000000
--- a/packages/xorg-proto/calibrateproto/coords.patch
+++ /dev/null
@@ -1,56 +0,0 @@
----
- xcalibrateproto.h | 25 +++++++++++++++++++++++++
- xcalibratewire.h | 3 ++-
- 2 files changed, 27 insertions(+), 1 deletion(-)
-
-Index: XCalibrateExt/xcalibrateproto.h
-===================================================================
---- XCalibrateExt.orig/xcalibrateproto.h 2004-06-02 20:18:47.000000000 +0100
-+++ XCalibrateExt/xcalibrateproto.h 2007-06-30 14:17:29.000000000 +0100
-@@ -78,6 +78,31 @@ typedef struct {
-
- #define sz_xXCalibrateRawModeReply 32
-
-+typedef struct {
-+ CARD8 reqType;
-+ CARD8 xCalibrateReqType;
-+ CARD16 length B16;
-+ CARD32 x B32;
-+ CARD32 y B32;
-+} xXCalibrateScreenToCoordReq;
-+
-+#define sz_xXCalibrateScreenToCoordReq 12
-+
-+typedef struct {
-+ BYTE type; /* X_Reply */
-+ BYTE pad1;
-+ CARD16 sequenceNumber B16;
-+ CARD32 x;
-+ CARD32 y;
-+ CARD32 pad2 B32;
-+ CARD32 pad3 B32;
-+ CARD32 pad4 B32;
-+ CARD32 pad5 B32;
-+ CARD32 pad6 B32;
-+} xXCalibrateScreenToCoordReply;
-+
-+#define sz_xXCalibrateScreenToCoordReply 32
-+
- /* Events */
-
- typedef struct {
-Index: XCalibrateExt/xcalibratewire.h
-===================================================================
---- XCalibrateExt.orig/xcalibratewire.h 2004-06-02 20:18:47.000000000 +0100
-+++ XCalibrateExt/xcalibratewire.h 2007-06-30 14:17:29.000000000 +0100
-@@ -31,8 +31,9 @@
-
- #define X_XCalibrateQueryVersion 0
- #define X_XCalibrateRawMode 1
-+#define X_XCalibrateScreenToCoord 2
-
--#define XCalibrateNumberRequests (X_XCalibrateSetRawMode + 1)
-+#define XCalibrateNumberRequests (X_XCalibrateScreenToCoord + 1)
-
- #define X_XCalibrateRawTouchscreen 0
-
diff --git a/packages/xorg-proto/calibrateproto_git.bb b/packages/xorg-proto/calibrateproto_git.bb
index 60308601b9..02d20b5038 100644
--- a/packages/xorg-proto/calibrateproto_git.bb
+++ b/packages/xorg-proto/calibrateproto_git.bb
@@ -2,10 +2,8 @@ require xorg-proto-common.inc
DESCRIPTION = "Touchscreen calibration protocol"
-PV = "0.0+git${SRCDATE}"
+PV = "0.0+git${SRCREV}"
PR = "r1"
-SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git;tag=a1d5ef0c73fbef3e758c51b57ac69ba9567bae04 \
- file://coords.patch;patch=1"
-
+SRC_URI = "git://anongit.freedesktop.org/git/xorg/proto/calibrateproto;protocol=git"
S = "${WORKDIR}/git"
diff --git a/packages/xorg-xserver/xserver-kdrive/fix-picturestr-include-order.patch b/packages/xorg-xserver/files/fix-picturestr-include-order.patch
index 3da235e1e1..3da235e1e1 100644
--- a/packages/xorg-xserver/xserver-kdrive/fix-picturestr-include-order.patch
+++ b/packages/xorg-xserver/files/fix-picturestr-include-order.patch
diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/build-glamo.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/build-glamo.patch
deleted file mode 100644
index 208e599ee1..0000000000
--- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/build-glamo.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Index: xorg-server-1.3.0.0/configure.ac
-===================================================================
---- xorg-server-1.3.0.0.orig/configure.ac 2007-11-22 17:40:34.000000000 +0800
-+++ xorg-server-1.3.0.0/configure.ac 2007-11-22 17:59:56.000000000 +0800
-@@ -1576,6 +1576,7 @@
- AM_CONDITIONAL(H3600_TS, false)
- AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
- AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
-+AM_CONDITIONAL(KDRIVEGLAMO, [test x"$ac_cv_header_sys_vm86_h" = xyes -o x"$ac_cv_header_linux_fb_h" = xyes])
-
- # Xephyr needs nanosleep() which is in librt on Solaris
- AC_CHECK_FUNC([nanosleep], [],
-@@ -1824,6 +1825,7 @@
- hw/kdrive/chips/Makefile
- hw/kdrive/ephyr/Makefile
- hw/kdrive/epson/Makefile
-+hw/kdrive/glamo/Makefile
- hw/kdrive/fake/Makefile
- hw/kdrive/fbdev/Makefile
- hw/kdrive/w100/Makefile
-Index: xorg-server-1.3.0.0/hw/kdrive/Makefile.am
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/Makefile.am 2007-11-22 17:40:34.000000000 +0800
-+++ xorg-server-1.3.0.0/hw/kdrive/Makefile.am 2007-11-22 17:54:54.000000000 +0800
-@@ -7,6 +7,10 @@
- FBDEV_SUBDIRS = fbdev epson
- endif
-
-+if KDRIVEGLAMO
-+GLAMO_SUBDIRS = glamo
-+endif
-+
- if KDRIVEW100
- W100_SUBDIRS = w100
- endif
-@@ -30,8 +34,9 @@
- $(FBDEV_SUBDIRS) \
- $(W100_SUBDIRS) \
- $(VESA_SUBDIRS) \
-+ $(GLAMO_SUBDIRS) \
- $(XEPHYR_SUBDIRS) \
- fake
-
- DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
-- smi via fbdev sdl ephyr src linux fake sis300
-+ smi via fbdev sdl ephyr src linux fake sis300 glamo
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/Makefile.am
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/Makefile.am 2007-11-22 17:40:34.000000000 +0800
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/Makefile.am 2007-11-22 17:40:35.000000000 +0800
-@@ -41,11 +41,14 @@
-
- Xglamo_LDADD = \
- $(GLAMO_LIBS) \
-- @KDRIVE_LIBS@
-+ @KDRIVE_LIBS@ \
-+ @XSERVER_LIBS@
-
- Xglamo_DEPENDENCIES = \
- libglamo.a \
-- @KDRIVE_LOCAL_LIBS@
-+ $(FBDEV_LIBS) \
-+ $(VESA_LIBS) \
-+ $(DRI_LIBS)
-
- relink:
- rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_stub.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_stub.c 2007-11-22 17:40:34.000000000 +0800
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_stub.c 2007-11-22 17:40:35.000000000 +0800
-@@ -49,16 +49,10 @@
- void
- InitInput(int argc, char **argv)
- {
-- KdKeyboardInfo *ki;
--
-- KdAddKeyboardDriver(&LinuxKeyboardDriver);
-- KdAddPointerDriver(&LinuxMouseDriver);
--#ifdef TSLIB
-- KdAddPointerDriver(&TsDriver);
-+ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs);
-+#ifdef TOUCHSCREEN
-+ KdAddMouseDriver (&TsFuncs);
- #endif
--
-- ki = KdParseKeyboard("keybd");
-- KdAddKeyboard(ki);
- }
-
- void
diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/smedia-glamo.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/smedia-glamo.patch
deleted file mode 100644
index 4ad3573c95..0000000000
--- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/smedia-glamo.patch
+++ /dev/null
@@ -1,3702 +0,0 @@
-Index: xserver/hw/kdrive/glamo/Makefile.am
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/Makefile.am 2007-09-25 19:32:10.000000000 +0800
-@@ -0,0 +1,51 @@
-+if KDRIVEFBDEV
-+FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev
-+FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a
-+endif
-+
-+if KDRIVEVESA
-+VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa
-+VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a
-+endif
-+
-+INCLUDES = \
-+ @KDRIVE_INCS@ \
-+ $(DRI_INCLUDES) \
-+ $(FBDEV_INCLUDES) \
-+ $(VESA_INCLUDES) \
-+ @KDRIVE_CFLAGS@
-+
-+bin_PROGRAMS = Xglamo
-+
-+noinst_LIBRARIES = libglamo.a
-+
-+libglamo_a_SOURCES = \
-+ glamo_dma.c \
-+ glamo_dma.h \
-+ glamo_draw.c \
-+ glamo_draw.h \
-+ glamo.c \
-+ glamo.h \
-+ glamo-regs.h \
-+ glamo_video.c
-+
-+Xglamo_SOURCES = \
-+ glamo_stub.c
-+
-+GLAMO_LIBS = \
-+ libglamo.a \
-+ $(FBDEV_LIBS) \
-+ $(VESA_LIBS) \
-+ $(DRI_LIBS) \
-+ @KDRIVE_LIBS@
-+
-+Xglamo_LDADD = \
-+ $(GLAMO_LIBS) \
-+ @KDRIVE_LIBS@
-+
-+Xglamo_DEPENDENCIES = \
-+ libglamo.a \
-+ @KDRIVE_LOCAL_LIBS@
-+
-+relink:
-+ rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
-Index: xserver/hw/kdrive/glamo/glamo-regs.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo-regs.h 2007-09-25 19:00:20.000000000 +0800
-@@ -0,0 +1,685 @@
-+#ifndef _GLAMO_REGS_H
-+#define _GLAMO_REGS_H
-+
-+/* Smedia Glamo 336x/337x driver
-+ *
-+ * (C) 2007 by OpenMoko, Inc.
-+ * Author: Harald Welte <laforge@openmoko.org>
-+ * All rights reserved.
-+ *
-+ * 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.
-+ *
-+ * 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.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+enum glamo_regster_offsets {
-+ GLAMO_REGOFS_GENERIC = 0x0000,
-+ GLAMO_REGOFS_HOSTBUS = 0x0200,
-+ GLAMO_REGOFS_MEMORY = 0x0300,
-+ GLAMO_REGOFS_VIDCAP = 0x0400,
-+ GLAMO_REGOFS_ISP = 0x0500,
-+ GLAMO_REGOFS_JPEG = 0x0800,
-+ GLAMO_REGOFS_MPEG = 0x0c00,
-+ GLAMO_REGOFS_LCD = 0x1100,
-+ GLAMO_REGOFS_MMC = 0x1400,
-+ GLAMO_REGOFS_MPROC0 = 0x1500,
-+ GLAMO_REGOFS_MPROC1 = 0x1580,
-+ GLAMO_REGOFS_CMDQUEUE = 0x1600,
-+ GLAMO_REGOFS_RISC = 0x1680,
-+ GLAMO_REGOFS_2D = 0x1700,
-+ GLAMO_REGOFS_3D = 0x1b00,
-+};
-+
-+
-+enum glamo_register_generic {
-+ GLAMO_REG_GCONF1 = 0x0000,
-+ GLAMO_REG_GCONF2 = 0x0002,
-+#define GLAMO_REG_DEVICE_ID GLAMO_REG_GCONF2
-+ GLAMO_REG_GCONF3 = 0x0004,
-+#define GLAMO_REG_REVISION_ID GLAMO_REG_GCONF3
-+ GLAMO_REG_IRQ_GEN1 = 0x0006,
-+#define GLAMO_REG_IRQ_ENABLE GLAMO_REG_IRQ_GEN1
-+ GLAMO_REG_IRQ_GEN2 = 0x0008,
-+#define GLAMO_REG_IRQ_SET GLAMO_REG_IRQ_GEN2
-+ GLAMO_REG_IRQ_GEN3 = 0x000a,
-+#define GLAMO_REG_IRQ_CLEAR GLAMO_REG_IRQ_GEN3
-+ GLAMO_REG_IRQ_GEN4 = 0x000c,
-+#define GLAMO_REG_IRQ_STATUS GLAMO_REG_IRQ_GEN4
-+ GLAMO_REG_CLOCK_HOST = 0x0010,
-+ GLAMO_REG_CLOCK_MEMORY = 0x0012,
-+ GLAMO_REG_CLOCK_LCD = 0x0014,
-+ GLAMO_REG_CLOCK_MMC = 0x0016,
-+ GLAMO_REG_CLOCK_ISP = 0x0018,
-+ GLAMO_REG_CLOCK_JPEG = 0x001a,
-+ GLAMO_REG_CLOCK_3D = 0x001c,
-+ GLAMO_REG_CLOCK_2D = 0x001e,
-+ GLAMO_REG_CLOCK_RISC1 = 0x0020, /* 3365 only? */
-+ GLAMO_REG_CLOCK_RISC2 = 0x0022, /* 3365 only? */
-+ GLAMO_REG_CLOCK_MPEG = 0x0024,
-+ GLAMO_REG_CLOCK_MPROC = 0x0026,
-+
-+ GLAMO_REG_CLOCK_GEN5_1 = 0x0030,
-+ GLAMO_REG_CLOCK_GEN5_2 = 0x0032,
-+ GLAMO_REG_CLOCK_GEN6 = 0x0034,
-+ GLAMO_REG_CLOCK_GEN7 = 0x0036,
-+ GLAMO_REG_CLOCK_GEN8 = 0x0038,
-+ GLAMO_REG_CLOCK_GEN9 = 0x003a,
-+ GLAMO_REG_CLOCK_GEN10 = 0x003c,
-+ GLAMO_REG_CLOCK_GEN11 = 0x003e,
-+ GLAMO_REG_PLL_GEN1 = 0x0040,
-+ GLAMO_REG_PLL_GEN2 = 0x0042,
-+ GLAMO_REG_PLL_GEN3 = 0x0044,
-+ GLAMO_REG_PLL_GEN4 = 0x0046,
-+ GLAMO_REG_PLL_GEN5 = 0x0048,
-+ GLAMO_REG_GPIO_GEN1 = 0x0050,
-+ GLAMO_REG_GPIO_GEN2 = 0x0052,
-+ GLAMO_REG_GPIO_GEN3 = 0x0054,
-+ GLAMO_REG_GPIO_GEN4 = 0x0056,
-+ GLAMO_REG_GPIO_GEN5 = 0x0058,
-+ GLAMO_REG_GPIO_GEN6 = 0x005a,
-+ GLAMO_REG_GPIO_GEN7 = 0x005c,
-+ GLAMO_REG_GPIO_GEN8 = 0x005e,
-+ GLAMO_REG_GPIO_GEN9 = 0x0060,
-+ GLAMO_REG_GPIO_GEN10 = 0x0062,
-+ GLAMO_REG_DFT_GEN1 = 0x0070,
-+ GLAMO_REG_DFT_GEN2 = 0x0072,
-+ GLAMO_REG_DFT_GEN3 = 0x0074,
-+ GLAMO_REG_DFT_GEN4 = 0x0076,
-+
-+ GLAMO_REG_DFT_GEN5 = 0x01e0,
-+ GLAMO_REG_DFT_GEN6 = 0x01f0,
-+};
-+
-+#define GLAMO_REG_HOSTBUS(x) (GLAMO_REGOFS_HOSTBUS-2+(x*2))
-+
-+#define REG_MEM(x) (GLAMO_REGOFS_MEMORY+(x))
-+#define GLAMO_REG_MEM_TIMING(x) (GLAMO_REG_MEM_TIMING1-2+(x*2))
-+
-+enum glamo_register_mem {
-+ GLAMO_REG_MEM_TYPE = REG_MEM(0x00),
-+ GLAMO_REG_MEM_GEN = REG_MEM(0x02),
-+ GLAMO_REG_MEM_TIMING1 = REG_MEM(0x04),
-+ GLAMO_REG_MEM_TIMING2 = REG_MEM(0x06),
-+ GLAMO_REG_MEM_TIMING3 = REG_MEM(0x08),
-+ GLAMO_REG_MEM_TIMING4 = REG_MEM(0x0a),
-+ GLAMO_REG_MEM_TIMING5 = REG_MEM(0x0c),
-+ GLAMO_REG_MEM_TIMING6 = REG_MEM(0x0e),
-+ GLAMO_REG_MEM_TIMING7 = REG_MEM(0x10),
-+ GLAMO_REG_MEM_TIMING8 = REG_MEM(0x12),
-+ GLAMO_REG_MEM_TIMING9 = REG_MEM(0x14),
-+ GLAMO_REG_MEM_TIMING10 = REG_MEM(0x16),
-+ GLAMO_REG_MEM_TIMING11 = REG_MEM(0x18),
-+ GLAMO_REG_MEM_POWER1 = REG_MEM(0x1a),
-+ GLAMO_REG_MEM_POWER2 = REG_MEM(0x1c),
-+ GLAMO_REG_MEM_LCD_BUF1 = REG_MEM(0x1e),
-+ GLAMO_REG_MEM_LCD_BUF2 = REG_MEM(0x20),
-+ GLAMO_REG_MEM_LCD_BUF3 = REG_MEM(0x22),
-+ GLAMO_REG_MEM_LCD_BUF4 = REG_MEM(0x24),
-+ GLAMO_REG_MEM_BIST1 = REG_MEM(0x26),
-+ GLAMO_REG_MEM_BIST2 = REG_MEM(0x28),
-+ GLAMO_REG_MEM_BIST3 = REG_MEM(0x2a),
-+ GLAMO_REG_MEM_BIST4 = REG_MEM(0x2c),
-+ GLAMO_REG_MEM_BIST5 = REG_MEM(0x2e),
-+ GLAMO_REG_MEM_MAH1 = REG_MEM(0x30),
-+ GLAMO_REG_MEM_MAH2 = REG_MEM(0x32),
-+ GLAMO_REG_MEM_DRAM1 = REG_MEM(0x34),
-+ GLAMO_REG_MEM_DRAM2 = REG_MEM(0x36),
-+ GLAMO_REG_MEM_CRC = REG_MEM(0x38),
-+};
-+
-+#define GLAMO_MEM_TYPE_MASK 0x03
-+
-+enum glamo_reg_mem_dram1 {
-+ GLAMO_MEM_DRAM1_EN_SDRAM_CLK = (1 << 11),
-+ GLAMO_MEM_DRAM1_SELF_REFRESH = (1 << 12),
-+};
-+
-+enum glamo_reg_mem_dram2 {
-+ GLAMO_MEM_DRAM2_DEEP_PWRDOWN = (1 << 12),
-+};
-+
-+enum glamo_irq {
-+ GLAMO_IRQ_HOSTBUS = 0x0001,
-+ GLAMO_IRQ_JPEG = 0x0002,
-+ GLAMO_IRQ_MPEG = 0x0004,
-+ GLAMO_IRQ_MPROC1 = 0x0008,
-+ GLAMO_IRQ_MPROC0 = 0x0010,
-+ GLAMO_IRQ_CMDQUEUE = 0x0020,
-+ GLAMO_IRQ_2D = 0x0040,
-+ GLAMO_IRQ_MMC = 0x0080,
-+ GLAMO_IRQ_RISC = 0x0100,
-+};
-+
-+enum glamo_reg_clock_host {
-+ GLAMO_CLOCK_HOST_DG_BCLK = 0x0001,
-+ GLAMO_CLOCK_HOST_DG_M0CLK = 0x0004,
-+ GLAMO_CLOCK_HOST_RESET = 0x1000,
-+};
-+
-+enum glamo_reg_clock_mem {
-+ GLAMO_CLOCK_MEM_DG_M1CLK = 0x0001,
-+ GLAMO_CLOCK_MEM_EN_M1CLK = 0x0002,
-+ GLAMO_CLOCK_MEM_DG_MOCACLK = 0x0004,
-+ GLAMO_CLOCK_MEM_EN_MOCACLK = 0x0008,
-+ GLAMO_CLOCK_MEM_RESET = 0x1000,
-+ GLAMO_CLOCK_MOCA_RESET = 0x2000,
-+};
-+
-+enum glamo_reg_clock_lcd {
-+ GLAMO_CLOCK_LCD_DG_DCLK = 0x0001,
-+ GLAMO_CLOCK_LCD_EN_DCLK = 0x0002,
-+ GLAMO_CLOCK_LCD_DG_DMCLK = 0x0004,
-+ GLAMO_CLOCK_LCD_EN_DMCLK = 0x0008,
-+ //
-+ GLAMO_CLOCK_LCD_EN_DHCLK = 0x0020,
-+ GLAMO_CLOCK_LCD_DG_M5CLK = 0x0040,
-+ GLAMO_CLOCK_LCD_EN_M5CLK = 0x0080,
-+ GLAMO_CLOCK_LCD_RESET = 0x1000,
-+};
-+
-+enum glamo_reg_clock_mmc {
-+ GLAMO_CLOCK_MMC_DG_TCLK = 0x0001,
-+ GLAMO_CLOCK_MMC_EN_TCLK = 0x0002,
-+ GLAMO_CLOCK_MMC_DG_M9CLK = 0x0004,
-+ GLAMO_CLOCK_MMC_EN_M9CLK = 0x0008,
-+ GLAMO_CLOCK_MMC_RESET = 0x1000,
-+};
-+
-+enum glamo_reg_clock_isp {
-+ GLAMO_CLOCK_ISP_DG_I1CLK = 0x0001,
-+ GLAMO_CLOCK_ISP_EN_I1CLK = 0x0002,
-+ GLAMO_CLOCK_ISP_DG_CCLK = 0x0004,
-+ GLAMO_CLOCK_ISP_EN_CCLK = 0x0008,
-+ //
-+ GLAMO_CLOCK_ISP_EN_SCLK = 0x0020,
-+ GLAMO_CLOCK_ISP_DG_M2CLK = 0x0040,
-+ GLAMO_CLOCK_ISP_EN_M2CLK = 0x0080,
-+ GLAMO_CLOCK_ISP_DG_M15CLK = 0x0100,
-+ GLAMO_CLOCK_ISP_EN_M15CLK = 0x0200,
-+ GLAMO_CLOCK_ISP1_RESET = 0x1000,
-+ GLAMO_CLOCK_ISP2_RESET = 0x2000,
-+};
-+
-+enum glamo_reg_clock_jpeg {
-+ GLAMO_CLOCK_JPEG_DG_JCLK = 0x0001,
-+ GLAMO_CLOCK_JPEG_EN_JCLK = 0x0002,
-+ GLAMO_CLOCK_JPEG_DG_M3CLK = 0x0004,
-+ GLAMO_CLOCK_JPEG_EN_M3CLK = 0x0008,
-+ GLAMO_CLOCK_JPEG_RESET = 0x1000,
-+};
-+
-+enum glamo_reg_clock_2d {
-+ GLAMO_CLOCK_2D_DG_GCLK = 0x0001,
-+ GLAMO_CLOCK_2D_EN_GCLK = 0x0002,
-+ GLAMO_CLOCK_2D_DG_M7CLK = 0x0004,
-+ GLAMO_CLOCK_2D_EN_M7CLK = 0x0008,
-+ GLAMO_CLOCK_2D_DG_M6CLK = 0x0010,
-+ GLAMO_CLOCK_2D_EN_M6CLK = 0x0020,
-+ GLAMO_CLOCK_2D_RESET = 0x1000,
-+ GLAMO_CLOCK_2D_CQ_RESET = 0x2000,
-+};
-+
-+enum glamo_reg_clock_3d {
-+ GLAMO_CLOCK_3D_DG_ECLK = 0x0001,
-+ GLAMO_CLOCK_3D_EN_ECLK = 0x0002,
-+ GLAMO_CLOCK_3D_DG_RCLK = 0x0004,
-+ GLAMO_CLOCK_3D_EN_RCLK = 0x0008,
-+ GLAMO_CLOCK_3D_DG_M8CLK = 0x0010,
-+ GLAMO_CLOCK_3D_EN_M8CLK = 0x0020,
-+ GLAMO_CLOCK_3D_BACK_RESET = 0x1000,
-+ GLAMO_CLOCK_3D_FRONT_RESET = 0x2000,
-+};
-+
-+enum glamo_reg_clock_mpeg {
-+ GLAMO_CLOCK_MPEG_DG_X0CLK = 0x0001,
-+ GLAMO_CLOCK_MPEG_EN_X0CLK = 0x0002,
-+ GLAMO_CLOCK_MPEG_DG_X1CLK = 0x0004,
-+ GLAMO_CLOCK_MPEG_EN_X1CLK = 0x0008,
-+ GLAMO_CLOCK_MPEG_DG_X2CLK = 0x0010,
-+ GLAMO_CLOCK_MPEG_EN_X2CLK = 0x0020,
-+ GLAMO_CLOCK_MPEG_DG_X3CLK = 0x0040,
-+ GLAMO_CLOCK_MPEG_EN_X3CLK = 0x0080,
-+ GLAMO_CLOCK_MPEG_DG_X4CLK = 0x0100,
-+ GLAMO_CLOCK_MPEG_EN_X4CLK = 0x0200,
-+ GLAMO_CLOCK_MPEG_DG_X6CLK = 0x0400,
-+ GLAMO_CLOCK_MPEG_EN_X6CLK = 0x0800,
-+ GLAMO_CLOCK_MPEG_ENC_RESET = 0x1000,
-+ GLAMO_CLOCK_MPEG_DEC_RESET = 0x2000,
-+};
-+
-+enum glamo_reg_clock51 {
-+ GLAMO_CLOCK_GEN51_EN_DIV_MCLK = 0x0001,
-+ GLAMO_CLOCK_GEN51_EN_DIV_SCLK = 0x0002,
-+ GLAMO_CLOCK_GEN51_EN_DIV_JCLK = 0x0004,
-+ GLAMO_CLOCK_GEN51_EN_DIV_DCLK = 0x0008,
-+ GLAMO_CLOCK_GEN51_EN_DIV_DMCLK = 0x0010,
-+ GLAMO_CLOCK_GEN51_EN_DIV_DHCLK = 0x0020,
-+ GLAMO_CLOCK_GEN51_EN_DIV_GCLK = 0x0040,
-+ GLAMO_CLOCK_GEN51_EN_DIV_TCLK = 0x0080,
-+ /* FIXME: higher bits */
-+};
-+
-+enum glamo_reg_clock52 {
-+ GLAMO_CLOCK_GEN52_EN_DIV_ACLK = 0x0001,
-+ GLAMO_CLOCK_GEN52_EN_DIV_AMCLK = 0x0002,
-+ GLAMO_CLOCK_GEN52_EN_DIV_OCLK = 0x0004,
-+ GLAMO_CLOCK_GEN52_EN_DIV_ZCLK = 0x0008,
-+ GLAMO_CLOCK_GEN52_EN_DIV_ICLK = 0x0010,
-+ /* FIXME: higher bits */
-+};
-+
-+enum glamo_reg_hostbus2 {
-+ GLAMO_HOSTBUS2_MMIO_EN_ISP = 0x0001,
-+ GLAMO_HOSTBUS2_MMIO_EN_JPEG = 0x0002,
-+ GLAMO_HOSTBUS2_MMIO_EN_MPEG = 0x0004,
-+ GLAMO_HOSTBUS2_MMIO_EN_LCD = 0x0008,
-+ GLAMO_HOSTBUS2_MMIO_EN_MMC = 0x0010,
-+ GLAMO_HOSTBUS2_MMIO_EN_MICROP0 = 0x0020,
-+ GLAMO_HOSTBUS2_MMIO_EN_MICROP1 = 0x0040,
-+ GLAMO_HOSTBUS2_MMIO_EN_CQ = 0x0080,
-+ GLAMO_HOSTBUS2_MMIO_EN_RISC = 0x0100,
-+ GLAMO_HOSTBUS2_MMIO_EN_2D = 0x0200,
-+ GLAMO_HOSTBUS2_MMIO_EN_3D = 0x0400,
-+};
-+
-+/* LCD Controller */
-+
-+#define REG_LCD(x) (x)
-+enum glamo_reg_lcd {
-+ GLAMO_REG_LCD_MODE1 = REG_LCD(0x00),
-+ GLAMO_REG_LCD_MODE2 = REG_LCD(0x02),
-+ GLAMO_REG_LCD_MODE3 = REG_LCD(0x04),
-+ GLAMO_REG_LCD_WIDTH = REG_LCD(0x06),
-+ GLAMO_REG_LCD_HEIGHT = REG_LCD(0x08),
-+ GLAMO_REG_LCD_POLARITY = REG_LCD(0x0a),
-+ GLAMO_REG_LCD_A_BASE1 = REG_LCD(0x0c),
-+ GLAMO_REG_LCD_A_BASE2 = REG_LCD(0x0e),
-+ GLAMO_REG_LCD_B_BASE1 = REG_LCD(0x10),
-+ GLAMO_REG_LCD_B_BASE2 = REG_LCD(0x12),
-+ GLAMO_REG_LCD_C_BASE1 = REG_LCD(0x14),
-+ GLAMO_REG_LCD_C_BASE2 = REG_LCD(0x16),
-+ GLAMO_REG_LCD_PITCH = REG_LCD(0x18),
-+ /* RES */
-+ GLAMO_REG_LCD_HORIZ_TOTAL = REG_LCD(0x1c),
-+ /* RES */
-+ GLAMO_REG_LCD_HORIZ_RETR_START = REG_LCD(0x20),
-+ /* RES */
-+ GLAMO_REG_LCD_HORIZ_RETR_END = REG_LCD(0x24),
-+ /* RES */
-+ GLAMO_REG_LCD_HORIZ_DISP_START = REG_LCD(0x28),
-+ /* RES */
-+ GLAMO_REG_LCD_HORIZ_DISP_END = REG_LCD(0x2c),
-+ /* RES */
-+ GLAMO_REG_LCD_VERT_TOTAL = REG_LCD(0x30),
-+ /* RES */
-+ GLAMO_REG_LCD_VERT_RETR_START = REG_LCD(0x34),
-+ /* RES */
-+ GLAMO_REG_LCD_VERT_RETR_END = REG_LCD(0x38),
-+ /* RES */
-+ GLAMO_REG_LCD_VERT_DISP_START = REG_LCD(0x3c),
-+ /* RES */
-+ GLAMO_REG_LCD_VERT_DISP_END = REG_LCD(0x40),
-+ /* RES */
-+ GLAMO_REG_LCD_POL = REG_LCD(0x44),
-+ GLAMO_REG_LCD_DATA_START = REG_LCD(0x46),
-+ GLAMO_REG_LCD_FRATE_CONTRO = REG_LCD(0x48),
-+ GLAMO_REG_LCD_DATA_CMD_HDR = REG_LCD(0x4a),
-+ GLAMO_REG_LCD_SP_START = REG_LCD(0x4c),
-+ GLAMO_REG_LCD_SP_END = REG_LCD(0x4e),
-+ GLAMO_REG_LCD_CURSOR_BASE1 = REG_LCD(0x50),
-+ GLAMO_REG_LCD_CURSOR_BASE2 = REG_LCD(0x52),
-+ GLAMO_REG_LCD_CURSOR_PITCH = REG_LCD(0x54),
-+ GLAMO_REG_LCD_CURSOR_X_SIZE = REG_LCD(0x56),
-+ GLAMO_REG_LCD_CURSOR_Y_SIZE = REG_LCD(0x58),
-+ GLAMO_REG_LCD_CURSOR_X_POS = REG_LCD(0x5a),
-+ GLAMO_REG_LCD_CURSOR_Y_POS = REG_LCD(0x5c),
-+ GLAMO_REG_LCD_CURSOR_PRESET = REG_LCD(0x5e),
-+ GLAMO_REG_LCD_CURSOR_FG_COLOR = REG_LCD(0x60),
-+ /* RES */
-+ GLAMO_REG_LCD_CURSOR_BG_COLOR = REG_LCD(0x64),
-+ /* RES */
-+ GLAMO_REG_LCD_CURSOR_DST_COLOR = REG_LCD(0x68),
-+ /* RES */
-+ GLAMO_REG_LCD_STATUS1 = REG_LCD(0x80),
-+ GLAMO_REG_LCD_STATUS2 = REG_LCD(0x82),
-+ GLAMO_REG_LCD_STATUS3 = REG_LCD(0x84),
-+ GLAMO_REG_LCD_STATUS4 = REG_LCD(0x86),
-+ /* RES */
-+ GLAMO_REG_LCD_COMMAND1 = REG_LCD(0xa0),
-+ GLAMO_REG_LCD_COMMAND2 = REG_LCD(0xa2),
-+ /* RES */
-+ GLAMO_REG_LCD_WFORM_DELAY1 = REG_LCD(0xb0),
-+ GLAMO_REG_LCD_WFORM_DELAY2 = REG_LCD(0xb2),
-+ /* RES */
-+ GLAMO_REG_LCD_GAMMA_CORR = REG_LCD(0x100),
-+ /* RES */
-+ GLAMO_REG_LCD_GAMMA_R_ENTRY01 = REG_LCD(0x110),
-+ GLAMO_REG_LCD_GAMMA_R_ENTRY23 = REG_LCD(0x112),
-+ GLAMO_REG_LCD_GAMMA_R_ENTRY45 = REG_LCD(0x114),
-+ GLAMO_REG_LCD_GAMMA_R_ENTRY67 = REG_LCD(0x116),
-+ GLAMO_REG_LCD_GAMMA_R_ENTRY8 = REG_LCD(0x118),
-+ /* RES */
-+ GLAMO_REG_LCD_GAMMA_G_ENTRY01 = REG_LCD(0x130),
-+ GLAMO_REG_LCD_GAMMA_G_ENTRY23 = REG_LCD(0x132),
-+ GLAMO_REG_LCD_GAMMA_G_ENTRY45 = REG_LCD(0x134),
-+ GLAMO_REG_LCD_GAMMA_G_ENTRY67 = REG_LCD(0x136),
-+ GLAMO_REG_LCD_GAMMA_G_ENTRY8 = REG_LCD(0x138),
-+ /* RES */
-+ GLAMO_REG_LCD_GAMMA_B_ENTRY01 = REG_LCD(0x150),
-+ GLAMO_REG_LCD_GAMMA_B_ENTRY23 = REG_LCD(0x152),
-+ GLAMO_REG_LCD_GAMMA_B_ENTRY45 = REG_LCD(0x154),
-+ GLAMO_REG_LCD_GAMMA_B_ENTRY67 = REG_LCD(0x156),
-+ GLAMO_REG_LCD_GAMMA_B_ENTRY8 = REG_LCD(0x158),
-+ /* RES */
-+ GLAMO_REG_LCD_SRAM_DRIVING1 = REG_LCD(0x160),
-+ GLAMO_REG_LCD_SRAM_DRIVING2 = REG_LCD(0x162),
-+ GLAMO_REG_LCD_SRAM_DRIVING3 = REG_LCD(0x164),
-+};
-+
-+enum glamo_reg_lcd_mode1 {
-+ GLAMO_LCD_MODE1_PWRSAVE = 0x0001,
-+ GLAMO_LCD_MODE1_PARTIAL_PRT = 0x0002,
-+ GLAMO_LCD_MODE1_HWFLIP = 0x0004,
-+ GLAMO_LCD_MODE1_LCD2 = 0x0008,
-+ /* RES */
-+ GLAMO_LCD_MODE1_PARTIAL_MODE = 0x0020,
-+ GLAMO_LCD_MODE1_CURSOR_DSTCOLOR = 0x0040,
-+ GLAMO_LCD_MODE1_PARTIAL_ENABLE = 0x0080,
-+ GLAMO_LCD_MODE1_TVCLK_IN_ENABLE = 0x0100,
-+ GLAMO_LCD_MODE1_HSYNC_HIGH_ACT = 0x0200,
-+ GLAMO_LCD_MODE1_VSYNC_HIGH_ACT = 0x0400,
-+ GLAMO_LCD_MODE1_HSYNC_FLIP = 0x0800,
-+ GLAMO_LCD_MODE1_GAMMA_COR_EN = 0x1000,
-+ GLAMO_LCD_MODE1_DITHER_EN = 0x2000,
-+ GLAMO_LCD_MODE1_CURSOR_EN = 0x4000,
-+ GLAMO_LCD_MODE1_ROTATE_EN = 0x8000,
-+};
-+
-+enum glamo_reg_lcd_mode2 {
-+ GLAMO_LCD_MODE2_CRC_CHECK_EN = 0x0001,
-+ GLAMO_LCD_MODE2_DCMD_PER_LINE = 0x0002,
-+ GLAMO_LCD_MODE2_NOUSE_BDEF = 0x0004,
-+ GLAMO_LCD_MODE2_OUT_POS_MODE = 0x0008,
-+ GLAMO_LCD_MODE2_FRATE_CTRL_EN = 0x0010,
-+ GLAMO_LCD_MODE2_SINGLE_BUFFER = 0x0020,
-+ GLAMO_LCD_MODE2_SER_LSB_TO_MSB = 0x0040,
-+ /* FIXME */
-+};
-+
-+enum glamo_reg_lcd_mode3 {
-+ /* LCD color source data format */
-+ GLAMO_LCD_SRC_RGB565 = 0x0000,
-+ GLAMO_LCD_SRC_ARGB1555 = 0x4000,
-+ GLAMO_LCD_SRC_ARGB4444 = 0x8000,
-+ /* interface type */
-+ GLAMO_LCD_MODE3_LCD = 0x1000,
-+ GLAMO_LCD_MODE3_RGB = 0x0800,
-+ GLAMO_LCD_MODE3_CPU = 0x0000,
-+ /* mode */
-+ GLAMO_LCD_MODE3_RGB332 = 0x0000,
-+ GLAMO_LCD_MODE3_RGB444 = 0x0100,
-+ GLAMO_LCD_MODE3_RGB565 = 0x0200,
-+ GLAMO_LCD_MODE3_RGB666 = 0x0300,
-+ /* depth */
-+ GLAMO_LCD_MODE3_6BITS = 0x0000,
-+ GLAMO_LCD_MODE3_8BITS = 0x0010,
-+ GLAMO_LCD_MODE3_9BITS = 0x0020,
-+ GLAMO_LCD_MODE3_16BITS = 0x0030,
-+ GLAMO_LCD_MODE3_18BITS = 0x0040,
-+};
-+
-+enum glamo_lcd_cmd_type {
-+ GLAMO_LCD_CMD_TYPE_DISP = 0x0000,
-+ GLAMO_LCD_CMD_TYPE_PARALLEL = 0x4000,
-+ GLAMO_LCD_CMD_TYPE_SERIAL = 0x8000,
-+ GLAMO_LCD_CMD_TYPE_SERIAL_DIRECT= 0xc000,
-+};
-+#define GLAMO_LCD_CMD_TYPE_MASK 0xc000
-+
-+enum glamo_lcd_cmds {
-+ GLAMO_LCD_CMD_DATA_DISP_FIRE = 0x00,
-+ GLAMO_LCD_CMD_DATA_DISP_SYNC = 0x01, /* RGB only */
-+ /* switch to command mode, no display */
-+ GLAMO_LCD_CMD_DATA_FIRE_NO_DISP = 0x02,
-+ /* display until VSYNC, switch to command */
-+ GLAMO_LCD_CMD_DATA_FIRE_VSYNC = 0x11,
-+ /* display until HSYNC, switch to command */
-+ GLAMO_LCD_CMD_DATA_FIRE_HSYNC = 0x12,
-+ /* display until VSYNC, 1 black frame, VSYNC, switch to command */
-+ GLAMO_LCD_CMD_DATA_FIRE_VSYNC_B = 0x13,
-+ /* don't care about display and switch to command */
-+ GLAMO_LCD_CMD_DATA_FIRE_FREE = 0x14, /* RGB only */
-+ /* don't care about display, keep data display but disable data,
-+ * and switch to command */
-+ GLAMO_LCD_CMD_DATA_FIRE_FREE_D = 0x15, /* RGB only */
-+};
-+
-+enum glamo_core_revisions {
-+ GLAMO_CORE_REV_A0 = 0x0000,
-+ GLAMO_CORE_REV_A1 = 0x0001,
-+ GLAMO_CORE_REV_A2 = 0x0002,
-+ GLAMO_CORE_REV_A3 = 0x0003,
-+};
-+
-+#define REG_ISP(x) (GLAMO_REGOFS_ISP+(x))
-+
-+enum glamo_register_isp {
-+ GLAMO_REG_ISP_EN1 = REG_ISP(0x00),
-+ GLAMO_REG_ISP_EN2 = REG_ISP(0x02),
-+ GLAMO_REG_ISP_EN3 = REG_ISP(0x04),
-+ GLAMO_REG_ISP_EN4 = REG_ISP(0x06),
-+ GLAMO_REG_ISP_CAP_0_ADDRL = REG_ISP(0x08),
-+ GLAMO_REG_ISP_CAP_0_ADDRH = REG_ISP(0x0a),
-+ GLAMO_REG_ISP_CAP_1_ADDRL = REG_ISP(0x0c),
-+ GLAMO_REG_ISP_CAP_1_ADDRH = REG_ISP(0x0e),
-+ GLAMO_REG_ISP_DEC_Y_ADDRL = REG_ISP(0x10),
-+ GLAMO_REG_ISP_DEC_Y_ADDRH = REG_ISP(0x12),
-+ GLAMO_REG_ISP_DEC_U_ADDRL = REG_ISP(0x14),
-+ GLAMO_REG_ISP_DEC_U_ADDRH = REG_ISP(0x16),
-+ GLAMO_REG_ISP_DEC_V_ADDRL = REG_ISP(0x18),
-+ GLAMO_REG_ISP_DEC_V_ADDRH = REG_ISP(0x1a),
-+ GLAMO_REG_ISP_CAP_SEG_HEIGHT = REG_ISP(0x1c),
-+ GLAMO_REG_ISP_CAP_PITCH = REG_ISP(0x1e),
-+ GLAMO_REG_ISP_CAP_HEIGHT = REG_ISP(0x20),
-+ GLAMO_REG_ISP_CAP_WIDTH = REG_ISP(0x22),
-+ GLAMO_REG_ISP_DEC_PITCH_Y = REG_ISP(0x24),
-+ GLAMO_REG_ISP_DEC_PITCH_UV = REG_ISP(0x26),
-+ GLAMO_REG_ISP_DEC_HEIGHT = REG_ISP(0x28),
-+ GLAMO_REG_ISP_DEC_WIDTH = REG_ISP(0x2a),
-+ GLAMO_REG_ISP_ONFLY_MODE1 = REG_ISP(0x2c),
-+ GLAMO_REG_ISP_ONFLY_MODE2 = REG_ISP(0x2e),
-+ GLAMO_REG_ISP_ONFLY_MODE3 = REG_ISP(0x30),
-+ GLAMO_REG_ISP_ONFLY_MODE4 = REG_ISP(0x32),
-+ GLAMO_REG_ISP_ONFLY_MODE5 = REG_ISP(0x34),
-+ //
-+ GLAMO_REG_ISP_YUV2RGB_11 = REG_ISP(0x50),
-+ GLAMO_REG_ISP_YUV2RGB_21 = REG_ISP(0x52),
-+ GLAMO_REG_ISP_YUV2RGB_32 = REG_ISP(0x54),
-+ GLAMO_REG_ISP_YUV2RGB_33 = REG_ISP(0x56),
-+ GLAMO_REG_ISP_YUV2RGB_RG = REG_ISP(0x58),
-+ GLAMO_REG_ISP_YUV2RGB_B = REG_ISP(0x5a),
-+ //
-+ GLAMO_REG_ISP_PORT1_SCALEH = REG_ISP(0x76),
-+ GLAMO_REG_ISP_PORT1_SCALEV = REG_ISP(0x78),
-+ GLAMO_REG_ISP_PORT2_SCALEH = REG_ISP(0x7a),
-+ GLAMO_REG_ISP_PORT2_SCALEV = REG_ISP(0x7c),
-+ GLAMO_REG_ISP_DEC_SCALEH = REG_ISP(0x7e),
-+ GLAMO_REG_ISP_DEC_SCALEV = REG_ISP(0x80),
-+ GLAMO_REG_ISP_TURBO = REG_ISP(0x82),
-+ GLAMO_REG_ISP_PORT1_CAP_EN = REG_ISP(0x84),
-+ GLAMO_REG_ISP_PORT1_CAP_0_ADDRL = REG_ISP(0x86),
-+ GLAMO_REG_ISP_PORT1_CAP_0_ADDRH = REG_ISP(0x88),
-+ GLAMO_REG_ISP_PORT1_CAP_1_ADDRL = REG_ISP(0x8a),
-+ GLAMO_REG_ISP_PORT1_CAP_1_ADDRH = REG_ISP(0x8c),
-+ GLAMO_REG_ISP_PORT1_CAP_WIDTH = REG_ISP(0x8e),
-+ GLAMO_REG_ISP_PORT1_CAP_HEIGHT = REG_ISP(0x90),
-+ GLAMO_REG_ISP_PORT1_CAP_PITCH = REG_ISP(0x92),
-+ GLAMO_REG_ISP_PORT1_CAP_CLIP_L = REG_ISP(0x94),
-+ GLAMO_REG_ISP_PORT1_CAP_CLIP_R = REG_ISP(0x96),
-+ GLAMO_REG_ISP_PORT1_CAP_CLIP_T = REG_ISP(0x98),
-+ GLAMO_REG_ISP_PORT1_CAP_CLIP_B = REG_ISP(0x9a),
-+ GLAMO_REG_ISP_PORT1_DEC_EN = REG_ISP(0x9c),
-+ GLAMO_REG_ISP_PORT1_DEC_0_ADDRL = REG_ISP(0x9e),
-+ GLAMO_REG_ISP_PORT1_DEC_0_ADDRH = REG_ISP(0xa0),
-+ GLAMO_REG_ISP_PORT1_DEC_1_ADDRL = REG_ISP(0xa2),
-+ GLAMO_REG_ISP_PORT1_DEC_1_ADDRH = REG_ISP(0xa4),
-+ GLAMO_REG_ISP_PORT1_DEC_WIDTH = REG_ISP(0xa6),
-+ GLAMO_REG_ISP_PORT1_DEC_HEIGHT = REG_ISP(0xa8),
-+ GLAMO_REG_ISP_PORT1_DEC_PITCH = REG_ISP(0xaa),
-+ GLAMO_REG_ISP_PORT1_DEC_CLIP_L = REG_ISP(0xac),
-+ GLAMO_REG_ISP_PORT1_DEC_CLIP_R = REG_ISP(0xae),
-+ GLAMO_REG_ISP_PORT1_DEC_CLIP_T = REG_ISP(0xb0),
-+ GLAMO_REG_ISP_PORT1_DEC_CLIP_B = REG_ISP(0xb2),
-+ GLAMO_REG_ISP_PORT2_EN = REG_ISP(0xb4),
-+ GLAMO_REG_ISP_PORT2_0_Y_ADDRL = REG_ISP(0xb6),
-+ GLAMO_REG_ISP_PORT2_0_Y_ADDRH = REG_ISP(0xb8),
-+ GLAMO_REG_ISP_PORT2_0_U_ADDRL = REG_ISP(0xba),
-+ GLAMO_REG_ISP_PORT2_0_U_ADDRH = REG_ISP(0xbc),
-+ GLAMO_REG_ISP_PORT2_0_V_ADDRL = REG_ISP(0xbe),
-+ GLAMO_REG_ISP_PORT2_0_V_ADDRH = REG_ISP(0xc0),
-+ GLAMO_REG_ISP_PORT2_1_Y_ADDRL = REG_ISP(0xc2),
-+ GLAMO_REG_ISP_PORT2_1_Y_ADDRH = REG_ISP(0xc4),
-+ GLAMO_REG_ISP_PORT2_1_U_ADDRL = REG_ISP(0xc6),
-+ GLAMO_REG_ISP_PORT2_1_U_ADDRH = REG_ISP(0xc8),
-+ GLAMO_REG_ISP_PORT2_1_V_ADDRL = REG_ISP(0xca),
-+ GLAMO_REG_ISP_PORT2_1_V_ADDRH = REG_ISP(0xcc),
-+ GLAMO_REG_ISP_PORT2_2_Y_ADDRL = REG_ISP(0xce),
-+ GLAMO_REG_ISP_PORT2_2_Y_ADDRH = REG_ISP(0xd0),
-+ GLAMO_REG_ISP_PORT2_2_U_ADDRL = REG_ISP(0xd2),
-+ GLAMO_REG_ISP_PORT2_2_U_ADDRH = REG_ISP(0xd4),
-+ GLAMO_REG_ISP_PORT2_2_V_ADDRL = REG_ISP(0xd6),
-+ GLAMO_REG_ISP_PORT2_2_V_ADDRH = REG_ISP(0xd8),
-+ GLAMO_REG_ISP_PORT2_WIDTH = REG_ISP(0xda),
-+ GLAMO_REG_ISP_PORT2_HEIGHT = REG_ISP(0xdc),
-+ GLAMO_REG_ISP_PORT2_Y_PITCH = REG_ISP(0xde),
-+ GLAMO_REG_ISP_PORT2_UV_PITCH = REG_ISP(0xe0),
-+ //
-+ GLAMO_REG_ISP_RGB2YUV_11_12 = REG_ISP(0xf6),
-+ GLAMO_REG_ISP_RGB2YUV_13_21 = REG_ISP(0xf8),
-+ GLAMO_REG_ISP_RGB2YUV_22_23 = REG_ISP(0xfa),
-+ GLAMO_REG_ISP_RGB2YUV_31_32 = REG_ISP(0xfc),
-+ GLAMO_REG_ISP_RGB2YUV_33 = REG_ISP(0xfe),
-+ //
-+ GLAMO_REG_ISP_PORT1_SCALEH_MATRIX = REG_ISP(0x10c),
-+ //
-+ GLAMO_REG_ISP_PORT1_SCALEV_MATRIX = REG_ISP(0x120),
-+ //
-+ GLAMO_REG_ISP_PORT2_SCALEH_MATRIX = REG_ISP(0x134),
-+ //
-+ GLAMO_REG_ISP_PORT2_SCALEV_MATRIX = REG_ISP(0x148),
-+ //
-+ GLAMO_REG_ISP_DEC_SCALEH_MATRIX = REG_ISP(0x15c),
-+ //
-+ GLAMO_REG_ISP_DEC_SCALEV_MATRIX = REG_ISP(0x170),
-+ //
-+ GLAMO_REG_ISP_STATUS = REG_ISP(0x184),
-+};
-+
-+enum glamo_reg_isp_en1 {
-+ GLAMO_ISP_EN1_FIRE_ISP = 0x0001,
-+ GLAMO_ISP_EN1_FIRE_CAP = 0x0002,
-+ GLAMO_ISP_EN1_VIDEO_CONF = 0x0004,
-+ GLAMO_ISP_EN1_BAYER_SRC = 0x0008,
-+ //
-+ GLAMO_ISP_EN1_YUV_PACK = 0x0040,
-+ GLAMO_ISP_EN1_PLANE_MODE = 0x0080,
-+ GLAMO_ISP_EN1_YUV_INPUT = 0x0100,
-+ GLAMO_ISP_EN1_YUV420 = 0x0200,
-+ //
-+};
-+
-+enum glamo_reg_isp_en3 {
-+ //
-+ GLAMO_ISP_EN3_SCALE_IMPROVE = 0x0040,
-+ GLAMO_ISP_EN3_PLANE_MODE = 0x0080,
-+ GLAMO_ISP_EN3_YUV_INPUT = 0x0100,
-+ GLAMO_ISP_EN3_YUV420 = 0x0200,
-+ //
-+};
-+
-+enum glamo_reg_isp_port1_en {
-+ GLAMO_ISP_PORT1_EN_OUTPUT = 0x0001,
-+// GLAMO_ISP_PORT1_EN_SCALE = 0x0002,
-+ GLAMO_ISP_PORT1_EN_CLIP = 0x0004,
-+ GLAMO_ISP_PORT1_EN_CLIP_OUT = 0x0008,
-+ GLAMO_ISP_PORT1_EN_DUAL_BUF = 0x0010,
-+};
-+
-+enum glamo_reg_isp_port2_en {
-+ GLAMO_ISP_PORT2_EN_OUTPUT = 0x0001,
-+ GLAMO_ISP_PORT2_EN_SCALE = 0x0002,
-+ GLAMO_ISP_PORT2_EN_JPEG = 0x0010,
-+ GLAMO_ISP_PORT2_EN_MPEG = 0x0020,
-+ GLAMO_ISP_PORT2_EN_ENCODE = 0x0040,
-+ GLAMO_ISP_PORT2_EN_DECODE = 0x0080,
-+};
-+
-+#define REG_CQ(x) (GLAMO_REGOFS_CMDQUEUE+(x))
-+
-+enum glamo_register_cq {
-+ GLAMO_REG_CQ_BASE_ADDRL = REG_CQ(0x00),
-+ GLAMO_REG_CQ_BASE_ADDRH = REG_CQ(0x02),
-+ GLAMO_REG_CQ_LEN = REG_CQ(0x04),
-+ GLAMO_REG_CQ_WRITE_ADDRL = REG_CQ(0x06),
-+ GLAMO_REG_CQ_WRITE_ADDRH = REG_CQ(0x08),
-+ GLAMO_REG_CQ_FLIP = REG_CQ(0x0a),
-+ GLAMO_REG_CQ_CONTROL = REG_CQ(0x0c),
-+ GLAMO_REG_CQ_READ_ADDRL = REG_CQ(0x0e),
-+ GLAMO_REG_CQ_READ_ADDRH = REG_CQ(0x10),
-+ GLAMO_REG_CQ_STATUS = REG_CQ(0x12),
-+};
-+
-+#define REG_2D(x) (GLAMO_REGOFS_2D+(x))
-+
-+enum glamo_register_2d {
-+ GLAMO_REG_2D_SRC_ADDRL = REG_2D(0x00),
-+ GLAMO_REG_2D_SRC_ADDRH = REG_2D(0x02),
-+ GLAMO_REG_2D_SRC_PITCH = REG_2D(0x04),
-+ GLAMO_REG_2D_SRC_X = REG_2D(0x06),
-+ GLAMO_REG_2D_SRC_Y = REG_2D(0x08),
-+ GLAMO_REG_2D_DST_X = REG_2D(0x0a),
-+ GLAMO_REG_2D_DST_Y = REG_2D(0x0c),
-+ GLAMO_REG_2D_DST_ADDRL = REG_2D(0x0e),
-+ GLAMO_REG_2D_DST_ADDRH = REG_2D(0x10),
-+ GLAMO_REG_2D_DST_PITCH = REG_2D(0x12),
-+ GLAMO_REG_2D_DST_HEIGHT = REG_2D(0x14),
-+ GLAMO_REG_2D_RECT_WIDTH = REG_2D(0x16),
-+ GLAMO_REG_2D_RECT_HEIGHT = REG_2D(0x18),
-+ GLAMO_REG_2D_PAT_ADDRL = REG_2D(0x1a),
-+ GLAMO_REG_2D_PAT_ADDRH = REG_2D(0x1c),
-+ GLAMO_REG_2D_PAT_FG = REG_2D(0x1e),
-+ GLAMO_REG_2D_PAT_BG = REG_2D(0x20),
-+ GLAMO_REG_2D_SRC_FG = REG_2D(0x22),
-+ GLAMO_REG_2D_SRC_BG = REG_2D(0x24),
-+ GLAMO_REG_2D_MASK1 = REG_2D(0x26),
-+ GLAMO_REG_2D_MASK2 = REG_2D(0x28),
-+ GLAMO_REG_2D_MASK3 = REG_2D(0x2a),
-+ GLAMO_REG_2D_MASK4 = REG_2D(0x2c),
-+ GLAMO_REG_2D_ROT_X = REG_2D(0x2e),
-+ GLAMO_REG_2D_ROT_Y = REG_2D(0x30),
-+ GLAMO_REG_2D_LEFT_CLIP = REG_2D(0x32),
-+ GLAMO_REG_2D_TOP_CLIP = REG_2D(0x34),
-+ GLAMO_REG_2D_RIGHT_CLIP = REG_2D(0x36),
-+ GLAMO_REG_2D_BOTTOM_CLIP = REG_2D(0x38),
-+ GLAMO_REG_2D_COMMAND1 = REG_2D(0x3A),
-+ GLAMO_REG_2D_COMMAND2 = REG_2D(0x3C),
-+ GLAMO_REG_2D_COMMAND3 = REG_2D(0x3E),
-+ GLAMO_REG_2D_SAFE = REG_2D(0x40),
-+ GLAMO_REG_2D_STATUS = REG_2D(0x42),
-+ GLAMO_REG_2D_ID1 = REG_2D(0x44),
-+ GLAMO_REG_2D_ID2 = REG_2D(0x46),
-+ GLAMO_REG_2D_ID3 = REG_2D(0x48),
-+};
-+
-+#endif /* _GLAMO_REGS_H */
-Index: xserver/hw/kdrive/glamo/glamo.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo.c 2007-09-26 17:44:47.000000000 +0800
-@@ -0,0 +1,498 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2003 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <kdrive-config.h>
-+#endif
-+#include "glamo.h"
-+#if defined(USE_DRI) && defined(GLXEXT)
-+#include "glamo_sarea.h"
-+#endif
-+
-+static Bool
-+GLAMOCardInit(KdCardInfo *card)
-+{
-+ GLAMOCardInfo *glamoc;
-+ Bool initialized = FALSE;
-+
-+ glamoc = xcalloc(sizeof(GLAMOCardInfo), 1);
-+ if (glamoc == NULL)
-+ return FALSE;
-+
-+#ifdef KDRIVEFBDEV
-+ if (!initialized && fbdevInitialize(card, &glamoc->backend_priv.fbdev)) {
-+ glamoc->use_fbdev = TRUE;
-+ initialized = TRUE;
-+ glamoc->backend_funcs.cardfini = fbdevCardFini;
-+ glamoc->backend_funcs.scrfini = fbdevScreenFini;
-+ glamoc->backend_funcs.initScreen = fbdevInitScreen;
-+ glamoc->backend_funcs.finishInitScreen = fbdevFinishInitScreen;
-+ glamoc->backend_funcs.createRes = fbdevCreateResources;
-+ glamoc->backend_funcs.preserve = fbdevPreserve;
-+ glamoc->backend_funcs.restore = fbdevRestore;
-+ glamoc->backend_funcs.dpms = fbdevDPMS;
-+ glamoc->backend_funcs.enable = fbdevEnable;
-+ glamoc->backend_funcs.disable = fbdevDisable;
-+ glamoc->backend_funcs.getColors = fbdevGetColors;
-+ glamoc->backend_funcs.putColors = fbdevPutColors;
-+#ifdef RANDR
-+ glamoc->backend_funcs.randrSetConfig = fbdevRandRSetConfig;
-+#endif
-+ }
-+#endif
-+#ifdef KDRIVEVESA
-+ if (!initialized && vesaInitialize(card, &glamoc->backend_priv.vesa)) {
-+ glamoc->use_vesa = TRUE;
-+ initialized = TRUE;
-+ glamoc->backend_funcs.cardfini = vesaCardFini;
-+ glamoc->backend_funcs.scrfini = vesaScreenFini;
-+ glamoc->backend_funcs.initScreen = vesaInitScreen;
-+ glamoc->backend_funcs.finishInitScreen = vesaFinishInitScreen;
-+ glamoc->backend_funcs.createRes = vesaCreateResources;
-+ glamoc->backend_funcs.preserve = vesaPreserve;
-+ glamoc->backend_funcs.restore = vesaRestore;
-+ glamoc->backend_funcs.dpms = vesaDPMS;
-+ glamoc->backend_funcs.enable = vesaEnable;
-+ glamoc->backend_funcs.disable = vesaDisable;
-+ glamoc->backend_funcs.getColors = vesaGetColors;
-+ glamoc->backend_funcs.putColors = vesaPutColors;
-+#ifdef RANDR
-+ glamoc->backend_funcs.randrSetConfig = vesaRandRSetConfig;
-+#endif
-+ }
-+#endif
-+
-+ if (!initialized || !GLAMOMapReg(card, glamoc)) {
-+ xfree(glamoc);
-+ return FALSE;
-+ }
-+
-+#ifdef USE_DRI
-+ /* We demand identification by busid, not driver name */
-+ glamoc->drmFd = drmOpen(NULL, glamoc->busid);
-+ if (glamoc->drmFd < 0)
-+ ErrorF("Failed to open DRM, DRI disabled.\n");
-+#endif /* USE_DRI */
-+
-+ card->driver = glamoc;
-+
-+ glamoc->is_3362 = TRUE;
-+ ErrorF("Using GLAMO 3362 card\n");
-+
-+ return TRUE;
-+}
-+
-+static void
-+GLAMOCardFini(KdCardInfo *card)
-+{
-+ GLAMOCardInfo *glamoc = (GLAMOCardInfo *)card->driver;
-+
-+ GLAMOUnmapReg(card, glamoc);
-+ glamoc->backend_funcs.cardfini(card);
-+}
-+
-+/*
-+ * Once screen->off_screen_base is set, this function
-+ * allocates the remaining memory appropriately
-+ */
-+
-+static void
-+GLAMOSetOffscreen (KdScreenInfo *screen)
-+{
-+ GLAMOCardInfo(screen);
-+#if defined(USE_DRI) && defined(GLXEXT)
-+ GLAMOScreenInfo *glamos = (GLAMOScreenInfo *)screen->driver;
-+ int l;
-+#endif
-+ int screen_size;
-+ char *mmio = glamoc->reg_base;
-+
-+ /* check (and adjust) pitch */
-+ if (mmio)
-+ {
-+ int byteStride = screen->fb[0].byteStride;
-+ int bitStride;
-+ int pixelStride;
-+ int bpp = screen->fb[0].bitsPerPixel;
-+
-+ /*
-+ * Ensure frame buffer is correctly aligned
-+ */
-+ if (byteStride & 0x3f)
-+ {
-+ byteStride = (byteStride + 0x3f) & ~0x3f;
-+ bitStride = byteStride * 8;
-+ pixelStride = bitStride / bpp;
-+
-+ screen->fb[0].byteStride = byteStride;
-+ screen->fb[0].pixelStride = pixelStride;
-+ }
-+ }
-+
-+ screen_size = screen->fb[0].byteStride * screen->height;
-+
-+ screen->off_screen_base = screen_size;
-+
-+#if defined(USE_DRI) && defined(GLXEXT)
-+ /* Reserve a static area for the back buffer the same size as the
-+ * visible screen. XXX: This would be better initialized in glamo_dri.c
-+ * when GLX is set up, but the offscreen memory manager's allocations
-+ * don't last through VT switches, while the kernel's understanding of
-+ * offscreen locations does.
-+ */
-+ glamos->frontOffset = 0;
-+ glamos->frontPitch = screen->fb[0].byteStride;
-+
-+ if (screen->off_screen_base + screen_size <= screen->memory_size) {
-+ glamos->backOffset = screen->off_screen_base;
-+ glamos->backPitch = screen->fb[0].byteStride;
-+ screen->off_screen_base += screen_size;
-+ }
-+
-+ /* Reserve the depth span for Rage 128 */
-+ if (!glamoc->is_3362 && screen->off_screen_base +
-+ screen->fb[0].byteStride <= screen->memory_size) {
-+ glamos->spanOffset = screen->off_screen_base;
-+ screen->off_screen_base += screen->fb[0].byteStride;
-+ }
-+
-+ /* Reserve the static depth buffer, which happens to be the same
-+ * bitsPerPixel as the screen.
-+ */
-+ if (screen->off_screen_base + screen_size <= screen->memory_size) {
-+ glamos->depthOffset = screen->off_screen_base;
-+ glamos->depthPitch = screen->fb[0].byteStride;
-+ screen->off_screen_base += screen_size;
-+ }
-+
-+ /* Reserve approx. half of remaining offscreen memory for local
-+ * textures. Round down to a whole number of texture regions.
-+ */
-+ glamos->textureSize = (screen->memory_size - screen->off_screen_base) / 2;
-+ l = GLAMOLog2(glamos->textureSize / GLAMO_NR_TEX_REGIONS);
-+ if (l < GLAMO_LOG_TEX_GRANULARITY)
-+ l = GLAMO_LOG_TEX_GRANULARITY;
-+ glamos->textureSize = (glamos->textureSize >> l) << l;
-+ if (glamos->textureSize >= 512 * 1024) {
-+ glamos->textureOffset = screen->off_screen_base;
-+ screen->off_screen_base += glamos->textureSize;
-+ } else {
-+ /* Minimum texture size is for 2 256x256x32bpp textures */
-+ glamos->textureSize = 0;
-+ }
-+#endif /* USE_DRI && GLXEXT */
-+}
-+
-+static Bool
-+GLAMOScreenInit(KdScreenInfo *screen)
-+{
-+ GLAMOScreenInfo *glamos;
-+ GLAMOCardInfo(screen);
-+ Bool success = FALSE;
-+
-+ glamos = xcalloc(sizeof(GLAMOScreenInfo), 1);
-+ if (glamos == NULL)
-+ return FALSE;
-+
-+ glamos->glamoc = glamoc;
-+ glamos->screen = screen;
-+ screen->driver = glamos;
-+
-+ if (screen->fb[0].depth == 0)
-+ screen->fb[0].depth = 16;
-+#ifdef KDRIVEFBDEV
-+ if (glamoc->use_fbdev) {
-+ success = fbdevScreenInitialize(screen,
-+ &glamos->backend_priv.fbdev);
-+ }
-+#endif
-+#ifdef KDRIVEVESA
-+ if (glamoc->use_vesa) {
-+ success = vesaScreenInitialize(screen,
-+ &glamos->backend_priv.vesa);
-+ }
-+#endif
-+
-+ if (!success) {
-+ screen->driver = NULL;
-+ xfree(glamos);
-+ return FALSE;
-+ }
-+
-+ GLAMOSetOffscreen (screen);
-+
-+ return TRUE;
-+}
-+
-+#ifdef RANDR
-+static Bool
-+GLAMORandRSetConfig (ScreenPtr pScreen,
-+ Rotation randr,
-+ int rate,
-+ RRScreenSizePtr pSize)
-+{
-+ KdScreenPriv(pScreen);
-+ KdScreenInfo *screen = pScreenPriv->screen;
-+ GLAMOCardInfo *glamoc = screen->card->driver;
-+ Bool ret;
-+
-+ GLAMODrawDisable (pScreen);
-+ ret = glamoc->backend_funcs.randrSetConfig(pScreen, randr, rate, pSize);
-+ GLAMOSetOffscreen (screen);
-+ /*
-+ * Set frame buffer mapping
-+ */
-+ (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap (pScreen),
-+ pScreen->width,
-+ pScreen->height,
-+ screen->fb[0].depth,
-+ screen->fb[0].bitsPerPixel,
-+ screen->fb[0].byteStride,
-+ screen->fb[0].frameBuffer);
-+
-+ GLAMODrawEnable (pScreen);
-+ return ret;
-+}
-+
-+static Bool
-+GLAMORandRInit (ScreenPtr pScreen)
-+{
-+ rrScrPrivPtr pScrPriv;
-+
-+ pScrPriv = rrGetScrPriv(pScreen);
-+ pScrPriv->rrSetConfig = GLAMORandRSetConfig;
-+ return TRUE;
-+}
-+#endif
-+
-+static void
-+GLAMOScreenFini(KdScreenInfo *screen)
-+{
-+ GLAMOScreenInfo *glamos = (GLAMOScreenInfo *)screen->driver;
-+ GLAMOCardInfo *glamoc = screen->card->driver;
-+
-+#ifdef XV
-+ GLAMOFiniVideo(screen->pScreen);
-+#endif
-+
-+ glamoc->backend_funcs.scrfini(screen);
-+ xfree(glamos);
-+ screen->driver = 0;
-+}
-+
-+Bool
-+GLAMOMapReg(KdCardInfo *card, GLAMOCardInfo *glamoc)
-+{
-+ glamoc->reg_base = (char *)KdMapDevice(GLAMO_REG_BASE(card),
-+ GLAMO_REG_SIZE(card));
-+
-+ if (glamoc->reg_base == NULL)
-+ return FALSE;
-+
-+ KdSetMappedMode(GLAMO_REG_BASE(card), GLAMO_REG_SIZE(card),
-+ KD_MAPPED_MODE_REGISTERS);
-+
-+ return TRUE;
-+}
-+
-+void
-+GLAMOUnmapReg(KdCardInfo *card, GLAMOCardInfo *glamoc)
-+{
-+ if (glamoc->reg_base) {
-+ KdResetMappedMode(GLAMO_REG_BASE(card), GLAMO_REG_SIZE(card),
-+ KD_MAPPED_MODE_REGISTERS);
-+ KdUnmapDevice((void *)glamoc->reg_base, GLAMO_REG_SIZE(card));
-+ glamoc->reg_base = 0;
-+ }
-+}
-+
-+static Bool
-+GLAMOInitScreen(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+#ifdef XV
-+ GLAMOInitVideo(pScreen);
-+#endif
-+ return glamoc->backend_funcs.initScreen(pScreen);
-+}
-+
-+static Bool
-+GLAMOFinishInitScreen(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ if (!glamoc->backend_funcs.finishInitScreen(pScreen))
-+ return FALSE;
-+#ifdef RANDR
-+ if (!GLAMORandRInit (pScreen))
-+ return FALSE;
-+#endif
-+ return TRUE;
-+}
-+
-+static Bool
-+GLAMOCreateResources(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ return glamoc->backend_funcs.createRes(pScreen);
-+}
-+
-+static void
-+GLAMOPreserve(KdCardInfo *card)
-+{
-+ GLAMOCardInfo *glamoc = card->driver;
-+
-+ glamoc->backend_funcs.preserve(card);
-+}
-+
-+static void
-+GLAMORestore(KdCardInfo *card)
-+{
-+ GLAMOCardInfo *glamoc = card->driver;
-+
-+ GLAMOUnmapReg(card, glamoc);
-+
-+ glamoc->backend_funcs.restore(card);
-+}
-+
-+static Bool
-+GLAMODPMS(ScreenPtr pScreen, int mode)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ return glamoc->backend_funcs.dpms(pScreen, mode);
-+}
-+
-+static Bool
-+GLAMOEnable(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ if (!glamoc->backend_funcs.enable(pScreen))
-+ return FALSE;
-+
-+ if ((glamoc->reg_base == NULL) && !GLAMOMapReg(pScreenPriv->screen->card,
-+ glamoc))
-+ return FALSE;
-+
-+ GLAMOSetOffscreen (pScreenPriv->screen);
-+
-+ return TRUE;
-+}
-+
-+static void
-+GLAMODisable(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+#if defined(USE_DRI) && defined(GLXEXT)
-+ GLAMOScreenInfo(pScreenPriv);
-+#endif /* USE_DRI && GLXEXT */
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ GLAMOUnmapReg(pScreenPriv->card, glamoc);
-+
-+ glamoc->backend_funcs.disable(pScreen);
-+}
-+
-+static void
-+GLAMOGetColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ glamoc->backend_funcs.getColors(pScreen, fb, n, pdefs);
-+}
-+
-+static void
-+GLAMOPutColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+
-+ glamoc->backend_funcs.putColors(pScreen, fb, n, pdefs);
-+}
-+
-+/* Compute log base 2 of val. */
-+int
-+GLAMOLog2(int val)
-+{
-+ int bits;
-+
-+ for (bits = 0; val != 0; val >>= 1, ++bits)
-+ ;
-+ return bits - 1;
-+}
-+
-+KdCardFuncs GLAMOFuncs = {
-+ GLAMOCardInit, /* cardinit */
-+ GLAMOScreenInit, /* scrinit */
-+ GLAMOInitScreen, /* initScreen */
-+ GLAMOFinishInitScreen, /* finishInitScreen */
-+ GLAMOCreateResources, /* createRes */
-+ GLAMOPreserve, /* preserve */
-+ GLAMOEnable, /* enable */
-+ GLAMODPMS, /* dpms */
-+ GLAMODisable, /* disable */
-+ GLAMORestore, /* restore */
-+ GLAMOScreenFini, /* scrfini */
-+ GLAMOCardFini, /* cardfini */
-+
-+#if 0
-+ GLAMOCursorInit, /* initCursor */
-+ GLAMOCursorEnable, /* enableCursor */
-+ GLAMOCursorDisable, /* disableCursor */
-+ GLAMOCursorFini, /* finiCursor */
-+ GLAMORecolorCursor, /* recolorCursor */
-+#else
-+ 0, /* initCursor */
-+ 0, /* enableCursor */
-+ 0, /* disableCursor */
-+ 0, /* finiCursor */
-+ 0, /* recolorCursor */
-+#endif
-+
-+
-+#if 1
-+ GLAMODrawInit, /* initAccel */
-+ GLAMODrawEnable, /* enableAccel */
-+ GLAMODrawDisable, /* disableAccel */
-+ GLAMODrawFini, /* finiAccel */
-+#else
-+ 0, /* initAccel */
-+ 0, /* enableAccel */
-+ 0, /* disableAccel */
-+ 0, /* finiAccel */
-+#endif
-+
-+ GLAMOGetColors, /* getColors */
-+ GLAMOPutColors, /* putColors */
-+};
-Index: xserver/hw/kdrive/glamo/glamo.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo.h 2007-09-26 17:45:48.000000000 +0800
-@@ -0,0 +1,386 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2003 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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 _GLAMO_H_
-+#define _GLAMO_H_
-+
-+#ifdef HAVE_CONFIG_H
-+#include <kdrive-config.h>
-+#endif
-+
-+#ifdef KDRIVEFBDEV
-+#include <fbdev.h>
-+#endif
-+#ifdef KDRIVEVESA
-+#include <vesa.h>
-+#endif
-+
-+#include "kxv.h"
-+
-+#undef XF86DRI
-+#ifdef XF86DRI
-+#define USE_DRI
-+#include "xf86drm.h"
-+#include "dri.h"
-+#ifdef GLXEXT
-+#include "GL/glxint.h"
-+#include "GL/glxtokens.h"
-+#include "glamo_dripriv.h"
-+#endif
-+#endif
-+
-+#define GLAMO_REG_BASE(c) ((c)->attr.address[0])
-+#define GLAMO_REG_SIZE(c) (0x2400)
-+
-+#ifdef __powerpc__
-+
-+static __inline__ void
-+MMIO_OUT16(__volatile__ void *base, const unsigned long offset,
-+ const unsigned int val)
-+{
-+ __asm__ __volatile__(
-+ "stwbrx %1,%2,%3\n\t"
-+ "eieio"
-+ : "=m" (*((volatile unsigned char *)base+offset))
-+ : "r" (val), "b" (base), "r" (offset));
-+}
-+
-+static __inline__ CARD32
-+MMIO_IN16(__volatile__ void *base, const unsigned long offset)
-+{
-+ register unsigned int val;
-+ __asm__ __volatile__(
-+ "lwbrx %0,%1,%2\n\t"
-+ "eieio"
-+ : "=r" (val)
-+ : "b" (base), "r" (offset),
-+ "m" (*((volatile unsigned char *)base+offset)));
-+ return val;
-+}
-+
-+#else
-+
-+#define MMIO_OUT16(mmio, a, v) (*(VOL16 *)((mmio) + (a)) = (v))
-+#define MMIO_IN16(mmio, a) (*(VOL16 *)((mmio) + (a)))
-+
-+#endif
-+
-+typedef volatile CARD8 VOL8;
-+typedef volatile CARD16 VOL16;
-+typedef volatile CARD32 VOL32;
-+
-+struct backend_funcs {
-+ void (*cardfini)(KdCardInfo *);
-+ void (*scrfini)(KdScreenInfo *);
-+ Bool (*initScreen)(ScreenPtr);
-+ Bool (*finishInitScreen)(ScreenPtr pScreen);
-+ Bool (*createRes)(ScreenPtr);
-+ void (*preserve)(KdCardInfo *);
-+ void (*restore)(KdCardInfo *);
-+ Bool (*dpms)(ScreenPtr, int);
-+ Bool (*enable)(ScreenPtr);
-+ void (*disable)(ScreenPtr);
-+ void (*getColors)(ScreenPtr, int, int, xColorItem *);
-+ void (*putColors)(ScreenPtr, int, int, xColorItem *);
-+#ifdef RANDR
-+ Bool (*randrSetConfig) (ScreenPtr, Rotation, int, RRScreenSizePtr);
-+#endif
-+};
-+
-+typedef struct _GLAMOCardInfo {
-+ union {
-+#ifdef KDRIVEFBDEV
-+ FbdevPriv fbdev;
-+#endif
-+#ifdef KDRIVEVESA
-+ VesaCardPrivRec vesa;
-+#endif
-+ } backend_priv;
-+ struct backend_funcs backend_funcs;
-+
-+ char *reg_base;
-+ Bool is_3362;
-+ CARD32 crtc_pitch;
-+ CARD32 crtc2_pitch;
-+#ifdef USE_DRI
-+ int drmFd;
-+#endif /* USE_DRI */
-+ Bool use_fbdev, use_vesa;
-+} GLAMOCardInfo;
-+
-+#define getGLAMOCardInfo(kd) ((GLAMOCardInfo *) ((kd)->card->driver))
-+#define GLAMOCardInfo(kd) GLAMOCardInfo *glamoc = getGLAMOCardInfo(kd)
-+
-+typedef struct _GLAMOCursor {
-+ int width, height;
-+ int xhot, yhot;
-+
-+ Bool has_cursor;
-+ CursorPtr pCursor;
-+ Pixel source, mask;
-+ KdOffscreenArea *area;
-+} GLAMOCursor;
-+
-+typedef struct _GLAMOPortPriv {
-+ int brightness;
-+ int saturation;
-+ RegionRec clip;
-+ CARD32 size;
-+ KdOffscreenArea *off_screen;
-+ DrawablePtr pDraw;
-+ PixmapPtr pPixmap;
-+
-+ CARD32 src_offset;
-+ CARD32 src_pitch;
-+ CARD8 *src_addr;
-+
-+ int id;
-+ int src_x1, src_y1, src_x2, src_y2;
-+ int dst_x1, dst_y1, dst_x2, dst_y2;
-+ int src_w, src_h, dst_w, dst_h;
-+} GLAMOPortPrivRec, *GLAMOPortPrivPtr;
-+
-+typedef struct _dmaBuf {
-+ int size;
-+ int used;
-+ void *address;
-+#ifdef USE_DRI
-+ drmBufPtr drmBuf;
-+#endif
-+} dmaBuf;
-+
-+typedef struct _GLAMOScreenInfo {
-+ union {
-+#ifdef KDRIVEFBDEV
-+ FbdevScrPriv fbdev;
-+#endif
-+#ifdef KDRIVEVESA
-+ VesaScreenPrivRec vesa;
-+#endif
-+ } backend_priv;
-+ KaaScreenInfoRec kaa;
-+
-+ GLAMOCardInfo *glamoc;
-+ KdScreenInfo *screen;
-+
-+ int scratch_offset;
-+ int scratch_next;
-+ KdOffscreenArea *scratch_area;
-+
-+ GLAMOCursor cursor;
-+
-+ KdVideoAdaptorPtr pAdaptor;
-+ int num_texture_ports;
-+
-+ Bool using_dri; /* If we use the DRM for DMA. */
-+
-+ KdOffscreenArea *dma_space; /* For "DMA" from framebuffer. */
-+ CARD16 *ring_addr; /* Beginning of ring buffer. */
-+ int ring_write; /* Index of write ptr in ring. */
-+ int ring_read; /* Index of read ptr in ring. */
-+ int ring_len;
-+
-+ dmaBuf *indirectBuffer;
-+ int indirectStart;
-+
-+#ifdef USE_DRI
-+ Bool dma_started;
-+
-+ drmSize registerSize;
-+ drmHandle registerHandle;
-+ drmHandle fbHandle;
-+
-+ drmSize gartSize;
-+ drmHandle agpMemHandle; /* Handle from drmAgpAlloc */
-+ unsigned long gartOffset;
-+ unsigned char *AGP; /* Map */
-+ int agpMode;
-+ drmSize pciSize;
-+ drmHandle pciMemHandle;
-+
-+ /* ring buffer data */
-+ unsigned long ringStart; /* Offset into AGP space */
-+ drmHandle ringHandle; /* Handle from drmAddMap */
-+ drmSize ringMapSize; /* Size of map */
-+ int ringSize; /* Size of ring (MB) */
-+ unsigned char *ring; /* Map */
-+
-+ unsigned long ringReadOffset; /* Offset into AGP space */
-+ drmHandle ringReadPtrHandle; /* Handle from drmAddMap */
-+ drmSize ringReadMapSize; /* Size of map */
-+ unsigned char *ringReadPtr; /* Map */
-+
-+ /* vertex/indirect buffer data */
-+ unsigned long bufStart; /* Offset into AGP space */
-+ drmHandle bufHandle; /* Handle from drmAddMap */
-+ drmSize bufMapSize; /* Size of map */
-+ int bufSize; /* Size of buffers (MB) */
-+ unsigned char *buf; /* Map */
-+ int bufNumBufs; /* Number of buffers */
-+ drmBufMapPtr buffers; /* Buffer map */
-+
-+ /* AGP Texture data */
-+ unsigned long gartTexStart; /* Offset into AGP space */
-+ drmHandle gartTexHandle; /* Handle from drmAddMap */
-+ drmSize gartTexMapSize; /* Size of map */
-+ int gartTexSize; /* Size of AGP tex space (MB) */
-+ unsigned char *gartTex; /* Map */
-+ int log2GARTTexGran;
-+
-+ int DMAusecTimeout; /* CCE timeout in usecs */
-+
-+ /* DRI screen private data */
-+ int frontOffset;
-+ int frontPitch;
-+ int backOffset;
-+ int backPitch;
-+ int depthOffset;
-+ int depthPitch;
-+ int spanOffset;
-+ int textureOffset;
-+ int textureSize;
-+ int log2TexGran;
-+
-+ int irqEnabled;
-+
-+ int serverContext;
-+
-+ DRIInfoPtr pDRIInfo;
-+#ifdef GLXEXT
-+ int numVisualConfigs;
-+ __GLXvisualConfig *pVisualConfigs;
-+ GLAMOConfigPrivPtr pVisualConfigsPriv;
-+#endif /* GLXEXT */
-+#endif /* USE_DRI */
-+} GLAMOScreenInfo;
-+
-+#define getGLAMOScreenInfo(kd) ((GLAMOScreenInfo *) ((kd)->screen->driver))
-+#define GLAMOScreenInfo(kd) GLAMOScreenInfo *glamos = getGLAMOScreenInfo(kd)
-+
-+typedef union { float f; CARD32 i; } fi_type;
-+
-+/* Surely there's a better way to go about this */
-+static inline CARD32
-+GLAMOFloatAsInt(float val)
-+{
-+ fi_type fi;
-+
-+ fi.f = val;
-+ return fi.i;
-+}
-+
-+#define GET_FLOAT_BITS(x) GLAMOFloatAsInt(x)
-+
-+static inline void
-+MMIOSetBitMask(char *mmio, CARD32 reg, CARD16 mask, CARD16 val)
-+{
-+ CARD16 tmp;
-+
-+ val &= mask;
-+
-+ tmp = MMIO_IN16(mmio, reg);
-+ tmp &= ~mask;
-+ tmp |= val;
-+
-+ MMIO_OUT16(mmio, reg, tmp);
-+}
-+
-+/* glamo.c */
-+Bool
-+GLAMOMapReg(KdCardInfo *card, GLAMOCardInfo *glamoc);
-+
-+void
-+GLAMOUnmapReg(KdCardInfo *card, GLAMOCardInfo *glamoc);
-+
-+/* glamo_draw.c */
-+void
-+GLAMODrawSetup(ScreenPtr pScreen);
-+
-+Bool
-+GLAMODrawInit(ScreenPtr pScreen);
-+
-+void
-+GLAMODrawEnable(ScreenPtr pScreen);
-+
-+void
-+GLAMODrawDisable(ScreenPtr pScreen);
-+
-+void
-+GLAMODrawFini(ScreenPtr pScreen);
-+
-+/* glamo_dri.c */
-+#ifdef USE_DRI
-+Bool
-+GLAMODRIScreenInit(ScreenPtr pScreen);
-+
-+void
-+GLAMODRICloseScreen(ScreenPtr pScreen);
-+
-+void
-+GLAMODRIDMAStart(GLAMOScreenInfo *glamos);
-+
-+void
-+GLAMODRIDMAStop(GLAMOScreenInfo *glamos);
-+
-+void
-+GLAMODRIDMAReset(GLAMOScreenInfo *glamos);
-+
-+void
-+GLAMODRIDispatchIndirect(GLAMOScreenInfo *glamos, Bool discard);
-+
-+drmBufPtr
-+GLAMODRIGetBuffer(GLAMOScreenInfo *glamos);
-+
-+#endif /* USE_DRI */
-+
-+/* glamo_cursor.c */
-+Bool
-+GLAMOCursorInit(ScreenPtr pScreen);
-+
-+void
-+GLAMOCursorEnable(ScreenPtr pScreen);
-+
-+void
-+GLAMOCursorDisable(ScreenPtr pScreen);
-+
-+void
-+GLAMOCursorFini(ScreenPtr pScreen);
-+
-+void
-+GLAMORecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef);
-+
-+int
-+GLAMOLog2(int val);
-+
-+/* glamo_video.c */
-+Bool
-+GLAMOInitVideo(ScreenPtr pScreen);
-+
-+void
-+GLAMOFiniVideo(ScreenPtr pScreen);
-+
-+extern KdCardFuncs GLAMOFuncs;
-+
-+#endif /* _GLAMO_H_ */
-Index: xserver/hw/kdrive/glamo/glamo_dma.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo_dma.c 2007-09-26 17:45:16.000000000 +0800
-@@ -0,0 +1,410 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2004 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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 <sys/time.h>
-+
-+#include "glamo.h"
-+#include "glamo-regs.h"
-+#include "glamo_dma.h"
-+#include "glamo_draw.h"
-+
-+#ifdef USE_DRI
-+#include "radeon_common.h"
-+#include "glamo_sarea.h"
-+#endif /* USE_DRI */
-+
-+#define DEBUG_FIFO 1
-+
-+#if DEBUG_FIFO
-+static void
-+GLAMODebugFifo(GLAMOScreenInfo *glamos)
-+{
-+ GLAMOCardInfo *glamoc = glamos->glamoc;
-+ char *mmio = glamoc->reg_base;
-+ CARD32 offset;
-+
-+ ErrorF("GLAMO_REG_CQ_STATUS: 0x%04x\n",
-+ MMIO_IN16(mmio, GLAMO_REG_CQ_STATUS));
-+
-+ offset = MMIO_IN16(mmio, GLAMO_REG_CQ_WRITE_ADDRL);
-+ offset |= (MMIO_IN16(mmio, GLAMO_REG_CQ_WRITE_ADDRH) << 16) & 0x7;
-+ ErrorF("GLAMO_REG_CQ_WRITE_ADDR: 0x%08x\n", (unsigned int) offset);
-+
-+ offset = MMIO_IN16(mmio, GLAMO_REG_CQ_READ_ADDRL);
-+ offset |= (MMIO_IN16(mmio, GLAMO_REG_CQ_READ_ADDRH) << 16) & 0x7;
-+ ErrorF("GLAMO_REG_CQ_READ_ADDR: 0x%08x\n", (unsigned int) offset);
-+}
-+#endif
-+
-+void
-+GLAMOEngineReset(ScreenPtr pScreen, enum glamo_engine engine)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+ CARD32 reg;
-+ CARD16 mask;
-+ char *mmio = glamoc->reg_base;
-+
-+ if (!mmio)
-+ return;
-+
-+ switch (engine) {
-+ case GLAMO_ENGINE_ISP:
-+ reg = GLAMO_REG_CLOCK_ISP;
-+ mask = GLAMO_CLOCK_ISP2_RESET;
-+ break;
-+ case GLAMO_ENGINE_CQ:
-+ reg = GLAMO_REG_CLOCK_2D;
-+ mask = GLAMO_CLOCK_2D_CQ_RESET;
-+ break;
-+ case GLAMO_ENGINE_2D:
-+ reg = GLAMO_REG_CLOCK_2D;
-+ mask = GLAMO_CLOCK_2D_RESET;
-+ break;
-+ }
-+
-+ MMIOSetBitMask(mmio, reg, mask, 0xffff);
-+ usleep(1000);
-+ MMIOSetBitMask(mmio, reg, mask, 0);
-+ usleep(1000);
-+}
-+
-+void
-+GLAMOEngineDisable(ScreenPtr pScreen, enum glamo_engine engine)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+ char *mmio = glamoc->reg_base;
-+
-+ if (!mmio)
-+ return;
-+
-+ return;
-+}
-+
-+void
-+GLAMOEngineEnable(ScreenPtr pScreen, enum glamo_engine engine)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+ char *mmio = glamoc->reg_base;
-+
-+ if (!mmio)
-+ return;
-+
-+ switch (engine) {
-+ case GLAMO_ENGINE_ISP:
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_ISP,
-+ GLAMO_CLOCK_ISP_EN_M2CLK |
-+ GLAMO_CLOCK_ISP_EN_I1CLK,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_GEN5_2,
-+ GLAMO_CLOCK_GEN52_EN_DIV_ICLK,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_GEN5_1,
-+ GLAMO_CLOCK_GEN51_EN_DIV_JCLK,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_HOSTBUS(2),
-+ GLAMO_HOSTBUS2_MMIO_EN_ISP,
-+ 0xffff);
-+ break;
-+ case GLAMO_ENGINE_CQ:
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_2D,
-+ GLAMO_CLOCK_2D_EN_M6CLK,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_HOSTBUS(2),
-+ GLAMO_HOSTBUS2_MMIO_EN_CQ,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_GEN5_1,
-+ GLAMO_CLOCK_GEN51_EN_DIV_MCLK,
-+ 0xffff);
-+ break;
-+ case GLAMO_ENGINE_2D:
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_2D,
-+ GLAMO_CLOCK_2D_EN_M7CLK |
-+ GLAMO_CLOCK_2D_EN_GCLK |
-+ GLAMO_CLOCK_2D_DG_M7CLK |
-+ GLAMO_CLOCK_2D_DG_GCLK,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_HOSTBUS(2),
-+ GLAMO_HOSTBUS2_MMIO_EN_2D,
-+ 0xffff);
-+ MMIOSetBitMask(mmio, GLAMO_REG_CLOCK_GEN5_1,
-+ GLAMO_CLOCK_GEN51_EN_DIV_GCLK,
-+ 0xffff);
-+ break;
-+ }
-+}
-+
-+void
-+GLAMOWaitIdle(GLAMOScreenInfo *glamos)
-+{
-+ GLAMOCardInfo *glamoc = glamos->glamoc;
-+ char *mmio = glamoc->reg_base;
-+ CARD16 status;
-+ TIMEOUT_LOCALS;
-+
-+ if (glamos->indirectBuffer != NULL)
-+ GLAMOFlushIndirect(glamos, 0);
-+
-+#ifdef USE_DRI
-+ if (glamos->using_dri) {
-+ int ret = 0;
-+ int cmd = (glamoc->is_3362 ? DRM_RADEON_CP_IDLE :
-+ DRM_R128_CCE_IDLE);
-+ WHILE_NOT_TIMEOUT(2) {
-+ ret = drmCommandNone(glamoc->drmFd, cmd);
-+ if (ret != -EBUSY)
-+ break;
-+ }
-+ if (TIMEDOUT()) {
-+ GLAMODebugFifo(glamos);
-+ FatalError("Timed out idling CCE (card hung)\n");
-+ }
-+ if (ret != 0)
-+ ErrorF("Failed to idle DMA, returned %d\n", ret);
-+ return;
-+ }
-+#endif
-+
-+ WHILE_NOT_TIMEOUT(.5) {
-+ status = MMIO_IN16(mmio, GLAMO_REG_CQ_STATUS);
-+ if ((status & (1 << 2)) && !(status & (1 << 8)))
-+ break;
-+ }
-+ if (TIMEDOUT()) {
-+ ErrorF("Timeout idling accelerator, resetting...\n");
-+ GLAMOEngineReset(glamos->screen->pScreen, GLAMO_ENGINE_CQ);
-+ GLAMODrawSetup(glamos->screen->pScreen);
-+ }
-+
-+#if DEBUG_FIFO
-+ ErrorF("Idle?\n");
-+ GLAMODebugFifo(glamos);
-+#endif
-+}
-+
-+dmaBuf *
-+GLAMOGetDMABuffer(GLAMOScreenInfo *glamos)
-+{
-+ dmaBuf *buf;
-+
-+ buf = (dmaBuf *)xalloc(sizeof(dmaBuf));
-+ if (buf == NULL)
-+ return NULL;
-+
-+#ifdef USE_DRI
-+ if (glamos->using_dri) {
-+ buf->drmBuf = GLAMODRIGetBuffer(glamos);
-+ if (buf->drmBuf == NULL) {
-+ xfree(buf);
-+ return NULL;
-+ }
-+ buf->size = buf->drmBuf->total;
-+ buf->used = buf->drmBuf->used;
-+ buf->address = buf->drmBuf->address;
-+ return buf;
-+ }
-+#endif /* USE_DRI */
-+
-+ buf->size = glamos->ring_len / 2;
-+ buf->address = xalloc(buf->size);
-+ if (buf->address == NULL) {
-+ xfree(buf);
-+ return NULL;
-+ }
-+ buf->used = 0;
-+
-+ return buf;
-+}
-+
-+static void
-+GLAMODispatchIndirectDMA(GLAMOScreenInfo *glamos)
-+{
-+ GLAMOCardInfo *glamoc = glamos->glamoc;
-+ dmaBuf *buf = glamos->indirectBuffer;
-+ char *mmio = glamoc->reg_base;
-+ CARD16 *addr;
-+ int count, ring_count;
-+ TIMEOUT_LOCALS;
-+
-+ addr = (CARD16 *)((char *)buf->address + glamos->indirectStart);
-+ count = (buf->used - glamos->indirectStart) / 2;
-+ ring_count = glamos->ring_len / 2;
-+
-+ WHILE_NOT_TIMEOUT(.5) {
-+ if (count <= 0)
-+ break;
-+
-+ glamos->ring_addr[glamos->ring_write++] = *addr++;
-+ if (glamos->ring_write >= ring_count)
-+ glamos->ring_write = 0;
-+
-+ while (glamos->ring_write == glamos->ring_read)
-+ {
-+ glamos->ring_read =
-+ MMIO_IN16(mmio, GLAMO_REG_CQ_READ_ADDRL);
-+ glamos->ring_read |=
-+ (MMIO_IN16(mmio, GLAMO_REG_CQ_READ_ADDRH) & 0x7) << 16;
-+ }
-+
-+ count--;
-+ }
-+ if (TIMEDOUT()) {
-+ ErrorF("Timeout submitting packets, resetting...\n");
-+ GLAMOEngineReset(glamos->screen->pScreen, GLAMO_ENGINE_CQ);
-+ GLAMODrawSetup(glamos->screen->pScreen);
-+ }
-+
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_WRITE_ADDRH,
-+ (glamos->ring_write >> 15) & 0x7);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_WRITE_ADDRL,
-+ (glamos->ring_write << 1) & 0xffff);
-+}
-+
-+void
-+GLAMOFlushIndirect(GLAMOScreenInfo *glamos, Bool discard)
-+{
-+ dmaBuf *buf = glamos->indirectBuffer;
-+
-+ if ((glamos->indirectStart == buf->used) && !discard)
-+ return;
-+
-+#if DEBUG_FIFO
-+ ErrorF("Dispatching %d DWORDS\n", (buf->used - glamos->indirectStart) /
-+ 4);
-+#endif
-+
-+#ifdef USE_DRI
-+ if (glamos->using_dri) {
-+ buf->drmBuf->used = buf->used;
-+ GLAMODRIDispatchIndirect(glamos, discard);
-+ if (discard) {
-+ buf->drmBuf = GLAMODRIGetBuffer(glamos);
-+ buf->size = buf->drmBuf->total;
-+ buf->used = buf->drmBuf->used;
-+ buf->address = buf->drmBuf->address;
-+ glamos->indirectStart = 0;
-+ } else {
-+ /* Start on a double word boundary */
-+ glamos->indirectStart = buf->used = (buf->used + 7) & ~7;
-+ }
-+ return;
-+ }
-+#endif /* USE_DRI */
-+
-+ GLAMODispatchIndirectDMA(glamos);
-+
-+ buf->used = 0;
-+ glamos->indirectStart = 0;
-+}
-+
-+static Bool
-+GLAMODMAInit(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ GLAMOCardInfo(pScreenPriv);
-+ char *mmio = glamoc->reg_base;
-+ int cq_len = 63;
-+
-+ glamos->ring_len = (cq_len + 1) * 1024;
-+
-+ glamos->dma_space = KdOffscreenAlloc(pScreen, glamos->ring_len + 4,
-+ 16, TRUE, NULL, NULL);
-+ if (!glamos->dma_space)
-+ return FALSE;
-+
-+ glamos->ring_addr = (CARD16 *) (pScreenPriv->screen->memory_base +
-+ glamos->dma_space->offset);
-+ glamos->ring_read = 0;
-+ glamos->ring_write = 0;
-+
-+ /* make the decoder happy? */
-+ glamos->ring_addr[glamos->ring_len / 2] = 0x0;
-+ glamos->ring_addr[glamos->ring_len / 2 + 1] = 0x0;
-+
-+ GLAMOEngineEnable(glamos->screen->pScreen, GLAMO_ENGINE_CQ);
-+ GLAMOEngineReset(glamos->screen->pScreen, GLAMO_ENGINE_CQ);
-+
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_BASE_ADDRL,
-+ glamos->dma_space->offset & 0xffff);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_BASE_ADDRH,
-+ (glamos->dma_space->offset >> 16) & 0x7f);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_LEN, cq_len);
-+
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_WRITE_ADDRH, 0);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_WRITE_ADDRL, 0);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_READ_ADDRH, 0);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_READ_ADDRL, 0);
-+ MMIO_OUT16(mmio, GLAMO_REG_CQ_CONTROL,
-+ 1 << 12 |
-+ 5 << 8 |
-+ 8 << 4);
-+
-+ return TRUE;
-+}
-+
-+void
-+GLAMODMASetup(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+#ifdef USE_DRI
-+ if (glamos->using_dri)
-+ GLAMODRIDMAStart(glamos);
-+#endif /* USE_DRI */
-+
-+ if (!glamos->using_dri)
-+ GLAMODMAInit(pScreen);
-+
-+ glamos->indirectBuffer = GLAMOGetDMABuffer(glamos);
-+ if (glamos->indirectBuffer == FALSE)
-+ FatalError("Failed to allocate DMA buffer.\n");
-+
-+ if (glamos->using_dri)
-+ ErrorF("Initialized DRI DMA\n");
-+ else
-+ ErrorF("Initialized DMA\n");
-+}
-+
-+void
-+GLAMODMATeardown(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+ GLAMOWaitIdle(glamos);
-+
-+#ifdef USE_DRI
-+ if (glamos->using_dri)
-+ GLAMODRIDMAStop(glamos);
-+#endif /* USE_DRI */
-+
-+ xfree(glamos->indirectBuffer->address);
-+ xfree(glamos->indirectBuffer);
-+ glamos->indirectBuffer = NULL;
-+}
-Index: xserver/hw/kdrive/glamo/glamo_dma.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo_dma.h 2007-09-25 19:17:53.000000000 +0800
-@@ -0,0 +1,159 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2004 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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 _GLAMO_DMA_H_
-+#define _GLAMO_DMA_H_
-+
-+#define CCE_DEBUG 1
-+
-+#if !CCE_DEBUG
-+#define DMA_PACKET0(reg, count) \
-+ (reg)
-+#else
-+#define DMA_PACKET0(reg, count) \
-+ (__packet0count = (count), __reg = (reg), \
-+ (reg))
-+#endif
-+#define DMA_PACKET1(reg1, reg2) \
-+ (GLAMO_CCE_PACKET1 | \
-+ (((reg2) >> 2) << GLAMO_CCE_PACKET1_REG_2_SHIFT) | ((reg1) >> 2))
-+#define DMA_PACKET3(type, count) \
-+ ((type) | (((count) - 1) << 16))
-+
-+#if !CCE_DEBUG
-+
-+#define RING_LOCALS CARD16 *__head; int __count
-+#define BEGIN_DMA(n) \
-+do { \
-+ if ((glamos->indirectBuffer->used + 2 * (n)) > \
-+ glamos->indirectBuffer->size) { \
-+ GLAMOFlushIndirect(glamos, 1); \
-+ } \
-+ __head = (CARD16 *)((char *)glamos->indirectBuffer->address + \
-+ glamos->indirectBuffer->used); \
-+ __count = 0; \
-+} while (0)
-+#define END_DMA() do { \
-+ glamos->indirectBuffer->used += __count * 2; \
-+} while (0)
-+
-+#else
-+
-+#define RING_LOCALS \
-+ CARD16 *__head; int __count, __total, __reg, __packet0count
-+#define BEGIN_DMA(n) \
-+do { \
-+ if ((glamos->indirectBuffer->used + 2 * (n)) > \
-+ glamos->indirectBuffer->size) { \
-+ GLAMOFlushIndirect(glamos, 1); \
-+ } \
-+ __head = (CARD16 *)((char *)glamos->indirectBuffer->address + \
-+ glamos->indirectBuffer->used); \
-+ __count = 0; \
-+ __total = n; \
-+ __reg = 0; \
-+ __packet0count = 0; \
-+} while (0)
-+#define END_DMA() do { \
-+ if (__count != __total) \
-+ FatalError("count != total (%d vs %d) at %s:%d\n", \
-+ __count, __total, __FILE__, __LINE__); \
-+ glamos->indirectBuffer->used += __count * 2; \
-+} while (0)
-+
-+#endif
-+
-+#define OUT_RING(val) do { \
-+ __head[__count++] = (val); \
-+} while (0)
-+
-+#define OUT_RING_REG(reg, val) do { \
-+ if (__reg != reg) \
-+ FatalError("unexpected reg (0x%x vs 0x%x) at %s:%d\n", \
-+ reg, __reg, __FILE__, __LINE__); \
-+ if (__packet0count-- <= 0) \
-+ FatalError("overrun of packet0 at %s:%d\n", \
-+ __FILE__, __LINE__); \
-+ __head[__count++] = (val); \
-+ __reg += 4; \
-+} while (0)
-+
-+#define OUT_RING_F(x) OUT_RING(GET_FLOAT_BITS(x))
-+
-+#define OUT_REG(reg, val) \
-+do { \
-+ OUT_RING(DMA_PACKET0(reg, 1)); \
-+ OUT_RING(val); \
-+} while (0)
-+
-+#define TIMEOUT_LOCALS struct timeval _target, _curtime
-+
-+static inline Bool
-+tv_le(struct timeval *tv1, struct timeval *tv2)
-+{
-+ if (tv1->tv_sec < tv2->tv_sec ||
-+ (tv1->tv_sec == tv2->tv_sec && tv1->tv_usec < tv2->tv_usec))
-+ return TRUE;
-+ else
-+ return FALSE;
-+}
-+
-+#define WHILE_NOT_TIMEOUT(_timeout) \
-+ gettimeofday(&_target, NULL); \
-+ _target.tv_usec += ((_timeout) * 1000000); \
-+ _target.tv_sec += _target.tv_usec / 1000000; \
-+ _target.tv_usec = _target.tv_usec % 1000000; \
-+ while (gettimeofday(&_curtime, NULL), tv_le(&_curtime, &_target))
-+
-+#define TIMEDOUT() (!tv_le(&_curtime, &_target))
-+
-+dmaBuf *
-+GLAMOGetDMABuffer(GLAMOScreenInfo *glamos);
-+
-+void
-+GLAMOFlushIndirect(GLAMOScreenInfo *glamos, Bool discard);
-+
-+void
-+GLAMODMASetup(ScreenPtr pScreen);
-+
-+void
-+GLAMODMATeardown(ScreenPtr pScreen);
-+
-+enum glamo_engine {
-+ GLAMO_ENGINE_ISP,
-+ GLAMO_ENGINE_CQ,
-+ GLAMO_ENGINE_2D,
-+};
-+
-+void
-+GLAMOEngineEnable(ScreenPtr pScreen, enum glamo_engine engine);
-+
-+void
-+GLAMOEngineDisable(ScreenPtr pScreen, enum glamo_engine engine);
-+
-+void
-+GLAMOEngineReset(ScreenPtr pScreen, enum glamo_engine engine);
-+
-+#endif /* _GLAMO_DMA_H_ */
-Index: xserver/hw/kdrive/glamo/glamo_draw.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo_draw.c 2007-09-26 17:46:30.000000000 +0800
-@@ -0,0 +1,522 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2003 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <kdrive-config.h>
-+#endif
-+#include "glamo.h"
-+#include "glamo-regs.h"
-+#include "glamo_dma.h"
-+#include "glamo_draw.h"
-+#include "kaa.h"
-+
-+static const CARD8 GLAMOSolidRop[16] = {
-+ /* GXclear */ 0x00, /* 0 */
-+ /* GXand */ 0xa0, /* src AND dst */
-+ /* GXandReverse */ 0x50, /* src AND NOT dst */
-+ /* GXcopy */ 0xf0, /* src */
-+ /* GXandInverted*/ 0x0a, /* NOT src AND dst */
-+ /* GXnoop */ 0xaa, /* dst */
-+ /* GXxor */ 0x5a, /* src XOR dst */
-+ /* GXor */ 0xfa, /* src OR dst */
-+ /* GXnor */ 0x05, /* NOT src AND NOT dst */
-+ /* GXequiv */ 0xa5, /* NOT src XOR dst */
-+ /* GXinvert */ 0x55, /* NOT dst */
-+ /* GXorReverse */ 0xf5, /* src OR NOT dst */
-+ /* GXcopyInverted*/ 0x0f, /* NOT src */
-+ /* GXorInverted */ 0xaf, /* NOT src OR dst */
-+ /* GXnand */ 0x5f, /* NOT src OR NOT dst */
-+ /* GXset */ 0xff, /* 1 */
-+};
-+
-+static const CARD8 GLAMOBltRop[16] = {
-+ /* GXclear */ 0x00, /* 0 */
-+ /* GXand */ 0x88, /* src AND dst */
-+ /* GXandReverse */ 0x44, /* src AND NOT dst */
-+ /* GXcopy */ 0xcc, /* src */
-+ /* GXandInverted*/ 0x22, /* NOT src AND dst */
-+ /* GXnoop */ 0xaa, /* dst */
-+ /* GXxor */ 0x66, /* src XOR dst */
-+ /* GXor */ 0xee, /* src OR dst */
-+ /* GXnor */ 0x11, /* NOT src AND NOT dst */
-+ /* GXequiv */ 0x99, /* NOT src XOR dst */
-+ /* GXinvert */ 0x55, /* NOT dst */
-+ /* GXorReverse */ 0xdd, /* src OR NOT dst */
-+ /* GXcopyInverted*/ 0x33, /* NOT src */
-+ /* GXorInverted */ 0xbb, /* NOT src OR dst */
-+ /* GXnand */ 0x77, /* NOT src OR NOT dst */
-+ /* GXset */ 0xff, /* 1 */
-+};
-+
-+GLAMOScreenInfo *accel_glamos;
-+CARD32 settings, color, src_pitch_offset, dst_pitch_offset;
-+
-+int sample_count;
-+float sample_offsets_x[255];
-+float sample_offsets_y[255];
-+
-+void
-+GLAMODrawSetup(ScreenPtr pScreen)
-+{
-+ GLAMOEngineEnable(pScreen, GLAMO_ENGINE_2D);
-+ GLAMOEngineReset(pScreen, GLAMO_ENGINE_2D);
-+}
-+
-+static void
-+GLAMOWaitMarker(ScreenPtr pScreen, int marker)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+ ENTER_DRAW(0);
-+ GLAMOWaitIdle(glamos);
-+ LEAVE_DRAW(0);
-+}
-+
-+#if GLAMO_TRACE_DRAW
-+void
-+GLAMOEnterDraw (PixmapPtr pPix, const char *function)
-+{
-+ if (pPix != NULL) {
-+ KdScreenPriv(pPix->drawable.pScreen);
-+ CARD32 offset;
-+
-+ offset = ((CARD8 *)pPix->devPrivate.ptr -
-+ pScreenPriv->screen->memory_base);
-+
-+ ErrorF ("Enter %s 0x%x (%dx%dx%d/%d)\n", function, (unsigned int) offset,
-+ pPix->drawable.width, pPix->drawable.height, pPix->drawable.depth,
-+ (unsigned int) pPix->drawable.bitsPerPixel);
-+ } else
-+ ErrorF ("Enter %s\n", function);
-+}
-+
-+void
-+GLAMOLeaveDraw (PixmapPtr pPix, const char *function)
-+{
-+ if (pPix != NULL) {
-+ KdScreenPriv(pPix->drawable.pScreen);
-+ CARD32 offset;
-+
-+ offset = ((CARD8 *)pPix->devPrivate.ptr -
-+ pScreenPriv->screen->memory_base);
-+
-+ ErrorF ("Leave %s 0x%x\n", function, (unsigned int) offset);
-+ } else
-+ ErrorF ("Leave %s\n", function);
-+}
-+#endif
-+
-+static Bool
-+GLAMOPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
-+{
-+ KdScreenPriv(pPix->drawable.pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ CARD32 offset, pitch;
-+ FbBits mask;
-+ RING_LOCALS;
-+
-+ if (pPix->drawable.bitsPerPixel != 16)
-+ GLAMO_FALLBACK(("Only 16bpp is supported\n"));
-+
-+ mask = FbFullMask(16);
-+ if ((pm & mask) != mask)
-+ GLAMO_FALLBACK(("Can't do planemask 0x%08x\n", (unsigned int) pm));
-+
-+ accel_glamos = glamos;
-+
-+ settings = GLAMOSolidRop[alu] << 8;
-+ offset = ((CARD8 *) pPix->devPrivate.ptr -
-+ pScreenPriv->screen->memory_base);
-+ pitch = pPix->devKind;
-+
-+ ENTER_DRAW(pPix);
-+
-+ BEGIN_DMA(12);
-+ OUT_REG(GLAMO_REG_2D_DST_ADDRL, offset & 0xffff);
-+ OUT_REG(GLAMO_REG_2D_DST_ADDRH, (offset >> 16) & 0x7f);
-+ OUT_REG(GLAMO_REG_2D_DST_PITCH, pitch);
-+ OUT_REG(GLAMO_REG_2D_DST_HEIGHT, pPix->drawable.height);
-+ OUT_REG(GLAMO_REG_2D_PAT_FG, fg);
-+ OUT_REG(GLAMO_REG_2D_COMMAND2, settings);
-+ END_DMA();
-+
-+ LEAVE_DRAW(pPix);
-+
-+ return TRUE;
-+}
-+
-+static void
-+GLAMOSolid(int x1, int y1, int x2, int y2)
-+{
-+ ENTER_DRAW(0);
-+ GLAMOScreenInfo *glamos = accel_glamos;
-+ RING_LOCALS;
-+
-+ BEGIN_DMA(14);
-+ OUT_REG(GLAMO_REG_2D_DST_X, x1);
-+ OUT_REG(GLAMO_REG_2D_DST_Y, y1);
-+ OUT_REG(GLAMO_REG_2D_RECT_WIDTH, x2 - x1);
-+ OUT_REG(GLAMO_REG_2D_RECT_HEIGHT, y2 - y1);
-+ OUT_REG(GLAMO_REG_2D_COMMAND3, 0);
-+ OUT_REG(GLAMO_REG_2D_ID1, 0);
-+ OUT_REG(GLAMO_REG_2D_ID2, 0);
-+ END_DMA();
-+ LEAVE_DRAW(0);
-+}
-+
-+static void
-+GLAMODoneSolid(void)
-+{
-+ ENTER_DRAW(0);
-+ LEAVE_DRAW(0);
-+}
-+
-+static Bool
-+GLAMOPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, Pixel pm)
-+{
-+ KdScreenPriv(pDst->drawable.pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ CARD32 src_offset, src_pitch;
-+ CARD32 dst_offset, dst_pitch;
-+ FbBits mask;
-+ RING_LOCALS;
-+
-+ if (pSrc->drawable.bitsPerPixel != 16 ||
-+ pDst->drawable.bitsPerPixel != 16)
-+ GLAMO_FALLBACK(("Only 16bpp is supported"));
-+
-+ mask = FbFullMask(16);
-+ if ((pm & mask) != mask)
-+ GLAMO_FALLBACK(("Can't do planemask 0x%08x", (unsigned int) pm));
-+
-+ accel_glamos = glamos;
-+
-+ src_offset = ((CARD8 *) pSrc->devPrivate.ptr -
-+ pScreenPriv->screen->memory_base);
-+ src_pitch = pSrc->devKind;
-+
-+ dst_offset = ((CARD8 *) pDst->devPrivate.ptr -
-+ pScreenPriv->screen->memory_base);
-+ dst_pitch = pDst->devKind;
-+
-+ settings = GLAMOBltRop[alu] << 8;
-+
-+ ENTER_DRAW (pDst);
-+
-+ BEGIN_DMA(16);
-+
-+ OUT_REG(GLAMO_REG_2D_SRC_ADDRL, src_offset & 0xffff);
-+ OUT_REG(GLAMO_REG_2D_SRC_ADDRH, (src_offset >> 16) & 0x7f);
-+ OUT_REG(GLAMO_REG_2D_SRC_PITCH, src_pitch);
-+
-+ OUT_REG(GLAMO_REG_2D_DST_ADDRL, dst_offset & 0xffff);
-+ OUT_REG(GLAMO_REG_2D_DST_ADDRH, (dst_offset >> 16) & 0x7f);
-+ OUT_REG(GLAMO_REG_2D_DST_PITCH, dst_pitch);
-+ OUT_REG(GLAMO_REG_2D_DST_HEIGHT, pDst->drawable.height);
-+
-+ OUT_REG(GLAMO_REG_2D_COMMAND2, settings);
-+
-+ END_DMA();
-+
-+ LEAVE_DRAW(pDst);
-+
-+ return TRUE;
-+}
-+
-+static void
-+GLAMOCopy(int srcX, int srcY, int dstX, int dstY, int w, int h)
-+{
-+ GLAMOScreenInfo *glamos = accel_glamos;
-+ RING_LOCALS;
-+
-+ BEGIN_DMA(18);
-+ OUT_REG(GLAMO_REG_2D_SRC_X, srcX);
-+ OUT_REG(GLAMO_REG_2D_SRC_Y, srcY);
-+ OUT_REG(GLAMO_REG_2D_DST_X, dstX);
-+ OUT_REG(GLAMO_REG_2D_DST_Y, dstY);
-+ OUT_REG(GLAMO_REG_2D_RECT_WIDTH, w);
-+ OUT_REG(GLAMO_REG_2D_RECT_HEIGHT, h);
-+ OUT_REG(GLAMO_REG_2D_COMMAND3, 0);
-+ OUT_REG(GLAMO_REG_2D_ID1, 0);
-+ OUT_REG(GLAMO_REG_2D_ID2, 0);
-+ END_DMA();
-+}
-+
-+static void
-+GLAMODoneCopy(void)
-+{
-+ ENTER_DRAW(0);
-+ LEAVE_DRAW(0);
-+}
-+
-+static Bool
-+GLAMOUploadToScreen(PixmapPtr pDst, char *src, int src_pitch)
-+{
-+ int width, height, bpp, i;
-+ CARD8 *dst_offset;
-+ int dst_pitch;
-+
-+ dst_offset = (CARD8 *)pDst->devPrivate.ptr;
-+ dst_pitch = pDst->devKind;
-+ width = pDst->drawable.width;
-+ height = pDst->drawable.height;
-+ bpp = pDst->drawable.bitsPerPixel;
-+ bpp /= 8;
-+
-+ for (i = 0; i < height; i++)
-+ {
-+ memcpy(dst_offset, src, width * bpp);
-+
-+ dst_offset += dst_pitch;
-+ src += src_pitch;
-+ }
-+
-+ ErrorF("hostdata upload %d,%d %dbpp\n", width, height, bpp);
-+
-+ return TRUE;
-+}
-+
-+
-+#if 0
-+static Bool
-+GLAMOUploadToScratch(PixmapPtr pSrc, PixmapPtr pDst)
-+{
-+ KdScreenPriv(pSrc->drawable.pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+ GLAMOScreenInfo(pScreenPriv);
-+ int dst_pitch, src_pitch, w, i, size, bytes;
-+ unsigned char *dst, *src;
-+ RING_LOCALS;
-+
-+ ENTER_DRAW(pSrc);
-+ /* Align width to log 2, useful for R128 composite. This should be a
-+ * KAA flag we check for (and supported in kaa.c in general) since many
-+ * older bits of hardware are going to want POT pitches.
-+ */
-+ w = pSrc->drawable.width;
-+ if (glamos->kaa.flags & KAA_OFFSCREEN_ALIGN_POT)
-+ w = 1 << (GLAMOLog2(w - 1) + 1);
-+ dst_pitch = (w * pSrc->drawable.bitsPerPixel / 8 +
-+ glamos->kaa.pitchAlign - 1) & ~(glamos->kaa.pitchAlign - 1);
-+
-+ size = dst_pitch * pSrc->drawable.height;
-+ if (size > glamos->scratch_area->size)
-+ GLAMO_FALLBACK(("Pixmap too large for scratch (%d,%d)\n",
-+ pSrc->drawable.width, pSrc->drawable.height));
-+
-+ glamos->scratch_next = (glamos->scratch_next + glamos->kaa.offsetAlign - 1) &
-+ ~(glamos->kaa.offsetAlign - 1);
-+ if (glamos->scratch_next + size > glamos->scratch_area->offset +
-+ glamos->scratch_area->size) {
-+ /* Only sync when we've used all of the scratch area. */
-+ kaaWaitSync(pSrc->drawable.pScreen);
-+ glamos->scratch_next = glamos->scratch_area->offset;
-+ }
-+ memcpy(pDst, pSrc, sizeof(*pDst));
-+ pDst->devKind = dst_pitch;
-+ pDst->devPrivate.ptr = pScreenPriv->screen->memory_base +
-+ glamos->scratch_next;
-+ glamos->scratch_next += size;
-+
-+ src = pSrc->devPrivate.ptr;
-+ src_pitch = pSrc->devKind;
-+ dst = pDst->devPrivate.ptr;
-+ bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch;
-+
-+ i = pSrc->drawable.height;
-+ while (i--) {
-+ memcpy(dst, src, bytes);
-+ dst += dst_pitch;
-+ src += src_pitch;
-+ }
-+
-+ /* Flush the pixel cache */
-+ if (glamoc->is_3362) {
-+ BEGIN_DMA(4);
-+ OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT,
-+ RADEON_RB3D_DC_FLUSH_ALL);
-+ OUT_REG(GLAMO_REG_WAIT_UNTIL, RADEON_WAIT_HOST_IDLECLEAN);
-+ END_DMA();
-+ } else {
-+ BEGIN_DMA(2);
-+ OUT_REG(R128_REG_PC_GUI_CTLSTAT, R128_PC_FLUSH_ALL);
-+ END_DMA();
-+ }
-+
-+ LEAVE_DRAW(pSrc);
-+ return TRUE;
-+}
-+#endif
-+
-+static void
-+GLAMOBlockHandler(pointer blockData, OSTimePtr timeout, pointer readmask)
-+{
-+ ScreenPtr pScreen = (ScreenPtr) blockData;
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+ /* When the server is going to sleep, make sure that all DMA data has
-+ * been flushed.
-+ */
-+ if (glamos->indirectBuffer)
-+ GLAMOFlushIndirect(glamos, 1);
-+}
-+
-+static void
-+GLAMOWakeupHandler(pointer blockData, int result, pointer readmask)
-+{
-+}
-+
-+Bool
-+GLAMODrawInit(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+ ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth,
-+ pScreenPriv->screen->fb[0].bitsPerPixel);
-+
-+ RegisterBlockAndWakeupHandlers(GLAMOBlockHandler, GLAMOWakeupHandler,
-+ pScreen);
-+
-+ glamos->using_dri = FALSE;
-+#ifdef USE_DRI
-+ glamos->using_dri = GLAMODRIScreenInit(pScreen);
-+#endif /* USE_DRI */
-+
-+ memset(&glamos->kaa, 0, sizeof(KaaScreenInfoRec));
-+ glamos->kaa.waitMarker = GLAMOWaitMarker;
-+ glamos->kaa.PrepareSolid = GLAMOPrepareSolid;
-+ glamos->kaa.Solid = GLAMOSolid;
-+ glamos->kaa.DoneSolid = GLAMODoneSolid;
-+ glamos->kaa.PrepareCopy = GLAMOPrepareCopy;
-+ glamos->kaa.Copy = GLAMOCopy;
-+ glamos->kaa.DoneCopy = GLAMODoneCopy;
-+ /* Other acceleration will be hooked in in DrawEnable depending on
-+ * what type of DMA gets initialized.
-+ */
-+
-+ glamos->kaa.flags = KAA_OFFSCREEN_PIXMAPS;
-+ glamos->kaa.offsetAlign = 2;
-+ glamos->kaa.pitchAlign = 2;
-+
-+ kaaInitTrapOffsets(8, sample_offsets_x, sample_offsets_y, 0.0, 0.0);
-+ sample_count = (1 << 8) - 1;
-+
-+ if (!kaaDrawInit(pScreen, &glamos->kaa))
-+ return FALSE;
-+
-+ return TRUE;
-+}
-+
-+#if 0
-+static void
-+GLAMOScratchSave(ScreenPtr pScreen, KdOffscreenArea *area)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+ glamos->scratch_area = NULL;
-+}
-+#endif
-+
-+void
-+GLAMODrawEnable(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+
-+ GLAMODMASetup(pScreen);
-+ GLAMODrawSetup(pScreen);
-+
-+ glamos->scratch_area = NULL;
-+ glamos->kaa.PrepareBlend = NULL;
-+ glamos->kaa.Blend = NULL;
-+ glamos->kaa.DoneBlend = NULL;
-+ glamos->kaa.CheckComposite = NULL;
-+ glamos->kaa.PrepareComposite = NULL;
-+ glamos->kaa.Composite = NULL;
-+ glamos->kaa.DoneComposite = NULL;
-+ glamos->kaa.UploadToScreen = NULL;
-+ glamos->kaa.UploadToScratch = NULL;
-+
-+#ifdef USE_DRI
-+ if (glamos->using_dri) {
-+ if (!glamoc->is_3362) {
-+ /*glamos->kaa.PrepareTrapezoids = R128PrepareTrapezoids;
-+ glamos->kaa.Trapezoids = R128Trapezoids;
-+ glamos->kaa.DoneTrapezoids = R128DoneTrapezoids;*/
-+ } else if (glamoc->is_r100 || glamoc->is_r200) {
-+ glamos->kaa.PrepareTrapezoids = RadeonPrepareTrapezoids;
-+ glamos->kaa.Trapezoids = RadeonTrapezoids;
-+ glamos->kaa.DoneTrapezoids = RadeonDoneTrapezoids;
-+ }
-+ }
-+#endif /* USE_DRI */
-+
-+ glamos->kaa.UploadToScreen = GLAMOUploadToScreen;
-+
-+ /* Reserve a scratch area. It'll be used for storing glyph data during
-+ * Composite operations, because glyphs aren't in real pixmaps and thus
-+ * can't be migrated.
-+ */
-+#if 0
-+ glamos->scratch_area = KdOffscreenAlloc(pScreen, 131072,
-+ glamos->kaa.offsetAlign, TRUE, GLAMOScratchSave, glamos);
-+ if (glamos->scratch_area != NULL) {
-+ glamos->scratch_next = glamos->scratch_area->offset;
-+ glamos->kaa.UploadToScratch = GLAMOUploadToScratch;
-+ }
-+#endif
-+
-+ kaaMarkSync(pScreen);
-+}
-+
-+void
-+GLAMODrawDisable(ScreenPtr pScreen)
-+{
-+ kaaWaitSync(pScreen);
-+ GLAMODMATeardown(pScreen);
-+}
-+
-+void
-+GLAMODrawFini(ScreenPtr pScreen)
-+{
-+#ifdef USE_DRI
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ if (glamos->using_dri) {
-+ GLAMODRICloseScreen(pScreen);
-+ glamos->using_dri = FALSE;
-+ }
-+#endif /* USE_DRI */
-+
-+ RemoveBlockAndWakeupHandlers(GLAMOBlockHandler, GLAMOWakeupHandler,
-+ pScreen);
-+
-+ kaaDrawFini(pScreen);
-+}
-+
-Index: xserver/hw/kdrive/glamo/glamo_draw.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo_draw.h 2007-09-25 19:02:01.000000000 +0800
-@@ -0,0 +1,59 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2004 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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 _GLAMO_DRAW_H_
-+#define _GLAMO_DRAW_H_
-+
-+void GLAMOWaitIdle(GLAMOScreenInfo *glamos);
-+
-+#define GLAMO_TRACE_FALL 1
-+#define GLAMO_TRACE_DRAW 1
-+
-+#if GLAMO_TRACE_FALL
-+#define GLAMO_FALLBACK(x) \
-+do { \
-+ ErrorF("%s: ", __FUNCTION__); \
-+ ErrorF x; \
-+ return FALSE; \
-+} while (0)
-+#else
-+#define GLAMO_FALLBACK(x) return FALSE
-+#endif
-+
-+#if GLAMO_TRACE_DRAW
-+#define ENTER_DRAW(pix) GLAMOEnterDraw(pix, __FUNCTION__)
-+#define LEAVE_DRAW(pix) GLAMOLeaveDraw(pix, __FUNCTION__)
-+
-+void
-+GLAMOEnterDraw (PixmapPtr pPixmap, const char *function);
-+
-+void
-+GLAMOLeaveDraw (PixmapPtr pPixmap, const char *function);
-+#else /* GLAMO_TRACE */
-+#define ENTER_DRAW(pix)
-+#define LEAVE_DRAW(pix)
-+#endif /* !GLAMO_TRACE */
-+
-+#endif /* _GLAMO_DRAW_H_ */
-Index: xserver/hw/kdrive/glamo/glamo_stub.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo_stub.c 2007-09-26 17:45:27.000000000 +0800
-@@ -0,0 +1,84 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2003 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <kdrive-config.h>
-+#endif
-+#include "glamo.h"
-+#include "klinux.h"
-+
-+void
-+InitCard(char *name)
-+{
-+ KdCardAttr attr;
-+
-+ attr.io = 0;
-+ attr.address[0] = 0x8000000;
-+ attr.naddr = 1;
-+ KdCardInfoAdd(&GLAMOFuncs, &attr, 0);
-+}
-+
-+void
-+InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
-+{
-+ KdInitOutput(pScreenInfo, argc, argv);
-+}
-+
-+void
-+InitInput(int argc, char **argv)
-+{
-+ KdKeyboardInfo *ki;
-+
-+ KdAddKeyboardDriver(&LinuxKeyboardDriver);
-+ KdAddPointerDriver(&LinuxMouseDriver);
-+#ifdef TSLIB
-+ KdAddPointerDriver(&TsDriver);
-+#endif
-+
-+ ki = KdParseKeyboard("keybd");
-+ KdAddKeyboard(ki);
-+}
-+
-+void
-+ddxUseMsg (void)
-+{
-+ KdUseMsg();
-+#ifdef KDRIVEVESA
-+ vesaUseMsg();
-+#endif
-+}
-+
-+int
-+ddxProcessArgument(int argc, char **argv, int i)
-+{
-+ int ret;
-+
-+#ifdef KDRIVEVESA
-+ if (!(ret = vesaProcessArgument (argc, argv, i)))
-+#endif
-+ ret = KdProcessArgument(argc, argv, i);
-+
-+ return ret;
-+}
-Index: xserver/hw/kdrive/glamo/glamo_video.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver/hw/kdrive/glamo/glamo_video.c 2007-09-26 17:47:55.000000000 +0800
-@@ -0,0 +1,798 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2004 Keith Packard
-+ * Copyright © 2005 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <kdrive-config.h>
-+#endif
-+#include "glamo.h"
-+#include "glamo_dma.h"
-+#include "glamo_draw.h"
-+#include "glamo-regs.h"
-+#include "kaa.h"
-+
-+#include <X11/extensions/Xv.h>
-+#include "fourcc.h"
-+
-+#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE)
-+
-+static Atom xvBrightness, xvSaturation;
-+
-+#define IMAGE_MAX_WIDTH 2048
-+#define IMAGE_MAX_HEIGHT 2048
-+
-+static void
-+GLAMOStopVideo(KdScreenInfo *screen, pointer data, Bool exit)
-+{
-+ ScreenPtr pScreen = screen->pScreen;
-+ GLAMOPortPrivPtr pPortPriv = (GLAMOPortPrivPtr)data;
-+
-+ REGION_EMPTY(screen->pScreen, &pPortPriv->clip);
-+
-+ if (pPortPriv->off_screen) {
-+ KdOffscreenFree (pScreen, pPortPriv->off_screen);
-+ pPortPriv->off_screen = 0;
-+ }
-+}
-+
-+static int
-+GLAMOSetPortAttribute(KdScreenInfo *screen, Atom attribute, int value,
-+ pointer data)
-+{
-+ return BadMatch;
-+}
-+
-+static int
-+GLAMOGetPortAttribute(KdScreenInfo *screen, Atom attribute, int *value,
-+ pointer data)
-+{
-+ return BadMatch;
-+}
-+
-+static void
-+GLAMOQueryBestSize(KdScreenInfo *screen, Bool motion, short vid_w, short vid_h,
-+ short drw_w, short drw_h, unsigned int *p_w, unsigned int *p_h,
-+ pointer data)
-+{
-+ *p_w = drw_w;
-+ *p_h = drw_h;
-+}
-+
-+/* GLAMOClipVideo -
-+
-+ Takes the dst box in standard X BoxRec form (top and left
-+ edges inclusive, bottom and right exclusive). The new dst
-+ box is returned. The source boundaries are given (x1, y1
-+ inclusive, x2, y2 exclusive) and returned are the new source
-+ boundaries in 16.16 fixed point.
-+*/
-+
-+static void
-+GLAMOClipVideo(BoxPtr dst, INT32 *x1, INT32 *x2, INT32 *y1, INT32 *y2,
-+ BoxPtr extents, INT32 width, INT32 height)
-+{
-+ INT32 vscale, hscale, delta;
-+ int diff;
-+
-+ hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1);
-+ vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1);
-+
-+ *x1 <<= 16; *x2 <<= 16;
-+ *y1 <<= 16; *y2 <<= 16;
-+
-+ diff = extents->x1 - dst->x1;
-+ if (diff > 0) {
-+ dst->x1 = extents->x1;
-+ *x1 += diff * hscale;
-+ }
-+ diff = dst->x2 - extents->x2;
-+ if (diff > 0) {
-+ dst->x2 = extents->x2;
-+ *x2 -= diff * hscale;
-+ }
-+ diff = extents->y1 - dst->y1;
-+ if (diff > 0) {
-+ dst->y1 = extents->y1;
-+ *y1 += diff * vscale;
-+ }
-+ diff = dst->y2 - extents->y2;
-+ if (diff > 0) {
-+ dst->y2 = extents->y2;
-+ *y2 -= diff * vscale;
-+ }
-+
-+ if (*x1 < 0) {
-+ diff = (- *x1 + hscale - 1)/ hscale;
-+ dst->x1 += diff;
-+ *x1 += diff * hscale;
-+ }
-+ delta = *x2 - (width << 16);
-+ if (delta > 0) {
-+ diff = (delta + hscale - 1)/ hscale;
-+ dst->x2 -= diff;
-+ *x2 -= diff * hscale;
-+ }
-+ if (*y1 < 0) {
-+ diff = (- *y1 + vscale - 1)/ vscale;
-+ dst->y1 += diff;
-+ *y1 += diff * vscale;
-+ }
-+ delta = *y2 - (height << 16);
-+ if (delta > 0) {
-+ diff = (delta + vscale - 1)/ vscale;
-+ dst->y2 -= diff;
-+ *y2 -= diff * vscale;
-+ }
-+}
-+
-+static void
-+GlamoDisplayVideo(KdScreenInfo *screen, GLAMOPortPrivPtr pPortPriv)
-+{
-+ ScreenPtr pScreen = screen->pScreen;
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ PixmapPtr pPixmap = pPortPriv->pPixmap;
-+ CARD32 dst_offset, dst_pitch;
-+ int dstxoff, dstyoff, srcDatatype;
-+ RING_LOCALS;
-+
-+ BoxPtr pBox = REGION_RECTS(&pPortPriv->clip);
-+ int nBox = REGION_NUM_RECTS(&pPortPriv->clip);
-+
-+ dst_offset = ((CARD8 *)pPixmap->devPrivate.ptr -
-+ pScreenPriv->screen->memory_base);
-+ dst_pitch = pPixmap->devKind;
-+
-+#ifdef COMPOSITE
-+ dstxoff = -pPixmap->screen_x + pPixmap->drawable.x;
-+ dstyoff = -pPixmap->screen_y + pPixmap->drawable.y;
-+#else
-+ dstxoff = 0;
-+ dstyoff = 0;
-+#endif
-+
-+ BEGIN_DMA(14);
-+ OUT_REG(GLAMO_REG_ISP_YUV2RGB_11, 0x0167);
-+ OUT_REG(GLAMO_REG_ISP_YUV2RGB_21, 0x01c5);
-+ OUT_REG(GLAMO_REG_ISP_YUV2RGB_32, 0x00b6);
-+ OUT_REG(GLAMO_REG_ISP_YUV2RGB_33, 0x0058);
-+ OUT_REG(GLAMO_REG_ISP_YUV2RGB_RG, 0xb3 << 8 | 0x89);
-+ OUT_REG(GLAMO_REG_ISP_YUV2RGB_B, 0xe2);
-+
-+ /* TODO weight matrix */
-+
-+ OUT_REG(GLAMO_REG_ISP_PORT2_EN, GLAMO_ISP_PORT2_EN_DECODE);
-+
-+ END_DMA();
-+
-+ if (pPortPriv->id == FOURCC_UYVY)
-+ srcDatatype = 3;
-+ else
-+ srcDatatype = 1;
-+
-+ BEGIN_DMA(8);
-+#if 0
-+ OUT_REG(GLAMO_REG_ISP_EN3, GLAMO_ISP_EN3_SCALE_IMPROVE |
-+ GLAMO_ISP_EN3_PLANE_MODE |
-+ GLAMO_ISP_EN3_YUV_INPUT |
-+ GLAMO_ISP_EN3_YUV420);
-+ OUT_REG(GLAMO_REG_ISP_PORT1_DEC_EN, GLAMO_ISP_PORT1_EN_OUTPUT);
-+
-+ OUT_REG(GLAMO_REG_ISP_DEC_SCALEH, 1 << 11);
-+ OUT_REG(GLAMO_REG_ISP_DEC_SCALEV, 1 << 11);
-+
-+ {
-+ struct {
-+ int src_block_y;
-+ int src_block_x;
-+ int src_block_h;
-+ int src_block_w;
-+ int jpeg_out_y;
-+ int jpeg_out_x;
-+ int fifo_full_cnt;
-+ int in_length;
-+ int fifo_data_cnt;
-+ int in_height;
-+ } onfly;
-+
-+ onfly.src_block_y = 32;
-+ onfly.src_block_x = 32;
-+ onfly.src_block_h = 36;
-+ onfly.src_block_w = 35;
-+ onfly.jpeg_out_y = 32;
-+ onfly.jpeg_out_x = 32;
-+ onfly.fifo_full_cnt = 0;
-+ onfly.in_length = onfly.jpeg_out_x + 3;
-+ onfly.fifo_data_cnt = onfly.src_block_w * onfly.src_block_h / 2;
-+ onfly.in_height = onfly.jpeg_out_y + 2;
-+
-+ OUT_REG(GLAMO_REG_ISP_ONFLY_MODE1, onfly.src_block_y << 10 | onfly.src_block_x << 2);
-+ OUT_REG(GLAMO_REG_ISP_ONFLY_MODE2, onfly.src_block_h << 8 | onfly.src_block_w);
-+ OUT_REG(GLAMO_REG_ISP_ONFLY_MODE3, onfly.jpeg_out_y << 8 | onfly.jpeg_out_x);
-+ OUT_REG(GLAMO_REG_ISP_ONFLY_MODE4, onfly.fifo_full_cnt << 8 | onfly.in_length);
-+ OUT_REG(GLAMO_REG_ISP_ONFLY_MODE5, onfly.fifo_data_cnt << 6 | onfly.in_height);
-+ }
-+#endif
-+
-+ OUT_REG(GLAMO_REG_ISP_EN1,
-+ GLAMO_ISP_EN1_YUV420 |
-+ GLAMO_ISP_EN1_YUV_INPUT |
-+ GLAMO_ISP_EN1_YUV_PACK |
-+ ((srcDatatype << 4) & 0x7));
-+
-+ OUT_REG(GLAMO_REG_ISP_PORT1_CAP_EN,
-+ GLAMO_ISP_PORT1_EN_OUTPUT);
-+
-+ OUT_REG(GLAMO_REG_ISP_CAP_PITCH, pPortPriv->src_pitch);
-+ OUT_REG(GLAMO_REG_ISP_PORT1_CAP_PITCH, dst_pitch);
-+
-+ END_DMA();
-+
-+ while (nBox--) {
-+ int srcX, srcY, dstX, dstY, srcw, srch, dstw, dsth;
-+ CARD32 srcO, dstO;
-+
-+ dstX = pBox->x1 + dstxoff;
-+ dstY = pBox->y1 + dstyoff;
-+ dstw = pBox->x2 - pBox->x1;
-+ dsth = pBox->y2 - pBox->y1;
-+ srcX = (pBox->x1 - pPortPriv->dst_x1) *
-+ pPortPriv->src_w / pPortPriv->dst_w;
-+ srcY = (pBox->y1 - pPortPriv->dst_y1) *
-+ pPortPriv->src_h / pPortPriv->dst_h;
-+ srcw = pPortPriv->src_w - srcX; /* XXX */
-+ srch = pPortPriv->src_h - srcY; /* XXX */
-+
-+ srcO = pPortPriv->src_offset + srcY * pPortPriv->src_pitch + srcX * 2;
-+ dstO = dst_offset + dstY * dst_pitch + dstX * 2;
-+
-+ BEGIN_DMA(18);
-+
-+ OUT_REG(GLAMO_REG_ISP_CAP_0_ADDRL, srcO & 0xffff);
-+ OUT_REG(GLAMO_REG_ISP_CAP_0_ADDRH, (srcO >> 16) & 0x7f);
-+ OUT_REG(GLAMO_REG_ISP_CAP_HEIGHT, srch);
-+ OUT_REG(GLAMO_REG_ISP_CAP_WIDTH, srcw);
-+
-+ OUT_REG(GLAMO_REG_ISP_PORT1_CAP_0_ADDRL, dstO & 0xffff);
-+ OUT_REG(GLAMO_REG_ISP_PORT1_CAP_0_ADDRH, (dstO >> 16) & 0x7f);
-+ OUT_REG(GLAMO_REG_ISP_PORT1_CAP_WIDTH, dstw);
-+ OUT_REG(GLAMO_REG_ISP_PORT1_CAP_HEIGHT, dsth);
-+
-+ /* fire */
-+ OUT_REG(GLAMO_REG_ISP_EN1, GLAMO_ISP_EN1_FIRE_ISP);
-+ OUT_REG(GLAMO_REG_ISP_EN1, 0);
-+
-+ END_DMA();
-+
-+ GLAMOWaitIdle(glamos);
-+
-+ pBox++;
-+ }
-+#ifdef DAMAGEEXT
-+ /* XXX: Shouldn't this be in kxv.c instead? */
-+ DamageDamageRegion(pPortPriv->pDraw, &pPortPriv->clip);
-+#endif
-+ kaaMarkSync(pScreen);
-+}
-+
-+static void
-+GLAMOVideoSave(ScreenPtr pScreen, KdOffscreenArea *area)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ GLAMOPortPrivPtr pPortPriv = glamos->pAdaptor->pPortPrivates[0].ptr;
-+
-+ if (pPortPriv->off_screen == area)
-+ pPortPriv->off_screen = 0;
-+}
-+
-+static int
-+GLAMOPutImage(KdScreenInfo *screen, DrawablePtr pDraw,
-+ short src_x, short src_y,
-+ short drw_x, short drw_y,
-+ short src_w, short src_h,
-+ short drw_w, short drw_h,
-+ int id,
-+ unsigned char *buf,
-+ short width,
-+ short height,
-+ Bool sync,
-+ RegionPtr clipBoxes,
-+ pointer data)
-+{
-+ ScreenPtr pScreen = screen->pScreen;
-+ KdScreenPriv(pScreen);
-+ GLAMOCardInfo(pScreenPriv);
-+ GLAMOScreenInfo(pScreenPriv);
-+ GLAMOPortPrivPtr pPortPriv = (GLAMOPortPrivPtr)data;
-+ char *mmio = glamoc->reg_base;
-+ INT32 x1, x2, y1, y2;
-+ int randr = RR_Rotate_0 /* XXX */;
-+ int srcPitch, srcPitch2, dstPitch;
-+ int top, left, npixels, nlines, size;
-+ BoxRec dstBox;
-+ int dst_width = width, dst_height = height;
-+ int rot_x1, rot_y1, rot_x2, rot_y2;
-+ int dst_x1, dst_y1, dst_x2, dst_y2;
-+ int rot_src_w, rot_src_h, rot_drw_w, rot_drw_h;
-+
-+ /* Clip */
-+ x1 = src_x;
-+ x2 = src_x + src_w;
-+ y1 = src_y;
-+ y2 = src_y + src_h;
-+
-+ dstBox.x1 = drw_x;
-+ dstBox.x2 = drw_x + drw_w;
-+ dstBox.y1 = drw_y;
-+ dstBox.y2 = drw_y + drw_h;
-+
-+ GLAMOClipVideo(&dstBox, &x1, &x2, &y1, &y2,
-+ REGION_EXTENTS(pScreen, clipBoxes), width, height);
-+
-+ src_w = (x2 - x1) >> 16;
-+ src_h = (y2 - y1) >> 16;
-+ drw_w = dstBox.x2 - dstBox.x1;
-+ drw_h = dstBox.y2 - dstBox.y1;
-+
-+ if ((x1 >= x2) || (y1 >= y2))
-+ return Success;
-+
-+ if (mmio == NULL)
-+ return BadAlloc;
-+
-+ if (randr & (RR_Rotate_0|RR_Rotate_180)) {
-+ dst_width = width;
-+ dst_height = height;
-+ rot_src_w = src_w;
-+ rot_src_h = src_h;
-+ rot_drw_w = drw_w;
-+ rot_drw_h = drw_h;
-+ } else {
-+ dst_width = height;
-+ dst_height = width;
-+ rot_src_w = src_h;
-+ rot_src_h = src_w;
-+ rot_drw_w = drw_h;
-+ rot_drw_h = drw_w;
-+ }
-+
-+ switch (randr & RR_Rotate_All) {
-+ case RR_Rotate_0:
-+ default:
-+ dst_x1 = dstBox.x1;
-+ dst_y1 = dstBox.y1;
-+ dst_x2 = dstBox.x2;
-+ dst_y2 = dstBox.y2;
-+ rot_x1 = x1;
-+ rot_y1 = y1;
-+ rot_x2 = x2;
-+ rot_y2 = y2;
-+ break;
-+ case RR_Rotate_90:
-+ dst_x1 = dstBox.y1;
-+ dst_y1 = screen->height - dstBox.x2;
-+ dst_x2 = dstBox.y2;
-+ dst_y2 = screen->height - dstBox.x1;
-+ rot_x1 = y1;
-+ rot_y1 = (src_w << 16) - x2;
-+ rot_x2 = y2;
-+ rot_y2 = (src_w << 16) - x1;
-+ break;
-+ case RR_Rotate_180:
-+ dst_x1 = screen->width - dstBox.x2;
-+ dst_y1 = screen->height - dstBox.y2;
-+ dst_x2 = screen->width - dstBox.x1;
-+ dst_y2 = screen->height - dstBox.y1;
-+ rot_x1 = (src_w << 16) - x2;
-+ rot_y1 = (src_h << 16) - y2;
-+ rot_x2 = (src_w << 16) - x1;
-+ rot_y2 = (src_h << 16) - y1;
-+ break;
-+ case RR_Rotate_270:
-+ dst_x1 = screen->width - dstBox.y2;
-+ dst_y1 = dstBox.x1;
-+ dst_x2 = screen->width - dstBox.y1;
-+ dst_y2 = dstBox.x2;
-+ rot_x1 = (src_h << 16) - y2;
-+ rot_y1 = x1;
-+ rot_x2 = (src_h << 16) - y1;
-+ rot_y2 = x2;
-+ break;
-+ }
-+
-+ switch(id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ dstPitch = ((dst_width << 1) + 15) & ~15;
-+ srcPitch = (width + 3) & ~3;
-+ srcPitch2 = ((width >> 1) + 3) & ~3;
-+ size = dstPitch * dst_height;
-+ break;
-+ case FOURCC_UYVY:
-+ case FOURCC_YUY2:
-+ default:
-+ dstPitch = ((dst_width << 1) + 15) & ~15;
-+ srcPitch = (width << 1);
-+ srcPitch2 = 0;
-+ size = dstPitch * dst_height;
-+ break;
-+ }
-+
-+ if (pPortPriv->off_screen != NULL && size != pPortPriv->size) {
-+ KdOffscreenFree(screen->pScreen, pPortPriv->off_screen);
-+ pPortPriv->off_screen = 0;
-+ }
-+
-+ if (pPortPriv->off_screen == NULL) {
-+ pPortPriv->off_screen = KdOffscreenAlloc(screen->pScreen,
-+ size * 2, 64, TRUE, GLAMOVideoSave, pPortPriv);
-+ if (pPortPriv->off_screen == NULL)
-+ return BadAlloc;
-+ }
-+
-+
-+ if (pDraw->type == DRAWABLE_WINDOW)
-+ pPortPriv->pPixmap =
-+ (*pScreen->GetWindowPixmap)((WindowPtr)pDraw);
-+ else
-+ pPortPriv->pPixmap = (PixmapPtr)pDraw;
-+
-+ /* Migrate the pixmap to offscreen if necessary. */
-+ if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap))
-+ kaaMoveInPixmap(pPortPriv->pPixmap);
-+
-+ if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap)) {
-+ return BadAlloc;
-+ }
-+
-+ pPortPriv->src_offset = pPortPriv->off_screen->offset;
-+ pPortPriv->src_addr = (CARD8 *)(pScreenPriv->screen->memory_base +
-+ pPortPriv->src_offset);
-+ pPortPriv->src_pitch = dstPitch;
-+ pPortPriv->size = size;
-+ pPortPriv->pDraw = pDraw;
-+
-+ /* copy data */
-+ top = rot_y1 >> 16;
-+ left = (rot_x1 >> 16) & ~1;
-+ npixels = ((((rot_x2 + 0xffff) >> 16) + 1) & ~1) - left;
-+
-+ /* Since we're probably overwriting the area that might still be used
-+ * for the last PutImage request, wait for idle.
-+ */
-+ GLAMOWaitIdle(glamos);
-+
-+ switch(id) {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ top &= ~1;
-+ nlines = ((((rot_y2 + 0xffff) >> 16) + 1) & ~1) - top;
-+ /* pack the source as YUY2 to vram */
-+ KdXVCopyPlanarData(screen, buf, pPortPriv->src_addr, randr,
-+ srcPitch, srcPitch2, dstPitch, rot_src_w, rot_src_h,
-+ height, top, left, nlines, npixels, id);
-+ break;
-+ case FOURCC_UYVY:
-+ case FOURCC_YUY2:
-+ default:
-+ nlines = ((rot_y2 + 0xffff) >> 16) - top;
-+ KdXVCopyPackedData(screen, buf, pPortPriv->src_addr, randr,
-+ srcPitch, dstPitch, rot_src_w, rot_src_h, top, left,
-+ nlines, npixels);
-+ break;
-+ }
-+
-+ /* update cliplist */
-+ if (!REGION_EQUAL(screen->pScreen, &pPortPriv->clip, clipBoxes)) {
-+ REGION_COPY(screen->pScreen, &pPortPriv->clip, clipBoxes);
-+ }
-+
-+ pPortPriv->id = id;
-+ pPortPriv->src_x1 = rot_x1;
-+ pPortPriv->src_y1 = rot_y1;
-+ pPortPriv->src_x2 = rot_x2;
-+ pPortPriv->src_y2 = rot_y2;
-+ pPortPriv->src_w = rot_src_w;
-+ pPortPriv->src_h = rot_src_h;
-+ pPortPriv->dst_x1 = dst_x1;
-+ pPortPriv->dst_y1 = dst_y1;
-+ pPortPriv->dst_x2 = dst_x2;
-+ pPortPriv->dst_y2 = dst_y2;
-+ pPortPriv->dst_w = rot_drw_w;
-+ pPortPriv->dst_h = rot_drw_h;
-+
-+ GlamoDisplayVideo(screen, pPortPriv);
-+
-+ return Success;
-+}
-+
-+static int
-+GLAMOReputImage(KdScreenInfo *screen, DrawablePtr pDraw, short drw_x, short drw_y,
-+ RegionPtr clipBoxes, pointer data)
-+{
-+ ScreenPtr pScreen = screen->pScreen;
-+ GLAMOPortPrivPtr pPortPriv = (GLAMOPortPrivPtr)data;
-+ BoxPtr pOldExtents = REGION_EXTENTS(screen->pScreen, &pPortPriv->clip);
-+ BoxPtr pNewExtents = REGION_EXTENTS(screen->pScreen, clipBoxes);
-+
-+ if (pOldExtents->x1 != pNewExtents->x1 ||
-+ pOldExtents->x2 != pNewExtents->x2 ||
-+ pOldExtents->y1 != pNewExtents->y1 ||
-+ pOldExtents->y2 != pNewExtents->y2)
-+ return BadMatch;
-+
-+ if (pDraw->type == DRAWABLE_WINDOW)
-+ pPortPriv->pPixmap =
-+ (*pScreen->GetWindowPixmap)((WindowPtr)pDraw);
-+ else
-+ pPortPriv->pPixmap = (PixmapPtr)pDraw;
-+
-+ if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap))
-+ kaaMoveInPixmap(pPortPriv->pPixmap);
-+
-+ if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap)) {
-+ ErrorF("err\n");
-+ return BadAlloc;
-+ }
-+
-+
-+ /* update cliplist */
-+ if (!REGION_EQUAL(screen->pScreen, &pPortPriv->clip, clipBoxes))
-+ REGION_COPY(screen->pScreen, &pPortPriv->clip, clipBoxes);
-+
-+ /* XXX: What do the drw_x and drw_y here mean for us? */
-+
-+ GlamoDisplayVideo(screen, pPortPriv);
-+
-+ return Success;
-+}
-+
-+static int
-+GLAMOQueryImageAttributes(KdScreenInfo *screen, int id, unsigned short *w,
-+ unsigned short *h, int *pitches, int *offsets)
-+{
-+ int size, tmp;
-+
-+ if (*w > IMAGE_MAX_WIDTH)
-+ *w = IMAGE_MAX_WIDTH;
-+ if (*h > IMAGE_MAX_HEIGHT)
-+ *h = IMAGE_MAX_HEIGHT;
-+
-+ *w = (*w + 1) & ~1;
-+ if (offsets)
-+ offsets[0] = 0;
-+
-+ switch (id)
-+ {
-+ case FOURCC_YV12:
-+ case FOURCC_I420:
-+ *h = (*h + 1) & ~1;
-+ size = (*w + 3) & ~3;
-+ if (pitches)
-+ pitches[0] = size;
-+ size *= *h;
-+ if (offsets)
-+ offsets[1] = size;
-+ tmp = ((*w >> 1) + 3) & ~3;
-+ if (pitches)
-+ pitches[1] = pitches[2] = tmp;
-+ tmp *= (*h >> 1);
-+ size += tmp;
-+ if (offsets)
-+ offsets[2] = size;
-+ size += tmp;
-+ break;
-+ case FOURCC_UYVY:
-+ case FOURCC_YUY2:
-+ default:
-+ size = *w << 1;
-+ if (pitches)
-+ pitches[0] = size;
-+ size *= *h;
-+ break;
-+ }
-+
-+ return size;
-+}
-+
-+
-+/* client libraries expect an encoding */
-+static KdVideoEncodingRec DummyEncoding[1] =
-+{
-+ {
-+ 0,
-+ "XV_IMAGE",
-+ IMAGE_MAX_WIDTH, IMAGE_MAX_HEIGHT,
-+ {1, 1}
-+ }
-+};
-+
-+#define NUM_FORMATS 1
-+
-+static KdVideoFormatRec Formats[NUM_FORMATS] =
-+{
-+ {16, TrueColor}
-+};
-+
-+#define NUM_ATTRIBUTES 0
-+
-+static KdAttributeRec Attributes[NUM_ATTRIBUTES] =
-+{
-+};
-+
-+#define NUM_IMAGES 4
-+
-+static KdImageRec Images[NUM_IMAGES] =
-+{
-+ XVIMAGE_YUY2,
-+ XVIMAGE_YV12,
-+ XVIMAGE_I420,
-+ XVIMAGE_UYVY
-+};
-+
-+static KdVideoAdaptorPtr
-+GLAMOSetupImageVideo(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ KdVideoAdaptorPtr adapt;
-+ GLAMOPortPrivPtr pPortPriv;
-+ int i;
-+
-+ glamos->num_texture_ports = 16;
-+
-+ adapt = xcalloc(1, sizeof(KdVideoAdaptorRec) + glamos->num_texture_ports *
-+ (sizeof(GLAMOPortPrivRec) + sizeof(DevUnion)));
-+ if (adapt == NULL)
-+ return NULL;
-+
-+ adapt->type = XvWindowMask | XvInputMask | XvImageMask;
-+ adapt->flags = VIDEO_CLIP_TO_VIEWPORT;
-+ adapt->name = "GLAMO Texture Video";
-+ adapt->nEncodings = 1;
-+ adapt->pEncodings = DummyEncoding;
-+ adapt->nFormats = NUM_FORMATS;
-+ adapt->pFormats = Formats;
-+ adapt->nPorts = glamos->num_texture_ports;
-+ adapt->pPortPrivates = (DevUnion*)(&adapt[1]);
-+
-+ pPortPriv =
-+ (GLAMOPortPrivPtr)(&adapt->pPortPrivates[glamos->num_texture_ports]);
-+
-+ for (i = 0; i < glamos->num_texture_ports; i++)
-+ adapt->pPortPrivates[i].ptr = &pPortPriv[i];
-+
-+ adapt->nAttributes = NUM_ATTRIBUTES;
-+ adapt->pAttributes = Attributes;
-+ adapt->pImages = Images;
-+ adapt->nImages = NUM_IMAGES;
-+ adapt->PutVideo = NULL;
-+ adapt->PutStill = NULL;
-+ adapt->GetVideo = NULL;
-+ adapt->GetStill = NULL;
-+ adapt->StopVideo = GLAMOStopVideo;
-+ adapt->SetPortAttribute = GLAMOSetPortAttribute;
-+ adapt->GetPortAttribute = GLAMOGetPortAttribute;
-+ adapt->QueryBestSize = GLAMOQueryBestSize;
-+ adapt->PutImage = GLAMOPutImage;
-+ adapt->ReputImage = GLAMOReputImage;
-+ adapt->QueryImageAttributes = GLAMOQueryImageAttributes;
-+
-+ /* gotta uninit this someplace */
-+ REGION_INIT(pScreen, &pPortPriv->clip, NullBox, 0);
-+
-+ glamos->pAdaptor = adapt;
-+
-+ xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
-+ xvSaturation = MAKE_ATOM("XV_SATURGLAMOON");
-+
-+ return adapt;
-+}
-+
-+static void GLAMOPowerUp(ScreenPtr pScreen)
-+{
-+ GLAMOEngineEnable(pScreen, GLAMO_ENGINE_ISP);
-+ GLAMOEngineReset(pScreen, GLAMO_ENGINE_ISP);
-+
-+ /* HW_DEBUG_0?? */
-+ //MMIOSetBitMask(mmio, REG_ISP(0x102), 0x0020, 0);
-+}
-+
-+static void GLAMOPowerDown(ScreenPtr pScreen)
-+{
-+ GLAMOEngineReset(pScreen, GLAMO_ENGINE_ISP);
-+
-+ /* ... and stop the clock */
-+}
-+
-+Bool GLAMOInitVideo(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ GLAMOCardInfo(pScreenPriv);
-+ KdScreenInfo *screen = pScreenPriv->screen;
-+ KdVideoAdaptorPtr *adaptors, *newAdaptors = NULL;
-+ KdVideoAdaptorPtr newAdaptor = NULL;
-+ int num_adaptors;
-+
-+ glamos->pAdaptor = NULL;
-+
-+ if (glamoc->reg_base == NULL)
-+ return FALSE;
-+
-+ num_adaptors = KdXVListGenericAdaptors(screen, &adaptors);
-+
-+ newAdaptor = GLAMOSetupImageVideo(pScreen);
-+
-+ if (newAdaptor) {
-+ GLAMOPowerUp(pScreen);
-+
-+ if (!num_adaptors) {
-+ num_adaptors = 1;
-+ adaptors = &newAdaptor;
-+ } else {
-+ newAdaptors = xalloc((num_adaptors + 1) *
-+ sizeof(KdVideoAdaptorPtr *));
-+ if (newAdaptors) {
-+ memcpy(newAdaptors, adaptors, num_adaptors *
-+ sizeof(KdVideoAdaptorPtr));
-+ newAdaptors[num_adaptors] = newAdaptor;
-+ adaptors = newAdaptors;
-+ num_adaptors++;
-+ }
-+ }
-+ }
-+
-+ if (num_adaptors)
-+ KdXVScreenInit(pScreen, adaptors, num_adaptors);
-+
-+ if (newAdaptors)
-+ xfree(newAdaptors);
-+
-+ return TRUE;
-+}
-+
-+void
-+GLAMOFiniVideo(ScreenPtr pScreen)
-+{
-+ KdScreenPriv(pScreen);
-+ GLAMOScreenInfo(pScreenPriv);
-+ KdVideoAdaptorPtr adapt = glamos->pAdaptor;
-+ GLAMOPortPrivPtr pPortPriv;
-+ int i;
-+
-+ if (!adapt)
-+ return;
-+
-+ GLAMOPowerDown(pScreen);
-+
-+ for (i = 0; i < glamos->num_texture_ports; i++) {
-+ pPortPriv = (GLAMOPortPrivPtr)(&adapt->pPortPrivates[i].ptr);
-+ REGION_UNINIT(pScreen, &pPortPriv->clip);
-+ }
-+ xfree(adapt);
-+ glamos->pAdaptor = NULL;
-+}
diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/pkgconfig_fix.patch b/packages/xorg-xserver/xserver-kdrive-1.4/pkgconfig_fix.patch
new file mode 100644
index 0000000000..0790d4c32b
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/pkgconfig_fix.patch
@@ -0,0 +1,13 @@
+Index: xorg-server-1.4/xorg-server.pc.in
+===================================================================
+--- xorg-server-1.4.orig/xorg-server.pc.in 2008-02-29 12:29:02.000000000 +0000
++++ xorg-server-1.4/xorg-server.pc.in 2008-02-29 12:27:36.000000000 +0000
+@@ -7,6 +7,7 @@
+
+ Name: xorg-server
+ Description: Modular X.Org X Server
++Requires: pixman
+ Version: @PACKAGE_VERSION@
+-Cflags: -I${sdkdir} @PIXMAN_CFLAGS@
++Cflags: -I${sdkdir}
+ Libs: -L${libdir}
diff --git a/packages/xorg-xserver/xserver-kdrive-common.inc b/packages/xorg-xserver/xserver-kdrive-common.inc
index 6ea9c8439f..b0d5e39813 100644
--- a/packages/xorg-xserver/xserver-kdrive-common.inc
+++ b/packages/xorg-xserver/xserver-kdrive-common.inc
@@ -9,7 +9,6 @@ PACKAGES =+ "xserver-kdrive-fbdev \
xserver-kdrive-xephyr \
xserver-kdrive-epson \
xserver-kdrive-ati \
- xserver-kdrive-glamo \
xserver-kdrive-chips \
xserver-kdrive-i810 \
xserver-kdrive-mach64 \
@@ -33,7 +32,6 @@ DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Ep
DESCRIPTION_xserver-kdrive-sdl = "X server from freedesktop.org, SDL version"
DESCRIPTION_xserver-kdrive-w100 = "X server from freedesktop.org, supporting the ATI imageon w100 chipset"
DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
-DESCRIPTION_xserver-kdrive-glamo = "X server from freedesktop.org, supporting Smedia Glamo chipset"
DESCRIPTION_xserver-kdrive-chips = "X server from freedesktop.org, supporting Chips chipsets"
DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting Intel chipsets"
DESCRIPTION_xserver-kdrive-imageon = "X server from freedesktop.org, supporting the ATI imageon 100 chipset"
@@ -56,7 +54,6 @@ FILES_xserver-kdrive-epson = "${bindir}/Xepson"
FILES_xserver-kdrive-sdl = "${bindir}/Xsdl"
FILES_xserver-kdrive-w100 = "${bindir}/Xw100"
FILES_xserver-kdrive-ati = "${bindir}/Xati"
-FILES_xserver-kdrive-glamo = "${bindir}/Xglamo"
FILES_xserver-kdrive-chips = "${bindir}/Xchips"
FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
FILES_xserver-kdrive-imageon = "${bindir}/Ximageon"
@@ -77,7 +74,6 @@ RDEPENDS_xserver-kdrive-epson = "${PN}"
RDEPENDS_xserver-kdrive-sdl = "${PN}"
RDEPENDS_xserver-kdrive-w100 = "${PN}"
RDEPENDS_xserver-kdrive-ati = "${PN}"
-RDEPENDS_xserver-kdrive-glamo = "${PN}"
RDEPENDS_xserver-kdrive-chips = "${PN}"
RDEPENDS_xserver-kdrive-i810 = "${PN}"
RDEPENDS_xserver-kdrive-mach64 = "${PN}"
diff --git a/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb b/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb
new file mode 100644
index 0000000000..9f38760234
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb
@@ -0,0 +1,64 @@
+DESCRIPTION = "X server for glamo chip in GTA02"
+SECTION = "x11/base"
+LICENSE = "MIT"
+DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \
+ scrnsaverproto xineramaproto videoproto xextproto xproto \
+ libxau libxext libxdmcp libxfont libxrandr tslib virtual/libx11 \
+ xtrans libxkbfile libxcalibrate"
+DEPENDS += "libxkbfile libxcalibrate"
+RDEPENDS_${PN} = "xserver-kdrive"
+PROVIDES = "virtual/xserver"
+PE = "1"
+PR = "r0"
+
+XGLAMO_GIT_REV = "d96175a2db993ef4bc7d9d910e0b47ec7ff20561"
+
+SRC_URI = "git://people.freedesktop.org/~dodji/xglamo;protocol=git;rev=${XGLAMO_GIT_REV} \
+ file://kmode.patch;patch=1 \
+ file://disable-apm.patch;patch=1 \
+ file://no-serial-probing.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1 \
+ file://optional-xkb.patch;patch=1 \
+ file://enable-tslib.patch;patch=1 \
+ file://kmode-palm.patch;patch=1 \
+ file://enable-epson.patch;patch=1 \
+ file://enable-builtin-fonts.patch;patch=1 \
+ file://kdrive-evdev.patch;patch=1 \
+ file://kdrive-use-evdev.patch;patch=1 \
+ file://disable-xf86-dga-xorgcfg.patch;patch=1 \
+ file://fix_default_mode.patch;patch=1 \
+ file://enable-xcalibrate.patch;patch=1 \
+ file://hide-cursor-and-ppm-root.patch;patch=1 \
+ file://xcalibrate_coords.patch;patch=1 \
+ file://w100.patch;patch=1 \
+ file://w100-autofoo.patch;patch=1 \
+ file://w100-fix-offscreen-bmp.patch;patch=1 \
+ file://kdrive-1.3-18bpp.patch;patch=1 \
+ file://gumstix-kmode.patch;patch=1 \
+"
+
+FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-1.3.0.0:${FILE_DIRNAME}/xserver-kdrive:${FILE_DIRNAME}/files"
+
+S = "${WORKDIR}/git"
+
+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 \
+ --with-default-font-path=built-ins \
+ --enable-tslib --enable-xcalibrate \
+ ac_cv_file__usr_share_X11_sgml_defs_ent=no"
+
+do_configure_prepend() {
+ sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac
+}
+
+FILES_${PN} = "${bindir}/Xglamo"
+FILES_${PN}-dbg = "${bindir}/.debug/Xglamo"
+
+ARM_INSTRUCTION_SET = "arm"
diff --git a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
index 622b32179d..54fe19d990 100644
--- a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
@@ -9,7 +9,7 @@ PROVIDES = "virtual/xserver"
PE = "1"
PR = "r4"
-FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-1.2.0:${FILE_DIRNAME}/xserver-kdrive"
+FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-${PV}:${FILE_DIRNAME}/xserver-kdrive:${FILE_DIRNAME}/files"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
file://kdrive-evdev.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb b/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb
index 372971e2ed..9a8db266b6 100644
--- a/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb
+++ b/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb
@@ -7,6 +7,7 @@ SECTION = "x11/base"
DESCRIPTION = "X server from freedesktop.org"
DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800"
+PR = "r1"
PE = "1"
COMPATIBLE_MACHINE = "nokia(800|770)"
@@ -23,6 +24,7 @@ SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1
file://fixups.patch;patch=1 \
file://button_only.patch;patch=1 \
file://calibrateext.patch;patch=1 \
+ file://fix-picturestr-include-order.patch;patch=1 \
file://xcalibrate_coords.patch;patch=1"
# file://kdrive-evdev.patch;patch=1 \
# file://kdrive-use-evdev.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-kdrive/00-xglamo-logs.patch b/packages/xorg-xserver/xserver-kdrive/00-xglamo-logs.patch
deleted file mode 100644
index 8fc8ff46b9..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/00-xglamo-logs.patch
+++ /dev/null
@@ -1,386 +0,0 @@
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/Makefile.am
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/Makefile.am 2007-11-28 18:44:27.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/Makefile.am 2007-11-28 18:44:28.000000000 +0100
-@@ -20,6 +20,7 @@
- noinst_LIBRARIES = libglamo.a
-
- libglamo_a_SOURCES = \
-+ glamo-log.h \
- glamo_dma.c \
- glamo_dma.h \
- glamo_draw.c \
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo-log.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo-log.h 2007-11-29 09:05:53.000000000 +0100
-@@ -0,0 +1,63 @@
-+/*
-+ * Copyright © 2007 OpenMoko, Inc.
-+ *
-+ * This driver is based on Xati,
-+ * Copyright © 2004 Eric Anholt
-+ *
-+ * 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 the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS 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.
-+ *
-+ * Author: Dodji Seketeli <dodji@openedhand.com>
-+ */
-+#ifndef _GLAMO_LOG_H_
-+#define _GLAMO_LOG_H_
-+#ifdef HAVE_CONFIG_H
-+#include <kdrive-config.h>
-+#endif
-+
-+#include <assert.h>
-+#include "os.h"
-+
-+#ifdef NDEBUG
-+/*we are not in debug mode*/
-+#define GLAMO_LOG
-+#define GLAMO_LOG_ERROR
-+
-+#else /*NDEBUG*/
-+
-+#define ERROR_LOG_LEVEL 3
-+#define INFO_LOG_LEVEL 4
-+
-+#ifndef GLAMO_LOG
-+#define GLAMO_LOG(...) \
-+LogMessageVerb(X_NOTICE, INFO_LOG_LEVEL, "in %s:%d:%s: ",\
-+ __FILE__, __LINE__, __func__) ; \
-+LogMessageVerb(X_NOTICE, INFO_LOG_LEVEL, __VA_ARGS__)
-+#endif /*GLAMO_LOG*/
-+
-+#ifndef GLAMO_LOG_ERROR
-+#define GLAMO_LOG_ERROR(...) \
-+LogMessageVerb(X_NOTICE, ERROR_LOG_LEVEL, "Error:in %s:%d:%s: ",\
-+ __FILE__, __LINE__, __func__) ; \
-+LogMessageVerb(X_NOTICE, ERROR_LOG_LEVEL, __VA_ARGS__)
-+#endif /*GLAMO_LOG_ERROR*/
-+
-+#endif /*NDEBUG*/
-+
-+#endif /*_GLAMO_LOG_H_*/
-+
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_draw.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_draw.c 2007-11-28 18:44:27.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_draw.c 2007-11-29 09:33:11.000000000 +0100
-@@ -26,6 +26,7 @@
- #ifdef HAVE_CONFIG_H
- #include <kdrive-config.h>
- #endif
-+#include "glamo-log.h"
- #include "glamo.h"
- #include "glamo-regs.h"
- #include "glamo_dma.h"
-@@ -90,45 +91,11 @@
- KdScreenPriv(pScreen);
- GLAMOScreenInfo(pScreenPriv);
-
-- ENTER_DRAW(0);
-+ GLAMO_LOG("enter");
- GLAMOWaitIdle(glamos);
-- LEAVE_DRAW(0);
-+ GLAMO_LOG("leave");
- }
-
--#if GLAMO_TRACE_DRAW
--void
--GLAMOEnterDraw (PixmapPtr pPix, const char *function)
--{
-- if (pPix != NULL) {
-- KdScreenPriv(pPix->drawable.pScreen);
-- CARD32 offset;
--
-- offset = ((CARD8 *)pPix->devPrivate.ptr -
-- pScreenPriv->screen->memory_base);
--
-- ErrorF ("Enter %s 0x%x (%dx%dx%d/%d)\n", function, (unsigned int) offset,
-- pPix->drawable.width, pPix->drawable.height, pPix->drawable.depth,
-- (unsigned int) pPix->drawable.bitsPerPixel);
-- } else
-- ErrorF ("Enter %s\n", function);
--}
--
--void
--GLAMOLeaveDraw (PixmapPtr pPix, const char *function)
--{
-- if (pPix != NULL) {
-- KdScreenPriv(pPix->drawable.pScreen);
-- CARD32 offset;
--
-- offset = ((CARD8 *)pPix->devPrivate.ptr -
-- pScreenPriv->screen->memory_base);
--
-- ErrorF ("Leave %s 0x%x\n", function, (unsigned int) offset);
-- } else
-- ErrorF ("Leave %s\n", function);
--}
--#endif
--
- static Bool
- GLAMOPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
- {
-@@ -152,7 +119,7 @@
- pScreenPriv->screen->memory_base);
- pitch = pPix->devKind;
-
-- ENTER_DRAW(pPix);
-+ GLAMO_LOG("enter");
-
- BEGIN_DMA(12);
- OUT_REG(GLAMO_REG_2D_DST_ADDRL, offset & 0xffff);
-@@ -163,7 +130,7 @@
- OUT_REG(GLAMO_REG_2D_COMMAND2, settings);
- END_DMA();
-
-- LEAVE_DRAW(pPix);
-+ GLAMO_LOG("leave");
-
- return TRUE;
- }
-@@ -171,7 +138,7 @@
- static void
- GLAMOSolid(int x1, int y1, int x2, int y2)
- {
-- ENTER_DRAW(0);
-+ GLAMO_LOG("enter");
- GLAMOScreenInfo *glamos = accel_glamos;
- RING_LOCALS;
-
-@@ -184,14 +151,12 @@
- OUT_REG(GLAMO_REG_2D_ID1, 0);
- OUT_REG(GLAMO_REG_2D_ID2, 0);
- END_DMA();
-- LEAVE_DRAW(0);
-+ GLAMO_LOG("leave");
- }
-
- static void
- GLAMODoneSolid(void)
- {
-- ENTER_DRAW(0);
-- LEAVE_DRAW(0);
- }
-
- static Bool
-@@ -204,6 +169,8 @@
- FbBits mask;
- RING_LOCALS;
-
-+ GLAMO_LOG("enter");
-+
- if (pSrc->drawable.bitsPerPixel != 16 ||
- pDst->drawable.bitsPerPixel != 16)
- GLAMO_FALLBACK(("Only 16bpp is supported"));
-@@ -224,8 +191,6 @@
-
- settings = GLAMOBltRop[alu] << 8;
-
-- ENTER_DRAW (pDst);
--
- BEGIN_DMA(16);
-
- OUT_REG(GLAMO_REG_2D_SRC_ADDRL, src_offset & 0xffff);
-@@ -241,7 +206,7 @@
-
- END_DMA();
-
-- LEAVE_DRAW(pDst);
-+ GLAMO_LOG("leave");
-
- return TRUE;
- }
-@@ -268,8 +233,10 @@
- static void
- GLAMODoneCopy(void)
- {
-- ENTER_DRAW(0);
-- LEAVE_DRAW(0);
-+ GLAMOScreenInfo *glamos = accel_glamos;
-+ GLAMO_LOG("enter");
-+ GLAMOFlushIndirect(glamos, 1);
-+ GLAMO_LOG("leave");
- }
-
- static Bool
-@@ -279,6 +246,7 @@
- CARD8 *dst_offset;
- int dst_pitch;
-
-+ GLAMO_LOG("enter");
- dst_offset = (CARD8 *)pDst->devPrivate.ptr;
- dst_pitch = pDst->devKind;
- width = pDst->drawable.width;
-@@ -294,83 +262,9 @@
- src += src_pitch;
- }
-
-- ErrorF("hostdata upload %d,%d %dbpp\n", width, height, bpp);
--
- return TRUE;
- }
-
--
--#if 0
--static Bool
--GLAMOUploadToScratch(PixmapPtr pSrc, PixmapPtr pDst)
--{
-- KdScreenPriv(pSrc->drawable.pScreen);
-- GLAMOCardInfo(pScreenPriv);
-- GLAMOScreenInfo(pScreenPriv);
-- int dst_pitch, src_pitch, w, i, size, bytes;
-- unsigned char *dst, *src;
-- RING_LOCALS;
--
-- ENTER_DRAW(pSrc);
-- /* Align width to log 2, useful for R128 composite. This should be a
-- * KAA flag we check for (and supported in kaa.c in general) since many
-- * older bits of hardware are going to want POT pitches.
-- */
-- w = pSrc->drawable.width;
-- if (glamos->kaa.flags & KAA_OFFSCREEN_ALIGN_POT)
-- w = 1 << (GLAMOLog2(w - 1) + 1);
-- dst_pitch = (w * pSrc->drawable.bitsPerPixel / 8 +
-- glamos->kaa.pitchAlign - 1) & ~(glamos->kaa.pitchAlign - 1);
--
-- size = dst_pitch * pSrc->drawable.height;
-- if (size > glamos->scratch_area->size)
-- GLAMO_FALLBACK(("Pixmap too large for scratch (%d,%d)\n",
-- pSrc->drawable.width, pSrc->drawable.height));
--
-- glamos->scratch_next = (glamos->scratch_next + glamos->kaa.offsetAlign - 1) &
-- ~(glamos->kaa.offsetAlign - 1);
-- if (glamos->scratch_next + size > glamos->scratch_area->offset +
-- glamos->scratch_area->size) {
-- /* Only sync when we've used all of the scratch area. */
-- kaaWaitSync(pSrc->drawable.pScreen);
-- glamos->scratch_next = glamos->scratch_area->offset;
-- }
-- memcpy(pDst, pSrc, sizeof(*pDst));
-- pDst->devKind = dst_pitch;
-- pDst->devPrivate.ptr = pScreenPriv->screen->memory_base +
-- glamos->scratch_next;
-- glamos->scratch_next += size;
--
-- src = pSrc->devPrivate.ptr;
-- src_pitch = pSrc->devKind;
-- dst = pDst->devPrivate.ptr;
-- bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch;
--
-- i = pSrc->drawable.height;
-- while (i--) {
-- memcpy(dst, src, bytes);
-- dst += dst_pitch;
-- src += src_pitch;
-- }
--
-- /* Flush the pixel cache */
-- if (glamoc->is_3362) {
-- BEGIN_DMA(4);
-- OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT,
-- RADEON_RB3D_DC_FLUSH_ALL);
-- OUT_REG(GLAMO_REG_WAIT_UNTIL, RADEON_WAIT_HOST_IDLECLEAN);
-- END_DMA();
-- } else {
-- BEGIN_DMA(2);
-- OUT_REG(R128_REG_PC_GUI_CTLSTAT, R128_PC_FLUSH_ALL);
-- END_DMA();
-- }
--
-- LEAVE_DRAW(pSrc);
-- return TRUE;
--}
--#endif
--
- static void
- GLAMOBlockHandler(pointer blockData, OSTimePtr timeout, pointer readmask)
- {
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_dma.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_dma.c 2007-11-28 18:44:27.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_dma.c 2007-11-28 22:13:23.000000000 +0100
-@@ -25,6 +25,7 @@
-
- #include <sys/time.h>
-
-+#include "glamo-log.h"
- #include "glamo.h"
- #include "glamo-regs.h"
- #include "glamo_dma.h"
-@@ -35,9 +36,7 @@
- #include "glamo_sarea.h"
- #endif /* USE_DRI */
-
--#define DEBUG_FIFO 1
--
--#if DEBUG_FIFO
-+#ifndef NDEBUG
- static void
- GLAMODebugFifo(GLAMOScreenInfo *glamos)
- {
-@@ -273,7 +272,7 @@
- count--;
- }
- if (TIMEDOUT()) {
-- ErrorF("Timeout submitting packets, resetting...\n");
-+ GLAMO_LOG_ERROR("Timeout submitting packets, resetting...\n");
- GLAMOEngineReset(glamos->screen->pScreen, GLAMO_ENGINE_CQ);
- GLAMODrawSetup(glamos->screen->pScreen);
- }
-@@ -292,11 +291,6 @@
- if ((glamos->indirectStart == buf->used) && !discard)
- return;
-
--#if DEBUG_FIFO
-- ErrorF("Dispatching %d DWORDS\n", (buf->used - glamos->indirectStart) /
-- 4);
--#endif
--
- #ifdef USE_DRI
- if (glamos->using_dri) {
- buf->drmBuf->used = buf->used;
-@@ -384,11 +378,6 @@
- glamos->indirectBuffer = GLAMOGetDMABuffer(glamos);
- if (glamos->indirectBuffer == FALSE)
- FatalError("Failed to allocate DMA buffer.\n");
--
-- if (glamos->using_dri)
-- ErrorF("Initialized DRI DMA\n");
-- else
-- ErrorF("Initialized DMA\n");
- }
-
- void
-Index: xorg-server-1.3.0.0/configure.ac
-===================================================================
---- xorg-server-1.3.0.0.orig/configure.ac 2007-11-29 09:07:21.000000000 +0100
-+++ xorg-server-1.3.0.0/configure.ac 2007-11-29 09:15:38.000000000 +0100
-@@ -866,6 +866,10 @@
-
- if ! test "x$DEBUGGING" = xyes; then
- AC_DEFINE(NDEBUG, 1, [Disable some debugging code])
-+ AC_MSG_NOTICE([disabled debugging])
-+else
-+ AC_MSG_NOTICE([enabled debugging])
-+
- fi
-
- AC_DEFINE(USE_RGB_TXT, 1, [Use rgb.txt directly])
diff --git a/packages/xorg-xserver/xserver-kdrive/01-xglamo-scrolling-artifact-fix.patch b/packages/xorg-xserver/xserver-kdrive/01-xglamo-scrolling-artifact-fix.patch
deleted file mode 100644
index 1ca96b954d..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/01-xglamo-scrolling-artifact-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_draw.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_draw.c 2007-11-30 09:54:00.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_draw.c 2007-11-30 09:55:05.000000000 +0100
-@@ -314,8 +314,8 @@
- */
-
- glamos->kaa.flags = KAA_OFFSCREEN_PIXMAPS;
-- glamos->kaa.offsetAlign = 2;
-- glamos->kaa.pitchAlign = 2;
-+ glamos->kaa.offsetAlign = 0;
-+ glamos->kaa.pitchAlign = 0;
-
- kaaInitTrapOffsets(8, sample_offsets_x, sample_offsets_y, 0.0, 0.0);
- sample_count = (1 << 8) - 1;
diff --git a/packages/xorg-xserver/xserver-kdrive/02-xglamo-no-dri.patch b/packages/xorg-xserver/xserver-kdrive/02-xglamo-no-dri.patch
deleted file mode 100644
index 43315121da..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/02-xglamo-no-dri.patch
+++ /dev/null
@@ -1,438 +0,0 @@
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo.c 2007-11-28 18:44:27.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.c 2007-11-30 10:18:43.000000000 +0100
-@@ -27,9 +27,6 @@
- #include <kdrive-config.h>
- #endif
- #include "glamo.h"
--#if defined(USE_DRI) && defined(GLXEXT)
--#include "glamo_sarea.h"
--#endif
-
- static Bool
- GLAMOCardInit(KdCardInfo *card)
-@@ -89,13 +86,6 @@
- return FALSE;
- }
-
--#ifdef USE_DRI
-- /* We demand identification by busid, not driver name */
-- glamoc->drmFd = drmOpen(NULL, glamoc->busid);
-- if (glamoc->drmFd < 0)
-- ErrorF("Failed to open DRM, DRI disabled.\n");
--#endif /* USE_DRI */
--
- card->driver = glamoc;
-
- glamoc->is_3362 = TRUE;
-@@ -122,10 +112,6 @@
- GLAMOSetOffscreen (KdScreenInfo *screen)
- {
- GLAMOCardInfo(screen);
--#if defined(USE_DRI) && defined(GLXEXT)
-- GLAMOScreenInfo *glamos = (GLAMOScreenInfo *)screen->driver;
-- int l;
--#endif
- int screen_size;
- char *mmio = glamoc->reg_base;
-
-@@ -152,57 +138,7 @@
- }
-
- screen_size = screen->fb[0].byteStride * screen->height;
--
- screen->off_screen_base = screen_size;
--
--#if defined(USE_DRI) && defined(GLXEXT)
-- /* Reserve a static area for the back buffer the same size as the
-- * visible screen. XXX: This would be better initialized in glamo_dri.c
-- * when GLX is set up, but the offscreen memory manager's allocations
-- * don't last through VT switches, while the kernel's understanding of
-- * offscreen locations does.
-- */
-- glamos->frontOffset = 0;
-- glamos->frontPitch = screen->fb[0].byteStride;
--
-- if (screen->off_screen_base + screen_size <= screen->memory_size) {
-- glamos->backOffset = screen->off_screen_base;
-- glamos->backPitch = screen->fb[0].byteStride;
-- screen->off_screen_base += screen_size;
-- }
--
-- /* Reserve the depth span for Rage 128 */
-- if (!glamoc->is_3362 && screen->off_screen_base +
-- screen->fb[0].byteStride <= screen->memory_size) {
-- glamos->spanOffset = screen->off_screen_base;
-- screen->off_screen_base += screen->fb[0].byteStride;
-- }
--
-- /* Reserve the static depth buffer, which happens to be the same
-- * bitsPerPixel as the screen.
-- */
-- if (screen->off_screen_base + screen_size <= screen->memory_size) {
-- glamos->depthOffset = screen->off_screen_base;
-- glamos->depthPitch = screen->fb[0].byteStride;
-- screen->off_screen_base += screen_size;
-- }
--
-- /* Reserve approx. half of remaining offscreen memory for local
-- * textures. Round down to a whole number of texture regions.
-- */
-- glamos->textureSize = (screen->memory_size - screen->off_screen_base) / 2;
-- l = GLAMOLog2(glamos->textureSize / GLAMO_NR_TEX_REGIONS);
-- if (l < GLAMO_LOG_TEX_GRANULARITY)
-- l = GLAMO_LOG_TEX_GRANULARITY;
-- glamos->textureSize = (glamos->textureSize >> l) << l;
-- if (glamos->textureSize >= 512 * 1024) {
-- glamos->textureOffset = screen->off_screen_base;
-- screen->off_screen_base += glamos->textureSize;
-- } else {
-- /* Minimum texture size is for 2 256x256x32bpp textures */
-- glamos->textureSize = 0;
-- }
--#endif /* USE_DRI && GLXEXT */
- }
-
- static Bool
-@@ -413,9 +349,6 @@
- GLAMODisable(ScreenPtr pScreen)
- {
- KdScreenPriv(pScreen);
--#if defined(USE_DRI) && defined(GLXEXT)
-- GLAMOScreenInfo(pScreenPriv);
--#endif /* USE_DRI && GLXEXT */
- GLAMOCardInfo(pScreenPriv);
-
- GLAMOUnmapReg(pScreenPriv->card, glamoc);
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_dma.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_dma.c 2007-11-28 22:13:23.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_dma.c 2007-11-30 10:25:49.000000000 +0100
-@@ -31,11 +31,6 @@
- #include "glamo_dma.h"
- #include "glamo_draw.h"
-
--#ifdef USE_DRI
--#include "radeon_common.h"
--#include "glamo_sarea.h"
--#endif /* USE_DRI */
--
- #ifndef NDEBUG
- static void
- GLAMODebugFifo(GLAMOScreenInfo *glamos)
-@@ -168,26 +163,6 @@
- if (glamos->indirectBuffer != NULL)
- GLAMOFlushIndirect(glamos, 0);
-
--#ifdef USE_DRI
-- if (glamos->using_dri) {
-- int ret = 0;
-- int cmd = (glamoc->is_3362 ? DRM_RADEON_CP_IDLE :
-- DRM_R128_CCE_IDLE);
-- WHILE_NOT_TIMEOUT(2) {
-- ret = drmCommandNone(glamoc->drmFd, cmd);
-- if (ret != -EBUSY)
-- break;
-- }
-- if (TIMEDOUT()) {
-- GLAMODebugFifo(glamos);
-- FatalError("Timed out idling CCE (card hung)\n");
-- }
-- if (ret != 0)
-- ErrorF("Failed to idle DMA, returned %d\n", ret);
-- return;
-- }
--#endif
--
- WHILE_NOT_TIMEOUT(.5) {
- status = MMIO_IN16(mmio, GLAMO_REG_CQ_STATUS);
- if ((status & (1 << 2)) && !(status & (1 << 8)))
-@@ -214,20 +189,6 @@
- if (buf == NULL)
- return NULL;
-
--#ifdef USE_DRI
-- if (glamos->using_dri) {
-- buf->drmBuf = GLAMODRIGetBuffer(glamos);
-- if (buf->drmBuf == NULL) {
-- xfree(buf);
-- return NULL;
-- }
-- buf->size = buf->drmBuf->total;
-- buf->used = buf->drmBuf->used;
-- buf->address = buf->drmBuf->address;
-- return buf;
-- }
--#endif /* USE_DRI */
--
- buf->size = glamos->ring_len / 2;
- buf->address = xalloc(buf->size);
- if (buf->address == NULL) {
-@@ -290,25 +251,6 @@
-
- if ((glamos->indirectStart == buf->used) && !discard)
- return;
--
--#ifdef USE_DRI
-- if (glamos->using_dri) {
-- buf->drmBuf->used = buf->used;
-- GLAMODRIDispatchIndirect(glamos, discard);
-- if (discard) {
-- buf->drmBuf = GLAMODRIGetBuffer(glamos);
-- buf->size = buf->drmBuf->total;
-- buf->used = buf->drmBuf->used;
-- buf->address = buf->drmBuf->address;
-- glamos->indirectStart = 0;
-- } else {
-- /* Start on a double word boundary */
-- glamos->indirectStart = buf->used = (buf->used + 7) & ~7;
-- }
-- return;
-- }
--#endif /* USE_DRI */
--
- GLAMODispatchIndirectDMA(glamos);
-
- buf->used = 0;
-@@ -367,13 +309,7 @@
- KdScreenPriv(pScreen);
- GLAMOScreenInfo(pScreenPriv);
-
--#ifdef USE_DRI
-- if (glamos->using_dri)
-- GLAMODRIDMAStart(glamos);
--#endif /* USE_DRI */
--
-- if (!glamos->using_dri)
-- GLAMODMAInit(pScreen);
-+ GLAMODMAInit(pScreen);
-
- glamos->indirectBuffer = GLAMOGetDMABuffer(glamos);
- if (glamos->indirectBuffer == FALSE)
-@@ -388,11 +324,6 @@
-
- GLAMOWaitIdle(glamos);
-
--#ifdef USE_DRI
-- if (glamos->using_dri)
-- GLAMODRIDMAStop(glamos);
--#endif /* USE_DRI */
--
- xfree(glamos->indirectBuffer->address);
- xfree(glamos->indirectBuffer);
- glamos->indirectBuffer = NULL;
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.h
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo.h 2007-11-30 10:24:13.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.h 2007-11-30 10:25:06.000000000 +0100
-@@ -39,18 +39,6 @@
-
- #include "kxv.h"
-
--#undef XF86DRI
--#ifdef XF86DRI
--#define USE_DRI
--#include "xf86drm.h"
--#include "dri.h"
--#ifdef GLXEXT
--#include "GL/glxint.h"
--#include "GL/glxtokens.h"
--#include "glamo_dripriv.h"
--#endif
--#endif
--
- #define GLAMO_REG_BASE(c) ((c)->attr.address[0])
- #define GLAMO_REG_SIZE(c) (0x2400)
-
-@@ -124,9 +112,6 @@
- Bool is_3362;
- CARD32 crtc_pitch;
- CARD32 crtc2_pitch;
--#ifdef USE_DRI
-- int drmFd;
--#endif /* USE_DRI */
- Bool use_fbdev, use_vesa;
- } GLAMOCardInfo;
-
-@@ -166,9 +151,6 @@
- int size;
- int used;
- void *address;
--#ifdef USE_DRI
-- drmBufPtr drmBuf;
--#endif
- } dmaBuf;
-
- typedef struct _GLAMOScreenInfo {
-@@ -194,8 +176,6 @@
- KdVideoAdaptorPtr pAdaptor;
- int num_texture_ports;
-
-- Bool using_dri; /* If we use the DRM for DMA. */
--
- KdOffscreenArea *dma_space; /* For "DMA" from framebuffer. */
- CARD16 *ring_addr; /* Beginning of ring buffer. */
- int ring_write; /* Index of write ptr in ring. */
-@@ -204,76 +184,6 @@
-
- dmaBuf *indirectBuffer;
- int indirectStart;
--
--#ifdef USE_DRI
-- Bool dma_started;
--
-- drmSize registerSize;
-- drmHandle registerHandle;
-- drmHandle fbHandle;
--
-- drmSize gartSize;
-- drmHandle agpMemHandle; /* Handle from drmAgpAlloc */
-- unsigned long gartOffset;
-- unsigned char *AGP; /* Map */
-- int agpMode;
-- drmSize pciSize;
-- drmHandle pciMemHandle;
--
-- /* ring buffer data */
-- unsigned long ringStart; /* Offset into AGP space */
-- drmHandle ringHandle; /* Handle from drmAddMap */
-- drmSize ringMapSize; /* Size of map */
-- int ringSize; /* Size of ring (MB) */
-- unsigned char *ring; /* Map */
--
-- unsigned long ringReadOffset; /* Offset into AGP space */
-- drmHandle ringReadPtrHandle; /* Handle from drmAddMap */
-- drmSize ringReadMapSize; /* Size of map */
-- unsigned char *ringReadPtr; /* Map */
--
-- /* vertex/indirect buffer data */
-- unsigned long bufStart; /* Offset into AGP space */
-- drmHandle bufHandle; /* Handle from drmAddMap */
-- drmSize bufMapSize; /* Size of map */
-- int bufSize; /* Size of buffers (MB) */
-- unsigned char *buf; /* Map */
-- int bufNumBufs; /* Number of buffers */
-- drmBufMapPtr buffers; /* Buffer map */
--
-- /* AGP Texture data */
-- unsigned long gartTexStart; /* Offset into AGP space */
-- drmHandle gartTexHandle; /* Handle from drmAddMap */
-- drmSize gartTexMapSize; /* Size of map */
-- int gartTexSize; /* Size of AGP tex space (MB) */
-- unsigned char *gartTex; /* Map */
-- int log2GARTTexGran;
--
-- int DMAusecTimeout; /* CCE timeout in usecs */
--
-- /* DRI screen private data */
-- int frontOffset;
-- int frontPitch;
-- int backOffset;
-- int backPitch;
-- int depthOffset;
-- int depthPitch;
-- int spanOffset;
-- int textureOffset;
-- int textureSize;
-- int log2TexGran;
--
-- int irqEnabled;
--
-- int serverContext;
--
-- DRIInfoPtr pDRIInfo;
--#ifdef GLXEXT
-- int numVisualConfigs;
-- __GLXvisualConfig *pVisualConfigs;
-- GLAMOConfigPrivPtr pVisualConfigsPriv;
--#endif /* GLXEXT */
--#endif /* USE_DRI */
- } GLAMOScreenInfo;
-
- #define getGLAMOScreenInfo(kd) ((GLAMOScreenInfo *) ((kd)->screen->driver))
-@@ -330,31 +240,6 @@
- void
- GLAMODrawFini(ScreenPtr pScreen);
-
--/* glamo_dri.c */
--#ifdef USE_DRI
--Bool
--GLAMODRIScreenInit(ScreenPtr pScreen);
--
--void
--GLAMODRICloseScreen(ScreenPtr pScreen);
--
--void
--GLAMODRIDMAStart(GLAMOScreenInfo *glamos);
--
--void
--GLAMODRIDMAStop(GLAMOScreenInfo *glamos);
--
--void
--GLAMODRIDMAReset(GLAMOScreenInfo *glamos);
--
--void
--GLAMODRIDispatchIndirect(GLAMOScreenInfo *glamos, Bool discard);
--
--drmBufPtr
--GLAMODRIGetBuffer(GLAMOScreenInfo *glamos);
--
--#endif /* USE_DRI */
--
- /* glamo_cursor.c */
- Bool
- GLAMOCursorInit(ScreenPtr pScreen);
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_draw.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_draw.c 2007-11-30 09:55:05.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_draw.c 2007-11-30 10:26:02.000000000 +0100
-@@ -296,11 +296,6 @@
- RegisterBlockAndWakeupHandlers(GLAMOBlockHandler, GLAMOWakeupHandler,
- pScreen);
-
-- glamos->using_dri = FALSE;
--#ifdef USE_DRI
-- glamos->using_dri = GLAMODRIScreenInit(pScreen);
--#endif /* USE_DRI */
--
- memset(&glamos->kaa, 0, sizeof(KaaScreenInfoRec));
- glamos->kaa.waitMarker = GLAMOWaitMarker;
- glamos->kaa.PrepareSolid = GLAMOPrepareSolid;
-@@ -357,20 +352,6 @@
- glamos->kaa.UploadToScreen = NULL;
- glamos->kaa.UploadToScratch = NULL;
-
--#ifdef USE_DRI
-- if (glamos->using_dri) {
-- if (!glamoc->is_3362) {
-- /*glamos->kaa.PrepareTrapezoids = R128PrepareTrapezoids;
-- glamos->kaa.Trapezoids = R128Trapezoids;
-- glamos->kaa.DoneTrapezoids = R128DoneTrapezoids;*/
-- } else if (glamoc->is_r100 || glamoc->is_r200) {
-- glamos->kaa.PrepareTrapezoids = RadeonPrepareTrapezoids;
-- glamos->kaa.Trapezoids = RadeonTrapezoids;
-- glamos->kaa.DoneTrapezoids = RadeonDoneTrapezoids;
-- }
-- }
--#endif /* USE_DRI */
--
- glamos->kaa.UploadToScreen = GLAMOUploadToScreen;
-
- /* Reserve a scratch area. It'll be used for storing glyph data during
-@@ -399,15 +380,6 @@
- void
- GLAMODrawFini(ScreenPtr pScreen)
- {
--#ifdef USE_DRI
-- KdScreenPriv(pScreen);
-- GLAMOScreenInfo(pScreenPriv);
-- if (glamos->using_dri) {
-- GLAMODRICloseScreen(pScreen);
-- glamos->using_dri = FALSE;
-- }
--#endif /* USE_DRI */
--
- RemoveBlockAndWakeupHandlers(GLAMOBlockHandler, GLAMOWakeupHandler,
- pScreen);
-
diff --git a/packages/xorg-xserver/xserver-kdrive/03-xglamo-no-vesa.patch b/packages/xorg-xserver/xserver-kdrive/03-xglamo-no-vesa.patch
deleted file mode 100644
index 2c44bd8d3d..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/03-xglamo-no-vesa.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo.c 2007-11-30 10:18:43.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.c 2007-11-30 10:35:27.000000000 +0100
-@@ -38,9 +38,7 @@
- if (glamoc == NULL)
- return FALSE;
-
--#ifdef KDRIVEFBDEV
- if (!initialized && fbdevInitialize(card, &glamoc->backend_priv.fbdev)) {
-- glamoc->use_fbdev = TRUE;
- initialized = TRUE;
- glamoc->backend_funcs.cardfini = fbdevCardFini;
- glamoc->backend_funcs.scrfini = fbdevScreenFini;
-@@ -58,29 +56,6 @@
- glamoc->backend_funcs.randrSetConfig = fbdevRandRSetConfig;
- #endif
- }
--#endif
--#ifdef KDRIVEVESA
-- if (!initialized && vesaInitialize(card, &glamoc->backend_priv.vesa)) {
-- glamoc->use_vesa = TRUE;
-- initialized = TRUE;
-- glamoc->backend_funcs.cardfini = vesaCardFini;
-- glamoc->backend_funcs.scrfini = vesaScreenFini;
-- glamoc->backend_funcs.initScreen = vesaInitScreen;
-- glamoc->backend_funcs.finishInitScreen = vesaFinishInitScreen;
-- glamoc->backend_funcs.createRes = vesaCreateResources;
-- glamoc->backend_funcs.preserve = vesaPreserve;
-- glamoc->backend_funcs.restore = vesaRestore;
-- glamoc->backend_funcs.dpms = vesaDPMS;
-- glamoc->backend_funcs.enable = vesaEnable;
-- glamoc->backend_funcs.disable = vesaDisable;
-- glamoc->backend_funcs.getColors = vesaGetColors;
-- glamoc->backend_funcs.putColors = vesaPutColors;
--#ifdef RANDR
-- glamoc->backend_funcs.randrSetConfig = vesaRandRSetConfig;
--#endif
-- }
--#endif
--
- if (!initialized || !GLAMOMapReg(card, glamoc)) {
- xfree(glamoc);
- return FALSE;
-@@ -158,18 +133,8 @@
-
- if (screen->fb[0].depth == 0)
- screen->fb[0].depth = 16;
--#ifdef KDRIVEFBDEV
-- if (glamoc->use_fbdev) {
-- success = fbdevScreenInitialize(screen,
-- &glamos->backend_priv.fbdev);
-- }
--#endif
--#ifdef KDRIVEVESA
-- if (glamoc->use_vesa) {
-- success = vesaScreenInitialize(screen,
-- &glamos->backend_priv.vesa);
-- }
--#endif
-+
-+ success = fbdevScreenInitialize(screen, &glamos->backend_priv.fbdev);
-
- if (!success) {
- screen->driver = NULL;
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.h
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo.h 2007-11-30 10:25:06.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo.h 2007-11-30 10:35:17.000000000 +0100
-@@ -30,13 +30,7 @@
- #include <kdrive-config.h>
- #endif
-
--#ifdef KDRIVEFBDEV
- #include <fbdev.h>
--#endif
--#ifdef KDRIVEVESA
--#include <vesa.h>
--#endif
--
- #include "kxv.h"
-
- #define GLAMO_REG_BASE(c) ((c)->attr.address[0])
-@@ -99,12 +93,7 @@
-
- typedef struct _GLAMOCardInfo {
- union {
--#ifdef KDRIVEFBDEV
- FbdevPriv fbdev;
--#endif
--#ifdef KDRIVEVESA
-- VesaCardPrivRec vesa;
--#endif
- } backend_priv;
- struct backend_funcs backend_funcs;
-
-@@ -112,7 +101,6 @@
- Bool is_3362;
- CARD32 crtc_pitch;
- CARD32 crtc2_pitch;
-- Bool use_fbdev, use_vesa;
- } GLAMOCardInfo;
-
- #define getGLAMOCardInfo(kd) ((GLAMOCardInfo *) ((kd)->card->driver))
-@@ -155,12 +143,7 @@
-
- typedef struct _GLAMOScreenInfo {
- union {
--#ifdef KDRIVEFBDEV
- FbdevScrPriv fbdev;
--#endif
--#ifdef KDRIVEVESA
-- VesaScreenPrivRec vesa;
--#endif
- } backend_priv;
- KaaScreenInfoRec kaa;
-
-Index: xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_stub.c
-===================================================================
---- xorg-server-1.3.0.0.orig/hw/kdrive/glamo/glamo_stub.c 2007-11-28 18:44:27.000000000 +0100
-+++ xorg-server-1.3.0.0/hw/kdrive/glamo/glamo_stub.c 2007-11-30 10:34:10.000000000 +0100
-@@ -59,9 +59,6 @@
- ddxUseMsg (void)
- {
- KdUseMsg();
--#ifdef KDRIVEVESA
-- vesaUseMsg();
--#endif
- }
-
- int
-@@ -69,9 +66,6 @@
- {
- int ret;
-
--#ifdef KDRIVEVESA
-- if (!(ret = vesaProcessArgument (argc, argv, i)))
--#endif
- ret = KdProcessArgument(argc, argv, i);
-
- return ret;
diff --git a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
index 755a51ca63..4a1a709279 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
@@ -3,7 +3,7 @@ require xserver-kdrive-common.inc
DEPENDS += "libxkbfile libxcalibrate"
PE = "1"
-PR = "r24"
+PR = "r25"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
@@ -22,12 +22,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
file://kdrive-1.3-18bpp.patch;patch=1 \
file://linux-keyboard-mediumraw.patch;patch=1 \
file://gumstix-kmode.patch;patch=1 \
- file://smedia-glamo.patch;patch=1 \
- file://build-glamo.patch;patch=1 \
- file://00-xglamo-logs.patch;patch=1 \
- file://01-xglamo-scrolling-artifact-fix.patch;patch=1 \
- file://02-xglamo-no-dri.patch;patch=1 \
- file://03-xglamo-no-vesa.patch;patch=1 \
+ file://fix-picturestr-include-order.patch;patch=1 \
"
SRC_URI_append_avr32 = " \
diff --git a/packages/xorg-xserver/xserver-kdrive_1.4.bb b/packages/xorg-xserver/xserver-kdrive_1.4.bb
index c87090197c..30ae4a2e3d 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.4.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.4.bb
@@ -3,7 +3,7 @@ require xserver-kdrive-common.inc
DEPENDS += "hal libxkbfile libxcalibrate pixman"
PE = "1"
-PR = "r3"
+PR = "r4"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
@@ -22,6 +22,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
file://fbdev-evdev.patch;patch=1 \
file://keyboard-resume-workaround.patch;patch=1 \
file://xorg-avr32-support.diff;patch=1 \
+ file://pkgconfig_fix.patch;patch=1 \
"
S = "${WORKDIR}/xorg-server-${PV}"
diff --git a/packages/pango/pango-1.16.2/.mtn2git_empty b/packages/xvidcap/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/pango/pango-1.16.2/.mtn2git_empty
+++ b/packages/xvidcap/.mtn2git_empty
diff --git a/packages/xvidcap/xvidcap.inc b/packages/xvidcap/xvidcap.inc
new file mode 100644
index 0000000000..a164e1db5b
--- /dev/null
+++ b/packages/xvidcap/xvidcap.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Capture X-Window display to individual frames or MPEG video."
+SECTION = "multimedia"
+PRIORITY = "optional"
+LICENSE = "GPL"
+AUTHOR = "Rasca <thron@gmx.de> Karl H. Beckers <karl.h.beckers@gmx.net>"
+HOMEPAGE = "http://xvidcap.sf.net"
+
+DEPENDS = "intltool-native docbook-utils-native gtk+ glib-2.0 libglade lame xmu libxfixes xdamage"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-libmp3lame --with-x"
+
+FILES_${PN} += "${datadir}/dbus-1"
diff --git a/packages/xvidcap/xvidcap_1.1.6.bb b/packages/xvidcap/xvidcap_1.1.6.bb
new file mode 100644
index 0000000000..07442e9129
--- /dev/null
+++ b/packages/xvidcap/xvidcap_1.1.6.bb
@@ -0,0 +1,4 @@
+require xvidcap.inc
+
+PR = "r0"
+
diff --git a/packages/xvidcap/xvidcap_1.1.7rc1.bb b/packages/xvidcap/xvidcap_1.1.7rc1.bb
new file mode 100644
index 0000000000..55ccaa90b1
--- /dev/null
+++ b/packages/xvidcap/xvidcap_1.1.7rc1.bb
@@ -0,0 +1,6 @@
+require xvidcap.inc
+
+PR = "r0"
+
+# 1.1.7rc1 still uses this directory name
+S = "${WORKDIR}/${PN}-1.1.6"
diff --git a/packages/xxf86dgaext/.mtn2git_empty b/packages/xxf86dgaext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xxf86dgaext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xxf86dgaext/xxf86dgaext_cvs.bb b/packages/xxf86dgaext/xxf86dgaext_cvs.bb
deleted file mode 100644
index 30788049c7..0000000000
--- a/packages/xxf86dgaext/xxf86dgaext_cvs.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "Xorg"
-SECTION = "x11/libs"
-DESCRIPTION = "Xxf86dga extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XF86DGAExt"
-S = "${WORKDIR}/XF86DGAExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/xxf86vmext/.mtn2git_empty b/packages/xxf86vmext/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/xxf86vmext/.mtn2git_empty
+++ /dev/null
diff --git a/packages/xxf86vmext/xxf86vmext_cvs.bb b/packages/xxf86vmext/xxf86vmext_cvs.bb
deleted file mode 100644
index 06145e2905..0000000000
--- a/packages/xxf86vmext/xxf86vmext_cvs.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-PV = "0.0+cvs${SRCDATE}"
-LICENSE = "MIT"
-SECTION = "x11/libs"
-DESCRIPTION = "Xxf86vm extension headers"
-
-SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XF86VMExt"
-S = "${WORKDIR}/XF86VMExt"
-
-inherit autotools pkgconfig
-
-do_stage() {
- autotools_stage_all
-}
diff --git a/packages/zaurusd/files/01-check-toggle-landscape b/packages/zaurusd/files/01-check-toggle-landscape
new file mode 100644
index 0000000000..13ae9a4e68
--- /dev/null
+++ b/packages/zaurusd/files/01-check-toggle-landscape
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Try to determine and ignore false rotation signals caused by
+# headphones removal or remote removal remembering the old state.
+# OE#3390
+if test "`cat /var/run/last-screen-rotation`" = landscape ; then
+ exit
+fi
+echo landscape > /var/run/last-screen-rotation
diff --git a/packages/zaurusd/files/01-check-toggle-portait b/packages/zaurusd/files/01-check-toggle-portait
new file mode 100644
index 0000000000..4c3b7f1291
--- /dev/null
+++ b/packages/zaurusd/files/01-check-toggle-portait
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Try to determine and ignore false rotation signals caused by
+# headphones removal or remote removal remembering the old state.
+# OE#3390
+if test "`cat /var/run/last-screen-rotation`" = portait ; then
+ exit
+fi
+echo portait > /var/run/last-screen-rotation
diff --git a/packages/zaurusd/files/alsa-cxx00-default.state.patch b/packages/zaurusd/files/alsa-cxx00-default.state.patch
index c3e234b534..b10e6c85dd 100644
--- a/packages/zaurusd/files/alsa-cxx00-default.state.patch
+++ b/packages/zaurusd/files/alsa-cxx00-default.state.patch
@@ -1,64 +1,194 @@
---- zaurusd/config/alsa/cxx00-default.state.orig 2006-06-28 08:45:07.000000000 +0000
-+++ zaurusd/config/alsa/cxx00-default.state 2007-05-21 21:40:50.000000000 +0000
-@@ -32,7 +32,7 @@
+http://bugs.openembedded.org/show_bug.cgi?id=2617
+- Fixes default ALSA state for SL-Cxx00.
+ * Treble level reflects kernel fix alsa-wm8750-treble.patch (>2.6.24).
+ * Increased Mic Levels and Boost.
+ * Enabled Capture Switch.
+ * Improved Headphones / Speaker volume balance.
+ * 3D Mode changed to "Playback" (still Off by default).
+ * Disabled all bypasses.
+ * All Mono signals decreased to 0 (not connected).
+ * Line Mux changed to differential, keeping PGA unused.
+ * Using Digital mono for recording (jack supports ony mono).
+ * Enabled Automatic Level Control, optimized for voice recording.
+ * Enabled Zero Cross volume changes.
+- Do not alter incorrect mixer levels by zaurus-mixer-callback.
+
+Index: zaurusd/config/alsa/cxx00-default.state
+===================================================================
+--- zaurusd.orig/config/alsa/cxx00-default.state 2006-06-28 08:45:07.000000000 +0000
++++ zaurusd/config/alsa/cxx00-default.state 2007-11-27 23:06:43.000000000 +0000
+@@ -6,8 +6,8 @@
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+- value.0 23
+- value.1 23
++ value.0 48
++ value.1 48
+ }
+ control.2 {
+ comment.access 'read write'
+@@ -15,8 +15,8 @@
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+- value.0 false
+- value.1 false
++ value.0 true
++ value.1 true
+ }
+ control.3 {
+ comment.access 'read write'
+@@ -24,26 +24,26 @@
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+- value.0 false
+- value.1 false
++ value.0 true
++ value.1 true
+ }
+ control.4 {
+ comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
- name 'Out1 Playback ZC Switch'
+- value.0 false
+- value.1 false
+ name 'Headphone Playback ZC Switch'
- value.0 false
- value.1 false
++ value.0 true
++ value.1 true
}
-@@ -41,7 +41,7 @@
+ control.5 {
+ comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
- name 'Out2 Playback ZC Switch'
+- value.0 false
+- value.1 false
+ name 'Speaker Playback ZC Switch'
- value.0 false
- value.1 false
++ value.0 true
++ value.1 true
+ }
+ control.6 {
+ comment.access 'read write'
+@@ -92,8 +92,8 @@
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+- value.0 255
+- value.1 255
++ value.0 220
++ value.1 220
}
-@@ -218,7 +218,7 @@
- comment.item.3 Stereo
+ control.11 {
+ comment.access 'read write'
+@@ -131,7 +131,7 @@
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Treble Volume'
+- value 15
++ value 0
+ }
+ control.15 {
+ comment.access 'read write'
+@@ -188,7 +188,7 @@
+ comment.item.1 Playback
iface MIXER
- name 'ALC Capture Function'
-- value Left
-+ value Off
+ name '3D Mode'
+- value Capture
++ value Playback
}
- control.24 {
+ control.21 {
comment.access 'read write'
-@@ -321,8 +321,8 @@
+@@ -226,7 +226,7 @@
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+- value false
++ value true
+ }
+ control.25 {
+ comment.access 'read write'
+@@ -235,7 +235,7 @@
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+- value 0
++ value 9
+ }
+ control.26 {
+ comment.access 'read write'
+@@ -244,7 +244,7 @@
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+- value 3
++ value 9
+ }
+ control.27 {
+ comment.access 'read write'
+@@ -253,7 +253,7 @@
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+- value 2
++ value 3
+ }
+ control.28 {
+ comment.access 'read write'
+@@ -306,7 +306,7 @@
+ comment.count 1
+ iface MIXER
+ name 'ZC Timeout Switch'
+- value false
++ value true
+ }
+ control.34 {
+ comment.access 'read write'
+@@ -321,7 +321,7 @@
comment.type BOOLEAN
comment.count 1
iface MIXER
- name 'Right Out2 Playback Invert Switch'
-- value true
+ name 'Right Speaker Playback Invert Switch'
-+ value false
+ value true
}
control.36 {
- comment.access 'read write'
@@ -331,8 +331,8 @@
comment.range '0 - 3'
iface MIXER
name 'Mic Boost'
- value.0 2
- value.1 2
++ value.0 3
++ value.1 3
+ }
+ control.37 {
+ comment.access 'read write'
+@@ -341,8 +341,8 @@
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Left Playback Volume'
+- value.0 2
+- value.1 2
+ value.0 0
+ value.1 0
}
- control.37 {
+ control.38 {
comment.access 'read write'
-@@ -351,8 +351,8 @@
+@@ -361,8 +361,8 @@
comment.range '0 - 7'
iface MIXER
- name 'Bypass Right Playback Volume'
-- value.0 0
-- value.1 0
-+ value.0 2
-+ value.1 2
+ name 'Bypass Mono Playback Volume'
+- value.0 2
+- value.1 2
++ value.0 0
++ value.1 0
}
- control.39 {
+ control.40 {
comment.access 'read write'
@@ -378,9 +378,9 @@
comment.count 2
@@ -68,8 +198,8 @@
- value.0 120
- value.1 120
+ name 'Headphone Playback Volume'
-+ value.0 121
-+ value.1 121
++ value.0 105
++ value.1 105
}
control.42 {
comment.access 'read write'
@@ -81,17 +211,26 @@
- value.0 119
- value.1 119
+ name 'Speaker Playback Volume'
-+ value.0 121
-+ value.1 121
++ value.0 127
++ value.1 127
}
control.43 {
comment.access 'read write'
+@@ -399,7 +399,7 @@
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+- value 121
++ value 0
+ }
+ control.44 {
+ comment.access 'read write'
@@ -411,7 +411,7 @@
comment.item.3 'Digital Mono'
iface MIXER
name 'Right ADC Mux'
- value 'Mono (Left)'
-+ value Stereo
++ value 'Digital Mono'
}
control.45 {
comment.access 'read write'
@@ -100,55 +239,19 @@
iface MIXER
name 'Left ADC Mux'
- value 'Mono (Left)'
-+ value Stereo
++ value 'Digital Mono'
}
control.46 {
comment.access 'read write'
-@@ -458,7 +458,7 @@
- comment.item.4 Differential
- iface MIXER
- name 'Right Line Mux'
-- value Differential
-+ value 'Line 1'
- }
- control.49 {
- comment.access 'read write'
@@ -471,7 +471,7 @@
comment.item.4 Differential
iface MIXER
name 'Left Line Mux'
- value PGA
-+ value 'Line 1'
++ value Differential
}
control.50 {
comment.access 'read write'
-@@ -483,7 +483,7 @@
- comment.item.3 Differential
- iface MIXER
- name 'Right PGA Mux'
-- value Differential
-+ value 'Line 1'
- }
- control.51 {
- comment.access 'read write'
-@@ -495,7 +495,7 @@
- comment.item.3 Differential
- iface MIXER
- name 'Left PGA Mux'
-- value Differential
-+ value 'Line 1'
- }
- control.52 {
- comment.access 'read write'
-@@ -535,7 +535,7 @@
- comment.count 1
- iface MIXER
- name 'Right Mixer Left Playback Switc'
-- value false
-+ value true
- }
- control.57 {
- comment.access 'read write'
@@ -610,9 +610,8 @@
comment.access 'read write'
comment.type ENUMERATED
@@ -161,3 +264,38 @@
iface MIXER
name 'Speaker Function'
value On
+Index: zaurusd/scripts/zaurus-mixer-callback.in
+===================================================================
+--- zaurusd.orig/scripts/zaurus-mixer-callback.in 2007-11-27 23:32:45.000000000 +0000
++++ zaurusd/scripts/zaurus-mixer-callback.in 2007-11-27 23:36:54.000000000 +0000
+@@ -16,8 +16,6 @@
+ JACK="$1"
+ SPK="$2"
+ LEFT="true"
+-RLPLAYBACK="false"
+-RLBYPASS="false"
+
+ case $SPK in
+ "On")
+@@ -37,8 +35,6 @@
+ ;;
+ "Headset" | "Mic" | "Line")
+ LEFT="false"
+- RLPLAYBACK="true"
+- RLBYPASS="true"
+ SPK="Off"
+ ;;
+ *)
+@@ -58,12 +54,6 @@
+ }; /Speaker Function/ {
+ N
+ s:\(Speaker Function.*\n.*value \).*$:\1$SPK:
+-}; /Right Mixer Left Playback/ {
+-N
+-s:\(Right Mixer Left Playback.*\n.*value \).*$:\1$RLPLAYBACK:
+-}; /Right Mixer Left Bypass/ {
+-N
+-s:\(Right Mixer Left Bypass.*\n.*value \).*$:\1$RLBYPASS:
+ }; /Left Mixer Playback/ {
+ N
+ s:\(Left Mixer Playback.*\n.*value \).*$:\1$LEFT:
diff --git a/packages/zaurusd/files/zaurus-hinge.in b/packages/zaurusd/files/zaurus-hinge.in
index f719ba3c76..9670e8803e 100644
--- a/packages/zaurusd/files/zaurus-hinge.in
+++ b/packages/zaurusd/files/zaurus-hinge.in
@@ -19,9 +19,12 @@ if [ -z "$1" ]; then
exit 1
fi
-panel_user="`ps aux|grep matchbox-panel|grep -v grep | awk '{print $2}'`"
-
+panel_user="`ps aux|grep matchbox-panel|grep -v grep | awk '{print $1}'`"
+# touch ~/.norot can disable rotation.
+if test -f /home/$panel_user/.norot ; then
+ exit
+fi
STATE=$1
diff --git a/packages/zaurusd/files/zaurusd-mixer-callback.patch b/packages/zaurusd/files/zaurusd-mixer-callback.patch
deleted file mode 100644
index 7c9455d042..0000000000
--- a/packages/zaurusd/files/zaurusd-mixer-callback.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- zaurusd/scripts/zaurus-mixer-callback.in.orig 2007-06-05 03:15:30.000000000 +0000
-+++ zaurusd/scripts/zaurus-mixer-callback.in 2007-06-05 03:14:53.000000000 +0000
-@@ -16,7 +16,7 @@
- JACK="$1"
- SPK="$2"
- LEFT="true"
--RLPLAYBACK="false"
-+RLPLAYBACK="true"
- RLBYPASS="false"
-
- case $SPK in
diff --git a/packages/zaurusd/zaurusd_svn.bb b/packages/zaurusd/zaurusd_svn.bb
index 3ea0d2b22f..be9379eced 100644
--- a/packages/zaurusd/zaurusd_svn.bb
+++ b/packages/zaurusd/zaurusd_svn.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL"
DEPENDS = "tslib"
RDEPENDS = "procps"
PV = "0.0+svn${SRCDATE}"
-PR = "r16"
+PR = "r17"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
file://zaurus-hinge.in \
@@ -14,10 +14,11 @@ SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
file://disable-alsa-handling.patch;patch=1 \
file://zaurus-hinge.matchbox-portrait \
file://zaurus-hinge.matchbox-landscape \
- file://zaurusd-mixer-callback.patch;patch=1 \
file://tslib-1.diff;patch=1 \
file://zaurus-hinge.bl-on \
- file://zaurus-hinge.bl-off"
+ file://zaurus-hinge.bl-off \
+ file://01-check-toggle-landscape \
+ file://01-check-toggle-portait"
S = "${WORKDIR}/${PN}"
@@ -39,6 +40,9 @@ do_install_append() {
install -m 0755 "${WORKDIR}/zaurus-hinge.bl-on" "${D}/etc/zaurusd/hinge-portrait.d/00-backlight-on"
install -m 0755 "${WORKDIR}/zaurus-hinge.bl-off" "${D}/etc/zaurusd/hinge-close.d/00-backlight-off"
+ install -m 0755 "${WORKDIR}/01-check-toggle-landscape" "${D}/etc/zaurusd/hinge-landscape.d/01-check-toggle"
+ install -m 0755 "${WORKDIR}/01-check-toggle-portait" "${D}/etc/zaurusd/hinge-portrait.d/01-check-toggle"
+
install -m 0755 "${WORKDIR}/zaurus-hinge.matchbox-landscape" "${D}/etc/zaurusd/hinge-landscape.d/20-matchbox-landscape"
install -m 0755 "${WORKDIR}/zaurus-hinge.matchbox-portrait" "${D}/etc/zaurusd/hinge-portrait.d/20-matchbox-portrait"
}
diff --git a/packages/zten/files/zten.patch b/packages/zten/files/zten.patch
index 22ba56951a..3fff27a23d 100644
--- a/packages/zten/files/zten.patch
+++ b/packages/zten/files/zten.patch
@@ -1,3 +1,5 @@
+upstream: no upstream bug tracker. Laibsch contacted author by mail on 2008-02-17.
+
--- zten/zten.pro.orig 2003-02-16 16:45:44.000000000 +0100
+++ zten/zten.pro 2006-04-23 18:50:19.000000000 +0200
@@ -1,11 +1,9 @@
diff --git a/packages/zten/zten_1.6.2.bb b/packages/zten/zten_1.6.2.bb
index b5a4c6eac1..33feae0911 100644
--- a/packages/zten/zten_1.6.2.bb
+++ b/packages/zten/zten_1.6.2.bb
@@ -1,4 +1,5 @@
DESCRIPTION = "EB*/EPWING dictionary browser for Linux Zaurus"
+AUTHOR = "Yuuichi Teranishi <teranisi@gohome.org>"
HOMEPAGE = "http://www.gohome.org/zten"
SECTION = "opie/applications"
PRIORITY = "optional"
diff --git a/packages/pango/pango-1.18.1/.mtn2git_empty b/packages/zziplib/files/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/pango/pango-1.18.1/.mtn2git_empty
+++ b/packages/zziplib/files/.mtn2git_empty
diff --git a/packages/zziplib/files/zip_c.patch b/packages/zziplib/files/zip_c.patch
new file mode 100644
index 0000000000..fb23ce650e
--- /dev/null
+++ b/packages/zziplib/files/zip_c.patch
@@ -0,0 +1,15 @@
+From zziplib Debian source package
+--- a/zzip/zip.c 2007-03-19 02:27:49.000000000 +1100
++++ b/zzip/zip.c 2007-11-07 17:40:52.985849197 +1100
+@@ -402,7 +402,10 @@
+ uint16_t u_extras, u_comment, u_namlen;
+
+ if (fd_map)
+- { d = (void*)(fd_map+zz_fd_gap+zz_offset); } /* fd_map+fd_gap==u_rootseek */
++ {
++ d = &dirent;
++ memcpy(d, fd_map+zz_fd_gap+zz_offset, sizeof(*d)); /* fd_map+fd_gap==u_rootseek */
++ }
+ else
+ {
+ if (io->fd.seeks(fd, zz_rootseek+zz_offset, SEEK_SET) < 0)
diff --git a/packages/zziplib/files/zziplib-0.10-disable-test.patch b/packages/zziplib/files/zziplib-0.10-disable-test.patch
new file mode 100644
index 0000000000..143045dac6
--- /dev/null
+++ b/packages/zziplib/files/zziplib-0.10-disable-test.patch
@@ -0,0 +1,13 @@
+Index: zziplib-0.10.82/bins/zziptest.c
+===================================================================
+--- zziplib-0.10.82.orig/bins/zziptest.c 2008-02-20 12:10:35.000000000 +0100
++++ zziplib-0.10.82/bins/zziptest.c 2008-02-20 12:10:44.000000000 +0100
+@@ -52,7 +52,7 @@
+ }
+ } printf("OK.\n");
+
+-#if 1
++#if 0
+ printf("{check...\n");
+ { struct zzip_dir_hdr * hdr = dir->hdr0;
+
diff --git a/packages/zziplib/files/zziplib-autoconf.patch b/packages/zziplib/files/zziplib-autoconf.patch
new file mode 100644
index 0000000000..6fc666f8f2
--- /dev/null
+++ b/packages/zziplib/files/zziplib-autoconf.patch
@@ -0,0 +1,509 @@
+Reworks zziplib's configure and top-level makefile considerably to make
+this package compile in a cross-compilation environment. This has not
+and will not be sent upstream because the author most likely wants it that
+way (lots of MSVC crap).
+
+Index: zziplib-0.13.49/Makefile.am
+===================================================================
+--- zziplib-0.13.49.orig/Makefile.am 2008-02-19 22:54:19.000000000 +0100
++++ zziplib-0.13.49/Makefile.am 2008-02-19 23:37:40.000000000 +0100
+@@ -1,126 +1,10 @@
+-AUTOMAKE_OPTIONS = 1.4 foreign dist-bzip2
+ ACLOCAL_AMFLAGS = -I m4
+-WANT_AUTOMAKE = 1.7
+-WANT_AUTOCONF = 2.57
++WANT_AUTOMAKE = 1.96
++WANT_AUTOCONF = 2.61
+
+ DIST_SUBDIRS = zzip zzipwrap bins test docs SDL
+ SUBDIRS = zzip zzipwrap bins test docs @SDL@
+
+-# see Makefile.mk for the "make rpm" target
+-rpm2: dist-bzip2 $(PACKAGE).spec
+- rpmbuild -ta $(PACKAGE)-$(VERSION).tar.bz2
+-
+-indent-check:
+- (cd zzip && $(MAKE) `basename $@`)
+-
+-doc docs docu clean-doc clean-docs clean-docu zzip.html zzip.xml zzip.pdf \
+-man mans manpages htmpages unpack clean-unpack changes.htm pdfs \
+-omf install-omf install-doc install-docs install-sf install-man3 install-mans :
+- (cd docs && $(MAKE) `basename $@`)
+-
+-sdl testsdl test-sdl install-sdl :
+- (cd SDL && $(MAKE) `basename $@`)
+-
+-check-test0 check-test1 check-zzdir check-zzcat \
+-check-zzxor check-zzxordir check-zzxorcat \
+-check-sfx check-readme : \
+- (cd test && $(MAKE) `basename $@`)
+-
+-MSVC8 = msvc8/README.TXT msvc8/zip.exe msvc8/test1.zip msvc8/test.zip \
+-msvc8/zzdir.vcproj msvc8/zzipself.vcproj msvc8/zzip.vcproj \
+-msvc8/zziplib.sln msvc8/zzipsetstub.sln msvc8/zzobfuscated.sln \
+-msvc8/zziplib.vcproj msvc8/zzipsetstub.vcproj msvc8/zzobfuscated.vcproj \
+-msvc8/zzcat.sln msvc8/zzipself.bat msvc8/zzip.sln \
+-msvc8/zzcat.vcproj msvc8/zzipself.sln msvc8/zziptest.sln \
+-msvc8/zzdir.sln msvc8/zzipself.txt msvc8/zziptest.vcproj \
+- msvc8/zzipfseeko.vcproj msvc8/zzipmmapped.vcproj
+-
+-MSVC7 = msvc7/pkzip.exe msvc7/test1.zip msvc7/test.zip \
+-msvc7/zzdir.vcproj msvc7/zzipself.vcproj msvc7/zzip.vcproj \
+-msvc7/zziplib.sln msvc7/zzipsetstub.sln msvc7/zzobfuscated.sln \
+-msvc7/zziplib.vcproj msvc7/zzipsetstub.vcproj msvc7/zzobfuscated.vcproj \
+-msvc7/zzcat.sln msvc7/zzipself.bat msvc7/zzip.sln \
+-msvc7/zzcat.vcproj msvc7/zzipself.sln msvc7/zziptest.sln \
+-msvc7/zzdir.sln msvc7/zzipself.txt msvc7/zziptest.vcproj
+-
+-MSVC6 = \
+-msvc6/zzcat.dsp msvc6/zziplib.dsp msvc6/zzipwrap.dsp \
+-msvc6/zzdir.dsp msvc6/zziplib.dsw msvc6/zzobfuscated.dsp \
+-msvc6/zziptest.dsp msvc6/zzip.dsp
+-
+ EXTRA_DIST = zziplib.spec zzipback.sed Makefile.mk \
+- $(MSVC8) $(MSVC7) $(MSVC6) $(am__aclocal_m4_deps)
+-
+-PHONY = auto boottrap rpm doc docs man manpages htmpages sdl testsdl \
+- comp compats msvc6 msvc7
+-# ------------------------------------------------------------------------
+-
+-test-comp:
+- test ! -d testing || rm -r testing
+- mkdir testing
+- (cd testing && tar xzvf ../$(PACKAGE)-$(VERSION).tar.gz)
+- (cd "testing/$(PACKAGE)-$(VERSION)/zziplib" && sh configure)
+- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib"
+- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib" check
+-
+-clean-comp:
+- test ! -d testing || rm -r testing
+-
+-msvc :
+- mkdir bin
+- mkdir lib
+- mkdir include
+- mkdir include/zzip
+- cp $(srcdir)/msvc6/Release/*.exe bin/
+- cp $(srcdir)/msvc6/Release/*.dll bin/
+- cp $(srcdir)/msvc6/Release/*.lib lib/
+- cp $(srcdir)/zzip/*.h include/zzip/
+- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-bin.zip bin/
+- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-lib.zip lib/ include/
+- rm -r bin lib include
+-
+-# ------------------------------------------------------------------ zzip64
+-_FILE_OFFSET64 = -D_ZZIP_LARGEFILE -D_FILE_OFFSET_BITS=64
+-_RELEASEINFO64 = "RELEASE_INFO=-release 0-64"
++ $(am__aclocal_m4_deps)
+
+-zzip64-setup: zzip64-setup.tmp
+-zzip64-setup.tmp : zzip/Makefile zzip/_config.h zzip/.deps/* zzip/zziplib.pc
+- - mkdir zzip64
+- cp -a zzip/Makefile zzip/_config.h zzip/.deps/ zzip/zziplib.pc zzip64/
+- date > zzip64.dir
+-zzip64-build: zzip64-build.tmp
+-zzip64-build.tmp : zzip64-setup.tmp $(top_srcdir)/zzip/*
+- cd zzip64 && $(MAKE) "AM_CFLAGS=$(_FILE_OFFSET64)" $(_RELEASEINFO64)
+-zzip64-install: zzip64-install.tmp
+-zzip64-install.tmp : zzip64-build.tmp
+- cd zzip64 && $(MAKE) install $(_RELEASEINFO64)
+- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip64.so
+- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip64.a
+- cd $(DESTDIR)$(libdir) && \
+- sed -e 's/zzip.so/zzip64.so/' \
+- -e 's/zzip.a/zzip64.a/' libzzip.la > libzzip64.la
+- cd $(DESTDIR)$(libdir)/pkgconfig && \
+- sed -e 's/largefile=/largefile= %_FILE_OFFSET64/' \
+- -e 's/-lzzip/-lzzip64/' \
+- -e 's/zziplib/zziplib64/' zziplib.pc > zziplib64.pc
+-zzip32-postinstall:
+- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip32.so
+- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip32.a
+- cd $(DESTDIR)$(libdir) && ln -s libzzip32.so libzzip.so
+- cd $(DESTDIR)$(libdir) && ln -s libzzip32.a libzzip.a
+- cd $(DESTDIR)$(libdir) && \
+- sed -e 's/zzip.so/zzip32.so/' \
+- -e 's/zzip.a/zzip32.a/' libzzip.la > libzzip32.la
+- cd $(DESTDIR)$(libdir)/pkgconfig && \
+- sed -e 's/-lzzip/-lzzip32/' \
+- -e 's/zziplib/zziplib32/' zziplib.pc > zziplib32.pc
+-zzip-postinstall:
+- : "the 12.8x and 11.8x and 10.8x packages are all the same actually"
+- cd $(DESTDIR)$(libdir) || exit 1 \
+- ; for i in libzzip*.so.1? ; do : \
+- ; v10=`echo $i | sed -e "s/.so.../.so.10/"` \
+- ; v11=`echo $i | sed -e "s/.so.../.so.11/"` \
+- ; v12=`echo $i | sed -e "s/.so.../.so.12/"` \
+- ; test ! -e $v10 && test -e $v12 && ln -s $v12 $v10 \
+- ; test ! -e $v12 && test -e $v10 && ln -s $v10 $v12 \
+- ; ln -s $v10 $v11 || true; done
+Index: zziplib-0.13.49/configure.ac
+===================================================================
+--- zziplib-0.13.49.orig/configure.ac 2008-02-15 21:56:37.000000000 +0100
++++ zziplib-0.13.49/configure.ac 2008-02-19 23:43:05.000000000 +0100
+@@ -1,12 +1,12 @@
+-AC_INIT(zziplib.spec)
+-AC_PREREQ(2.49)
+-AC_COPYRIGHT([Guido Draheim <guido@gmx.de> for ZZipLib.SF.net])
++AC_PREREQ(2.61)
++AC_INIT([zziplib], [0.13.49], [Guido Draheim <guido@gmx.de>])
++AC_CANONICAL_TARGET
++AM_INIT_AUTOMAKE([foreign 1.9 dist-bzip2])
++
++AC_CONFIG_SRCDIR([zzip/zip.c])
+ AC_REVISION($Revision: 1.9 $)
+-AC_CONFIG_AUX_DIR(uses)
++
+ # =======================================================================
+-AC_CANONICAL_SYSTEM
+-dnl AM_ENABLE_MULTILIB([Makefile],[$host])
+-AX_ENABLE_BUILDDIR_UNAME
+ AC_SET_DEFAULT_PATHS_SYSTEM
+ # -----------------------------------------------------------------------
+ AC_ARG_ENABLE(thread-safe,AC_HELP_STRING(
+@@ -61,8 +61,6 @@
+ AC_SUBST(ZLIB_INCL)
+ AC_SUBST(ZLIB_LDIR)
+ # -----------------------------------------------------------------------
+-AX_SPEC_DEFAULTS
+-AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
+ dnl test ".$CFLAGS" = "." && CFLAGS=""
+ AC_PROG_CC
+ dnl test ".$CFLAGS" = "." && test "$GCC" = "yes" && CFLAGS="-O3"
+@@ -77,7 +75,7 @@
+ sed -f $srcdir/zzip/_msvc.sed $srcdir/config.h.in >zzip/_msvc.in
+ AC_CONFIG_HEADERS([config.h])
+ AX_PREFIX_CONFIG_H([zzip/_config.h],[zzip],[config.h])
+-AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in])
++#AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in])
+ AM_MAINTAINER_MODE
+
+ AX_CREATE_PKGCONFIG_INFO(dnl
+Index: zziplib-0.13.49/install-sh
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ zziplib-0.13.49/install-sh 2008-02-19 23:43:36.000000000 +0100
+@@ -0,0 +1,323 @@
++#!/bin/sh
++# install - install a program, script, or datafile
++
++scriptversion=2005-05-14.22
++
++# This originates from X11R5 (mit/util/scripts/install.sh), which was
++# later released in X11R6 (xc/config/util/install.sh) with the
++# following copyright and license.
++#
++# Copyright (C) 1994 X Consortium
++#
++# 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
++# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++#
++# Except as contained in this notice, the name of the X Consortium shall not
++# be used in advertising or otherwise to promote the sale, use or other deal-
++# ings in this Software without prior written authorization from the X Consor-
++# tium.
++#
++#
++# FSF changes to this file are in the public domain.
++#
++# Calling this script install-sh is preferred over install.sh, to prevent
++# `make' implicit rules from creating a file called install from it
++# when there is no Makefile.
++#
++# This script is compatible with the BSD install script, but was written
++# from scratch. It can only install one file at a time, a restriction
++# shared with many OS's install programs.
++
++# set DOITPROG to echo to test this script
++
++# Don't use :- since 4.3BSD and earlier shells don't like it.
++doit="${DOITPROG-}"
++
++# put in absolute paths if you don't have them in your path; or use env. vars.
++
++mvprog="${MVPROG-mv}"
++cpprog="${CPPROG-cp}"
++chmodprog="${CHMODPROG-chmod}"
++chownprog="${CHOWNPROG-chown}"
++chgrpprog="${CHGRPPROG-chgrp}"
++stripprog="${STRIPPROG-strip}"
++rmprog="${RMPROG-rm}"
++mkdirprog="${MKDIRPROG-mkdir}"
++
++chmodcmd="$chmodprog 0755"
++chowncmd=
++chgrpcmd=
++stripcmd=
++rmcmd="$rmprog -f"
++mvcmd="$mvprog"
++src=
++dst=
++dir_arg=
++dstarg=
++no_target_directory=
++
++usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
++ or: $0 [OPTION]... SRCFILES... DIRECTORY
++ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
++ or: $0 [OPTION]... -d DIRECTORIES...
++
++In the 1st form, copy SRCFILE to DSTFILE.
++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
++In the 4th, create DIRECTORIES.
++
++Options:
++-c (ignored)
++-d create directories instead of installing files.
++-g GROUP $chgrpprog installed files to GROUP.
++-m MODE $chmodprog installed files to MODE.
++-o USER $chownprog installed files to USER.
++-s $stripprog installed files.
++-t DIRECTORY install into DIRECTORY.
++-T report an error if DSTFILE is a directory.
++--help display this help and exit.
++--version display version info and exit.
++
++Environment variables override the default commands:
++ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
++"
++
++while test -n "$1"; do
++ case $1 in
++ -c) shift
++ continue;;
++
++ -d) dir_arg=true
++ shift
++ continue;;
++
++ -g) chgrpcmd="$chgrpprog $2"
++ shift
++ shift
++ continue;;
++
++ --help) echo "$usage"; exit $?;;
++
++ -m) chmodcmd="$chmodprog $2"
++ shift
++ shift
++ continue;;
++
++ -o) chowncmd="$chownprog $2"
++ shift
++ shift
++ continue;;
++
++ -s) stripcmd=$stripprog
++ shift
++ continue;;
++
++ -t) dstarg=$2
++ shift
++ shift
++ continue;;
++
++ -T) no_target_directory=true
++ shift
++ continue;;
++
++ --version) echo "$0 $scriptversion"; exit $?;;
++
++ *) # When -d is used, all remaining arguments are directories to create.
++ # When -t is used, the destination is already specified.
++ test -n "$dir_arg$dstarg" && break
++ # Otherwise, the last argument is the destination. Remove it from $@.
++ for arg
++ do
++ if test -n "$dstarg"; then
++ # $@ is not empty: it contains at least $arg.
++ set fnord "$@" "$dstarg"
++ shift # fnord
++ fi
++ shift # arg
++ dstarg=$arg
++ done
++ break;;
++ esac
++done
++
++if test -z "$1"; then
++ if test -z "$dir_arg"; then
++ echo "$0: no input file specified." >&2
++ exit 1
++ fi
++ # It's OK to call `install-sh -d' without argument.
++ # This can happen when creating conditional directories.
++ exit 0
++fi
++
++for src
++do
++ # Protect names starting with `-'.
++ case $src in
++ -*) src=./$src ;;
++ esac
++
++ if test -n "$dir_arg"; then
++ dst=$src
++ src=
++
++ if test -d "$dst"; then
++ mkdircmd=:
++ chmodcmd=
++ else
++ mkdircmd=$mkdirprog
++ fi
++ else
++ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
++ # might cause directories to be created, which would be especially bad
++ # if $src (and thus $dsttmp) contains '*'.
++ if test ! -f "$src" && test ! -d "$src"; then
++ echo "$0: $src does not exist." >&2
++ exit 1
++ fi
++
++ if test -z "$dstarg"; then
++ echo "$0: no destination specified." >&2
++ exit 1
++ fi
++
++ dst=$dstarg
++ # Protect names starting with `-'.
++ case $dst in
++ -*) dst=./$dst ;;
++ esac
++
++ # If destination is a directory, append the input filename; won't work
++ # if double slashes aren't ignored.
++ if test -d "$dst"; then
++ if test -n "$no_target_directory"; then
++ echo "$0: $dstarg: Is a directory" >&2
++ exit 1
++ fi
++ dst=$dst/`basename "$src"`
++ fi
++ fi
++
++ # This sed command emulates the dirname command.
++ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
++
++ # Make sure that the destination directory exists.
++
++ # Skip lots of stat calls in the usual case.
++ if test ! -d "$dstdir"; then
++ defaultIFS='
++ '
++ IFS="${IFS-$defaultIFS}"
++
++ oIFS=$IFS
++ # Some sh's can't handle IFS=/ for some reason.
++ IFS='%'
++ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
++ shift
++ IFS=$oIFS
++
++ pathcomp=
++
++ while test $# -ne 0 ; do
++ pathcomp=$pathcomp$1
++ shift
++ if test ! -d "$pathcomp"; then
++ $mkdirprog "$pathcomp"
++ # mkdir can fail with a `File exist' error in case several
++ # install-sh are creating the directory concurrently. This
++ # is OK.
++ test -d "$pathcomp" || exit
++ fi
++ pathcomp=$pathcomp/
++ done
++ fi
++
++ if test -n "$dir_arg"; then
++ $doit $mkdircmd "$dst" \
++ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
++ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
++ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
++ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
++
++ else
++ dstfile=`basename "$dst"`
++
++ # Make a couple of temp file names in the proper directory.
++ dsttmp=$dstdir/_inst.$$_
++ rmtmp=$dstdir/_rm.$$_
++
++ # Trap to clean up those temp files at exit.
++ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
++ trap '(exit $?); exit' 1 2 13 15
++
++ # Copy the file name to the temp name.
++ $doit $cpprog "$src" "$dsttmp" &&
++
++ # and set any options; do chmod last to preserve setuid bits.
++ #
++ # If any of these fail, we abort the whole thing. If we want to
++ # ignore errors from any of these, just make sure not to ignore
++ # errors from the above "$doit $cpprog $src $dsttmp" command.
++ #
++ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
++ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
++ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
++ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
++
++ # Now rename the file to the real destination.
++ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
++ || {
++ # The rename failed, perhaps because mv can't rename something else
++ # to itself, or perhaps because mv is so ancient that it does not
++ # support -f.
++
++ # Now remove or move aside any old file at destination location.
++ # We try this two ways since rm can't unlink itself on some
++ # systems and the destination file might be busy for other
++ # reasons. In this case, the final cleanup might fail but the new
++ # file should still install successfully.
++ {
++ if test -f "$dstdir/$dstfile"; then
++ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
++ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
++ || {
++ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
++ (exit 1); exit 1
++ }
++ else
++ :
++ fi
++ } &&
++
++ # Now rename the file to the real destination.
++ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
++ }
++ }
++ fi || { (exit 1); exit 1; }
++done
++
++# The final little trick to "correctly" pass the exit status to the exit trap.
++{
++ (exit 0); exit 0
++}
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-end: "$"
++# End:
diff --git a/packages/zziplib/zziplib-native_0.12.83.bb b/packages/zziplib/zziplib-native_0.12.83.bb
new file mode 100644
index 0000000000..eb954f12c1
--- /dev/null
+++ b/packages/zziplib/zziplib-native_0.12.83.bb
@@ -0,0 +1,9 @@
+require zziplib_${PV}.bb
+
+DEPENDS = "zlib-native"
+
+inherit native
+
+S = "${WORKDIR}/zziplib-${PV}"
+
+PACKAGES = ""
diff --git a/packages/zziplib/zziplib-native_0.13.49.bb b/packages/zziplib/zziplib-native_0.13.49.bb
new file mode 100644
index 0000000000..eb954f12c1
--- /dev/null
+++ b/packages/zziplib/zziplib-native_0.13.49.bb
@@ -0,0 +1,9 @@
+require zziplib_${PV}.bb
+
+DEPENDS = "zlib-native"
+
+inherit native
+
+S = "${WORKDIR}/zziplib-${PV}"
+
+PACKAGES = ""
diff --git a/packages/zziplib/zziplib.inc b/packages/zziplib/zziplib.inc
new file mode 100644
index 0000000000..602eae6315
--- /dev/null
+++ b/packages/zziplib/zziplib.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "Support library for dealing with zip files"
+SECTION = "libs"
+PRIORITY = "optional"
+
+DEPENDS = "zlib python-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/zziplib/zziplib-${PV}.tar.bz2"
+LICENSE = "LGPL MPL"
+
+inherit autotools pkgconfig
+
+do_configure_append() {
+ # Fix some brokenness in the generated makefile.
+ sed -i \
+ -e "s|tail -1|tail -n 1|" \
+ -e "s|dist dist-all dist-all:|dist dist-all:|" \
+ Makefile
+
+ mkdir ${S}/build
+}
diff --git a/packages/zziplib/zziplib_0.10.82.bb b/packages/zziplib/zziplib_0.10.82.bb
index 4fb129592e..7e2130368d 100644
--- a/packages/zziplib/zziplib_0.10.82.bb
+++ b/packages/zziplib/zziplib_0.10.82.bb
@@ -1,21 +1,5 @@
-DESCRIPTION = "Support library for dealing with zip files"
-SECTION = "libs"
-PRIORITY = "optional"
+require zziplib.inc
-SRC_URI = "${SOURCEFORGE_MIRROR}/zziplib/zziplib-${PV}.tar.bz2"
-LICENSE = "LGPL MPL"
-inherit autotools pkgconfig
+SRC_URI += "file://zziplib-0.10-disable-test.patch;patch=1"
-do_stage() {
- oe_libinstall -a -so -C zzip libzzip ${STAGING_LIBDIR}
- oe_libinstall -a -so -C zzipwrap libzzipwrap ${STAGING_LIBDIR}
- install -d ${STAGING_DATADIR}/aclocal
- install -m 0644 ${S}/bins/zziplib.m4 ${STAGING_DATADIR}/aclocal/
- for h in zzip.h zzipformat.h zzipwrap.h zziplib.h zzip-io.h; do
- install -m 0644 ${S}/zziplib/$h ${STAGING_INCDIR}/
- done
- install -d ${STAGING_INCDIR}/zzip
- for h in lib.h format.h _msvc.h conf.h file.h stdint.h zzip.h _config.h plugin.h; do
- install -m 0644 ${S}/zzip/$h ${STAGING_INCDIR}/zzip/
- done
-}
+PR = "r1"
diff --git a/packages/zziplib/zziplib_0.12.83.bb b/packages/zziplib/zziplib_0.12.83.bb
new file mode 100644
index 0000000000..c9078ac6b6
--- /dev/null
+++ b/packages/zziplib/zziplib_0.12.83.bb
@@ -0,0 +1,4 @@
+require zziplib.inc
+
+SRC_URI += "file://zziplib-buildfix.patch;patch=1"
+
diff --git a/packages/zziplib/zziplib_0.13.49.bb b/packages/zziplib/zziplib_0.13.49.bb
new file mode 100644
index 0000000000..3a6c148dc5
--- /dev/null
+++ b/packages/zziplib/zziplib_0.13.49.bb
@@ -0,0 +1,12 @@
+require zziplib.inc
+
+SRC_URI += "\
+ file://zip_c.patch;patch=1 \
+ file://zziplib-autoconf.patch;patch=1 \
+ "
+
+#EXTRA_OECONF = "--srcdir=${S} --enable-builddir=${S}/build"
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/site/common-glibc b/site/common-glibc
index 0ec53423f1..339d4658ae 100644
--- a/site/common-glibc
+++ b/site/common-glibc
@@ -2,6 +2,7 @@
ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
+ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
# bash
bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
@@ -44,3 +45,4 @@ ac_cv_func_setresuid=${ac_cv_func_setresuid=yes}
ac_cv_func_va_copy=${ac_cv_func_va_copy=yes}
ac_cv_func___va_copy=${ac_cv_func___va_copy=yes}
ac_cv_epoll_works=${ac_cv_epoll_works=yes}
+