r247 - in trunk/src/target/OM-2007/applications: . openmoko-keypad openmoko-keypad/examples openmoko-keypad/examples/.deps openmoko-keypad/layouts openmoko-keypad/src openmoko-keypad/src/.deps

steven_chen at gta01.hmw-consulting.de steven_chen at gta01.hmw-consulting.de
Thu Nov 23 10:45:12 CET 2006


Author: steven_chen
Date: 2006-11-23 09:43:42 +0000 (Thu, 23 Nov 2006)
New Revision: 247

Added:
   trunk/src/target/OM-2007/applications/openmoko-keypad/
   trunk/src/target/OM-2007/applications/openmoko-keypad/AUTHORS
   trunk/src/target/OM-2007/applications/openmoko-keypad/COPYING
   trunk/src/target/OM-2007/applications/openmoko-keypad/ChangeLog
   trunk/src/target/OM-2007/applications/openmoko-keypad/INSTALL
   trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile
   trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.am
   trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.in
   trunk/src/target/OM-2007/applications/openmoko-keypad/NEWS
   trunk/src/target/OM-2007/applications/openmoko-keypad/README
   trunk/src/target/OM-2007/applications/openmoko-keypad/aclocal.m4
   trunk/src/target/OM-2007/applications/openmoko-keypad/config.h
   trunk/src/target/OM-2007/applications/openmoko-keypad/config.h.in
   trunk/src/target/OM-2007/applications/openmoko-keypad/config.log
   trunk/src/target/OM-2007/applications/openmoko-keypad/config.status
   trunk/src/target/OM-2007/applications/openmoko-keypad/configure
   trunk/src/target/OM-2007/applications/openmoko-keypad/configure.ac
   trunk/src/target/OM-2007/applications/openmoko-keypad/depcomp
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/.deps/
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/.deps/matchbox-keyboard-gtk-embed.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.am
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.in
   trunk/src/target/OM-2007/applications/openmoko-keypad/examples/matchbox-keyboard-gtk-embed.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/install-sh
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.am
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.in
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-dvorak.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-extended.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-fi.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-numpad.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-ru.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-us.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard.xml
   trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.desktop
   trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.png
   trunk/src/target/OM-2007/applications/openmoko-keypad/missing
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/config-parser.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-key.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-layout.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-row.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-cairo-backend.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-xft-backend.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-xembed.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util-list.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util.Po
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.am
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.in
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/config-parser.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-key.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-layout.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-row.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.h
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.h
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-xembed.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.h
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/util-list.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/src/util.c
   trunk/src/target/OM-2007/applications/openmoko-keypad/stamp-h1
Log:
?\232?\191?\156?\231?\168?\139?\230?\183?\187?\229?\138?\160?\230?\150?\135?\228?\187?\182?\229?\174?\140?\230?\136?\144

E:\openmoko-keypad


Added: trunk/src/target/OM-2007/applications/openmoko-keypad/AUTHORS
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/AUTHORS	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/AUTHORS	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,2 @@
+Matthew Allum <mallum at o-hand.com>  ( Most stuff )
+Tuukka Pasanen <tuukka.pasanen at ilmi.fi> ( Cairo work, initial -xid work )

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/COPYING
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/COPYING	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/COPYING	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/ChangeLog	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/ChangeLog	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,459 @@
+2006-03-02  Matthew Allum  <mallum at openedhand.com>
+
+	* layouts/Makefile.am:
+	* layouts/keyboard-us.xml:
+	Add US layout from Matt Reimer
+
+2006-02-28  Matthew Allum  <mallum at openedhand.com>
+
+	* src/config-parser.c: (config_load_file):
+	Use ~/.matchbox not ~/matchbox
+
+2006-02-28  Matthew Allum  <mallum at openedhand.com>
+
+	* configure.ac:
+	Make version 0.1. Make cairo usage explicit.
+
+	* layouts/Makefile.am:
+	* layouts/keyboard-numpad.xml:
+	New Layout.
+
+	* src/matchbox-keyboard-ui-xft-backend.c:
+	(mb_kbd_ui_xft_redraw_key):
+	* src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size),
+	(mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_handle_configure),
+	(mb_kbd_ui_event_loop):
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	Fixups for layout on small screens and improvements for high
+	DPI layouts.
+
+
+2005-10-27  Matthew Allum  <mallum at openedhand.com>
+
+	* README:
+	Update with current info
+	* src/config-parser.c: (mb_kbd_config_load):
+	* src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size),
+	(mb_kbd_ui_min_key_size), (mb_kbd_ui_allocate_ui_layout),
+	(mb_kbd_ui_resize), (mb_kbd_ui_realize):
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	Minor cleanups. Improve cmd line option parsing and add
+	a usage() func. 
+
+2005-10-26  Matthew Allum  <mallum at openedhand.com>
+
+	* examples/Makefile.am:
+	* examples/matchbox-keyboard-embbed.c:
+	Rename matchbox-keyboard-embbed.c
+
+2005-10-26  Matthew Allum  <mallum at openedhand.com>
+
+	* AUTHORS:
+	Populate. 	
+	* Makefile.am:
+	* configure.ac:
+	* src/Makefile.am:
+	Fix cairo build issues, 
+
+	* src/matchbox-keyboard-xembed.c:
+	Add XEMBED support for embedding keyboard in other apps.
+	
+	* examples/Makefile.am:
+	* examples/matchbox-keyboard-embbed.c:
+	Add example embedding app
+
+	* src/config-parser.c: (config_str_to_keysym),
+	(config_str_to_modtype), (config_xml_start_cb):
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_get_extended),
+	(mb_kbd_key_set_row), (mb_kdb_key_has_state),
+	(mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face),
+	(mb_kbd_key_set_image_face), (mb_kbd_key_set_char_action),
+	(mb_kbd_key_press):
+	* src/matchbox-keyboard-layout.c:
+	* src/matchbox-keyboard-row.c:
+	* src/matchbox-keyboard-ui-cairo-backend.c:
+	(mb_kbd_ui_cairo_text_extents), (mb_kbd_ui_cairo_load_font),
+	(mb_kbd_ui_cairo_redraw_key), (mb_kbd_ui_cairo_pre_redraw),
+	(mb_kbd_ui_cairo_resources_create), (mb_kbd_ui_cairo_resize),
+	(mb_kbd_ui_cairo_init):
+	* src/matchbox-keyboard-ui-cairo-backend.h:
+	* src/matchbox-keyboard-ui-xft-backend.c:
+	(mb_kbd_ui_xft_text_extents), (mb_kbd_ui_xft_redraw_key),
+	(mb_kbd_ui_xft_resources_create), (mb_kbd_ui_xft_resize),
+	(mb_kbd_ui_xft_init):
+	* src/matchbox-keyboard-ui-xft-backend.h:
+	* src/matchbox-keyboard-ui.c: (get_current_window_manager_name),
+	(get_desktop_area), (get_xevent_timed),
+	(mb_kbd_ui_send_keysym_press), (mb_kbd_ui_send_release),
+	(mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size),
+	(mb_kbd_ui_redraw_row), (mb_kbd_ui_swap_buffers),
+	(mb_kbd_ui_redraw), (mb_kbd_ui_resources_create),
+	(mb_kbd_ui_resize), (mb_kbd_ui_event_loop), (mb_kbd_ui_realize),
+	(mb_kbd_ui_init):
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	* src/matchbox-keyboard.h:
+	* src/util.c: (util_utf8_char_cnt), (util_file_readable):
+	Fix GCC 4 Warnings.
+	Add License to all files.
+	Improve buggy cairo backend and add gradient keys 
+
+2005-10-21  Matthew Allum  <mallum at openedhand.com>
+
+	* configure.ac:
+	* src/Makefile.am:
+	* src/matchbox-keyboard-ui-cairo-backend.c:
+	* src/matchbox-keyboard-ui-cairo-backend.h:
+	* src/matchbox-keyboard-ui-xft-backend.c:
+	* src/matchbox-keyboard-ui-xft-backend.h:
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create):
+	* src/matchbox-keyboard.h:
+	Break out rendering backend and add optional initial cairo
+	based rendering backend ( based on patch from Tuukka Pasanen )
+
+	* layouts/Makefile.am:
+	* layouts/keyboard-fi.xml:
+	Add finish layout via  Tuukka Pasanen
+
+2005-10-10  Matthew Allum  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_event_loop):
+	Handle 'stuck' key case ( hopefully ) when release X event is 
+	missed.	
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	Qucik hacks to look better on small displays.
+
+2005-10-10  mallum,,,  <mallum at openedhand.com>
+
+	reviewed by: <delete if not using a buddy>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_event_loop):
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+
+2005-10-04  mallum  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	Make initial point size smaller to kbd fitting on large DPI's.
+
+2005-09-15  mallum,,,  <mallum at openedhand.com>
+
+	* layouts/keyboard.xml:
+	Minor fixes via Michal Ludvig
+
+2005-09-15  mallum,,,  <mallum at openedhand.com>
+
+	reviewed by: <delete if not using a buddy>
+
+	* layouts/keyboard.xml:
+
+2005-09-15  mallum,,,  <mallum at openedhand.com>
+
+	reviewed by: <delete if not using a buddy>
+
+	* layouts/keyboard.xml:
+
+2005-09-01  mallum,,,  <mallum at openedhand.com>
+
+	* layouts/Makefile.am:
+	* layouts/keyboard-ru.xml:
+	Add Russian layout from Stanislav Bogatyrev
+
+2005-06-20  mallum,,,  <mallum at openedhand.com>
+
+	* layouts/Makefile.am:
+	* layouts/keyboard-dvorak.xml:
+	Add dvorak from Leon Matthews.
+
+2005-05-17  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create):
+	Add SKIP_PAGER hint.
+
+2005-05-10  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create):
+	Attempt to better support metacity.
+
+2005-05-02  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (want_extended),
+	(mb_kbd_ui_resources_create), (mb_kbd_ui_resize),
+	(mb_kbd_ui_handle_configure), (mb_kbd_ui_event_loop),
+	(mb_kbd_ui_load_font), (mb_kbd_ui_init), (mb_kbd_ui_display_width),
+	(mb_kbd_ui_display_height), (mb_kbd_ui_realize):
+	* src/matchbox-keyboard.c:
+	* src/matchbox-keyboard.h:
+	Clean up warnings
+	Implement key repeat
+
+2005-04-27  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_resize),
+	(mb_kbd_ui_events_iteration):
+	Handle MappingNotify events
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	Make keys slightly bigger for small ( 240x320 ) displays.
+
+2005-04-27  mallum,,,  <mallum at openedhand.com>
+
+	* layouts/keyboard.xml:
+	Swicth shift state for ; key
+
+2005-04-27  mallum,,,  <mallum at openedhand.com>
+
+
+	* layouts/keyboard.xml:
+	New layout with extended keys.
+
+	* src/config-parser.c: (config_handle_key_tag):
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_get_extra_width_pad):
+	* src/matchbox-keyboard-row.c: (mb_kbd_row_height),
+	(mb_kbd_row_width), (mb_kbd_row_base_width):
+	* src/matchbox-keyboard-ui.c: (get_desktop_area),
+	(mb_kbd_ui_send_keysym_press), (mb_kbd_ui_send_release),
+	(mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size),
+	(mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key),
+	(mb_kbd_ui_redraw_row), (mb_kbd_ui_resources_create),
+	(mb_kbd_ui_resize), (mb_kbd_ui_handle_configure),
+	(mb_kbd_ui_events_iteration), (mb_kbd_ui_load_font),
+	(mb_kbd_ui_init), (mb_kbd_ui_display_width),
+	(mb_kbd_ui_display_height), (mb_kbd_ui_realize):
+	* src/matchbox-keyboard.c: (mb_kbd_locate_key),
+	(mb_kbd_get_held_key):
+	* src/matchbox-keyboard.h:
+	Make keyboard 'adapt' with extended keys to screen rotation
+	and screen orientation.
+
+2005-04-26  mallum,,,  <mallum at openedhand.com>
+
+	* configure.ac:
+	* data/Makefile.am:
+	* data/keyboard-extended.xml:
+	* data/keyboard.xml:
+	Rename data -> layouts
+	* Makefile.am:
+	* matchbox-keyboard.desktop:
+        * matchbox-keyboard.png
+	Add a icon and .desktop file
+
+2005-04-26  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create):
+	Fix taskbar skip hint
+
+2005-04-26  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (get_current_window_manager_name),
+	(mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create),
+	(mb_kbd_ui_resize):
+	Try to avoid ugly flash ( caused by repaint/resize ) on startup.
+	Also probably speeds up startup a little.
+
+2005-04-26  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c:
+	* src/matchbox-keyboard.h:
+	* src/util-list.c: (util_list_append):
+	* src/util.c:
+	Clean up some compiler warnings.
+
+2005-04-26  mallum,,,  <mallum at openedhand.com>
+
+	* README:
+	Small update on Todo.
+	* configure.ac:
+	Fix a minor snafu
+
+2005-04-26  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_resources_create):
+        Make key faces darker to increase visibility on Ipaq.
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	Make small font smaller to fit Ipaq display
+
+2005-04-24  mallum,,,  <mallum at openedhand.com>
+
+	* README:
+        Write one.
+	* configure.ac:
+	* data/keyboard.xml:
+	* src/config-parser.c: (config_load_file):
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_redraw),
+	(mb_kbd_ui_resources_create), (mb_kbd_ui_resize):
+	* src/matchbox-keyboard.h:
+	Various minor tweaks. 
+
+2005-04-21  mallum,,,  <mallum at openedhand.com>
+
+	* configure.ac:
+	Remove unneeded libmb dep check
+
+2005-04-21  mallum,,,  <mallum at openedhand.com>
+
+
+	* Makefile.am:
+	* configure.ac:
+	* data/Makefile.am:
+	* data/keyboard-extended.xml:
+	* data/keyboard.xml:
+	* src/Makefile.am:
+	* src/config.xml:
+	Sort out keyboard configs so they actually get installed.
+	* src/config-parser.c: (config_handle_key_tag),
+	(config_xml_start_cb), (mb_kbd_config_load):
+	and then loaded
+	* src/matchbox-keyboard-row.c: (mb_kbd_row_base_width):
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_allocate_ui_layout),
+	(mb_kbd_ui_resources_create), (mb_kbd_ui_resize),
+	(mb_kbd_ui_events_iteration), (mb_kbd_ui_load_font),
+	(mb_kbd_ui_init):
+	* src/matchbox-keyboard.c: (mb_kbd_new):
+	* src/matchbox-keyboard.h:
+	Fix layout resizing code. Make defaults dependant on display size.
+	* src/util.c: (util_utf8_char_cnt):
+	remove random printf
+
+2005-04-20  mallum,,,  <mallum at openedhand.com>
+
+	* src/config.xml:
+	Improve layout some more with experimentation
+	* src/matchbox-keyboard-key.c:
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_allocate_ui_layout):
+	Fix some layout bugs - making 'fill' work.
+
+2005-04-19  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_press),
+	(mb_kbd_key_release):
+	* src/matchbox-keyboard-ui.c: (alloc_color),
+	(mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row),
+	(mb_kbd_ui_swap_buffers), (mb_kbd_ui_redraw), (mb_kbd_ui_show),
+	(mb_kbd_ui_resources_create):
+	* src/matchbox-keyboard.c: (mb_kbd_add_state):
+	* src/matchbox-keyboard.h:
+	Fix caps handling and modifier toggling. 
+	Add a chunk of WM handling and 'co-operation'.
+
+2005-04-18  mallum,,,  <mallum at openedhand.com>
+
+	* src/config-parser.c: (config_str_to_modtype),
+	(config_handle_key_subtag):
+	* src/config.xml:
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_is_blank),
+	(mb_kbd_key_height), (mb_kbd_key_get_modifer_action),
+	(mb_kbd_key_get_face_type), (mb_kbd_key_get_action_type),
+	(mb_kbd_key_press):
+	* src/matchbox-keyboard-row.c: (mb_kbd_row_width):
+	* src/matchbox-keyboard-ui.c: (alloc_color),
+	(mb_kbd_ui_send_press), (mb_kbd_ui_send_keysym_press),
+	(mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row), (mb_kbd_ui_redraw),
+	(mb_kbd_ui_show), (mb_kbd_ui_resources_create), (mb_kbd_ui_resize),
+	(mb_kbd_ui_events_iteration), (mb_kbd_ui_load_font),
+	(mb_kbd_ui_init):
+	* src/matchbox-keyboard.c: (mb_kbd_new), (mb_kbd_add_state),
+	(mb_kbd_locate_key), (mb_kbd_add_layout),
+	(mb_kbd_get_selected_layout):
+	* src/matchbox-keyboard.h:
+	* src/util-list.c:
+	Implement more state handling.
+	Handle window resizes.
+
+2005-04-18  mallum,,,  <mallum at openedhand.com>
+
+	* src/config-parser.c: (config_handle_key_subtag):
+	* src/config.xml:
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_set_keysym_action),
+	(mb_kbd_key_get_keysym_action), (mb_kbd_key_press):
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_redraw_key):
+	* src/matchbox-keyboard.c: (mb_kbd_keys_margin):
+	* src/matchbox-keyboard.h:
+	Initial code for handling 'modifiers'
+
+2005-04-17  mallum,,,  <mallum at openedhand.com>
+
+	* src/matchbox-keyboard-ui.c: (text_extents),
+	(mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key),
+	(mb_kbd_ui_redraw_row), (mb_kbd_ui_swap_buffers),
+	(mb_kbd_ui_redraw), (mb_kbd_ui_show), (mb_kbd_ui_resources_create),
+	(mb_kbd_ui_events_iteration), (mb_kbd_ui_init):
+	Make keys look a little nicer
+
+2005-04-17  mallum,,,  <mallum at openedhand.com>
+
+	* src/config-parser.c: (config_handle_row_tag),
+	(config_handle_key_tag), (config_xml_start_cb):
+	* src/config.xml:
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_new),
+	(mb_kbd_key_set_geometry), (mb_kbd_key_abs_x), (mb_kbd_key_abs_y),
+	(mb_kbd_key_x), (mb_kbd_key_y), (mb_kbd_key_width),
+	(mb_kbd_key_height), (mb_kbd_key_set_row), (mb_kdb_key_has_state),
+	(mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face),
+	(mb_kbd_key_set_image_face), (mb_kbd_key_set_char_action),
+	(mb_kbd_key_get_char_action), (mb_kbd_key_set_keysym_action),
+	(mb_kbd_key_get_keysym_action), (mb_kbd_key_set_modifer_action),
+	(mb_kbd_key_get_face_type), (mb_kbd_key_get_action_type),
+	(mb_kbd_key_press):
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_send_press),
+	(mb_kdb_ui_unit_key_size), (mb_kbd_ui_min_key_size),
+	(mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_redraw_key):
+	* src/matchbox-keyboard.c: (mb_kbd_locate_key):
+	* src/matchbox-keyboard.h:
+	Layout engine improvements
+
+2005-04-13  mallum,,,  <mallum at openedhand.com>
+
+	reviewed by: <delete if not using a buddy>
+
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_press):
+	* src/matchbox-keyboard-ui.c: (text_extents),
+	(mb_kbd_ui_send_press), (mb_kbd_ui_events_iteration):
+	* src/matchbox-keyboard.c: (mb_kbd_locate_key):
+	* src/matchbox-keyboard.h:
+	Fix locate_key(). Handle press/release cycle better 
+
+2005-04-13  mallum,,,  <mallum at openedhand.com>
+
+	* src/config.xml:
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_new),
+	(mb_kbd_key_height), (mb_kbd_key_set_row), (mb_kdb_key_has_state),
+	(mb_kbd_key_set_glyph_face), (mb_kbd_key_get_glyph_face),
+	(mb_kbd_key_set_image_face), (mb_kbd_key_set_char_action),
+	(mb_kbd_key_get_char_action), (mb_kbd_key_set_keysym_action),
+	(mb_kbd_key_set_modifer_action), (mb_kbd_key_get_face_type),
+	(mb_kbd_key_get_action_type):
+	* src/matchbox-keyboard-row.c: (mb_kbd_row_new):
+	* src/matchbox-keyboard-ui.c: (mb_kbd_ui_send_press),
+	(mb_kdb_ui_unit_key_size), (mb_kbd_ui_allocate_ui_layout),
+	(mb_kbd_ui_redraw_key), (mb_kbd_ui_redraw_row),
+	(mb_kbd_ui_swap_buffers), (mb_kbd_ui_redraw), (mb_kbd_ui_show),
+	(mb_kbd_ui_resources_create), (mb_kbd_ui_events_iteration),
+	(mb_kbd_ui_init):
+	* src/matchbox-keyboard.c: (mb_kbd_new), (mb_kbd_col_spacing),
+	(mb_kbd_keys_border), (mb_kbd_keys_pad), (mb_kbd_keys_margin),
+	(mb_kbd_locate_key), (mb_kbd_add_layout),
+	(mb_kbd_get_selected_layout):
+	* src/matchbox-keyboard.h:
+	* src/util-list.c: (util_list_alloc_item):
+	* src/util.c: (util_fatal_error):
+	Initial UI drawing code
+
+2005-04-10  mallum,,,  <mallum at openedhand.com>
+
+	* configure.ac:
+	Bring in Xft
+	* src/config-parser.c: (config_handle_key_subtag),
+	(config_handle_layout_tag), (config_handle_row_tag),
+	(config_handle_key_tag), (config_xml_start_cb):
+	* src/config.xml:
+	* src/matchbox-keyboard-key.c: (mb_kbd_key_set_glyph_face),
+	(mb_kbd_key_get_glyph_face), (mb_kbd_key_set_image_face),
+	(mb_kbd_key_set_modifer_action), (mb_kbd_key_get_face_type),
+	(mb_kbd_key_get_action_type):
+	* src/matchbox-keyboard-layout.c: (mb_kbd_layout_append_row):
+	* src/matchbox-keyboard-row.c:
+	* src/matchbox-keyboard-ui.c: (mb_kdb_ui_unit_key_size),
+	(mb_kbd_ui_allocate_ui_layout), (mb_kbd_ui_init):
+	* src/matchbox-keyboard.c: (mb_kbd_new), (mb_kbd_add_layout):
+	* src/matchbox-keyboard.h:
+	* src/util-list.c:
+	* src/util.c: (util_fatal_error):
+	Various fixes and improvements. Too many to list

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/INSTALL
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/INSTALL	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/INSTALL	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,229 @@
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
+Foundation, Inc.
+
+   This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+   These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the `--target=TYPE' option to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+   Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+will cause the specified gcc to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+`configure' Invocation
+======================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,651 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+
+
+srcdir = .
+top_srcdir = .
+
+pkgdatadir = $(datadir)/matchbox-keyboard
+pkglibdir = $(libdir)/matchbox-keyboard
+pkgincludedir = $(includedir)/matchbox-keyboard
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+#am__append_1 = examples
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	depcomp install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pixmapsdir)"
+desktopDATA_INSTALL = $(INSTALL_DATA)
+pixmapsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(desktop_DATA) $(pixmaps_DATA)
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = src layouts examples
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run aclocal-1.9
+ALLOCA = 
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run tar
+AUTOCONF = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run automake-1.9
+AWK = mawk
+CAIRO_CFLAGS = 
+CAIRO_LIBS = 
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+EXPAT_CFLAGS = 
+EXPAT_LIBS = -L/lib -lexpat
+FAKEKEY_CFLAGS = -g -Wall -fno-strict-aliasing  
+FAKEKEY_LIBS = -L/usr/X11R6/lib -lX11 -lXtst -lfakekey  
+GTK2_CFLAGS = 
+GTK2_LIBS = 
+HAVE_EXPAT = 1
+HAVE_XMLPARSE_H = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run makeinfo
+OBJEXT = o
+PACKAGE = matchbox-keyboard
+PACKAGE_BUGREPORT = mallum at handhelds.org
+PACKAGE_NAME = matchbox-keyboard
+PACKAGE_STRING = matchbox-keyboard 0.1
+PACKAGE_TARNAME = matchbox-keyboard
+PACKAGE_VERSION = 0.1
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 0.1
+WANT_CAIRO_FALSE = 
+WANT_CAIRO_TRUE = #
+WANT_EXAMPLES_FALSE = 
+WANT_EXAMPLES_TRUE = #
+XFT_CFLAGS = -I/usr/include/freetype2 -I/usr/X11R6/include  
+XFT_LIBS = -L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  
+ac_ct_CC = gcc
+ac_ct_STRIP = 
+ac_pt_PKG_CONFIG = /usr/bin/pkg-config
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = 
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/mbox/matchbox-keyboard-0.1/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+SUBDIRS = src layouts $(am__append_1)
+EXTRA_DIST = matchbox-keyboard.desktop matchbox-keyboard.png
+desktopdir = $(datadir)/applications/inputmethods
+desktop_DATA = matchbox-keyboard.desktop
+pixmapsdir = $(datadir)/pixmaps/
+pixmaps_DATA = matchbox-keyboard.png
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: # $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+uninstall-info-am:
+install-desktopDATA: $(desktop_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(desktopdir)" || $(mkdir_p) "$(DESTDIR)$(desktopdir)"
+	@list='$(desktop_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(desktopDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(desktopdir)/$$f'"; \
+	  $(desktopDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(desktopdir)/$$f"; \
+	done
+
+uninstall-desktopDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(desktop_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(desktopdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(desktopdir)/$$f"; \
+	done
+install-pixmapsDATA: $(pixmaps_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pixmapsdir)" || $(mkdir_p) "$(DESTDIR)$(pixmapsdir)"
+	@list='$(pixmaps_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pixmapsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pixmapsdir)/$$f'"; \
+	  $(pixmapsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pixmapsdir)/$$f"; \
+	done
+
+uninstall-pixmapsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pixmaps_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pixmapsdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pixmapsdir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pixmapsdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-desktopDATA install-pixmapsDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-desktopDATA uninstall-info-am \
+	uninstall-pixmapsDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-recursive ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
+	dist-tarZ dist-zip distcheck distclean distclean-generic \
+	distclean-hdr distclean-recursive distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-desktopDATA install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-pixmapsDATA install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
+	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-desktopDATA uninstall-info-am uninstall-pixmapsDATA
+
+
+snapshot:
+	$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.am	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.am	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,17 @@
+SUBDIRS = src layouts
+
+if WANT_EXAMPLES
+SUBDIRS += examples
+endif
+
+EXTRA_DIST = matchbox-keyboard.desktop matchbox-keyboard.png
+
+desktopdir = $(datadir)/applications/inputmethods
+desktop_DATA = matchbox-keyboard.desktop
+
+pixmapsdir = $(datadir)/pixmaps/
+pixmaps_DATA = matchbox-keyboard.png
+
+
+snapshot:
+	$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.in
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.in	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/Makefile.in	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,651 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ at WANT_EXAMPLES_TRUE@am__append_1 = examples
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	depcomp install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pixmapsdir)"
+desktopDATA_INSTALL = $(INSTALL_DATA)
+pixmapsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(desktop_DATA) $(pixmaps_DATA)
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = src layouts examples
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FAKEKEY_CFLAGS = @FAKEKEY_CFLAGS@
+FAKEKEY_LIBS = @FAKEKEY_LIBS@
+GTK2_CFLAGS = @GTK2_CFLAGS@
+GTK2_LIBS = @GTK2_LIBS@
+HAVE_EXPAT = @HAVE_EXPAT@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WANT_CAIRO_FALSE = @WANT_CAIRO_FALSE@
+WANT_CAIRO_TRUE = @WANT_CAIRO_TRUE@
+WANT_EXAMPLES_FALSE = @WANT_EXAMPLES_FALSE@
+WANT_EXAMPLES_TRUE = @WANT_EXAMPLES_TRUE@
+XFT_CFLAGS = @XFT_CFLAGS@
+XFT_LIBS = @XFT_LIBS@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = src layouts $(am__append_1)
+EXTRA_DIST = matchbox-keyboard.desktop matchbox-keyboard.png
+desktopdir = $(datadir)/applications/inputmethods
+desktop_DATA = matchbox-keyboard.desktop
+pixmapsdir = $(datadir)/pixmaps/
+pixmaps_DATA = matchbox-keyboard.png
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+uninstall-info-am:
+install-desktopDATA: $(desktop_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(desktopdir)" || $(mkdir_p) "$(DESTDIR)$(desktopdir)"
+	@list='$(desktop_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(desktopDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(desktopdir)/$$f'"; \
+	  $(desktopDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(desktopdir)/$$f"; \
+	done
+
+uninstall-desktopDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(desktop_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(desktopdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(desktopdir)/$$f"; \
+	done
+install-pixmapsDATA: $(pixmaps_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pixmapsdir)" || $(mkdir_p) "$(DESTDIR)$(pixmapsdir)"
+	@list='$(pixmaps_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(pixmapsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pixmapsdir)/$$f'"; \
+	  $(pixmapsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pixmapsdir)/$$f"; \
+	done
+
+uninstall-pixmapsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pixmaps_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pixmapsdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pixmapsdir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pixmapsdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-desktopDATA install-pixmapsDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-desktopDATA uninstall-info-am \
+	uninstall-pixmapsDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-recursive ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
+	dist-tarZ dist-zip distcheck distclean distclean-generic \
+	distclean-hdr distclean-recursive distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-desktopDATA install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-pixmapsDATA install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
+	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-desktopDATA uninstall-info-am uninstall-pixmapsDATA
+
+
+snapshot:
+	$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/NEWS
===================================================================

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/README
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/README	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/README	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,213 @@
+                           Matchbox-Keyboard README
+                           ========================
+
+Introduction
+===
+
+Matchbox-keyboard is an on screen 'virtual' or 'software' keyboard. It
+will hopefully work well on various touchscreen devices from mobile
+phones to tablet PCs running X Windows.
+
+It aims to 'just work' supporting localised, easy to write XML layout
+configuration files.
+
+Its made available under the GPL.
+
+
+Rational
+===
+
+I wrote 'xkbd' a few years back which tried to do the same thing. It
+was the first xlib app I wrote and the first bit of C Id coded in
+quite a few years. It was a mess but basically worked, though with
+a few problems.
+
+matchbox-keyboard is my much promised rewrite. The code is cleaner 
+and it hopefully addresses much of the previous short comings of xkbd.
+
+
+Building
+===
+
+Do the usual autotool jig of ./configure, make, make install. ( If
+building from SVN you'll need to run ./autogen.sh before this).
+
+matchbox-keyboard needs xlibs, xft, libfakekey and expat to build -
+The configure script will detect these. Also optionally there is
+experimental cairo support for rendering the keys and example
+embeddeding code.
+
+
+Running
+===
+
+Do;
+
+  matchbox-keyboard [Options..] [optional variant name]
+
+and start typing. The config file will be selected based on locale
+setting and supplied variant name. The onlu current option is -xid,
+used for embedding ( see below ).
+
+The following Environmental Variables are also used, if set;
+
+ * MB_KBD_CONFIG
+ 
+   Set to full path of a alternate layout file to use overriding any other
+   selection mechanisms.
+
+ * MB_KBD_VARIANT
+
+   Same as the first argument to binary. If both set argument overrides.
+
+ * LANG, MB_KBD_LANG 
+
+   The value up to the first '.' ( i.e en_GB ) is used to build up 
+   the config file name based on locale. MB_KBD_LANG can be used to
+   override the systems LANG var ( E.g, for the case of a Dutch person
+   wanting a Dutch keyboard but an English locale - or the other way 
+   round ).
+
+Embedding
+===
+
+You can embed matchbox-keyboard into other applications with toolkits
+that support the XEMBED protocol ( GTK2 for example ). 
+
+See examples/matchbox-keyboard-gtk-embed.c for how its done. 
+
+Making your own keyboard layouts
+===
+
+Keyboard layout files are UTF8 XML files ( Make sure they are saved
+with this encoding! ). They are loaded from the directory
+$PREFIX/share/matchbox-keyboard and are named in the format
+keyboard[-locale][-variant].xml. This can be overridden by setting
+MB_KBD_CONFIG environment variable to a valid config file path or by
+creating $HOME/.matchbox/keyboard.xml.
+
+The basic layout of the file looks like;
+
+    <keyboard>
+
+    <options>
+    </options>
+
+    <layout>
+      <row>
+        <key ...>
+	  <default .. >
+	  <shifted .. >
+	  <mod1 .. >
+          ....
+	<key>
+        .... more keys ...
+	<space width="1000" />
+      </row>
+      <row>
+      ...
+      </row>
+    </layout>
+
+    </keyboard>
+
+A number of layouts can be defined ( though currently only 1 is
+supported ) each with any number of rows of keys, defining the
+keyboard from top to bottom.
+
+The most important tag to know about is the <key> tag and its
+children. A key tag can optionally have the following attributes;
+
+  * obey-caps=true|false ( defaults to false if not declared )
+
+  Specifies if the key obeys the Caps Lock key - Its shifted state
+  is shown when the Caps key is held.
+
+  * width=1000th's of a 'base' key width.
+
+  Override the automatically calculated key width in 1000th's of 
+  a base key width ( The average width of a key with a single glyph ).
+
+  * fill=true|false ( defaults to false )
+
+  If set, the keys width is set to fill all available free space. 
+
+  * extended=true|false ( defaults to false )
+
+  Keys set with this extended attribute set to true will *only*
+  be shown if the display is landscape, rather than portrait.
+  The rational for this is to better adapt to screen rotations.
+  ( Note: the <space> tag can also use this. )
+  
+
+The <key> then has sub tags specifies the appearance and action for
+the five possible key states; <default>,<shifted>,<mod1>,<mod2>,<mod3>.
+
+There are two possible attributes for each of these state tags;
+
+  * display=UTF8 String
+
+  Sets what is displayed on the key face for the particular case.
+  If this is not set the key will be blank.
+
+  * action=action string.
+
+  The specifies the action of the key. For most (all?) single glyph keys
+  the action is deduced automatically. For 'special' function keys, it
+  can be set to any of the following. 
+
+    backspace, tab, linefeed, clear, return, pause, scrolllock,
+    sysreq, escape, delete, home, left, up, right, down, prior,
+    pageup, next, pagedown, end, begin, space, f1, f2, f3, f4, f5, f6,
+    f7, f8, f9, f10, f11, f12
+
+  By prefixing the value with 'xkeysym:', a a xkeysym can be defined to
+  be 'pressed' as the action.
+  
+  If the key is a 'modifier' key, the action value is prefixed with 
+  'modifier:' and then one of the following;
+
+  Shift, Alt, Ctrl, mod1, mod2, mod3, Caps
+
+
+Rows can also contain a <space> tags which denote blank space. They
+simply take a width attribute specifying the base in 1000th's of a base
+key width.
+
+See the various keyboard.xml files included in the distribution for
+example setups.
+
+
+Misc Notes
+===
+
+ * matchbox-keyboard attempts to detect the window manager and set up its
+   window 'hints' based on that. This is experimental, YMMV.
+
+   matchbox-keyboard never wants to get keyboard focus itself, if the
+   window manager gives it focus ( matchbox-keyboard requests the 
+   w-m doesn't ), it wont work. 
+
+ * It shouldn't't be too hard to make the keyboard use GTK or another toolkit
+   ( possibly even Non X11 ) just by hacking matchbox-keyboard-ui.c . 
+   ( If you do either of these, please send patches ). 
+
+
+Todo
+===
+
+ * Fix layout engine on small on displays.
+
+ * Images on keys
+
+ Only text on key faces is currently supported. Probably do this via XRender
+ and libPNG ( or just cairo for cairo backend ).
+
+ * Themeing.
+
+ Needs thought... 
+
+
+
+Matthew Allum 2005.
+<mallum at openedhand.com>

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/aclocal.m4
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/aclocal.m4	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/aclocal.m4	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,1023 @@
+# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# 
+# Copyright © 2004 Scott James Remnant <scott at netsplit.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.
+#
+# 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.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_ifval([$1], [$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+		
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+        PKG_CHECK_EXISTS([$3],
+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+			 [pkg_failed=yes])
+else
+	pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+if test $pkg_failed = yes; then
+	$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" 1>&AS_MESSAGE_LOG_FD
+
+	ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met.
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively you may set the $1_CFLAGS and $1_LIBS environment variables
+to avoid the need to call pkg-config.  See the pkg-config man page for
+more details.])],
+		[$4])
+elif test $pkg_failed = untried; then
+	ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively you may set the $1_CFLAGS and $1_LIBS environment variables
+to avoid the need to call pkg-config.  See the pkg-config man page for
+more details.
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
+		[$4])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.5])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/config.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/config.h	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/config.h	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,167 @@
+/* config.h.  Generated by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to 1 if the `closedir' function returns void instead of `int'. */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+
+/* Found a useable expat library */
+#define HAVE_EXPAT 1
+
+/* Define to 1 if you have the `fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if `stat' has the bug that it succeeds when given the
+   zero-length file name argument. */
+/* #undef HAVE_STAT_EMPTY_STRING_BUG */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `vfork' function. */
+#define HAVE_VFORK 1
+
+/* Define to 1 if you have the <vfork.h> header file. */
+/* #undef HAVE_VFORK_H */
+
+/* Define to 1 if `fork' works. */
+#define HAVE_WORKING_FORK 1
+
+/* Define to 1 if `vfork' works. */
+#define HAVE_WORKING_VFORK 1
+
+/* Use xmlparse.h instead of expat.h */
+/* #undef HAVE_XMLPARSE_H */
+
+/* Define to 1 if you have the `XML_ParserCreate' function. */
+#define HAVE_XML_PARSERCREATE 1
+
+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+   slash. */
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+
+/* Name of package */
+#define PACKAGE "matchbox-keyboard"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "mallum at handhelds.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "matchbox-keyboard"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "matchbox-keyboard 0.1"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "matchbox-keyboard"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.1"
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define to the type of arg 1 for `select'. */
+#define SELECT_TYPE_ARG1 int
+
+/* Define to the type of args 2, 3 and 4 for `select'. */
+#define SELECT_TYPE_ARG234 (fd_set *)
+
+/* Define to the type of arg 5 for `select'. */
+#define SELECT_TYPE_ARG5 (struct timeval *)
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Version number of package */
+#define VERSION "0.1"
+
+/* Use Cairo to paint libs */
+/* #undef WANT_CAIRO */
+
+/* Make a debug (Verbose) Build */
+/* #undef WANT_DEBUG */
+
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+/* Define as `fork' if `vfork' does not work. */
+/* #undef vfork */

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/config.h.in
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/config.h.in	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/config.h.in	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,166 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to 1 if the `closedir' function returns void instead of `int'. */
+#undef CLOSEDIR_VOID
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_DIRENT_H
+
+/* Found a useable expat library */
+#undef HAVE_EXPAT
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if `stat' has the bug that it succeeds when given the
+   zero-length file name argument. */
+#undef HAVE_STAT_EMPTY_STRING_BUG
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
+
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
+
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Use xmlparse.h instead of expat.h */
+#undef HAVE_XMLPARSE_H
+
+/* Define to 1 if you have the `XML_ParserCreate' function. */
+#undef HAVE_XML_PARSERCREATE
+
+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+   slash. */
+#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to the type of arg 1 for `select'. */
+#undef SELECT_TYPE_ARG1
+
+/* Define to the type of args 2, 3 and 4 for `select'. */
+#undef SELECT_TYPE_ARG234
+
+/* Define to the type of arg 5 for `select'. */
+#undef SELECT_TYPE_ARG5
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Use Cairo to paint libs */
+#undef WANT_CAIRO
+
+/* Make a debug (Verbose) Build */
+#undef WANT_DEBUG
+
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/config.log
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/config.log	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/config.log	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,873 @@
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by matchbox-keyboard configure 0.1, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ ./configure --prefix=/usr
+
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = debian-steven
+uname -m = i686
+uname -r = 2.4.27-2-386
+uname -s = Linux
+uname -v = #1 Wed Aug 17 09:33:35 UTC 2005
+
+/usr/bin/uname -p = unknown
+/bin/uname -X     = unknown
+
+/bin/arch              = i686
+/usr/bin/arch -k       = unknown
+/usr/convex/getsysinfo = unknown
+hostinfo               = unknown
+/bin/machine           = unknown
+/usr/bin/oslevel       = unknown
+/bin/universe          = unknown
+
+PATH: /usr/local/bin
+PATH: /usr/local/sbin
+PATH: /sbin
+PATH: /usr/sbin
+PATH: /bin
+PATH: /usr/bin
+PATH: /usr/bin/X11
+PATH: /usr/games
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+configure:1413: checking for a BSD-compatible install
+configure:1468: result: /usr/bin/install -c
+configure:1479: checking whether build environment is sane
+configure:1522: result: yes
+configure:1587: checking for gawk
+configure:1616: result: no
+configure:1587: checking for mawk
+configure:1603: found /usr/bin/mawk
+configure:1613: result: mawk
+configure:1623: checking whether make sets $(MAKE)
+configure:1643: result: yes
+configure:1811: checking whether to enable maintainer-specific portions of Makefiles
+configure:1820: result: no
+configure:1891: checking for gcc
+configure:1907: found /usr/bin/gcc
+configure:1917: result: gcc
+configure:2161: checking for C compiler version
+configure:2164: gcc --version </dev/null >&5
+gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
+Copyright (C) 2003 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:2167: $? = 0
+configure:2169: gcc -v </dev/null >&5
+Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
+Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
+Thread model: posix
+gcc version 3.3.5 (Debian 1:3.3.5-13)
+configure:2172: $? = 0
+configure:2174: gcc -V </dev/null >&5
+gcc: `-V' option must have argument
+configure:2177: $? = 1
+configure:2200: checking for C compiler default output file name
+configure:2203: gcc    conftest.c  >&5
+configure:2206: $? = 0
+configure:2252: result: a.out
+configure:2257: checking whether the C compiler works
+configure:2263: ./a.out
+configure:2266: $? = 0
+configure:2283: result: yes
+configure:2290: checking whether we are cross compiling
+configure:2292: result: no
+configure:2295: checking for suffix of executables
+configure:2297: gcc -o conftest    conftest.c  >&5
+configure:2300: $? = 0
+configure:2325: result: 
+configure:2331: checking for suffix of object files
+configure:2352: gcc -c   conftest.c >&5
+configure:2355: $? = 0
+configure:2377: result: o
+configure:2381: checking whether we are using the GNU C compiler
+configure:2405: gcc -c   conftest.c >&5
+configure:2411: $? = 0
+configure:2414: test -z 			 || test ! -s conftest.err
+configure:2417: $? = 0
+configure:2420: test -s conftest.o
+configure:2423: $? = 0
+configure:2436: result: yes
+configure:2442: checking whether gcc accepts -g
+configure:2463: gcc -c -g  conftest.c >&5
+configure:2469: $? = 0
+configure:2472: test -z 			 || test ! -s conftest.err
+configure:2475: $? = 0
+configure:2478: test -s conftest.o
+configure:2481: $? = 0
+configure:2492: result: yes
+configure:2509: checking for gcc option to accept ANSI C
+configure:2579: gcc  -c -g -O2  conftest.c >&5
+configure:2585: $? = 0
+configure:2588: test -z 			 || test ! -s conftest.err
+configure:2591: $? = 0
+configure:2594: test -s conftest.o
+configure:2597: $? = 0
+configure:2615: result: none needed
+configure:2633: gcc -c -g -O2  conftest.c >&5
+conftest.c:2: error: syntax error before "me"
+configure:2639: $? = 1
+configure: failed program was:
+| #ifndef __cplusplus
+|   choke me
+| #endif
+configure:2780: checking for style of include used by make
+configure:2808: result: GNU
+configure:2836: checking dependency style of gcc
+configure:2926: result: gcc3
+configure:2952: checking for dirent.h that defines DIR
+configure:2976: gcc -c -g -O2  conftest.c >&5
+configure:2982: $? = 0
+configure:2985: test -z 			 || test ! -s conftest.err
+configure:2988: $? = 0
+configure:2991: test -s conftest.o
+configure:2994: $? = 0
+configure:3005: result: yes
+configure:3018: checking for library containing opendir
+configure:3048: gcc -o conftest -g -O2   conftest.c  >&5
+configure:3054: $? = 0
+configure:3057: test -z 			 || test ! -s conftest.err
+configure:3060: $? = 0
+configure:3063: test -s conftest
+configure:3066: $? = 0
+configure:3135: result: none required
+configure:3274: checking how to run the C preprocessor
+configure:3309: gcc -E  conftest.c
+configure:3315: $? = 0
+configure:3347: gcc -E  conftest.c
+conftest.c:13:28: ac_nonexistent.h: No such file or directory
+configure:3353: $? = 1
+configure: failed program was:
+| /* confdefs.h.  */
+| 
+| #define PACKAGE_NAME "matchbox-keyboard"
+| #define PACKAGE_TARNAME "matchbox-keyboard"
+| #define PACKAGE_VERSION "0.1"
+| #define PACKAGE_STRING "matchbox-keyboard 0.1"
+| #define PACKAGE_BUGREPORT "mallum at handhelds.org"
+| #define PACKAGE "matchbox-keyboard"
+| #define VERSION "0.1"
+| #define _GNU_SOURCE 1
+| #define HAVE_DIRENT_H 1
+| /* end confdefs.h.  */
+| #include <ac_nonexistent.h>
+configure:3392: result: gcc -E
+configure:3416: gcc -E  conftest.c
+configure:3422: $? = 0
+configure:3454: gcc -E  conftest.c
+conftest.c:13:28: ac_nonexistent.h: No such file or directory
+configure:3460: $? = 1
+configure: failed program was:
+| /* confdefs.h.  */
+| 
+| #define PACKAGE_NAME "matchbox-keyboard"
+| #define PACKAGE_TARNAME "matchbox-keyboard"
+| #define PACKAGE_VERSION "0.1"
+| #define PACKAGE_STRING "matchbox-keyboard 0.1"
+| #define PACKAGE_BUGREPORT "mallum at handhelds.org"
+| #define PACKAGE "matchbox-keyboard"
+| #define VERSION "0.1"
+| #define _GNU_SOURCE 1
+| #define HAVE_DIRENT_H 1
+| /* end confdefs.h.  */
+| #include <ac_nonexistent.h>
+configure:3504: checking for egrep
+configure:3514: result: grep -E
+configure:3519: checking for ANSI C header files
+configure:3544: gcc -c -g -O2  conftest.c >&5
+configure:3550: $? = 0
+configure:3553: test -z 			 || test ! -s conftest.err
+configure:3556: $? = 0
+configure:3559: test -s conftest.o
+configure:3562: $? = 0
+configure:3648: gcc -o conftest -g -O2   conftest.c  >&5
+configure:3651: $? = 0
+configure:3653: ./conftest
+configure:3656: $? = 0
+configure:3671: result: yes
+configure:3683: checking for an ANSI C-conforming const
+configure:3750: gcc -c -g -O2  conftest.c >&5
+configure:3756: $? = 0
+configure:3759: test -z 			 || test ! -s conftest.err
+configure:3762: $? = 0
+configure:3765: test -s conftest.o
+configure:3768: $? = 0
+configure:3779: result: yes
+configure:3803: checking for sys/types.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for sys/stat.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for stdlib.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for string.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for memory.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for strings.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for inttypes.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for stdint.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3803: checking for unistd.h
+configure:3819: gcc -c -g -O2  conftest.c >&5
+configure:3825: $? = 0
+configure:3828: test -z 			 || test ! -s conftest.err
+configure:3831: $? = 0
+configure:3834: test -s conftest.o
+configure:3837: $? = 0
+configure:3848: result: yes
+configure:3860: checking for pid_t
+configure:3884: gcc -c -g -O2  conftest.c >&5
+configure:3890: $? = 0
+configure:3893: test -z 			 || test ! -s conftest.err
+configure:3896: $? = 0
+configure:3899: test -s conftest.o
+configure:3902: $? = 0
+configure:3913: result: yes
+configure:3925: checking whether time.h and sys/time.h may both be included
+configure:3950: gcc -c -g -O2  conftest.c >&5
+configure:3956: $? = 0
+configure:3959: test -z 			 || test ! -s conftest.err
+configure:3962: $? = 0
+configure:3965: test -s conftest.o
+configure:3968: $? = 0
+configure:3979: result: yes
+configure:3993: checking for working alloca.h
+configure:4014: gcc -o conftest -g -O2   conftest.c  >&5
+configure:4020: $? = 0
+configure:4023: test -z 			 || test ! -s conftest.err
+configure:4026: $? = 0
+configure:4029: test -s conftest
+configure:4032: $? = 0
+configure:4044: result: yes
+configure:4054: checking for alloca
+configure:4095: gcc -o conftest -g -O2   conftest.c  >&5
+configure:4101: $? = 0
+configure:4104: test -z 			 || test ! -s conftest.err
+configure:4107: $? = 0
+configure:4110: test -s conftest
+configure:4113: $? = 0
+configure:4125: result: yes
+configure:4347: checking whether closedir returns void
+configure:4376: gcc -o conftest -g -O2   conftest.c  >&5
+configure:4379: $? = 0
+configure:4381: ./conftest
+configure:4384: $? = 0
+configure:4398: result: no
+configure:4414: checking for unistd.h
+configure:4419: result: yes
+configure:4423: checking vfork.h usability
+configure:4435: gcc -c -g -O2  conftest.c >&5
+conftest.c:61:19: vfork.h: No such file or directory
+configure:4441: $? = 1
+configure: failed program was:
+| /* confdefs.h.  */
+| 
+| #define PACKAGE_NAME "matchbox-keyboard"
+| #define PACKAGE_TARNAME "matchbox-keyboard"
+| #define PACKAGE_VERSION "0.1"
+| #define PACKAGE_STRING "matchbox-keyboard 0.1"
+| #define PACKAGE_BUGREPORT "mallum at handhelds.org"
+| #define PACKAGE "matchbox-keyboard"
+| #define VERSION "0.1"
+| #define _GNU_SOURCE 1
+| #define HAVE_DIRENT_H 1
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define TIME_WITH_SYS_TIME 1
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| #define HAVE_UNISTD_H 1
+| /* end confdefs.h.  */
+| #include <stdio.h>
+| #if HAVE_SYS_TYPES_H
+| # include <sys/types.h>
+| #endif
+| #if HAVE_SYS_STAT_H
+| # include <sys/stat.h>
+| #endif
+| #if STDC_HEADERS
+| # include <stdlib.h>
+| # include <stddef.h>
+| #else
+| # if HAVE_STDLIB_H
+| #  include <stdlib.h>
+| # endif
+| #endif
+| #if HAVE_STRING_H
+| # if !STDC_HEADERS && HAVE_MEMORY_H
+| #  include <memory.h>
+| # endif
+| # include <string.h>
+| #endif
+| #if HAVE_STRINGS_H
+| # include <strings.h>
+| #endif
+| #if HAVE_INTTYPES_H
+| # include <inttypes.h>
+| #else
+| # if HAVE_STDINT_H
+| #  include <stdint.h>
+| # endif
+| #endif
+| #if HAVE_UNISTD_H
+| # include <unistd.h>
+| #endif
+| #include <vfork.h>
+configure:4463: result: no
+configure:4467: checking vfork.h presence
+configure:4477: gcc -E  conftest.c
+conftest.c:27:19: vfork.h: No such file or directory
+configure:4483: $? = 1
+configure: failed program was:
+| /* confdefs.h.  */
+| 
+| #define PACKAGE_NAME "matchbox-keyboard"
+| #define PACKAGE_TARNAME "matchbox-keyboard"
+| #define PACKAGE_VERSION "0.1"
+| #define PACKAGE_STRING "matchbox-keyboard 0.1"
+| #define PACKAGE_BUGREPORT "mallum at handhelds.org"
+| #define PACKAGE "matchbox-keyboard"
+| #define VERSION "0.1"
+| #define _GNU_SOURCE 1
+| #define HAVE_DIRENT_H 1
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define TIME_WITH_SYS_TIME 1
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| #define HAVE_UNISTD_H 1
+| /* end confdefs.h.  */
+| #include <vfork.h>
+configure:4503: result: no
+configure:4538: checking for vfork.h
+configure:4545: result: no
+configure:4563: checking for fork
+configure:4620: gcc -o conftest -g -O2   conftest.c  >&5
+configure:4626: $? = 0
+configure:4629: test -z 			 || test ! -s conftest.err
+configure:4632: $? = 0
+configure:4635: test -s conftest
+configure:4638: $? = 0
+configure:4650: result: yes
+configure:4563: checking for vfork
+configure:4620: gcc -o conftest -g -O2   conftest.c  >&5
+configure:4626: $? = 0
+configure:4629: test -z 			 || test ! -s conftest.err
+configure:4632: $? = 0
+configure:4635: test -s conftest
+configure:4638: $? = 0
+configure:4650: result: yes
+configure:4661: checking for working fork
+configure:4684: gcc -o conftest -g -O2   conftest.c  >&5
+configure:4687: $? = 0
+configure:4689: ./conftest
+configure:4692: $? = 0
+configure:4706: result: yes
+configure:4727: checking for working vfork
+configure:4860: result: yes
+configure:4906: checking sys/select.h usability
+configure:4918: gcc -c -g -O2  conftest.c >&5
+configure:4924: $? = 0
+configure:4927: test -z 			 || test ! -s conftest.err
+configure:4930: $? = 0
+configure:4933: test -s conftest.o
+configure:4936: $? = 0
+configure:4946: result: yes
+configure:4950: checking sys/select.h presence
+configure:4960: gcc -E  conftest.c
+configure:4966: $? = 0
+configure:4986: result: yes
+configure:5021: checking for sys/select.h
+configure:5028: result: yes
+configure:4906: checking sys/socket.h usability
+configure:4918: gcc -c -g -O2  conftest.c >&5
+configure:4924: $? = 0
+configure:4927: test -z 			 || test ! -s conftest.err
+configure:4930: $? = 0
+configure:4933: test -s conftest.o
+configure:4936: $? = 0
+configure:4946: result: yes
+configure:4950: checking sys/socket.h presence
+configure:4960: gcc -E  conftest.c
+configure:4966: $? = 0
+configure:4986: result: yes
+configure:5021: checking for sys/socket.h
+configure:5028: result: yes
+configure:5041: checking types of arguments for select
+configure:5074: gcc -c -g -O2  conftest.c >&5
+configure:5080: $? = 0
+configure:5083: test -z 			 || test ! -s conftest.err
+configure:5086: $? = 0
+configure:5089: test -s conftest.o
+configure:5092: $? = 0
+configure:5108: result: int,fd_set *,struct timeval *
+configure:5131: checking return type of signal handlers
+configure:5162: gcc -c -g -O2  conftest.c >&5
+configure:5168: $? = 0
+configure:5171: test -z 			 || test ! -s conftest.err
+configure:5174: $? = 0
+configure:5177: test -s conftest.o
+configure:5180: $? = 0
+configure:5191: result: void
+configure:5199: checking whether lstat dereferences a symlink specified with a trailing slash
+configure:5230: gcc -o conftest -g -O2   conftest.c  >&5
+configure:5233: $? = 0
+configure:5235: ./conftest
+configure:5238: $? = 0
+configure:5259: result: yes
+configure:5280: checking whether stat accepts an empty string
+configure:5305: gcc -o conftest -g -O2   conftest.c  >&5
+configure:5308: $? = 0
+configure:5310: ./conftest
+configure:5313: $? = 1
+configure: program exited with status 1
+configure: failed program was:
+| /* confdefs.h.  */
+| 
+| #define PACKAGE_NAME "matchbox-keyboard"
+| #define PACKAGE_TARNAME "matchbox-keyboard"
+| #define PACKAGE_VERSION "0.1"
+| #define PACKAGE_STRING "matchbox-keyboard 0.1"
+| #define PACKAGE_BUGREPORT "mallum at handhelds.org"
+| #define PACKAGE "matchbox-keyboard"
+| #define VERSION "0.1"
+| #define _GNU_SOURCE 1
+| #define HAVE_DIRENT_H 1
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define TIME_WITH_SYS_TIME 1
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_FORK 1
+| #define HAVE_VFORK 1
+| #define HAVE_WORKING_VFORK 1
+| #define HAVE_WORKING_FORK 1
+| #define HAVE_SYS_SELECT_H 1
+| #define HAVE_SYS_SOCKET_H 1
+| #define SELECT_TYPE_ARG1 int
+| #define SELECT_TYPE_ARG234 (fd_set *)
+| #define SELECT_TYPE_ARG5 (struct timeval *)
+| #define RETSIGTYPE void
+| #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+| /* end confdefs.h.  */
+| #include <stdio.h>
+| #if HAVE_SYS_TYPES_H
+| # include <sys/types.h>
+| #endif
+| #if HAVE_SYS_STAT_H
+| # include <sys/stat.h>
+| #endif
+| #if STDC_HEADERS
+| # include <stdlib.h>
+| # include <stddef.h>
+| #else
+| # if HAVE_STDLIB_H
+| #  include <stdlib.h>
+| # endif
+| #endif
+| #if HAVE_STRING_H
+| # if !STDC_HEADERS && HAVE_MEMORY_H
+| #  include <memory.h>
+| # endif
+| # include <string.h>
+| #endif
+| #if HAVE_STRINGS_H
+| # include <strings.h>
+| #endif
+| #if HAVE_INTTYPES_H
+| # include <inttypes.h>
+| #else
+| # if HAVE_STDINT_H
+| #  include <stdint.h>
+| # endif
+| #endif
+| #if HAVE_UNISTD_H
+| # include <unistd.h>
+| #endif
+| int
+| main ()
+| {
+| struct stat sbuf;
+|   exit (stat ("", &sbuf) ? 1 : 0);
+|   ;
+|   return 0;
+| }
+configure:5327: result: no
+configure:5436: checking for pkg-config
+configure:5454: found /usr/bin/pkg-config
+configure:5466: result: /usr/bin/pkg-config
+configure:5481: checking pkg-config is at least version 0.9.0
+configure:5484: result: yes
+configure:5495: checking for FAKEKEY
+configure:5500: $PKG_CONFIG --exists --print-errors "libfakekey"
+configure:5503: $? = 0
+configure:5514: $PKG_CONFIG --exists --print-errors "libfakekey"
+configure:5517: $? = 0
+configure:5542: result: yes
+configure:5602: checking for XFT
+configure:5607: $PKG_CONFIG --exists --print-errors "xft"
+configure:5610: $? = 0
+configure:5621: $PKG_CONFIG --exists --print-errors "xft"
+configure:5624: $? = 0
+configure:5649: result: yes
+configure:5782: checking expat.h usability
+configure:5794: gcc -c -g -O2   conftest.c >&5
+configure:5800: $? = 0
+configure:5803: test -z 			 || test ! -s conftest.err
+configure:5806: $? = 0
+configure:5809: test -s conftest.o
+configure:5812: $? = 0
+configure:5822: result: yes
+configure:5826: checking expat.h presence
+configure:5836: gcc -E   conftest.c
+configure:5842: $? = 0
+configure:5862: result: yes
+configure:5897: checking for expat.h
+configure:5904: result: yes
+configure:6081: checking for XML_ParserCreate
+configure:6138: gcc -o conftest -g -O2    conftest.c  -L/lib -lexpat >&5
+configure:6144: $? = 0
+configure:6147: test -z 			 || test ! -s conftest.err
+configure:6150: $? = 0
+configure:6153: test -s conftest
+configure:6156: $? = 0
+configure:6168: result: yes
+configure:6364: creating ./config.status
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by matchbox-keyboard config.status 0.1, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status 
+
+on debian-steven
+
+config.status:753: creating Makefile
+config.status:753: creating src/Makefile
+config.status:753: creating layouts/Makefile
+config.status:753: creating examples/Makefile
+config.status:819: creating config.h
+config.status:1143: executing depfiles commands
+
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+
+ac_cv_c_compiler_gnu=yes
+ac_cv_c_const=yes
+ac_cv_env_CAIRO_CFLAGS_set=
+ac_cv_env_CAIRO_CFLAGS_value=
+ac_cv_env_CAIRO_LIBS_set=
+ac_cv_env_CAIRO_LIBS_value=
+ac_cv_env_CC_set=
+ac_cv_env_CC_value=
+ac_cv_env_CFLAGS_set=
+ac_cv_env_CFLAGS_value=
+ac_cv_env_CPPFLAGS_set=
+ac_cv_env_CPPFLAGS_value=
+ac_cv_env_CPP_set=
+ac_cv_env_CPP_value=
+ac_cv_env_FAKEKEY_CFLAGS_set=
+ac_cv_env_FAKEKEY_CFLAGS_value=
+ac_cv_env_FAKEKEY_LIBS_set=
+ac_cv_env_FAKEKEY_LIBS_value=
+ac_cv_env_GTK2_CFLAGS_set=
+ac_cv_env_GTK2_CFLAGS_value=
+ac_cv_env_GTK2_LIBS_set=
+ac_cv_env_GTK2_LIBS_value=
+ac_cv_env_LDFLAGS_set=
+ac_cv_env_LDFLAGS_value=
+ac_cv_env_PKG_CONFIG_set=
+ac_cv_env_PKG_CONFIG_value=
+ac_cv_env_XFT_CFLAGS_set=
+ac_cv_env_XFT_CFLAGS_value=
+ac_cv_env_XFT_LIBS_set=
+ac_cv_env_XFT_LIBS_value=
+ac_cv_env_build_alias_set=
+ac_cv_env_build_alias_value=
+ac_cv_env_host_alias_set=
+ac_cv_env_host_alias_value=
+ac_cv_env_target_alias_set=
+ac_cv_env_target_alias_value=
+ac_cv_exeext=
+ac_cv_func_XML_ParserCreate=yes
+ac_cv_func_alloca_works=yes
+ac_cv_func_closedir_void=no
+ac_cv_func_fork=yes
+ac_cv_func_fork_works=yes
+ac_cv_func_lstat_dereferences_slashed_symlink=yes
+ac_cv_func_select_args='int,fd_set *,struct timeval *'
+ac_cv_func_stat_empty_string_bug=no
+ac_cv_func_vfork=yes
+ac_cv_func_vfork_works=yes
+ac_cv_header_dirent_dirent_h=yes
+ac_cv_header_expat_h=yes
+ac_cv_header_inttypes_h=yes
+ac_cv_header_memory_h=yes
+ac_cv_header_stdc=yes
+ac_cv_header_stdint_h=yes
+ac_cv_header_stdlib_h=yes
+ac_cv_header_string_h=yes
+ac_cv_header_strings_h=yes
+ac_cv_header_sys_select_h=yes
+ac_cv_header_sys_socket_h=yes
+ac_cv_header_sys_stat_h=yes
+ac_cv_header_sys_types_h=yes
+ac_cv_header_time=yes
+ac_cv_header_unistd_h=yes
+ac_cv_header_vfork_h=no
+ac_cv_objext=o
+ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
+ac_cv_path_install='/usr/bin/install -c'
+ac_cv_prog_AWK=mawk
+ac_cv_prog_CPP='gcc -E'
+ac_cv_prog_ac_ct_CC=gcc
+ac_cv_prog_cc_g=yes
+ac_cv_prog_cc_stdc=
+ac_cv_prog_egrep='grep -E'
+ac_cv_prog_make_make_set=yes
+ac_cv_search_opendir='none required'
+ac_cv_type_pid_t=yes
+ac_cv_type_signal=void
+ac_cv_working_alloca_h=yes
+am_cv_CC_dependencies_compiler_type=gcc3
+pkg_cv_FAKEKEY_CFLAGS=' '
+pkg_cv_FAKEKEY_LIBS='-L/usr/X11R6/lib -lX11 -lXtst -lfakekey  '
+pkg_cv_XFT_CFLAGS='-I/usr/include/freetype2 -I/usr/X11R6/include  '
+pkg_cv_XFT_LIBS='-L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  '
+
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+
+ACLOCAL='${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run aclocal-1.9'
+ALLOCA=''
+AMDEPBACKSLASH='\'
+AMDEP_FALSE='#'
+AMDEP_TRUE=''
+AMTAR='${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run tar'
+AUTOCONF='${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoconf'
+AUTOHEADER='${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoheader'
+AUTOMAKE='${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run automake-1.9'
+AWK='mawk'
+CAIRO_CFLAGS=''
+CAIRO_LIBS=''
+CC='gcc'
+CCDEPMODE='depmode=gcc3'
+CFLAGS='-g -O2'
+CPP='gcc -E'
+CPPFLAGS=''
+CYGPATH_W='echo'
+DEFS='-DHAVE_CONFIG_H'
+DEPDIR='.deps'
+ECHO_C=''
+ECHO_N='-n'
+ECHO_T=''
+EGREP='grep -E'
+EXEEXT=''
+EXPAT_CFLAGS=''
+EXPAT_LIBS='-L/lib -lexpat'
+FAKEKEY_CFLAGS='-g -Wall -fno-strict-aliasing  '
+FAKEKEY_LIBS='-L/usr/X11R6/lib -lX11 -lXtst -lfakekey  '
+GTK2_CFLAGS=''
+GTK2_LIBS=''
+HAVE_EXPAT='1'
+HAVE_XMLPARSE_H=''
+INSTALL_DATA='${INSTALL} -m 644'
+INSTALL_PROGRAM='${INSTALL}'
+INSTALL_SCRIPT='${INSTALL}'
+INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
+LDFLAGS=''
+LIBOBJS=''
+LIBS=''
+LTLIBOBJS=''
+MAINT='#'
+MAINTAINER_MODE_FALSE=''
+MAINTAINER_MODE_TRUE='#'
+MAKEINFO='${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run makeinfo'
+OBJEXT='o'
+PACKAGE='matchbox-keyboard'
+PACKAGE_BUGREPORT='mallum at handhelds.org'
+PACKAGE_NAME='matchbox-keyboard'
+PACKAGE_STRING='matchbox-keyboard 0.1'
+PACKAGE_TARNAME='matchbox-keyboard'
+PACKAGE_VERSION='0.1'
+PATH_SEPARATOR=':'
+PKG_CONFIG='/usr/bin/pkg-config'
+SET_MAKE=''
+SHELL='/bin/sh'
+STRIP=''
+VERSION='0.1'
+WANT_CAIRO_FALSE=''
+WANT_CAIRO_TRUE='#'
+WANT_EXAMPLES_FALSE=''
+WANT_EXAMPLES_TRUE='#'
+XFT_CFLAGS='-I/usr/include/freetype2 -I/usr/X11R6/include  '
+XFT_LIBS='-L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  '
+ac_ct_CC='gcc'
+ac_ct_STRIP=''
+ac_pt_PKG_CONFIG='/usr/bin/pkg-config'
+am__fastdepCC_FALSE='#'
+am__fastdepCC_TRUE=''
+am__include='include'
+am__leading_dot='.'
+am__quote=''
+am__tar='${AMTAR} chof - "$$tardir"'
+am__untar='${AMTAR} xf -'
+bindir='${exec_prefix}/bin'
+build_alias=''
+datadir='${prefix}/share'
+exec_prefix='${prefix}'
+host_alias=''
+includedir='${prefix}/include'
+infodir='${prefix}/info'
+install_sh='/home/mbox/matchbox-keyboard-0.1/install-sh'
+libdir='${exec_prefix}/lib'
+libexecdir='${exec_prefix}/libexec'
+localstatedir='${prefix}/var'
+mandir='${prefix}/man'
+mkdir_p='mkdir -p --'
+oldincludedir='/usr/include'
+prefix='/usr'
+program_transform_name='s,x,x,'
+sbindir='${exec_prefix}/sbin'
+sharedstatedir='${prefix}/com'
+sysconfdir='${prefix}/etc'
+target_alias=''
+
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+
+#define HAVE_ALLOCA 1
+#define HAVE_ALLOCA_H 1
+#define HAVE_DIRENT_H 1
+#define HAVE_EXPAT 1
+#define HAVE_FORK 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_VFORK 1
+#define HAVE_WORKING_FORK 1
+#define HAVE_WORKING_VFORK 1
+#define HAVE_XML_PARSERCREATE 1
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+#define PACKAGE "matchbox-keyboard"
+#define PACKAGE_BUGREPORT "mallum at handhelds.org"
+#define PACKAGE_NAME "matchbox-keyboard"
+#define PACKAGE_STRING "matchbox-keyboard 0.1"
+#define PACKAGE_TARNAME "matchbox-keyboard"
+#define PACKAGE_VERSION "0.1"
+#define RETSIGTYPE void
+#define SELECT_TYPE_ARG1 int
+#define SELECT_TYPE_ARG234 (fd_set *)
+#define SELECT_TYPE_ARG5 (struct timeval *)
+#define STDC_HEADERS 1
+#define TIME_WITH_SYS_TIME 1
+#define VERSION "0.1"
+#define _GNU_SOURCE 1
+
+configure: exit 0

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/config.status
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/config.status	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/config.status	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,1234 @@
+#! /bin/sh
+# Generated by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=${CONFIG_SHELL-/bin/sh}
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by matchbox-keyboard $as_me 0.1, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+config_files=" Makefile src/Makefile layouts/Makefile examples/Makefile"
+config_headers=" config.h"
+config_commands=" depfiles"
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+		   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf at gnu.org>."
+ac_cs_version="\
+matchbox-keyboard config.status 0.1
+configured by ./configure, generated by GNU Autoconf 2.59,
+  with options \"'--prefix=/usr'\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=.
+INSTALL="/usr/bin/install -c"
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+if $ac_cs_recheck; then
+  echo "running /bin/sh ./configure " '--prefix=/usr' $ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec /bin/sh ./configure '--prefix=/usr' $ac_configure_extra_args --no-create --no-recursion
+fi
+
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="" ac_aux_dir="."
+
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "layouts/Makefile" ) CONFIG_FILES="$CONFIG_FILES layouts/Makefile" ;;
+  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
+s, at SHELL@,/bin/sh,;t t
+s, at PATH_SEPARATOR@,:,;t t
+s, at PACKAGE_NAME@,matchbox-keyboard,;t t
+s, at PACKAGE_TARNAME@,matchbox-keyboard,;t t
+s, at PACKAGE_VERSION@,0.1,;t t
+s, at PACKAGE_STRING@,matchbox-keyboard 0.1,;t t
+s, at PACKAGE_BUGREPORT@,mallum at handhelds.org,;t t
+s, at exec_prefix@,${prefix},;t t
+s, at prefix@,/usr,;t t
+s, at program_transform_name@,s,x,x,,;t t
+s, at bindir@,${exec_prefix}/bin,;t t
+s, at sbindir@,${exec_prefix}/sbin,;t t
+s, at libexecdir@,${exec_prefix}/libexec,;t t
+s, at datadir@,${prefix}/share,;t t
+s, at sysconfdir@,${prefix}/etc,;t t
+s, at sharedstatedir@,${prefix}/com,;t t
+s, at localstatedir@,${prefix}/var,;t t
+s, at libdir@,${exec_prefix}/lib,;t t
+s, at includedir@,${prefix}/include,;t t
+s, at oldincludedir@,/usr/include,;t t
+s, at infodir@,${prefix}/info,;t t
+s, at mandir@,${prefix}/man,;t t
+s, at build_alias@,,;t t
+s, at host_alias@,,;t t
+s, at target_alias@,,;t t
+s, at DEFS@,-DHAVE_CONFIG_H,;t t
+s, at ECHO_C@,,;t t
+s, at ECHO_N@,-n,;t t
+s, at ECHO_T@,,;t t
+s, at LIBS@,,;t t
+s, at INSTALL_PROGRAM@,${INSTALL},;t t
+s, at INSTALL_SCRIPT@,${INSTALL},;t t
+s, at INSTALL_DATA@,${INSTALL} -m 644,;t t
+s, at CYGPATH_W@,echo,;t t
+s, at PACKAGE@,matchbox-keyboard,;t t
+s, at VERSION@,0.1,;t t
+s, at ACLOCAL@,${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run aclocal-1.9,;t t
+s, at AUTOCONF@,${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoconf,;t t
+s, at AUTOMAKE@,${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run automake-1.9,;t t
+s, at AUTOHEADER@,${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoheader,;t t
+s, at MAKEINFO@,${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run makeinfo,;t t
+s, at install_sh@,/home/mbox/matchbox-keyboard-0.1/install-sh,;t t
+s, at STRIP@,,;t t
+s, at ac_ct_STRIP@,,;t t
+s, at INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t
+s, at mkdir_p@,mkdir -p --,;t t
+s, at AWK@,mawk,;t t
+s, at SET_MAKE@,,;t t
+s, at am__leading_dot@,.,;t t
+s, at AMTAR@,${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run tar,;t t
+s, at am__tar@,${AMTAR} chof - "$$tardir",;t t
+s, at am__untar@,${AMTAR} xf -,;t t
+s, at MAINTAINER_MODE_TRUE@,#,;t t
+s, at MAINTAINER_MODE_FALSE@,,;t t
+s, at MAINT@,#,;t t
+s, at CC@,gcc,;t t
+s, at CFLAGS@,-g -O2,;t t
+s, at LDFLAGS@,,;t t
+s, at CPPFLAGS@,,;t t
+s, at ac_ct_CC@,gcc,;t t
+s, at EXEEXT@,,;t t
+s, at OBJEXT@,o,;t t
+s, at DEPDIR@,.deps,;t t
+s, at am__include@,include,;t t
+s, at am__quote@,,;t t
+s, at AMDEP_TRUE@,,;t t
+s, at AMDEP_FALSE@,#,;t t
+s, at AMDEPBACKSLASH@,\,;t t
+s, at CCDEPMODE@,depmode=gcc3,;t t
+s, at am__fastdepCC_TRUE@,,;t t
+s, at am__fastdepCC_FALSE@,#,;t t
+s, at CPP@,gcc -E,;t t
+s, at EGREP@,grep -E,;t t
+s, at ALLOCA@,,;t t
+s, at LIBOBJS@,,;t t
+s, at PKG_CONFIG@,/usr/bin/pkg-config,;t t
+s, at ac_pt_PKG_CONFIG@,/usr/bin/pkg-config,;t t
+s, at FAKEKEY_CFLAGS@,-g -Wall -fno-strict-aliasing  ,;t t
+s, at FAKEKEY_LIBS@,-L/usr/X11R6/lib -lX11 -lXtst -lfakekey  ,;t t
+s, at CAIRO_CFLAGS@,,;t t
+s, at CAIRO_LIBS@,,;t t
+s, at XFT_CFLAGS@,-I/usr/include/freetype2 -I/usr/X11R6/include  ,;t t
+s, at XFT_LIBS@,-L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  ,;t t
+s, at WANT_CAIRO_TRUE@,#,;t t
+s, at WANT_CAIRO_FALSE@,,;t t
+s, at GTK2_CFLAGS@,,;t t
+s, at GTK2_LIBS@,,;t t
+s, at WANT_EXAMPLES_TRUE@,#,;t t
+s, at WANT_EXAMPLES_FALSE@,,;t t
+s, at HAVE_XMLPARSE_H@,,;t t
+s, at HAVE_EXPAT@,1,;t t
+s, at EXPAT_LIBS@,-L/lib -lexpat,;t t
+s, at EXPAT_CFLAGS@,,;t t
+s, at LTLIBOBJS@,,;t t
+CEOF
+
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+  sed "/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}
+
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
+ac_dB='[	 ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 # Do quote $f, to prevent DOS paths from being IFS'd.
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+
+  # Handle all the #define templates only if necessary.
+  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then
+  # If there are no defines, we may have an empty if/fi
+  :
+  cat >$tmp/defines.sed <<CEOF
+/^[	 ]*#[	 ]*define/!b
+t clr
+: clr
+${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}"matchbox-keyboard"${ac_dD}
+${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}"matchbox-keyboard"${ac_dD}
+${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}"0.1"${ac_dD}
+${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}"matchbox-keyboard 0.1"${ac_dD}
+${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}"mallum at handhelds.org"${ac_dD}
+${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"matchbox-keyboard"${ac_dD}
+${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"0.1"${ac_dD}
+${ac_dA}_GNU_SOURCE${ac_dB}_GNU_SOURCE${ac_dC}1${ac_dD}
+${ac_dA}HAVE_DIRENT_H${ac_dB}HAVE_DIRENT_H${ac_dC}1${ac_dD}
+${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
+${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
+${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
+${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_ALLOCA${ac_dB}HAVE_ALLOCA${ac_dC}1${ac_dD}
+${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_FORK${ac_dB}HAVE_FORK${ac_dC}1${ac_dD}
+${ac_dA}HAVE_VFORK${ac_dB}HAVE_VFORK${ac_dC}1${ac_dD}
+${ac_dA}HAVE_WORKING_VFORK${ac_dB}HAVE_WORKING_VFORK${ac_dC}1${ac_dD}
+${ac_dA}HAVE_WORKING_FORK${ac_dB}HAVE_WORKING_FORK${ac_dC}1${ac_dD}
+${ac_dA}HAVE_SYS_SELECT_H${ac_dB}HAVE_SYS_SELECT_H${ac_dC}1${ac_dD}
+${ac_dA}HAVE_SYS_SOCKET_H${ac_dB}HAVE_SYS_SOCKET_H${ac_dC}1${ac_dD}
+${ac_dA}SELECT_TYPE_ARG1${ac_dB}SELECT_TYPE_ARG1${ac_dC}int${ac_dD}
+${ac_dA}SELECT_TYPE_ARG234${ac_dB}SELECT_TYPE_ARG234${ac_dC}(fd_set *)${ac_dD}
+${ac_dA}SELECT_TYPE_ARG5${ac_dB}SELECT_TYPE_ARG5${ac_dC}(struct timeval *)${ac_dD}
+${ac_dA}RETSIGTYPE${ac_dB}RETSIGTYPE${ac_dC}void${ac_dD}
+${ac_dA}LSTAT_FOLLOWS_SLASHED_SYMLINK${ac_dB}LSTAT_FOLLOWS_SLASHED_SYMLINK${ac_dC}1${ac_dD}
+${ac_dA}HAVE_XML_PARSERCREATE${ac_dB}HAVE_XML_PARSERCREATE${ac_dC}1${ac_dD}
+${ac_dA}HAVE_EXPAT${ac_dB}HAVE_EXPAT${ac_dC}1${ac_dD}
+CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+
+  fi # grep
+
+  # Handle all the #undef templates
+  cat >$tmp/undefs.sed <<CEOF
+/^[	 ]*#[	 ]*undef/!b
+t clr
+: clr
+${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}"matchbox-keyboard"${ac_uD}
+${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}"matchbox-keyboard"${ac_uD}
+${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}"0.1"${ac_uD}
+${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}"matchbox-keyboard 0.1"${ac_uD}
+${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}"mallum at handhelds.org"${ac_uD}
+${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"matchbox-keyboard"${ac_uD}
+${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"0.1"${ac_uD}
+${ac_uA}_GNU_SOURCE${ac_uB}_GNU_SOURCE${ac_uC}1${ac_uD}
+${ac_uA}HAVE_DIRENT_H${ac_uB}HAVE_DIRENT_H${ac_uC}1${ac_uD}
+${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
+${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
+${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD}
+${ac_uA}HAVE_ALLOCA_H${ac_uB}HAVE_ALLOCA_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_ALLOCA${ac_uB}HAVE_ALLOCA${ac_uC}1${ac_uD}
+${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_FORK${ac_uB}HAVE_FORK${ac_uC}1${ac_uD}
+${ac_uA}HAVE_VFORK${ac_uB}HAVE_VFORK${ac_uC}1${ac_uD}
+${ac_uA}HAVE_WORKING_VFORK${ac_uB}HAVE_WORKING_VFORK${ac_uC}1${ac_uD}
+${ac_uA}HAVE_WORKING_FORK${ac_uB}HAVE_WORKING_FORK${ac_uC}1${ac_uD}
+${ac_uA}HAVE_SYS_SELECT_H${ac_uB}HAVE_SYS_SELECT_H${ac_uC}1${ac_uD}
+${ac_uA}HAVE_SYS_SOCKET_H${ac_uB}HAVE_SYS_SOCKET_H${ac_uC}1${ac_uD}
+${ac_uA}SELECT_TYPE_ARG1${ac_uB}SELECT_TYPE_ARG1${ac_uC}int${ac_uD}
+${ac_uA}SELECT_TYPE_ARG234${ac_uB}SELECT_TYPE_ARG234${ac_uC}(fd_set *)${ac_uD}
+${ac_uA}SELECT_TYPE_ARG5${ac_uB}SELECT_TYPE_ARG5${ac_uC}(struct timeval *)${ac_uD}
+${ac_uA}RETSIGTYPE${ac_uB}RETSIGTYPE${ac_uC}void${ac_uD}
+${ac_uA}LSTAT_FOLLOWS_SLASHED_SYMLINK${ac_uB}LSTAT_FOLLOWS_SLASHED_SYMLINK${ac_uC}1${ac_uD}
+${ac_uA}HAVE_XML_PARSERCREATE${ac_uB}HAVE_XML_PARSERCREATE${ac_uC}1${ac_uD}
+${ac_uA}HAVE_EXPAT${ac_uB}HAVE_EXPAT${ac_uC}1${ac_uD}
+s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+CEOF
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X$ac_file : 'X\(//\)[^/]' \| \
+	 X$ac_file : 'X\(//\)$' \| \
+	 X$ac_file : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_dest" : 'X\(//\)[^/]' \| \
+	 X"$ac_dest" : 'X\(//\)$' \| \
+	 X"$ac_dest" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+  esac
+done
+
+{ (exit 0); exit 0; }

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/configure
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/configure	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/configure	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,7690 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59 for matchbox-keyboard 0.1.
+#
+# Report bugs to <mallum at handhelds.org>.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='matchbox-keyboard'
+PACKAGE_TARNAME='matchbox-keyboard'
+PACKAGE_VERSION='0.1'
+PACKAGE_STRING='matchbox-keyboard 0.1'
+PACKAGE_BUGREPORT='mallum at handhelds.org'
+
+ac_unique_file="src/matchbox-keyboard.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP ALLOCA LIBOBJS PKG_CONFIG ac_pt_PKG_CONFIG FAKEKEY_CFLAGS FAKEKEY_LIBS CAIRO_CFLAGS CAIRO_LIBS XFT_CFLAGS XFT_LIBS WANT_CAIRO_TRUE WANT_CAIRO_FALSE GTK2_CFLAGS GTK2_LIBS WANT_EXAMPLES_TRUE WANT_EXAMPLES_FALSE HAVE_XMLPARSE_H HAVE_EXPAT EXPAT_LIBS EXPAT_CFLAGS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+ac_env_PKG_CONFIG_set=${PKG_CONFIG+set}
+ac_env_PKG_CONFIG_value=$PKG_CONFIG
+ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set}
+ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG
+ac_env_FAKEKEY_CFLAGS_set=${FAKEKEY_CFLAGS+set}
+ac_env_FAKEKEY_CFLAGS_value=$FAKEKEY_CFLAGS
+ac_cv_env_FAKEKEY_CFLAGS_set=${FAKEKEY_CFLAGS+set}
+ac_cv_env_FAKEKEY_CFLAGS_value=$FAKEKEY_CFLAGS
+ac_env_FAKEKEY_LIBS_set=${FAKEKEY_LIBS+set}
+ac_env_FAKEKEY_LIBS_value=$FAKEKEY_LIBS
+ac_cv_env_FAKEKEY_LIBS_set=${FAKEKEY_LIBS+set}
+ac_cv_env_FAKEKEY_LIBS_value=$FAKEKEY_LIBS
+ac_env_CAIRO_CFLAGS_set=${CAIRO_CFLAGS+set}
+ac_env_CAIRO_CFLAGS_value=$CAIRO_CFLAGS
+ac_cv_env_CAIRO_CFLAGS_set=${CAIRO_CFLAGS+set}
+ac_cv_env_CAIRO_CFLAGS_value=$CAIRO_CFLAGS
+ac_env_CAIRO_LIBS_set=${CAIRO_LIBS+set}
+ac_env_CAIRO_LIBS_value=$CAIRO_LIBS
+ac_cv_env_CAIRO_LIBS_set=${CAIRO_LIBS+set}
+ac_cv_env_CAIRO_LIBS_value=$CAIRO_LIBS
+ac_env_XFT_CFLAGS_set=${XFT_CFLAGS+set}
+ac_env_XFT_CFLAGS_value=$XFT_CFLAGS
+ac_cv_env_XFT_CFLAGS_set=${XFT_CFLAGS+set}
+ac_cv_env_XFT_CFLAGS_value=$XFT_CFLAGS
+ac_env_XFT_LIBS_set=${XFT_LIBS+set}
+ac_env_XFT_LIBS_value=$XFT_LIBS
+ac_cv_env_XFT_LIBS_set=${XFT_LIBS+set}
+ac_cv_env_XFT_LIBS_value=$XFT_LIBS
+ac_env_GTK2_CFLAGS_set=${GTK2_CFLAGS+set}
+ac_env_GTK2_CFLAGS_value=$GTK2_CFLAGS
+ac_cv_env_GTK2_CFLAGS_set=${GTK2_CFLAGS+set}
+ac_cv_env_GTK2_CFLAGS_value=$GTK2_CFLAGS
+ac_env_GTK2_LIBS_set=${GTK2_LIBS+set}
+ac_env_GTK2_LIBS_value=$GTK2_LIBS
+ac_cv_env_GTK2_LIBS_set=${GTK2_LIBS+set}
+ac_cv_env_GTK2_LIBS_value=$GTK2_LIBS
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures matchbox-keyboard 0.1 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of matchbox-keyboard 0.1:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-cairo    enable experimental Cairo support default=no
+  --enable-examples  Build embedding examples ( requires GTK ) default=no
+  --enable-debug    enable debug ( verbose ) build
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-expat-includes=DIR     Use Expat includes in DIR
+  --with-expat-lib=DIR          Use Expat library in DIR
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+  PKG_CONFIG  path to pkg-config utility
+  FAKEKEY_CFLAGS
+              C compiler flags for FAKEKEY, overriding pkg-config
+  FAKEKEY_LIBS
+              linker flags for FAKEKEY, overriding pkg-config
+  CAIRO_CFLAGS
+              C compiler flags for CAIRO, overriding pkg-config
+  CAIRO_LIBS  linker flags for CAIRO, overriding pkg-config
+  XFT_CFLAGS  C compiler flags for XFT, overriding pkg-config
+  XFT_LIBS    linker flags for XFT, overriding pkg-config
+  GTK2_CFLAGS C compiler flags for GTK2, overriding pkg-config
+  GTK2_LIBS   linker flags for GTK2, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <mallum at handhelds.org>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+matchbox-keyboard configure 0.1
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by matchbox-keyboard $as_me 0.1, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.9"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL=$ac_install_sh
+  fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+all:
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+  SET_MAKE=
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='matchbox-keyboard'
+ VERSION='0.1'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+  enableval="$enable_maintainer_mode"
+  USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi;
+  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+          ac_config_headers="$ac_config_headers config.h"
+
+
+# Checks for programs.
+
+cat >>confdefs.h <<\_ACEOF
+#define _GNU_SOURCE 1
+_ACEOF
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
+
+  CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+	;;
+    conftest.$ac_ext )
+	# This is the source file.
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	# FIXME: I believe we export ac_cv_exeext for Libtool,
+	# but it would be cool to find out if it's true.  Does anybody
+	# maintain Libtool? --akim.
+	export ac_cv_exeext
+	break;;
+    * )
+	break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  export ac_cv_exeext
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX 10.20 and later	-Ae
+# HP-UX older versions	-Aa -D_HPUX_SOURCE
+# SVR4			-Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+          ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CC"   am_compiler_list=
+
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+  as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+if test "${ac_cv_search_opendir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_opendir=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="none required"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_opendir" = no; then
+  for ac_lib in dir; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6
+if test "$ac_cv_search_opendir" != no; then
+  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+
+fi
+
+else
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+if test "${ac_cv_search_opendir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_opendir=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="none required"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+if test "$ac_cv_search_opendir" = no; then
+  for ac_lib in x; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir ();
+int
+main ()
+{
+opendir ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_opendir="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+  done
+fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6
+if test "$ac_cv_search_opendir" != no; then
+  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+
+fi
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+if test "${ac_cv_c_const+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset x;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *ccp;
+  char **p;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  ccp = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++ccp;
+  p = (char**) ccp;
+  ccp = (char const *const *) p;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+  }
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_const=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_c_const=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+echo "${ECHO_T}$ac_cv_c_const" >&6
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define const
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+echo "$as_me:$LINENO: checking for pid_t" >&5
+echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+if test "${ac_cv_type_pid_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if ((pid_t *) 0)
+  return 0;
+if (sizeof (pid_t))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_pid_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_type_pid_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+if test $ac_cv_type_pid_t = yes; then
+  :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+if test "${ac_cv_header_time+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_time=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_time=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+echo "${ECHO_T}$ac_cv_header_time" >&6
+if test $ac_cv_header_time = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define TIME_WITH_SYS_TIME 1
+_ACEOF
+
+fi
+
+
+# Checks for library functions.
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+echo "$as_me:$LINENO: checking for working alloca.h" >&5
+echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
+if test "${ac_cv_working_alloca_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_working_alloca_h=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_working_alloca_h=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
+echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
+if test $ac_cv_working_alloca_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ALLOCA_H 1
+_ACEOF
+
+fi
+
+echo "$as_me:$LINENO: checking for alloca" >&5
+echo $ECHO_N "checking for alloca... $ECHO_C" >&6
+if test "${ac_cv_func_alloca_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  if HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else
+#   ifdef _AIX
+ #pragma alloca
+#   else
+#    ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_alloca_works=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_alloca_works=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
+echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
+
+if test $ac_cv_func_alloca_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ALLOCA 1
+_ACEOF
+
+else
+  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble.  Some versions do not even contain alloca or
+# contain a buggy version.  If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=alloca.$ac_objext
+
+cat >>confdefs.h <<\_ACEOF
+#define C_ALLOCA 1
+_ACEOF
+
+
+echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
+echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
+if test "${ac_cv_os_cray+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#if defined(CRAY) && ! defined(CRAY2)
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "webecray" >/dev/null 2>&1; then
+  ac_cv_os_cray=yes
+else
+  ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
+echo "${ECHO_T}$ac_cv_os_cray" >&6
+if test $ac_cv_os_cray = yes; then
+  for ac_func in _getb67 GETB67 getb67; do
+    as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+    break
+fi
+
+  done
+fi
+
+echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
+echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
+if test "${ac_cv_c_stack_direction+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_c_stack_direction=0
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+int
+find_stack_direction ()
+{
+  static char *addr = 0;
+  auto char dummy;
+  if (addr == 0)
+    {
+      addr = &dummy;
+      return find_stack_direction ();
+    }
+  else
+    return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+  exit (find_stack_direction () < 0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_stack_direction=1
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
+echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+echo "$as_me:$LINENO: checking whether closedir returns void" >&5
+echo $ECHO_N "checking whether closedir returns void... $ECHO_C" >&6
+if test "${ac_cv_func_closedir_void+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_closedir_void=yes
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header_dirent>
+#ifndef __cplusplus
+int closedir ();
+#endif
+
+int
+main ()
+{
+exit (closedir (opendir (".")) != 0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_closedir_void=no
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_closedir_void=yes
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5
+echo "${ECHO_T}$ac_cv_func_closedir_void" >&6
+if test $ac_cv_func_closedir_void = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CLOSEDIR_VOID 1
+_ACEOF
+
+fi
+
+
+
+for ac_header in unistd.h vfork.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to mallum at handhelds.org ##
+## ----------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_func in fork vfork
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+if test "x$ac_cv_func_fork" = xyes; then
+  echo "$as_me:$LINENO: checking for working fork" >&5
+echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+if test "${ac_cv_func_fork_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_fork_works=cross
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* By Ruediger Kuhlmann. */
+      #include <sys/types.h>
+      #if HAVE_UNISTD_H
+      # include <unistd.h>
+      #endif
+      /* Some systems only have a dummy stub for fork() */
+      int main ()
+      {
+	if (fork() < 0)
+	  exit (1);
+	exit (0);
+      }
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_fork_works=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_fork_works=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
+echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+
+else
+  ac_cv_func_fork_works=$ac_cv_func_fork
+fi
+if test "x$ac_cv_func_fork_works" = xcross; then
+  case $host in
+    *-*-amigaos* | *-*-msdosdjgpp*)
+      # Override, as these systems have only a dummy fork() stub
+      ac_cv_func_fork_works=no
+      ;;
+    *)
+      ac_cv_func_fork_works=yes
+      ;;
+  esac
+  { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
+echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
+fi
+ac_cv_func_vfork_works=$ac_cv_func_vfork
+if test "x$ac_cv_func_vfork" = xyes; then
+  echo "$as_me:$LINENO: checking for working vfork" >&5
+echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+if test "${ac_cv_func_vfork_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_vfork_works=cross
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Thanks to Paul Eggert for this test.  */
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#if HAVE_VFORK_H
+# include <vfork.h>
+#endif
+/* On some sparc systems, changes by the child to local and incoming
+   argument registers are propagated back to the parent.  The compiler
+   is told about this with #include <vfork.h>, but some compilers
+   (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a
+   static variable whose address is put into a register that is
+   clobbered by the vfork.  */
+static void
+#ifdef __cplusplus
+sparc_address_test (int arg)
+# else
+sparc_address_test (arg) int arg;
+#endif
+{
+  static pid_t child;
+  if (!child) {
+    child = vfork ();
+    if (child < 0) {
+      perror ("vfork");
+      _exit(2);
+    }
+    if (!child) {
+      arg = getpid();
+      write(-1, "", 0);
+      _exit (arg);
+    }
+  }
+}
+
+int
+main ()
+{
+  pid_t parent = getpid ();
+  pid_t child;
+
+  sparc_address_test (0);
+
+  child = vfork ();
+
+  if (child == 0) {
+    /* Here is another test for sparc vfork register problems.  This
+       test uses lots of local variables, at least as many local
+       variables as main has allocated so far including compiler
+       temporaries.  4 locals are enough for gcc 1.40.3 on a Solaris
+       4.1.3 sparc, but we use 8 to be safe.  A buggy compiler should
+       reuse the register of parent for one of the local variables,
+       since it will think that parent can't possibly be used any more
+       in this routine.  Assigning to the local variable will thus
+       munge parent in the parent process.  */
+    pid_t
+      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
+      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
+    /* Convince the compiler that p..p7 are live; otherwise, it might
+       use the same hardware register for all 8 local variables.  */
+    if (p != p1 || p != p2 || p != p3 || p != p4
+	|| p != p5 || p != p6 || p != p7)
+      _exit(1);
+
+    /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
+       from child file descriptors.  If the child closes a descriptor
+       before it execs or exits, this munges the parent's descriptor
+       as well.  Test for this by closing stdout in the child.  */
+    _exit(close(fileno(stdout)) != 0);
+  } else {
+    int status;
+    struct stat st;
+
+    while (wait(&status) != child)
+      ;
+    exit(
+	 /* Was there some problem with vforking?  */
+	 child < 0
+
+	 /* Did the child fail?  (This shouldn't happen.)  */
+	 || status
+
+	 /* Did the vfork/compiler bug occur?  */
+	 || parent != getpid()
+
+	 /* Did the file descriptor bug occur?  */
+	 || fstat(fileno(stdout), &st) != 0
+	 );
+  }
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_vfork_works=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_vfork_works=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
+echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
+
+fi;
+if test "x$ac_cv_func_fork_works" = xcross; then
+  ac_cv_func_vfork_works=$ac_cv_func_vfork
+  { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
+echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
+fi
+
+if test "x$ac_cv_func_vfork_works" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WORKING_VFORK 1
+_ACEOF
+
+else
+
+cat >>confdefs.h <<\_ACEOF
+#define vfork fork
+_ACEOF
+
+fi
+if test "x$ac_cv_func_fork_works" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WORKING_FORK 1
+_ACEOF
+
+fi
+
+
+
+for ac_header in sys/select.h sys/socket.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to mallum at handhelds.org ##
+## ----------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+echo "$as_me:$LINENO: checking types of arguments for select" >&5
+echo $ECHO_N "checking types of arguments for select... $ECHO_C" >&6
+if test "${ac_cv_func_select_args+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  for ac_arg234 in 'fd_set *' 'int *' 'void *'; do
+ for ac_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do
+  for ac_arg5 in 'struct timeval *' 'const struct timeval *'; do
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#if HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+#if HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
+
+int
+main ()
+{
+extern int select ($ac_arg1,
+					    $ac_arg234, $ac_arg234, $ac_arg234,
+					    $ac_arg5);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_select_args="$ac_arg1,$ac_arg234,$ac_arg5"; break 3
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+ done
+done
+# Provide a safe default value.
+: ${ac_cv_func_select_args='int,int *,struct timeval *'}
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_select_args" >&5
+echo "${ECHO_T}$ac_cv_func_select_args" >&6
+ac_save_IFS=$IFS; IFS=','
+set dummy `echo "$ac_cv_func_select_args" | sed 's/\*/\*/g'`
+IFS=$ac_save_IFS
+shift
+
+cat >>confdefs.h <<_ACEOF
+#define SELECT_TYPE_ARG1 $1
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define SELECT_TYPE_ARG234 ($2)
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define SELECT_TYPE_ARG5 ($3)
+_ACEOF
+
+rm -f conftest*
+
+echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+if test "${ac_cv_type_signal+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+# undef signal
+#endif
+#ifdef __cplusplus
+extern "C" void (*signal (int, void (*)(int)))(int);
+#else
+void (*signal ()) ();
+#endif
+
+int
+main ()
+{
+int i;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_type_signal=void
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_type_signal=int
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+echo "${ECHO_T}$ac_cv_type_signal" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
+echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6
+if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  rm -f conftest.sym conftest.file
+echo >conftest.file
+if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_lstat_dereferences_slashed_symlink=no
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+struct stat sbuf;
+     /* Linux will dereference the symlink and fail.
+	That is better in the sense that it means we will not
+	have to compile and use the lstat wrapper.  */
+     exit (lstat ("conftest.sym/", &sbuf) ? 0 : 1);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_lstat_dereferences_slashed_symlink=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_lstat_dereferences_slashed_symlink=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+else
+  # If the `ln -s' command failed, then we probably don't even
+  # have an lstat function.
+  ac_cv_func_lstat_dereferences_slashed_symlink=no
+fi
+rm -f conftest.sym conftest.file
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
+echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6
+
+test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
+
+cat >>confdefs.h <<_ACEOF
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+_ACEOF
+
+
+if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
+  case $LIBOBJS in
+    "lstat.$ac_objext"   | \
+  *" lstat.$ac_objext"   | \
+    "lstat.$ac_objext "* | \
+  *" lstat.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS lstat.$ac_objext" ;;
+esac
+
+fi
+
+echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5
+echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6
+if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_func_stat_empty_string_bug=yes
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+struct stat sbuf;
+  exit (stat ("", &sbuf) ? 1 : 0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_stat_empty_string_bug=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_stat_empty_string_bug=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5
+echo "${ECHO_T}$ac_cv_func_stat_empty_string_bug" >&6
+if test $ac_cv_func_stat_empty_string_bug = yes; then
+  case $LIBOBJS in
+    "stat.$ac_objext"   | \
+  *" stat.$ac_objext"   | \
+    "stat.$ac_objext "* | \
+  *" stat.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS stat.$ac_objext" ;;
+esac
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STAT_EMPTY_STRING_BUG 1
+_ACEOF
+
+fi
+
+
+# Check whether --enable-cairo or --disable-cairo was given.
+if test "${enable_cairo+set}" = set; then
+  enableval="$enable_cairo"
+  enable_cairo=$enableval
+else
+  enable_cairo=no
+fi;
+
+# Check whether --enable-examples or --disable-examples was given.
+if test "${enable_examples+set}" = set; then
+  enableval="$enable_examples"
+  enable_examples=$enableval
+else
+  enable_examples=no
+fi;
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  enable_debug=$enableval
+else
+  enable_debug=no
+fi;
+
+
+# Check whether --with-expat-includes or --without-expat-includes was given.
+if test "${with_expat_includes+set}" = set; then
+  withval="$with_expat_includes"
+  expat_includes=$withval
+else
+  expat_includes=yes
+fi;
+
+
+# Check whether --with-expat-lib or --without-expat-lib was given.
+if test "${with_expat_lib+set}" = set; then
+  withval="$with_expat_lib"
+  expat_lib=$withval
+else
+  expat_lib=yes
+fi;
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+if test -n "$PKG_CONFIG"; then
+  echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+if test -n "$ac_pt_PKG_CONFIG"; then
+  echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  PKG_CONFIG=$ac_pt_PKG_CONFIG
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	else
+		echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+		PKG_CONFIG=""
+	fi
+
+fi
+
+pkg_failed=no
+echo "$as_me:$LINENO: checking for FAKEKEY" >&5
+echo $ECHO_N "checking for FAKEKEY... $ECHO_C" >&6
+
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libfakekey\"") >&5
+  ($PKG_CONFIG --exists --print-errors "libfakekey") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_FAKEKEY_CFLAGS=`$PKG_CONFIG --cflags "libfakekey" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libfakekey\"") >&5
+  ($PKG_CONFIG --exists --print-errors "libfakekey") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_FAKEKEY_LIBS=`$PKG_CONFIG --libs "libfakekey" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+
+if test $pkg_failed = yes; then
+	FAKEKEY_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libfakekey"`
+	# Put the nasty error message in config.log where it belongs
+	echo "$FAKEKEY_PKG_ERRORS" 1>&5
+
+	{ { echo "$as_me:$LINENO: error: *** You need to install libfakekey from MB SVN  ***" >&5
+echo "$as_me: error: *** You need to install libfakekey from MB SVN  ***" >&2;}
+   { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+	{ { echo "$as_me:$LINENO: error: *** You need to install libfakekey from MB SVN  ***" >&5
+echo "$as_me: error: *** You need to install libfakekey from MB SVN  ***" >&2;}
+   { (exit 1); exit 1; }; }
+else
+	FAKEKEY_CFLAGS=$pkg_cv_FAKEKEY_CFLAGS
+	FAKEKEY_LIBS=$pkg_cv_FAKEKEY_LIBS
+        echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	:
+fi
+
+if test x$enable_cairo = xyes; then
+
+pkg_failed=no
+echo "$as_me:$LINENO: checking for CAIRO" >&5
+echo $ECHO_N "checking for CAIRO... $ECHO_C" >&6
+
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo\"") >&5
+  ($PKG_CONFIG --exists --print-errors "cairo") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo\"") >&5
+  ($PKG_CONFIG --exists --print-errors "cairo") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+
+if test $pkg_failed = yes; then
+	CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo"`
+	# Put the nasty error message in config.log where it belongs
+	echo "$CAIRO_PKG_ERRORS" 1>&5
+
+	enable_cairo="no"
+elif test $pkg_failed = untried; then
+	enable_cairo="no"
+else
+	CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS
+	CAIRO_LIBS=$pkg_cv_CAIRO_LIBS
+        echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	:
+fi
+fi
+
+if test x$enable_cairo = xno; then
+
+pkg_failed=no
+echo "$as_me:$LINENO: checking for XFT" >&5
+echo $ECHO_N "checking for XFT... $ECHO_C" >&6
+
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xft\"") >&5
+  ($PKG_CONFIG --exists --print-errors "xft") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_XFT_CFLAGS=`$PKG_CONFIG --cflags "xft" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xft\"") >&5
+  ($PKG_CONFIG --exists --print-errors "xft") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_XFT_LIBS=`$PKG_CONFIG --libs "xft" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+
+if test $pkg_failed = yes; then
+	XFT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xft"`
+	# Put the nasty error message in config.log where it belongs
+	echo "$XFT_PKG_ERRORS" 1>&5
+
+	{ { echo "$as_me:$LINENO: error: *** Required xft Librarys not found ***" >&5
+echo "$as_me: error: *** Required xft Librarys not found ***" >&2;}
+   { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+	{ { echo "$as_me:$LINENO: error: *** Required xft Librarys not found ***" >&5
+echo "$as_me: error: *** Required xft Librarys not found ***" >&2;}
+   { (exit 1); exit 1; }; }
+else
+	XFT_CFLAGS=$pkg_cv_XFT_CFLAGS
+	XFT_LIBS=$pkg_cv_XFT_LIBS
+        echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	:
+fi
+fi
+
+
+
+if test x$enable_cairo = xyes; then
+  WANT_CAIRO_TRUE=
+  WANT_CAIRO_FALSE='#'
+else
+  WANT_CAIRO_TRUE='#'
+  WANT_CAIRO_FALSE=
+fi
+
+
+if test x$enable_cairo = xyes; then
+
+cat >>confdefs.h <<_ACEOF
+#define WANT_CAIRO 1
+_ACEOF
+
+fi
+
+if test x$enable_examples = xyes; then
+
+pkg_failed=no
+echo "$as_me:$LINENO: checking for GTK2" >&5
+echo $ECHO_N "checking for GTK2... $ECHO_C" >&6
+
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+else
+	pkg_failed=untried
+fi
+
+if test $pkg_failed = yes; then
+	GTK2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0"`
+	# Put the nasty error message in config.log where it belongs
+	echo "$GTK2_PKG_ERRORS" 1>&5
+
+	enable_examples="no"
+elif test $pkg_failed = untried; then
+	enable_examples="no"
+else
+	GTK2_CFLAGS=$pkg_cv_GTK2_CFLAGS
+	GTK2_LIBS=$pkg_cv_GTK2_LIBS
+        echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	:
+fi
+fi
+
+
+
+if test x$enable_examples = xyes; then
+  WANT_EXAMPLES_TRUE=
+  WANT_EXAMPLES_FALSE='#'
+else
+  WANT_EXAMPLES_TRUE='#'
+  WANT_EXAMPLES_FALSE=
+fi
+
+
+
+  case "$expat_includes" in
+    yes|no)
+	EXPAT_CFLAGS=""
+	;;
+    *)
+	EXPAT_CFLAGS="-I$expat_includes"
+	;;
+  esac
+
+  case "$expat_lib" in
+    yes)
+
+	case "$expat" in
+	  yes)
+		EXPAT_LIBS="-lexpat"
+		;;
+	    *)
+		EXPAT_LIBS="-L$expat/lib -lexpat"
+		;;
+	esac
+
+	;;
+   no)
+	;;
+   *)
+	EXPAT_LIBS="-L$expat_lib -lexpat"
+	;;
+   esac
+
+   expatsaved_CPPFLAGS="$CPPFLAGS"
+   CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
+   expatsaved_LIBS="$LIBS"
+   LIBS="$LIBS $EXPAT_LIBS"
+
+   if test "${ac_cv_header_expat_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for expat.h" >&5
+echo $ECHO_N "checking for expat.h... $ECHO_C" >&6
+if test "${ac_cv_header_expat_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5
+echo "${ECHO_T}$ac_cv_header_expat_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking expat.h usability" >&5
+echo $ECHO_N "checking expat.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <expat.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking expat.h presence" >&5
+echo $ECHO_N "checking expat.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <expat.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: expat.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: expat.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: expat.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: expat.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: expat.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: expat.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: expat.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: expat.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: expat.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: expat.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: expat.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: expat.h: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to mallum at handhelds.org ##
+## ----------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for expat.h" >&5
+echo $ECHO_N "checking for expat.h... $ECHO_C" >&6
+if test "${ac_cv_header_expat_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_expat_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5
+echo "${ECHO_T}$ac_cv_header_expat_h" >&6
+
+fi
+
+
+   case "$ac_cv_header_expat_h" in
+     no)
+	 if test "${ac_cv_header_xmlparse_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for xmlparse.h" >&5
+echo $ECHO_N "checking for xmlparse.h... $ECHO_C" >&6
+if test "${ac_cv_header_xmlparse_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_xmlparse_h" >&5
+echo "${ECHO_T}$ac_cv_header_xmlparse_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking xmlparse.h usability" >&5
+echo $ECHO_N "checking xmlparse.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <xmlparse.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking xmlparse.h presence" >&5
+echo $ECHO_N "checking xmlparse.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <xmlparse.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: xmlparse.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: xmlparse.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: xmlparse.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: xmlparse.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: xmlparse.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: xmlparse.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: xmlparse.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: xmlparse.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: xmlparse.h: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ----------------------------------- ##
+## Report this to mallum at handhelds.org ##
+## ----------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for xmlparse.h" >&5
+echo $ECHO_N "checking for xmlparse.h... $ECHO_C" >&6
+if test "${ac_cv_header_xmlparse_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_xmlparse_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_xmlparse_h" >&5
+echo "${ECHO_T}$ac_cv_header_xmlparse_h" >&6
+
+fi
+
+
+
+	 case "$ac_cv_header_xmlparse_h" in
+	   no)
+		have_expat_header=no;
+		;;
+	   yes)
+		HAVE_XMLPARSE_H=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_XMLPARSE_H $HAVE_XMLPARSE_H
+_ACEOF
+
+		have_expat_header=yes
+	        ;;
+	 esac
+	 ;;
+     yes)
+	 have_expat_header=yes
+	;;
+   esac
+
+   case "$have_expat_header" in
+     no)
+	expat=no
+	;;
+     yes)
+
+for ac_func in XML_ParserCreate
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+	case "$ac_cv_func_XML_ParserCreate" in
+          no)
+	  	expat=no
+		;;
+	  yes)
+		HAVE_EXPAT=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_EXPAT $HAVE_EXPAT
+_ACEOF
+
+		;;
+	esac
+	;;
+   esac
+
+   CPPFLAGS="$saved_CPPFLAGS"
+   LIBS="$saved_LIBS"
+
+   if test x$expat = xno; then
+      { { echo "$as_me:$LINENO: error: cannot find expat library" >&5
+echo "$as_me: error: cannot find expat library" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+
+
+if test x$enable_debug = xyes; then
+
+cat >>confdefs.h <<_ACEOF
+#define WANT_DEBUG 1
+_ACEOF
+
+fi
+
+
+
+if test "x$GCC" = "xyes"; then
+        GCC_WARNINGS="-g -Wall -fno-strict-aliasing"
+        FAKEKEY_CFLAGS="$GCC_WARNINGS $FAKEKEY_CFLAGS"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+                                        ac_config_files="$ac_config_files Makefile src/Makefile layouts/Makefile examples/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${WANT_CAIRO_TRUE}" && test -z "${WANT_CAIRO_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"WANT_CAIRO\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"WANT_CAIRO\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${WANT_EXAMPLES_TRUE}" && test -z "${WANT_EXAMPLES_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"WANT_EXAMPLES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"WANT_EXAMPLES\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by matchbox-keyboard $as_me 0.1, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+		   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf at gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+matchbox-keyboard config.status 0.1
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "layouts/Makefile" ) CONFIG_FILES="$CONFIG_FILES layouts/Makefile" ;;
+  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s, at SHELL@,$SHELL,;t t
+s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s, at exec_prefix@,$exec_prefix,;t t
+s, at prefix@,$prefix,;t t
+s, at program_transform_name@,$program_transform_name,;t t
+s, at bindir@,$bindir,;t t
+s, at sbindir@,$sbindir,;t t
+s, at libexecdir@,$libexecdir,;t t
+s, at datadir@,$datadir,;t t
+s, at sysconfdir@,$sysconfdir,;t t
+s, at sharedstatedir@,$sharedstatedir,;t t
+s, at localstatedir@,$localstatedir,;t t
+s, at libdir@,$libdir,;t t
+s, at includedir@,$includedir,;t t
+s, at oldincludedir@,$oldincludedir,;t t
+s, at infodir@,$infodir,;t t
+s, at mandir@,$mandir,;t t
+s, at build_alias@,$build_alias,;t t
+s, at host_alias@,$host_alias,;t t
+s, at target_alias@,$target_alias,;t t
+s, at DEFS@,$DEFS,;t t
+s, at ECHO_C@,$ECHO_C,;t t
+s, at ECHO_N@,$ECHO_N,;t t
+s, at ECHO_T@,$ECHO_T,;t t
+s, at LIBS@,$LIBS,;t t
+s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+s, at CYGPATH_W@,$CYGPATH_W,;t t
+s, at PACKAGE@,$PACKAGE,;t t
+s, at VERSION@,$VERSION,;t t
+s, at ACLOCAL@,$ACLOCAL,;t t
+s, at AUTOCONF@,$AUTOCONF,;t t
+s, at AUTOMAKE@,$AUTOMAKE,;t t
+s, at AUTOHEADER@,$AUTOHEADER,;t t
+s, at MAKEINFO@,$MAKEINFO,;t t
+s, at install_sh@,$install_sh,;t t
+s, at STRIP@,$STRIP,;t t
+s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s, at mkdir_p@,$mkdir_p,;t t
+s, at AWK@,$AWK,;t t
+s, at SET_MAKE@,$SET_MAKE,;t t
+s, at am__leading_dot@,$am__leading_dot,;t t
+s, at AMTAR@,$AMTAR,;t t
+s, at am__tar@,$am__tar,;t t
+s, at am__untar@,$am__untar,;t t
+s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s, at MAINT@,$MAINT,;t t
+s, at CC@,$CC,;t t
+s, at CFLAGS@,$CFLAGS,;t t
+s, at LDFLAGS@,$LDFLAGS,;t t
+s, at CPPFLAGS@,$CPPFLAGS,;t t
+s, at ac_ct_CC@,$ac_ct_CC,;t t
+s, at EXEEXT@,$EXEEXT,;t t
+s, at OBJEXT@,$OBJEXT,;t t
+s, at DEPDIR@,$DEPDIR,;t t
+s, at am__include@,$am__include,;t t
+s, at am__quote@,$am__quote,;t t
+s, at AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s, at AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s, at AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s, at CCDEPMODE@,$CCDEPMODE,;t t
+s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s, at CPP@,$CPP,;t t
+s, at EGREP@,$EGREP,;t t
+s, at ALLOCA@,$ALLOCA,;t t
+s, at LIBOBJS@,$LIBOBJS,;t t
+s, at PKG_CONFIG@,$PKG_CONFIG,;t t
+s, at ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
+s, at FAKEKEY_CFLAGS@,$FAKEKEY_CFLAGS,;t t
+s, at FAKEKEY_LIBS@,$FAKEKEY_LIBS,;t t
+s, at CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t
+s, at CAIRO_LIBS@,$CAIRO_LIBS,;t t
+s, at XFT_CFLAGS@,$XFT_CFLAGS,;t t
+s, at XFT_LIBS@,$XFT_LIBS,;t t
+s, at WANT_CAIRO_TRUE@,$WANT_CAIRO_TRUE,;t t
+s, at WANT_CAIRO_FALSE@,$WANT_CAIRO_FALSE,;t t
+s, at GTK2_CFLAGS@,$GTK2_CFLAGS,;t t
+s, at GTK2_LIBS@,$GTK2_LIBS,;t t
+s, at WANT_EXAMPLES_TRUE@,$WANT_EXAMPLES_TRUE,;t t
+s, at WANT_EXAMPLES_FALSE@,$WANT_EXAMPLES_FALSE,;t t
+s, at HAVE_XMLPARSE_H@,$HAVE_XMLPARSE_H,;t t
+s, at HAVE_EXPAT@,$HAVE_EXPAT,;t t
+s, at EXPAT_LIBS@,$EXPAT_LIBS,;t t
+s, at EXPAT_CFLAGS@,$EXPAT_CFLAGS,;t t
+s, at LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  esac
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s, at configure_input@,$configure_input,;t t
+s, at srcdir@,$ac_srcdir,;t t
+s, at abs_srcdir@,$ac_abs_srcdir,;t t
+s, at top_srcdir@,$ac_top_srcdir,;t t
+s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s, at builddir@,$ac_builddir,;t t
+s, at abs_builddir@,$ac_abs_builddir,;t t
+s, at top_builddir@,$ac_top_builddir,;t t
+s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+s, at INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
+ac_dB='[	 ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 # Do quote $f, to prevent DOS paths from being IFS'd.
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h.  The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status.  Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless.  Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo '  :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+  # Write a limited-size here document to $tmp/defines.sed.
+  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#define' lines.
+  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo '  fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+  # Write a limited-size here document to $tmp/undefs.sed.
+  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#undef'
+  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+  rm -f conftest.undefs
+  mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X$ac_file : 'X\(//\)[^/]' \| \
+	 X$ac_file : 'X\(//\)$' \| \
+	 X$ac_file : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_dest" : 'X\(//\)[^/]' \| \
+	 X"$ac_dest" : 'X\(//\)$' \| \
+	 X"$ac_dest" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+  esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
+echo "
+                    Matchbox-keyboard $VERSION
+                  =========================
+
+            prefix:                       ${prefix}
+            source code location:         ${srcdir}
+            compiler:                     ${CC}
+
+            Building with Debug:          ${enable_debug}
+            Building with Cairo:          ${enable_cairo}
+            Building Examples:            ${enable_examples}
+"

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/configure.ac
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/configure.ac	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/configure.ac	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,207 @@
+AC_PREREQ(2.53)
+AC_INIT([matchbox-keyboard], 0.1, [mallum at handhelds.org])
+AC_CONFIG_SRCDIR([src/matchbox-keyboard.c])
+
+AM_INIT_AUTOMAKE()
+AM_MAINTAINER_MODE
+AM_CONFIG_HEADER(config.h)
+
+# Checks for programs.
+AC_GNU_SOURCE
+AC_PROG_CC
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_PID_T
+AC_HEADER_TIME
+
+# Checks for library functions.
+AC_FUNC_ALLOCA
+AC_FUNC_CLOSEDIR_VOID
+AC_FUNC_FORK
+AC_FUNC_SELECT_ARGTYPES
+AC_TYPE_SIGNAL
+AC_FUNC_STAT
+
+AC_ARG_ENABLE(cairo,
+  [  --enable-cairo    enable experimental Cairo support [default=no]],
+   		enable_cairo=$enableval, 
+		enable_cairo=no)	    
+
+AC_ARG_ENABLE(examples,
+  [  --enable-examples  Build embedding examples ( requires GTK ) [default=no]],
+   		enable_examples=$enableval, 
+		enable_examples=no)
+ 
+AC_ARG_ENABLE(debug,
+  [  --enable-debug    enable debug ( verbose ) build],
+     enable_debug=$enableval, enable_debug=no )
+
+AC_ARG_WITH(expat-includes,    
+  [  --with-expat-includes=DIR     Use Expat includes in DIR], 
+	   expat_includes=$withval, expat_includes=yes)
+
+AC_ARG_WITH(expat-lib,         
+  [  --with-expat-lib=DIR          Use Expat library in DIR], 
+	   expat_lib=$withval, expat_lib=yes)
+
+PKG_CHECK_MODULES(FAKEKEY, libfakekey,,
+	         AC_MSG_ERROR([*** You need to install libfakekey from MB SVN  ***]))
+
+if test x$enable_cairo = xyes; then
+   PKG_CHECK_MODULES(CAIRO, cairo,, [enable_cairo="no"])
+fi
+
+if test x$enable_cairo = xno; then
+PKG_CHECK_MODULES(XFT, xft,,
+	         AC_MSG_ERROR([*** Required xft Librarys not found ***]))
+fi
+
+AM_CONDITIONAL(WANT_CAIRO, test x$enable_cairo = xyes)
+
+if test x$enable_cairo = xyes; then
+   AC_DEFINE_UNQUOTED(WANT_CAIRO, 1, [Use Cairo to paint libs])
+fi
+
+if test x$enable_examples = xyes; then
+   PKG_CHECK_MODULES(GTK2, gtk+-2.0,, [enable_examples="no"])
+fi
+
+AM_CONDITIONAL(WANT_EXAMPLES, test x$enable_examples = xyes)
+
+dnl ------ Expat ------------------------------------------------------------
+
+  case "$expat_includes" in
+    yes|no)
+	EXPAT_CFLAGS=""
+	;;
+    *)
+	EXPAT_CFLAGS="-I$expat_includes"
+	;;
+  esac
+	
+  case "$expat_lib" in
+    yes)
+
+	case "$expat" in
+	  yes)
+		EXPAT_LIBS="-lexpat"
+		;;
+	    *)
+		EXPAT_LIBS="-L$expat/lib -lexpat"
+		;;
+	esac
+
+	;;
+   no)
+	;;
+   *)
+	EXPAT_LIBS="-L$expat_lib -lexpat"
+	;;
+   esac
+
+   expatsaved_CPPFLAGS="$CPPFLAGS"
+   CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
+   expatsaved_LIBS="$LIBS"
+   LIBS="$LIBS $EXPAT_LIBS"
+
+   AC_CHECK_HEADER(expat.h)
+   case "$ac_cv_header_expat_h" in
+     no)
+	 AC_CHECK_HEADER(xmlparse.h)
+
+	 case "$ac_cv_header_xmlparse_h" in
+	   no)
+		have_expat_header=no;
+		;;
+	   yes)
+		HAVE_XMLPARSE_H=1
+		AC_SUBST(HAVE_XMLPARSE_H)
+		AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H,
+				       [Use xmlparse.h instead of expat.h])
+		have_expat_header=yes
+	        ;;
+	 esac
+	 ;;
+     yes)
+	 have_expat_header=yes
+	;;
+   esac
+	
+   case "$have_expat_header" in
+     no)
+	expat=no
+	;;
+     yes)
+	AC_CHECK_FUNCS(XML_ParserCreate)
+
+	case "$ac_cv_func_XML_ParserCreate" in
+          no)
+	  	expat=no
+		;;
+	  yes)
+		HAVE_EXPAT=1
+		AC_SUBST(HAVE_EXPAT)
+		AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT,
+		[Found a useable expat library])
+		;;
+	esac
+	;;
+   esac
+	
+   CPPFLAGS="$saved_CPPFLAGS"
+   LIBS="$saved_LIBS"
+
+   if test x$expat = xno; then
+      AC_MSG_ERROR([cannot find expat library])
+   fi
+
+
+dnl ------ Debug Build ------------------------------------------------------
+
+if test x$enable_debug = xyes; then
+   AC_DEFINE_UNQUOTED(WANT_DEBUG, 1, [Make a debug (Verbose) Build])
+fi
+
+
+dnl ------ GCC flags --------------------------------------------------------
+
+if test "x$GCC" = "xyes"; then
+        GCC_WARNINGS="-g -Wall -fno-strict-aliasing"
+        FAKEKEY_CFLAGS="$GCC_WARNINGS $FAKEKEY_CFLAGS"
+fi
+
+
+dnl ------ Substitute in found libs, clags to Makefiles etc -----------------
+
+AC_SUBST(FAKEKEY_CFLAGS)
+AC_SUBST(FAKEKEY_LIBS)
+
+AC_SUBST(XFT_CFLAGS)
+AC_SUBST(XFT_LIBS)
+
+AC_SUBST(EXPAT_LIBS)
+AC_SUBST(EXPAT_CFLAGS)
+
+AC_OUTPUT([
+Makefile
+src/Makefile  
+layouts/Makefile
+examples/Makefile
+])
+
+dnl ==========================================================================
+echo "
+                    Matchbox-keyboard $VERSION
+                  =========================
+
+            prefix:                       ${prefix}
+            source code location:         ${srcdir}
+            compiler:                     ${CC} 
+
+            Building with Debug:          ${enable_debug}
+            Building with Cairo:          ${enable_cairo}
+            Building Examples:            ${enable_examples}
+"
\ No newline at end of file

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/depcomp
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/depcomp	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/depcomp	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,526 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2004-04-25.13
+
+# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+
+# 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, 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.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake at gnu.org>.
+EOF
+    exit 0
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit 0
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+# `libtool' can also be set to `yes' or `no'.
+
+if test -z "$depfile"; then
+   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
+   dir=`echo "$object" | sed 's,/.*$,/,'`
+   if test "$dir" = "$object"; then
+      dir=
+   fi
+   # FIXME: should be _deps on DOS.
+   depfile="$dir.deps/$base"
+fi
+
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # Dependencies are output in .lo.d with libtool 1.4.
+      # They are output in .o.d with libtool 1.5.
+      tmpdepfile1="$dir.libs/$base.lo.d"
+      tmpdepfile2="$dir.libs/$base.o.d"
+      tmpdepfile3="$dir.libs/$base.d"
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1="$dir$base.o.d"
+      tmpdepfile2="$dir$base.d"
+      tmpdepfile3="$dir$base.d"
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+      exit $stat
+   fi
+
+   if test -f "$tmpdepfile1"; then
+      tmpdepfile="$tmpdepfile1"
+   elif test -f "$tmpdepfile2"; then
+      tmpdepfile="$tmpdepfile2"
+   else
+      tmpdepfile="$tmpdepfile3"
+   fi
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/examples/.deps/matchbox-keyboard-gtk-embed.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/examples/.deps/matchbox-keyboard-gtk-embed.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/examples/.deps/matchbox-keyboard-gtk-embed.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1 @@
+# dummy

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,393 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# examples/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+
+
+SOURCES = $(matchbox_keyboard_gtk_embed_SOURCES)
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/matchbox-keyboard
+pkglibdir = $(libdir)/matchbox-keyboard
+pkgincludedir = $(includedir)/matchbox-keyboard
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+noinst_PROGRAMS = matchbox-keyboard-gtk-embed$(EXEEXT)
+subdir = examples
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_matchbox_keyboard_gtk_embed_OBJECTS =  \
+	matchbox-keyboard-gtk-embed.$(OBJEXT)
+matchbox_keyboard_gtk_embed_OBJECTS =  \
+	$(am_matchbox_keyboard_gtk_embed_OBJECTS)
+am__DEPENDENCIES_1 =
+matchbox_keyboard_gtk_embed_DEPENDENCIES = $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(matchbox_keyboard_gtk_embed_SOURCES)
+DIST_SOURCES = $(matchbox_keyboard_gtk_embed_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run aclocal-1.9
+ALLOCA = 
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run tar
+AUTOCONF = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run automake-1.9
+AWK = mawk
+CAIRO_CFLAGS = 
+CAIRO_LIBS = 
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+EXPAT_CFLAGS = 
+EXPAT_LIBS = -L/lib -lexpat
+FAKEKEY_CFLAGS = -g -Wall -fno-strict-aliasing  
+FAKEKEY_LIBS = -L/usr/X11R6/lib -lX11 -lXtst -lfakekey  
+GTK2_CFLAGS = 
+GTK2_LIBS = 
+HAVE_EXPAT = 1
+HAVE_XMLPARSE_H = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run makeinfo
+OBJEXT = o
+PACKAGE = matchbox-keyboard
+PACKAGE_BUGREPORT = mallum at handhelds.org
+PACKAGE_NAME = matchbox-keyboard
+PACKAGE_STRING = matchbox-keyboard 0.1
+PACKAGE_TARNAME = matchbox-keyboard
+PACKAGE_VERSION = 0.1
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 0.1
+WANT_CAIRO_FALSE = 
+WANT_CAIRO_TRUE = #
+WANT_EXAMPLES_FALSE = 
+WANT_EXAMPLES_TRUE = #
+XFT_CFLAGS = -I/usr/include/freetype2 -I/usr/X11R6/include  
+XFT_LIBS = -L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  
+ac_ct_CC = gcc
+ac_ct_STRIP = 
+ac_pt_PKG_CONFIG = /usr/bin/pkg-config
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = 
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/mbox/matchbox-keyboard-0.1/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+PREFIXDIR = $(prefix)
+INCLUDES = -DAPPDIR=\"$(top_builddir)/src\" $(GTK2_CFLAGS)
+matchbox_keyboard_gtk_embed_SOURCES = matchbox-keyboard-gtk-embed.c
+matchbox_keyboard_gtk_embed_LDADD = $(GTK2_LIBS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  examples/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+matchbox-keyboard-gtk-embed$(EXEEXT): $(matchbox_keyboard_gtk_embed_OBJECTS) $(matchbox_keyboard_gtk_embed_DEPENDENCIES) 
+	@rm -f matchbox-keyboard-gtk-embed$(EXEEXT)
+	$(LINK) $(matchbox_keyboard_gtk_embed_LDFLAGS) $(matchbox_keyboard_gtk_embed_OBJECTS) $(matchbox_keyboard_gtk_embed_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/matchbox-keyboard-gtk-embed.Po
+
+.c.o:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-noinstPROGRAMS ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.am	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.am	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,8 @@
+PREFIXDIR  = $(prefix)
+
+INCLUDES = -DAPPDIR=\"$(top_builddir)/src\" $(GTK2_CFLAGS)
+
+noinst_PROGRAMS = matchbox-keyboard-gtk-embed
+
+matchbox_keyboard_gtk_embed_SOURCES=matchbox-keyboard-gtk-embed.c
+matchbox_keyboard_gtk_embed_LDADD=$(GTK2_LIBS)
\ No newline at end of file

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.in
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.in	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/examples/Makefile.in	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,393 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+ at SET_MAKE@
+
+SOURCES = $(matchbox_keyboard_gtk_embed_SOURCES)
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+noinst_PROGRAMS = matchbox-keyboard-gtk-embed$(EXEEXT)
+subdir = examples
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_matchbox_keyboard_gtk_embed_OBJECTS =  \
+	matchbox-keyboard-gtk-embed.$(OBJEXT)
+matchbox_keyboard_gtk_embed_OBJECTS =  \
+	$(am_matchbox_keyboard_gtk_embed_OBJECTS)
+am__DEPENDENCIES_1 =
+matchbox_keyboard_gtk_embed_DEPENDENCIES = $(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(matchbox_keyboard_gtk_embed_SOURCES)
+DIST_SOURCES = $(matchbox_keyboard_gtk_embed_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FAKEKEY_CFLAGS = @FAKEKEY_CFLAGS@
+FAKEKEY_LIBS = @FAKEKEY_LIBS@
+GTK2_CFLAGS = @GTK2_CFLAGS@
+GTK2_LIBS = @GTK2_LIBS@
+HAVE_EXPAT = @HAVE_EXPAT@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WANT_CAIRO_FALSE = @WANT_CAIRO_FALSE@
+WANT_CAIRO_TRUE = @WANT_CAIRO_TRUE@
+WANT_EXAMPLES_FALSE = @WANT_EXAMPLES_FALSE@
+WANT_EXAMPLES_TRUE = @WANT_EXAMPLES_TRUE@
+XFT_CFLAGS = @XFT_CFLAGS@
+XFT_LIBS = @XFT_LIBS@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+PREFIXDIR = $(prefix)
+INCLUDES = -DAPPDIR=\"$(top_builddir)/src\" $(GTK2_CFLAGS)
+matchbox_keyboard_gtk_embed_SOURCES = matchbox-keyboard-gtk-embed.c
+matchbox_keyboard_gtk_embed_LDADD = $(GTK2_LIBS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  examples/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+matchbox-keyboard-gtk-embed$(EXEEXT): $(matchbox_keyboard_gtk_embed_OBJECTS) $(matchbox_keyboard_gtk_embed_DEPENDENCIES) 
+	@rm -f matchbox-keyboard-gtk-embed$(EXEEXT)
+	$(LINK) $(matchbox_keyboard_gtk_embed_LDFLAGS) $(matchbox_keyboard_gtk_embed_OBJECTS) $(matchbox_keyboard_gtk_embed_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-gtk-embed.Po at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-noinstPROGRAMS ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/examples/matchbox-keyboard-gtk-embed.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/examples/matchbox-keyboard-gtk-embed.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/examples/matchbox-keyboard-gtk-embed.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,153 @@
+#include <gtk/gtk.h>
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <unistd.h>
+
+GtkWidget *m_layout;
+static const char *m_kbd_path = "/usr/local/bin/matchbox-keyboard";
+static const char *m_kbd_str;
+static guint m_kbd_xid;
+static guint m_kbd_pid;
+
+void
+cleanup_children(int s)
+{
+  kill(-getpid(), 15);  /* kill every one in our process group  */
+  exit(0);
+}
+
+void 
+install_signal_handlers(void)
+{
+  signal (SIGCHLD, SIG_IGN);  /* kernel can deal with zombies  */
+  signal (SIGINT, cleanup_children);
+  signal (SIGQUIT, cleanup_children);
+  signal (SIGTERM, cleanup_children);
+}
+
+unsigned long
+launch_keyboard(void)
+{
+  int    i = 0, fd[2];
+  int    stdout_pipe[2];
+  int    stdin_pipe[2];
+  char   buf[256], c;
+  size_t n;
+
+  unsigned long result;
+
+  printf("Launching keyboard from: %s\r\n",m_kbd_path);
+
+  pipe (stdout_pipe);
+  pipe (stdin_pipe);
+
+  switch (fork ())
+    {
+    case 0:
+      {
+	/* Close the Child process' STDOUT */
+	close(1);
+	dup(stdout_pipe[1]);
+	close(stdout_pipe[0]);
+	close(stdout_pipe[1]);
+	
+	execlp ("/bin/sh", "sh", "-c", "matchbox-keyboard --xid", NULL);
+      }
+    case -1:
+      perror ("### Failed to launch 'matchbox-keyboard --xid', is it installed? ### ");
+      exit(1);
+    }
+
+  /* Parent */
+
+  /* Close the write end of STDOUT */
+  close(stdout_pipe[1]);
+
+  /* FIXME: This could be a little safer... */
+  do 
+    {
+      n = read(stdout_pipe[0], &c, 1);
+      if (n == 0 || c == '\n')
+	break;
+      buf[i++] = c;
+    } 
+  while (i < 256);
+
+  buf[i] = '\0';
+  result = atol (buf);
+
+  close(stdout_pipe[0]);
+
+  return result;
+}
+
+
+void widget_destroy( GtkWidget *widget,
+                     gpointer   data )
+{
+   gtk_widget_destroy(widget);
+   gtk_widget_destroy(m_layout);
+   gtk_main_quit ();
+}
+
+
+int main(int argc, char **argv)
+{
+  GtkWidget *window, *button, *textview, *vbox;
+  GtkWidget *socket, *plug, *socket_box;
+
+  unsigned long     kb_xid;
+
+  gtk_init (&argc, &argv);
+
+  install_signal_handlers();
+
+  kb_xid = launch_keyboard();
+
+  if (!kb_xid)
+    {
+      perror ("### 'matchbox-keyboard --xid', failed to return valid window ID. ### ");
+      exit(-1);
+    }
+
+  /* Window */
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+
+  gtk_window_set_default_size (GTK_WINDOW (window), 640, 480);
+  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
+
+  g_signal_connect (G_OBJECT (window), "destroy",
+		    G_CALLBACK (widget_destroy), NULL);
+
+  /* Container and textview */
+
+  vbox = gtk_vbox_new(FALSE, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+  
+  textview = gtk_text_view_new();
+  gtk_box_pack_start (GTK_BOX(vbox), textview, TRUE, TRUE, 2);
+
+  /* Socket ( XEMBED ) stuff */
+
+  socket_box = gtk_event_box_new ();
+  gtk_widget_show (socket_box);
+  
+  socket = gtk_socket_new ();
+
+  gtk_container_add (GTK_CONTAINER (socket_box), socket);
+  gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET(socket_box), TRUE, TRUE, 0);
+  gtk_socket_add_id(GTK_SOCKET(socket), kb_xid); 
+
+  /* FIXME: handle "plug-added" & "plug-removed" signals for socket */
+
+  gtk_widget_show_all (window);
+
+  gtk_main ();
+
+  return 0;
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/install-sh
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/install-sh	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/install-sh	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,325 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2004-04-01.17
+
+# 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}"
+
+transformbasename=
+transform_arg=
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+
+usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 -d DIRECTORIES...
+
+In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
+In the second, create the directory path DIR.
+
+Options:
+-b=TRANSFORMBASENAME
+-c         copy source (using $cpprog) instead of moving (using $mvprog).
+-d         create directories instead of installing files.
+-g GROUP   $chgrp installed files to GROUP.
+-m MODE    $chmod installed files to MODE.
+-o USER    $chown installed files to USER.
+-s         strip installed files (using $stripprog).
+-t=TRANSFORM
+--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
+    -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+        shift
+        continue;;
+
+    -c) instcmd=$cpprog
+        shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit 0;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+        shift
+        continue;;
+
+    --version) echo "$0 $scriptversion"; exit 0;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	test -n "$dir_arg" && 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
+      instcmd=:
+      chmodcmd=
+    else
+      instcmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$instcmd $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
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e '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 - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp" || lasterr=$?
+	# 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 ${lasterr-1}); exit; }
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $instcmd "$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
+    # If we're going to rename the final executable, determine the name now.
+    if test -z "$transformarg"; then
+      dstfile=`basename "$dst"`
+    else
+      dstfile=`basename "$dst" $transformbasename \
+               | sed $transformarg`$transformbasename
+    fi
+
+    # don't allow the sed command to completely eliminate the filename.
+    test -z "$dstfile" && 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 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Move or copy the file name to the temp name
+    $doit $instcmd "$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 $instcmd $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
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit
+}
+
+# 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:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,330 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# layouts/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/matchbox-keyboard
+pkglibdir = $(libdir)/matchbox-keyboard
+pkgincludedir = $(includedir)/matchbox-keyboard
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = layouts
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(keyboardsdir)"
+keyboardsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(keyboards_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run aclocal-1.9
+ALLOCA = 
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run tar
+AUTOCONF = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run automake-1.9
+AWK = mawk
+CAIRO_CFLAGS = 
+CAIRO_LIBS = 
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+EXPAT_CFLAGS = 
+EXPAT_LIBS = -L/lib -lexpat
+FAKEKEY_CFLAGS = -g -Wall -fno-strict-aliasing  
+FAKEKEY_LIBS = -L/usr/X11R6/lib -lX11 -lXtst -lfakekey  
+GTK2_CFLAGS = 
+GTK2_LIBS = 
+HAVE_EXPAT = 1
+HAVE_XMLPARSE_H = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run makeinfo
+OBJEXT = o
+PACKAGE = matchbox-keyboard
+PACKAGE_BUGREPORT = mallum at handhelds.org
+PACKAGE_NAME = matchbox-keyboard
+PACKAGE_STRING = matchbox-keyboard 0.1
+PACKAGE_TARNAME = matchbox-keyboard
+PACKAGE_VERSION = 0.1
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 0.1
+WANT_CAIRO_FALSE = 
+WANT_CAIRO_TRUE = #
+WANT_EXAMPLES_FALSE = 
+WANT_EXAMPLES_TRUE = #
+XFT_CFLAGS = -I/usr/include/freetype2 -I/usr/X11R6/include  
+XFT_LIBS = -L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  
+ac_ct_CC = gcc
+ac_ct_STRIP = 
+ac_pt_PKG_CONFIG = /usr/bin/pkg-config
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = 
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/mbox/matchbox-keyboard-0.1/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+keyboardsdir = $(datadir)/matchbox-keyboard
+keyboards_DATA = keyboard.xml keyboard-extended.xml keyboard-dvorak.xml \
+		 keyboard-us.xml keyboard-ru.xml keyboard-fi.xml        \
+                 keyboard-numpad.xml
+
+EXTRA_DIST = $(keyboards_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  layouts/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  layouts/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-keyboardsDATA: $(keyboards_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(keyboardsdir)" || $(mkdir_p) "$(DESTDIR)$(keyboardsdir)"
+	@list='$(keyboards_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(keyboardsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(keyboardsdir)/$$f'"; \
+	  $(keyboardsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(keyboardsdir)/$$f"; \
+	done
+
+uninstall-keyboardsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(keyboards_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(keyboardsdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(keyboardsdir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(keyboardsdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-keyboardsDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-keyboardsDATA
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am \
+	install-keyboardsDATA install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
+	uninstall-keyboardsDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.am	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.am	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,6 @@
+keyboardsdir = $(datadir)/matchbox-keyboard
+keyboards_DATA = keyboard.xml keyboard-extended.xml keyboard-dvorak.xml \
+		 keyboard-us.xml keyboard-ru.xml keyboard-fi.xml        \
+                 keyboard-numpad.xml
+
+EXTRA_DIST = $(keyboards_DATA)
\ No newline at end of file

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.in
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.in	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/Makefile.in	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,330 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = layouts
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(keyboardsdir)"
+keyboardsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(keyboards_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FAKEKEY_CFLAGS = @FAKEKEY_CFLAGS@
+FAKEKEY_LIBS = @FAKEKEY_LIBS@
+GTK2_CFLAGS = @GTK2_CFLAGS@
+GTK2_LIBS = @GTK2_LIBS@
+HAVE_EXPAT = @HAVE_EXPAT@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WANT_CAIRO_FALSE = @WANT_CAIRO_FALSE@
+WANT_CAIRO_TRUE = @WANT_CAIRO_TRUE@
+WANT_EXAMPLES_FALSE = @WANT_EXAMPLES_FALSE@
+WANT_EXAMPLES_TRUE = @WANT_EXAMPLES_TRUE@
+XFT_CFLAGS = @XFT_CFLAGS@
+XFT_LIBS = @XFT_LIBS@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+keyboardsdir = $(datadir)/matchbox-keyboard
+keyboards_DATA = keyboard.xml keyboard-extended.xml keyboard-dvorak.xml \
+		 keyboard-us.xml keyboard-ru.xml keyboard-fi.xml        \
+                 keyboard-numpad.xml
+
+EXTRA_DIST = $(keyboards_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  layouts/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  layouts/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-keyboardsDATA: $(keyboards_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(keyboardsdir)" || $(mkdir_p) "$(DESTDIR)$(keyboardsdir)"
+	@list='$(keyboards_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(keyboardsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(keyboardsdir)/$$f'"; \
+	  $(keyboardsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(keyboardsdir)/$$f"; \
+	done
+
+uninstall-keyboardsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(keyboards_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(keyboardsdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(keyboardsdir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(keyboardsdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-keyboardsDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-keyboardsDATA
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am \
+	install-keyboardsDATA install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
+	uninstall-keyboardsDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-dvorak.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-dvorak.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-dvorak.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<options>
+	<!-- not yet implemented -->
+</options>
+
+<layout id="dvorak keyboard">
+
+<!--
+matchbox-keyboard implementation of the 'common' Dvorak keyboard layout.
+Contributed by Leon Matthews http://www.lost.co.nz/
+-->
+
+<!-- Top Row -->
+<row>
+	<space width="500" extended="true"/>
+	<key fill="true">
+		<default display="Esc" action="escape" />
+	</key>
+	<key>
+		<default display="`" />
+		<shifted display="~" />
+	</key>
+	<key>
+		<default display="1" />
+		<shifted display="!" />
+	</key>
+	<key>
+		<default display="2" />
+		<shifted display='@' />
+		<mod1 display="½" />
+	</key>
+	<key>
+		<default display="3" />
+		<shifted display="#" />
+		<mod1 display="¾" />
+	</key>
+	<key>
+		<default display="4" />
+		<shifted display="$" />
+	</key>
+	<key>
+		<default display="5" />
+		<shifted display="%" />
+	</key>
+	<key>
+		<default display="6" />
+		<shifted display="^" />
+	</key>
+	<key>
+		<default display="7" />
+		<shifted display="&amp;" />
+	</key>
+	<key>
+		<default display="8" />
+		<shifted display="*" />
+	</key>
+	<key>
+		<default display="9" />
+		<shifted display="(" />
+	</key>
+	<key>
+		<default display="0" />
+		<shifted display=")" />
+	</key>
+	<key>
+		<default display="{" />
+		<shifted display="[" />
+	</key>
+	<key>
+		<default display="}" />
+		<shifted display="]" />
+	</key>
+	<key fill="true">
+		<default display="Bksp" action="backspace"/>
+	</key>
+	<space width="500" extended="true"/>
+	<key width="4000"  extended="true">
+		<default display="Home" action="home"/>
+	</key>
+	<key width="4000"  extended="true">
+		<default display="PgUp" action="pageup"/>
+	</key>
+	<space width="500" extended="true"/>
+</row>
+
+<!-- Second Row -->
+<row>
+	<space width="500" extended="true"/>
+	<key fill="true">
+		<default display="Tab" action="tab"/>
+	</key>
+	<key>
+		<default display="'" />
+		<shifted display='"' />
+	</key>
+	<key>
+		<default display="," />
+		<shifted display="&lt;" />
+	</key>
+	<key>
+		<default display="." />
+		<shifted display="&gt;" />
+	</key>
+	<key obey-caps='true'>
+		<default display="p" />
+		<shifted display="P" />
+	</key>
+	<key obey-caps='true'>
+		<default display="y" />
+		<shifted display="Y" />
+	</key>
+	<key obey-caps='true'>
+		<default display="f" />
+		<shifted display="F" />
+	</key>
+	<key obey-caps='true'>
+		<default display="g" />
+		<shifted display="G" />
+	</key>
+	<key obey-caps='true'>
+		<default display="c" />
+		<shifted display="C" />
+	</key>
+	<key obey-caps='true'>
+		<default display="r" />
+		<shifted display="R" />
+	</key>
+	<key obey-caps='true'>
+		<default display="l" />
+		<shifted display="L" />
+	</key>
+	<key>
+		<default display="?" />
+		<shifted display="/" />
+	</key>
+	<key>
+		<default display="=" />
+		<shifted display="+" />
+	</key>
+	<key fill="true">
+		<default display="\" />
+		<shifted display="|" />
+	</key>
+	<space width="500" extended="true"/>
+	<key width="4000"  extended="true">
+		<default display="End" action="end"/>
+	</key>
+	<key width="4000"  extended="true">
+		<default display="PgDn" action="pagedown"/>
+	</key>
+	<space width="500" extended="true"/>
+</row>
+
+<!-- Third row -->
+<row>
+	<space width="500" extended="true"/>
+	<key fill="true">
+		<default display="Caps" action="modifier:caps"/>
+	</key>
+	<key obey-caps='true'>
+		<default display="a" />
+		<shifted display="A" />
+	</key>
+	<key obey-caps='true'>
+		<default display="o" />
+		<shifted display="O" />
+	</key>
+	<key obey-caps='true'>
+		<mod1 display="ë" />
+		<default    display="e" />
+		<shifted display="E" />
+	</key>
+	<key obey-caps='true'>
+		<default display="u" />
+		<shifted display="U" />
+	</key>
+	<key obey-caps='true'>
+		<default display="i" />
+		<shifted display="I" />
+	</key>
+	<key obey-caps='true'>
+		<default display="d" />
+		<shifted display="D" />
+	</key>
+	<key obey-caps='true'>
+		<default display="h" />
+		<shifted display="H" />
+	</key>
+	<key obey-caps='true'>
+		<default display="t" />
+		<shifted display="T" />
+	</key>
+	<key obey-caps='true'>
+		<default display="n" />
+		<shifted display="N" />
+	</key>
+	<key obey-caps='true'>
+		<default display="s" />
+		<shifted display="S" />
+	</key>
+	<key>
+		<default display="-" />
+		<shifted display="_" />
+	</key>
+	<key fill="true">
+		<default display="Ret" action="return"/>
+	</key>
+	<space width="500" extended="true"/>
+	<space width="4000" extended="true" />
+	<space width="4000" extended="true" />
+	<space width="500" extended="true"/>
+</row>
+
+<!-- Fourth Row -->
+<row>
+	<space width="500" extended="true"/>
+	<key fill="true">
+		<default display="Shift" action="modifier:shift"/>
+	</key>
+	<key>
+		<default display=";" />
+		<shifted display=":" />
+	</key>
+	<key obey-caps='true'>
+		<default display="q" />
+		<shifted display="Q" />
+	</key>
+	<key obey-caps='true'>
+		<default display="j" />
+		<shifted display="J" />
+	</key>
+	<key obey-caps='true'>
+		<default display="k" />
+		<shifted display="K" />
+	</key>
+	<key obey-caps='true'>
+		<default display="x" />
+		<shifted display="X" />
+	</key>
+	<key obey-caps='true'>
+		<default display="b" />
+		<shifted display="B" />
+	</key>
+	<key obey-caps='true'>
+		<default display="m" />
+		<shifted display="M" />
+	</key>
+	<key obey-caps='true'>
+		<default display="w" />
+		<shifted display="W" />
+	</key>
+	<key obey-caps='true'>
+		<default display="v" />
+		<shifted display="V" />
+	</key>
+	<key obey-caps='true'>
+		<default display="z" />
+		<shifted display="Z" />
+	</key>
+	<key fill="true">
+		<default display="Shift" action="modifier:shift"/>
+	</key>
+	<space width="500" extended="true"/>
+	<space width="4000"  extended="true" />
+	<space width="4000"  extended="true" />
+	<space width="500" extended="true"/>
+</row>
+
+<!-- Bottom Row -->
+<row>
+	<space width="500" extended="true"/>
+	<key>
+		<default display="äëö" action="modifier:mod1"/>
+	</key>
+	<key fill="true">
+		<default display="Ctrl" action="modifier:ctrl"/>
+	</key>
+	<key>
+		<default display="Alt" action="modifier:alt"/>
+	</key>
+	<key width="12000">
+		<default display=" " action="space" />
+	</key>
+	<key>
+		<default display="^" action="up" />
+	</key>
+	<key>
+		<default display="V" action="down" />
+	</key>
+	<key>
+		<default display="&lt;" action="left" />
+	</key>
+	<key>
+		<default display="&gt;" action="right" />
+	</key>
+	<space width="500" extended="true"/>
+	<space width="4000"  extended="true" />
+	<space width="4000"  extended="true" />
+	<space width="500" extended="true"/>
+</row>
+
+</layout>
+
+</keyboard>

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-extended.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-extended.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-extended.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,348 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<options>
+<!--
+   <font prefered-size=''>
+   <size fixed='100x100'>
+   <padding>
+-->
+</options>
+
+<layout id="name">
+
+<!--
+  <row>
+     <key>
+	  <default display="ヂ" />                
+    </key>
+    <key>
+	  <default display="Óª" />                
+    </key>
+    <key width="1500">
+	  <default display="Ω" />                
+    </key>
+    <space width="1500" />
+    <key fill="true">
+	  <default display="â ¿" />                
+    </key>
+  </row>
+-->
+
+  <row>
+    <key fill="true">
+	  <default display="Esc" action="escape" />
+    </key>
+    <key>
+	  <default display="`" />
+    </key>
+    <key>
+	  <default display="1" />                
+	  <shifted display="!" />
+    </key>
+    <key>
+	  <default display="2" />                
+	  <shifted display='"' />
+    </key>
+    <key>
+	  <default display="3" />
+	  <shifted display="" />                
+    </key>
+    <key>
+	  <default display="4" />
+	  <shifted display="$" />                
+    </key>
+    <key>
+	  <default display="5" />
+	  <shifted display="%" />                
+    </key>
+    <key>
+	  <default display="6" />
+	  <shifted display="^" />                
+    </key>
+    <key>
+	  <default display="7" />
+	  <shifted display="&amp;" />                
+    </key>
+    <key>
+	  <default display="8" />
+	  <shifted display="*" />                
+    </key>
+    <key>
+	  <default display="9" />
+	  <shifted display="(" />                
+    </key>
+    <key>
+	  <default display="0" />
+	  <shifted display=")" />                
+    </key>
+    <key>
+	  <default display="-" />
+	  <shifted display="_" />                
+    </key>
+    <key>
+	  <default display="=" />
+	  <shifted display="+" />                
+    </key>
+
+    <key fill="true">
+	  <default display="Bksp" action="backspace"/>
+    </key>
+
+    <space width="500" />
+
+    <key width="4000">
+	  <default display="Home" />
+    </key>
+    <key width="4000">
+	  <default display="PgUp" />
+    </key>
+
+
+  </row>
+
+  <row>
+    <key fill="true">
+	  <default display="Tab" action="tab"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="q" />                
+	  <shifted display="Q" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="w" />                
+	  <shifted display="W" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="e" />                
+	  <shifted display="E" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="r" />                
+	  <shifted display="R" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="t" />                
+	  <shifted display="T" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="y" />                
+	  <shifted display="Y" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="u" />                
+	  <shifted display="U" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="i" />                
+	  <shifted display="I" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="o" />                
+	  <shifted display="O" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="p" />                
+	  <shifted display="P" />
+    </key>
+    <key>
+	  <default display="{" />                
+	  <shifted display="[" />
+    </key>
+    <key>
+	  <default display="}" />                
+	  <shifted display="]" />
+    </key>
+    <key fill="true">
+	  <default display="\" />                
+	  <shifted display="|" />
+    </key>
+
+    <space width="500" />
+
+    <key width="4000">
+	  <default display="End" />
+    </key>
+    <key width="4000">
+	  <default display="PgDn" />
+    </key>
+
+
+  </row>
+  <row>
+    <key fill="true">
+	  <default display="Caps" action="modifier:caps"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="a" />                
+	  <shifted display="A" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="s" />                
+	  <shifted display="S" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="d" />                
+	  <shifted display="D" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="f" />                
+	  <shifted display="F" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="g" />                
+	  <shifted display="G" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="h" />                
+	  <shifted display="H" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="j" />                
+	  <shifted display="J" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="k" />                
+	  <shifted display="K" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="l" />                
+	  <shifted display="L" />
+    </key>
+    <key>
+	  <default display=":" />                
+	  <shifted display=";" />
+    </key>
+    <key>
+	  <default display="#" />                
+	  <shifted display="~" />
+    </key>
+    <key fill="true">
+	  <default display="Ret" action="return"/>
+    </key>
+
+    <space width="500" />
+
+    <key width="4000">
+	  <default display="Del" />
+    </key>
+    <key width="4000">
+	  <default display="XXX" />
+    </key>
+
+
+  </row>
+  <row>
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="z" />                
+	  <shifted display="Z" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="x" />                
+	  <shifted display="X" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="c" />                
+	  <shifted display="C" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="v" />                
+	  <shifted display="V" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="b" />                
+	  <shifted display="B" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="n" />                
+	  <shifted display="N" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="m" />                
+	  <shifted display="M" />
+    </key>
+
+    <key>
+	  <default display="." />                
+	  <shifted display="&lt;" />
+    </key>
+    <key>
+	  <default display="." />                
+	  <shifted display="&gt;" />
+    </key>
+    <key>
+	  <default display="?" />                
+	  <shifted display="/" />
+    </key>
+
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <space width="500" />
+
+    <key width="4000">
+	  <default display="Inst" />
+    </key>
+    <key width="4000">
+	  <default display="Pase" />
+    </key>
+
+
+ </row>
+  <row>
+    <key>
+	  <default display="aeo" action="modifier:mod1"/>                
+    </key>
+
+    <key>
+	  <default display="Ctrl" action="modifier:ctrl"/>                
+    </key>
+
+    <key>
+	  <default display="Alt" action="modifier:alt"/>                
+    </key>
+
+
+    <key width="14000">
+	  <default display=" " action="space" />                
+    </key>
+
+    <key>
+	  <default display="@" />                
+	  <shifted display="'" />
+    </key>
+
+    <key>
+	  <default display="^" action="up" />                
+    </key>
+    <key>
+	  <default display="^" action="down" />                
+    </key>
+    <key>
+	  <default display="&lt;" action="left" />                
+    </key>
+    <key>
+	  <default display="&gt;" action="right" />                
+    </key>
+
+    <space width="8500" />
+
+</row>
+
+</layout>
+
+
+</keyboard>

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-fi.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-fi.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-fi.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<options>
+<!-- not yet implemented -->
+</options>
+
+<layout id="defualt keyboard">
+
+<!--
+  <row>
+     <key>
+	  <default display="ヂ" />
+    </key>
+    <key>
+	  <default display="Óª" />
+    </key>
+    <key width="1500">
+	  <default display="Ω" />
+    </key>
+    <space width="1500" />
+    <key fill="true">
+	  <default display="â ¿" />
+    </key>
+  </row>
+-->
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Esc" action="escape" />
+    </key>
+    <key>
+	  <default display="§" />
+	  <shifted display="½" />
+    </key>
+    <key>
+	  <default display="1" />
+	  <shifted display="!" />
+    </key>
+    <key>
+	  <default display="2" />
+	  <shifted display='"' />
+	  <mod1 display='@' />
+    </key>
+    <key>
+	  <default display="3" />
+	  <shifted display="#" />
+	  <mod1 display="£" />
+    </key>
+    <key>
+	  <default display="4" />
+	  <default display="¤" />
+	  <mod1 display="$" />
+    </key>
+    <key>
+	  <default display="5" />
+	  <shifted display="%" />
+    </key>
+    <key>
+	  <default display="6" />
+	  <shifted display="&amp;" />
+    </key>
+    <key>
+	  <default display="7" />
+	  <shifted display="/" />
+	  <mod1 display='{' />
+    </key>
+    <key>
+	  <default display="8" />
+	  <shifted display="(" />
+	  <mod1 display='[' />
+    </key>
+    <key>
+	  <default display="9" />
+	  <shifted display=")" />
+	  <mod1 display=']' />
+    </key>
+    <key>
+	  <default display="0" />
+	  <shifted display="=" />
+	  <mod1 display='}' />
+    </key>
+    <key>
+	  <default display="+" />
+	  <shifted display="?" />
+	  <mod1 display="\" />
+    </key>
+    <key>
+	  <default display="'" />
+	  <shifted display="*" />
+    </key>
+
+    <key fill="true">
+	  <default display="Bksp" action="backspace"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="Home" action="home"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgUp" action="pageup"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Tab" action="tab"/>
+    </key>
+    <key obey-caps='true'>
+	  <default display="q" />
+	  <shifted display="Q" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="w" />
+	  <shifted display="W" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="e" />
+	  <shifted display="E" />
+	  <mod1 display="€" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="r" />
+	  <shifted display="R" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="t" />
+	  <shifted display="T" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="y" />
+	  <shifted display="Y" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="u" />
+	  <shifted display="U" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="i" />
+	  <shifted display="I" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="o" />
+	  <shifted display="O" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="p" />
+	  <shifted display="P" />
+    </key>
+    <key>
+	  <default display="Ã¥" />
+	  <shifted display="Ã…" />
+    </key>
+    <key>
+	  <default display="~" />
+	  <shifted display="^" />
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="End" action="end"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgDn" action="pagedown"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Caps" action="modifier:caps"/>
+    </key>
+    <key obey-caps='true'>
+	  <default display="a" />
+	  <shifted display="A" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="s" />
+	  <shifted display="S" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="d" />
+	  <shifted display="D" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="f" />
+	  <shifted display="F" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="g" />
+	  <shifted display="G" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="h" />
+	  <shifted display="H" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="j" />
+	  <shifted display="J" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="k" />
+	  <shifted display="K" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="l" />
+	  <shifted display="L" />
+    </key>
+    <key>
+	  <default display="Ö" />
+	  <shifted display="ö" />
+    </key>
+    <key>
+	  <default display="ä" />
+	  <shifted display="Ä" />
+    </key>
+    <key fill="true">
+	  <default display="Ret" action="return"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>
+    </key>
+
+    <key>
+	  <default display="&lt;" />
+	  <shifted display="&gt;" />
+	  <mod1 display="|" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="z" />
+	  <shifted display="Z" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="x" />
+	  <shifted display="X" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="c" />
+	  <shifted display="C" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="v" />
+	  <shifted display="V" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="b" />
+	  <shifted display="B" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="n" />
+	  <shifted display="N" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="m" />
+	  <shifted display="M" />
+	  <mod1 display="µ" />
+    </key>
+
+    <key>
+	  <default display="," />
+	  <shifted display=":" />
+    </key>
+    <key>
+	  <default display="." />
+	  <shifted display=":" />
+    </key>
+    <key>
+	  <default display="-" />
+	  <shifted display="_" />
+    </key>
+
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+
+ </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+
+    <key fill="true">
+	  <default display="Ctrl" action="modifier:ctrl"/>
+    </key>
+
+    <key>
+	  <default display="Alt" action="modifier:alt"/>
+    </key>
+
+
+    <key width="12000">
+	  <default display=" " action="space" />
+    </key>
+
+    <key>
+	  <default display="ALT GR" action="modifier:mod1"/>
+    </key>
+
+
+    <key>
+	  <default display="UP" action="up" />
+    </key>
+    <key>
+	  <default display="DOWN" action="down" />
+    </key>
+    <key>
+	  <default display="LEFT" action="left" />
+    </key>
+    <key>
+	  <default display="RIGHT" action="right" />
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+</row>
+
+</layout>
+
+
+</keyboard>
\ No newline at end of file

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-numpad.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-numpad.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-numpad.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<options>
+<!-- not yet implemented -->
+</options>
+
+<layout id="defualt keyboard">
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key>
+	  <default display="9" />                
+    </key>
+    <key>
+	  <default display="8" />                
+    </key>
+    <key>
+	  <default display="7" />
+    </key>
+
+  </row>
+  <row>
+    <space width="500" extended="true"/>
+    <key>
+	  <default display="6" />
+    </key>
+    <key>
+	  <default display="5" />
+    </key>
+    <key>
+	  <default display="4" />
+    </key>
+  </row>
+  <row>
+    <space width="500" extended="true"/>
+    <key>
+	  <default display="3" />
+    </key>
+
+    <key>
+	  <default display="2" />
+    </key>
+    <key>
+	  <default display="1" />
+    </key>
+  </row>
+  <row>
+    <space width="500" extended="true"/>
+    <key>
+	  <default display="0" />
+    </key>
+  </row>
+
+</layout>
+
+
+</keyboard>
\ No newline at end of file

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-ru.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-ru.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-ru.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<options>
+  
+</options>
+
+<layout id="RUS">
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Esc" action="escape" />
+    </key>
+    <key>
+	  <default display="`" />
+    </key>
+    <key>
+	  <default display="1" />                
+	  <shifted display="!" />
+    </key>
+    <key>
+	  <default display="2" />                
+	  <shifted display='"' />
+<!-- " -->
+
+          <mod1    display="½" />
+    </key>
+    <key>
+	  <default display="3" />
+	  <shifted display="£" />
+          <mod1    display="¾" />               
+    </key>
+    <key>
+	  <default display="4" />
+	  <shifted display="$" />                
+    </key>
+    <key>
+	  <default display="5" />
+	  <shifted display="%" />                
+    </key>
+    <key>
+	  <default display="6" />
+	  <shifted display="^" />                
+    </key>
+    <key>
+	  <default display="7" />
+	  <shifted display="&amp;" />                
+    </key>
+    <key>
+	  <default display="8" />
+	  <shifted display="*" />                
+    </key>
+    <key>
+	  <default display="9" />
+	  <shifted display="(" />                
+    </key>
+    <key>
+	  <default display="0" />
+	  <shifted display=")" />                
+    </key>
+    <key>
+	  <default display="-" />
+	  <shifted display="_" />                
+    </key>
+    <key>
+	  <default display="=" />
+	  <shifted display="+" />                
+    </key>
+
+    <key fill="true">
+	  <default display="Bksp" action="backspace"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="Home" action="home"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgUp" action="pageup"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Tab" action="tab"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="й" />                
+	  <shifted display="Й" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="ц" />                
+	  <shifted display="Ц" />
+    </key>
+    <key obey-caps='true'>
+	  <default    display="у" />                
+	  <shifted display="У" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="к" />                
+	  <shifted display="К" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="е" />                
+	  <shifted display="Е" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="н" />                
+	  <shifted display="Н" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="г" />                
+	  <shifted display="Г" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="ш" />                
+	  <shifted display="Ш" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="щ" />                
+	  <shifted display="Щ" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="з" />                
+	  <shifted display="З" />
+    </key>
+    <key>
+	  <default display="Ñ…" />                
+	  <shifted display="Ð¥" />
+    </key>
+    <key>
+	  <default display="ÑŠ" />                
+	  <shifted display="Ъ" />
+    </key>
+    <key fill="true">
+	  <default display="\" />                
+	  <shifted display="|" />
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="End" action="end"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgDn" action="pagedown"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Caps" action="modifier:caps"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="Ñ„" />                
+	  <shifted display="Ф" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="Ñ‹" />                
+	  <shifted display="Ы" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="в" />                
+	  <shifted display="Ð’" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="а" />                
+	  <shifted display="А" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="п" />                
+	  <shifted display="П" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="Ñ€" />                
+	  <shifted display="Р" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="о" />                
+	  <shifted display="О" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="л" />                
+	  <shifted display="Л" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="д" />                
+	  <shifted display="Д" />
+    </key>
+    <key>
+	  <default display="ж" />                
+	  <shifted display="Ж" />
+    </key>
+    <key>
+	  <default display="э" />                
+	  <shifted display="Э" />
+    </key>
+    <key fill="true">
+	  <default display="Ret" action="return"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="я" />                
+	  <shifted display="Я" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="ч" />                
+	  <shifted display="Ч" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="с" />                
+	  <shifted display="С" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="м" />                
+	  <shifted display="М" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="и" />                
+	  <shifted display="И" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="Ñ‚" />                
+	  <shifted display="Т" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="ь" />                
+	  <shifted display="Ь" />
+    </key>
+
+    <key>
+	  <default display="б" />                
+	  <shifted display="Б" />
+    </key>
+    <key>
+	  <default display="ÑŽ" />                
+	  <shifted display="Ю" />
+    </key>
+    <key>
+	  <default display="?" />                
+	  <shifted display="/" />
+    </key>
+
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+
+ </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key>
+	  <default display="äëö" action="modifier:mod1"/>                
+    </key>
+    <key>
+	  <default display="EN" action="modifier:layout1"/>                
+    </key>
+
+    <key fill="true">
+	  <default display="Ctrl" action="modifier:ctrl"/>                
+    </key>
+
+    <key>
+	  <default display="Alt" action="modifier:alt"/>                
+    </key>
+
+
+    <key width="12000">
+	  <default display=" " action="space" />                
+    </key>
+
+    <key>
+	  <default display="@" />                
+	  <shifted display="'" />
+    </key>
+
+    <key>
+	  <default display="^" action="up" />                
+    </key>
+    <key>
+	  <default display="V" action="down" />                
+    </key>
+    <key>
+	  <default display="&lt;" action="left" />                
+    </key>
+    <key>
+	  <default display="&gt;" action="right" />                
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+</row>
+
+</layout>
+
+
+
+</keyboard>
+
+
+!DSPAM:43175c62188018184547166!

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-us.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-us.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard-us.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<!--
+
+ US keyboard layout by Matt Reimer <mreimer at vpop.net>
+
+-->
+
+<options>
+<!-- not yet implemented -->
+</options>
+
+<layout id="default keyboard">
+
+<!--
+  <row>
+     <key>
+	  <default display="ヂ" />                
+    </key>
+    <key>
+	  <default display="Óª" />                
+    </key>
+    <key width="1500">
+	  <default display="Ω" />                
+    </key>
+    <space width="1500" />
+    <key fill="true">
+	  <default display="â ¿" />                
+    </key>
+  </row>
+-->
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Esc" action="escape" />
+    </key>
+    <key>
+	  <default display="`" />
+	  <shifted display="~" />
+    </key>
+    <key>
+	  <default display="1" />                
+	  <shifted display="!" />
+    </key>
+    <key>
+	  <default display="2" />                
+	  <shifted display='@' />
+          <mod1    display="½" />
+    </key>
+    <key>
+	  <default display="3" />
+	  <shifted display="#" />
+          <mod1    display="¾" />               
+    </key>
+    <key>
+	  <default display="4" />
+	  <shifted display="$" />                
+    </key>
+    <key>
+	  <default display="5" />
+	  <shifted display="%" />                
+    </key>
+    <key>
+	  <default display="6" />
+	  <shifted display="^" />                
+    </key>
+    <key>
+	  <default display="7" />
+	  <shifted display="&amp;" />                
+    </key>
+    <key>
+	  <default display="8" />
+	  <shifted display="*" />                
+    </key>
+    <key>
+	  <default display="9" />
+	  <shifted display="(" />                
+    </key>
+    <key>
+	  <default display="0" />
+	  <shifted display=")" />                
+    </key>
+    <key>
+	  <default display="-" />
+	  <shifted display="_" />                
+    </key>
+    <key>
+	  <default display="=" />
+	  <shifted display="+" />                
+    </key>
+
+    <key fill="true">
+	  <default display="Bksp" action="backspace"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="Home" action="home"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgUp" action="pageup"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Tab" action="tab"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="q" />                
+	  <shifted display="Q" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="w" />                
+	  <shifted display="W" />
+    </key>
+    <key obey-caps='true'>
+	  <mod1 display="ë" />
+	  <default    display="e" />                
+	  <shifted display="E" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="r" />                
+	  <shifted display="R" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="t" />                
+	  <shifted display="T" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="y" />                
+	  <shifted display="Y" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="u" />                
+	  <shifted display="U" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="i" />                
+	  <shifted display="I" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="o" />                
+	  <shifted display="O" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="p" />                
+	  <shifted display="P" />
+    </key>
+    <key>
+	  <default display="[" />                
+	  <shifted display="{" />
+    </key>
+    <key>
+	  <default display="]" />                
+	  <shifted display="}" />
+    </key>
+    <key fill="true">
+	  <default display="\" />                
+	  <shifted display="|" />
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="End" action="end"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgDn" action="pagedown"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Caps" action="modifier:caps"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="a" />                
+	  <shifted display="A" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="s" />                
+	  <shifted display="S" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="d" />                
+	  <shifted display="D" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="f" />                
+	  <shifted display="F" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="g" />                
+	  <shifted display="G" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="h" />                
+	  <shifted display="H" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="j" />                
+	  <shifted display="J" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="k" />                
+	  <shifted display="K" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="l" />                
+	  <shifted display="L" />
+    </key>
+    <key>
+	  <default display=";" />                
+	  <shifted display=":" />
+    </key>
+    <key>
+	  <default display="'" />                
+	  <shifted display='"' />
+    </key>
+    <key fill="true">
+	  <default display="Ret" action="return"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="z" />                
+	  <shifted display="Z" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="x" />                
+	  <shifted display="X" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="c" />                
+	  <shifted display="C" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="v" />                
+	  <shifted display="V" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="b" />                
+	  <shifted display="B" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="n" />                
+	  <shifted display="N" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="m" />                
+	  <shifted display="M" />
+    </key>
+
+    <key>
+	  <default display="," />                
+	  <shifted display="&lt;" />
+    </key>
+    <key>
+	  <default display="." />                
+	  <shifted display="&gt;" />
+    </key>
+    <key>
+	  <default display="/" />                
+	  <shifted display="?" />
+    </key>
+
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+
+ </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key>
+	  <default display="äëö" action="modifier:mod1"/>                
+    </key>
+
+    <key fill="true">
+	  <default display="Ctrl" action="modifier:ctrl"/>                
+    </key>
+
+    <key>
+	  <default display="Alt" action="modifier:alt"/>                
+    </key>
+
+
+    <key width="12000">
+	  <default display=" " action="space" />                
+    </key>
+
+    <key>
+	  <default display="^" action="up" />                
+    </key>
+    <key>
+	  <default display="V" action="down" />                
+    </key>
+    <key>
+	  <default display="&lt;" action="left" />                
+    </key>
+    <key>
+	  <default display="&gt;" action="right" />                
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+</row>
+
+</layout>
+
+
+</keyboard>

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard.xml
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard.xml	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/layouts/keyboard.xml	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<keyboard>
+
+<options>
+<!-- not yet implemented -->
+</options>
+
+<layout id="defualt keyboard">
+
+<!--
+  <row>
+     <key>
+	  <default display="ヂ" />                
+    </key>
+    <key>
+	  <default display="Óª" />                
+    </key>
+    <key width="1500">
+	  <default display="Ω" />                
+    </key>
+    <space width="1500" />
+    <key fill="true">
+	  <default display="â ¿" />                
+    </key>
+  </row>
+-->
+
+  <row>
+
+    <space width="500" extended="true"/>
+<!--
+    <key fill="true">
+	  <default display="Esc" action="escape" />
+    </key>
+-->    
+    <key>
+	  <default display="`" />
+    </key>
+    <key>
+	  <default display="1" />                
+	  <shifted display="!" />
+    </key>
+    <key>
+	  <default display="2" />                
+	  <shifted display='"' />
+          <mod1    display="½" />
+    </key>
+    <key>
+	  <default display="3" />
+	  <shifted display="£" />
+          <mod1    display="¾" />               
+    </key>
+    <key>
+	  <default display="4" />
+	  <shifted display="$" />                
+    </key>
+    <key>
+	  <default display="5" />
+	  <shifted display="%" />                
+    </key>
+    <key>
+	  <default display="6" />
+	  <shifted display="^" />                
+    </key>
+    <key>
+	  <default display="7" />
+	  <shifted display="&amp;" />                
+    </key>
+    <key>
+	  <default display="8" />
+	  <shifted display="*" />                
+    </key>
+    <key>
+	  <default display="9" />
+	  <shifted display="(" />                
+    </key>
+    <key>
+	  <default display="0" />
+	  <shifted display=")" />                
+    </key>
+    <key>
+	  <default display="-" />
+	  <shifted display="_" />                
+    </key>
+    <key>
+	  <default display="=" />
+	  <shifted display="+" />                
+    </key>
+
+    <key fill="true">
+	  <default display="Bksp" action="backspace"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="Home" action="home"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgUp" action="pageup"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Tab" action="tab"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="q" />                
+	  <shifted display="Q" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="w" />                
+	  <shifted display="W" />
+    </key>
+    <key obey-caps='true'>
+	  <mod1 display="ë" />
+	  <default    display="e" />                
+	  <shifted display="E" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="r" />                
+	  <shifted display="R" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="t" />                
+	  <shifted display="T" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="y" />                
+	  <shifted display="Y" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="u" />                
+	  <shifted display="U" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="i" />                
+	  <shifted display="I" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="o" />                
+	  <shifted display="O" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="p" />                
+	  <shifted display="P" />
+    </key>
+    <key>
+	  <default display="{" />                
+	  <shifted display="[" />
+    </key>
+    <key>
+	  <default display="}" />                
+	  <shifted display="]" />
+    </key>
+    <key fill="true">
+	  <default display="\" />                
+	  <shifted display="|" />
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <key width="4000"  extended="true">
+	  <default display="End" action="end"/>
+    </key>
+    <key width="4000"  extended="true">
+	  <default display="PgDn" action="pagedown"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Caps" action="modifier:caps"/>                
+    </key>
+    <key obey-caps='true'>
+	  <default display="a" />                
+	  <shifted display="A" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="s" />                
+	  <shifted display="S" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="d" />                
+	  <shifted display="D" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="f" />                
+	  <shifted display="F" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="g" />                
+	  <shifted display="G" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="h" />                
+	  <shifted display="H" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="j" />                
+	  <shifted display="J" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="k" />                
+	  <shifted display="K" />
+    </key>
+    <key obey-caps='true'>
+	  <default display="l" />                
+	  <shifted display="L" />
+    </key>
+    <key>
+	  <default display=";" />                
+	  <shifted display=":" />
+    </key>
+    <key>
+	  <default display="#" />                
+	  <shifted display="~" />
+    </key>
+    <key fill="true">
+	  <default display="Ret" action="return"/>
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+  </row>
+  <row>
+
+    <space width="500" extended="true"/>
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="z" />                
+	  <shifted display="Z" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="x" />                
+	  <shifted display="X" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="c" />                
+	  <shifted display="C" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="v" />                
+	  <shifted display="V" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="b" />                
+	  <shifted display="B" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="n" />                
+	  <shifted display="N" />
+    </key>
+
+    <key obey-caps='true'>
+	  <default display="m" />                
+	  <shifted display="M" />
+    </key>
+
+    <key>
+	  <default display="," />                
+	  <shifted display="&lt;" />
+    </key>
+    <key>
+	  <default display="." />                
+	  <shifted display="&gt;" />
+    </key>
+    <key>
+	  <default display="/" />                
+	  <shifted display="?" />
+    </key>
+
+
+    <key fill="true">
+	  <default display="Shift" action="modifier:shift"/>                
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+
+
+ </row>
+  <row>
+
+    <space width="500" extended="true"/>
+<!--
+    <key>
+	  <default display="äëö" action="modifier:mod1"/>                
+    </key>
+
+    <key fill="true">
+	  <default display="Ctrl" action="modifier:ctrl"/>                
+    </key>
+
+    <key>
+	  <default display="Alt" action="modifier:alt"/>                
+    </key>
+-->
+    <key>
+	  <default display="Option" />                
+    </key>
+    
+    <key width="12000">
+	  <default display=" " action="space" />                
+    </key>
+<!--
+    <key>
+	  <default display="@" />                
+	  <shifted display="'" />
+    </key>
+
+    <key>
+	  <default display="^" action="up" />                
+    </key>
+    <key>
+	  <default display="V" action="down" />                
+    </key>
+    <key>
+	  <default display="&lt;" action="left" />                
+    </key>
+    <key>
+	  <default display="&gt;" action="right" />                
+    </key>
+-->
+    <key>
+	  <default display="&lt;" action="left" />                
+    </key>
+    <key>
+	  <default display="&gt;" action="right" />                
+    </key>
+
+    <key>
+	  <default display="Inst."/>                
+    </key>
+
+    <space width="500" extended="true"/>
+
+    <space width="4000"  extended="true" />
+
+    <space width="4000"  extended="true" />
+
+    <space width="500" extended="true"/>
+
+</row>
+
+</layout>
+
+
+</keyboard>

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.desktop
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.desktop	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.desktop	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Keyboard
+Comment=Virtual Keyboard
+Exec=matchbox-keyboard
+Type=Application
+Icon=matchbox-keyboard.png
+Categories=Panel;Utility;MB
+X-MB-INPUT-MECHANSIM=True

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/target/OM-2007/applications/openmoko-keypad/matchbox-keyboard.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/missing
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/missing	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/missing	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2003-09-02.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# 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, 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.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+  aclocal*)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
+       # We have makeinfo, but it failed.
+       exit 1
+    fi
+
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+    fi
+    touch $file
+    ;;
+
+  tar)
+    shift
+    if test -n "$run"; then
+      echo 1>&2 "ERROR: \`tar' requires --run"
+      exit 1
+    fi
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+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:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/config-parser.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/config-parser.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/config-parser.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+config-parser.o config-parser.o: config-parser.c matchbox-keyboard.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-key.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-key.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-key.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+matchbox-keyboard-key.o matchbox-keyboard-key.o: matchbox-keyboard-key.c \
+  matchbox-keyboard.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-layout.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-layout.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-layout.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,612 @@
+matchbox-keyboard-layout.o matchbox-keyboard-layout.o:  \
+ matchbox-keyboard-layout.c matchbox-keyboard.h /usr/include/stdio.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-row.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-row.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-row.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+matchbox-keyboard-row.o matchbox-keyboard-row.o: matchbox-keyboard-row.c \
+  matchbox-keyboard.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-cairo-backend.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-cairo-backend.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-cairo-backend.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1 @@
+# dummy

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-xft-backend.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-xft-backend.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui-xft-backend.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,612 @@
+matchbox-keyboard-ui-xft-backend.o matchbox-keyboard-ui-xft-backend.o:  \
+ matchbox-keyboard-ui-xft-backend.c matchbox-keyboard.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-ui.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+matchbox-keyboard-ui.o matchbox-keyboard-ui.o: matchbox-keyboard-ui.c \
+  matchbox-keyboard.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-xembed.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-xembed.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard-xembed.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,612 @@
+matchbox-keyboard-xembed.o matchbox-keyboard-xembed.o:  \
+ matchbox-keyboard-xembed.c matchbox-keyboard.h /usr/include/stdio.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/matchbox-keyboard.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+matchbox-keyboard.o matchbox-keyboard.o: matchbox-keyboard.c \
+  matchbox-keyboard.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util-list.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util-list.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util-list.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+util-list.o util-list.o: util-list.c matchbox-keyboard.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util.Po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util.Po	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/.deps/util.Po	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,611 @@
+util.o util.o: util.c matchbox-keyboard.h /usr/include/stdio.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+  /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \
+  /usr/include/bits/string2.h /usr/include/strings.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
+  /usr/include/bits/fcntl.h /usr/include/locale.h \
+  /usr/include/bits/locale.h /usr/include/expat.h \
+  /usr/include/expat_external.h /usr/X11R6/include/X11/Xlib.h \
+  /usr/X11R6/include/X11/X.h /usr/X11R6/include/X11/Xfuncproto.h \
+  /usr/X11R6/include/X11/Xosdefs.h /usr/X11R6/include/X11/Xutil.h \
+  /usr/X11R6/include/X11/Xatom.h /usr/X11R6/include/X11/Xresource.h \
+  /usr/X11R6/include/X11/keysym.h /usr/X11R6/include/X11/keysymdef.h \
+  /usr/include/libmb/mb.h /usr/include/libmb/mbconfig.h \
+  /usr/include/libmb/mbpixbuf.h /usr/include/signal.h \
+  /usr/include/bits/signum.h /usr/include/bits/siginfo.h \
+  /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \
+  /usr/include/asm/sigcontext.h /usr/include/linux/compiler.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/png.h /usr/include/zlib.h /usr/include/zconf.h \
+  /usr/include/pngconf.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \
+  /usr/include/sys/ipc.h /usr/include/bits/ipctypes.h \
+  /usr/include/bits/ipc.h /usr/include/sys/shm.h /usr/include/bits/shm.h \
+  /usr/include/sys/time.h /usr/X11R6/include/X11/extensions/XShm.h \
+  /usr/X11R6/include/X11/Xmd.h /usr/include/jpeglib.h \
+  /usr/include/jconfig.h /usr/include/jmorecfg.h \
+  /usr/include/libmb/mbexp.h /usr/include/libmb/mbdotdesktop.h \
+  /usr/include/ctype.h /usr/include/dirent.h /usr/include/bits/dirent.h \
+  /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h \
+  /usr/include/linux/limits.h /usr/include/libmb/mbutil.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/include/linux/errno.h /usr/include/asm/errno.h \
+  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+  /usr/include/sys/wait.h /usr/include/sys/resource.h \
+  /usr/include/bits/resource.h /usr/include/bits/waitflags.h \
+  /usr/include/bits/waitstatus.h /usr/include/pango-1.0/pango/pango.h \
+  /usr/include/pango-1.0/pango/pango-attributes.h \
+  /usr/include/pango-1.0/pango/pango-font.h \
+  /usr/include/pango-1.0/pango/pango-coverage.h \
+  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+  /usr/include/glib-2.0/glib/gtypes.h \
+  /usr/lib/glib-2.0/include/glibconfig.h \
+  /usr/include/glib-2.0/glib/gmacros.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h \
+  /usr/include/limits.h /usr/include/bits/posix2_lim.h \
+  /usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h \
+  /usr/include/glib-2.0/glib/garray.h \
+  /usr/include/glib-2.0/glib/gasyncqueue.h \
+  /usr/include/glib-2.0/glib/gthread.h \
+  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+  /usr/include/glib-2.0/glib/gatomic.h \
+  /usr/include/glib-2.0/glib/gbacktrace.h \
+  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gcompletion.h \
+  /usr/include/glib-2.0/glib/gconvert.h \
+  /usr/include/glib-2.0/glib/gdataset.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gfileutils.h \
+  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+  /usr/include/glib-2.0/glib/giochannel.h \
+  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+  /usr/include/glib-2.0/glib/gstring.h \
+  /usr/include/glib-2.0/glib/gunicode.h \
+  /usr/include/glib-2.0/glib/gutils.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmarkup.h \
+  /usr/include/glib-2.0/glib/gmessages.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+  /usr/include/glib-2.0/glib/gpattern.h \
+  /usr/include/glib-2.0/glib/gprimes.h \
+  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+  /usr/include/glib-2.0/glib/gscanner.h \
+  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+  /usr/include/glib-2.0/glib/gstrfuncs.h \
+  /usr/include/glib-2.0/glib/gthreadpool.h \
+  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+  /usr/include/pango-1.0/pango/pango-types.h \
+  /usr/include/glib-2.0/glib-object.h \
+  /usr/include/glib-2.0/gobject/gboxed.h \
+  /usr/include/glib-2.0/gobject/gtype.h \
+  /usr/include/glib-2.0/gobject/genums.h \
+  /usr/include/glib-2.0/gobject/gobject.h \
+  /usr/include/glib-2.0/gobject/gvalue.h \
+  /usr/include/glib-2.0/gobject/gparam.h \
+  /usr/include/glib-2.0/gobject/gclosure.h \
+  /usr/include/glib-2.0/gobject/gsignal.h \
+  /usr/include/glib-2.0/gobject/gmarshal.h \
+  /usr/include/glib-2.0/gobject/gparamspecs.h \
+  /usr/include/glib-2.0/gobject/gsourceclosure.h \
+  /usr/include/glib-2.0/gobject/gtypemodule.h \
+  /usr/include/glib-2.0/gobject/gtypeplugin.h \
+  /usr/include/glib-2.0/gobject/gvaluearray.h \
+  /usr/include/glib-2.0/gobject/gvaluetypes.h \
+  /usr/include/pango-1.0/pango/pango-break.h \
+  /usr/include/pango-1.0/pango/pango-item.h \
+  /usr/include/pango-1.0/pango/pango-context.h \
+  /usr/include/pango-1.0/pango/pango-fontmap.h \
+  /usr/include/pango-1.0/pango/pango-fontset.h \
+  /usr/include/pango-1.0/pango/pango-engine.h \
+  /usr/include/pango-1.0/pango/pango-glyph.h \
+  /usr/include/pango-1.0/pango/pango-script.h \
+  /usr/include/pango-1.0/pango/pango-enum-types.h \
+  /usr/include/pango-1.0/pango/pango-layout.h \
+  /usr/include/pango-1.0/pango/pango-glyph-item.h \
+  /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
+  /usr/include/pango-1.0/pango/pangoxft.h \
+  /usr/include/pango-1.0/pango/pango-ot.h \
+  /usr/include/pango-1.0/pango/pangofc-font.h /usr/include/ft2build.h \
+  /usr/include/freetype2/freetype/config/ftheader.h \
+  /usr/include/freetype2/freetype/internal/internal.h \
+  /usr/include/freetype2/freetype/freetype.h \
+  /usr/include/freetype2/freetype/config/ftconfig.h \
+  /usr/include/freetype2/freetype/config/ftoption.h \
+  /usr/include/freetype2/freetype/config/ftstdlib.h \
+  /usr/include/freetype2/freetype/fterrors.h \
+  /usr/include/freetype2/freetype/ftmoderr.h \
+  /usr/include/freetype2/freetype/fterrdef.h \
+  /usr/include/freetype2/freetype/fttypes.h \
+  /usr/include/freetype2/freetype/ftsystem.h \
+  /usr/include/freetype2/freetype/ftimage.h \
+  /usr/include/fontconfig/fontconfig.h \
+  /usr/include/pango-1.0/pango/pangoxft-render.h \
+  /usr/X11R6/include/X11/Xft/Xft.h \
+  /usr/X11R6/include/X11/extensions/Xrender.h \
+  /usr/X11R6/include/X11/extensions/render.h \
+  /usr/X11R6/include/X11/Xft/XftCompat.h /usr/include/libmb/mbtray.h \
+  /usr/include/libmb/mbmenu.h /usr/X11R6/include/X11/extensions/shape.h \
+  /usr/include/fakekey/fakekey.h /usr/X11R6/include/X11/Xlibint.h \
+  /usr/X11R6/include/X11/Xproto.h /usr/X11R6/include/X11/Xprotostr.h \
+  /usr/X11R6/include/X11/Xfuncs.h /usr/X11R6/include/X11/cursorfont.h \
+  /usr/X11R6/include/X11/extensions/XTest.h \
+  /usr/X11R6/include/X11/extensions/XInput.h \
+  /usr/X11R6/include/X11/extensions/XI.h /usr/X11R6/include/X11/Xos.h \
+  /usr/X11R6/include/X11/Xarch.h ../config.h \
+  matchbox-keyboard-ui-xft-backend.h
+
+matchbox-keyboard.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/bits/string.h:
+
+/usr/include/bits/string2.h:
+
+/usr/include/strings.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/expat.h:
+
+/usr/include/expat_external.h:
+
+/usr/X11R6/include/X11/Xlib.h:
+
+/usr/X11R6/include/X11/X.h:
+
+/usr/X11R6/include/X11/Xfuncproto.h:
+
+/usr/X11R6/include/X11/Xosdefs.h:
+
+/usr/X11R6/include/X11/Xutil.h:
+
+/usr/X11R6/include/X11/Xatom.h:
+
+/usr/X11R6/include/X11/Xresource.h:
+
+/usr/X11R6/include/X11/keysym.h:
+
+/usr/X11R6/include/X11/keysymdef.h:
+
+/usr/include/libmb/mb.h:
+
+/usr/include/libmb/mbconfig.h:
+
+/usr/include/libmb/mbpixbuf.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/signum.h:
+
+/usr/include/bits/siginfo.h:
+
+/usr/include/bits/sigaction.h:
+
+/usr/include/bits/sigcontext.h:
+
+/usr/include/asm/sigcontext.h:
+
+/usr/include/linux/compiler.h:
+
+/usr/include/bits/sigstack.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/png.h:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+/usr/include/pngconf.h:
+
+/usr/include/setjmp.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/sys/ipc.h:
+
+/usr/include/bits/ipctypes.h:
+
+/usr/include/bits/ipc.h:
+
+/usr/include/sys/shm.h:
+
+/usr/include/bits/shm.h:
+
+/usr/include/sys/time.h:
+
+/usr/X11R6/include/X11/extensions/XShm.h:
+
+/usr/X11R6/include/X11/Xmd.h:
+
+/usr/include/jpeglib.h:
+
+/usr/include/jconfig.h:
+
+/usr/include/jmorecfg.h:
+
+/usr/include/libmb/mbexp.h:
+
+/usr/include/libmb/mbdotdesktop.h:
+
+/usr/include/ctype.h:
+
+/usr/include/dirent.h:
+
+/usr/include/bits/dirent.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/libmb/mbutil.h:
+
+/usr/include/errno.h:
+
+/usr/include/bits/errno.h:
+
+/usr/include/linux/errno.h:
+
+/usr/include/asm/errno.h:
+
+/usr/include/asm-generic/errno.h:
+
+/usr/include/asm-generic/errno-base.h:
+
+/usr/include/sys/wait.h:
+
+/usr/include/sys/resource.h:
+
+/usr/include/bits/resource.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/pango-1.0/pango/pango.h:
+
+/usr/include/pango-1.0/pango/pango-attributes.h:
+
+/usr/include/pango-1.0/pango/pango-font.h:
+
+/usr/include/pango-1.0/pango/pango-coverage.h:
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/lib/gcc-lib/i486-linux/3.3.5/include/float.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/pango-1.0/pango/pango-types.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/pango-1.0/pango/pango-break.h:
+
+/usr/include/pango-1.0/pango/pango-item.h:
+
+/usr/include/pango-1.0/pango/pango-context.h:
+
+/usr/include/pango-1.0/pango/pango-fontmap.h:
+
+/usr/include/pango-1.0/pango/pango-fontset.h:
+
+/usr/include/pango-1.0/pango/pango-engine.h:
+
+/usr/include/pango-1.0/pango/pango-glyph.h:
+
+/usr/include/pango-1.0/pango/pango-script.h:
+
+/usr/include/pango-1.0/pango/pango-enum-types.h:
+
+/usr/include/pango-1.0/pango/pango-layout.h:
+
+/usr/include/pango-1.0/pango/pango-glyph-item.h:
+
+/usr/include/pango-1.0/pango/pango-tabs.h:
+
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
+/usr/include/pango-1.0/pango/pangoxft.h:
+
+/usr/include/pango-1.0/pango/pango-ot.h:
+
+/usr/include/pango-1.0/pango/pangofc-font.h:
+
+/usr/include/ft2build.h:
+
+/usr/include/freetype2/freetype/config/ftheader.h:
+
+/usr/include/freetype2/freetype/internal/internal.h:
+
+/usr/include/freetype2/freetype/freetype.h:
+
+/usr/include/freetype2/freetype/config/ftconfig.h:
+
+/usr/include/freetype2/freetype/config/ftoption.h:
+
+/usr/include/freetype2/freetype/config/ftstdlib.h:
+
+/usr/include/freetype2/freetype/fterrors.h:
+
+/usr/include/freetype2/freetype/ftmoderr.h:
+
+/usr/include/freetype2/freetype/fterrdef.h:
+
+/usr/include/freetype2/freetype/fttypes.h:
+
+/usr/include/freetype2/freetype/ftsystem.h:
+
+/usr/include/freetype2/freetype/ftimage.h:
+
+/usr/include/fontconfig/fontconfig.h:
+
+/usr/include/pango-1.0/pango/pangoxft-render.h:
+
+/usr/X11R6/include/X11/Xft/Xft.h:
+
+/usr/X11R6/include/X11/extensions/Xrender.h:
+
+/usr/X11R6/include/X11/extensions/render.h:
+
+/usr/X11R6/include/X11/Xft/XftCompat.h:
+
+/usr/include/libmb/mbtray.h:
+
+/usr/include/libmb/mbmenu.h:
+
+/usr/X11R6/include/X11/extensions/shape.h:
+
+/usr/include/fakekey/fakekey.h:
+
+/usr/X11R6/include/X11/Xlibint.h:
+
+/usr/X11R6/include/X11/Xproto.h:
+
+/usr/X11R6/include/X11/Xprotostr.h:
+
+/usr/X11R6/include/X11/Xfuncs.h:
+
+/usr/X11R6/include/X11/cursorfont.h:
+
+/usr/X11R6/include/X11/extensions/XTest.h:
+
+/usr/X11R6/include/X11/extensions/XInput.h:
+
+/usr/X11R6/include/X11/extensions/XI.h:
+
+/usr/X11R6/include/X11/Xos.h:
+
+/usr/X11R6/include/X11/Xarch.h:
+
+../config.h:
+
+matchbox-keyboard-ui-xft-backend.h:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,470 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+
+
+SOURCES = $(matchbox_keyboard_SOURCES)
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/matchbox-keyboard
+pkglibdir = $(libdir)/matchbox-keyboard
+pkgincludedir = $(includedir)/matchbox-keyboard
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+bin_PROGRAMS = matchbox-keyboard$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am__matchbox_keyboard_SOURCES_DIST = matchbox-keyboard.c \
+	matchbox-keyboard.h matchbox-keyboard-layout.c \
+	matchbox-keyboard-row.c matchbox-keyboard-key.c \
+	matchbox-keyboard-ui.c matchbox-keyboard-xembed.c \
+	config-parser.c util-list.c util.c \
+	matchbox-keyboard-ui-xft-backend.c \
+	matchbox-keyboard-ui-xft-backend.h \
+	matchbox-keyboard-ui-cairo-backend.c \
+	matchbox-keyboard-ui-cairo-backend.h
+am__objects_1 =  \
+	matchbox-keyboard-ui-xft-backend.$(OBJEXT)
+#am__objects_2 =  \
+#	matchbox-keyboard-ui-cairo-backend.$(OBJEXT)
+am_matchbox_keyboard_OBJECTS = matchbox-keyboard.$(OBJEXT) \
+	matchbox-keyboard-layout.$(OBJEXT) \
+	matchbox-keyboard-row.$(OBJEXT) \
+	matchbox-keyboard-key.$(OBJEXT) matchbox-keyboard-ui.$(OBJEXT) \
+	matchbox-keyboard-xembed.$(OBJEXT) config-parser.$(OBJEXT) \
+	util-list.$(OBJEXT) util.$(OBJEXT) $(am__objects_1) \
+	$(am__objects_2)
+matchbox_keyboard_OBJECTS = $(am_matchbox_keyboard_OBJECTS)
+am__DEPENDENCIES_1 =
+matchbox_keyboard_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(matchbox_keyboard_SOURCES)
+DIST_SOURCES = $(am__matchbox_keyboard_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run aclocal-1.9
+ALLOCA = 
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run tar
+AUTOCONF = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run automake-1.9
+AWK = mawk
+CAIRO_CFLAGS = 
+CAIRO_LIBS = 
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+EXPAT_CFLAGS = 
+EXPAT_LIBS = -L/lib -lexpat
+FAKEKEY_CFLAGS = -g -Wall -fno-strict-aliasing  
+FAKEKEY_LIBS = -L/usr/X11R6/lib -lX11 -lXtst -lfakekey  
+GTK2_CFLAGS = 
+GTK2_LIBS = 
+HAVE_EXPAT = 1
+HAVE_XMLPARSE_H = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LTLIBOBJS = 
+MAINT = #
+MAINTAINER_MODE_FALSE = 
+MAINTAINER_MODE_TRUE = #
+MAKEINFO = ${SHELL} /home/mbox/matchbox-keyboard-0.1/missing --run makeinfo
+OBJEXT = o
+PACKAGE = matchbox-keyboard
+PACKAGE_BUGREPORT = mallum at handhelds.org
+PACKAGE_NAME = matchbox-keyboard
+PACKAGE_STRING = matchbox-keyboard 0.1
+PACKAGE_TARNAME = matchbox-keyboard
+PACKAGE_VERSION = 0.1
+PATH_SEPARATOR = :
+PKG_CONFIG = /usr/bin/pkg-config
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 0.1
+WANT_CAIRO_FALSE = 
+WANT_CAIRO_TRUE = #
+WANT_EXAMPLES_FALSE = 
+WANT_EXAMPLES_TRUE = #
+#XFT_CFLAGS = -I/usr/include/freetype2 -I/usr/X11R6/include 
+XFT_CFLAGS =  -g -Wall -fno-strict-aliasing -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+#XFT_LIBS = -L/usr/X11R6/lib -lXft -lfreetype -lz -lXrender -lX11 -lfontconfig  
+XFT_LIBS = -L/usr/X11R6/lib -lmb -lX11 -lXext -lpng -lz -ljpeg -lpangoxft-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 
+ac_ct_CC = gcc
+ac_ct_STRIP = 
+ac_pt_PKG_CONFIG = /usr/bin/pkg-config
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = 
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias = 
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/mbox/matchbox-keyboard-0.1/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+PREFIXDIR = $(prefix)
+PKGDATADIR = $(datadir)/matchbox-keyboard
+DATADIR = $(datadir)
+#CAIRO_BACKEND_C = \
+#	matchbox-keyboard-ui-cairo-backend.c                          \
+#        matchbox-keyboard-ui-cairo-backend.h
+
+XFT_BACKEND_C = \
+	matchbox-keyboard-ui-xft-backend.c                            \
+        matchbox-keyboard-ui-xft-backend.h
+
+INCLUDES = -DDATADIR=\"$(DATADIR)\" -DPKGDATADIR=\"$(PKGDATADIR)\" -DPREFIX=\"$(PREFIXDIR)\" $(FAKEKEY_CFLAGS) $(XFT_CFLAGS) $(EXPAT_CFLAGS) $(CAIRO_CFLAGS)
+matchbox_keyboard_LDADD = $(FAKEKEY_LIBS) $(XFT_LIBS) $(EXPAT_LIBS) $(CAIRO_LIBS)
+matchbox_keyboard_SOURCES = \
+	matchbox-keyboard.c matchbox-keyboard.h                      \
+	matchbox-keyboard-layout.c                                   \
+        matchbox-keyboard-row.c                                      \
+        matchbox-keyboard-key.c                                      \
+        matchbox-keyboard-ui.c                                       \
+        matchbox-keyboard-xembed.c                                   \
+        config-parser.c                                              \
+	util-list.c                                                  \
+        util.c                                                       \
+	$(XFT_BACKEND_C) $(CAIRO_BACKEND_C)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+matchbox-keyboard$(EXEEXT): $(matchbox_keyboard_OBJECTS) $(matchbox_keyboard_DEPENDENCIES) 
+	@rm -f matchbox-keyboard$(EXEEXT)
+	$(LINK) $(matchbox_keyboard_LDFLAGS) $(matchbox_keyboard_OBJECTS) $(matchbox_keyboard_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/config-parser.Po
+include ./$(DEPDIR)/matchbox-keyboard-key.Po
+include ./$(DEPDIR)/matchbox-keyboard-layout.Po
+include ./$(DEPDIR)/matchbox-keyboard-row.Po
+include ./$(DEPDIR)/matchbox-keyboard-ui-cairo-backend.Po
+include ./$(DEPDIR)/matchbox-keyboard-ui-xft-backend.Po
+include ./$(DEPDIR)/matchbox-keyboard-ui.Po
+include ./$(DEPDIR)/matchbox-keyboard-xembed.Po
+include ./$(DEPDIR)/matchbox-keyboard.Po
+include ./$(DEPDIR)/util-list.Po
+include ./$(DEPDIR)/util.Po
+
+.c.o:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.am	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.am	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,33 @@
+PREFIXDIR  = $(prefix)
+PKGDATADIR = $(datadir)/matchbox-keyboard
+DATADIR    = $(datadir)
+
+
+if WANT_CAIRO
+CAIRO_BACKEND_C =                                                           \
+	matchbox-keyboard-ui-cairo-backend.c                          \
+        matchbox-keyboard-ui-cairo-backend.h
+else
+XFT_BACKEND_C =                                                       \
+	matchbox-keyboard-ui-xft-backend.c                            \
+        matchbox-keyboard-ui-xft-backend.h
+endif
+
+INCLUDES = -DDATADIR=\"$(DATADIR)\" -DPKGDATADIR=\"$(PKGDATADIR)\" -DPREFIX=\"$(PREFIXDIR)\" $(FAKEKEY_CFLAGS) $(XFT_CFLAGS) $(EXPAT_CFLAGS) $(CAIRO_CFLAGS)
+
+bin_PROGRAMS = matchbox-keyboard
+
+matchbox_keyboard_LDADD = $(FAKEKEY_LIBS) $(XFT_LIBS) $(EXPAT_LIBS) $(CAIRO_LIBS)
+
+matchbox_keyboard_SOURCES =                                          \
+	matchbox-keyboard.c matchbox-keyboard.h                      \
+	matchbox-keyboard-layout.c                                   \
+        matchbox-keyboard-row.c                                      \
+        matchbox-keyboard-key.c                                      \
+        matchbox-keyboard-ui.c                                       \
+        matchbox-keyboard-xembed.c                                   \
+        config-parser.c                                              \
+	util-list.c                                                  \
+        util.c                                                       \
+	$(XFT_BACKEND_C) $(CAIRO_BACKEND_C)
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.in
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.in	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/Makefile.in	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,468 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program 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.
+
+ at SET_MAKE@
+
+SOURCES = $(matchbox_keyboard_SOURCES)
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+bin_PROGRAMS = matchbox-keyboard$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am__matchbox_keyboard_SOURCES_DIST = matchbox-keyboard.c \
+	matchbox-keyboard.h matchbox-keyboard-layout.c \
+	matchbox-keyboard-row.c matchbox-keyboard-key.c \
+	matchbox-keyboard-ui.c matchbox-keyboard-xembed.c \
+	config-parser.c util-list.c util.c \
+	matchbox-keyboard-ui-xft-backend.c \
+	matchbox-keyboard-ui-xft-backend.h \
+	matchbox-keyboard-ui-cairo-backend.c \
+	matchbox-keyboard-ui-cairo-backend.h
+ at WANT_CAIRO_FALSE@am__objects_1 =  \
+ at WANT_CAIRO_FALSE@	matchbox-keyboard-ui-xft-backend.$(OBJEXT)
+ at WANT_CAIRO_TRUE@am__objects_2 =  \
+ at WANT_CAIRO_TRUE@	matchbox-keyboard-ui-cairo-backend.$(OBJEXT)
+am_matchbox_keyboard_OBJECTS = matchbox-keyboard.$(OBJEXT) \
+	matchbox-keyboard-layout.$(OBJEXT) \
+	matchbox-keyboard-row.$(OBJEXT) \
+	matchbox-keyboard-key.$(OBJEXT) matchbox-keyboard-ui.$(OBJEXT) \
+	matchbox-keyboard-xembed.$(OBJEXT) config-parser.$(OBJEXT) \
+	util-list.$(OBJEXT) util.$(OBJEXT) $(am__objects_1) \
+	$(am__objects_2)
+matchbox_keyboard_OBJECTS = $(am_matchbox_keyboard_OBJECTS)
+am__DEPENDENCIES_1 =
+matchbox_keyboard_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(matchbox_keyboard_SOURCES)
+DIST_SOURCES = $(am__matchbox_keyboard_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXPAT_CFLAGS = @EXPAT_CFLAGS@
+EXPAT_LIBS = @EXPAT_LIBS@
+FAKEKEY_CFLAGS = @FAKEKEY_CFLAGS@
+FAKEKEY_LIBS = @FAKEKEY_LIBS@
+GTK2_CFLAGS = @GTK2_CFLAGS@
+GTK2_LIBS = @GTK2_LIBS@
+HAVE_EXPAT = @HAVE_EXPAT@
+HAVE_XMLPARSE_H = @HAVE_XMLPARSE_H@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WANT_CAIRO_FALSE = @WANT_CAIRO_FALSE@
+WANT_CAIRO_TRUE = @WANT_CAIRO_TRUE@
+WANT_EXAMPLES_FALSE = @WANT_EXAMPLES_FALSE@
+WANT_EXAMPLES_TRUE = @WANT_EXAMPLES_TRUE@
+XFT_CFLAGS = @XFT_CFLAGS@
+XFT_LIBS = @XFT_LIBS@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+PREFIXDIR = $(prefix)
+PKGDATADIR = $(datadir)/matchbox-keyboard
+DATADIR = $(datadir)
+ at WANT_CAIRO_TRUE@CAIRO_BACKEND_C = \
+ at WANT_CAIRO_TRUE@	matchbox-keyboard-ui-cairo-backend.c                          \
+ at WANT_CAIRO_TRUE@        matchbox-keyboard-ui-cairo-backend.h
+
+ at WANT_CAIRO_FALSE@XFT_BACKEND_C = \
+ at WANT_CAIRO_FALSE@	matchbox-keyboard-ui-xft-backend.c                            \
+ at WANT_CAIRO_FALSE@        matchbox-keyboard-ui-xft-backend.h
+
+INCLUDES = -DDATADIR=\"$(DATADIR)\" -DPKGDATADIR=\"$(PKGDATADIR)\" -DPREFIX=\"$(PREFIXDIR)\" $(FAKEKEY_CFLAGS) $(XFT_CFLAGS) $(EXPAT_CFLAGS) $(CAIRO_CFLAGS)
+matchbox_keyboard_LDADD = $(FAKEKEY_LIBS) $(XFT_LIBS) $(EXPAT_LIBS) $(CAIRO_LIBS)
+matchbox_keyboard_SOURCES = \
+	matchbox-keyboard.c matchbox-keyboard.h                      \
+	matchbox-keyboard-layout.c                                   \
+        matchbox-keyboard-row.c                                      \
+        matchbox-keyboard-key.c                                      \
+        matchbox-keyboard-ui.c                                       \
+        matchbox-keyboard-xembed.c                                   \
+        config-parser.c                                              \
+	util-list.c                                                  \
+        util.c                                                       \
+	$(XFT_BACKEND_C) $(CAIRO_BACKEND_C)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+matchbox-keyboard$(EXEEXT): $(matchbox_keyboard_OBJECTS) $(matchbox_keyboard_DEPENDENCIES) 
+	@rm -f matchbox-keyboard$(EXEEXT)
+	$(LINK) $(matchbox_keyboard_LDFLAGS) $(matchbox_keyboard_OBJECTS) $(matchbox_keyboard_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/config-parser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-key.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-layout.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-row.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-ui-cairo-backend.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-ui-xft-backend.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-ui.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard-xembed.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matchbox-keyboard.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util-list.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Po at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binPROGRAMS \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/config-parser.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/config-parser.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/config-parser.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,568 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+/* 
+    <keyboard>
+
+    <options>
+       <font prefered-size=''>
+       <size fixed='100x100'>
+       <padding>
+    </options>
+
+    <layout id="name">
+      <row>
+        <key id="optional-id" obey-caps='true|false'
+	     width="1000"   // 1/1000's of a unit key size
+	     fill="true"    // Set width to available space
+	     
+             >
+	  <defualt
+	     display="a"                
+	     display="image:" 
+	     action="utf8char"     // optional, action defulats to this    
+	     action="string"       // from lookup below
+	     action="modifier:Shift|Alt|ctrl|mod1|mod2|mod3|caps"
+	     action="xkeysym:XK_BLAH"
+	  <shifted 
+	     ...... >
+	  <mod1
+	     ...... >
+	     
+	/>
+        <key ... />
+	<key ... />
+	<space width="1000"
+      </row>
+    </layout>
+
+
+    </keyboard>
+*/
+
+struct _keysymlookup
+{
+  KeySym keysym;   char *name;  
+} 
+MBKeyboardKeysymLookup[] =
+{
+ { XK_BackSpace,   "backspace" },
+ { XK_Tab,	   "tab"       },
+ { XK_Linefeed,    "linefeed"  },
+ { XK_Clear,       "clear"     },	
+ { XK_Return,      "return"    },
+ { XK_Pause,       "pause" },	
+ { XK_Scroll_Lock, "scrolllock" },	
+ { XK_Sys_Req,     "sysreq" },
+ { XK_Escape,      "escape" },	
+ { XK_Delete,      "delete" },	
+ { XK_Home,        "home" },
+ { XK_Left,        "left" },
+ { XK_Up,          "up"   },
+ { XK_Right,       "right" },
+ { XK_Down,        "down"  },
+ { XK_Prior,       "prior" },		
+ { XK_Page_Up,     "pageup" },	
+ { XK_Next,        "next"   },
+ { XK_Page_Down,   "pagedown" },
+ { XK_End,         "end" },
+ { XK_Begin,	   "begin" },
+ { XK_space,        "space" },
+ { XK_F1,          "f1" },
+ { XK_F2,          "f2" },
+ { XK_F3,          "f3" },
+ { XK_F4,          "f4" },
+ { XK_F5,          "f5" },
+ { XK_F6,          "f6" },
+ { XK_F7,          "f7" },
+ { XK_F8,          "f8" },
+ { XK_F9,          "f9" },
+ { XK_F10,         "f10" },
+ { XK_F11,         "f11" },
+ { XK_F12,         "f12" }
+};
+
+struct _modlookup
+{
+  char *name; MBKeyboardKeyModType type;
+}
+ModLookup[] =
+{
+  { "shift",   MBKeyboardKeyModShift },
+  { "alt",     MBKeyboardKeyModAlt },
+  { "ctrl",    MBKeyboardKeyModControl },
+  { "control", MBKeyboardKeyModControl },
+  { "mod1",    MBKeyboardKeyModMod1 },
+  { "mod2",    MBKeyboardKeyModMod2 },
+  { "mod3",    MBKeyboardKeyModMod3 },
+  { "caps",    MBKeyboardKeyModCaps }
+};
+
+typedef struct MBKeyboardConfigState
+{
+  MBKeyboard       *keyboard;
+  MBKeyboardLayout *current_layout;
+  MBKeyboardRow    *current_row;
+  MBKeyboardKey    *current_key;
+  Bool              error;
+  char             *error_msg;
+}
+MBKeyboardConfigState;
+
+KeySym
+config_str_to_keysym(const char* str)
+{
+  int i;
+
+  DBG("checking %s", str);
+
+  for (i=0; i<sizeof(MBKeyboardKeysymLookup)/sizeof(struct _keysymlookup); i++)
+    if (streq(str, MBKeyboardKeysymLookup[i].name))
+      return MBKeyboardKeysymLookup[i].keysym;
+
+  DBG("didnt find it %s", str);
+
+  return 0;
+}
+
+MBKeyboardKeyModType
+config_str_to_modtype(const char* str)
+{
+  int i;
+
+  for (i=0; i<sizeof(ModLookup)/sizeof(struct _modlookup); i++)
+    {
+      DBG("checking '%s' vs '%s'", str, ModLookup[i].name);
+      if (streq(str, ModLookup[i].name))
+	return ModLookup[i].type;
+    }
+
+  return 0;
+}
+
+
+static char* 
+config_load_file(MBKeyboard *kbd, char *variant_in)
+{
+  struct stat    stat_info;
+  FILE*          fp;
+  char          *result;
+  char          *country  = NULL;  
+  char          *variant  = NULL;
+  char          *lang     = NULL;
+  int            n = 0, i = 0;
+  char           path[1024]; 	/* XXX MAXPATHLEN */
+
+  /* keyboard[-country][-variant].xml */
+
+  /* This is an overide mainly for people developing keyboard layouts  */
+
+  if (getenv("MB_KBD_CONFIG"))
+    {
+      snprintf(path, 1024, "%s", getenv("MB_KBD_CONFIG"));
+
+      DBG("checking %s\n", path);
+
+      if (util_file_readable(path))
+	goto load;
+
+      return NULL;
+    }
+
+  lang = getenv("MB_KBD_LANG");
+
+  if (lang == NULL)
+    lang = getenv("LANG");
+
+  if (lang)
+    {
+      n = strlen(lang) + 2;
+
+      country = alloca(n);
+
+      snprintf(country, n, "-%s", lang);
+
+      /* strip anything after first '.' */
+      while(country[i] != '\0')
+	if (country[i] == '.')
+	  country[i] = '\0';
+	else
+	  i++;
+    }
+
+  if (variant_in)
+    {
+      n = strlen(variant_in) + 2;
+      variant = alloca(n);
+      snprintf(variant, n, "-%s", variant_in);
+    }
+
+  if (getenv("HOME"))
+    {
+      snprintf(path, 1024, "%s/.matchbox/keyboard.xml", getenv("HOME"));
+
+      DBG("checking %s\n", path);
+
+      if (util_file_readable(path))
+	goto load;
+    }
+
+  /* Hmmm :/ */
+ 
+  snprintf(path, 1024, PKGDATADIR "/keyboard%s%s.xml",
+	   country == NULL ? "" : country,
+	   variant == NULL ? "" : variant);
+
+  DBG("checking %s\n", path);
+  
+  if (util_file_readable(path))
+    goto load;
+
+  snprintf(path, 1024, PKGDATADIR "/keyboard%s.xml",
+	   variant == NULL ? "" : variant);
+
+  DBG("checking %s\n", path);
+
+  if (util_file_readable(path))
+    goto load;
+
+  snprintf(path, 1024, PKGDATADIR "/keyboard%s.xml",
+	   country == NULL ? "" : country);
+
+  DBG("checking %s\n", path);
+
+  if (util_file_readable(path))
+    goto load;
+
+  snprintf(path, 1024, PKGDATADIR "/keyboard.xml");
+  
+  DBG("checking %s\n", path);
+
+  if (!util_file_readable(path))
+    return NULL;
+
+ load:
+
+  if (stat(path, &stat_info)) 
+    return NULL;
+
+  if ((fp = fopen(path, "rb")) == NULL) 
+    return NULL;
+
+  DBG("loading %s\n", path);
+
+  kbd->config_file = strdup(path);
+
+  result = malloc(stat_info.st_size + 1);
+
+  n = fread(result, 1, stat_info.st_size, fp);
+
+  if (n >= 0) result[n] = '\0';
+  
+  fclose(fp);
+
+  return result;
+}
+
+static const char *
+attr_get_val (char *key, const char **attr)
+{
+  int i = 0;
+  
+  while (attr[i] != NULL)
+    {
+      if (!strcmp(attr[i], key))
+	return attr[i+1];
+      i += 2;
+    }
+  
+  return NULL;
+}
+
+
+static void
+config_handle_key_subtag(MBKeyboardConfigState *state,
+			 const char            *tag,
+			 const char           **attr)
+{
+  MBKeyboardKeyStateType keystate;
+  const char            *val;
+  KeySym                 found_keysym;
+
+  /* TODO: Fix below with a lookup table 
+   */
+  if (streq(tag, "normal") || streq(tag, "default"))
+    {
+      keystate = MBKeyboardKeyStateNormal;
+    }
+  else if (streq(tag, "shifted"))
+    {
+      keystate = MBKeyboardKeyStateShifted;
+    }
+  else if (streq(tag, "mod1"))
+    {
+      keystate = MBKeyboardKeyStateMod1;
+    }
+  else if (streq(tag, "mod2"))
+    {
+      keystate = MBKeyboardKeyStateMod2;
+    }
+  else if (streq(tag, "mod3"))
+    {
+      keystate = MBKeyboardKeyStateMod3;
+    }
+  else
+    {
+      state->error = True;
+      return;
+    }
+
+  if ((val = attr_get_val("display", attr)) == NULL)
+    {
+      state->error = True;
+      return;
+    }
+
+  mb_kbd_key_set_glyph_face(state->current_key, keystate, 
+			    attr_get_val("display", attr));
+
+  if ((val = attr_get_val("action", attr)) != NULL)
+    {
+      /*
+	     action="utf8char"     // optional, action defulats to this    
+	     action="modifier:Shift|Alt|ctrl|mod1|mod2|mod3|caps"
+	     action="xkeysym:XK_BLAH"
+	     action="control:">    // return etc - not needed use lookup 
+      */
+
+      if (!strncmp(val, "modifier:", 9))
+	{
+	  MBKeyboardKeyModType found_type;
+
+	  DBG("checking '%s'", &val[9]);
+
+	  found_type = config_str_to_modtype(&val[9]);
+
+	  if (found_type)
+	    {
+	      mb_kbd_key_set_modifer_action(state->current_key,
+					    keystate,
+					    found_type);
+	    }
+	  else
+	    {
+	      state->error = True;
+	      return;
+	    }
+	  
+	}
+      else if (!strncmp(val, "xkeysym:", 8))
+	{
+	  DBG("Checking %s\n", &val[8]);
+
+	  found_keysym = XStringToKeysym(&val[8]);
+
+	  if (found_keysym)
+	    {
+	      mb_kbd_key_set_keysym_action(state->current_key, 
+					   keystate,
+					   found_keysym);
+	    }
+	  else 
+	    {
+	      /* Should this error really be terminal */
+	      state->error = True;
+	      return;
+	    }
+	}
+      else
+	{
+	  /* Its just 'regular' key  */
+
+	  if (strlen(val) > 1  	/* match backspace, return etc */
+	      && ((found_keysym  = config_str_to_keysym(val)) != 0))
+	    {
+	      mb_kbd_key_set_keysym_action(state->current_key, 
+					   keystate,
+					   found_keysym);
+	    }
+	  else
+	    {
+	      /* XXX We should actually check its a single UTF8 Char here */
+	      mb_kbd_key_set_char_action(state->current_key, 
+					 keystate, val);
+	    }
+	}
+    }
+  else /* fallback to reusing whats displayed  */
+    {
+
+      /* display could be an image in which case we should throw an error 
+       * or summin.
+      */
+
+      mb_kbd_key_set_char_action(state->current_key, 
+				 keystate, 
+				 attr_get_val("display", attr));
+    }
+
+}
+
+static void
+config_handle_layout_tag(MBKeyboardConfigState *state, const char **attr)
+{
+  const char            *val;
+
+  if ((val = attr_get_val("id", attr)) == NULL)
+    {
+      state->error = True;
+      return;
+    }
+
+  state->current_layout = mb_kbd_layout_new(state->keyboard, val);
+
+  mb_kbd_add_layout(state->keyboard, state->current_layout);
+}
+
+static void
+config_handle_row_tag(MBKeyboardConfigState *state, const char **attr)
+{
+  state->current_row = mb_kbd_row_new(state->keyboard);
+  mb_kbd_layout_append_row(state->current_layout, state->current_row);
+}
+
+static void
+config_handle_key_tag(MBKeyboardConfigState *state, const char **attr)
+{
+  const char *val;
+  DBG("got key");
+
+  state->current_key = mb_kbd_key_new(state->keyboard);
+
+  if ((val = attr_get_val("obey-caps", attr)) != NULL)
+    {
+      if (strcaseeq(val, "true"))
+	mb_kbd_key_set_obey_caps(state->current_key, True);
+    }
+
+  if ((val = attr_get_val("extended", attr)) != NULL)
+    {
+      if (strcaseeq(val, "true"))
+	mb_kbd_key_set_extended(state->current_key, True);
+    }
+
+  if ((val = attr_get_val("width", attr)) != NULL)
+    {
+      if (atoi(val) > 0)
+	mb_kbd_key_set_req_uwidth(state->current_key, atoi(val));
+    }
+
+  if ((val = attr_get_val("fill", attr)) != NULL)
+    {
+      if (strcaseeq(val, "true"))
+	mb_kbd_key_set_fill(state->current_key, True);
+    }
+
+  mb_kbd_row_append_key(state->current_row, state->current_key);
+}
+
+static void 
+config_xml_start_cb(void *data, const char *tag, const char **attr)
+{
+  MBKeyboardConfigState *state = (MBKeyboardConfigState *)data;
+
+  if (streq(tag, "layout"))
+    {
+      config_handle_layout_tag(state, attr);
+    }
+  else if (streq(tag, "row"))
+    {
+      config_handle_row_tag(state, attr);
+    }
+  else if (streq(tag, "key"))
+    {
+      config_handle_key_tag(state, attr);
+    }
+  else  if (streq(tag, "space"))
+    {
+      config_handle_key_tag(state, attr);
+      mb_kbd_key_set_blank(state->current_key, True);
+    }
+  else if (streq(tag, "normal") 
+	   || streq(tag, "default")
+	   || streq(tag, "shifted")
+	   || streq(tag, "mod1")
+	   || streq(tag, "mod2")
+	   || streq(tag, "mod3"))
+    {
+      config_handle_key_subtag(state, tag, attr);
+    }
+
+  if (state->error)
+    {
+      util_fatal_error("Error parsing\n");
+    }
+}
+
+
+int
+mb_kbd_config_load(MBKeyboard *kbd, char *variant)
+{
+  char                  *data;
+  XML_Parser             p;
+  MBKeyboardConfigState *state;
+
+  if ((data = config_load_file(kbd, variant)) == NULL)
+    util_fatal_error("Couldn't find a keyboard config file\n");
+
+  p = XML_ParserCreate(NULL);
+
+  if (!p) 
+    util_fatal_error("Couldn't allocate memory for XML parser\n");
+
+  if (variant && !strstr(kbd->config_file, variant))
+    fprintf(stderr, 
+	    "matchbox-keyboard: *Warning* Unable to locate variant: %s\n"
+	    "                   falling back to %s\n",
+	    variant, kbd->config_file);
+
+  state = util_malloc0(sizeof(MBKeyboardConfigState));
+
+  state->keyboard = kbd;
+
+  XML_SetElementHandler(p, config_xml_start_cb, NULL);
+
+  /* XML_SetCharacterDataHandler(p, chars); */
+
+  XML_SetUserData(p, (void *)state);
+
+  if (! XML_Parse(p, data, strlen(data), 1)) {
+    fprintf(stderr, 
+	    "matchbox-keyboard: XML Parse error at line %d:\n%s\n of %s",
+	    XML_GetCurrentLineNumber(p),
+	    XML_ErrorString(XML_GetErrorCode(p)),
+	    kbd->config_file);
+    util_fatal_error("XML Parse failed.\n");
+  }
+
+  return 1;
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-key.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-key.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-key.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,709 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+#define MBKB_N_KEY_STATES 5
+
+typedef struct MBKeyboardKeyFace
+{
+  MBKeyboardKeyFaceType  type;
+
+  union
+  {
+    void *image;
+    char *str;
+  } u;
+} 
+MBKeyboardKeyFace;
+
+typedef struct MBKeyboardKeyAction
+{
+  MBKeyboardKeyActionType  type;
+  union 
+  {
+    char                  *glyph;
+    KeySym                 keysym;
+    MBKeyboardKeyModType   type;
+  } u;
+} 
+MBKeyboardKeyAction;
+
+
+/* A key can have 5 different 'states' */
+
+typedef struct MBKeyboardKeyState
+{
+  MBKeyboardKeyAction action;
+  MBKeyboardKeyFace   face;
+
+} MBKeyboardKeyState;
+
+struct MBKeyboardKey
+{
+  MBKeyboard            *kbd;
+  MBKeyboardKeyState    *states[N_MBKeyboardKeyStateTypes];
+  MBKeyboardRow         *row;
+
+  int                    alloc_x, alloc_y, alloc_width, alloc_height;
+
+  int                    extra_width_pad;  /* via win resizes */
+  int                    extra_height_pad;
+
+  boolean                obeys_caps;
+  boolean                fill;	     /* width fills avialble space */
+  int                    req_uwidth; /* unit width in 1/1000's */
+  boolean                is_blank;   /* 'blank' keys are spacers */
+  boolean                extended;   /* only show in landscape */
+  
+  MBPixbufImage 				 *img;
+
+  MBKeyboardStateType    sets_kbdstate; /* needed */
+};
+
+static void
+_mb_kbd_key_init_state(MBKeyboardKey           *key,
+		       MBKeyboardKeyStateType   state)
+{
+  key->states[state] = util_malloc0(sizeof(MBKeyboardKeyState));
+}
+
+MBKeyboardKey*
+mb_kbd_key_new(MBKeyboard *kbd)
+{
+  MBKeyboardKey *key = NULL;
+  int            i;
+
+  key      = util_malloc0(sizeof(MBKeyboardKey));
+  key->kbd = kbd;
+
+  for (i=0; i<N_MBKeyboardKeyStateTypes; i++)
+    key->states[i] = NULL;
+
+  return key;
+}
+
+void
+mb_kbd_key_set_obey_caps(MBKeyboardKey  *key, boolean obey)
+{
+  key->obeys_caps = obey;
+}
+
+boolean
+mb_kbd_key_get_obey_caps(MBKeyboardKey  *key)
+{
+  return key->obeys_caps;
+}
+
+void
+mb_kbd_key_set_req_uwidth(MBKeyboardKey  *key, int uwidth)
+{
+  key->req_uwidth = uwidth;
+}
+
+int
+mb_kbd_key_get_req_uwidth(MBKeyboardKey  *key)
+{
+  return key->req_uwidth;
+}
+
+void
+mb_kbd_key_set_fill(MBKeyboardKey  *key, boolean fill)
+{
+  MARK();
+  key->fill = fill;
+}
+
+boolean
+mb_kbd_key_get_fill(MBKeyboardKey  *key)
+{
+  return key->fill;
+}
+
+void
+mb_kbd_key_set_blank(MBKeyboardKey  *key, boolean blank)
+{
+  key->is_blank = blank;
+}
+
+boolean
+mb_kbd_key_is_blank(MBKeyboardKey  *key)
+{
+  return key->is_blank;
+}
+
+
+void
+mb_kbd_key_set_geometry(MBKeyboardKey  *key,
+			int x,
+			int y,
+			int width,
+			int height)
+{
+  if (x != -1)
+    key->alloc_x = x;
+
+  if (y != -1)
+    key->alloc_y = y;
+
+  if (width != -1)
+    key->alloc_width = width;
+
+  if (height != -1)
+    key->alloc_height = height;
+}
+
+int 
+mb_kbd_key_abs_x(MBKeyboardKey *key) 
+{ 
+  return mb_kbd_row_x(key->row) + key->alloc_x;
+}
+
+int 
+mb_kbd_key_abs_y(MBKeyboardKey *key) 
+{ 
+  return mb_kbd_row_y(key->row) + key->alloc_y;
+}
+
+int 
+mb_kbd_key_x(MBKeyboardKey *key) 
+{ 
+  return key->alloc_x;
+}
+
+int 
+mb_kbd_key_y(MBKeyboardKey *key) 
+{ 
+  return key->alloc_y;
+}
+
+int 
+mb_kbd_key_width(MBKeyboardKey *key) 
+{ 
+  return key->alloc_width;
+}
+
+MBPixbufImage *
+mb_kbd_key_img(MBKeyboardKey *key) 
+{ 
+  return key->img;
+}
+
+int 
+mb_kbd_key_height(MBKeyboardKey *key) 
+{ 
+  return key->alloc_height;
+}
+
+void
+mb_kbd_key_set_extra_width_pad(MBKeyboardKey  *key, int pad)
+{
+  key->alloc_width -= key->extra_width_pad;
+  key->extra_width_pad = pad;
+  key->alloc_width += key->extra_width_pad;
+}
+
+void
+mb_kbd_key_set_extra_height_pad(MBKeyboardKey  *key, int pad)
+{
+  key->alloc_height -= key->extra_height_pad;
+  key->extra_height_pad = pad;
+  key->alloc_height += key->extra_height_pad;
+}
+
+int
+mb_kbd_key_get_extra_height_pad(MBKeyboardKey  *key)
+{
+  return key->extra_height_pad;
+}
+
+int
+mb_kbd_key_get_extra_width_pad(MBKeyboardKey  *key)
+{
+  return key->extra_width_pad;
+}
+
+void
+mb_kbd_key_set_extended(MBKeyboardKey  *key, boolean extend)
+{
+  key->extended = extend;
+}
+
+boolean
+mb_kbd_key_get_extended(MBKeyboardKey  *key)
+{
+  return key->extended;
+}
+
+
+/* URG Nasty - some stuf should be public-ish */
+void 
+mb_kbd_key_set_row(MBKeyboardKey *key, MBKeyboardRow *row) 
+{ 
+  key->row = row;
+}
+
+
+boolean
+mb_kdb_key_has_state(MBKeyboardKey           *key,
+		     MBKeyboardKeyStateType   state)
+{
+  return (key->states[state] != NULL);
+}
+
+void
+mb_kbd_key_set_glyph_face(MBKeyboardKey           *key,
+			  MBKeyboardKeyStateType   state,
+			  const char              *glyph)
+{
+  if (key->states[state] == NULL)
+    _mb_kbd_key_init_state(key, state);
+
+  key->states[state]->face.type    = MBKeyboardKeyFaceGlyph;
+  key->states[state]->face.u.str   = strdup(glyph);
+}
+
+const char*
+mb_kbd_key_get_glyph_face(MBKeyboardKey           *key,
+			  MBKeyboardKeyStateType   state)
+{
+  if (key->states[state] 
+      && key->states[state]->face.type == MBKeyboardKeyFaceGlyph)
+    {
+      return key->states[state]->face.u.str;
+    }
+  return NULL;
+}
+
+void
+mb_kbd_key_set_image_face(MBKeyboardKey           *key,
+			  MBKeyboardKeyStateType   state,
+			  void                    *image)
+{
+
+  if (key->states[state] == NULL)
+    _mb_kbd_key_init_state(key, state);
+
+  key->states[state]->face.type    = MBKeyboardKeyFaceImage;
+  key->states[state]->face.u.image = image;
+}
+
+void
+mb_kbd_key_set_image_face2(MBKeyboardUI  *ui,
+				MBKeyboardKey           *key)
+{
+	MBPixbuf							*pixbuf;
+	
+	pixbuf			= mb_kbd_ui_pixbuf(ui);
+	
+  if ((key->img = mb_pixbuf_img_new_from_file(pixbuf, "/usr/share/pixmaps/keyboard_one.png")) == NULL)
+	{
+	  fprintf(stderr,"Failed to load keyboard_one : %s", "/usr/share/pixmaps/keyboard_one.png");
+	  return;
+	}
+}
+
+void
+mb_kbd_key_composite_bg(MBKeyboardUI  *ui,
+				MBKeyboardKey           *key)
+{
+	MBPixbuf							*pixbuf;
+	XRectangle             rect;
+	MBPixbufImage				  *bg_img;
+	MBPixbufImage 				*key_img; 
+	MBPixbufImage 				*icon_img_small;
+	
+  rect.x      = mb_kbd_key_abs_x(key); 
+  rect.y      = mb_kbd_key_abs_y(key); 
+  rect.width  = mb_kbd_key_width(key);       
+  rect.height = mb_kbd_key_height(key);       
+
+	key_img			= mb_kbd_key_img(key);
+		
+	pixbuf			= mb_kbd_ui_pixbuf(ui);
+	bg_img			= mb_kbd_ui_bg_img(ui);
+	
+  if (rect.x + rect.width >= mb_kbd_ui_x_win_width(ui)) 
+    rect.width  = mb_kbd_ui_x_win_width(ui) - rect.x - 1;
+
+  if (rect.y + rect.height >= mb_kbd_ui_x_win_height(ui)) 
+    rect.height  = mb_kbd_ui_x_win_height(ui) - rect.y - 1;	
+    
+// fprintf(stderr, "keyboard: === rect.x=[%d] rect.y[%d] rect.w=[%d] rect.h=[%d]\n", rect.x, rect.y, rect.width, rect.height);
+   fprintf(stderr, "keyboard: === xwin.w=[%d] xwin.h=[%d]\n", mb_kbd_ui_x_win_width(ui), mb_kbd_ui_x_win_height(ui));
+    	
+	if(key_img)
+	{
+			icon_img_small = mb_pixbuf_img_scale(pixbuf, key_img, rect.width, rect.height);
+			mb_pixbuf_img_composite(pixbuf, bg_img, 
+	  			icon_img_small, 
+	  			rect.x, rect.y);	
+	} 
+	
+	mb_pixbuf_img_free(pixbuf, icon_img_small);	  	
+	
+}
+
+
+
+void
+mb_kbd_key_set_char_action(MBKeyboardKey           *key,
+			   MBKeyboardKeyStateType   state,
+			   const char              *glyphs)
+{
+  if (key->states[state] == NULL)
+    _mb_kbd_key_init_state(key, state);
+  
+  key->states[state]->action.type = MBKeyboardKeyActionGlyph;
+  key->states[state]->action.u.glyph = strdup(glyphs);
+}
+
+const char*
+mb_kbd_key_get_char_action(MBKeyboardKey           *key,
+			   MBKeyboardKeyStateType   state)
+{
+  if (key->states[state] 
+      && key->states[state]->action.type == MBKeyboardKeyActionGlyph)
+    return key->states[state]->action.u.glyph;
+
+  return NULL;
+}
+
+void
+mb_kbd_key_set_keysym_action(MBKeyboardKey           *key,
+			     MBKeyboardKeyStateType   state,
+			     KeySym                   keysym)
+{
+  if (key->states[state] == NULL)
+    _mb_kbd_key_init_state(key, state);
+
+  key->states[state]->action.type = MBKeyboardKeyActionXKeySym;
+  key->states[state]->action.u.keysym = keysym;
+}
+
+KeySym
+mb_kbd_key_get_keysym_action(MBKeyboardKey           *key,
+			     MBKeyboardKeyStateType   state)
+{
+  if (key->states[state] 
+      && key->states[state]->action.type == MBKeyboardKeyActionXKeySym)
+    return key->states[state]->action.u.keysym;
+
+  return None;
+}
+
+
+void
+mb_kbd_key_set_modifer_action(MBKeyboardKey          *key,
+			      MBKeyboardKeyStateType  state,
+			      MBKeyboardKeyModType    type)
+{
+  if (key->states[state] == NULL)
+    _mb_kbd_key_init_state(key, state);
+
+  key->states[state]->action.type = MBKeyboardKeyActionModifier;
+  key->states[state]->action.u.type   = type;
+}
+
+MBKeyboardKeyModType 
+mb_kbd_key_get_modifer_action(MBKeyboardKey          *key,
+			      MBKeyboardKeyStateType  state)
+{
+  if (key->states[state] 
+      && key->states[state]->action.type == MBKeyboardKeyActionModifier)
+    return key->states[state]->action.u.type;
+
+  return 0;
+}
+
+
+MBKeyboardKeyFaceType
+mb_kbd_key_get_face_type(MBKeyboardKey           *key,
+			 MBKeyboardKeyStateType   state)
+{
+  if (key->states[state]) 
+    return key->states[state]->face.type;
+
+  return 0;
+}
+
+
+MBKeyboardKeyActionType
+mb_kbd_key_get_action_type(MBKeyboardKey           *key,
+			   MBKeyboardKeyStateType   state)
+{
+  if (key->states[state]) 
+    return key->states[state]->action.type;
+
+  return 0;
+}
+
+
+void
+mb_kbd_key_press(MBKeyboardKey *key)
+{
+  /* XXX what about state handling XXX */
+  MBKeyboardKeyStateType state;
+  int                    flags = 0;
+  boolean                queue_full_kbd_redraw = False;
+
+  if (mb_kbd_key_is_blank(key))
+    return;
+
+  state = mb_kbd_keys_current_state(key->kbd);
+
+  if (mb_kbd_has_state(key->kbd, MBKeyboardStateCaps)
+      && mb_kbd_key_get_obey_caps(key))
+    state = MBKeyboardKeyStateShifted;
+
+  /* XXX below fakekey mods probably better in ui */
+
+  if (state == MBKeyboardKeyStateShifted)
+    flags |= FAKEKEYMOD_SHIFT; 	/* does fakekey actually need this ? */
+
+  if (mb_kbd_has_state(key->kbd, MBKeyboardStateControl))
+    flags |= FAKEKEYMOD_CONTROL;
+
+  if (mb_kbd_has_state(key->kbd, MBKeyboardStateAlt))
+    flags |= FAKEKEYMOD_ALT;
+
+  if (!mb_kdb_key_has_state(key, state))
+    {
+      if (state == MBKeyboardKeyStateNormal)
+	return;  /* keys should at least have a normal state */
+      else
+        state = MBKeyboardKeyStateNormal;
+    }
+
+  switch (mb_kbd_key_get_action_type(key, state))
+    {
+    case MBKeyboardKeyActionGlyph:
+      {
+	const char *key_char;
+
+	if ((key_char = mb_kbd_key_get_char_action(key, state)) != NULL)
+	  {
+	    mb_kbd_ui_send_press(key->kbd->ui, key_char, flags);
+	    mb_kbd_set_held_key(key->kbd, key);
+	  }
+	break;
+
+
+      }
+    case MBKeyboardKeyActionXKeySym:
+      {
+	KeySym ks;
+	if ((ks = mb_kbd_key_get_keysym_action(key, state)) != None)
+	  {
+	    mb_kbd_ui_send_keysym_press(key->kbd->ui, ks, flags);
+	    mb_kbd_set_held_key(key->kbd, key);
+	  }
+	break;
+      }
+    case MBKeyboardKeyActionModifier:
+      {
+	
+	switch ( mb_kbd_key_get_modifer_action(key, state) )
+	  {
+	  case MBKeyboardKeyModShift:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateShifted);
+	    queue_full_kbd_redraw = True;
+	    break;
+	  case MBKeyboardKeyModMod1:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateMod1);
+	    queue_full_kbd_redraw = True;
+	    break;
+	  case MBKeyboardKeyModMod2:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateMod2);
+	    queue_full_kbd_redraw = True;
+	    break;
+	  case MBKeyboardKeyModMod3:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateMod3);
+	    queue_full_kbd_redraw = True;
+	    break;
+	  case MBKeyboardKeyModCaps:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateCaps);
+	    queue_full_kbd_redraw = True;
+	    break;
+          case MBKeyboardKeyModControl:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateControl);
+	    break;
+	  case MBKeyboardKeyModAlt:
+	    mb_kbd_toggle_state(key->kbd, MBKeyboardStateAlt);
+	    break;
+	  default:
+	    DBG("unknown modifier action");
+	    break;
+	  }
+
+	/* we dont actually have to send a key sym here - but should we ? 
+         *
+         * Also we dont set a held key, as we've changed the keyboard 
+         * state instead.
+	*/
+	break;
+      }
+
+    default:
+      break;
+    }  
+  
+  if (queue_full_kbd_redraw)
+    mb_kbd_redraw(key->kbd);
+  else
+    mb_kbd_redraw_key(key->kbd, key);
+}
+
+boolean 
+mb_kbd_key_is_held(MBKeyboard *kbd, MBKeyboardKey *key)
+{
+  MBKeyboardKeyStateType  state;
+
+  if (mb_kbd_get_held_key(key->kbd) ==  key)
+    return True;
+
+  /* XXX below should probably go into own func */
+
+  state = mb_kbd_keys_current_state(kbd); 
+
+  if (!mb_kdb_key_has_state(key, state))
+    {
+      if (state == MBKeyboardKeyStateNormal)
+	return False;  /* keys should at least have a normal state */
+      else
+        state = MBKeyboardKeyStateNormal;
+    }
+
+  if (mb_kbd_key_get_action_type(key, state) == MBKeyboardKeyActionModifier)
+    {
+	switch ( mb_kbd_key_get_modifer_action(key, state) )
+	  {
+	  case MBKeyboardKeyModShift:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateShifted))
+	      return True;
+	    break;
+	  case MBKeyboardKeyModMod1:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateMod1))
+	      return True;
+	    break;
+	  case MBKeyboardKeyModMod2:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateMod2))
+	      return True;
+	    break;
+	  case MBKeyboardKeyModMod3:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateMod3))
+	      return True;
+	    break;
+	  case MBKeyboardKeyModCaps:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateCaps))
+	      return True;
+	    break;
+          case MBKeyboardKeyModControl:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateControl))
+	      return True;
+	    break;
+	  case MBKeyboardKeyModAlt:
+	    if (mb_kbd_has_state(kbd, MBKeyboardStateAlt))
+	      return True;
+	    break;
+	  default:
+	    DBG("unknown modifier action");
+	    break;
+	  }
+    }
+
+  return False;
+}
+
+void
+mb_kbd_key_release(MBKeyboard *kbd)
+{
+  MBKeyboardKey *key = mb_kbd_get_held_key(kbd);
+
+  mb_kbd_set_held_key(kbd, NULL);
+
+  if (key)
+    {
+      boolean queue_full_kbd_redraw = False;
+
+      if (mb_kbd_key_get_action_type(key, MBKeyboardKeyStateNormal) != MBKeyboardKeyActionModifier)
+	{
+	  if (mb_kbd_has_any_state(kbd))
+	    {
+	      mb_kbd_remove_state(kbd, (MBKeyboardStateShifted|
+					MBKeyboardStateMod1|
+					MBKeyboardStateMod2|
+					MBKeyboardStateMod3|
+					MBKeyboardStateControl|
+					MBKeyboardStateAlt));
+	      queue_full_kbd_redraw = True;
+	    }
+	}
+
+      if (queue_full_kbd_redraw)
+	mb_kbd_redraw(key->kbd);
+      else
+	mb_kbd_redraw_key(key->kbd, key);
+
+      mb_kbd_ui_send_release(kbd->ui);
+    }
+}
+
+void
+mb_kbd_key_dump_key(MBKeyboardKey *key)
+{
+  int i;
+
+  char state_lookup[][32] =
+    {
+      /* MBKeyboardKeyStateNormal  */ "Normal",
+      /* MBKeyboardKeyStateShifted */ "Shifted" ,
+      /* MBKeyboardKeyStateMod1,    */ "Mod1" ,
+      /* MBKeyboardKeyStateMod2,    */ "Mod2" ,
+      /* MBKeyboardKeyStateMod3,    */ "Mod3" 
+    };
+
+  fprintf(stderr, "-------------------------------\n");
+  fprintf(stderr, "Dumping info for key at %p\n", key);
+
+  for (i = 0; i < N_MBKeyboardKeyStateTypes; i++)
+    {
+      if (mb_kdb_key_has_state(key, i))
+	{
+	  fprintf(stderr, "state : %s\n", state_lookup[i]);
+	  fprintf(stderr, "\tface type %i", mb_kbd_key_get_face_type(key, i));
+
+	  if (mb_kbd_key_get_face_type(key, i) == MBKeyboardKeyFaceGlyph)
+	    {
+	      fprintf(stderr, ", showing '%s'", 
+		      mb_kbd_key_get_glyph_face(key , i));
+	    }
+
+	  fprintf(stderr, "\n");
+
+	  fprintf(stderr, "\taction type %i\n", 
+		  mb_kbd_key_get_action_type(key, i));
+
+	}
+    }
+
+  fprintf(stderr, "-------------------------------\n");
+
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-layout.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-layout.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-layout.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,55 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+struct MBKeyboardLayout
+{
+  MBKeyboard       *kbd;  
+  char             *id;
+  List             *rows;
+};
+
+
+MBKeyboardLayout*
+mb_kbd_layout_new(MBKeyboard *kbd, const char *id)
+{
+  MBKeyboardLayout *layout = NULL;
+
+  layout = util_malloc0(sizeof(MBKeyboardLayout));
+
+  layout->kbd = kbd;
+  layout->id  = strdup(id);
+
+  return layout;
+}
+
+void
+mb_kbd_layout_append_row(MBKeyboardLayout *layout,
+			 MBKeyboardRow    *row)
+{
+  layout->rows = util_list_append(layout->rows, (pointer)row);
+}
+
+List*
+mb_kbd_layout_rows(MBKeyboardLayout *layout)
+{
+  return util_list_get_first(layout->rows);
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-row.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-row.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-row.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,150 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+struct MBKeyboardRow
+{
+  MBKeyboard       *kbd;
+  List             *keys;
+
+  int               alloc_x, alloc_y;
+};
+
+MBKeyboardRow*
+mb_kbd_row_new(MBKeyboard *kbd)
+{
+  MBKeyboardRow *row = NULL;
+
+  row = util_malloc0(sizeof(MBKeyboardRow));
+  row->kbd = kbd;
+
+  return row;
+}
+
+void
+mb_kbd_row_set_x(MBKeyboardRow *row, int x)
+{
+  row->alloc_x = x;
+}
+
+void
+mb_kbd_row_set_y(MBKeyboardRow *row, int y)
+{
+  row->alloc_y = y;
+}
+
+int 
+mb_kbd_row_x (MBKeyboardRow *row) 
+{ 
+  return row->alloc_x;
+}
+
+int 
+mb_kbd_row_y(MBKeyboardRow *row) 
+{
+  return row->alloc_y;
+}
+
+int 
+mb_kbd_row_height(MBKeyboardRow *row) 
+{
+  List          *key_item;
+
+  /* XX this is a little crazed 
+   * We avoid keys with 0 height - spacers or non allocated extended ones
+  */
+
+  mb_kbd_row_for_each_key(row, key_item)
+    {
+      if (!mb_kbd_is_extended(row->kbd) 
+	  && mb_kbd_key_get_extended(key_item->data))
+	continue;
+
+
+      if (mb_kbd_key_height(key_item->data) > 0)
+	return mb_kbd_key_height(key_item->data);
+    }
+
+  return 0;
+}
+
+int 
+mb_kbd_row_width(MBKeyboardRow *row) 
+{
+  List *key_item;
+  int   result;
+
+  /* XXX we should cache this result somehow as locate_key calls this */
+
+  result = mb_kbd_col_spacing(row->kbd);
+
+  
+  mb_kbd_row_for_each_key(row, key_item) 
+   {
+      MBKeyboardKey *key = key_item->data;
+      
+      if (!mb_kbd_is_extended(row->kbd) 
+	  && mb_kbd_key_get_extended(key))
+	continue;
+
+      result += (mb_kbd_key_width(key) + mb_kbd_col_spacing(row->kbd));
+    }
+
+  return result;
+}
+
+int 
+mb_kbd_row_base_width(MBKeyboardRow *row) 
+{
+  List *key_item;
+  int   result;
+
+  result = mb_kbd_col_spacing(row->kbd);
+
+  mb_kbd_row_for_each_key(row, key_item) 
+    {
+      MBKeyboardKey *key = key_item->data;
+      
+      if (!mb_kbd_is_extended(row->kbd) 
+	  && mb_kbd_key_get_extended(key))
+	continue;
+
+      result += (mb_kbd_key_width(key) 
+		 + mb_kbd_col_spacing(row->kbd) 
+		 - mb_kbd_key_get_extra_width_pad(key));
+
+    }
+
+  return result;
+}
+
+void
+mb_kbd_row_append_key(MBKeyboardRow *row, MBKeyboardKey *key)
+{
+  row->keys = util_list_append(row->keys, (pointer)key);
+
+  mb_kbd_key_set_row(key, row);
+}
+
+List*
+mb_kdb_row_keys(MBKeyboardRow *row)
+{
+  return util_list_get_first(row->keys);
+}

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,354 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+typedef struct MBKeyboardUIBackendCario
+{
+  MBKeyboardUIBackend backend;
+
+  cairo_surface_t    *surface;
+  cairo_t            *cr;
+
+  Pixmap              foo_pxm;
+
+} MBKeyboardUIBackendCairo;
+
+static void 
+mb_kbd_ui_cairo_text_extents (MBKeyboardUI  *ui, 
+			      const  char   *str, 
+			      int           *width, 
+			      int           *height)
+{
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+  cairo_text_extents_t      extents;
+
+  cairo_backend = (MBKeyboardUIBackendCairo*)mb_kbd_ui_backend(ui);
+
+  cairo_text_extents (cairo_backend->cr, str, &extents);
+
+  *width  = extents.width;
+  *height = extents.height;
+}
+
+static int
+mb_kbd_ui_cairo_load_font(MBKeyboardUI *ui)
+{
+  MBKeyboard *kb = NULL;
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+  double                    mm_per_pixel,  pixel_size;
+
+  cairo_backend = (MBKeyboardUIBackendCairo*)mb_kbd_ui_backend(ui);
+  kb          = mb_kbd_ui_kbd(ui);
+
+  /* FIXME: font weights from  kb->font_variant */
+  cairo_select_font_face (cairo_backend->cr,
+			  kb->font_family,
+			  CAIRO_FONT_SLANT_NORMAL,
+			  CAIRO_FONT_WEIGHT_NORMAL);
+
+  mm_per_pixel = (double)DisplayHeightMM(mb_kbd_ui_x_display(ui), 
+					 mb_kbd_ui_x_screen(ui))
+                   / DisplayHeight(mb_kbd_ui_x_display(ui), 
+					 mb_kbd_ui_x_screen(ui));
+
+  /* 1 millimeter = 0.0393700787 inches */
+  
+  /* 1 inch = 72 PostScript points */
+
+  pixel_size = (double)kb->font_pt_size / ( (double)mm_per_pixel * 0.03 * 72 );
+  
+  cairo_set_font_size (cairo_backend->cr, pixel_size);
+  
+  return 1;
+}
+
+
+void
+mb_kbd_ui_cairo_redraw_key(MBKeyboardUI  *ui, MBKeyboardKey *key)
+{
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+
+  XRectangle             rect;
+  MBKeyboardKeyStateType state;
+  Display               *xdpy;
+  int                    xscreen;
+  Pixmap                 backbuffer;
+  MBKeyboard            *kbd;
+  cairo_pattern_t       *pat;
+
+  if (mb_kbd_key_is_blank(key)) /* spacer */
+    return;
+
+  cairo_backend = (MBKeyboardUIBackendCairo*)mb_kbd_ui_backend(ui);
+
+  xdpy        = mb_kbd_ui_x_display(ui);
+  xscreen     = mb_kbd_ui_x_screen(ui);
+  backbuffer  = mb_kbd_ui_backbuffer(ui);
+  kbd         = mb_kbd_ui_kbd(ui);
+
+  rect.x      = mb_kbd_key_abs_x(key); 
+  rect.y      = mb_kbd_key_abs_y(key); 
+  rect.width  = mb_kbd_key_width(key);       
+  rect.height = mb_kbd_key_height(key);       
+
+
+  /* clear it */
+
+  cairo_set_line_width (cairo_backend->cr, 0.04);
+  cairo_set_source_rgb(cairo_backend->cr, 0.9, 0.9, 0.8);
+
+  cairo_stroke( cairo_backend->cr );
+
+  pat = cairo_pattern_create_linear (0, rect.y, 0, rect.y + rect.height);
+
+  cairo_pattern_add_color_stop_rgb (pat, 1, 0.2, 0.2, 0.2 );
+  cairo_pattern_add_color_stop_rgb (pat, 0, 0.7, 0.7, 0.7 );
+
+  cairo_set_source (cairo_backend->cr, pat);
+
+  cairo_rectangle( cairo_backend->cr, 
+		   rect.x, rect.y, 
+		   rect.width, rect.height);
+
+  cairo_fill (cairo_backend->cr);
+
+  cairo_pattern_destroy (pat);
+
+
+  /* border */
+
+  cairo_move_to(cairo_backend->cr,
+                rect.x + 1,
+                (mb_kbd_key_abs_y(key) + mb_kbd_key_height(key)) - 1);
+
+  cairo_rel_line_to(cairo_backend->cr,
+                    rect.width - 2,
+                    0);
+
+  cairo_rel_line_to(cairo_backend->cr,
+                    0,
+                    -rect.height);
+
+  cairo_set_source_rgba(cairo_backend->cr, 0, 0, 0, 0.2);
+
+  cairo_move_to(cairo_backend->cr,
+                rect.x,
+                rect.y + rect.height - 1);
+
+  cairo_rel_line_to(cairo_backend->cr,
+                     0,
+                    - rect.height);
+
+  cairo_rel_line_to(cairo_backend->cr,
+                    rect.width - 1,
+                    0);
+
+  cairo_stroke ( cairo_backend->cr );
+
+  cairo_set_source_rgb(cairo_backend->cr, 0, 0, 0);
+
+  cairo_set_line_width (cairo_backend->cr, 1);
+
+  cairo_rectangle( cairo_backend->cr,
+                   rect.x, rect.y, rect.width, rect.height);
+
+  cairo_stroke(cairo_backend->cr);
+
+  /* Handle state related painting */
+
+  state = mb_kbd_keys_current_state(kbd); 
+
+  if (mb_kbd_has_state(kbd, MBKeyboardStateCaps)
+      && mb_kbd_key_get_obey_caps(key))
+    state = MBKeyboardKeyStateShifted;
+
+  if (!mb_kdb_key_has_state(key, state))
+    {
+      if (state == MBKeyboardKeyStateNormal)
+	return;  /* keys should at least have a normal state */
+      else
+        state = MBKeyboardKeyStateNormal;
+    }
+
+  cairo_set_source_rgb(cairo_backend->cr, 0, 0, 0);
+
+  if (mb_kbd_key_get_face_type(key, state) == MBKeyboardKeyFaceGlyph)
+  {
+    const char *face_str = mb_kbd_key_get_glyph_face(key, state);
+
+    if (face_str)
+      {
+        double x, y;
+	int    face_width, face_height;
+	cairo_font_extents_t font_extents;
+
+	/* FIXME: Below is borked */
+	mb_kbd_ui_cairo_text_extents (ui, face_str, &face_width, &face_height);
+
+	cairo_font_extents (cairo_backend->cr, &font_extents);
+	
+	DBG(" %i - %i = %i", 
+	    rect.width, face_width,
+	    (rect.width - face_width) );
+
+        x = rect.x + ( (rect.width - face_width) / 2.0);
+
+        y = rect.y + ( (rect.height - (font_extents.ascent + font_extents.descent)) / 2.0 ) + font_extents.ascent;
+
+	/* DBG("draw text to %d,%d", __func__, x, y); */
+
+        cairo_move_to(cairo_backend->cr, x, y);
+        cairo_show_text (cairo_backend->cr, face_str);
+
+      }
+  }
+
+  if ( mb_kbd_key_is_held(kbd, key) )
+    {
+      cairo_set_source_rgba(cairo_backend->cr,
+			    0,
+			    0,
+			    0,
+			    0.2);
+      
+      cairo_rectangle(cairo_backend->cr,
+		      rect.x,
+		      rect.y,
+		      rect.width,
+		      rect.height );
+      
+      cairo_fill( cairo_backend->cr );
+    }
+
+  // cairo_show_page(cairo_backend->cr);
+  // cairo_destroy (cairo_backend->cr);
+
+}
+
+
+void 	 /* FIXME: rename to clear backbuffer ? */
+mb_kbd_ui_cairo_pre_redraw(MBKeyboardUI  *ui)
+{
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+
+  cairo_backend = (MBKeyboardUIBackendCairo*)mb_kbd_ui_backend(ui);
+
+  cairo_set_source_rgb (cairo_backend->cr, 0.95, 0.95, 0.95);
+
+  cairo_rectangle( cairo_backend->cr,
+                   0,
+                   0,
+		   mb_kbd_ui_x_win_width(ui),
+		   mb_kbd_ui_x_win_height(ui));
+
+  cairo_fill( cairo_backend->cr );
+
+  // cairo_destroy( cairo_backend->cr );
+}
+
+static int
+mb_kbd_ui_cairo_resources_create(MBKeyboardUI  *ui)
+{
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+
+  cairo_backend = (MBKeyboardUIBackendCairo*)mb_kbd_ui_backend(ui);
+
+  /* switch now to 'real' drawable */
+  cairo_xlib_surface_set_drawable (cairo_backend->surface, 
+				   mb_kbd_ui_backbuffer(ui),
+				   mb_kbd_ui_x_win_width(ui),
+				   mb_kbd_ui_x_win_height(ui));
+
+  XFreePixmap(mb_kbd_ui_x_display(ui),  cairo_backend->foo_pxm);
+
+  cairo_xlib_surface_set_size (cairo_backend->surface, 
+			       mb_kbd_ui_x_win_width(ui),
+			       mb_kbd_ui_x_win_height(ui));
+
+  return True;
+}
+
+static int
+mb_kbd_ui_cairo_resize(MBKeyboardUI  *ui, int width, int height)
+{
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+
+  cairo_backend = (MBKeyboardUIBackendCairo*)mb_kbd_ui_backend(ui);
+
+  if (cairo_backend->cr != NULL) /* may get called before initialised */
+    {
+      cairo_xlib_surface_set_size (cairo_get_target(cairo_backend->cr), 
+				   mb_kbd_ui_x_win_width(ui),
+				   mb_kbd_ui_x_win_height(ui));
+
+      cairo_xlib_surface_set_drawable (cairo_backend->surface, 
+				       mb_kbd_ui_backbuffer(ui),
+				       mb_kbd_ui_x_win_width(ui),
+				       mb_kbd_ui_x_win_height(ui));
+      /*
+      cairo_scale (cairo_get_target(cairo_backend->cr), 
+		   mb_kbd_ui_x_win_width(ui),
+		   mb_kbd_ui_x_win_height(ui));
+      */
+    }
+
+  return True;
+}
+
+MBKeyboardUIBackend*
+mb_kbd_ui_cairo_init(MBKeyboardUI *ui)
+{
+  MBKeyboardUIBackendCairo *cairo_backend = NULL;
+
+  cairo_backend = util_malloc0(sizeof(MBKeyboardUIBackendCairo));
+
+  cairo_backend->backend.init             = mb_kbd_ui_cairo_init;
+  cairo_backend->backend.font_load        = mb_kbd_ui_cairo_load_font;
+  cairo_backend->backend.text_extents     = mb_kbd_ui_cairo_text_extents;
+  cairo_backend->backend.redraw_key       = mb_kbd_ui_cairo_redraw_key;
+  cairo_backend->backend.pre_redraw       = mb_kbd_ui_cairo_pre_redraw;
+  cairo_backend->backend.resources_create = mb_kbd_ui_cairo_resources_create;
+  cairo_backend->backend.resize           = mb_kbd_ui_cairo_resize;
+
+  /* We need to make a temp surface so we can make cairo
+   * cairo font calls ok with a context before ui knows
+   * its window and therefore backbuffer sizes etc.
+  */
+  cairo_backend->foo_pxm = XCreatePixmap(mb_kbd_ui_x_display(ui),
+					 mb_kbd_ui_x_win_root(ui),
+					 10,
+					 10,
+					 DefaultDepth(mb_kbd_ui_x_display(ui),
+						      mb_kbd_ui_x_screen(ui)));
+
+  cairo_backend->surface 
+    = cairo_xlib_surface_create (mb_kbd_ui_x_display(ui),
+				 cairo_backend->foo_pxm,
+				 DefaultVisual(mb_kbd_ui_x_display(ui), 
+					       mb_kbd_ui_x_screen(ui)),
+				 10, 10);
+
+  cairo_backend->cr = cairo_create (cairo_backend->surface);
+
+  cairo_reference(cairo_backend->cr);
+
+  return (MBKeyboardUIBackend*)cairo_backend;
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.h	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-cairo-backend.h	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,33 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#ifndef HAVE_MB_KEYBOARD_CAIRO_BACKEND_XFT_H
+#define HAVE_MB_KEYBOARD_CAIRO_BACKEND_XFT_H
+
+#include "matchbox-keyboard.h"
+
+#include <cairo/cairo.h>
+#include <cairo/cairo-xlib.h>
+
+MBKeyboardUIBackend*
+mb_kbd_ui_cairo_init(MBKeyboardUI *ui);
+
+#define MB_KBD_UI_BACKEND_INIT_FUNC(ui)  mb_kbd_ui_cairo_init((ui))
+
+#endif

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,439 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+typedef struct MBKeyboardUIBackendXft
+{
+  MBKeyboardUIBackend backend;
+
+  XftFont            *font;
+  XftColor            font_col; 
+  XftDraw            *xft_backbuffer;  
+  GC                  xgc;
+
+  /* Our theme */
+
+  XColor xcol_c5c5c5, xcol_d3d3d3, xcol_f0f0f0, xcol_f8f8f5, 
+    xcol_f4f4f4, xcol_a4a4a4;
+
+} MBKeyboardUIBackendXft;
+
+static void 
+mb_kbd_ui_xft_text_extents (MBKeyboardUI        *ui, 
+			    const char          *str, 
+			    int                 *width, 
+			    int                 *height)
+{
+  XGlyphInfo  extents;
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+
+  xft_backend = (MBKeyboardUIBackendXft*)mb_kbd_ui_backend(ui);
+  
+  XftTextExtentsUtf8(mb_kbd_ui_x_display(ui), 
+		     xft_backend->font,
+		     (unsigned char*)str, 
+		     strlen(str),
+		     &extents);
+
+  *width  = extents.width;
+  /* *height = extents.height; */
+  *height = xft_backend->font->ascent + xft_backend->font->descent;
+}
+
+void
+alloc_color(MBKeyboardUI  *ui, XColor *xcol, char *spec)
+{
+  int           result;
+
+  if (spec[0] != '#')
+    return;
+
+  if ( sscanf (spec+1, "%x", &result))
+    {
+      xcol->red   = ((result >> 16) & 0xff) << 8;
+      xcol->green = ((result >> 8) & 0xff)  << 8;
+      xcol->blue  = (result & 0xff) << 8;
+      xcol->flags = DoRed|DoGreen|DoBlue;
+
+      XAllocColor(mb_kbd_ui_x_display(ui), 
+		  DefaultColormap(mb_kbd_ui_x_display(ui), 
+				  mb_kbd_ui_x_screen(ui)), 
+		  xcol);
+    }
+  
+  return;
+}
+
+static int
+mb_kbd_ui_xft_load_font(MBKeyboardUI *ui)
+{
+  MBKeyboard *kb = NULL;
+  char desc[512];
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+
+  xft_backend = (MBKeyboardUIBackendXft*)mb_kbd_ui_backend(ui);
+  kb          = mb_kbd_ui_kbd(ui);
+
+  /* load_font */
+
+  snprintf(desc, 512, "%s-%i:%s", 
+	   kb->font_family, kb->font_pt_size, kb->font_variant);
+
+  if (xft_backend->font != NULL)
+    XftFontClose(mb_kbd_ui_x_display(ui), xft_backend->font);
+
+  if ((xft_backend->font = XftFontOpenName(mb_kbd_ui_x_display(ui), 
+					   mb_kbd_ui_x_screen(ui), 
+					   desc)) == NULL)
+    return 0;
+  
+  return 1;
+}
+
+
+void
+mb_kbd_ui_xft_redraw_key(MBKeyboardUI  *ui, MBKeyboardKey *key)
+{
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+  XRectangle             rect;
+  MBKeyboardKeyStateType state;
+  int                    side_pad;
+  Display               *xdpy;
+  MBPixbuf							*pixbuf;
+  MBPixbufImage					*bg_img;
+  int                    xscreen;
+  Pixmap                 backbuffer;
+  MBDrawable						 *backingcache;
+  MBKeyboard            *kbd;
+  Window   							xwin_root;
+
+	MBPixbufImage *img_tmp;
+	MBPixbufImage *icon_img_small;
+	MBPixbufImage *key_img;
+	
+  if (mb_kbd_key_is_blank(key)) /* spacer */
+    return;
+
+  xft_backend = (MBKeyboardUIBackendXft*)mb_kbd_ui_backend(ui);
+  xdpy        = mb_kbd_ui_x_display(ui);
+  xscreen     = mb_kbd_ui_x_screen(ui);
+  backbuffer  = mb_kbd_ui_backbuffer(ui);
+  backingcache = mb_kbd_ui_backing_cache(ui);
+  pixbuf			= mb_kbd_ui_pixbuf(ui);
+  bg_img			= mb_kbd_ui_bg_img(ui);
+  kbd         = mb_kbd_ui_kbd(ui);
+  xwin_root		= mb_kbd_ui_x_win_root(ui);
+
+
+  rect.x      = mb_kbd_key_abs_x(key); 
+  rect.y      = mb_kbd_key_abs_y(key); 
+  rect.width  = mb_kbd_key_width(key);       
+  rect.height = mb_kbd_key_height(key);       
+
+	key_img			= mb_kbd_key_img(key);
+	
+  /* Hacky clip to work around issues with off by ones in layout code :( */
+
+  if (rect.x + rect.width >= mb_kbd_ui_x_win_width(ui)) 
+    rect.width  = mb_kbd_ui_x_win_width(ui) - rect.x - 1;
+
+  if (rect.y + rect.height >= mb_kbd_ui_x_win_height(ui)) 
+    rect.height  = mb_kbd_ui_x_win_height(ui) - rect.y - 1;
+
+
+
+ // backbuffer = mb_drawable_pixmap(backingcache);	
+/* ÏÂÃæ´úÂëΪÿ´Î¶¼Òª´Óͼ±êÎļþ¶ÁÈ¡£¬ÏÔʾËÙ¶ÈÂý
+  if ((img_tmp = mb_pixbuf_img_new_from_file(pixbuf, "/usr/share/pixmaps/keyboard_one.png")) == NULL)
+	{
+	  fprintf(stderr,"Failed to load keyboard_one : %s", "/usr/share/pixmaps/keyboard_one.png");
+	  return;
+	}
+  icon_img_small = mb_pixbuf_img_scale(pixbuf, img_tmp, rect.width, rect.height);
+  
+  MBPixbufImage *img_dest;
+  
+  img_dest = mb_pixbuf_img_clone(pixbuf, bg_img);
+  
+	mb_pixbuf_img_composite(pixbuf, bg_img, 
+	  		icon_img_small, 
+	  		rect.x, rect.y);
+
+	if (backbuffer)
+	  mb_pixbuf_img_render_to_drawable(pixbuf, bg_img, (Drawable)backbuffer, 0, 0);
+	else
+	{
+  	backbuffer = XCreatePixmap(xdpy, xwin_root, 
+			       bg_img->width, bg_img->height,
+			       pixbuf->depth ); 	
+		mb_pixbuf_img_render_to_drawable(pixbuf, bg_img, (Drawable)backbuffer, 0, 0);			       
+	}
+  
+  	  		
+  mb_pixbuf_img_free(pixbuf, img_tmp);
+  mb_pixbuf_img_free(pixbuf, icon_img_small);
+  mb_pixbuf_img_free(pixbuf, img_dest);
+*/
+/*ÏÂÃæ´úÂëΪÿ´Î×öscaleºÍcomposite£¬ËÙ¶ÈÒ²ÓеãÂý
+	if(key_img)
+	{
+			icon_img_small = mb_pixbuf_img_scale(pixbuf, key_img, rect.width, rect.height);
+			mb_pixbuf_img_composite(pixbuf, bg_img, 
+	  			icon_img_small, 
+	  			rect.x, rect.y);	
+	}  				
+	  			
+	if (backbuffer)
+	  mb_pixbuf_img_render_to_drawable(pixbuf, bg_img, (Drawable)backbuffer, 0, 0);
+	else
+	{
+  	backbuffer = XCreatePixmap(xdpy, xwin_root, 
+			       bg_img->width, bg_img->height,
+			       pixbuf->depth ); 	
+		mb_pixbuf_img_render_to_drawable(pixbuf, bg_img, (Drawable)backbuffer, 0, 0);			       
+	}
+  
+  mb_pixbuf_img_free(pixbuf, icon_img_small);	  			
+*/  
+	//
+
+
+/* ÏÂÃæ´úÂëΪԭÀ´µÄ»­Ïߺ;ØÐη½Ê½
+  // clear it 
+
+  XSetForeground(xdpy, xft_backend->xgc, WhitePixel(xdpy, xscreen));
+  
+  XFillRectangles(xdpy, backbuffer, xft_backend->xgc, &rect, 1);
+
+  // draw 'main border' 
+
+  XSetForeground(xdpy, xft_backend->xgc, xft_backend->xcol_c5c5c5.pixel);
+
+  XDrawRectangles(xdpy, backbuffer, xft_backend->xgc, &rect, 1);
+
+  // shaded bottom line 
+
+  XSetForeground(xdpy, xft_backend->xgc, xft_backend->xcol_f4f4f4.pixel);
+  XDrawLine(xdpy, backbuffer, xft_backend->xgc,
+	    rect.x + 1,
+	    rect.y + rect.height - 1,
+	    rect.x + rect.width -2 ,
+	    rect.y + rect.height - 1);
+
+  // Corners - XXX should really use drawpoints 
+
+  XSetForeground(xdpy, xft_backend->xgc, xft_backend->xcol_f0f0f0.pixel);
+
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x, rect.y);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+rect.width, rect.y);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+rect.width, rect.y+rect.height);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x, rect.y+rect.height);
+
+  // soften them more 
+
+  XSetForeground(xdpy, xft_backend->xgc, xft_backend->xcol_d3d3d3.pixel);
+
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+1, rect.y);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x, rect.y+1);
+
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+rect.width-1, rect.y);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+rect.width, rect.y+1);
+
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+rect.width-1, rect.y+rect.height);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+rect.width, rect.y+rect.height-1);
+
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x, rect.y+rect.height-1);
+  XDrawPoint(xdpy, backbuffer, xft_backend->xgc, rect.x+1, rect.y+rect.height);
+
+  // background 
+
+  if (mb_kbd_key_is_held(kbd, key))
+    XSetForeground(xdpy, xft_backend->xgc, xft_backend->xcol_a4a4a4.pixel);
+  else
+    XSetForeground(xdpy, xft_backend->xgc, xft_backend->xcol_f8f8f5.pixel);
+
+  side_pad = 
+    mb_kbd_keys_border(kbd)
+    + mb_kbd_keys_margin(kbd)
+    + mb_kbd_keys_pad(kbd);
+
+  // Why does below need +1's ? 
+  XFillRectangle(xdpy, backbuffer, xft_backend->xgc, 
+		 rect.x + side_pad,
+		 rect.y + side_pad,
+		 rect.width  - (side_pad * 2) + 1,
+		 rect.height - (side_pad * 2) + 1);
+*/
+  /* real code is here */
+
+  state = mb_kbd_keys_current_state(kbd); 
+
+  if (mb_kbd_has_state(kbd, MBKeyboardStateCaps)
+      && mb_kbd_key_get_obey_caps(key))
+    state = MBKeyboardKeyStateShifted;
+
+  if (!mb_kdb_key_has_state(key, state))
+    {
+      if (state == MBKeyboardKeyStateNormal)
+	return;  /* keys should at least have a normal state */
+      else
+        state = MBKeyboardKeyStateNormal;
+    }
+
+  if (mb_kbd_key_get_face_type(key, state) == MBKeyboardKeyFaceGlyph)
+  {
+    const char *face_str = mb_kbd_key_get_glyph_face(key, state);
+    int         face_str_w, face_str_h;
+
+    if (face_str)
+      {
+	int x, y;
+
+	mb_kbd_ui_xft_text_extents(ui, face_str, &face_str_w, &face_str_h);
+
+	x = mb_kbd_key_abs_x(key) + ((mb_kbd_key_width(key) - face_str_w)/2);
+
+	y = mb_kbd_key_abs_y(key) + 
+	  ( (mb_kbd_key_height(key) - (xft_backend->font->ascent + xft_backend->font->descent))
+	                                / 2 );
+
+// fprintf(stderr, "keyboard: ===[%s] rect.x=[%d] rect.y[%d] rect.w=[%d] rect.h=[%d]\n", mb_kbd_key_get_glyph_face(key, state), rect.x, rect.y, rect.width, rect.height);
+
+	                                
+/* ÏÂÃæµÄ´úÂëΪÌîдÎÄ×Ö
+	XftDrawStringUtf8(xft_backend->xft_backbuffer,
+			  &xft_backend->font_col,
+			  xft_backend->font,
+			  x,
+			  y + xft_backend->font->ascent,
+			  (unsigned char*)face_str, 
+ 			  strlen(face_str));
+*/ 			  
+      }
+  }
+  
+}
+
+void
+mb_kbd_ui_xft_pre_redraw(MBKeyboardUI  *ui)
+{
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+
+  xft_backend = (MBKeyboardUIBackendXft*)mb_kbd_ui_backend(ui);
+
+  /* Background */
+
+  XSetForeground(mb_kbd_ui_x_display(ui), 
+		 xft_backend->xgc, xft_backend->xcol_f4f4f4.pixel);
+
+  XFillRectangle(mb_kbd_ui_x_display(ui), 
+		 mb_kbd_ui_backbuffer(ui), 
+		 xft_backend->xgc,
+		 0, 0, 
+		 mb_kbd_ui_x_win_width(ui),
+		 mb_kbd_ui_x_win_height(ui));
+/*
+  XSetForeground(mb_kbd_ui_x_display(ui), 
+		 xft_backend->xgc, 
+		 BlackPixel(mb_kbd_ui_x_display(ui), 
+			    mb_kbd_ui_x_screen(ui)));
+*/
+
+}
+
+static int
+mb_kbd_ui_xft_resources_create(MBKeyboardUI  *ui)
+{
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+  XRenderColor            coltmp;
+
+  xft_backend = (MBKeyboardUIBackendXft*)mb_kbd_ui_backend(ui);
+
+  xft_backend->xft_backbuffer = XftDrawCreate(mb_kbd_ui_x_display(ui),
+					      mb_kbd_ui_backbuffer(ui),
+					      DefaultVisual(mb_kbd_ui_x_display(ui), 
+							    mb_kbd_ui_x_screen(ui)),
+					      DefaultColormap(mb_kbd_ui_x_display(ui),
+							      mb_kbd_ui_x_screen(ui)));
+
+
+  coltmp.red   = coltmp.green = coltmp.blue  = 0x0000; coltmp.alpha = 0xcccc;
+
+  XftColorAllocValue(mb_kbd_ui_x_display(ui),
+		     DefaultVisual(mb_kbd_ui_x_display(ui), 
+				   mb_kbd_ui_x_screen(ui)), 
+		     DefaultColormap(mb_kbd_ui_x_display(ui), 
+				     mb_kbd_ui_x_screen(ui)),
+		     &coltmp,
+		     &xft_backend->font_col);
+
+  xft_backend->xgc = XCreateGC(mb_kbd_ui_x_display(ui), 
+			       mb_kbd_ui_x_win(ui), 0, NULL);
+
+  XSetForeground(mb_kbd_ui_x_display(ui), 
+		 xft_backend->xgc, 
+		 BlackPixel(mb_kbd_ui_x_display(ui), mb_kbd_ui_x_screen(ui)));
+
+  XSetBackground(mb_kbd_ui_x_display(ui), 
+		 xft_backend->xgc, 
+		 WhitePixel(mb_kbd_ui_x_display(ui), mb_kbd_ui_x_screen(ui)));
+
+  /* Crusty theme stuff  */
+
+  alloc_color(ui, &xft_backend->xcol_c5c5c5, "#c5c5c5");
+  alloc_color(ui, &xft_backend->xcol_d3d3d3, "#d3d3d3");
+  alloc_color(ui, &xft_backend->xcol_f0f0f0, "#f0f0f0");
+  alloc_color(ui, &xft_backend->xcol_f8f8f5, "#f8f8f5");
+  alloc_color(ui, &xft_backend->xcol_f4f4f4, "#f4f4f4");
+  alloc_color(ui, &xft_backend->xcol_a4a4a4, "#a4a4a4");
+
+  return True;
+}
+
+static int
+mb_kbd_ui_xft_resize(MBKeyboardUI  *ui, int width, int height)
+{
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+
+  xft_backend = (MBKeyboardUIBackendXft*)mb_kbd_ui_backend(ui);
+
+  XftDrawChange (xft_backend->xft_backbuffer, mb_kbd_ui_backbuffer(ui));
+
+  return True;
+}
+
+MBKeyboardUIBackend*
+mb_kbd_ui_xft_init(MBKeyboardUI *ui)
+{
+  MBKeyboardUIBackendXft *xft_backend = NULL;
+
+  xft_backend = util_malloc0(sizeof(MBKeyboardUIBackendXft));
+
+  xft_backend->backend.init             = mb_kbd_ui_xft_init;
+  xft_backend->backend.font_load        = mb_kbd_ui_xft_load_font;
+  xft_backend->backend.text_extents     = mb_kbd_ui_xft_text_extents;
+  xft_backend->backend.redraw_key       = mb_kbd_ui_xft_redraw_key;
+  xft_backend->backend.pre_redraw       = mb_kbd_ui_xft_pre_redraw;
+  xft_backend->backend.resources_create = mb_kbd_ui_xft_resources_create;
+  xft_backend->backend.resize           = mb_kbd_ui_xft_resize;
+
+  return (MBKeyboardUIBackend*)xft_backend;
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.h	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui-xft-backend.h	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,31 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#ifndef HAVE_MB_KEYBOARD_UI_BACKEND_XFT_H
+#define HAVE_MB_KEYBOARD_UI_BACKEND_XFT_H
+
+#include "matchbox-keyboard.h"
+#include <X11/Xft/Xft.h>
+
+MBKeyboardUIBackend*
+mb_kbd_ui_xft_init(MBKeyboardUI *ui);
+
+#define MB_KBD_UI_BACKEND_INIT_FUNC(ui)  mb_kbd_ui_xft_init((ui))
+
+#endif

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-ui.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,1786 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+#define PROP_MOTIF_WM_HINTS_ELEMENTS    5
+#define MWM_HINTS_DECORATIONS          (1L << 1)
+#define MWM_DECOR_BORDER               (1L << 1)
+
+typedef struct
+{
+  unsigned long       flags;
+  unsigned long       functions;
+  unsigned long       decorations;
+  long                inputMode;
+  unsigned long       status;
+} 
+PropMotifWmHints;
+
+typedef struct _mbkeyboard_bg {
+  int type;
+
+  union {
+    char *filename;
+    int cols[3];
+    int gcols[6];
+  } data;
+
+} MBKeyboardBG;
+
+struct MBKeyboardUI
+{
+  Display            *xdpy;
+  int                 xscreen;
+  Window              xwin_root, xwin;
+  
+  MBDrawable 					*backing_cache;
+  MBPixbufImage 			*bg_img;
+  MBKeyboardBG 				*bg;
+  MBPixbuf						*pixbuf;
+  XColor              xcol;
+  
+  Pixmap              backbuffer;
+
+  int                 dpy_width, dpy_height;
+  int                 xwin_width, xwin_height;
+
+  int                 key_uwidth, key_uheight;
+
+  int                 base_alloc_width, base_alloc_height;
+  int                 base_font_pt_size;
+
+  Bool                want_embedding;
+
+  FakeKey             *fakekey;
+  MBKeyboardUIBackend *backend; 
+  MBKeyboard          *kbd;
+};
+
+static void
+mb_kbd_ui_resize(MBKeyboardUI *ui, int width, int height);
+
+static int
+mb_kbd_ui_load_font(MBKeyboardUI *ui);
+
+
+void
+mb_kbd_ui_bg_free_config(MBKeyboardUI *mb)
+{
+  if (mb->bg->type == BG_TILED_PXM || mb->bg->type == BG_STRETCHED_PXM)
+    free(mb->bg->data.filename);
+  free(mb->bg);
+  mb->bg = NULL;
+}
+
+static Bool
+mb_kbd_ui_bg_parse_spec(MBKeyboardUI *mb, char *spec)
+{
+  /*
+  img-stretched:filename>
+  img-tiled:<filename>
+  col-solid:<color definition>
+  col-gradient-vertical:<start color>,<end color>
+  col-gradient-horizontal:<start color>,<end color>
+  */
+
+  XColor tmpxcol;
+  int i, mapping_cnt, spec_offset = 0, type = 0;
+  char *bg_def = NULL, *p = NULL;
+
+  struct conf_mapping_t {
+    char *name;
+    int   id;
+  } conf_mapping[] = {
+    { "img-stretched:",           BG_STRETCHED_PXM  },
+    { "img-tiled:",               BG_TILED_PXM      },
+    { "img-centered:",            BG_CENTERED_PXM   },
+    { "col-solid:",               BG_SOLID          },
+    { "col-gradient-vertical:",   BG_GRADIENT_VERT  },
+    { "col-gradient-horizontal:", BG_GRADIENT_HORIZ },
+  };
+
+  mapping_cnt = (sizeof(conf_mapping)/sizeof(struct conf_mapping_t));
+
+  if (mb->bg != NULL) mb_kbd_ui_bg_free_config(mb);
+
+  mb->bg = malloc(sizeof(MBKeyboardBG));
+  memset(mb->bg, 0, sizeof(mb->bg));
+
+  if (spec == NULL)
+    {
+      /* XXX we should probably check theme.desktop too for a bg_def */
+      bg_def = "#8395ac"; 	/* Defualt col - red on error */
+      type   = BG_SOLID;
+    }
+  else
+    {
+      for (i=0; i<mapping_cnt; i++)
+	{
+	  spec_offset = strlen(conf_mapping[i].name);
+	  if (spec_offset < strlen(spec)
+	      && !strncmp(conf_mapping[i].name, spec, spec_offset))
+	    {
+	      type = conf_mapping[i].id;
+	      break;
+	    }
+	}
+
+      if (!type)
+	{
+	  /* Assume we've just been passed an image filename */
+	  mb->bg->type = BG_STRETCHED_PXM;
+	  mb->bg->data.filename = strdup(spec);
+	  return True;
+	} else bg_def = spec + spec_offset;
+    }
+
+
+  mb->bg->type = type;
+
+  switch(type)
+    {
+    case BG_SOLID:
+      XParseColor(mb->xdpy, DefaultColormap(mb->xdpy, mb->xscreen), 
+		  bg_def, &tmpxcol);
+      mb->bg->data.cols[0] = tmpxcol.red   >> 8;
+      mb->bg->data.cols[1] = tmpxcol.green >> 8;
+      mb->bg->data.cols[2] = tmpxcol.blue  >> 8;
+      break;
+    case BG_TILED_PXM:
+    case BG_STRETCHED_PXM:
+    case BG_CENTERED_PXM:
+      mb->bg->data.filename = strdup(bg_def);
+      break;
+    case BG_GRADIENT_HORIZ:
+    case BG_GRADIENT_VERT:
+      p = bg_def;
+      while(*p != ',' && *p != '\0') p++;
+      if (*p == '\0')
+	{
+	  mb_kbd_ui_bg_free_config(mb);
+	  return False; 	/* XXX need to reset on fail */
+	}
+      *p = '\0';
+      XParseColor(mb->xdpy, DefaultColormap(mb->xdpy, mb->xscreen), 
+		  bg_def, &tmpxcol);
+      mb->bg->data.gcols[0] = (tmpxcol.red   >> 8);
+      mb->bg->data.gcols[2] = (tmpxcol.green >> 8);
+      mb->bg->data.gcols[4] = (tmpxcol.blue  >> 8);
+      p++;
+      XParseColor(mb->xdpy, DefaultColormap(mb->xdpy, mb->xscreen), 
+		  p, &tmpxcol);
+      mb->bg->data.gcols[1] = (tmpxcol.red   >> 8);
+      mb->bg->data.gcols[3] = (tmpxcol.green >> 8);
+      mb->bg->data.gcols[5] = (tmpxcol.blue  >> 8);
+      break;
+    }    
+
+  return True;
+}
+
+
+
+static char*
+get_current_window_manager_name (MBKeyboardUI  *ui)
+{
+  Atom           atom_utf8_string, atom_wm_name, atom_check, type;
+  int            result, format;
+  char          *val, *retval;
+  unsigned long  nitems, bytes_after;
+  Window        *support_xwin = NULL;
+
+  atom_check = XInternAtom (ui->xdpy, "_NET_SUPPORTING_WM_CHECK", False);
+
+  XGetWindowProperty (ui->xdpy, 
+		      RootWindow(ui->xdpy, ui->xscreen),
+		      atom_check,
+		      0, 16L, False, XA_WINDOW, &type, &format,
+		      &nitems, &bytes_after, (unsigned char **)&support_xwin);
+
+  if (support_xwin == NULL)
+      return NULL;
+
+  atom_utf8_string = XInternAtom (ui->xdpy, "UTF8_STRING", False);
+  atom_wm_name     = XInternAtom (ui->xdpy, "_NET_WM_NAME", False);
+
+  result = XGetWindowProperty (ui->xdpy, *support_xwin, atom_wm_name,
+			       0, 1000L,False, atom_utf8_string,
+			       &type, &format, &nitems,
+			       &bytes_after, (unsigned char **)&val);
+  if (result != Success)
+    return NULL;
+
+  if (type != atom_utf8_string || format !=8 || nitems == 0)
+    {
+      if (val) XFree (val);
+      return NULL;
+    }
+
+  retval = strdup (val);
+
+  XFree (val);
+
+  return retval;
+}
+
+static boolean
+get_desktop_area(MBKeyboardUI *ui, int *x, int *y, int *width, int *height)
+{
+  Atom           atom_area, type;
+  int            result, format;
+  unsigned long  nitems, bytes_after;
+  int           *geometry = NULL;
+
+  atom_area = XInternAtom (ui->xdpy, "_NET_WORKAREA", False);
+
+  result = XGetWindowProperty (ui->xdpy, 
+			       RootWindow(ui->xdpy, ui->xscreen),
+			       atom_area,
+			       0, 16L, False, XA_CARDINAL, &type, &format,
+			       &nitems, &bytes_after, 
+			       (unsigned char **)&geometry);
+
+  if (result != Success || nitems < 4 || geometry == NULL)
+    {
+      if (geometry) XFree(geometry);
+      return False;
+    }
+
+  if (x) *x           = geometry[0];
+  if (y) *y           = geometry[1];
+  if (width)  *width  = geometry[2];
+  if (height) *height = geometry[3];
+  
+  XFree(geometry);
+
+  return True;
+}
+
+static void
+update_display_size(MBKeyboardUI *ui)
+{
+  XWindowAttributes winattr;
+
+  XGetWindowAttributes(ui->xdpy, ui->xwin_root, &winattr);
+
+  /* XXX should actually trap an X error here */
+
+  ui->dpy_width  = winattr.width;
+  ui->dpy_height = winattr.height;
+
+  return;
+}
+
+static boolean
+want_extended(MBKeyboardUI *ui)
+{
+  /* Are we in portrait ? */
+  if (ui->dpy_width > ui->dpy_height)
+    return True;
+
+  return False;
+}
+
+static boolean
+get_xevent_timed(Display        *dpy,
+		 XEvent         *event_return, 
+		 struct timeval *tv)
+{
+  if (tv->tv_usec == 0 && tv->tv_sec == 0)
+    {
+      XNextEvent(dpy, event_return);
+      return True;
+    }
+
+  XFlush(dpy);
+
+  if (XPending(dpy) == 0) 
+    {
+      int fd = ConnectionNumber(dpy);
+
+      fd_set readset;
+      FD_ZERO(&readset);
+      FD_SET(fd, &readset);
+
+      if (select(fd+1, &readset, NULL, NULL, tv) == 0) 
+	return False;
+      else 
+	{
+	  XNextEvent(dpy, event_return);
+	  return True;
+	}
+    } else {
+      XNextEvent(dpy, event_return);
+      return True;
+    }
+}
+
+
+void
+mb_kbd_ui_send_press(MBKeyboardUI        *ui,
+		     const char          *utf8_char_in,
+		     int                  modifiers)
+{
+  DBG("Sending '%s'", utf8_char_in);
+  fakekey_press(ui->fakekey, (unsigned char*)utf8_char_in, -1, modifiers);
+}
+
+void
+mb_kbd_ui_send_keysym_press(MBKeyboardUI  *ui,
+			    KeySym         ks,
+			    int            modifiers)
+{
+  fakekey_press_keysym(ui->fakekey, ks, modifiers);
+}
+
+void
+mb_kbd_ui_send_release(MBKeyboardUI  *ui)
+{
+  fakekey_release(ui->fakekey);
+}
+
+static void
+mb_kdb_ui_unit_key_size(MBKeyboardUI *ui, int *width, int *height)
+{
+  MBKeyboardLayout       *layout;
+  List                   *row_item, *key_item;
+  MBKeyboardKeyStateType  state;
+  const char             *face_str;
+
+  *width = 0; *height = 0;
+
+  layout   = mb_kbd_get_selected_layout(ui->kbd);
+  row_item = mb_kbd_layout_rows(layout);
+
+  /*
+   * Figure out the base size of a 'regular' single glyph key.    
+  */
+
+  while (row_item != NULL)
+    {
+      mb_kbd_row_for_each_key(row_item->data, key_item)
+	{
+	  MBKeyboardKey *key = key_item->data;
+
+	  if (!mb_kbd_is_extended(ui->kbd) 
+	      && mb_kbd_key_get_extended(key))
+	    continue;
+
+	  mb_kdb_key_foreach_state(key, state)
+	    {
+	      if (mb_kbd_key_get_face_type(key, state) == MBKeyboardKeyFaceGlyph)
+		{
+		  face_str = mb_kbd_key_get_glyph_face(key, state);
+
+		  if (util_utf8_char_cnt(face_str) == 1)
+		    {
+		      int str_w =0, str_h = 0;
+
+		      ui->backend->text_extents(ui, face_str, &str_w, &str_h);
+		      
+		      if (str_w > *width) *width = str_w;
+		      if (str_h > *height) *height = str_h;
+
+		    }
+		}
+
+	      /* TODO: also need to check height of image keys etc */
+
+	    }
+	}
+      row_item = util_list_next(row_item);
+    }
+
+  /* FIXME: hack for small displays */
+  if (mb_kbd_ui_display_height(ui) <= 320)
+    {
+      *height += 4;
+    }
+
+}
+
+static void
+mb_kbd_ui_min_key_size(MBKeyboardUI  *ui,
+		       MBKeyboardKey *key,
+		       int           *width,
+		       int           *height)
+{
+  const char *face_str = NULL;
+  int         max_w = 0, max_h = 0, state;
+
+  /* 
+   * Figure out how small a key can really be UI wise.
+  */
+
+  if (mb_kbd_key_get_req_uwidth(key) || mb_kbd_key_is_blank(key))
+    {
+      *width = (ui->key_uwidth * mb_kbd_key_get_req_uwidth(key)) / 1000 ;
+      *height = ui->key_uheight;
+      return;
+    }
+
+  mb_kdb_key_foreach_state(key, state)
+    {
+      if (mb_kbd_key_get_face_type(key, state) == MBKeyboardKeyFaceGlyph)
+	{
+	  face_str = mb_kbd_key_get_glyph_face(key, state);
+
+	  ui->backend->text_extents(ui, face_str, width, height);
+
+	  if (*width < max_w) *width = max_w;
+	  if (*height < max_h) *height = max_h;
+	}
+      /* XXX else, images etc */
+    }
+
+}
+
+void
+mb_kbd_ui_allocate_ui_layout(MBKeyboardUI *ui,
+			     int          *width,
+			     int          *height)
+{
+  MBKeyboardLayout *layout;
+  List             *row_item, *key_item;
+  int               key_y = 0, key_x = 0; 
+  int               row_y, max_row_key_height, max_row_width;
+
+  layout = mb_kbd_get_selected_layout(ui->kbd);
+
+  /* Do an initial run to figure out a 'base' size for single glyph keys */
+  mb_kdb_ui_unit_key_size(ui, &ui->key_uwidth, &ui->key_uheight);
+
+  row_item = mb_kbd_layout_rows(layout);
+
+  row_y = mb_kbd_row_spacing(ui->kbd); 
+
+  max_row_width = 0;
+
+  /* 
+   * First of entire keyboard, basically get the minimum space needed
+  */
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row = row_item->data;
+      
+      key_x = mb_kbd_col_spacing(ui->kbd);
+
+      max_row_key_height = 0;
+
+      mb_kbd_row_for_each_key(row, key_item)
+	{
+	  int            key_w, key_h;          
+	  MBKeyboardKey *key = key_item->data;
+
+	  mb_kbd_key_set_extra_height_pad(key, 0);
+	  mb_kbd_key_set_extra_width_pad(key, 0);
+	  mb_kbd_key_set_geometry(key, 0, 0, 0, 0);
+
+	  if (!mb_kbd_is_extended(ui->kbd) && mb_kbd_key_get_extended(key))
+	    continue;
+
+	  mb_kbd_ui_min_key_size(ui, key, &key_w, &key_h);
+
+	  if (!mb_kbd_key_get_req_uwidth(key)
+	      && key_w < ui->key_uwidth)
+	    key_w = ui->key_uwidth;
+
+	  if (key_h < ui->key_uheight) 
+	    key_h = ui->key_uheight;
+
+	  key_y = 0;
+
+	  key_w += 2 * ( mb_kbd_keys_border(ui->kbd) 
+			 + mb_kbd_keys_margin(ui->kbd) 
+			 + mb_kbd_keys_pad(ui->kbd) );
+
+	  key_h += 2 * ( mb_kbd_keys_border(ui->kbd) 
+			 + mb_kbd_keys_margin(ui->kbd) 
+			 + mb_kbd_keys_pad(ui->kbd) );
+	  
+	  if (key_h > max_row_key_height)
+	    max_row_key_height = key_h;
+
+	  mb_kbd_key_set_geometry(key, key_x, key_y, key_w, key_h); 
+	  
+	  key_x += (mb_kbd_col_spacing(ui->kbd) + key_w);
+	}
+
+      if (key_x > max_row_width) /* key_x now represents row width */
+	max_row_width = key_x;
+
+      mb_kbd_row_set_y(row, row_y);
+
+      row_y += max_row_key_height + mb_kbd_row_spacing(ui->kbd);
+
+      row_item = util_list_next(row_item);
+    }
+
+  *height = row_y; 
+
+  row_item = mb_kbd_layout_rows(layout);
+
+  /* Now pass again allocating any extra space with have left over */
+
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row        = row_item->data;
+      int            n_fillers  = 0, free_space = 0, new_w = 0;
+
+      mb_kbd_row_for_each_key(row,key_item)
+	{
+	  if (!mb_kbd_is_extended(ui->kbd) 
+	      && mb_kbd_key_get_extended(key_item->data))
+	    continue;
+
+	  if (mb_kbd_key_get_fill(key_item->data)
+	      || mb_kbd_ui_display_height(ui) <= 320
+	      || mb_kbd_ui_display_width(ui) <= 320 )
+	      n_fillers++;
+	}
+
+      if (!n_fillers)
+	goto next_row;
+
+      free_space = max_row_width - mb_kbd_row_width(row);
+
+      mb_kbd_row_for_each_key(row, key_item)
+	{
+	  if (!mb_kbd_is_extended(ui->kbd) 
+	      && mb_kbd_key_get_extended(key_item->data))
+	    continue;
+
+	  if (mb_kbd_key_get_fill(key_item->data)
+	      || mb_kbd_ui_display_height(ui) <= 320
+	      || mb_kbd_ui_display_width(ui) <= 320 )
+	    {
+	      int   old_w;
+	      List *nudge_key_item = util_list_next(key_item);
+
+	      old_w = mb_kbd_key_width(key_item->data);
+	      new_w = old_w + (free_space/n_fillers);
+
+	      mb_kbd_key_set_geometry(key_item->data, -1, -1, new_w, -1);
+
+	      /* nudge next keys forward */
+
+	      for (; 
+		   nudge_key_item != NULL; 
+		   nudge_key_item = util_list_next(nudge_key_item)) 
+		{
+		  if (!mb_kbd_is_extended(ui->kbd) 
+		      && mb_kbd_key_get_extended(nudge_key_item->data))
+		    continue;
+
+		  mb_kbd_key_set_geometry(nudge_key_item->data,
+					  mb_kbd_key_x(nudge_key_item->data) + (new_w - old_w ), -1, -1, -1);
+		  
+		}
+	    }
+
+	}
+    next_row:
+      row_item = util_list_next(row_item);
+    }
+
+
+  /* Now center the rows */
+  
+  row_item = mb_kbd_layout_rows(layout);
+
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row = row_item->data;
+
+      mb_kbd_row_set_x(row, (max_row_width - mb_kbd_row_width(row))/2);
+
+      row_item = util_list_next(row_item);
+    }
+  
+  *width = max_row_width;
+}
+
+void
+mb_kbd_ui_redraw_key(MBKeyboardUI  *ui, MBKeyboardKey *key)
+{
+  ui->backend->redraw_key(ui, key);
+}
+
+
+static void
+mb_kbd_ui_redraw_row(MBKeyboardUI  *ui, MBKeyboardRow *row)
+{
+  List *key_item;
+
+  mb_kbd_row_for_each_key(row, key_item)
+    {
+      if (!mb_kbd_is_extended(ui->kbd) 
+	  && mb_kbd_key_get_extended(key_item->data))
+	continue;
+
+      mb_kbd_ui_redraw_key(ui, key_item->data);
+    }
+}
+
+void
+mb_kbd_ui_swap_buffers(MBKeyboardUI  *ui)
+{
+  XClearWindow(ui->xdpy, ui->xwin);
+  XSync(ui->xdpy, False);
+}
+
+void
+mb_kbd_ui_init_key_img(MBKeyboardUI  *ui)
+{
+  List             *row_item;
+  List 						 *key_item;
+  MBKeyboardLayout *layout;
+
+  MARK();
+
+  layout = mb_kbd_get_selected_layout(ui->kbd);
+
+  row_item = mb_kbd_layout_rows(layout);
+
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row = row_item->data;
+
+  		mb_kbd_row_for_each_key(row, key_item)
+    	{
+  			if (!mb_kbd_is_extended(ui->kbd) 
+	  			&& mb_kbd_key_get_extended(key_item->data))
+					continue;
+	    		
+    		MBKeyboardKey *key = key_item->data;
+				
+				mb_kbd_key_set_image_face2(ui, key);
+				
+				
+    	}
+    	
+    	row_item = util_list_next(row_item);
+    }
+
+
+}
+
+
+void
+mb_kbd_ui_redraw(MBKeyboardUI  *ui)
+{
+  List             *row_item;
+  MBKeyboardLayout *layout;
+
+  MARK();
+
+  /* gives backend a chance to clear everything */
+  // ui->backend->pre_redraw(ui);
+
+  layout = mb_kbd_get_selected_layout(ui->kbd);
+
+  row_item = mb_kbd_layout_rows(layout);
+
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row = row_item->data;
+
+      mb_kbd_ui_redraw_row(ui, row);
+
+      row_item = util_list_next(row_item);
+    }
+
+  mb_kbd_ui_swap_buffers(ui);
+ 
+}
+
+void
+mb_kbd_ui_show(MBKeyboardUI  *ui)
+{
+  XMapWindow(ui->xdpy, ui->xwin);
+}
+
+
+void mb_kbd_ui_set_bg(MBKeyboardUI  *ui)
+{
+  MBPixbufImage *img_tmp;
+  int dw, dh, dx, dy, r, g, b;
+
+  XGrabServer(ui->xdpy);	
+
+  if (ui->bg_img != NULL)
+    mb_pixbuf_img_free(ui->pixbuf, ui->bg_img);
+    
+fprintf(stderr, "===type = [%d]\n", ui->bg->type);
+
+  switch (ui->bg->type)
+    {
+    case BG_SOLID:
+    	/*
+      mb->bg_img = mb_pixbuf_img_rgba_new(mb->pixbuf, mb->desktop_width, 
+					 mb->desktop_height);
+      mb_pixbuf_img_fill(mb->pixbuf, mb->bg_img, 
+			 mb->bg->data.cols[0], 
+			 mb->bg->data.cols[1],
+			 mb->bg->data.cols[2], 
+			 0);
+
+      mb->use_text_outline = False;
+
+      if (!mb->user_overide_font_col)
+	{
+	  if ((((mb->bg->data.cols[0] * 54) + (mb->bg->data.cols[1] * 183) + (mb->bg->data.cols[2] * 19)) / 256) > 127 )
+	    {
+	      mbdesktop_set_font_color(mb, "black");
+	      mb->font_col_type = DKTP_FONT_COL_BLACK;
+	    } else {
+	      mbdesktop_set_font_color(mb, "white");
+	      mb->font_col_type = DKTP_FONT_COL_WHITE;
+	    }
+	}
+			*/
+      break;
+    case BG_TILED_PXM:
+    	/*
+      mb->bg_img = mb_pixbuf_img_rgb_new(mb->pixbuf, mb->desktop_width, 
+					 mb->desktop_height);
+
+      if ((img_tmp = mb_pixbuf_img_new_from_file(mb->pixbuf, 
+						 mb->bg->data.filename)) 
+	  == NULL)
+	{
+	  fprintf(stderr,"Failed to load background : %s", 
+		  mb->bg->data.filename);
+	  mbdesktop_bg_parse_spec(mb, "col-solid:red");
+	  mbdesktop_view_init_bg(mb);
+	  return;
+	}
+
+      for (dy=0; dy < mb->desktop_height; dy += img_tmp->height)
+	for (dx=0; dx < mb->desktop_width; dx += img_tmp->width)
+	  {
+	    if ( (dx + img_tmp->width) > mb->desktop_width )
+	      dw = img_tmp->width - ((dx + img_tmp->width)-mb->desktop_width);
+	    else
+	      dw = img_tmp->width;
+
+	    if ( (dy + img_tmp->height) > mb->desktop_height )
+	      dh = img_tmp->height-((dy + img_tmp->height)-mb->desktop_height);
+	    else
+	      dh = img_tmp->height;
+	    mb_pixbuf_img_copy(mb->pixbuf, mb->bg_img, img_tmp,
+			       0, 0, dw, dh, dx, dy);
+	  }
+      mb_pixbuf_img_free(mb->pixbuf, img_tmp);
+
+      if (!mb->user_overide_font_outline) mb->use_text_outline = True;
+      if (!mb->user_overide_font_col) mbdesktop_set_font_color(mb, "white");
+			
+			*/
+			
+      break;
+      
+    case BG_STRETCHED_PXM:
+      if ((img_tmp = mb_pixbuf_img_new_from_file(ui->pixbuf, "/usr/share/pixmaps/bg_keyboard.png")) == NULL)
+	{
+	  fprintf(stderr,"Failed to load background : %s", "/usr/share/pixmaps/bg_keyboard.png");
+	  mb_kbd_ui_bg_parse_spec(ui, "col-solid:red");
+	  mb_kbd_ui_set_bg(ui);
+	  return;
+	}
+      ui->bg_img = mb_pixbuf_img_scale(ui->pixbuf, img_tmp, ui->xwin_width, ui->xwin_height);
+      
+      mb_pixbuf_img_free(ui->pixbuf, img_tmp);
+
+      break;
+    case BG_CENTERED_PXM:
+    	/*
+      if ((img_tmp = mb_pixbuf_img_new_from_file(mb->pixbuf, 
+						 mb->bg->data.filename)) 
+	  == NULL)
+	{
+	  fprintf(stderr,"Failed to load background : %s", mb->bg->data.filename);
+	  mbdesktop_bg_parse_spec(mb, "col-solid:red");
+	  mbdesktop_view_init_bg(mb);
+	  return;
+	}
+      dx = (mb->desktop_width - img_tmp->width) / 2;
+      if (dx < 0) dx = 0;
+      dy = (mb->desktop_height - img_tmp->height) / 2;
+      if (dy < 0) dy = 0;
+      mb->bg_img = mb_pixbuf_img_rgb_new(mb->pixbuf, mb->desktop_width, 
+				     mb->desktop_height);
+      mb_pixbuf_img_copy(mb->pixbuf, mb->bg_img, img_tmp,
+			 0, 0,
+			 (img_tmp->width > mb->desktop_width) ?
+			 mb->desktop_width : img_tmp->width ,
+			 (img_tmp->height > mb->desktop_height) ?
+			 mb->desktop_height : img_tmp->height ,
+			 dx, dy);
+      mb_pixbuf_img_free(mb->pixbuf, img_tmp);
+
+      if (!mb->user_overide_font_outline) mb->use_text_outline = True;
+      if (!mb->user_overide_font_col) mbdesktop_set_font_color(mb, "white");
+			*/
+      break;
+      
+    case BG_GRADIENT_HORIZ:
+    	/*
+      mb->bg_img = mb_pixbuf_img_rgb_new(mb->pixbuf, mb->desktop_width, 
+					 mb->desktop_height);
+      dw = mb->desktop_width;
+      dh = mb->desktop_height;
+      
+      for(dx=0; dx<dw; dx++)
+	{
+	  r = mb->bg->data.gcols[0] + (( dx * (mb->bg->data.gcols[1] - mb->bg->data.gcols[0])) / dw); 
+	  g = mb->bg->data.gcols[2] + (( dx * (mb->bg->data.gcols[3] - mb->bg->data.gcols[2])) / dw); 
+	  b = mb->bg->data.gcols[4] + (( dx * (mb->bg->data.gcols[5] - mb->bg->data.gcols[4])) / dw); 
+
+	  for(dy=0; dy<dh; dy++)
+	    {
+	      mb_pixbuf_img_plot_pixel (mb->pixbuf, mb->bg_img, 
+					dx, dy, r ,g, b);
+	    }
+	}
+
+      if (!mb->user_overide_font_outline) mb->use_text_outline = True;
+      if (!mb->user_overide_font_col) mbdesktop_set_font_color(mb, "white");
+			*/
+			
+      break;
+      
+    case BG_GRADIENT_VERT:
+    	/*
+      mb->bg_img = mb_pixbuf_img_rgb_new(mb->pixbuf, mb->desktop_width, 
+					 mb->desktop_height);
+
+      dw = mb->desktop_width;
+      dh = mb->desktop_height;
+      
+      for(dy=0; dy<dh; dy++)
+	{
+	  r = mb->bg->data.gcols[0] + (( dy * (mb->bg->data.gcols[1] - mb->bg->data.gcols[0])) / dh); 
+	  g = mb->bg->data.gcols[2] + (( dy * (mb->bg->data.gcols[3] - mb->bg->data.gcols[2])) / dh); 
+	  b = mb->bg->data.gcols[4] + (( dy * (mb->bg->data.gcols[5] - mb->bg->data.gcols[4])) / dh); 
+
+	  for(dx=0; dx<dw; dx++)
+	    {
+	      mb_pixbuf_img_plot_pixel (mb->pixbuf, mb->bg_img, 
+					dx, dy, r ,g, b);
+	    }
+	}
+
+      if (!mb->user_overide_font_outline) mb->use_text_outline = True;
+      if (!mb->user_overide_font_col) mbdesktop_set_font_color(mb, "white");
+			*/
+      break;
+    }
+
+  /* Now set the background */
+  /*
+  if (ui->backbuffer != None) XFreePixmap(ui->xdpy, ui->backbuffer);
+  
+  ui->backbuffer = XCreatePixmap(ui->xdpy, ui->xwin_root, 
+			       ui->bg_img->width, ui->bg_img->height,
+			       ui->pixbuf->depth ); 
+	*/
+	
+  List             *row_item;
+  List 						 *key_item;
+  MBKeyboardLayout *layout;
+
+  layout = mb_kbd_get_selected_layout(ui->kbd);
+
+  row_item = mb_kbd_layout_rows(layout);
+
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row = row_item->data;
+
+  		mb_kbd_row_for_each_key(row, key_item)
+    	{
+  			if (!mb_kbd_is_extended(ui->kbd) 
+	  			&& mb_kbd_key_get_extended(key_item->data))
+					continue;
+	    		    		
+    		
+    		MBKeyboardKey *key = key_item->data;
+				
+				mb_kbd_key_composite_bg(ui, key);
+				
+				
+    	}
+    	
+    	row_item = util_list_next(row_item);
+    }	
+	
+	
+	
+	
+	
+	if (ui->backbuffer)
+	  mb_pixbuf_img_render_to_drawable(ui->pixbuf, ui->bg_img, (Drawable)ui->backbuffer, 0, 0);
+	else
+	{
+  	ui->backbuffer = XCreatePixmap(ui->xdpy, ui->xwin_root, 
+			       ui->bg_img->width, ui->bg_img->height,
+			       ui->pixbuf->depth ); 	
+		mb_pixbuf_img_render_to_drawable(ui->pixbuf, ui->bg_img, (Drawable)ui->backbuffer, 0, 0);			       
+	}
+
+	// 
+/*
+  if (ui->backing_cache != NULL)
+    mb_drawable_unref(ui->backing_cache);
+
+  ui->backing_cache = mb_drawable_new(ui->pixbuf, ui->xwin_width, ui->xwin_height);
+	
+	MBPixbufImage *img_dest;
+				      
+	img_dest = mb_pixbuf_img_clone(ui->pixbuf, ui->bg_img);
+	
+	mb_pixbuf_img_render_to_drawable(ui->pixbuf, img_dest, 
+				       mb_drawable_pixmap(ui->backing_cache), 
+				       0, 0);
+
+  if (img_dest)
+    mb_pixbuf_img_free(ui->pixbuf, img_dest);  
+*/    
+ //
+	
+  XUngrabServer(ui->xdpy);
+
+  XSync(ui->xdpy, False);
+
+  /* and figure out what font is best */	
+}
+
+/*			  
+void mb_kbd_ui_set_bg(MBKeyboardUI  *ui)
+{
+	MBPixbuf               *pixbuf; 
+  MBPixbufImage *img_tmp, *img_bg;
+  MBPixbufImage *img_scaled;
+
+  Pixmap tmp_pxm;
+  char *tmp_path = NULL;
+
+  XGrabServer(ui->xdpy);	
+  
+  if (ui->bg_img != NULL)
+    	mb_pixbuf_img_free(ui->pixbuf, ui->bg_img);
+
+ 
+  /*
+  if ((img_bg = mb_pixbuf_img_new_from_file(ui->pixbuf, "/usr/share/pixmaps/bg_keyboard.png")) == NULL)
+	{
+	  fprintf(stderr, "matchbox-keyboard: failed to load %s\n", "/usr/share/bg_keyboard.png");
+	  return;
+	}  
+
+  /*img_bg = mb_pixbuf_img_new(ui->pixbuf, ui->xwin_width, ui->xwin_height);*/
+  /*
+	img_scaled =  mb_pixbuf_img_scale(ui->pixbuf, img_bg,
+					    ui->xwin_width, ui->xwin_height);
+					    
+	mb_pixbuf_img_free(ui->pixbuf, img_bg);
+	img_bg = img_scaled;
+	*/
+	/*
+	mb_pixbuf_img_copy(ui->pixbuf, img_bg, img_tmp,
+			       0, 0, ui->xwin_width, ui->xwin_height, 0, 0);
+	
+	mb_pixbuf_img_free(ui->pixbuf, img_tmp);
+	*/
+	/* 
+  if (ui->bg_pxm != None) 
+		XFreePixmap(ui->xdpy, ui->bg_pxm);
+
+  ui->bg_pxm = XCreatePixmap(ui->xdpy,
+				 ui->xwin,
+				 ui->xwin_width, 
+				 ui->xwin_height,
+				 DefaultDepth(ui->xdpy, ui->xscreen));
+
+  mb_pixbuf_img_render_to_drawable(ui->pixbuf, img_bg, ui->bg_pxm, 0, 0);
+    
+  XSetWindowBackgroundPixmap(ui->xdpy, ui->xwin, ui->bg_pxm);
+  
+  XClearWindow(ui->xdpy, ui->xwin);
+  mb_pixbuf_img_free(ui->pixbuf, img_bg);
+  */
+  /*
+ if (XParseColor(ui->xdpy, 
+		      DefaultColormap(ui->xdpy, ui->xscreen),
+		      "#dadad5",
+		      &ui->xcol ))
+	{
+
+fprintf(stdout, "===========\n");
+
+	  XSetWindowBackground(ui->xdpy, ui->xwin, 
+			       mb_pixbuf_lookup_x_pixel(ui->pixbuf, 
+							ui->xcol.red >> 8,
+							ui->xcol.green >> 8,
+							ui->xcol.blue >> 8, 0));
+
+	  //			       panel->xcol.pixel);
+	  XClearWindow(ui->xdpy, ui->xwin);
+
+	  if (ui->bg_pxm != None) 
+	    XFreePixmap(ui->xdpy, ui->bg_pxm);
+	  ui->bg_pxm = None;
+	  
+	}  
+      
+  XUngrabServer(ui->xdpy);
+
+  XSync(ui->xdpy, False);
+        
+}			  
+*/
+
+			  
+static int
+mb_kbd_ui_resources_create(MBKeyboardUI  *ui)
+{
+
+#define PROP_MOTIF_WM_HINTS_ELEMENTS    5
+#define MWM_HINTS_DECORATIONS          (1L << 1)
+#define MWM_DECOR_BORDER               (1L << 1)
+
+  typedef struct
+  {
+    unsigned long       flags;
+    unsigned long       functions;
+    unsigned long       decorations;
+    long                inputMode;
+    unsigned long       status;
+  } PropMotifWmHints ;
+
+
+  Atom /* atom_wm_protocols[3], */ 
+     atom_NET_WM_WINDOW_TYPE, 
+     atom_NET_WM_WINDOW_TYPE_TOOLBAR,
+     atom_NET_WM_WINDOW_TYPE_DOCK,
+     atom_NET_WM_STRUT_PARTIAL,
+     atom_NET_WM_STATE_SKIP_PAGER,
+     atom_NET_WM_STATE_SKIP_TASKBAR,
+     atom_NET_WM_STATE,
+     atom_MOTIF_WM_HINTS;
+  
+
+  PropMotifWmHints    *mwm_hints;
+  XSizeHints           size_hints;
+  XWMHints            *wm_hints;
+  XSetWindowAttributes win_attr;
+
+
+  char                *wm_name;
+  boolean              have_matchbox_wm = False;             
+  boolean              have_ewmh_wm     = False;             
+
+  /*
+  atom_wm_protocols = { 
+    XInternAtom(ui->xdpy, "WM_DELETE_WINDOW",False),
+    XInternAtom(ui->xdpy, "WM_PROTOCOLS",False),
+    XInternAtom(ui->xdpy, "WM_NORMAL_HINTS", False),
+  };
+  */
+  atom_NET_WM_WINDOW_TYPE =
+    XInternAtom(ui->xdpy, "_NET_WM_WINDOW_TYPE" , False);
+
+  atom_NET_WM_WINDOW_TYPE_TOOLBAR =
+    XInternAtom(ui->xdpy, "_NET_WM_WINDOW_TYPE_TOOLBAR", False);
+
+  atom_NET_WM_WINDOW_TYPE_DOCK = 
+    XInternAtom(ui->xdpy, "_NET_WM_WINDOW_TYPE_DOCK", False);
+
+  atom_MOTIF_WM_HINTS =
+    XInternAtom(ui->xdpy, "_MOTIF_WM_HINTS", False);
+
+  atom_NET_WM_STRUT_PARTIAL = 
+    XInternAtom(ui->xdpy, "_NET_WM_STRUT_PARTIAL", False);
+
+  atom_NET_WM_STATE_SKIP_TASKBAR =
+    XInternAtom(ui->xdpy, "_NET_WM_STATE_SKIP_TASKBAR", False);
+
+  atom_NET_WM_STATE_SKIP_PAGER = 
+    XInternAtom(ui->xdpy, "_NET_WM_STATE_SKIP_PAGER", False);
+
+  atom_NET_WM_STATE =
+    XInternAtom(ui->xdpy, "_NET_WM_STATE", False);
+
+  if ((wm_name = get_current_window_manager_name(ui)) != NULL)
+    {
+      have_ewmh_wm = True; 	/* basically assumed to be Metacity
+				   or at least only tested with mcity */
+
+      if (streq(wm_name, "matchbox"))
+	have_matchbox_wm = True;
+    }
+
+  win_attr.override_redirect = False; /* Set to true for extreme case */
+  win_attr.event_mask 
+    = ButtonPressMask|ButtonReleaseMask|Button1MotionMask|StructureNotifyMask;
+
+  ui->xwin = XCreateWindow(ui->xdpy,
+			   ui->xwin_root,
+			   0, 0,
+			   ui->xwin_width, ui->xwin_height,
+			   0,
+			   CopyFromParent, CopyFromParent, CopyFromParent,
+			   CWOverrideRedirect|CWEventMask,
+			   &win_attr);
+
+
+	
+  wm_hints = XAllocWMHints();
+
+  if (wm_hints)
+    {
+      DBG("setting no focus hint");
+      wm_hints->input = False;
+      wm_hints->flags = InputHint;
+      XSetWMHints(ui->xdpy, ui->xwin, wm_hints );
+      XFree(wm_hints);
+    }
+
+  size_hints.flags = PPosition | PSize | PMinSize;
+  size_hints.x = 0;
+  size_hints.y = 0;
+  size_hints.width      =  ui->xwin_width; 
+  size_hints.height     =  ui->xwin_height;
+  size_hints.min_width  =  ui->xwin_width;
+  size_hints.min_height =  ui->xwin_height;
+    
+  XSetStandardProperties(ui->xdpy, ui->xwin, "Keyboard", 
+			 NULL, 0, NULL, 0, &size_hints);
+
+  if (!ui->want_embedding)
+    {
+      mwm_hints = util_malloc0(sizeof(PropMotifWmHints));
+  
+      if (mwm_hints)
+	{
+	  mwm_hints->flags = MWM_HINTS_DECORATIONS;
+	  mwm_hints->decorations = 0;
+	  
+	  XChangeProperty(ui->xdpy, ui->xwin, atom_MOTIF_WM_HINTS, 
+			  XA_ATOM, 32, PropModeReplace, 
+			  (unsigned char *)mwm_hints, 
+			  PROP_MOTIF_WM_HINTS_ELEMENTS);
+	  
+	  free(mwm_hints);
+	}
+      
+      if (have_ewmh_wm)
+	{
+	  /* XXX Fix this for display size */
+	  int wm_struct_vals[] = { 0, /* left */			
+				   0, /* right */ 
+				   0, /* top */
+				   0, /* bottom */
+				   0, /* left_start_y */
+				   0, /* left_end_y */
+				   0, /* right_start_y */
+				   0, /* right_end_y */
+				   0, /* top_start_x */
+				   0, /* top_end_x */
+				   0, /* bottom_start_x */
+				   1399 }; /* bottom_end_x */
+	  
+	  Atom states[] = { atom_NET_WM_STATE_SKIP_TASKBAR, atom_NET_WM_STATE_SKIP_PAGER };
+	  int  desk_width = 0, desk_height = 0, desk_y = 0;
+	  
+	  XChangeProperty(ui->xdpy, ui->xwin, 
+			  atom_NET_WM_STATE, XA_ATOM, 32, 
+			  PropModeReplace, 
+			  (unsigned char *)states, 2);
+	  
+	  if (get_desktop_area(ui, NULL, &desk_y, &desk_width, &desk_height))
+	    {
+	      /* Assuming we take up all available display width 
+	       * ( at least true with matchbox wm ). we resize
+	       * the base ui width to this ( and height as a factor ) 
+	       * to avoid the case of mapping and then the wm resizing
+	       * us, causing an ugly repaint. 
+	       */
+	      if (desk_width > ui->xwin_width)
+		{
+		  mb_kbd_ui_resize(ui, 
+				   desk_width, 
+				   ( desk_width * ui->xwin_height ) / ui->xwin_width);
+		}
+	      
+	      wm_struct_vals[2]  = desk_y + desk_height - ui->xwin_height;
+	      wm_struct_vals[11] = desk_width;
+	      
+	      XChangeProperty(ui->xdpy, ui->xwin, 
+			      atom_NET_WM_STRUT_PARTIAL, XA_CARDINAL, 32, 
+			      PropModeReplace, 
+			      (unsigned char *)wm_struct_vals , 12);
+	      
+	      DBG("desk width: %i, desk height: %i xwin_height :%i",
+		  desk_width, desk_height, ui->xwin_height);
+	      
+	    }
+	  
+	  if (have_matchbox_wm)
+	    {
+	      XChangeProperty(ui->xdpy, ui->xwin, 
+			      atom_NET_WM_WINDOW_TYPE, XA_ATOM, 32, 
+			      PropModeReplace, 
+			      (unsigned char *) &atom_NET_WM_WINDOW_TYPE_TOOLBAR, 1);
+	    }
+	  else
+	    {
+	      /*
+		XChangeProperty(ui->xdpy, ui->xwin, 
+		atom_NET_WM_WINDOW_TYPE, XA_ATOM, 32, 
+		PropModeReplace, 
+		(unsigned char *) &atom_NET_WM_WINDOW_TYPE_DOCK, 1);
+	      */
+	      
+	    }
+	}
+    }
+
+  ui->backbuffer = XCreatePixmap(ui->xdpy,
+				 ui->xwin,
+				 ui->xwin_width, 
+				 ui->xwin_height,
+				 DefaultDepth(ui->xdpy, ui->xscreen));
+
+
+
+  XSetWindowBackgroundPixmap(ui->xdpy,
+			     ui->xwin, 
+			     ui->backbuffer);
+
+
+ ui->backend->resources_create(ui);
+
+
+  /* Get root size change events for rotation */
+
+  /* XSelectInput(ui->xdpy, ui->xwin_root, StructureNotifyMask); */
+
+  return 1;
+}
+
+static void
+mb_kbd_ui_resize(MBKeyboardUI *ui, int width, int height) 
+{
+  MBKeyboard       *kbd = ui->kbd;
+  MBKeyboardLayout *layout;
+  List              *row_item, *key_item;
+  int               width_diff, height_diff;
+  int               height_font_pt_size, width_font_pt_size;
+  int               next_row_y,  n_rows, extra_key_height;
+
+  MARK();
+
+  width_diff  = width  - ui->base_alloc_width; 
+  height_diff = height - ui->base_alloc_height; 
+
+  if (width_diff < 0 || height_diff < 0)
+    return;  /* dont go smaller than our int request - get clipped */
+
+  layout   = mb_kbd_get_selected_layout(ui->kbd);
+  row_item = mb_kbd_layout_rows(layout);
+
+  /* load a bigger font ? 
+   * Only load if height and width have changed
+   */
+
+  width_font_pt_size = ( (ui->base_font_pt_size * width) 
+		               / ui->base_alloc_width );
+  
+  if (util_abs(width_font_pt_size - kbd->font_pt_size) > 2)
+    {
+      height_font_pt_size = ( (ui->base_font_pt_size * height) 
+			         / ui->base_alloc_height );
+
+      if (util_abs(height_font_pt_size - kbd->font_pt_size) > 2)
+	{
+	  ui->kbd->font_pt_size = (height_font_pt_size > width_font_pt_size) 
+                 	       ? width_font_pt_size : height_font_pt_size;
+
+	  mb_kbd_ui_load_font(ui);
+	}
+    }
+
+  n_rows = util_list_length(row_item);
+
+  extra_key_height = (height_diff / n_rows);
+
+  DBG("****** extra height is %i ******", extra_key_height);
+
+  next_row_y = mb_kbd_row_spacing(ui->kbd);
+
+  /* allocate the extra width we have as padding to keys */
+
+  while (row_item != NULL)
+    {
+      int row_base_width, new_row_base_width, row_width_diff;
+      int  next_key_x = 0,  n_fillers  = 0, free_space = 0, new_w = 0;
+
+      row_base_width = mb_kbd_row_base_width(row_item->data);
+
+      new_row_base_width = ( row_base_width * width ) / ui->base_alloc_width;
+
+      row_width_diff = new_row_base_width - row_base_width;
+
+      DBG("row_width_diff = %i", row_width_diff);
+
+      next_key_x = mb_kbd_col_spacing(ui->kbd);
+
+      /* 
+       * row_base_width       
+       * --------------  X  new_width  = new_base_width
+       *   base_width      
+       *
+       * key_extra_pad  = key_base_width X base_width_diff 
+       *                  --------------------------------
+       *                          row_base_width
+      */
+
+      mb_kbd_row_for_each_key(row_item->data, key_item)
+	{
+	  MBKeyboardKey *key = key_item->data;
+	  int            key_base_width, key_new_pad;
+
+	  if (!mb_kbd_is_extended(kbd) && mb_kbd_key_get_extended(key))
+	    continue;
+
+	  key_base_width =( mb_kbd_key_width(key) 
+			    - mb_kbd_key_get_extra_width_pad(key));
+
+	  key_new_pad= ( (key_base_width + mb_kbd_col_spacing(kbd)) * row_width_diff) / row_base_width; 
+                             
+	  mb_kbd_key_set_extra_width_pad (key, key_new_pad );
+
+	  /* Height */
+
+	  mb_kbd_key_set_extra_height_pad (key, extra_key_height);
+
+	  mb_kbd_key_set_geometry(key, next_key_x, -1, -1, -1);
+
+	  next_key_x += (mb_kbd_key_width(key) + mb_kbd_col_spacing(ui->kbd)); 
+
+	  if (mb_kbd_key_get_fill(key))
+	      n_fillers++;
+	}
+
+      /* The above ( likely due to rounding ) leaves a few pixels free. 
+       * This can be critical on a small handheld display. Therefore 
+       * we do a second parse deviding up any left over space between
+       * keys marked as fill. 
+      */
+
+      if (n_fillers)
+	{
+	  free_space = width - mb_kbd_row_width(row_item->data);
+
+	  mb_kbd_row_for_each_key(row_item->data, key_item)
+	    {
+	      if (!mb_kbd_is_extended(kbd) 
+		  && mb_kbd_key_get_extended(key_item->data))
+		continue;
+
+	      if (mb_kbd_key_get_fill(key_item->data))
+		{
+		  int   old_w;
+		  List *nudge_key_item = util_list_next(key_item);
+		  
+		  old_w = mb_kbd_key_width(key_item->data);
+		  new_w = old_w + (free_space/n_fillers);
+		  
+		  mb_kbd_key_set_geometry(key_item->data, -1, -1, new_w, -1);
+		  
+		  /* nudge next keys forward */
+
+		  for (; 
+		       nudge_key_item != NULL; 
+		       nudge_key_item = util_list_next(nudge_key_item)) 
+		    {
+		      if (!mb_kbd_is_extended(ui->kbd) 
+			  && mb_kbd_key_get_extended(nudge_key_item->data))
+			continue;
+
+		      mb_kbd_key_set_geometry(nudge_key_item->data,
+					      mb_kbd_key_x(nudge_key_item->data) + (new_w - old_w ), -1, -1, -1);
+
+		    }
+		}
+
+	    }
+	}
+
+
+      /* re-center row */
+
+      mb_kbd_row_set_x(row_item->data, 
+		       (width - mb_kbd_row_width(row_item->data))/2);
+
+      /* and position down */
+
+      mb_kbd_row_set_y(row_item->data, next_row_y);
+
+      next_row_y  += (mb_kbd_row_height(row_item->data) 
+		      + mb_kbd_row_spacing(ui->kbd));
+
+      row_item = util_list_next(row_item);
+    }
+
+  /* center entire layout vertically if space left */
+
+  if (next_row_y < height)
+    {
+      int vspace = ( height - next_row_y ) / 2;
+
+      row_item = mb_kbd_layout_rows(layout);
+
+      while (row_item != NULL)
+	{
+	  mb_kbd_row_set_y(row_item->data, 
+			   mb_kbd_row_y(row_item->data) + vspace + 1);
+
+	  row_item = util_list_next(row_item);
+	}
+    }
+
+  XResizeWindow(ui->xdpy, ui->xwin, width, height);
+
+  ui->xwin_width  = width;
+  ui->xwin_height = height;
+
+
+  if (ui->backbuffer) /* may get called before initialised */
+    {
+      XFreePixmap(ui->xdpy, ui->backbuffer);
+      ui->backbuffer = XCreatePixmap(ui->xdpy,
+				     ui->xwin,
+				     ui->xwin_width, 
+				     ui->xwin_height,
+				     DefaultDepth(ui->xdpy, ui->xscreen));
+
+      ui->backend->resize(ui, width, height);
+
+      XSetWindowBackgroundPixmap(ui->xdpy, ui->xwin, ui->backbuffer);
+
+      mb_kbd_ui_redraw(ui);
+    }
+
+
+}
+
+void
+mb_kbd_ui_handle_configure(MBKeyboardUI *ui,
+			   int           width,
+			   int           height)
+{
+  boolean old_state, new_state;
+
+  MARK();
+
+  /* Figure out if screen size has changed - does a round trip - bad */
+
+  update_display_size(ui);
+
+  old_state = mb_kbd_is_extended(ui->kbd);
+  new_state = want_extended(ui);
+   
+  if (new_state == old_state) 	/* Not a rotation */
+    {
+      mb_kbd_ui_resize(ui, width, height); 
+      return;
+    }
+
+  mb_kbd_set_extended(ui->kbd, new_state);
+
+  /* realocate the layout */
+
+  mb_kbd_ui_allocate_ui_layout(ui, 
+			       &ui->base_alloc_width, &ui->base_alloc_height);
+
+  mb_kbd_ui_resize(ui, width, height); 
+
+}
+
+void
+mb_kbd_ui_event_loop(MBKeyboardUI *ui)
+{
+  MBKeyboardKey *key = NULL;
+  struct timeval tvt;
+
+  /* Key repeat - values for standard xorg install ( xset q) */
+  int repeat_delay = 100 * 10000;
+  int repeat_rate  = 30  * 1000;
+
+  tvt.tv_sec  = 0;
+  tvt.tv_usec = repeat_delay;
+
+  while (True)
+      {
+	XEvent xev;
+
+	if (get_xevent_timed(ui->xdpy, &xev, &tvt))
+	  {
+	    switch (xev.type) 
+	      {
+	      case ButtonPress:
+		DBG("got button bress at %i,%i", xev.xbutton.x, xev.xbutton.y);
+		key = mb_kbd_locate_key(ui->kbd, xev.xbutton.x, xev.xbutton.y);
+		if (key)
+		  {
+		    /* Hack if we never get a release event */
+		    if (key != mb_kbd_get_held_key(ui->kbd))
+		      {
+			mb_kbd_key_release(ui->kbd);
+			tvt.tv_usec = repeat_delay;   
+		      }
+		    else
+		      tvt.tv_usec = repeat_rate;
+
+		    DBG("found key for press");
+		    mb_kbd_key_press(key);
+
+		  }
+		break;
+	      case ButtonRelease:
+		if (mb_kbd_get_held_key(ui->kbd) != NULL)
+		  {
+		    mb_kbd_key_release(ui->kbd);	 
+		    tvt.tv_usec = repeat_delay;
+		  }
+		break;
+	      case ConfigureNotify:
+		if (xev.xconfigure.width != ui->xwin_width
+		    || xev.xconfigure.height != ui->xwin_height)
+		  mb_kbd_ui_handle_configure(ui,
+					     xev.xconfigure.width,
+					     xev.xconfigure.height);
+		break;
+	      case MappingNotify: 
+		fakekey_reload_keysyms(ui->fakekey);
+		XRefreshKeyboardMapping(&xev.xmapping);
+		break;
+	      default:
+		break;
+	      }
+	    if (ui->want_embedding)
+	      mb_kbd_xembed_process_xevents (ui, &xev);
+	  }
+	else
+	  {
+	    /* Keyrepeat */
+	    if (mb_kbd_get_held_key(ui->kbd) != NULL)
+	      {
+		fakekey_repeat(ui->fakekey);
+		tvt.tv_usec = repeat_rate;
+	      }
+	  }
+      }
+}
+
+static int
+mb_kbd_ui_load_font(MBKeyboardUI *ui)
+{
+  return ui->backend->font_load(ui);
+}
+
+
+int
+mb_kbd_ui_display_width(MBKeyboardUI *ui)
+{
+  return ui->dpy_width;
+}
+
+int
+mb_kbd_ui_display_height(MBKeyboardUI *ui)
+{
+  return ui->dpy_height;
+}
+
+MBKeyboardUIBackend*
+mb_kbd_ui_backend(MBKeyboardUI *ui)
+{
+  return ui->backend;
+}
+
+Display*
+mb_kbd_ui_x_display(MBKeyboardUI *ui)
+{
+  return ui->xdpy;
+}
+
+MBPixbuf*
+mb_kbd_ui_pixbuf(MBKeyboardUI *ui)
+{
+  return ui->pixbuf;
+}
+
+MBPixbufImage *
+mb_kbd_ui_bg_img(MBKeyboardUI *ui)
+{
+  return ui->bg_img;
+}
+
+MBDrawable*
+mb_kbd_ui_backing_cache(MBKeyboardUI *ui)
+{
+  return ui->backing_cache;
+}
+
+int
+mb_kbd_ui_x_screen(MBKeyboardUI *ui)
+{
+  return ui->xscreen;
+}
+
+Window
+mb_kbd_ui_x_win(MBKeyboardUI *ui)
+{
+  return ui->xwin;
+}
+
+Window
+mb_kbd_ui_x_win_root(MBKeyboardUI *ui)
+{
+  return ui->xwin_root;
+}
+
+int
+mb_kbd_ui_x_win_height(MBKeyboardUI *ui)
+{
+  return ui->xwin_height;
+}
+
+int
+mb_kbd_ui_x_win_width(MBKeyboardUI *ui)
+{
+  return ui->xwin_width;
+}
+
+
+Pixmap
+mb_kbd_ui_backbuffer(MBKeyboardUI *ui)
+{
+  return ui->backbuffer;
+}
+
+MBKeyboard*
+mb_kbd_ui_kbd(MBKeyboardUI *ui)
+{
+  return ui->kbd;
+}
+
+
+int
+mb_kbd_ui_realize(MBKeyboardUI *ui)
+{
+  ui->base_font_pt_size = ui->kbd->font_pt_size;
+
+  if (!mb_kbd_ui_load_font(ui))
+    return 0;
+
+  /* potrait or landscape */
+  if (want_extended(ui))
+    mb_kbd_set_extended(ui->kbd, True);
+
+  /* 
+   * figure out how small this keyboard can be..
+  */
+  mb_kbd_ui_allocate_ui_layout(ui, 
+			       &ui->base_alloc_width, &ui->base_alloc_height);
+
+  ui->xwin_width  = ui->base_alloc_width;
+  ui->xwin_height = ui->base_alloc_height;
+
+  mb_kbd_ui_resources_create(ui);
+
+	// ³õʼ»¯Ã¿¸ö°´Å¥µÄͼ±ê
+	mb_kbd_ui_init_key_img(ui);
+
+  unless (mb_kbd_ui_embeded(ui))
+    {
+      mb_kbd_ui_show(ui);
+  		mb_kbd_ui_bg_parse_spec(ui, "img-stretched:filename");
+			mb_kbd_ui_set_bg(ui);
+      
+      mb_kbd_ui_redraw(ui);
+    }
+  else
+    mb_kbd_xembed_init (ui);
+
+  return 1;
+}
+
+int
+mb_kbd_ui_init(MBKeyboard *kbd)
+{
+  MBKeyboardUI     *ui = NULL;
+  
+  ui = kbd->ui = util_malloc0(sizeof(MBKeyboardUI));
+  
+  ui->kbd = kbd;
+
+  if ((ui->xdpy = XOpenDisplay(getenv("DISPLAY"))) == NULL)
+    return 0;
+
+  if ((ui->fakekey = fakekey_init(ui->xdpy)) == NULL)
+    return 0;
+
+  ui->xscreen   = DefaultScreen(ui->xdpy);
+  ui->xwin_root = RootWindow(ui->xdpy, ui->xscreen);   
+
+
+	ui->pixbuf = mb_pixbuf_new(ui->xdpy, ui->xscreen);
+	
+  ui->backend = MB_KBD_UI_BACKEND_INIT_FUNC(ui);
+
+  update_display_size(ui);
+
+  return 1;
+}
+
+/* Embedding */
+
+void
+mb_kbd_ui_set_embeded (MBKeyboardUI *ui, int embed)
+{
+  ui->want_embedding = embed;
+}
+ 
+int
+mb_kbd_ui_embeded (MBKeyboardUI *ui)
+{
+  return ui->want_embedding;
+}
+
+void
+mb_kbd_ui_print_window (MBKeyboardUI *ui)
+{
+  fprintf(stdout, "%li\n", mb_kbd_ui_x_win(ui));
+  fflush(stdout);
+}

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-xembed.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-xembed.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard-xembed.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,172 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+#define MAX_SUPPORTED_XEMBED_VERSION   1
+
+#define XEMBED_MAPPED          (1 << 0)
+
+/* XEMBED messages */
+#define XEMBED_EMBEDDED_NOTIFY          0
+#define XEMBED_WINDOW_ACTIVATE          1
+#define XEMBED_WINDOW_DEACTIVATE        2
+#define XEMBED_REQUEST_FOCUS            3
+#define XEMBED_FOCUS_IN                 4
+#define XEMBED_FOCUS_OUT                5
+#define XEMBED_FOCUS_NEXT               6
+#define XEMBED_FOCUS_PREV               7
+/* 8-9 were used for XEMBED_GRAB_KEY/XEMBED_UNGRAB_KEY */
+#define XEMBED_MODALITY_ON              10
+#define XEMBED_MODALITY_OFF             11
+#define XEMBED_REGISTER_ACCELERATOR     12
+#define XEMBED_UNREGISTER_ACCELERATOR   13
+#define XEMBED_ACTIVATE_ACCELERATOR     14
+
+static Atom Atom_XEMBED; /* FIXME: put array of atoms in UI struct  */
+static Window ParentEmbedderWin = None;
+
+static void
+mb_kbd_xembed_set_win_info (MBKeyboardUI *ui, int flags)
+{
+   CARD32 list[2];
+
+   Atom atom_ATOM_XEMBED_INFO;
+
+   atom_ATOM_XEMBED_INFO 
+     = XInternAtom(mb_kbd_ui_x_display(ui), "_XEMBED_INFO", False);
+
+
+   list[0] = MAX_SUPPORTED_XEMBED_VERSION;
+   list[1] = flags;
+   XChangeProperty (mb_kbd_ui_x_display(ui), 
+		    mb_kbd_ui_x_win(ui), 
+		    atom_ATOM_XEMBED_INFO,
+		    atom_ATOM_XEMBED_INFO, 32,
+		    PropModeReplace, (unsigned char *) list, 2);
+}
+
+static Bool
+mb_kbd_xembed_send_message (MBKeyboardUI *ui,
+			    Window        w,
+			    long          message,
+			    long          detail,
+			    long          data1, 
+			    long          data2)
+{
+  XEvent ev;
+
+  memset(&ev, 0, sizeof(ev));
+
+  ev.xclient.type = ClientMessage;
+  ev.xclient.window = w;
+  ev.xclient.message_type = Atom_XEMBED;
+  ev.xclient.format = 32;
+  ev.xclient.data.l[0] = CurrentTime; /* FIXME: Is this correct */
+  ev.xclient.data.l[1] = message;
+  ev.xclient.data.l[2] = detail;
+  ev.xclient.data.l[3] = data1;
+  ev.xclient.data.l[4] = data2;
+
+  util_trap_x_errors();
+
+  XSendEvent(mb_kbd_ui_x_display(ui), w, False, NoEventMask, &ev);
+  XSync(mb_kbd_ui_x_display(ui), False);
+
+  if (util_untrap_x_errors()) 
+    return False;
+
+  return True;
+}
+
+void
+mb_kbd_xembed_init (MBKeyboardUI *ui)
+{
+  /* FIXME: Urg global  */
+  Atom_XEMBED = XInternAtom(mb_kbd_ui_x_display(ui), "_XEMBED", False);
+
+  mb_kbd_xembed_set_win_info (ui, 0);
+}
+
+void
+mb_kbd_xembed_process_xevents (MBKeyboardUI *ui, XEvent *xevent)
+{
+
+  switch (xevent->type)
+    {
+    case MapNotify:
+      DBG("### got Mapped ###");
+      break;
+    case ClientMessage:
+      if (xevent->xclient.message_type == Atom_XEMBED)
+	{
+	  switch (xevent->xclient.data.l[1])
+	    {
+	    case XEMBED_EMBEDDED_NOTIFY:
+	      /* We are now reparented. Call the repaint. 
+               * note, 'data1' ( see spec ) is is embedders window
+	      */
+	      DBG("### got XEMBED_EMBEDDED_NOTIFY ###");
+	      ParentEmbedderWin = xevent->xclient.data.l[3];
+
+	      /* FIXME: we really want to know what our final
+               *        size will be before mapping as this can
+               *        look ugly when window is mapped then a 
+               *        load of resizes.
+               *        Maybe fixible in GTK calling code ?
+	      */ 
+
+	      mb_kbd_ui_redraw(ui);	      
+
+	      XSync(mb_kbd_ui_x_display(ui), False);
+
+	      /* And please Map us */
+
+
+
+	      mb_kbd_xembed_set_win_info (ui, XEMBED_MAPPED);
+
+	      break;
+	    case XEMBED_WINDOW_ACTIVATE:
+	      /* FIXME: What to do here */
+	      DBG("### got XEMBED_WINDOW_ACTIVATE ###");
+	      break;
+	    case XEMBED_WINDOW_DEACTIVATE:
+	      /* FIXME: What to do here ? unmap or exit */
+	      DBG("### got XEMBED_WINDOW_DEACTIVATE ###");
+	      break;
+	    case XEMBED_FOCUS_IN:
+	      DBG("### got XEMBED_FOCUS_IN ###");
+	      /* 
+               * Please never give us key focus...
+	      */
+	      if (ParentEmbedderWin)
+		mb_kbd_xembed_send_message (ui,
+					    ParentEmbedderWin,
+					    XEMBED_FOCUS_NEXT,
+					    0, 0, 0);
+	      break
+;	      /* TODO: Modility + rest of spec ? */
+	    }
+	}
+    }
+
+  /* FIXME: Handle case of Embedder dieing ( Xfixes call ) ? */
+
+}

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,288 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#include "matchbox-keyboard.h"
+
+static void
+mb_kbd_usage (char *progname)
+{
+  fprintf(stderr, "Usage:\n   %s [Options ] [ Layout Variant ]\n", progname);
+  fprintf(stderr, "\nOptions are;\n"
+	  "   -xid,--xid            Print window ID to stdout ( for embedding )\n");
+  fprintf(stderr, "\nmatchbox-keyboard %s \nCopyright (C) 2005 Matthew Allum, OpenedHand Ltd.\n", VERSION);
+
+  exit(-1);
+}
+
+MBKeyboard*
+mb_kbd_new (int argc, char **argv)
+{
+  MBKeyboard *kb = NULL;
+  char       *variant = NULL; 
+  Bool        want_embedding = False;
+  int         i;
+
+  kb = util_malloc0(sizeof(MBKeyboard));
+
+  kb->key_border = 1;
+  kb->key_pad    = 2;
+  kb->key_margin = 0;
+
+  kb->col_spacing = 5;
+  kb->row_spacing = 5;
+
+  kb->font_family  = strdup("sans");
+  kb->font_pt_size = 8;
+  kb->font_variant = strdup("bold");
+
+  for (i = 1; i < argc; i++) 
+    {
+      if (streq ("-xid", argv[i]) || streq ("--xid", argv[i])) 
+	{
+	  want_embedding = True;
+	  continue;
+	}
+
+      if (i == (argc-1) && argv[i][0] != '-')
+	variant = argv[i];
+      else
+	mb_kbd_usage(argv[0]);
+    }
+
+  if (variant == NULL)
+    variant = getenv("MB_KBD_VARIANT");
+
+  if (!mb_kbd_ui_init(kb))
+    return NULL;
+
+  if (mb_kbd_ui_display_width(kb->ui) <= 320) 
+    {
+      kb->key_border   = 1;
+      kb->key_pad      = 0;
+      kb->col_spacing  = 0;
+      kb->row_spacing  = 0;
+      kb->font_pt_size = 8;
+    }
+
+  if (!mb_kbd_config_load(kb, variant))
+    return NULL;
+
+  kb->selected_layout 
+    = (MBKeyboardLayout *)util_list_get_nth_data(kb->layouts, 0);
+
+  if (want_embedding)
+    mb_kbd_ui_set_embeded( kb->ui, True );
+
+  if (!mb_kbd_ui_realize(kb->ui))
+    return NULL;
+
+  if (want_embedding)
+    mb_kbd_ui_print_window( kb->ui );
+
+  return kb;
+}
+
+int
+mb_kbd_row_spacing(MBKeyboard *kb)
+{
+  return kb->row_spacing;
+}
+
+int
+mb_kbd_col_spacing(MBKeyboard *kb)
+{
+  return kb->col_spacing;
+}
+
+int
+mb_kbd_keys_border(MBKeyboard *kb)
+{
+  return kb->key_border;
+}
+
+int
+mb_kbd_keys_pad(MBKeyboard *kb)
+{
+  return kb->key_pad;
+}
+
+int
+mb_kbd_keys_margin(MBKeyboard *kb)
+{
+  return kb->key_margin;
+}
+
+void
+mb_kbd_add_state(MBKeyboard *kbd, MBKeyboardStateType state)
+{
+  kbd->keys_state |= state;
+}
+
+void
+mb_kbd_toggle_state(MBKeyboard *kbd, MBKeyboardStateType state)
+{
+  kbd->keys_state ^= state;
+}
+
+boolean
+mb_kbd_has_state(MBKeyboard *kbd, MBKeyboardStateType state)
+{
+  return (kbd->keys_state & state);
+}
+
+boolean
+mb_kbd_has_any_state(MBKeyboard *kbd)
+{
+  return  (kbd->keys_state > 0);
+}
+
+void
+mb_kbd_remove_state(MBKeyboard *kbd, MBKeyboardStateType state)
+{
+  kbd->keys_state &= ~(state);
+}
+
+MBKeyboardKeyStateType
+mb_kbd_keys_current_state(MBKeyboard *kbd)
+{
+  if (mb_kbd_has_state(kbd, MBKeyboardStateShifted))
+    return MBKeyboardKeyStateShifted;
+
+  if (mb_kbd_has_state(kbd, MBKeyboardStateMod1))
+    return MBKeyboardKeyStateMod1;
+
+  if (mb_kbd_has_state(kbd, MBKeyboardStateMod2))
+    return MBKeyboardKeyStateMod2;
+  
+  if (mb_kbd_has_state(kbd, MBKeyboardStateMod3))
+    return MBKeyboardKeyStateMod3;
+  
+  return MBKeyboardKeyStateNormal;
+}
+
+void
+mb_kbd_redraw(MBKeyboard *kb)
+{
+  mb_kbd_ui_redraw(kb->ui);
+}
+
+void
+mb_kbd_redraw_key(MBKeyboard *kb, MBKeyboardKey *key)
+{
+  mb_kbd_ui_redraw_key(kb->ui, key);
+  mb_kbd_ui_swap_buffers(kb->ui);
+}
+
+MBKeyboardKey*
+mb_kbd_locate_key(MBKeyboard *kb, int x, int y)
+{
+  MBKeyboardLayout *layout;
+  List             *row_item, *key_item;
+
+  layout = mb_kbd_get_selected_layout(kb);
+
+  row_item = mb_kbd_layout_rows(layout);
+
+  while (row_item != NULL)
+    {
+      MBKeyboardRow *row = row_item->data;
+
+      if (x >= mb_kbd_row_x(row) 
+	  && x <= mb_kbd_row_x(row) + mb_kbd_row_width(row) 
+	  && y >= mb_kbd_row_y(row)
+	  && y <= mb_kbd_row_y(row) + mb_kbd_row_height(row) )
+	{
+	  mb_kbd_row_for_each_key(row, key_item) 
+	    {
+	      MBKeyboardKey *key = key_item->data;
+
+	      if (!mb_kbd_is_extended(kb) 
+		      && mb_kbd_key_get_extended(key))
+		continue;
+
+	      if (!mb_kbd_key_is_blank(key)
+		  && x >= mb_kbd_key_abs_x(key)
+		  && x <= mb_kbd_key_abs_x(key) + mb_kbd_key_width(key))
+		return key;
+
+	    }
+	 
+	  return NULL;
+	}
+
+      row_item = util_list_next(row_item);
+    }
+  return NULL;
+}
+
+void
+mb_kbd_add_layout(MBKeyboard *kb, MBKeyboardLayout *layout)
+{
+  kb->layouts = util_list_append(kb->layouts, (pointer)layout);
+}
+
+MBKeyboardLayout*
+mb_kbd_get_selected_layout(MBKeyboard *kb)
+{
+  return kb->selected_layout;
+}
+
+void
+mb_kbd_set_held_key(MBKeyboard *kb, MBKeyboardKey *key)
+{
+  kb->held_key = key;
+}
+
+MBKeyboardKey *
+mb_kbd_get_held_key(MBKeyboard *kb)
+{
+  return kb->held_key;
+}
+
+void
+mb_kbd_set_extended(MBKeyboard *kb, boolean extend)
+{
+  kb->extended = extend;
+}
+
+boolean
+mb_kbd_is_extended(MBKeyboard *kb)
+{
+  return kb->extended;
+}
+
+
+void
+mb_kbd_run(MBKeyboard *kb)
+{
+  mb_kbd_ui_event_loop(kb->ui);
+}
+
+
+int 
+main(int argc, char **argv)
+{
+  MBKeyboard *kb;
+
+  kb = mb_kbd_new(argc, argv);
+
+  if (kb) mb_kbd_run(kb);
+
+  return 0;
+}

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.h	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/matchbox-keyboard.h	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,584 @@
+/* 
+ *  Matchbox Keyboard - A lightweight software keyboard.
+ *
+ *  Authored By Matthew Allum <mallum at o-hand.com>
+ *
+ *  Copyright (c) 2005 OpenedHand Ltd - http://o-hand.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, 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.
+ *
+ */
+
+#ifndef HAVE_MB_KEYBOARD_H
+#define HAVE_MB_KEYBOARD_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <time.h>
+
+#include <locale.h>
+
+#include <expat.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xatom.h>
+#include <X11/Xresource.h>
+#include <X11/keysym.h>
+
+#include <libmb/mb.h>
+
+#include <fakekey/fakekey.h>
+
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#if (WANT_DEBUG)
+#define DBG(x, a...) \
+ fprintf (stderr,  __FILE__ ":%d,%s() " x "\n", __LINE__, __func__, ##a)
+#else
+#define DBG(x, a...) do {} while (0)
+#endif
+
+#define MARK() DBG("mark")
+
+typedef void*         pointer;
+typedef unsigned char uchar ;
+typedef Bool          boolean ;
+
+typedef struct Pixbuf Pixbuf;
+typedef struct List List;
+
+typedef void (*ListForEachCB) (void *data, void *userdata);
+
+struct List 
+{
+  List *next, *prev;
+  void *data;
+};
+
+enum {
+  BG_SOLID = 1,
+  BG_TILED_PXM,
+  BG_STRETCHED_PXM,
+  BG_GRADIENT_HORIZ,
+  BG_GRADIENT_VERT,
+  BG_CENTERED_PXM,
+};
+
+typedef struct MBKeyboard       MBKeyboard;
+typedef struct MBKeyboardLayout MBKeyboardLayout;
+typedef struct MBKeyboardRow    MBKeyboardRow;
+typedef struct MBKeyboardKey    MBKeyboardKey;
+typedef struct MBKeyboardUI     MBKeyboardUI;
+typedef struct MBKeyboardUIBackend MBKeyboardUIBackend;
+
+typedef enum 
+{
+  MBKeyboardKeyActionNone  = 0,
+  MBKeyboardKeyActionGlyph,
+  MBKeyboardKeyActionXKeySym, 	/* 'specials' be converted into this */
+  MBKeyboardKeyActionModifier,
+
+} MBKeyboardKeyActionType;
+
+typedef enum 
+{
+  MBKeyboardKeyModUnknown,
+  MBKeyboardKeyModShift,
+  MBKeyboardKeyModMod1,
+  MBKeyboardKeyModMod2,
+  MBKeyboardKeyModMod3,
+  MBKeyboardKeyModCaps,
+  MBKeyboardKeyModControl,
+  MBKeyboardKeyModAlt,
+  MBKeyboardKeyModLayout
+
+} MBKeyboardKeyModType;
+
+typedef enum 
+{
+  MBKeyboardKeyFaceNone  = 0,
+  MBKeyboardKeyFaceGlyph = 1,
+  MBKeyboardKeyFaceImage,
+
+} MBKeyboardKeyFaceType;
+
+typedef enum 
+{
+  MBKeyboardKeyStateNormal = 0,
+  MBKeyboardKeyStateShifted,
+  MBKeyboardKeyStateMod1,
+  MBKeyboardKeyStateMod2,
+  MBKeyboardKeyStateMod3,
+  N_MBKeyboardKeyStateTypes
+} 
+MBKeyboardKeyStateType;
+
+typedef enum 
+{
+  MBKeyboardStateNormal = 0,
+  MBKeyboardStateShifted = (1<<1),
+  MBKeyboardStateMod1    = (1<<2),
+  MBKeyboardStateMod2    = (1<<3),
+  MBKeyboardStateMod3    = (1<<4),
+  MBKeyboardStateCaps    = (1<<5),
+  MBKeyboardStateControl = (1<<6),
+  MBKeyboardStateAlt     = (1<<7),
+  N_MBKeyboardStateTypes
+} 
+MBKeyboardStateType;
+
+
+struct MBKeyboard
+{
+  MBKeyboardUI          *ui;
+  char                  *font_family;
+  int                    font_pt_size;
+  char                  *font_variant;
+
+  char                  *config_file;
+
+  List                  *layouts;
+  MBKeyboardLayout      *selected_layout;
+
+  int                    key_border, key_pad, key_margin;
+  int                    row_spacing, col_spacing;
+
+  boolean                extended; /* are we showing extended keys ? */
+
+  MBKeyboardKey         *held_key;
+  MBKeyboardStateType    keys_state;
+};
+
+/**** UI ***********/
+
+struct MBKeyboardUIBackend
+{
+  MBKeyboardUIBackend*  (*init) (MBKeyboardUI *ui);
+  int  (*font_load) (MBKeyboardUI  *ui);
+  void (*redraw_key) (MBKeyboardUI  *ui, MBKeyboardKey *key);
+  void (*pre_redraw) (MBKeyboardUI  *ui);
+  int  (*resources_create) (MBKeyboardUI  *ui);
+  int  (*resize) (MBKeyboardUI  *ui, int width, int height);
+  void  (*text_extents) (MBKeyboardUI  *ui, 
+			 const char    *str, 
+			 int           *width, 
+			 int           *height);
+};
+
+int
+mb_kbd_ui_init(MBKeyboard *kbd);
+
+int
+mb_kbd_ui_realize(MBKeyboardUI  *ui);
+
+void
+mb_kbd_ui_show(MBKeyboardUI  *ui);
+
+void
+mb_kbd_ui_redraw_key(MBKeyboardUI  *ui, MBKeyboardKey *key);
+
+void
+mb_kbd_ui_redraw(MBKeyboardUI  *ui);
+
+void
+mb_kbd_ui_swap_buffers(MBKeyboardUI  *ui);
+
+void
+mb_kbd_ui_send_press(MBKeyboardUI        *ui,
+		     const char          *utf8_char_in,
+		     int                  modifiers);
+
+void
+mb_kbd_ui_send_keysym_press(MBKeyboardUI  *ui,
+			    KeySym         ks,
+			    int            modifiers);
+
+void
+mb_kbd_ui_send_release(MBKeyboardUI  *ui);
+
+int
+mb_kbd_ui_display_width(MBKeyboardUI *ui);
+
+int
+mb_kbd_ui_display_height(MBKeyboardUI *ui);
+
+MBKeyboardUIBackend*
+mb_kbd_ui_backend(MBKeyboardUI *ui);
+
+Display*
+mb_kbd_ui_x_display(MBKeyboardUI *ui);
+
+int
+mb_kbd_ui_x_screen(MBKeyboardUI *ui);
+
+Window
+mb_kbd_ui_x_win(MBKeyboardUI *ui);
+
+int
+mb_kbd_ui_x_win_height(MBKeyboardUI *ui);
+
+int
+mb_kbd_ui_x_win_width(MBKeyboardUI *ui);
+
+Window
+mb_kbd_ui_x_win_root(MBKeyboardUI *ui);
+
+Pixmap
+mb_kbd_ui_backbuffer(MBKeyboardUI *ui);
+
+MBKeyboard*
+mb_kbd_ui_kbd(MBKeyboardUI *ui);
+
+void
+mb_kbd_ui_event_loop(MBKeyboardUI *ui);
+
+void
+mb_kbd_ui_set_embeded (MBKeyboardUI *ui, int embed);
+ 
+int
+mb_kbd_ui_embeded (MBKeyboardUI *ui);
+
+void
+mb_kbd_ui_print_window (MBKeyboardUI *ui);
+
+/*** XEmbed ***/
+
+void
+mb_kbd_xembed_init (MBKeyboardUI *ui);
+
+void
+mb_kbd_xembed_process_xevents (MBKeyboardUI *ui, XEvent *xevent);
+
+/**** Keyboard ****/
+
+int
+mb_kbd_row_spacing(MBKeyboard *kb);
+
+int
+mb_kbd_col_spacing(MBKeyboard *kb);
+
+int
+mb_kbd_keys_border(MBKeyboard *kb);
+
+int
+mb_kbd_keys_pad(MBKeyboard *kb);
+
+int
+mb_kbd_keys_margin(MBKeyboard *kb);
+
+void
+mb_kbd_add_state(MBKeyboard *kbd, MBKeyboardStateType state);
+
+void
+mb_kbd_toggle_state(MBKeyboard *kbd, MBKeyboardStateType state);
+
+boolean
+mb_kbd_has_state(MBKeyboard *kbd, MBKeyboardStateType state);
+
+boolean
+mb_kbd_has_any_state(MBKeyboard *kbd);
+
+void
+mb_kbd_remove_state(MBKeyboard *kbd, MBKeyboardStateType state);
+
+MBKeyboardKeyStateType
+mb_kbd_keys_current_state(MBKeyboard *kbd);
+
+void
+mb_kbd_set_extended(MBKeyboard *kb, boolean extend);
+
+boolean
+mb_kbd_is_extended(MBKeyboard *kb);
+
+void
+mb_kbd_add_layout(MBKeyboard *kb, MBKeyboardLayout *layout);
+
+MBKeyboardLayout*
+mb_kbd_get_selected_layout(MBKeyboard *kb);
+
+MBKeyboardKey*
+mb_kbd_locate_key(MBKeyboard *kb, int x, int y);
+
+void
+mb_kbd_set_held_key(MBKeyboard *kb, MBKeyboardKey *key);
+
+MBKeyboardKey *
+mb_kbd_get_held_key(MBKeyboard *kb);
+
+void
+mb_kbd_redraw(MBKeyboard *kb);
+
+void
+mb_kbd_redraw_key(MBKeyboard *kb, MBKeyboardKey *key);
+
+
+/**** Layout ****/
+
+MBKeyboardLayout*
+mb_kbd_layout_new(MBKeyboard *kbd, const char *id);
+
+void
+mb_kbd_layout_append_row(MBKeyboardLayout *layout,
+			 MBKeyboardRow    *row);
+
+List*
+mb_kbd_layout_rows(MBKeyboardLayout *layout);
+
+
+/**** Rows ******/
+
+MBKeyboardRow*
+mb_kbd_row_new(MBKeyboard *kbd);
+
+void
+mb_kbd_row_set_x(MBKeyboardRow *row, int x);
+
+void
+mb_kbd_row_set_y(MBKeyboardRow *row, int y);
+
+int 
+mb_kbd_row_x (MBKeyboardRow *row) ;
+
+int 
+mb_kbd_row_y(MBKeyboardRow *row) ;
+
+int 
+mb_kbd_row_height(MBKeyboardRow *row);
+
+int 
+mb_kbd_row_width(MBKeyboardRow *row);
+
+int 
+mb_kbd_row_base_width(MBKeyboardRow *row);
+
+void
+mb_kbd_row_append_key(MBKeyboardRow *row, MBKeyboardKey *key);
+
+List*
+mb_kdb_row_keys(MBKeyboardRow *row);
+
+#define mb_kbd_row_for_each_key(r,k)            \
+      for ((k) = mb_kdb_row_keys((r));          \
+	   (k) != NULL;                         \
+	   (k) = util_list_next((k))) 
+
+
+/**** Keys ******/
+
+MBKeyboardKey*
+mb_kbd_key_new(MBKeyboard *kbd);
+
+void
+mb_kbd_key_set_obey_caps(MBKeyboardKey  *key, boolean obey);
+
+boolean
+mb_kbd_key_get_obey_caps(MBKeyboardKey  *key);
+
+void
+mb_kbd_key_set_req_uwidth(MBKeyboardKey  *key, int uwidth);
+
+int
+mb_kbd_key_get_req_uwidth(MBKeyboardKey  *key);
+
+void
+mb_kbd_key_set_fill(MBKeyboardKey  *key, boolean fill);
+
+boolean
+mb_kbd_key_get_fill(MBKeyboardKey  *key);
+
+void
+mb_kbd_key_set_blank(MBKeyboardKey  *key, boolean blank);
+
+boolean
+mb_kbd_key_is_blank(MBKeyboardKey  *key);
+
+void 
+mb_kbd_key_set_row(MBKeyboardKey *key, MBKeyboardRow *row);
+
+void
+mb_kbd_key_set_geometry(MBKeyboardKey  *key,
+			int x,
+			int y,
+			int width,
+			int height);
+int 
+mb_kbd_key_abs_x(MBKeyboardKey *key) ;
+
+int 
+mb_kbd_key_abs_y(MBKeyboardKey *key) ;
+
+int 
+mb_kbd_key_x(MBKeyboardKey *key) ;
+
+int 
+mb_kbd_key_y(MBKeyboardKey *key);
+
+int 
+mb_kbd_key_width(MBKeyboardKey *key) ;
+
+int 
+mb_kbd_key_height(MBKeyboardKey *key);
+
+void
+mb_kbd_key_set_extended(MBKeyboardKey  *key, boolean extend);
+
+boolean
+mb_kbd_key_get_extended(MBKeyboardKey  *key);
+
+void
+mb_kbd_key_set_extra_width_pad(MBKeyboardKey  *key, int pad);
+
+void
+mb_kbd_key_set_extra_height_pad(MBKeyboardKey  *key, int pad);
+
+int
+mb_kbd_key_get_extra_height_pad(MBKeyboardKey  *key);
+
+int
+mb_kbd_key_get_extra_width_pad(MBKeyboardKey  *key);
+
+Bool
+mb_kdb_key_has_state(MBKeyboardKey           *key,
+		     MBKeyboardKeyStateType   state);
+
+void
+mb_kbd_key_set_glyph_face(MBKeyboardKey           *key,
+			  MBKeyboardKeyStateType   state,
+			  const  char             *glyph);
+
+const char*
+mb_kbd_key_get_glyph_face(MBKeyboardKey           *key,
+			  MBKeyboardKeyStateType   state);
+
+void
+mb_kbd_key_set_image_face(MBKeyboardKey           *key,
+			  MBKeyboardKeyStateType   state,
+			  void                    *image);
+
+MBKeyboardKeyFaceType
+mb_kbd_key_get_face_type(MBKeyboardKey           *key,
+			 MBKeyboardKeyStateType   state);
+
+void
+mb_kbd_key_set_char_action(MBKeyboardKey           *key,
+			   MBKeyboardKeyStateType   state,
+			   const char              *glyphs);
+
+void
+mb_kbd_key_set_keysym_action(MBKeyboardKey           *key,
+			     MBKeyboardKeyStateType   state,
+			     KeySym                   keysym);
+
+KeySym
+mb_kbd_key_get_keysym_action(MBKeyboardKey           *key,
+			     MBKeyboardKeyStateType   state);
+
+void
+mb_kbd_key_set_modifer_action(MBKeyboardKey          *key,
+			      MBKeyboardKeyStateType  state,
+			      MBKeyboardKeyModType    type);
+
+MBKeyboardKeyModType 
+mb_kbd_key_get_modifer_action(MBKeyboardKey          *key,
+			      MBKeyboardKeyStateType  state);
+
+boolean 
+mb_kbd_key_is_held(MBKeyboard *kbd, MBKeyboardKey *key);
+
+void
+mb_kbd_key_press(MBKeyboardKey *key);
+
+void
+mb_kbd_key_release(MBKeyboard *kbd);
+
+void
+mb_kbd_key_dump_key(MBKeyboardKey *key);
+
+#define mb_kdb_key_foreach_state(k,s)                     \
+       for((s)=0; (s) < N_MBKeyboardKeyStateTypes; (s)++) \
+            if (mb_kdb_key_has_state((k), (s)))
+
+/*** Config *****/
+
+int
+mb_kbd_config_load(MBKeyboard *kbd, char *varient);
+
+
+/**** Util *****/
+
+#define streq(a,b)      (strcmp(a,b) == 0)
+#define strcaseeq(a,b)  (strcasecmp(a,b) == 0)
+#define unless(x)       if (!(x))
+#define util_abs(x)     ((x) > 0) ? (x) : -1*(x)
+
+void
+util_trap_x_errors(void);
+
+int
+util_untrap_x_errors(void);
+
+void*
+util_malloc0(int size);
+
+void
+util_fatal_error(char *msg);
+
+int
+util_utf8_char_cnt(const char *str);
+
+boolean 
+util_file_readable(char *path);
+
+/* Util list */
+
+#define util_list_next(l) (l)->next
+#define util_list_previous(l) (l)->prev
+
+List*
+util_list_alloc_item(void);
+
+int
+util_list_length(List *list);
+
+List*
+util_list_get_last(List *list);
+
+List*
+util_list_get_first(List *list);
+
+void*
+util_list_get_nth_data(List *list, int n);
+
+List*
+util_list_append(List *list, void *data);
+
+void
+util_list_foreach(List *list, ListForEachCB func, void *userdata);
+
+/* Backends */
+
+#if WANT_CAIRO
+#include "matchbox-keyboard-ui-cairo-backend.h"
+#else
+#include "matchbox-keyboard-ui-xft-backend.h"
+#endif
+
+#endif

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/util-list.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/util-list.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/util-list.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,93 @@
+#include "matchbox-keyboard.h"
+
+List *
+util_list_alloc_item(void)
+{
+  return util_malloc0(sizeof(List));
+}
+
+int
+util_list_length(List *list)
+{
+  int result = 1;
+
+  list = util_list_get_first(list);
+
+  while ((list = util_list_next(list)) != NULL)
+    result++;
+
+  return result;
+}
+
+List*
+util_list_get_last(List *list)
+{
+  if (list == NULL) 
+    return NULL;
+
+  while (list->next) 
+    list = util_list_next(list);
+  return list;
+}
+
+List*
+util_list_get_first(List *list)
+{
+  if (list == NULL) 
+    return NULL;
+
+  while (list->prev) 
+    list = util_list_previous(list);
+  return list;
+}
+
+void*
+util_list_get_nth_data(List *list, int n)
+{
+  if (list == NULL) 
+    return NULL;
+
+  list = util_list_get_first(list);
+
+  while (list->next && n)
+    {
+      list = util_list_next(list);
+      n--;
+    }
+
+  if (n) return NULL;
+
+  return (void *)list->data;
+}
+
+
+
+List*
+util_list_append(List *list, void *data)
+{
+  if (list == NULL)
+    {
+      list = util_list_alloc_item();
+      list->data = data;
+    }
+  else
+    {
+      list = util_list_get_last(list);
+
+      list->next = util_list_alloc_item();
+      list->next->prev = list;
+      list->next->data = data;
+    }
+
+  return list;
+}
+
+void
+util_list_foreach(List *list, ListForEachCB func, void *userdata)
+{
+  while (list)
+    {
+      func(list->data, userdata);
+      list = util_list_next(list);
+    }
+}

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/src/util.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/src/util.c	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/src/util.c	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1,111 @@
+#include "matchbox-keyboard.h"
+
+static int TrappedErrorCode = 0;
+static int (*old_error_handler) (Display *, XErrorEvent *);
+
+static int
+error_handler(Display     *xdpy,
+	      XErrorEvent *error)
+{
+  TrappedErrorCode = error->error_code;
+  return 0;
+}
+
+void
+util_trap_x_errors(void)
+{
+  TrappedErrorCode  = 0;
+  old_error_handler = XSetErrorHandler(error_handler);
+}
+
+int
+util_untrap_x_errors(void)
+{
+  XSetErrorHandler(old_error_handler);
+  return TrappedErrorCode;
+}
+
+void*
+util_malloc0(int size)
+{
+  void *p;
+
+  p = malloc(size);
+  memset(p, 0, size);
+
+  return p;
+}
+
+void
+util_fatal_error(char *msg)
+{
+  fprintf(stderr, "matchbox-keyboard: *Error*  %s", msg);
+  exit(1);
+}
+
+
+
+#define UTF8_COMPUTE(Char, Mask, Len)                                         \
+  if (Char < 128)                                                             \
+    {                                                                         \
+      Len = 1;                                                                \
+      Mask = 0x7f;                                                            \
+    }                                                                         \
+  else if ((Char & 0xe0) == 0xc0)                                             \
+    {                                                                         \
+      Len = 2;                                                                \
+      Mask = 0x1f;                                                            \
+    }                                                                         \
+  else if ((Char & 0xf0) == 0xe0)                                             \
+    {                                                                         \
+      Len = 3;                                                                \
+      Mask = 0x0f;                                                            \
+    }                                                                         \
+  else if ((Char & 0xf8) == 0xf0)                                             \
+    {                                                                         \
+      Len = 4;                                                                \
+      Mask = 0x07;                                                            \
+    }                                                                         \
+  else if ((Char & 0xfc) == 0xf8)                                             \
+    {                                                                         \
+      Len = 5;                                                                \
+      Mask = 0x03;                                                            \
+    }                                                                         \
+  else if ((Char & 0xfe) == 0xfc)                                             \
+    {                                                                         \
+      Len = 6;                                                                \
+      Mask = 0x01;                                                            \
+    }                                                                         \
+  else                                                                        \
+    Len = -1;
+
+
+int
+util_utf8_char_cnt(const char *str)
+{
+  const unsigned char *p = (unsigned char *)str;
+  int         mask, len, result = 0;
+
+  /* XXX Should validate too */
+
+  while (*p != '\0')
+    {
+      UTF8_COMPUTE(*p, mask, len);
+      p += len;
+      result++;
+    }
+
+  return result;
+}
+
+boolean 
+util_file_readable(char *path)
+{
+  struct stat st;
+
+  if (stat(path, &st)) 
+    return False;
+ 
+ return True;
+}
+

Added: trunk/src/target/OM-2007/applications/openmoko-keypad/stamp-h1
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-keypad/stamp-h1	2006-11-23 09:44:19 UTC (rev 246)
+++ trunk/src/target/OM-2007/applications/openmoko-keypad/stamp-h1	2006-11-23 09:43:42 UTC (rev 247)
@@ -0,0 +1 @@
+timestamp for config.h





More information about the commitlog mailing list