diff -pruN 2.0.17-2/acinclude.m4 2.32.0-0ubuntu1/acinclude.m4
--- 2.0.17-2/acinclude.m4	2007-01-11 08:32:45.000000000 +0000
+++ 2.32.0-0ubuntu1/acinclude.m4	1970-01-01 01:00:00.000000000 +0100
@@ -1,500 +0,0 @@
-AC_SUBST(PISOCK_CFLAGS)
-AC_SUBST(PISOCK_LIBS)
-
-AC_DEFUN([PILOT_LINK_HOOK],[
-	AC_ARG_WITH(pisock,
-	[  --with-pisock            Specify prefix for pisock files],[
-	if test x$withval = xyes; then
-	    dnl Note that an empty true branch is not valid sh syntax.
-	    ifelse([$1], [], :, [$1])
-	else
-	    PISOCK_CFLAGS="-I$withval/include"
-	    incdir="$withval/include"
-	    PISOCK_LIBS="-L$withval/lib -lpisock -lpisync"
-	    AC_MSG_CHECKING("for existance of $withval/lib/libpisock.so")
-	    if test -r $withval/lib/libpisock.so; then
-		AC_MSG_RESULT(yes)
-	    else
-		AC_MSG_ERROR([Unable to find libpisock. Try  http://www.pilot-link.org.])
-	    fi
-	fi
-	])
-
-	if test x$PISOCK_CFLAGS = x; then
-	    AC_CHECK_HEADER(pi-version.h, [incdir="/usr/include"], [
-	    AC_CHECK_HEADER(libpisock/pi-version.h, [PISOCK_CFLAGS="-I/usr/include/libpisock"
-	                                             piversion_include="libpisock/pi-version.h"
-						     incdir="/usr/include/libpisock"
-                                                    ], [
-	    AC_CHECK_HEADER($prefix/include/pi-version.h, [PISOCK_CFLAGS="-I$prefix/include/libpisock"
-	                                                   piversion_include="$prefix/include/pi-version.h"
-						           if test x$PISOCK_LIBDIR = x; then
-							      incdir="$prefix/include"
-							      PISOCK_LIBS="-L$prefix/lib -lpisock -lpisync"
-                                                           fi							  ],
-	    AC_MSG_ERROR([Unable to find pi-version.h])) 
-	    ])
-	    ])
-	fi
-		
-	if test "x$PISOCK_LIBS" = "x"; then
-		AC_CHECK_LIB(pisock, pi_accept, [ PISOCK_LIBS="-lpisock -lpisync"], 
-			[ AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) ])
-	fi
-	
-	AC_ARG_ENABLE(pilotlinktest,
-		[  --enable-pilotlinktest   Test for correct version of pilot-link],
-		[testplversion=$enableval],
-		[ testplversion=yes ]
-	)
-
-	if test x$piversion_include = x; then
-		piversion_include="pi-version.h"
-	fi
-
-	pi_major=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_VERSION'|sed 's/#define PILOT_LINK_VERSION \([[0-9]]*\)/\1/'`
-	pi_minor=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MAJOR'|sed 's/#define PILOT_LINK_MAJOR \([[0-9]]*\)/\1/'`
-	pi_micro=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MINOR'|sed 's/#define PILOT_LINK_MINOR \([[0-9]]*\)/\1/'`
-	pi_patch=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_PATCH'|sed 's/#define PILOT_LINK_PATCH \"\(.*\)\"/\1/'`
-
-	PILOT_LINK_MAJOR="$pi_major"
-	PILOT_LINK_MINOR="$pi_minor"
-	PILOT_LINK_MICRO="$pi_micro"
-	PILOT_LINK_PATCH="$pi_patch"
-	PILOT_LINK_VERSION="$pi_major.$pi_minor.$pi_micro$pi_patch"
-
-	if test x$testplversion = xyes; then
-		AC_MSG_CHECKING([for pilot-link version >= $1])
-		pl_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-		pl_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-		pl_mc=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-		CFLAGS_save="$CFLAGS"
-		CFLAGS="$CFLAGS $PISOCK_CFLAGS"
-		AC_TRY_RUN(
-			[
-			#include <$piversion_include>
-			int main(int argc,char *argv[]) {
-				if (PILOT_LINK_VERSION == $pl_ma) {
-					if (PILOT_LINK_MAJOR == $pl_mi) {
-						if (PILOT_LINK_MINOR >= $pl_mc) {
-							return 0;
-				       	  	}
-					} else if (PILOT_LINK_MAJOR > $pl_mi) {
-						return 0;
-					}
-				} else if (PILOT_LINK_VERSION > $pl_ma) {
-					return 0;
-				}
-				return 1;
-			}
-			],
-			[AC_MSG_RESULT([yes (found $PILOT_LINK_VERSION)])],
-			[AC_MSG_ERROR([pilot-link >= $1 required])],
-			[AC_MSG_WARN([No action taken for crosscompile])]
-		)
-		CFLAGS="$CFLAGS_save"
-	fi
-
-	unset piversion_include
-	unset pi_verion
-	unset pi_major
-	unset pi_minor
-	unset pi_patch
-	unset incdir
-	unset pl_mi
-	unset pl_ma
-	unset pl_ve
-])
-
-AC_DEFUN([PILOT_LINK_CHECK],[
-	PILOT_LINK_HOOK($1,[],nofailure)
-])
-
-######################################################################
-# progtest.m4 from gettext 0.32
-######################################################################
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN(AM_PATH_PROG_WITH_TEST,
-[# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
-  /*)
-  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in ifelse([$5], , $PATH, [$5]); do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if [$3]; then
-	ac_cv_path_$1="$ac_dir/$ac_word"
-	break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-  ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test -n "[$]$1"; then
-  AC_MSG_RESULT([$]$1)
-else
-  AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-
-
-######################################################################
-# lcmessage.m4 from gettext 0.32
-######################################################################
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-AC_DEFUN(AM_LC_MESSAGES,
-  [if test $ac_cv_header_locale_h = yes; then
-    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-    if test $am_cv_val_LC_MESSAGES = yes; then
-      AC_DEFINE(HAVE_LC_MESSAGES)
-    fi
-  fi])
-
-
-
-######################################################################
-# gettext.m4 from gettext 0.32
-######################################################################
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 3
-
-AC_DEFUN(AM_WITH_NLS,
-  [AC_MSG_CHECKING([whether NLS is requested])
-    dnl Default is enabled NLS
-    AC_ARG_ENABLE(nls,
-      [  --disable-nls           do not use Native Language Support],
-      USE_NLS=$enableval, USE_NLS=yes)
-    AC_MSG_RESULT($USE_NLS)
-    AC_SUBST(USE_NLS)
-
-    USE_INCLUDED_LIBINTL=no
-
-    dnl If we use NLS figure out what method
-    if test "$USE_NLS" = "yes"; then
-      AC_DEFINE(ENABLE_NLS)
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH(included-gettext,
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If gettext or catgets are available (in this order) we
-        dnl use this.  Else we have to fall back to GNU NLS library.
-	dnl catgets is only used if permitted by option --with-catgets.
-	nls_cv_header_intl=
-	nls_cv_header_libgt=
-	CATOBJEXT=NONE
-
-	AC_CHECK_HEADER(libintl.h,
-	  [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
-	    [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
-	       gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
-
-	   if test "$gt_cv_func_gettext_libc" != "yes"; then
-	     AC_CHECK_LIB(intl, bindtextdomain,
-	       [AC_CACHE_CHECK([for gettext in libintl],
-		 gt_cv_func_gettext_libintl,
-		 [AC_TRY_LINK([], [return (int) gettext ("")],
-		 gt_cv_func_gettext_libintl=yes,
-		 gt_cv_func_gettext_libintl=no)])])
-	   fi
-
-	   if test "$gt_cv_func_gettext_libc" = "yes" \
-	      || test "$gt_cv_func_gettext_libintl" = "yes"; then
-	      AC_DEFINE(HAVE_GETTEXT)
-	      AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-		[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
-	      if test "$MSGFMT" != "no"; then
-		AC_CHECK_FUNCS(dcgettext)
-		AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-		AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-		  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
-		AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
-			       return _nl_msg_cat_cntr],
-		  [CATOBJEXT=.gmo
-		   DATADIRNAME=share],
-		  [CATOBJEXT=.mo
-		   DATADIRNAME=lib])
-		INSTOBJEXT=.mo
-	      fi
-	    fi
-	])
-
-        if test "$CATOBJEXT" = "NONE"; then
-	  AC_MSG_CHECKING([whether catgets can be used])
-	  AC_ARG_WITH(catgets,
-	    [  --with-catgets          use catgets functions if available],
-	    nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
-	  AC_MSG_RESULT($nls_cv_use_catgets)
-
-	  if test "$nls_cv_use_catgets" = "yes"; then
-	    dnl No gettext in C library.  Try catgets next.
-	    AC_CHECK_LIB(i, main)
-	    AC_CHECK_FUNC(catgets,
-	      [AC_DEFINE(HAVE_CATGETS)
-	       INTLOBJS="\$(CATOBJS)"
-	       AC_PATH_PROG(GENCAT, gencat, no)dnl
-	       if test "$GENCAT" != "no"; then
-		 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
-		 if test "$GMSGFMT" = "no"; then
-		   AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
-		    [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
-		 fi
-		 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-		   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
-		 USE_INCLUDED_LIBINTL=yes
-		 CATOBJEXT=.cat
-		 INSTOBJEXT=.cat
-		 DATADIRNAME=lib
-		 INTLDEPS='$(top_builddir)/intl/libintl.a'
-		 INTLLIBS=$INTLDEPS
-		 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
-		 nls_cv_header_intl=intl/libintl.h
-		 nls_cv_header_libgt=intl/libgettext.h
-	       fi])
-	  fi
-        fi
-
-        if test "$CATOBJEXT" = "NONE"; then
-	  dnl Neither gettext nor catgets in included in the C library.
-	  dnl Fall back on GNU gettext library.
-	  nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        INTLOBJS="\$(GETTOBJS)"
-        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-	  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
-        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-	  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
-        AC_SUBST(MSGFMT)
-	USE_INCLUDED_LIBINTL=yes
-        CATOBJEXT=.gmo
-        INSTOBJEXT=.mo
-        DATADIRNAME=share
-	INTLDEPS='$(top_builddir)/intl/libintl.a'
-	INTLLIBS=$INTLDEPS
-	LIBS=`echo $LIBS | sed -e 's/-lintl//'`
-        nls_cv_header_intl=intl/libintl.h
-        nls_cv_header_libgt=intl/libgettext.h
-      fi
-
-      dnl Test whether we really found GNU xgettext.
-      if test "$XGETTEXT" != ":"; then
-	dnl If it is no GNU xgettext we define it as : so that the
-	dnl Makefiles still can work.
-	if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
-	  : ;
-	else
-	  AC_MSG_RESULT(
-	    [found xgettext programs is not GNU xgettext; ignore it])
-	  XGETTEXT=":"
-	fi
-      fi
-
-      # We need to process the po/ directory.
-      POSUB=po
-    else
-      DATADIRNAME=share
-      nls_cv_header_intl=intl/libintl.h
-      nls_cv_header_libgt=intl/libgettext.h
-    fi
-
-    # If this is used in GNU gettext we have to set USE_NLS to `yes'
-    # because some of the sources are only built for this goal.
-    if test "$PACKAGE" = gettext; then
-      USE_NLS=yes
-      USE_INCLUDED_LIBINTL=yes
-    fi
-
-    dnl These rules are solely for the distribution goal.  While doing this
-    dnl we only have to keep exactly one list of the available catalogs
-    dnl in configure.in.
-    for lang in $ALL_LINGUAS; do
-      GMOFILES="$GMOFILES $lang.gmo"
-      POFILES="$POFILES $lang.po"
-    done
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST(USE_INCLUDED_LIBINTL)
-    AC_SUBST(CATALOGS)
-    AC_SUBST(CATOBJEXT)
-    AC_SUBST(DATADIRNAME)
-    AC_SUBST(GMOFILES)
-    AC_SUBST(INSTOBJEXT)
-    AC_SUBST(INTLDEPS)
-    AC_SUBST(INTLLIBS)
-    AC_SUBST(INTLOBJS)
-    AC_SUBST(POFILES)
-    AC_SUBST(POSUB)
-  ])
-
-AC_DEFUN(AM_GNU_GETTEXT,
-  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-   AC_REQUIRE([AC_PROG_CC])dnl
-   AC_REQUIRE([AC_PROG_RANLIB])dnl
-   AC_REQUIRE([AC_ISC_POSIX])dnl
-   AC_REQUIRE([AC_HEADER_STDC])dnl
-   AC_REQUIRE([AC_C_CONST])dnl
-   AC_REQUIRE([AC_C_INLINE])dnl
-   AC_REQUIRE([AC_TYPE_OFF_T])dnl
-   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-   AC_REQUIRE([AC_FUNC_MMAP])dnl
-
-   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h values.h sys/param.h])
-   AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
-__argz_count __argz_stringify __argz_next])
-
-   if test "${ac_cv_func_stpcpy+set}" != "set"; then
-     AC_CHECK_FUNCS(stpcpy)
-   fi
-   if test "${ac_cv_func_stpcpy}" = "yes"; then
-     AC_DEFINE(HAVE_STPCPY)
-   fi
-
-   AM_LC_MESSAGES
-   AM_WITH_NLS
-
-   if test "x$CATOBJEXT" != "x"; then
-     if test "x$ALL_LINGUAS" = "x"; then
-       LINGUAS=
-     else
-       AC_MSG_CHECKING(for catalogs to be installed)
-       NEW_LINGUAS=
-       for lang in ${LINGUAS=$ALL_LINGUAS}; do
-         case "$ALL_LINGUAS" in
-          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
-         esac
-       done
-       LINGUAS=$NEW_LINGUAS
-       AC_MSG_RESULT($LINGUAS)
-     fi
-
-     dnl Construct list of names of catalog files to be constructed.
-     if test -n "$LINGUAS"; then
-       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-     fi
-   fi
-
-   dnl The reference to <locale.h> in the installed <libintl.h> file
-   dnl must be resolved because we cannot expect the users of this
-   dnl to define HAVE_LOCALE_H.
-   if test $ac_cv_header_locale_h = yes; then
-     INCLUDE_LOCALE_H="#include <locale.h>"
-   else
-     INCLUDE_LOCALE_H="\
-/* The system does not provide the header <locale.h>.  Take care yourself.  */"
-   fi
-   AC_SUBST(INCLUDE_LOCALE_H)
-
-   dnl Determine which catalog format we have (if any is needed)
-   dnl For now we know about two different formats:
-   dnl   Linux libc-5 and the normal X/Open format
-   test -d intl || mkdir intl
-   if test "$CATOBJEXT" = ".cat"; then
-     AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
-
-     dnl Transform the SED scripts while copying because some dumb SEDs
-     dnl cannot handle comments.
-     sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
-   fi
-   dnl po2tbl.sed is always needed.
-   sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
-     $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
-
-   dnl In the intl/Makefile.in we have a special dependency which makes
-   dnl only sense for gettext.  We comment this out for non-gettext
-   dnl packages.
-   if test "$PACKAGE" = "gettext"; then
-     GT_NO="#NO#"
-     GT_YES=
-   else
-     GT_NO=
-     GT_YES="#YES#"
-   fi
-   AC_SUBST(GT_NO)
-   AC_SUBST(GT_YES)
-
-   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-   dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
-   dnl Try to locate is.
-   MKINSTALLDIRS=
-   if test -n "$ac_aux_dir"; then
-     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-   fi
-   if test -z "$MKINSTALLDIRS"; then
-     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-   fi
-   AC_SUBST(MKINSTALLDIRS)
-
-   dnl *** For now the libtool support in intl/Makefile is not for real.
-   l=
-   AC_SUBST(l)
-
-   dnl Generate list of files to be processed by xgettext which will
-   dnl be included in po/Makefile.
-   test -d po || mkdir po
-   if test "x$srcdir" != "x."; then
-     if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
-       posrcprefix="$srcdir/"
-     else
-       posrcprefix="../$srcdir/"
-     fi
-   else
-     posrcprefix="../"
-   fi
-   rm -f po/POTFILES
-   sed -e "/^#/d" -e "/^\$/d" -e "s,.*,	$posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
-	< $srcdir/po/POTFILES.in > po/POTFILES
-  ])
diff -pruN 2.0.17-2/aclocal.m4 2.32.0-0ubuntu1/aclocal.m4
--- 2.0.17-2/aclocal.m4	2008-10-06 23:55:44.000000000 +0100
+++ 2.32.0-0ubuntu1/aclocal.m4	2010-09-26 11:47:01.000000000 +0100
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009  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.
@@ -11,6 +11,14 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
+[m4_warning([this file was generated for autoconf 2.65.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
 dnl AM_GCONF_SOURCE_2
 dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
 dnl  (i.e. pass to gconftool-2
@@ -26,8 +34,10 @@ AC_DEFUN([AM_GCONF_SOURCE_2],
     GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
   fi
 
-  AC_ARG_WITH(gconf-source, 
-  [  --with-gconf-source=sourceaddress      Config database for installing schema files.],GCONF_SCHEMA_CONFIG_SOURCE="$withval",)
+  AC_ARG_WITH([gconf-source],
+	      AC_HELP_STRING([--with-gconf-source=sourceaddress],
+			     [Config database for installing schema files.]),
+	      [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],)
 
   AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
   AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
@@ -36,17 +46,20 @@ AC_DEFUN([AM_GCONF_SOURCE_2],
     GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
   fi
 
-  AC_ARG_WITH(gconf-schema-file-dir, 
-  [  --with-gconf-schema-file-dir=dir        Directory for installing schema files.],GCONF_SCHEMA_FILE_DIR="$withval",)
+  AC_ARG_WITH([gconf-schema-file-dir],
+	      AC_HELP_STRING([--with-gconf-schema-file-dir=dir],
+			     [Directory for installing schema files.]),
+	      [GCONF_SCHEMA_FILE_DIR="$withval"],)
 
   AC_SUBST(GCONF_SCHEMA_FILE_DIR)
   AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
 
   AC_ARG_ENABLE(schemas-install,
-     [  --disable-schemas-install	Disable the schemas installation],
+  	AC_HELP_STRING([--disable-schemas-install],
+		       [Disable the schemas installation]),
      [case ${enableval} in
        yes|no) ;;
-       *) AC_MSG_ERROR(bad value ${enableval} for --enable-schemas-install) ;;
+       *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;;
       esac])
   AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
 ])
@@ -481,7072 +494,181 @@ if AC_RUN_LOG([$1 conftest.foo]); then
 m4_ifvaln([$4], [else $4])dnl
 echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
 sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
-fi])
-
-
-dnl GNOME_COMPILE_WARNINGS
-dnl Turn on many useful compiler warnings
-dnl For now, only works on GCC
-AC_DEFUN([GNOME_COMPILE_WARNINGS],[
-    dnl ******************************
-    dnl More compiler warnings
-    dnl ******************************
-
-    AC_ARG_ENABLE(compile-warnings, 
-                  AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
-                                 [Turn on compiler warnings]),,
-                  [enable_compile_warnings="m4_default([$1],[yes])"])
-
-    warnCFLAGS=
-    if test "x$GCC" != xyes; then
-	enable_compile_warnings=no
-    fi
-
-    warning_flags=
-    realsave_CFLAGS="$CFLAGS"
-
-    case "$enable_compile_warnings" in
-    no)
-	warning_flags=
-	;;
-    minimum)
-	warning_flags="-Wall"
-	;;
-    yes)
-	warning_flags="-Wall -Wmissing-prototypes"
-	;;
-    maximum|error)
-	warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
-	CFLAGS="$warning_flags $CFLAGS"
-	for option in -Wno-sign-compare; do
-		SAVE_CFLAGS="$CFLAGS"
-		CFLAGS="$CFLAGS $option"
-		AC_MSG_CHECKING([whether gcc understands $option])
-		AC_TRY_COMPILE([], [],
-			has_option=yes,
-			has_option=no,)
-		CFLAGS="$SAVE_CFLAGS"
-		AC_MSG_RESULT($has_option)
-		if test $has_option = yes; then
-		  warning_flags="$warning_flags $option"
-		fi
-		unset has_option
-		unset SAVE_CFLAGS
-	done
-	unset option
-	if test "$enable_compile_warnings" = "error" ; then
-	    warning_flags="$warning_flags -Werror"
-	fi
-	;;
-    *)
-	AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
-	;;
-    esac
-    CFLAGS="$realsave_CFLAGS"
-    AC_MSG_CHECKING(what warning flags to pass to the C compiler)
-    AC_MSG_RESULT($warning_flags)
-
-    AC_ARG_ENABLE(iso-c,
-                  AC_HELP_STRING([--enable-iso-c],
-                                 [Try to warn if code is not ISO C ]),,
-                  [enable_iso_c=no])
-
-    AC_MSG_CHECKING(what language compliance flags to pass to the C compiler)
-    complCFLAGS=
-    if test "x$enable_iso_c" != "xno"; then
-	if test "x$GCC" = "xyes"; then
-	case " $CFLAGS " in
-	    *[\ \	]-ansi[\ \	]*) ;;
-	    *) complCFLAGS="$complCFLAGS -ansi" ;;
-	esac
-	case " $CFLAGS " in
-	    *[\ \	]-pedantic[\ \	]*) ;;
-	    *) complCFLAGS="$complCFLAGS -pedantic" ;;
-	esac
-	fi
-    fi
-    AC_MSG_RESULT($complCFLAGS)
-
-    WARN_CFLAGS="$warning_flags $complCFLAGS"
-    AC_SUBST(WARN_CFLAGS)
-])
-
-dnl For C++, do basically the same thing.
-
-AC_DEFUN([GNOME_CXX_WARNINGS],[
-  AC_ARG_ENABLE(cxx-warnings,
-                AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
-                               [Turn on compiler warnings.]),,
-                [enable_cxx_warnings="m4_default([$1],[minimum])"])
-
-  AC_MSG_CHECKING(what warning flags to pass to the C++ compiler)
-  warnCXXFLAGS=
-  if test "x$GXX" != xyes; then
-    enable_cxx_warnings=no
-  fi
-  if test "x$enable_cxx_warnings" != "xno"; then
-    if test "x$GXX" = "xyes"; then
-      case " $CXXFLAGS " in
-      *[\ \	]-Wall[\ \	]*) ;;
-      *) warnCXXFLAGS="-Wall -Wno-unused" ;;
-      esac
-
-      ## -W is not all that useful.  And it cannot be controlled
-      ## with individual -Wno-xxx flags, unlike -Wall
-      if test "x$enable_cxx_warnings" = "xyes"; then
-	warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual"
-      fi
-    fi
-  fi
-  AC_MSG_RESULT($warnCXXFLAGS)
-
-   AC_ARG_ENABLE(iso-cxx,
-                 AC_HELP_STRING([--enable-iso-cxx],
-                                [Try to warn if code is not ISO C++ ]),,
-                 [enable_iso_cxx=no])
-
-   AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler)
-   complCXXFLAGS=
-   if test "x$enable_iso_cxx" != "xno"; then
-     if test "x$GXX" = "xyes"; then
-      case " $CXXFLAGS " in
-      *[\ \	]-ansi[\ \	]*) ;;
-      *) complCXXFLAGS="$complCXXFLAGS -ansi" ;;
-      esac
-
-      case " $CXXFLAGS " in
-      *[\ \	]-pedantic[\ \	]*) ;;
-      *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;;
-      esac
-     fi
-   fi
-  AC_MSG_RESULT($complCXXFLAGS)
-
-  WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS"
-  AC_SUBST(WARN_CXXFLAGS)
-])
-
-dnl
-dnl GOB_HOOK(script if found, fail)
-dnl if fail = "failure", abort if GOB not found
-dnl
-
-
-AC_DEFUN([GOB2_HOOK],[
-	AC_PATH_PROG(GOB2,gob2)
-	if test ! x$GOB2 = x; then	
-		if test ! x$1 = x; then 
-			AC_MSG_CHECKING(for gob-2 >= $1)
-			g_r_ve=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-			g_r_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-			g_r_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-			g_ve=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-			g_ma=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-			g_mi=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-
-			if test $g_ve -eq $g_r_ve; then
-				if test $g_ma -ge $g_r_ma; then
-					if test $g_mi -ge $g_r_mi; then
-						AC_MSG_RESULT(ok)
-					else
-						if test $g_ma -gt $g_r_ma; then
-							AC_MSG_RESULT(ok)
-						else
-							AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi")
-						fi
-					fi
-				else
-					AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi")
-				fi
-			else
-				if test $g_ve -gt $g_r_ve; then
-					AC_MSG_RESULT(ok)
-				else
-					AC_MSG_ERROR(major version $g_ve found but $g_r_ve required)
-				fi
-			fi
-	
-			unset gob_version
-			unset g_ve
-			unset g_ma
-			unset g_mi
-			unset g_r_ve
-			unset g_r_ma
-			unset g_r_mi
-		fi
-		AC_SUBST(GOB2)
-		$2
-	else		
-		$3
-	fi
-])
-
-AC_DEFUN([GOB2_CHECK],[
-	GOB2_HOOK($1,[],[AC_MSG_WARN([Cannot find GOB-2, check http://www.5z.com/jirka/gob.html])])
-])
-
-
-dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
-# serial 36 IT_PROG_INTLTOOL
-AC_DEFUN([IT_PROG_INTLTOOL],
-[AC_PREREQ([2.50])dnl
-
-case "$am__api_version" in
-    1.[01234])
-	AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
-    ;;
-    *)
-    ;;
-esac
-
-if test -n "$1"; then
-    AC_MSG_CHECKING([for intltool >= $1])
-
-    INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
-    INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { print $ 2; }' ${ac_aux_dir}/intltool-update.in`
-    [INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 1000 + VERSION[2] * 100 + VERSION[3];}' ${ac_aux_dir}/intltool-update.in`
-    ]
-    AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
-    test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
-	AC_MSG_ERROR([Your intltool is too old.  You need intltool $1 or later.])
-fi
-
-  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@'
-     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' 
-      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
-    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
-   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
-
-AC_SUBST(INTLTOOL_DESKTOP_RULE)
-AC_SUBST(INTLTOOL_DIRECTORY_RULE)
-AC_SUBST(INTLTOOL_KEYS_RULE)
-AC_SUBST(INTLTOOL_PROP_RULE)
-AC_SUBST(INTLTOOL_OAF_RULE)
-AC_SUBST(INTLTOOL_PONG_RULE)
-AC_SUBST(INTLTOOL_SERVER_RULE)
-AC_SUBST(INTLTOOL_SHEET_RULE)
-AC_SUBST(INTLTOOL_SOUNDLIST_RULE)
-AC_SUBST(INTLTOOL_UI_RULE)
-AC_SUBST(INTLTOOL_XAM_RULE)
-AC_SUBST(INTLTOOL_KBD_RULE)
-AC_SUBST(INTLTOOL_XML_RULE)
-AC_SUBST(INTLTOOL_XML_NOMERGE_RULE)
-AC_SUBST(INTLTOOL_CAVES_RULE)
-AC_SUBST(INTLTOOL_SCHEMAS_RULE)
-AC_SUBST(INTLTOOL_THEME_RULE)
-AC_SUBST(INTLTOOL_SERVICE_RULE)
-AC_SUBST(INTLTOOL_POLICY_RULE)
-
-# Check the gettext tools to make sure they are GNU
-AC_PATH_PROG(XGETTEXT, xgettext)
-AC_PATH_PROG(MSGMERGE, msgmerge)
-AC_PATH_PROG(MSGFMT, msgfmt)
-if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
-    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
-fi
-xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
-mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
-mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
-if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
-    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
-fi
-
-# Use the tools built into the package, not the ones that are installed.
-AC_SUBST(INTLTOOL_EXTRACT, '$(top_builddir)/intltool-extract')
-AC_SUBST(INTLTOOL_MERGE, '$(top_builddir)/intltool-merge')
-AC_SUBST(INTLTOOL_UPDATE, '$(top_builddir)/intltool-update')
-
-AC_PATH_PROG(INTLTOOL_PERL, perl)
-if test -z "$INTLTOOL_PERL"; then
-   AC_MSG_ERROR([perl not found; required for intltool])
-fi
-if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then
-   AC_MSG_ERROR([perl 5.x required for intltool])
-fi
-if test "x$2" != "xno-xml"; then
-   AC_MSG_CHECKING([for XML::Parser])
-   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
-       AC_MSG_RESULT([ok])
-   else
-       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
-   fi
-fi
-
-# Substitute ALL_LINGUAS so we can use it in po/Makefile
-AC_SUBST(ALL_LINGUAS)
-
-# Set DATADIRNAME correctly if it is not set yet
-# (copied from glib-gettext.m4)
-if test -z "$DATADIRNAME"; then
-  AC_LINK_IFELSE(
-    [AC_LANG_PROGRAM([[]],
-                     [[extern int _nl_msg_cat_cntr;
-                       return _nl_msg_cat_cntr]])],
-    [DATADIRNAME=share],
-    [case $host in
-    *-*-solaris*)
-    dnl On Solaris, if bind_textdomain_codeset is in libc,
-    dnl GNU format message catalog is always supported,
-    dnl since both are added to the libc all together.
-    dnl Hence, we'd like to go with DATADIRNAME=share
-    dnl in this case.
-    AC_CHECK_FUNC(bind_textdomain_codeset,
-      [DATADIRNAME=share], [DATADIRNAME=lib])
-    ;;
-    *)
-    [DATADIRNAME=lib]
-    ;;
-    esac])
-fi
-AC_SUBST(DATADIRNAME)
-
-IT_PO_SUBDIR([po])
-
-dnl The following is very similar to
-dnl
-dnl	AC_CONFIG_FILES([intltool-extract intltool-merge intltool-update])
-dnl
-dnl with the following slight differences:
-dnl  - the *.in files are in ac_aux_dir,
-dnl  - if the file haven't changed upon reconfigure, it's not touched,
-dnl  - the evaluation of the third parameter enables a hack which computes
-dnl    the actual value of $libdir,
-dnl  - the user sees "executing intltool commands", instead of
-dnl    "creating intltool-extract" and such.
-dnl
-dnl Nothing crucial here, and we could use AC_CONFIG_FILES, if there were
-dnl a reason for it.
-
-AC_CONFIG_COMMANDS([intltool], [
-
-for file in intltool-extract intltool-merge intltool-update; do
-  sed -e "s|@INTLTOOL_EXTRACT@|`pwd`/intltool-extract|g" \
-      -e "s|@INTLTOOL_LIBDIR@|${INTLTOOL_LIBDIR}|g" \
-      -e "s|@INTLTOOL_PERL@|${INTLTOOL_PERL}|g" \
-	< ${ac_aux_dir}/${file}.in > ${file}.out
-  if cmp -s ${file} ${file}.out 2>/dev/null; then
-    rm -f ${file}.out
-  else
-    mv -f ${file}.out ${file}
-  fi
-  chmod ugo+x ${file}
-  chmod u+w ${file}
-done
-
-],
-[INTLTOOL_PERL='${INTLTOOL_PERL}' ac_aux_dir='${ac_aux_dir}'
-prefix="$prefix" exec_prefix="$exec_prefix" INTLTOOL_LIBDIR="$libdir" 
-INTLTOOL_EXTRACT='${INTLTOOL_EXTRACT}'])
-
-])
-
-
-# IT_PO_SUBDIR(DIRNAME)
-# ---------------------
-# All po subdirs have to be declared with this macro; the subdir "po" is
-# declared by IT_PROG_INTLTOOL.
-#
-AC_DEFUN([IT_PO_SUBDIR],
-[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
-dnl
-dnl The following CONFIG_COMMANDS should be exetuted at the very end
-dnl of config.status.
-AC_CONFIG_COMMANDS_PRE([
-  AC_CONFIG_COMMANDS([$1/stamp-it], [
-    rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
-    >"$1/stamp-it.tmp"
-    [sed '/^#/d
-	 s/^[[].*] *//
-	 /^[ 	]*$/d
-	'"s|^|	$ac_top_srcdir/|" \
-      "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
-    ]
-    if test ! -f "$1/Makefile"; then
-      AC_MSG_ERROR([$1/Makefile is not ready.])
-    fi
-    mv "$1/Makefile" "$1/Makefile.tmp"
-    [sed '/^POTFILES =/,/[^\\]$/ {
-		/^POTFILES =/!d
-		r $1/POTFILES
-	  }
-	 ' "$1/Makefile.tmp" >"$1/Makefile"]
-    rm -f "$1/Makefile.tmp"
-    mv "$1/stamp-it.tmp" "$1/stamp-it"
-  ])
-])dnl
-])
-
-
-# deprecated macros
-AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
-# A hint is needed for aclocal from Automake <= 1.9.4:
-# AC_DEFUN([AC_PROG_INTLTOOL], ...)
-
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 52 Debian 1.5.26-1ubuntu1 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
-         [],
-         [m4_define([AC_PROVIDE_IFELSE],
-	         [m4_ifdef([AC_PROVIDE_$1],
-		           [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
-  AC_PROVIDE_IFELSE([AC_PROG_CXX],
-    [AC_LIBTOOL_CXX],
-    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
-  ])])
-dnl And a similar setup for Fortran 77 support
-  AC_PROVIDE_IFELSE([AC_PROG_F77],
-    [AC_LIBTOOL_F77],
-    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
-  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-    [AC_LIBTOOL_GCJ],
-    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-      [AC_LIBTOOL_GCJ],
-      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
-	[AC_LIBTOOL_GCJ],
-      [ifdef([AC_PROG_GCJ],
-	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([A][M_PROG_GCJ],
-	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([LT_AC_PROG_GCJ],
-	     [define([LT_AC_PROG_GCJ],
-		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    AC_PATH_MAGIC
-  fi
-  ;;
-esac
-
-_LT_REQUIRED_DARWIN_CHECKS
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
-    [AC_HELP_STRING([--with-pic],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-   [lt_cv_ld_exported_symbols_list=yes],
-   [lt_cv_ld_exported_symbols_list=no])
-   LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[0123]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[[012]]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-[$]*
-EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
-    IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-	 test "X$echo_testing_string" = "X$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-	  then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "[$]0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-  ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$5], , :, [$5])
-else
-    ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                          [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$4], , :, [$4])
-else
-    ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
-	       = "XX$teststring") >/dev/null 2>&1 &&
-	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	      lt_cv_sys_max_cmd_len=$new_result &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}]
-EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-   ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-    	  lt_cv_dlopen_self_static, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_AC_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         AC_MSG_RESULT([yes])
-       else
-  AC_MSG_RESULT([no])
-fi
-       ;;
-   *)
-  AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
-    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
-        [include additional configurations @<:@automatic@:>@])],
-    [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    AC_MSG_WARN([output file `$ofile' does not exist])
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
-    else
-      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
-    fi
-  fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
-  fi
-
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
-    "") ;;
-    *)  AC_MSG_ERROR([invalid tag name: $tagname])
-	;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      AC_MSG_ERROR([tag name \"$tagname\" already exists])
-    fi
-
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
-
-      case $tagname in
-      CXX)
-	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-	    (test "X$CXX" != "Xg++"))) ; then
-	  AC_LIBTOOL_LANG_CXX_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      F77)
-	if test -n "$F77" && test "X$F77" != "Xno"; then
-	  AC_LIBTOOL_LANG_F77_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      GCJ)
-	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-	  AC_LIBTOOL_LANG_GCJ_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      RC)
-	AC_LIBTOOL_LANG_RC_CONFIG
-	;;
-
-      *)
-	AC_MSG_ERROR([Unsupported tag name: $tagname])
-	;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    AC_MSG_ERROR([unable to update list of available tagged configurations.])
-  fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
-    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
-    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
-    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [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])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="ifelse([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-    [AC_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!).  If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case $enable_ltdl_convenience in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, lt_dlinit,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    LTDLINCL=
-  fi
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
-    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
-      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
-	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
-	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-  AC_PROG_LD
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-	grep 'no-whole-archive' > /dev/null; then
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  aix[[4-9]]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	for ld_flag in $LDFLAGS; do
-	  case $ld_flag in
-	  *-brtl*)
-	    aix_use_runtimelinking=yes
-	    break
-	    ;;
-	  esac
-	done
-	;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    _LT_AC_TAGVAR(archive_cmds, $1)=''
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[[012]]|aix4.[[012]].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-	collect2name=`${CC} -print-prog-name=collect2`
-	if test -f "$collect2name" && \
-	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	then
-	  # We have reworked collect2
-	  :
-	else
-	  # We have old collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	fi
-	;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-	shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	shared_flag='-G'
-      else
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag='${wl}-G'
-	else
-	  shared_flag='${wl}-bM:SRE'
-	fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      _LT_AC_SYS_LIBPATH_AIX
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-	# Determine the default libpath from the value encoded in an empty executable.
-	_LT_AC_SYS_LIBPATH_AIX
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	# Warning - without using the other run time loading flags,
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	# Exported symbols can be pulled into shared objects from archives
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	# This is similar to how AIX traditionally builds its shared libraries.
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-    # as there is no search path for DLLs.
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-    _LT_AC_TAGVAR(always_export_symbols, $1)=no
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	cp $export_symbols $output_objdir/$soname.def;
-      else
-	echo EXPORTS > $output_objdir/$soname.def;
-	cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      ghcx*)
-	# Green Hills C++ Compiler
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  freebsd[[12]]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  freebsd-elf*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				# but as the default
-				# location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    aCC*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-    *)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      aCC*)
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	esac
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test $with_gnu_ld = no; then
-	    case $host_cpu in
-	    hppa*64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    ia64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    esac
-	  fi
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  interix[[3-9]]*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-	# SGI C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	# Archives containing C++ object files must be created using
-	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test "$with_gnu_ld" = no; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	  else
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-	  fi
-	fi
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-	;;
-    esac
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	;;
-      icpc*)
-	# Intel C++
-	with_gnu_ld=yes
-	# version 8.0 and above of icpc choke on multiply defined symbols
-	# if we add $predep_objects and $postdep_objects, however 7.1 and
-	# earlier do not add the objects themselves.
-	case `$CC -V 2>&1` in
-	*"Version 7."*)
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	*)  # Version 8.0 or newer
-	  tmp_idyn=
-	  case $host_cpu in
-	    ia64*) tmp_idyn=' -i_dynamic';;
-	  esac
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-	# Compaq C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	runpath_var=LD_RUN_PATH
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C++ 5.9
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-	  # Not sure whether something based on
-	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	  # would be better.
-	  output_verbose_link_cmd='echo'
-
-	  # Archives containing C++ object files must be created using
-	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	  # necessary to make sure instantiated templates are included
-	  # in the archive.
-	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	  ;;
-	esac
-	;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  netbsd* | netbsdelf*-gnu)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-	  $rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.x
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      lcc*)
-	# Lucid
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.2, 5.x and Centerline C++
-        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    # The compiler driver will combine and reorder linker options,
-	    # but understands `-z linker_flag'.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	    ;;
-	esac
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-	output_verbose_link_cmd='echo'
-
-	# Archives containing C++ object files must be created using
-	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	;;
-      gcx*)
-	# Green Hills C++ Compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	# The C++ compiler must be used to create the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	;;
-      *)
-	# GNU C++ compiler with Solaris linker
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  else
-	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	    # platform.
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  fi
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	  case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	    ;;
-	  esac
-	fi
-	;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-	# NonStop-UX NCC 3.20
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" \
-	  || test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
-	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
-	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_AC_TAGVAR(predep_objects,$1)=
-  _LT_AC_TAGVAR(postdep_objects,$1)=
-  _LT_AC_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars.  Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    _LT_AC_TAGVAR(compiler, $1) \
-    _LT_AC_TAGVAR(CC, $1) \
-    _LT_AC_TAGVAR(LD, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
-    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
-    _LT_AC_TAGVAR(old_archive_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
-    _LT_AC_TAGVAR(predep_objects, $1) \
-    _LT_AC_TAGVAR(postdep_objects, $1) \
-    _LT_AC_TAGVAR(predeps, $1) \
-    _LT_AC_TAGVAR(postdeps, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
-    _LT_AC_TAGVAR(archive_cmds, $1) \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(postinstall_cmds, $1) \
-    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
-    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
-    _LT_AC_TAGVAR(no_undefined_flag, $1) \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
-    _LT_AC_TAGVAR(hardcode_automatic, $1) \
-    _LT_AC_TAGVAR(module_cmds, $1) \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
-    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
-    _LT_AC_TAGVAR(exclude_expsyms, $1) \
-    _LT_AC_TAGVAR(include_expsyms, $1); do
-
-    case $var in
-    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(module_cmds, $1) | \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\[$]0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
-    ;;
-  esac
-
-ifelse([$1], [],
-  [cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  AC_MSG_NOTICE([creating $ofile])],
-  [cfgfile="$ofile"])
-
-  cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 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 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-])
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDGIRSTW]]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-	if grep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-	  cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  icpc* | ecpc*)
-	    # Intel C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler.
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd* | netbsdelf*-gnu)
-	;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
-    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-  ;;
-  *)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
-  runpath_var=
-  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_AC_TAGVAR(archive_cmds, $1)=
-  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
-  _LT_AC_TAGVAR(module_cmds, $1)=
-  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(always_export_symbols, $1)=no
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_AC_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  _LT_CC_BASENAME([$compiler])
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=no
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    interix[[3-9]]*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	tmp_addflag=
-	case $cc_basename,$host_cpu in
-	pgcc*)				# Portland Group C compiler
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_AC_TAGVAR(archive_cmds, $1)=''
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[[012]]|aix4.[[012]].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" && \
-  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	  then
-  	  # We have reworked collect2
-  	  :
-	  else
-  	  # We have old collect2
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       _LT_AC_SYS_LIBPATH_AIX
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-	if test "$host_cpu" = ia64; then
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 _LT_AC_SYS_LIBPATH_AIX
-	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      # see comment about different semantics on the GNU ld section
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    bsdi[[45]]*)
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-        fi
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
+fi])
 
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
 
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+dnl GNOME_COMPILE_WARNINGS
+dnl Turn on many useful compiler warnings
+dnl For now, only works on GCC
+AC_DEFUN([GNOME_COMPILE_WARNINGS],[
+    dnl ******************************
+    dnl More compiler warnings
+    dnl ******************************
 
-	# Both c and cxx compiler support -rpath directly
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
+    AC_ARG_ENABLE(compile-warnings, 
+                  AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
+                                 [Turn on compiler warnings]),,
+                  [enable_compile_warnings="m4_default([$1],[yes])"])
 
-    solaris*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-	wlarc=''
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
+    warnCFLAGS=
+    if test "x$GCC" != xyes; then
+	enable_compile_warnings=no
+    fi
 
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
+    warning_flags=
+    realsave_CFLAGS="$CFLAGS"
 
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+    case "$enable_compile_warnings" in
+    no)
+	warning_flags=
 	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+    minimum)
+	warning_flags="-Wall"
 	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
+    yes)
+	warning_flags="-Wall -Wmissing-prototypes"
+	;;
+    maximum|error)
+	warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
+	CFLAGS="$warning_flags $CFLAGS"
+	for option in -Wno-sign-compare; do
+		SAVE_CFLAGS="$CFLAGS"
+		CFLAGS="$CFLAGS $option"
+		AC_MSG_CHECKING([whether gcc understands $option])
+		AC_TRY_COMPILE([], [],
+			has_option=yes,
+			has_option=no,)
+		CFLAGS="$SAVE_CFLAGS"
+		AC_MSG_RESULT($has_option)
+		if test $has_option = yes; then
+		  warning_flags="$warning_flags $option"
+		fi
+		unset has_option
+		unset SAVE_CFLAGS
+	done
+	unset option
+	if test "$enable_compile_warnings" = "error" ; then
+	    warning_flags="$warning_flags -Werror"
+	fi
+	;;
+    *)
+	AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
+	;;
+    esac
+    CFLAGS="$realsave_CFLAGS"
+    AC_MSG_CHECKING(what warning flags to pass to the C compiler)
+    AC_MSG_RESULT($warning_flags)
 
-    sysv4.3*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
+    AC_ARG_ENABLE(iso-c,
+                  AC_HELP_STRING([--enable-iso-c],
+                                 [Try to warn if code is not ISO C ]),,
+                  [enable_iso_c=no])
 
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
+    AC_MSG_CHECKING(what language compliance flags to pass to the C compiler)
+    complCFLAGS=
+    if test "x$enable_iso_c" != "xno"; then
+	if test "x$GCC" = "xyes"; then
+	case " $CFLAGS " in
+	    *[\ \	]-ansi[\ \	]*) ;;
+	    *) complCFLAGS="$complCFLAGS -ansi" ;;
+	esac
+	case " $CFLAGS " in
+	    *[\ \	]-pedantic[\ \	]*) ;;
+	    *) complCFLAGS="$complCFLAGS -pedantic" ;;
+	esac
+	fi
+    fi
+    AC_MSG_RESULT($complCFLAGS)
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
+    WARN_CFLAGS="$warning_flags $complCFLAGS"
+    AC_SUBST(WARN_CFLAGS)
+])
 
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
+dnl For C++, do basically the same thing.
 
-    uts4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
+AC_DEFUN([GNOME_CXX_WARNINGS],[
+  AC_ARG_ENABLE(cxx-warnings,
+                AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
+                               [Turn on compiler warnings.]),,
+                [enable_cxx_warnings="m4_default([$1],[minimum])"])
 
-    *)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
+  AC_MSG_CHECKING(what warning flags to pass to the C++ compiler)
+  warnCXXFLAGS=
+  if test "x$GXX" != xyes; then
+    enable_cxx_warnings=no
   fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+  if test "x$enable_cxx_warnings" != "xno"; then
+    if test "x$GXX" = "xyes"; then
+      case " $CXXFLAGS " in
+      *[\ \	]-Wall[\ \	]*) ;;
+      *) warnCXXFLAGS="-Wall -Wno-unused" ;;
+      esac
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_AC_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
+      ## -W is not all that useful.  And it cannot be controlled
+      ## with individual -Wno-xxx flags, unlike -Wall
+      if test "x$enable_cxx_warnings" = "xyes"; then
+	warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual"
       fi
-      $rm conftest*
-      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
-      ;;
-    esac
+    fi
   fi
-  ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
+  AC_MSG_RESULT($warnCXXFLAGS)
 
+   AC_ARG_ENABLE(iso-cxx,
+                 AC_HELP_STRING([--enable-iso-cxx],
+                                [Try to warn if code is not ISO C++ ]),,
+                 [enable_iso_cxx=no])
 
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
-  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-  AC_SUBST(GCJFLAGS)
-])
+   AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler)
+   complCXXFLAGS=
+   if test "x$enable_iso_cxx" != "xno"; then
+     if test "x$GXX" = "xyes"; then
+      case " $CXXFLAGS " in
+      *[\ \	]-ansi[\ \	]*) ;;
+      *) complCXXFLAGS="$complCXXFLAGS -ansi" ;;
+      esac
 
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
+      case " $CXXFLAGS " in
+      *[\ \	]-pedantic[\ \	]*) ;;
+      *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;;
+      esac
+     fi
+   fi
+  AC_MSG_RESULT($complCXXFLAGS)
 
+  WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS"
+  AC_SUBST(WARN_CXXFLAGS)
+])
 
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
 
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
-  as_executable_p='test -x'
-else
-  as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
+AC_PREREQ(2.50)
 
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
 ])
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
@@ -7707,7 +829,7 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -7717,14 +839,31 @@ fi[]dnl
 # ----------------------------
 # 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"])
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
 
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-	 [AM_AUTOMAKE_VERSION([1.9.6])])
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -7781,14 +920,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
 # 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
+# serial 9
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -7797,8 +936,11 @@ 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])
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
 if $2; then
   $1_TRUE=
   $1_FALSE='#'
@@ -7812,15 +954,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
 # 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
+# serial 10
 
 # 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,
@@ -7848,6 +989,7 @@ 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], UPC,  [depcc="$UPC"  am_compiler_list=],
        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
                    [depcc="$$1"   am_compiler_list=])
 
@@ -7876,6 +1018,16 @@ AC_CACHE_CHECK([dependency style of $dep
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
   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
@@ -7893,7 +1045,17 @@ AC_CACHE_CHECK([dependency style of $dep
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # 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.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
       # after this tag, mechanisms are not by side-effect, so they'll
       # only be used when explicitly requested
@@ -7903,18 +1065,23 @@ AC_CACHE_CHECK([dependency style of $dep
 	break
       fi
       ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     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} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj 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
@@ -7965,61 +1132,74 @@ if test "x$enable_dependency_tracking" !
   AMDEPBACKSLASH='\'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
 # 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
+#serial 5
 
 # _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"
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  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.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/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
-done
+}
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
@@ -8036,28 +1216,16 @@ AC_DEFUN([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.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 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
+# serial 16
 
 # 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.
@@ -8074,16 +1242,20 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_
 # 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
+[AC_PREREQ([2.62])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])
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
 fi
 
 # test whether we have cygpath
@@ -8103,6 +1275,9 @@ m4_ifval([$2],
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
@@ -8118,8 +1293,8 @@ 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_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
@@ -8127,19 +1302,36 @@ 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([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
+		  [_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
-])
-])
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
 
 # When config.status generates a header, we must update the stamp-h file.
@@ -8151,18 +1343,19 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
 # our stamp files there.
 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
 [# Compute $1's index in $config_headers.
+_am_arg=$1
 _am_stamp_count=1
 for _am_header in $config_headers :; do
   case $_am_header in
-    $1 | $1:* )
+    $_am_arg | $_am_arg:* )
       break ;;
     * )
       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
   esac
 done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -8173,7 +1366,14 @@ echo "timestamp for $1" >`AS_DIRNAME([$1
 # 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"}
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
 AC_SUBST(install_sh)])
 
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
@@ -8200,27 +1400,38 @@ 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
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
 # 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
+# serial 5
 
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
 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
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer],
-      USE_MAINTAINER_MODE=$enableval,
-      USE_MAINTAINER_MODE=no)
+      [USE_MAINTAINER_MODE=$enableval],
+      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST(MAINT)dnl
+  AC_SUBST([MAINT])dnl
 ]
 )
 
@@ -8228,13 +1439,13 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINT
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  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
+# serial 4
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -8243,7 +1454,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
 cat > confinc << 'END'
 am__doit:
-	@echo done
+	@echo this is the am__doit target
 .PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
@@ -8253,24 +1464,24 @@ 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
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
 # 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
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
 AC_SUBST([am__include])
 AC_SUBST([am__quote])
@@ -8280,14 +1491,14 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
 # 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
+# serial 6
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -8303,7 +1514,15 @@ AC_SUBST($1)])
 # 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"
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
 # Use eval to expand $SHELL
 if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
@@ -8313,7 +1532,7 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -8321,70 +1540,33 @@ fi
 
 # 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.)
+# Check for `mkdir -p'.
 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])])
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  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
+# serial 4
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -8401,7 +1583,7 @@ AC_DEFUN([_AM_SET_OPTION],
 # ----------------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
 
 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
 # -------------------------------------------
@@ -8411,14 +1593,14 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
 # 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
+# serial 5
 
 # AM_SANITY_CHECK
 # ---------------
@@ -8427,16 +1609,29 @@ AC_DEFUN([AM_SANITY_CHECK],
 # Just in case
 sleep 1
 echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
 # 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`
+   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`
+      set X `ls -t "$srcdir/configure" conftest.file`
    fi
    rm -f conftest.file
    if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -8486,9 +1681,28 @@ dnl Don't test for $cross_compiling = ye
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
+# Copyright (C) 2006, 2008  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_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
 # Check how to create a tarball.                            -*- Autoconf -*-
 
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
@@ -8585,4 +1799,11 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-m4_include([acinclude.m4])
+m4_include([macros/gob2.m4])
+m4_include([macros/intltool.m4])
+m4_include([macros/libtool.m4])
+m4_include([macros/ltoptions.m4])
+m4_include([macros/ltsugar.m4])
+m4_include([macros/ltversion.m4])
+m4_include([macros/lt~obsolete.m4])
+m4_include([macros/pilot_link.m4])
diff -pruN 2.0.17-2/applet/gpilot-applet-progress.c 2.32.0-0ubuntu1/applet/gpilot-applet-progress.c
--- 2.0.17-2/applet/gpilot-applet-progress.c	2009-01-07 23:45:34.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/gpilot-applet-progress.c	2010-08-09 09:03:13.000000000 +0100
@@ -1,10 +1,10 @@
-/* Generated by GOB (v2.0.15)   (do not edit directly) */
+/* Generated by GOB (v2.0.16)   (do not edit directly) */
 
 /* End world hunger, donate to the World Food Programme, http://www.wfp.org */
 
 #define GOB_VERSION_MAJOR 2
 #define GOB_VERSION_MINOR 0
-#define GOB_VERSION_PATCHLEVEL 15
+#define GOB_VERSION_PATCHLEVEL 16
 
 #define selfp (self->_priv)
 
@@ -47,8 +47,12 @@ typedef GPilotAppletProgressClass SelfCl
 /* here are local prototypes */
 static void ___object_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec);
 static void ___object_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec);
+#line 0 "gpilot-applet-progress.gob"
 static void gpilot_applet_progress_class_init (GPilotAppletProgressClass * c) G_GNUC_UNUSED;
+#line 53 "gpilot-applet-progress.c"
+#line 26 "gpilot-applet-progress.gob"
 static void gpilot_applet_progress_init (GPilotAppletProgress * self) G_GNUC_UNUSED;
+#line 56 "gpilot-applet-progress.c"
 
 enum {
 	PROP_0,
@@ -152,8 +156,8 @@ gpilot_applet_progress_class_init (GPilo
 #line 26 "gpilot-applet-progress.gob"
 static void 
 gpilot_applet_progress_init (GPilotAppletProgress * self G_GNUC_UNUSED)
-#line 156 "gpilot-applet-progress.c"
 {
+#line 161 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::init"
 	self->_priv = G_TYPE_INSTANCE_GET_PRIVATE(self,GPILOT_TYPE_APPLET_PROGRESS,GPilotAppletProgressPrivate);
  {
@@ -162,7 +166,7 @@ gpilot_applet_progress_init (GPilotApple
 		self->alive = FALSE;
 		self->progress = NULL;
 	
-#line 166 "gpilot-applet-progress.c"
+#line 170 "gpilot-applet-progress.c"
  }
 }
 #undef __GOB_FUNCTION__
@@ -180,11 +184,11 @@ ___object_set_property (GObject *object,
 
 	switch (property_id) {
 	case PROP_PROGRESS:
-	{	GtkProgress *  ARG G_GNUC_UNUSED = (GtkProgress * ) g_value_get_pointer (VAL);
+	{	GtkProgressBar *  ARG G_GNUC_UNUSED = (GtkProgressBar * ) g_value_get_pointer (VAL);
 		{
 #line 19 "gpilot-applet-progress.gob"
 self->progress = ARG;
-#line 188 "gpilot-applet-progress.c"
+#line 192 "gpilot-applet-progress.c"
 		}
 		break;
 	}
@@ -193,7 +197,7 @@ self->progress = ARG;
 		{
 #line 21 "gpilot-applet-progress.gob"
 self->alive = ARG;
-#line 197 "gpilot-applet-progress.c"
+#line 201 "gpilot-applet-progress.c"
 		}
 		break;
 	}
@@ -222,12 +226,12 @@ ___object_get_property (GObject *object,
 
 	switch (property_id) {
 	case PROP_PROGRESS:
-	{	GtkProgress *  ARG;
-	memset (&ARG, 0, sizeof (GtkProgress * ));
+	{	GtkProgressBar *  ARG;
+	memset (&ARG, 0, sizeof (GtkProgressBar * ));
 		{
 #line 19 "gpilot-applet-progress.gob"
 ARG = self->progress;
-#line 231 "gpilot-applet-progress.c"
+#line 235 "gpilot-applet-progress.c"
 		}
 		g_value_set_pointer (VAL, ARG);
 		break;
@@ -238,7 +242,7 @@ ARG = self->progress;
 		{
 #line 21 "gpilot-applet-progress.gob"
 ARG = self->alive;
-#line 242 "gpilot-applet-progress.c"
+#line 246 "gpilot-applet-progress.c"
 		}
 		g_value_set_boolean (VAL, ARG);
 		break;
@@ -257,135 +261,131 @@ ARG = self->alive;
 
 
 #line 19 "gpilot-applet-progress.gob"
-GtkProgress * 
+GtkProgressBar * 
 gpilot_applet_progress_get_progress (GPilotAppletProgress * self)
-#line 263 "gpilot-applet-progress.c"
 {
+#line 268 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::get_progress"
 {
 #line 19 "gpilot-applet-progress.gob"
-		GtkProgress* val; g_object_get (G_OBJECT (self), "progress", &val, NULL); return val;
+		GtkProgressBar* val; g_object_get (G_OBJECT (self), "progress", &val, NULL); return val;
 }}
-#line 270 "gpilot-applet-progress.c"
+#line 274 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
 #line 19 "gpilot-applet-progress.gob"
 void 
-gpilot_applet_progress_set_progress (GPilotAppletProgress * self, GtkProgress * val)
-#line 276 "gpilot-applet-progress.c"
+gpilot_applet_progress_set_progress (GPilotAppletProgress * self, GtkProgressBar * val)
 {
+#line 281 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::set_progress"
 {
 #line 19 "gpilot-applet-progress.gob"
 		g_object_set (G_OBJECT (self), "progress", val, NULL);
 }}
-#line 283 "gpilot-applet-progress.c"
+#line 287 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
 #line 21 "gpilot-applet-progress.gob"
 gboolean 
 gpilot_applet_progress_get_alive (GPilotAppletProgress * self)
-#line 289 "gpilot-applet-progress.c"
 {
+#line 294 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::get_alive"
 {
 #line 21 "gpilot-applet-progress.gob"
 		gboolean val; g_object_get (G_OBJECT (self), "alive", &val, NULL); return val;
 }}
-#line 296 "gpilot-applet-progress.c"
+#line 300 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
 #line 21 "gpilot-applet-progress.gob"
 void 
 gpilot_applet_progress_set_alive (GPilotAppletProgress * self, gboolean val)
-#line 302 "gpilot-applet-progress.c"
 {
+#line 307 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::set_alive"
 {
 #line 21 "gpilot-applet-progress.gob"
 		g_object_set (G_OBJECT (self), "alive", val, NULL);
 }}
-#line 309 "gpilot-applet-progress.c"
+#line 313 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
 
 #line 31 "gpilot-applet-progress.gob"
 GtkObject * 
 gpilot_applet_progress_new (void)
-#line 316 "gpilot-applet-progress.c"
 {
+#line 321 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::new"
 {
 #line 32 "gpilot-applet-progress.gob"
 	
 		return (GtkObject*)GET_NEW;
 	}}
-#line 324 "gpilot-applet-progress.c"
+#line 328 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
 #line 36 "gpilot-applet-progress.gob"
 void 
 gpilot_applet_progress_start (GPilotAppletProgress * self)
-#line 330 "gpilot-applet-progress.c"
 {
+#line 335 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::start"
 #line 36 "gpilot-applet-progress.gob"
 	g_return_if_fail (self != NULL);
 #line 36 "gpilot-applet-progress.gob"
 	g_return_if_fail (GPILOT_IS_APPLET_PROGRESS (self));
-#line 337 "gpilot-applet-progress.c"
+#line 341 "gpilot-applet-progress.c"
 {
 #line 37 "gpilot-applet-progress.gob"
 	
 		g_assert (self->progress);
 		if (!self->alive) {			
-			gtk_progress_set_activity_mode (self->progress, TRUE);
+		   	gtk_progress_bar_set_pulse_step (self->progress, 0.05);
+			gtk_progress_bar_pulse (self->progress);
 			self->alive = TRUE;
-			self->_priv->timeout_handler = gtk_timeout_add (10, (GtkFunction) timeout, self);
+			self->_priv->timeout_handler = g_timeout_add (
+				100, (GSourceFunc) timeout, self);
 		}
 	}}
-#line 348 "gpilot-applet-progress.c"
+#line 354 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
-#line 46 "gpilot-applet-progress.gob"
+#line 48 "gpilot-applet-progress.gob"
 void 
 gpilot_applet_progress_stop (GPilotAppletProgress * self)
-#line 354 "gpilot-applet-progress.c"
 {
+#line 361 "gpilot-applet-progress.c"
 #define __GOB_FUNCTION__ "GPilot:Applet:Progress::stop"
-#line 46 "gpilot-applet-progress.gob"
+#line 48 "gpilot-applet-progress.gob"
 	g_return_if_fail (self != NULL);
-#line 46 "gpilot-applet-progress.gob"
+#line 48 "gpilot-applet-progress.gob"
 	g_return_if_fail (GPILOT_IS_APPLET_PROGRESS (self));
-#line 361 "gpilot-applet-progress.c"
+#line 367 "gpilot-applet-progress.c"
 {
-#line 47 "gpilot-applet-progress.gob"
+#line 49 "gpilot-applet-progress.gob"
 	
 		g_assert (self->progress);
 		if (self->alive) {
-			gtk_progress_set_activity_mode (self->progress, FALSE);
+			gtk_progress_bar_set_fraction (self->progress, 1.0);
 			self->alive = FALSE;
+			g_source_remove(self->_priv->timeout_handler);
 		}
 	}}
-#line 371 "gpilot-applet-progress.c"
+#line 378 "gpilot-applet-progress.c"
 #undef __GOB_FUNCTION__
 
-#line 57 "gpilot-applet-progress.gob"
+#line 60 "gpilot-applet-progress.gob"
 
 
 static gboolean
 timeout (GPilotAppletProgress *obj) {
-	static int val = 0;
-	GtkProgress *progress = gpilot_applet_progress_get_progress (obj);
-	gtk_progress_set_value (progress, val);
-	val += 10;
-	if (val > 100) {
-		val = 0;
-	}
-/*
-	g_message ("applet progress timeout: val = %d, res = %s", 
-		   val, gpilot_applet_progress_get_alive (obj) ? "TRUE" : "FALSE");
-*/
+
+	GtkProgressBar *progress = gpilot_applet_progress_get_progress (obj);
+	gtk_progress_bar_pulse(progress);
+
 	return gpilot_applet_progress_get_alive (obj);
 }
 
diff -pruN 2.0.17-2/applet/gpilot-applet-progress.gob 2.32.0-0ubuntu1/applet/gpilot-applet-progress.gob
--- 2.0.17-2/applet/gpilot-applet-progress.gob	2007-01-11 08:32:39.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/gpilot-applet-progress.gob	2010-08-09 09:02:10.000000000 +0100
@@ -15,8 +15,8 @@ static gboolean timeout (GPilotAppletPro
 %}
 
 class GPilot:Applet:Progress from Gtk:Object {
-        public GtkProgress *progress;
-	argument POINTER (type GtkProgress*) progress (export) link;
+        public GtkProgressBar *progress;
+	argument POINTER (type GtkProgressBar*) progress (export) link;
         public gboolean alive;
 	argument BOOLEAN (type gboolean) alive (export) link;
 
@@ -37,9 +37,11 @@ class GPilot:Applet:Progress from Gtk:Ob
 	start (self) {
 		g_assert (self->progress);
 		if (!self->alive) {			
-			gtk_progress_set_activity_mode (self->progress, TRUE);
+		   	gtk_progress_bar_set_pulse_step (self->progress, 0.05);
+			gtk_progress_bar_pulse (self->progress);
 			self->alive = TRUE;
-			self->_priv->timeout_handler = gtk_timeout_add (10, (GtkFunction) timeout, self);
+			self->_priv->timeout_handler = g_timeout_add (
+				100, (GSourceFunc) timeout, self);
 		}
 	}
 
@@ -47,8 +49,9 @@ class GPilot:Applet:Progress from Gtk:Ob
 	stop (self) {
 		g_assert (self->progress);
 		if (self->alive) {
-			gtk_progress_set_activity_mode (self->progress, FALSE);
+			gtk_progress_bar_set_fraction (self->progress, 1.0);
 			self->alive = FALSE;
+			g_source_remove(self->_priv->timeout_handler);
 		}
 	}
 
@@ -58,17 +61,10 @@ class GPilot:Applet:Progress from Gtk:Ob
 
 static gboolean
 timeout (GPilotAppletProgress *obj) {
-	static int val = 0;
-	GtkProgress *progress = gpilot_applet_progress_get_progress (obj);
-	gtk_progress_set_value (progress, val);
-	val += 10;
-	if (val > 100) {
-		val = 0;
-	}
-/*
-	g_message ("applet progress timeout: val = %d, res = %s", 
-		   val, gpilot_applet_progress_get_alive (obj) ? "TRUE" : "FALSE");
-*/
+
+	GtkProgressBar *progress = gpilot_applet_progress_get_progress (obj);
+	gtk_progress_bar_pulse(progress);
+
 	return gpilot_applet_progress_get_alive (obj);
 }
 
diff -pruN 2.0.17-2/applet/gpilot-applet-progress.h 2.32.0-0ubuntu1/applet/gpilot-applet-progress.h
--- 2.0.17-2/applet/gpilot-applet-progress.h	2009-01-07 23:45:34.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/gpilot-applet-progress.h	2010-08-09 09:03:13.000000000 +0100
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.15)   (do not edit directly) */
+/* Generated by GOB (v2.0.16)   (do not edit directly) */
 
 #include <glib.h>
 #include <glib-object.h>
@@ -40,7 +40,7 @@ typedef struct _GPilotAppletProgress GPi
 struct _GPilotAppletProgress {
 	GtkObject __parent__;
 	/*< public >*/
-	GtkProgress * progress;
+	GtkProgressBar * progress;
 	gboolean alive;
 	/*< private >*/
 	GPilotAppletProgressPrivate *_priv;
@@ -58,28 +58,42 @@ struct _GPilotAppletProgressClass {
 /*
  * Public methods
  */
-GType	gpilot_applet_progress_get_type	(void);
-GtkProgress * 	gpilot_applet_progress_get_progress	(GPilotAppletProgress * self);
+GType	gpilot_applet_progress_get_type	(void) G_GNUC_CONST;
+#line 19 "gpilot-applet-progress.gob"
+GtkProgressBar * 	gpilot_applet_progress_get_progress	(GPilotAppletProgress * self);
+#line 65 "gpilot-applet-progress.h"
+#line 19 "gpilot-applet-progress.gob"
 void 	gpilot_applet_progress_set_progress	(GPilotAppletProgress * self,
-					GtkProgress * val);
+					GtkProgressBar * val);
+#line 69 "gpilot-applet-progress.h"
+#line 21 "gpilot-applet-progress.gob"
 gboolean 	gpilot_applet_progress_get_alive	(GPilotAppletProgress * self);
+#line 72 "gpilot-applet-progress.h"
+#line 21 "gpilot-applet-progress.gob"
 void 	gpilot_applet_progress_set_alive	(GPilotAppletProgress * self,
 					gboolean val);
+#line 76 "gpilot-applet-progress.h"
+#line 31 "gpilot-applet-progress.gob"
 GtkObject * 	gpilot_applet_progress_new	(void);
+#line 79 "gpilot-applet-progress.h"
+#line 36 "gpilot-applet-progress.gob"
 void 	gpilot_applet_progress_start	(GPilotAppletProgress * self);
+#line 82 "gpilot-applet-progress.h"
+#line 48 "gpilot-applet-progress.gob"
 void 	gpilot_applet_progress_stop	(GPilotAppletProgress * self);
+#line 85 "gpilot-applet-progress.h"
 
 /*
  * Argument wrapping macros
  */
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-#define GPILOT_APPLET_PROGRESS_PROP_PROGRESS(arg)    	"progress", __extension__ ({GtkProgress * z = (arg); z;})
-#define GPILOT_APPLET_PROGRESS_GET_PROP_PROGRESS(arg)	"progress", __extension__ ({GtkProgress * *z = (arg); z;})
+#define GPILOT_APPLET_PROGRESS_PROP_PROGRESS(arg)    	"progress", __extension__ ({GtkProgressBar * z = (arg); z;})
+#define GPILOT_APPLET_PROGRESS_GET_PROP_PROGRESS(arg)	"progress", __extension__ ({GtkProgressBar * *z = (arg); z;})
 #define GPILOT_APPLET_PROGRESS_PROP_ALIVE(arg)    	"alive", __extension__ ({gboolean z = (arg); z;})
 #define GPILOT_APPLET_PROGRESS_GET_PROP_ALIVE(arg)	"alive", __extension__ ({gboolean *z = (arg); z;})
 #else /* __GNUC__ && !__STRICT_ANSI__ */
-#define GPILOT_APPLET_PROGRESS_PROP_PROGRESS(arg)    	"progress",(GtkProgress * )(arg)
-#define GPILOT_APPLET_PROGRESS_GET_PROP_PROGRESS(arg)	"progress",(GtkProgress * *)(arg)
+#define GPILOT_APPLET_PROGRESS_PROP_PROGRESS(arg)    	"progress",(GtkProgressBar * )(arg)
+#define GPILOT_APPLET_PROGRESS_GET_PROP_PROGRESS(arg)	"progress",(GtkProgressBar * *)(arg)
 #define GPILOT_APPLET_PROGRESS_PROP_ALIVE(arg)    	"alive",(gboolean )(arg)
 #define GPILOT_APPLET_PROGRESS_GET_PROP_ALIVE(arg)	"alive",(gboolean *)(arg)
 #endif /* __GNUC__ && !__STRICT_ANSI__ */
diff -pruN 2.0.17-2/applet/gpilot-applet-progress-private.h 2.32.0-0ubuntu1/applet/gpilot-applet-progress-private.h
--- 2.0.17-2/applet/gpilot-applet-progress-private.h	2009-01-07 23:45:34.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/gpilot-applet-progress-private.h	2010-08-09 09:03:13.000000000 +0100
@@ -1,4 +1,4 @@
-/* Generated by GOB (v2.0.15)   (do not edit directly) */
+/* Generated by GOB (v2.0.16)   (do not edit directly) */
 
 #ifndef __GPILOT_APPLET_PROGRESS_PRIVATE_H__
 #define __GPILOT_APPLET_PROGRESS_PRIVATE_H__
diff -pruN 2.0.17-2/applet/Makefile.am 2.32.0-0ubuntu1/applet/Makefile.am
--- 2.0.17-2/applet/Makefile.am	2008-06-22 16:35:00.000000000 +0100
+++ 2.32.0-0ubuntu1/applet/Makefile.am	2010-02-01 23:18:20.000000000 +0000
@@ -30,11 +30,11 @@ gpilot_applet_LDADD = 				\
 #libpilot_applet_la_SOURCES= \
 #	pilot.c
 
-INCLUDES = 						\
+AM_CPPFLAGS = 						\
 	-I$(top_srcdir)					\
 	$(GNOME_PILOT_CFLAGS)				\
 	$(PILOT_APPLET_CFLAGS)			\
-	-DGLADEDATADIR=\""$(gladedir)"\" 		\
+	-DUIDATADIR=\""$(uidir)"\" 		\
 	-DPREFIX=\""$(prefix)\"" 			\
 	-DSYSCONFDIR=\""$(sysconfdir)\"" 		\
 	-DDATADIR=\""$(datadir)\"" 			\
@@ -42,8 +42,8 @@ INCLUDES = 						\
 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"
 
 
-gladedir  = $(datadir)/gnome-pilot/glade
-glade_DATA = pilot-applet.glade
+uidir  = $(datadir)/gnome-pilot/ui
+ui_DATA = pilot-applet.ui
 
 pixmapdir = $(datadir)/pixmaps
 pixmap_DATA = sync_paused.png sync_broken.png sync_icon.png syncing_icon.png
@@ -69,7 +69,7 @@ install-data-local:
 
 EXTRA_DIST = 				\
 	$(pixmap_DATA) 			\
-	$(glade_DATA) 			\
+	$(ui_DATA) 			\
 	$(gobfiles)			\
 	$(server_in_files)		\
 	$(schemas_in_files)		\
diff -pruN 2.0.17-2/applet/Makefile.in 2.32.0-0ubuntu1/applet/Makefile.in
--- 2.0.17-2/applet/Makefile.in	2009-01-07 23:43:31.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/Makefile.in	2010-09-26 11:47:03.000000000 +0100
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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.
@@ -15,15 +16,12 @@
 @SET_MAKE@
 
 
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 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
@@ -42,17 +40,23 @@ subdir = applet
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	AUTHORS
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-	$(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/macros/gob2.m4 \
+	$(top_srcdir)/macros/intltool.m4 \
+	$(top_srcdir)/macros/libtool.m4 \
+	$(top_srcdir)/macros/ltoptions.m4 \
+	$(top_srcdir)/macros/ltsugar.m4 \
+	$(top_srcdir)/macros/ltversion.m4 \
+	$(top_srcdir)/macros/lt~obsolete.m4 \
+	$(top_srcdir)/macros/pilot_link.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(gladedir)" \
-	"$(DESTDIR)$(pixmapdir)" "$(DESTDIR)$(schemasdir)" \
-	"$(DESTDIR)$(serverdir)"
-libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(pixmapdir)" \
+	"$(DESTDIR)$(schemasdir)" "$(DESTDIR)$(serverdir)" \
+	"$(DESTDIR)$(uidir)"
 PROGRAMS = $(libexec_PROGRAMS)
 am__objects_1 =
 am__objects_2 = gpilot-applet-progress.$(OBJEXT) $(am__objects_1)
@@ -62,17 +66,19 @@ gpilot_applet_OBJECTS = $(am_gpilot_appl
 am__DEPENDENCIES_1 =
 gpilot_applet_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(top_builddir)/gpilotd/libgpilotd.la
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 SOURCES = $(gpilot_applet_SOURCES)
 DIST_SOURCES = $(gpilot_applet_SOURCES)
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -80,19 +86,28 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-gladeDATA_INSTALL = $(INSTALL_DATA)
-pixmapDATA_INSTALL = $(INSTALL_DATA)
-schemasDATA_INSTALL = $(INSTALL_DATA)
-serverDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(glade_DATA) $(pixmap_DATA) $(schemas_DATA) $(server_DATA)
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+DATA = $(pixmap_DATA) $(schemas_DATA) $(server_DATA) $(ui_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALL_LINGUAS = @ALL_LINGUAS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
@@ -115,17 +130,16 @@ DATADIRNAME = @DATADIRNAME@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+EVOLUTION_DATA_SERVER_CFLAGS = @EVOLUTION_DATA_SERVER_CFLAGS@
+EVOLUTION_DATA_SERVER_LIBS = @EVOLUTION_DATA_SERVER_LIBS@
 EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
 GCONFTOOL = @GCONFTOOL@
-GCONF_SCHEMAS_INSTALL_FALSE = @GCONF_SCHEMAS_INSTALL_FALSE@
-GCONF_SCHEMAS_INSTALL_TRUE = @GCONF_SCHEMAS_INSTALL_TRUE@
 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
@@ -148,57 +162,44 @@ GPILOTD_REVISION = @GPILOTD_REVISION@
 GREP = @GREP@
 HAL_CFLAGS = @HAL_CFLAGS@
 HAL_LIBS = @HAL_LIBS@
+INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLLIBS = @INTLLIBS@
-INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
-INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
-INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
-INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
 INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
 INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
-INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
-INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
-INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
-INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
-INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
-INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
-INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
-INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
-INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
-INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
-INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
 MKINSTALLDIRS = @MKINSTALLDIRS@
 MSGFMT = @MSGFMT@
 MSGFMT_OPTS = @MSGFMT_OPTS@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
 NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
-ORBIT_IDL = @ORBIT_IDL@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PILOT_APPLET_CFLAGS = @PILOT_APPLET_CFLAGS@
@@ -226,13 +227,13 @@ WARN_CFLAGS = @WARN_CFLAGS@
 XGETTEXT = @XGETTEXT@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -244,6 +245,7 @@ build_alias = @build_alias@
 build_cpu = @build_cpu@
 build_os = @build_os@
 build_vendor = @build_vendor@
+builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -262,6 +264,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -271,8 +274,12 @@ program_transform_name = @program_transf
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
 NULL = 
 GOB_BUILT_SRCS = \
 	gpilot-applet-progress.c		\
@@ -299,19 +306,19 @@ gpilot_applet_LDADD = \
 
 #libpilot_applet_la_SOURCES= \
 #	pilot.c
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_srcdir)					\
 	$(GNOME_PILOT_CFLAGS)				\
 	$(PILOT_APPLET_CFLAGS)			\
-	-DGLADEDATADIR=\""$(gladedir)"\" 		\
+	-DUIDATADIR=\""$(uidir)"\" 		\
 	-DPREFIX=\""$(prefix)\"" 			\
 	-DSYSCONFDIR=\""$(sysconfdir)\"" 		\
 	-DDATADIR=\""$(datadir)\"" 			\
 	-DLIBDIR=\""$(libdir)\"" 			\
 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"
 
-gladedir = $(datadir)/gnome-pilot/glade
-glade_DATA = pilot-applet.glade
+uidir = $(datadir)/gnome-pilot/ui
+ui_DATA = pilot-applet.ui
 pixmapdir = $(datadir)/pixmaps
 pixmap_DATA = sync_paused.png sync_broken.png sync_icon.png syncing_icon.png
 serverdir = $(libdir)/bonobo/servers
@@ -322,7 +329,7 @@ schemas_in_files = pilot.schemas.in
 schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
 EXTRA_DIST = \
 	$(pixmap_DATA) 			\
-	$(glade_DATA) 			\
+	$(ui_DATA) 			\
 	$(gobfiles)			\
 	$(server_in_files)		\
 	$(schemas_in_files)		\
@@ -339,14 +346,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  applet/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  applet/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign applet/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign applet/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -364,37 +371,53 @@ $(top_srcdir)/configure: @MAINTAINER_MOD
 	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
+$(am__aclocal_m4_deps):
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(libexecdir)" || $(mkdir_p) "$(DESTDIR)$(libexecdir)"
-	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
+	@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-libexecPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(libexecdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(libexecdir)/$$f"; \
-	done
+	@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
 
 clean-libexecPROGRAMS:
-	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 gpilot-applet$(EXEEXT): $(gpilot_applet_OBJECTS) $(gpilot_applet_DEPENDENCIES) 
 	@rm -f gpilot-applet$(EXEEXT)
-	$(LINK) $(gpilot_applet_LDFLAGS) $(gpilot_applet_OBJECTS) $(gpilot_applet_LDADD) $(LIBS)
+	$(LINK) $(gpilot_applet_OBJECTS) $(gpilot_applet_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -406,22 +429,22 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pilot.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 .c.obj:
-@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
-@am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
@@ -431,152 +454,166 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool
-uninstall-info-am:
-install-gladeDATA: $(glade_DATA)
-	@$(NORMAL_INSTALL)
-	test -z "$(gladedir)" || $(mkdir_p) "$(DESTDIR)$(gladedir)"
-	@list='$(glade_DATA)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(gladeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gladedir)/$$f'"; \
-	  $(gladeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gladedir)/$$f"; \
-	done
-
-uninstall-gladeDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(glade_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(gladedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(gladedir)/$$f"; \
-	done
 install-pixmapDATA: $(pixmap_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pixmapdir)" || $(mkdir_p) "$(DESTDIR)$(pixmapdir)"
-	@list='$(pixmap_DATA)'; for p in $$list; do \
+	test -z "$(pixmapdir)" || $(MKDIR_P) "$(DESTDIR)$(pixmapdir)"
+	@list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(pixmapDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pixmapdir)/$$f'"; \
-	  $(pixmapDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pixmapdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapdir)" || exit $$?; \
 	done
 
 uninstall-pixmapDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pixmap_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(pixmapdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pixmapdir)/$$f"; \
-	done
+	@list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pixmapdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pixmapdir)" && rm -f $$files
 install-schemasDATA: $(schemas_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(schemasdir)" || $(mkdir_p) "$(DESTDIR)$(schemasdir)"
-	@list='$(schemas_DATA)'; for p in $$list; do \
+	test -z "$(schemasdir)" || $(MKDIR_P) "$(DESTDIR)$(schemasdir)"
+	@list='$(schemas_DATA)'; test -n "$(schemasdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(schemasDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(schemasdir)/$$f'"; \
-	  $(schemasDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(schemasdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(schemasdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(schemasdir)" || exit $$?; \
 	done
 
 uninstall-schemasDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(schemas_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(schemasdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(schemasdir)/$$f"; \
-	done
+	@list='$(schemas_DATA)'; test -n "$(schemasdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(schemasdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(schemasdir)" && rm -f $$files
 install-serverDATA: $(server_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(serverdir)" || $(mkdir_p) "$(DESTDIR)$(serverdir)"
-	@list='$(server_DATA)'; for p in $$list; do \
+	test -z "$(serverdir)" || $(MKDIR_P) "$(DESTDIR)$(serverdir)"
+	@list='$(server_DATA)'; test -n "$(serverdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(serverDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(serverdir)/$$f'"; \
-	  $(serverDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(serverdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(serverdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(serverdir)" || exit $$?; \
 	done
 
 uninstall-serverDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(server_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(serverdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(serverdir)/$$f"; \
+	@list='$(server_DATA)'; test -n "$(serverdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(serverdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(serverdir)" && rm -f $$files
+install-uiDATA: $(ui_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(uidir)" || $(MKDIR_P) "$(DESTDIR)$(uidir)"
+	@list='$(ui_DATA)'; test -n "$(uidir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(uidir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(uidir)" || exit $$?; \
 	done
 
+uninstall-uiDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(ui_DATA)'; test -n "$(uidir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(uidir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(uidir)" && rm -f $$files
+
 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; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	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 \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	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" \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/$(srcdir)
-	@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; \
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
 	  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 \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -585,8 +622,8 @@ check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-am
 all-am: Makefile $(PROGRAMS) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(gladedir)" "$(DESTDIR)$(pixmapdir)" "$(DESTDIR)$(schemasdir)" "$(DESTDIR)$(serverdir)"; do \
-	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	for dir in "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(pixmapdir)" "$(DESTDIR)$(schemasdir)" "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(uidir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) install-am
@@ -610,6 +647,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -624,7 +662,7 @@ distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-libtool distclean-tags
+	distclean-tags
 
 dvi: dvi-am
 
@@ -632,19 +670,39 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
 
-install-data-am: install-data-local install-gladeDATA \
-	install-pixmapDATA install-schemasDATA install-serverDATA
+install-data-am: install-data-local install-pixmapDATA \
+	install-schemasDATA install-serverDATA install-uiDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
 
 install-exec-am: install-libexecPROGRAMS
 
+install-html: install-html-am
+
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -665,26 +723,27 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-gladeDATA uninstall-info-am \
-	uninstall-libexecPROGRAMS uninstall-pixmapDATA \
-	uninstall-schemasDATA uninstall-serverDATA
+uninstall-am: uninstall-libexecPROGRAMS uninstall-pixmapDATA \
+	uninstall-schemasDATA uninstall-serverDATA uninstall-uiDATA
+
+.MAKE: all check install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 	clean-libexecPROGRAMS clean-libtool ctags distclean \
 	distclean-compile distclean-generic distclean-libtool \
 	distclean-tags distdir dvi dvi-am html html-am info info-am \
 	install install-am install-data install-data-am \
-	install-data-local install-exec install-exec-am \
-	install-gladeDATA install-info install-info-am \
-	install-libexecPROGRAMS install-man install-pixmapDATA \
-	install-schemasDATA install-serverDATA install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-gladeDATA \
-	uninstall-info-am uninstall-libexecPROGRAMS \
-	uninstall-pixmapDATA uninstall-schemasDATA \
-	uninstall-serverDATA
+	install-data-local install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-libexecPROGRAMS install-man \
+	install-pdf install-pdf-am install-pixmapDATA install-ps \
+	install-ps-am install-schemasDATA install-serverDATA \
+	install-strip install-uiDATA installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-libexecPROGRAMS uninstall-pixmapDATA \
+	uninstall-schemasDATA uninstall-serverDATA uninstall-uiDATA
 
 
 %.c %.h: %.gob
@@ -700,6 +759,7 @@ install-data-local:
 			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/applet/$$p; \
 		done \
 	fi
+
 # 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:
diff -pruN 2.0.17-2/applet/pilot-applet.glade 2.32.0-0ubuntu1/applet/pilot-applet.glade
--- 2.0.17-2/applet/pilot-applet.glade	2007-01-11 08:32:39.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/pilot-applet.glade	1970-01-01 01:00:00.000000000 +0100
@@ -1,638 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkDialog" id="ChoosePilot">
-  <property name="title" translatable="yes">Choose PDA</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="vbox12">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">8</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="hbuttonbox4">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
-
-	  <child>
-	    <widget class="GtkButton" id="button5">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="button6">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkFrame" id="frame9">
-	  <property name="visible">True</property>
-	  <property name="label_xalign">0.5</property>
-	  <property name="label_yalign">0.5</property>
-	  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-	  <child>
-	    <widget class="GtkOptionMenu" id="pilot_menu">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="history">-1</property>
-
-	      <child internal-child="menu">
-		<widget class="GtkMenu" id="convertwidget1">
-		  <property name="visible">True</property>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label1">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Choose PDA</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">label_item</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="ProgressDialog">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">gnome-pilot progress</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="default_width">500</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="main_vbox">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">8</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="action_area">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancel_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">0</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="inner_vbox">
-	  <property name="border_width">4</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">4</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="sync_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_CENTER</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkProgressBar" id="overall_progress_bar">
-	      <property name="visible">True</property>
-	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
-	      <property name="fraction">0</property>
-	      <property name="pulse_step">0.1</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkProgressBar" id="conduit_progress_bar">
-	      <property name="visible">True</property>
-	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
-	      <property name="fraction">0</property>
-	      <property name="pulse_step">0.1</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolled_window">
-	      <property name="visible">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	      <property name="shadow_type">GTK_SHADOW_IN</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-	        <widget class="GtkTextView" id="message_area">
-		  <property name="height_request">153</property>
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">False</property>
-		  <property name="justification">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap_mode">GTK_WRAP_WORD</property>
-		  <property name="cursor_visible">True</property>
-		  <property name="pixels_above_lines">0</property>
-		  <property name="pixels_below_lines">0</property>
-		  <property name="pixels_inside_wrap">0</property>
-		  <property name="left_margin">0</property>
-		  <property name="right_margin">0</property>
-		  <property name="indent">0</property>
-		  <property name="text" translatable="yes"></property>
-                </widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="RestoreDialog">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Restore PDA</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox5">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">8</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area5">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="button8">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="button10">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkFrame" id="main_frame">
-	  <property name="visible">True</property>
-	  <property name="label_xalign">0.5</property>
-	  <property name="label_yalign">0.5</property>
-	  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-	  <child>
-	    <widget class="GtkTable" id="table2">
-	      <property name="border_width">4</property>
-	      <property name="visible">True</property>
-	      <property name="n_rows">3</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">6</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label4">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Directory</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">dir_entry</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options"></property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label5">
-		  <property name="visible">True</property>
-		  <property name="sensitive">False</property>
-		  <property name="label" translatable="yes">_PDA ID</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">pilotid_entry</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options"></property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="sync_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Sync cradle</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">device_menu</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
-		  <property name="x_options"></property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkEntry" id="dir_entry">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char" translatable="yes">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkEntry" id="pilotid_entry">
-		  <property name="visible">True</property>
-		  <property name="sensitive">False</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char" translatable="yes">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkOptionMenu" id="device_menu">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="history">-1</property>
-
-		  <child internal-child="menu">
-		    <widget class="GtkMenu" id="convertwidget4">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="PropertiesDialog">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">GNOME PilotSync Properties</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox6">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area6">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <child>
-	    <widget class="GtkButton" id="helpbutton">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-help</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">-11</property>
-	    </widget>
-	  </child>
-
-
-	  <child>
-	    <widget class="GtkButton" id="closebutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-close</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="response_id">-7</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="table1">
-	  <property name="border_width">4</property>
-	  <property name="visible">True</property>
-	  <property name="n_rows">2</property>
-	  <property name="n_columns">2</property>
-	  <property name="homogeneous">True</property>
-	  <property name="row_spacing">6</property>
-	  <property name="column_spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label2">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Execute when clicked</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_CENTER</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">exec_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options"></property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label3">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Display notices</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_CENTER</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options"></property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="exec_entry">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char" translatable="yes">*</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkCheckButton" id="notices_button">
-	      <property name="visible">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="active">False</property>
-	      <property name="inconsistent">False</property>
-	      <property name="draw_indicator">True</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
diff -pruN 2.0.17-2/applet/pilot-applet.ui 2.32.0-0ubuntu1/applet/pilot-applet.ui
--- 2.0.17-2/applet/pilot-applet.ui	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/applet/pilot-applet.ui	2009-09-04 08:16:24.000000000 +0100
@@ -0,0 +1,468 @@
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkDialog" id="ChoosePilot">
+    <property name="title" translatable="yes">Choose PDA</property>
+    <property name="type_hint">normal</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="vbox12">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child>
+          <object class="GtkFrame" id="frame9">
+            <property name="visible">True</property>
+            <property name="label_xalign">0.5</property>
+            <child>
+              <object class="GtkComboBox" id="pilot_combo">
+                <property name="visible">True</property>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Choose PDA</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="hbuttonbox4">
+            <property name="visible">True</property>
+            <property name="layout_style">edge</property>
+            <child>
+              <object class="GtkButton" id="button5">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button6">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">button5</action-widget>
+      <action-widget response="0">button6</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="ProgressDialog">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">gnome-pilot progress</property>
+    <property name="default_width">500</property>
+    <property name="type_hint">normal</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="main_vbox">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child>
+          <object class="GtkVBox" id="inner_vbox">
+            <property name="visible">True</property>
+            <property name="border_width">4</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">4</property>
+            <child>
+              <object class="GtkLabel" id="sync_label">
+                <property name="visible">True</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkProgressBar" id="overall_progress_bar">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkProgressBar" id="conduit_progress_bar">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkScrolledWindow" id="scrolled_window">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <object class="GtkTextView" id="message_area">
+                    <property name="height_request">153</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">word</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="action_area">
+            <property name="visible">True</property>
+            <property name="layout_style">edge</property>
+            <child>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">cancel_button</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="RestoreDialog">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">Restore PDA</property>
+    <property name="type_hint">normal</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">8</property>
+        <child>
+          <object class="GtkFrame" id="main_frame">
+            <property name="visible">True</property>
+            <property name="label_xalign">0.5</property>
+            <child>
+              <object class="GtkTable" id="table2">
+                <property name="visible">True</property>
+                <property name="border_width">4</property>
+                <property name="n_rows">3</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">6</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label4">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">_Directory</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">dir_entry</property>
+                  </object>
+                  <packing>
+                    <property name="x_options"></property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label5">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="label" translatable="yes">_PDA ID</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                    <property name="mnemonic_widget">pilotid_entry</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options"></property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="sync_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">_Sync cradle</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options"></property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="dir_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="pilotid_entry">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="device_combo">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button8">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button10">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-5">button8</action-widget>
+      <action-widget response="-6">button10</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="PropertiesDialog">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">GNOME PilotSync Properties</property>
+    <property name="type_hint">normal</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox6">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkTable" id="table1">
+            <property name="visible">True</property>
+            <property name="border_width">4</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">2</property>
+            <property name="column_spacing">6</property>
+            <property name="row_spacing">6</property>
+            <property name="homogeneous">True</property>
+            <child>
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Execute when clicked</property>
+                <property name="use_underline">True</property>
+                <property name="justify">center</property>
+                <property name="mnemonic_widget">exec_entry</property>
+              </object>
+              <packing>
+                <property name="x_options"></property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label3">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Display notices</property>
+                <property name="use_underline">True</property>
+                <property name="justify">center</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options"></property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="exec_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="notices_button">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="receives_default">False</property>
+                <property name="draw_indicator">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="helpbutton">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="closebutton1">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-11">helpbutton</action-widget>
+      <action-widget response="-7">closebutton1</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff -pruN 2.0.17-2/applet/pilot.c 2.32.0-0ubuntu1/applet/pilot.c
--- 2.0.17-2/applet/pilot.c	2011-01-27 03:55:14.000000000 +0000
+++ 2.32.0-0ubuntu1/applet/pilot.c	2010-08-09 09:02:11.000000000 +0100
@@ -27,13 +27,12 @@
 #include <sys/types.h>
 #include <fcntl.h>
 #include <errno.h>
-#include <gnome.h>
-#include <glade/glade.h>
 #include <gtk/gtk.h>
 #include <panel-applet-gconf.h>
 
 #include <signal.h>
 
+#include "gpilotd/gpilot-daemon.h"
 #include "gpilot-applet-progress.h"
 #include "gpilotd/gnome-pilot-client.h"
 
@@ -59,6 +58,7 @@ typedef struct {
 
 typedef enum { INITIALISING, PAUSED, CONNECTING_TO_DAEMON, SYNCING, WAITING, NUM_STATES } state;
 
+
 char *pixmaps[] = 
 {
     GNOME_ICONDIR "/sync_broken.png",
@@ -71,7 +71,6 @@ char *pixmaps[] = 
 
 typedef struct {
 	PanelApplet *applet;
-	GtkTooltips *tooltips;
 	pilot_properties properties; /* = { NULL }; */
 	state curstate;
 	GtkWidget *image; 
@@ -94,16 +93,14 @@ typedef struct {
 	GtkWidget *chooseDialog; 
 	GtkWidget *restoreDialog;
 	GdkColor  errorColor;
-	gchar* glade_file;
+	gchar    *ui_file;
 
 	GnomePilotClient *gpc;
 } PilotApplet;
 
 #define PILOT_APPLET(x) ((PilotApplet*)(x))
 
-static void show_error_dialog (PilotApplet *self, gchar*,...);
-static void show_warning_dialog (PilotApplet *self, gchar*,...);
-static void show_message_dialog (PilotApplet *self, gchar*,...);
+static void show_dialog (PilotApplet *self, GtkMessageType type, gchar*,...);
 static void cancel_cb (GtkButton* button, gpointer whatever);
 
 static void save_properties (PilotApplet *self);
@@ -123,6 +120,25 @@ static gboolean timeout (PilotApplet *se
 
 /******************************************************************/
 
+static GtkBuilder *
+load_ui (const gchar *filename, const gchar *widget)
+{
+	GtkBuilder *ui;
+	gchar *objects[2] = {NULL, NULL};
+
+	ui = gtk_builder_new ();
+	objects[0] = (gchar *)widget;
+	gtk_builder_add_objects_from_file (ui, filename, objects, NULL);
+
+	return ui;
+}
+
+static GtkWidget *
+get_widget (GtkBuilder *ui, const gchar *name)
+{
+	return GTK_WIDGET (gtk_builder_get_object (ui, name));
+}
+
 static void 
 gpilotd_connect_cb (GnomePilotClient *client, 
 		    const gchar *id,
@@ -131,17 +147,18 @@ gpilotd_connect_cb (GnomePilotClient *cl
 {
 	GdkColormap *colormap;
 	gchar *buf;
-	GError *error;
+	GError *error = NULL;
 	PilotApplet *applet = PILOT_APPLET (user_data);
 
-	gtk_tooltips_set_tip (applet->tooltips, GTK_WIDGET(applet->applet),
-			("Synchronizing..."), NULL);
+	gtk_widget_set_tooltip_text(GTK_WIDGET(applet->applet), _("Synchronizing..."));
   
 	if (!GTK_WIDGET_REALIZED (applet->image)) {
 		g_warning ("! realized");
 		return;
 	}
 	applet->curstate = SYNCING;
+	g_message ("state = SYNCING");
+
 	pilot_draw (applet);
 
 	if (applet->properties.popups == FALSE) return;
@@ -149,18 +166,18 @@ gpilotd_connect_cb (GnomePilotClient *cl
 	if (applet->progressDialog == NULL) {
 		gtk_window_set_default_icon_from_file (
 		    GNOME_ICONDIR "/sync_icon.png", &error);
-		GladeXML *xml              = glade_xml_new (applet->glade_file,"ProgressDialog",NULL);
-		applet->progressDialog       = glade_xml_get_widget (xml,"ProgressDialog");
-		applet->sync_label           = glade_xml_get_widget (xml,"sync_label");
-		applet->message_area         = glade_xml_get_widget (xml,"message_area");
-		applet->overall_progress_bar = glade_xml_get_widget (xml,"overall_progress_bar");
-		applet->conduit_progress_bar = glade_xml_get_widget (xml,"conduit_progress_bar");
-		applet->cancel_button        = glade_xml_get_widget (xml,"cancel_button");
+		GtkBuilder *ui               = load_ui (applet->ui_file,"ProgressDialog");
+		applet->progressDialog       = get_widget (ui,"ProgressDialog");
+		applet->sync_label           = get_widget (ui,"sync_label");
+		applet->message_area         = get_widget (ui,"message_area");
+		applet->overall_progress_bar = get_widget (ui,"overall_progress_bar");
+		applet->conduit_progress_bar = get_widget (ui,"conduit_progress_bar");
+		applet->cancel_button        = get_widget (ui,"cancel_button");
 		applet->message_buffer       = gtk_text_view_get_buffer(
 				GTK_TEXT_VIEW(applet->message_area));
 
-		gtk_signal_connect (GTK_OBJECT (applet->cancel_button),"clicked",
-				   GTK_SIGNAL_FUNC (cancel_cb),applet);
+		g_signal_connect   (GTK_OBJECT (applet->cancel_button),"clicked",
+				   G_CALLBACK (cancel_cb),applet);
 	} else {
 		gtk_text_buffer_set_text (applet->message_buffer, "", -1);
 	}
@@ -171,15 +188,16 @@ gpilotd_connect_cb (GnomePilotClient *cl
 	g_free (buf);
 	gtk_widget_show_all (applet->progressDialog);
 
-	gtk_progress_set_format_string (GTK_PROGRESS (applet->overall_progress_bar), _("Database %v of %u"));
-	gtk_progress_set_format_string (GTK_PROGRESS (applet->conduit_progress_bar), "");
-	gtk_progress_configure (GTK_PROGRESS (applet->overall_progress_bar),0 ,0, 1);
-	gtk_progress_configure (GTK_PROGRESS (applet->conduit_progress_bar),0 ,0, 100.0);
+	gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->overall_progress_bar), _("Connecting..."));
+	gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->conduit_progress_bar), "");
+	gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->overall_progress_bar),0);
+	gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->conduit_progress_bar),0);
 
-	gpilot_applet_progress_set_progress (applet->c_progress, GTK_PROGRESS (applet->conduit_progress_bar));
+	gpilot_applet_progress_set_progress (applet->c_progress, GTK_PROGRESS_BAR (
+		applet->conduit_progress_bar));
 	gpilot_applet_progress_start (applet->c_progress);
 
-	colormap = gdk_window_get_colormap (applet->message_area->window);
+	colormap = gdk_drawable_get_colormap (applet->message_area->window);
 	gdk_color_parse ("red",&(applet->errorColor));
 	gdk_colormap_alloc_color (colormap,&(applet->errorColor),FALSE,TRUE);
 }
@@ -190,10 +208,11 @@ gpilotd_disconnect_cb (GnomePilotClient 
 		       gpointer user_data)
 {
 	PilotApplet *applet = PILOT_APPLET (user_data);
-	gtk_tooltips_set_tip (applet->tooltips, GTK_WIDGET(applet->applet),
-			("Ready to synchronize"), NULL);
+	gtk_widget_set_tooltip_text(GTK_WIDGET(applet->applet), _("Ready to synchronize"));
 
 	applet->curstate = WAITING;
+	g_message ("state = READY");
+
 	pilot_draw (applet);
 	if (applet->properties.popups && applet->progressDialog!=NULL) {
 		gpilot_applet_progress_stop (applet->c_progress);
@@ -216,7 +235,7 @@ applet_back_change (PanelApplet			*a,
         gtk_widget_set_style (GTK_WIDGET (applet->applet), NULL);
         rc_style = gtk_rc_style_new ();
         gtk_widget_modify_style (GTK_WIDGET (applet->applet), rc_style);
-        gtk_rc_style_unref (rc_style);
+        g_object_unref (rc_style);
 
         switch (type) {
                 case PANEL_COLOR_BACKGROUND:
@@ -263,6 +282,11 @@ gpilotd_request_completed (GnomePilotCli
 {
 	PilotApplet *applet = PILOT_APPLET (user_data);
 
+
+	/* could happen, if gpilotd-client is used, for example */
+	if (applet->operationDialogWindow == NULL)
+	    return;
+
 	gtk_dialog_response (GTK_DIALOG (applet->operationDialogWindow), GTK_RESPONSE_CLOSE);
 	if (applet->properties.popups && applet->progressDialog !=NULL) {
 		gchar *txt=g_strdup_printf (_("Request %ld has been completed\n"),handle);
@@ -289,7 +313,7 @@ gpilotd_conduit_start (GnomePilotClient*
 	if (applet->properties.popups && applet->progressDialog!=NULL) {
 		gchar *txt=g_strdup_printf (_("%s Synchronizing : %s"),id, conduit);
 		gtk_label_set_text (GTK_LABEL (applet->sync_label),txt);
-		gtk_progress_configure (GTK_PROGRESS (applet->conduit_progress_bar), 0, 0, 100);
+		gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->conduit_progress_bar), 0);
 		gpilot_applet_progress_start (applet->c_progress);
 		g_free (txt);
 		txt=g_strdup_printf (_("%s: Started\n"),conduit);
@@ -308,14 +332,14 @@ gpilotd_conduit_end (GnomePilotClient* c
 	PilotApplet *applet = PILOT_APPLET (user_data);
 	if (applet->properties.popups && applet->progressDialog!=NULL) {
 		gchar *txt=g_strdup_printf (_("%s Finished : %s"),id, conduit);
-		gtk_progress_configure (GTK_PROGRESS (applet->conduit_progress_bar),100,0,100);
+		gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->conduit_progress_bar),1.0);
 		gpilot_applet_progress_start (applet->c_progress);
 		gtk_label_set_text (GTK_LABEL (applet->sync_label),txt);
 		g_free (txt);
 		txt=g_strdup_printf (_("%s: Ended\n"),conduit);
 		gtk_text_buffer_insert_at_cursor (applet->message_buffer,txt,-1);
 		g_free (txt);
-		gtk_progress_set_format_string (GTK_PROGRESS (applet->conduit_progress_bar), "");
+		gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->conduit_progress_bar), "");
 		gpilotd_scroll_to_insert_mark(applet);
 	}
 }
@@ -329,19 +353,20 @@ gpilotd_conduit_progress (GnomePilotClie
 			  gpointer user_data)
 {
 	PilotApplet *applet = PILOT_APPLET (user_data);
-	gfloat tot_f,cur_f;
-	tot_f = total;
-	cur_f = current;
+	gdouble cur_f = (gdouble)current/(gdouble)total;
+	gchar *buf = NULL;
 /*
         g_message ("%s : %s : %d/%d = %d%%",id, conduit, current, 
         total,abs (cur_f/(tot_f/100)));
 */
 	if (applet->properties.popups && applet->progressDialog!=NULL) {
-		gtk_progress_configure (GTK_PROGRESS (applet->conduit_progress_bar), cur_f, 1, tot_f); 
-		gtk_progress_set_format_string (GTK_PROGRESS (applet->conduit_progress_bar), _("%v of %u records"));
+		gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->conduit_progress_bar), cur_f); 
+		buf = g_strdup_printf (_("%d of %d records"), current, total);
+		gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->conduit_progress_bar), buf);
+		g_free (buf);
 		gpilot_applet_progress_stop (applet->c_progress);
 	}
-	g_main_iteration (FALSE);
+	g_main_context_iteration (NULL, FALSE);
 }
 
 static void 
@@ -353,15 +378,14 @@ gpilotd_overall_progress (GnomePilotClie
 {
 	PilotApplet *applet = PILOT_APPLET (user_data);
 
-	gfloat tot_f,cur_f;
-	tot_f = total;
-	cur_f = current;
-
+	gdouble cur_f = (gdouble)current/(gdouble)total;
 
 	if (applet->properties.popups && applet->progressDialog!=NULL) {
-		gtk_progress_configure (GTK_PROGRESS (applet->overall_progress_bar),cur_f,0,tot_f);
+		gchar *buf=g_strdup_printf (_("Database %d of %d"), current, total);
+		gtk_progress_bar_set_text (GTK_PROGRESS_BAR (applet->overall_progress_bar), buf);
+		gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (applet->overall_progress_bar),cur_f);
 	}
-	g_main_iteration (FALSE);
+	g_main_context_iteration (NULL, FALSE);
 }
 
 static void 
@@ -378,7 +402,7 @@ gpilotd_conduit_message (GnomePilotClien
 		g_free (txt);
 		gpilotd_scroll_to_insert_mark(applet);
 	}
-	g_main_iteration (FALSE);
+	g_main_context_iteration (NULL, FALSE);
 }
 
 static void 
@@ -395,7 +419,7 @@ gpilotd_daemon_message (GnomePilotClient
 		g_free (txt);
 		gpilotd_scroll_to_insert_mark(applet);
 	}
-	g_main_iteration (FALSE);
+	g_main_context_iteration (NULL, FALSE);
 }
 
 static void 
@@ -417,12 +441,17 @@ static void
 handle_client_error (PilotApplet *self)
 {
 	if (self->curstate == SYNCING) {
-		show_warning_dialog (self, _("PDA is currently synchronizing.\nPlease wait for it to finish."));
+		show_dialog (self, GTK_MESSAGE_WARNING,
+		    _("PDA is currently synchronizing.\nPlease wait for it to finish."));
 	} else {
 		self->curstate=INITIALISING;
-		gtk_tooltips_set_tip (self->tooltips, GTK_WIDGET (self->applet),_("Not connected. Please restart daemon."), NULL);	
+		g_message ("state = INITIALISING");
+		gtk_widget_set_tooltip_text(GTK_WIDGET(self->applet),
+		    _("Not connected. Please restart daemon."));
+		
 		pilot_draw (self);
-		show_error_dialog (self, _("Not connected to gpilotd.\nPlease restart daemon."));
+		show_dialog (self, GTK_MESSAGE_ERROR,
+		    _("Not connected to gpilotd.\nPlease restart daemon."));
 	}
 }
 
@@ -430,7 +459,7 @@ static void
 about_cb(BonoboUIComponent *uic, PilotApplet *pilot, const gchar *verbname)
 
 {
-	GError *error;
+	GError *error = NULL;
 
 	GtkWidget *about;
 	const gchar *authors[] = {"Vadim Strizhevsky <vadim@optonline.net>",
@@ -439,25 +468,26 @@ about_cb(BonoboUIComponent *uic, PilotAp
 				  "Chris Toshok <toshok@ximian.com>",
 				  "Frank Belew <frb@ximian.com>",
 				  "Matt Davey <mcdavey@mrao.cam.ac.uk>",
+				  "Halton Huo <haltonhuo@gnome.org>",
 				  NULL};
 
 	gtk_window_set_default_icon_from_file (
 	    GNOME_ICONDIR "/sync_icon.png", &error);
 
 
-	if (error)
+	if (error != NULL)
 	{
-		g_warning ("Can't find icon: " GNOME_ICONDIR "/sync_icon.png" );
+	    g_warning ("Error setting icon: " GNOME_ICONDIR "/sync_icon.png: %s", error->message );
 	}
 
-	about = gnome_about_new (_("gnome-pilot applet"), 
-				 VERSION,
-				 _("Copyright 2000-2006 Free Software Foundation, Inc."),
-				 _("A PalmOS PDA monitor.\n"),
-				 (const gchar**)authors,
-				 NULL,
-				 "Translations by the GNOME Translation Project",
-				 NULL /* pixbuf */);
+	about = gtk_about_dialog_new ();
+        gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (about), _("gnome-pilot applet"));
+        gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (about), VERSION);
+        gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (about), _("Copyright 2000-2006 Free Software Foundation, Inc."));
+        gtk_about_dialog_set_comments (GTK_ABOUT_DIALOG (about), _("A PalmOS PDA monitor.\n"));
+        gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (about), (const gchar**)authors);
+        gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (about), "Translations by the GNOME Translation Project");
+        gtk_about_dialog_set_logo_icon_name (GTK_ABOUT_DIALOG (about), "palm-pilot-sync");
 
 	gtk_window_set_wmclass (
 		GTK_WINDOW (about), "pilot", "Pilot");
@@ -466,7 +496,8 @@ about_cb(BonoboUIComponent *uic, PilotAp
 	gtk_window_set_screen (GTK_WINDOW (about),
 		gtk_widget_get_screen (GTK_WIDGET (pilot->applet)));
 
-	gtk_widget_show (about);
+	gtk_dialog_run (GTK_DIALOG(about));
+	gtk_widget_destroy (about);
 
 	return;
 }
@@ -503,25 +534,25 @@ properties_cb (BonoboUIComponent *uic, g
 {
 	PilotApplet *self = user_data;
 	GtkWidget *button, *entry, *dialog;
-	GladeXML *xml;
-	GError *error;
+	GtkBuilder *ui;
+	GError *error = NULL;
 
 	gtk_window_set_default_icon_from_file (GNOME_ICONDIR "/sync_icon.png", &error);
-	xml =glade_xml_new (self->glade_file,"PropertiesDialog", NULL);
-	dialog=glade_xml_get_widget (xml,"PropertiesDialog");
+	ui = load_ui (self->ui_file,"PropertiesDialog");
+	dialog = get_widget (ui,"PropertiesDialog");
 	
-	entry = glade_xml_get_widget (xml,"exec_entry");
+	entry = get_widget (ui,"exec_entry");
 	if (self->properties.exec_when_clicked)
 		gtk_entry_set_text (GTK_ENTRY (entry), self->properties.exec_when_clicked);
-	gtk_signal_connect (GTK_OBJECT (entry), "focus-out-event",
-			    GTK_SIGNAL_FUNC (exec_on_click_changed_cb),
+	g_signal_connect   (GTK_OBJECT (entry), "focus-out-event",
+			    G_CALLBACK (exec_on_click_changed_cb),
 			    self);
 
   
-	button = glade_xml_get_widget (xml,"notices_button");
-	gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button), self->properties.popups);
-	gtk_signal_connect (GTK_OBJECT (button), "toggled",
-			    GTK_SIGNAL_FUNC (toggle_notices_cb),
+	button = get_widget (ui,"notices_button");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), self->properties.popups);
+	g_signal_connect   (GTK_OBJECT (button), "toggled",
+			    G_CALLBACK (toggle_notices_cb),
 			    self);
 
 	g_signal_connect (GTK_OBJECT (dialog), "response",
@@ -611,28 +642,23 @@ complete_restore (GnomePilotClient* clie
 	PilotApplet *applet = user_data;
 
 	gtk_widget_destroy (applet->operationDialogWindow);
+	applet->operationDialogWindow = NULL;
 }
 
 static void
-cancel_restore (PilotApplet *self, GnomeDialog *w,gpointer data)
-{
-	g_message (_("cancelling %d"),GPOINTER_TO_INT (data));
-	gnome_pilot_client_remove_request (self->gpc,GPOINTER_TO_INT (data));  
-}
-
-
-static void
 restore_cb (BonoboUIComponent *uic, gpointer user_data, const gchar *verbname)
 {
 	PilotApplet *applet = user_data;
 	int handle,i;
 	gchar *pilot_name;
-	gint pilot_id;
-	GladeXML *xml;
+	guint pilot_id;
+	GtkBuilder *ui;
 	GtkWidget *dir_entry, *id_entry,*frame;
-	GtkWidget *device_menu, *menu_item,*menu;
+	GtkWidget *device_combo;
+	GtkListStore *list_store;
+	GtkCellRenderer *renderer;
 	GList *list;
-	gchar *buf;
+	gchar *buf = NULL;
 	restore_properties restore_props; 
 
 	
@@ -646,7 +672,8 @@ restore_cb (BonoboUIComponent *uic, gpoi
 	}
 
 	if (gnome_pilot_client_get_pilot_base_dir_by_name (applet->gpc,pilot_name,&buf) == GPILOTD_OK) {
-		restore_props.backupdir = g_strdup_printf ("%s/backup/",buf);
+		/* XXX backup conduit allows user to modify the backup directory :( */
+		restore_props.backupdir = g_strdup_printf ("%s",buf);
 		g_free (buf);
 	} else {
 		handle_client_error (applet);
@@ -657,23 +684,23 @@ restore_cb (BonoboUIComponent *uic, gpoi
 		return;
 	}
 
-	xml = glade_xml_new (applet->glade_file,"RestoreDialog",NULL);
-	applet->restoreDialog = glade_xml_get_widget (xml,"RestoreDialog");
+	ui = load_ui (applet->ui_file, "RestoreDialog");
+	applet->restoreDialog = get_widget (ui, "RestoreDialog");
 
-	dir_entry = glade_xml_get_widget (xml,"dir_entry");
+	dir_entry = get_widget (ui, "dir_entry");
 
 	gtk_entry_set_text (GTK_ENTRY (dir_entry),restore_props.backupdir);
 	g_free (restore_props.backupdir);
 	restore_props.backupdir=NULL;
 	/* FIXME: do we need to preserve the backupdir somewhere? */
 	
-	frame = glade_xml_get_widget (xml,"main_frame");
+	frame = get_widget (ui,"main_frame");
 	buf = g_strdup_printf (_("Restoring %s"), pilot_name);
 	gtk_frame_set_label (GTK_FRAME (frame), buf);
 	g_free (buf);
 	
 
-	id_entry =  glade_xml_get_widget (xml,"pilotid_entry");
+	id_entry = get_widget (ui, "pilotid_entry");
 	
 	buf = g_strdup_printf ("%d",pilot_id);
 	gtk_entry_set_text (GTK_ENTRY (id_entry),buf);
@@ -683,25 +710,25 @@ restore_cb (BonoboUIComponent *uic, gpoi
 	gnome_pilot_client_get_cradles (applet->gpc,&(applet->properties.cradles));
 	list = applet->properties.cradles;
 	
-	device_menu =  glade_xml_get_widget (xml,"device_menu");
-	menu =gtk_menu_new ();
-	
+	device_combo = get_widget (ui, "device_combo");
+	list_store = gtk_list_store_new (1, G_TYPE_STRING);
+	gtk_combo_box_set_model (GTK_COMBO_BOX (device_combo), GTK_TREE_MODEL (list_store));
+	renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (device_combo), renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (device_combo), renderer, "text", 0);
+
 	i=0;
 	while (list){
-		menu_item = gtk_menu_item_new_with_label ((gchar*)list->data);
-		gtk_widget_show (menu_item);
-/*
-		gtk_signal_connect (GTK_OBJECT (menu_item),"activate",
-				   GTK_SIGNAL_FUNC (activate_device),
-				   (gchar*)list->data);
-*/
-		gtk_menu_append (GTK_MENU (menu),menu_item);
+		GtkTreeIter iter;
+
+		gtk_list_store_append (list_store, &iter);
+		gtk_list_store_set (list_store, &iter, 0, (gchar*)list->data, -1);
 		list=list->next;
 		i++;
 	}
-	gtk_option_menu_set_menu (GTK_OPTION_MENU (device_menu),menu);	
-	if (i<=1) gtk_widget_set_sensitive (GTK_WIDGET (device_menu),FALSE);
-	else  gtk_widget_set_sensitive (GTK_WIDGET (device_menu),TRUE);
+	gtk_combo_box_set_active (GTK_COMBO_BOX (device_combo), 0);
+	if (i<=1) gtk_widget_set_sensitive (GTK_WIDGET (device_combo),FALSE);
+	else  gtk_widget_set_sensitive (GTK_WIDGET (device_combo),TRUE);
 	
 	if (gtk_dialog_run (GTK_DIALOG (applet->restoreDialog)) == GTK_RESPONSE_OK) {
 		int id;
@@ -710,26 +737,33 @@ restore_cb (BonoboUIComponent *uic, gpoi
 		gtk_widget_destroy (applet->restoreDialog);
 		if ( restore_props.backupdir == NULL || 
 		     strlen (restore_props.backupdir)==0) {
-			show_warning_dialog (applet, _("No directory to restore from."));
+			show_dialog (applet, GTK_MESSAGE_WARNING,
+			    _("No directory to restore from."));
 			return;
 		}
 		
 		/* FIXME: how do we specify which device to restore on? */
 		id = gnome_pilot_client_connect__completed_request (applet->gpc, complete_restore, applet);
-		if (gnome_pilot_client_restore (applet->gpc,pilot_name,restore_props.backupdir,GNOME_Pilot_IMMEDIATE,0, &handle) == GPILOTD_OK) {
+		if (gnome_pilot_client_restore (applet->gpc,pilot_name,
+			restore_props.backupdir,
+			GNOME_Pilot_IMMEDIATE,0, &handle) == GPILOTD_OK) {
 			applet->operationDialogWindow = 
-				gnome_message_box_new (_("Press synchronize on the cradle to restore\n" 
-							 " or cancel the operation."),
-						       GNOME_MESSAGE_BOX_GENERIC,
-						       GNOME_STOCK_BUTTON_CANCEL,
-						       NULL);
-			gnome_dialog_button_connect (GNOME_DIALOG (applet->operationDialogWindow),0,
-						     (GCallback) cancel_restore ,GINT_TO_POINTER (handle));
-			gnome_dialog_run_and_close (GNOME_DIALOG (applet->operationDialogWindow));
+			    gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+				GTK_MESSAGE_OTHER, GTK_BUTTONS_CANCEL, "%s",
+				_("Press synchronize on the cradle to restore\n" 
+				    " or cancel the operation."));
+			gint response = gtk_dialog_run(GTK_DIALOG (applet->operationDialogWindow));
+			if (applet->operationDialogWindow != NULL)
+				gtk_widget_destroy(applet->operationDialogWindow);
+			if (response == GTK_RESPONSE_CANCEL) {
+				g_message (_("cancelling %d"), handle);
+				gnome_pilot_client_remove_request (applet->gpc, handle);
+			}
 		} else {
-			show_warning_dialog (applet,_("Restore request failed"));
+			show_dialog (applet, GTK_MESSAGE_WARNING,
+			    _("Restore request failed"));
 		}
-		gtk_signal_disconnect (applet->gpc, id);		
+		g_signal_handler_disconnect (applet->gpc, id);		
 	} else {
 		gtk_widget_destroy (applet->restoreDialog);
 	}	
@@ -763,9 +797,15 @@ static void
 restart_cb (BonoboUIComponent *uic, gpointer user_data, const gchar *verbname)
 {
 	PilotApplet *applet = user_data;
+	GtkWidget *dialog;
 
 	if (applet->curstate == SYNCING) {
-		if ( gnome_dialog_run_and_close (GNOME_DIALOG (gnome_question_dialog (_("PDA sync is currently in progress.\nAre you sure you want to restart daemon?"),NULL,NULL))) !=0 ) {
+		dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
+		    GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s",
+		    _("PDA sync is currently in progress.\nAre you sure you want to restart daemon?"));
+		gint response = gtk_dialog_run(GTK_DIALOG(dialog));
+		gtk_widget_destroy(dialog);
+		if (response != GTK_RESPONSE_YES) {
 			return;
 		}
 		if (applet->progressDialog!=NULL) {
@@ -773,10 +813,12 @@ restart_cb (BonoboUIComponent *uic, gpoi
 		}
 	}
 	applet->curstate = INITIALISING;
+	g_message ("state = INITIALISING");
+
 	gnome_pilot_client_restart_daemon (applet->gpc);
-	gtk_tooltips_set_tip (applet->tooltips, GTK_WIDGET (applet->applet),
-			      _("Trying to connect to the GnomePilot Daemon"), NULL);
-	applet->timeout_handler_id = gtk_timeout_add (1000,(GtkFunction)timeout,applet);
+	gtk_widget_set_tooltip_text(GTK_WIDGET(applet->applet), 
+	    _("Trying to connect to the GnomePilot Daemon"));
+	applet->timeout_handler_id = g_timeout_add (1000,(GSourceFunc)timeout,applet);
 
 	return;
 }
@@ -791,7 +833,8 @@ log_cb (BonoboUIComponent *uic, gpointer
 		gtk_widget_set_sensitive (applet->cancel_button,TRUE);
 		gtk_widget_show_all (applet->progressDialog);
 	} else {
-		show_message_dialog (applet, _("There's no last sync on record."));
+		show_dialog (applet, GTK_MESSAGE_INFO,
+		    _("There's no last sync on record."));
 	}
 }
 
@@ -859,21 +902,23 @@ gpilotd_daemon_pause (GnomePilotClient *
 	if (on_off) {
 		if (applet->curstate == WAITING) {
 			applet->curstate = PAUSED;
-			gtk_tooltips_set_tip (applet->tooltips, GTK_WIDGET (applet->applet),_("Daemon paused..."), NULL);
+			gtk_widget_set_tooltip_text(GTK_WIDGET(applet->applet), 
+			    _("Daemon paused..."));
+			g_message ("state = PAUSED");
 		}
 		else
 			handle_client_error (applet);
 	}
 	else {
 		applet->curstate = WAITING;
-		gtk_tooltips_set_tip (applet->tooltips, GTK_WIDGET (applet->applet), _("Ready to synchronize"), NULL);
+		gtk_widget_set_tooltip_text(GTK_WIDGET(applet->applet), 
+		    _("Ready to synchronize"));
+		g_message ("state = READY");
 	}
 
 	install_popup_menu (applet, on_off);
 
 	pilot_draw (applet);
-	
-	g_message ("paused");
 }
 
 static void 
@@ -975,17 +1020,16 @@ static gboolean 
 timeout (PilotApplet *self)
 {
 	if (self->curstate == INITIALISING) {
-		g_message ("state = INITIALISING");
 		pilot_draw (self);
 		
 		if (gnome_pilot_client_connect_to_daemon (self->gpc) == GPILOTD_OK) {
 			self->curstate = CONNECTING_TO_DAEMON;
+			g_message ("state = CONNECTING_TO_DAEMON");
 			pilot_draw (self);
 		} 
 	}
 	
 	if (self->curstate == CONNECTING_TO_DAEMON) {
-		g_message ("state = CONNECTING_TO_DAEMON");
 		
 		if (self->properties.pilot_ids) {
 			GList *tmp =self->properties.pilot_ids;
@@ -999,31 +1043,23 @@ timeout (PilotApplet *self)
 		self->properties.pilot_ids = get_pilot_ids_from_gpilotd (self);
 
 		if (self->properties.pilot_ids==NULL){
-			gtk_tooltips_set_tip (self->tooltips,
-					      GTK_WIDGET(self->applet),
-					      _("Not connected. Restart daemon to reconnect"),
-					      NULL);
+			gtk_widget_set_tooltip_text(GTK_WIDGET(self->applet), 
+				_("Not connected. Restart daemon to reconnect"));
 			if (self->druid_already_launched == FALSE) {
 				self->druid_already_launched = TRUE;
 				pilot_execute_program (self, GPILOTD_DRUID);
 			}
 
-			self->curstate=INITIALISING;
+			self->curstate = INITIALISING;
+			g_message ("state = INITIALISING");
 			pilot_draw (self);
 			/* FIXME: add gpilot_monitor_state_change () */
 		} else {
-			gnome_pilot_client_monitor_on_all_pilots (self->gpc);
-			
-			gnome_pilot_client_notify_on (self->gpc,GNOME_Pilot_NOTIFY_CONNECT);
-			gnome_pilot_client_notify_on (self->gpc,GNOME_Pilot_NOTIFY_CONDUIT);
-			gnome_pilot_client_notify_on (self->gpc,GNOME_Pilot_NOTIFY_DISCONNECT);
-			
-			gtk_tooltips_set_tip (self->tooltips, 
-					      GTK_WIDGET (self->applet),
-					      _("Ready to synchronize"),
-					      NULL);
+			gtk_widget_set_tooltip_text(GTK_WIDGET(self->applet), 
+				_("Ready to synchronize"));
 			
 			self->curstate = WAITING;
+			g_message ("state = READY");
 			pilot_draw (self);
 		}
 	} 
@@ -1033,6 +1069,7 @@ timeout (PilotApplet *self)
 		/* this will happen once a sec */
 		if (gnome_pilot_client_noop (self->gpc) == GPILOTD_ERR_NOT_CONNECTED) {
 			self->curstate = INITIALISING;
+			g_message ("state = INITIALISING");
 		}
 		break;
 	case SYNCING: 
@@ -1046,51 +1083,24 @@ timeout (PilotApplet *self)
 }
 
 static void 
-show_error_dialog (PilotApplet *self, gchar *mesg,...) 
+show_dialog (PilotApplet *self, GtkMessageType type, gchar *mesg,...) 
 {
 	char *tmp;
 	va_list ap;
 
 	va_start (ap,mesg);
 	tmp = g_strdup_vprintf (mesg,ap);
-	self->dialogWindow = gnome_message_box_new (tmp,GNOME_MESSAGE_BOX_ERROR,
-						    GNOME_STOCK_BUTTON_OK,NULL);
-	gnome_dialog_run_and_close (GNOME_DIALOG (self->dialogWindow));
-	g_free (tmp);
-	va_end (ap);
-}
 
-static void 
-show_warning_dialog (PilotApplet *self, gchar *mesg,...) 
-{
-	char *tmp;
-	va_list ap;
+	self->dialogWindow = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
+	    type, GTK_BUTTONS_OK, "%s", tmp);
 
-	va_start (ap,mesg);
-	tmp = g_strdup_vprintf (mesg,ap);
-	self->dialogWindow = gnome_message_box_new (tmp,GNOME_MESSAGE_BOX_WARNING,
-						    GNOME_STOCK_BUTTON_OK,NULL);
-	gnome_dialog_run_and_close (GNOME_DIALOG (self->dialogWindow));
+	gtk_dialog_run (GTK_DIALOG (self->dialogWindow));
+	gtk_widget_destroy (self->dialogWindow);
 	g_free (tmp);
 	va_end (ap);
 }
 
 
-static void 
-show_message_dialog (PilotApplet *self, char *mesg,...)
-{
-	char *tmp;
-	va_list ap;
-
-	va_start (ap,mesg);
-	tmp = g_strdup_vprintf (mesg,ap);
-	self->dialogWindow = gnome_message_box_new (tmp,GNOME_MESSAGE_BOX_GENERIC,
-						    GNOME_STOCK_BUTTON_OK,NULL);
-	gnome_dialog_run_and_close (GNOME_DIALOG (self->dialogWindow));
-	g_free (tmp);
-	va_end (ap);
-}
-
 static void
 load_properties (PilotApplet *self)
 {
@@ -1123,13 +1133,18 @@ save_properties (PilotApplet *self)
 				     "pop_ups",
 				     self->properties.popups,
 				     NULL);
-	/* gnome_config_set_int ("text_limit",properties.text_limit); */
 }
 
 static void
-activate_pilot_menu (PilotApplet *self, GtkMenuItem *widget, gpointer data)
+activate_pilot_menu (GtkComboBox *widget, gpointer data)
 {
-	gtk_object_set_data (GTK_OBJECT (self->chooseDialog),"pilot",data);	
+	PilotApplet *applet = PILOT_APPLET (data);
+	gchar *label;
+	GtkTreeIter iter;
+
+	gtk_combo_box_get_active_iter(widget, &iter);
+	gtk_tree_model_get (gtk_combo_box_get_model (widget), &iter, 0, &label, -1);
+	g_object_set_data (G_OBJECT (applet->chooseDialog), "pilot", (gpointer)label);
 }
 
 static gchar*
@@ -1142,37 +1157,51 @@ pick_pilot (PilotApplet *self)
 			pilot = (gchar*)self->properties.pilot_ids->data;
 		} else {
 			GList *tmp;
-			GtkWidget *optionMenu,*menuItem,*menu;
+			GtkWidget *combo;
+			GtkListStore *list_store;
+			GtkCellRenderer *renderer;
+
 			if (self->chooseDialog == NULL) {
-				GladeXML * xml;
+				GtkBuilder * ui;
+
+				ui = load_ui (self->ui_file,"ChoosePilot");
+				self->chooseDialog = get_widget (ui,"ChoosePilot");
+				combo = get_widget (ui, "pilot_combo");
+				g_object_set_data (G_OBJECT (self->chooseDialog),"pilot_combo", combo);
+
 
-				xml = glade_xml_new (self->glade_file,"ChoosePilot",NULL);
-				self->chooseDialog = glade_xml_get_widget (xml,"ChoosePilot");
-				optionMenu=glade_xml_get_widget (xml,"pilot_menu");
-				gtk_object_set_data (GTK_OBJECT (self->chooseDialog),"pilot_menu",optionMenu);
 			} else {
-				optionMenu=gtk_object_get_data (GTK_OBJECT (self->chooseDialog),"pilot_menu");
+				combo = g_object_get_data (G_OBJECT (self->chooseDialog), "pilot_combo");
 			}
-			menu = gtk_menu_new ();
-	
+
+			list_store = gtk_list_store_new (1, G_TYPE_STRING);
+			gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (list_store));
+			gtk_cell_layout_clear(GTK_CELL_LAYOUT(combo));
+			renderer = gtk_cell_renderer_text_new();
+			gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
+			gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), renderer, "text", 0);
 			tmp=self->properties.pilot_ids;
 			while (tmp!=NULL){
-				menuItem = gtk_menu_item_new_with_label ((gchar*)tmp->data);
-				gtk_widget_show (menuItem);
-				gtk_signal_connect (GTK_OBJECT (menuItem),"activate",
-						   GTK_SIGNAL_FUNC (activate_pilot_menu),
-						   tmp->data);
-				gtk_menu_append (GTK_MENU (menu),menuItem);
+				GtkTreeIter iter;
+
+				gtk_list_store_append (list_store, &iter);
+				gtk_list_store_set (list_store, &iter, 0, (gchar*)tmp->data, -1);
 				tmp=tmp->next;
 			}
-			gtk_option_menu_set_menu (GTK_OPTION_MENU (optionMenu),menu);
-			gtk_option_menu_set_history (GTK_OPTION_MENU (optionMenu),0);
-			gtk_object_set_data (GTK_OBJECT (self->chooseDialog),"pilot",self->properties.pilot_ids->data);	
-			if (gnome_dialog_run_and_close (GNOME_DIALOG (self->chooseDialog))==0) {
-				pilot=(gchar *)gtk_object_get_data (GTK_OBJECT (self->chooseDialog),"pilot");
+
+
+			g_signal_connect (G_OBJECT (combo), "changed",
+			                  G_CALLBACK (activate_pilot_menu),
+			                  self);
+
+			gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
+			g_object_set_data (G_OBJECT (self->chooseDialog),"pilot",self->properties.pilot_ids->data);	
+			if (gtk_dialog_run(GTK_DIALOG (self->chooseDialog))== 0) {
+				pilot=(gchar *)g_object_get_data (G_OBJECT (self->chooseDialog),"pilot");
 			} else {
 				pilot=NULL;
 			}
+			gtk_widget_hide(self->chooseDialog);
 		}
 	}
 
@@ -1185,7 +1214,8 @@ pilot_execute_program (PilotApplet *self
 	g_return_if_fail (str != NULL);
 
 	if (!g_spawn_command_line_async (str, NULL))
-		show_warning_dialog (self, _("Execution of %s failed"),str);
+		show_dialog (self, GTK_MESSAGE_WARNING,
+		    _("Execution of %s failed"),str);
 }
 
 static gint 
@@ -1301,7 +1331,7 @@ dnd_drop_internal (GtkWidget        *wid
 	switch (info)
 	{
 	case TARGET_URI_LIST:
-		names = extract_uris (selection_data->data);
+		names = extract_uris ((gchar *) selection_data->data);
 		for (idx=0; names[idx]; idx++) {
 			/*
 			  if (strstr (file_type (ptr),"text")) {
@@ -1331,7 +1361,7 @@ applet_destroy (GtkWidget *applet, Pilot
 {
 	g_message (_("destroy gpilot-applet"));
 
-	gtk_timeout_remove(self->timeout_handler_id);
+	g_source_remove(self->timeout_handler_id);
 
 	/* XXX free other stuff */
 	g_free (self);
@@ -1340,43 +1370,40 @@ applet_destroy (GtkWidget *applet, Pilot
 static void
 create_pilot_widgets (GtkWidget *widget, PilotApplet *self) 
 { 
-	GtkStyle *style; 
-
 	static GtkTargetEntry drop_types [] = {  
 		{ "text/uri-list", 0, TARGET_URI_LIST }, 
 	}; 
 	static gint n_drop_types = sizeof (drop_types) / sizeof (drop_types[0]); 
 
-	style = gtk_widget_get_style (widget); 
-
-	self->tooltips = gtk_tooltips_new ();
-
-	gtk_tooltips_set_tip (GTK_TOOLTIPS (self->tooltips), widget,
-			      _("Trying to connect to " 
-				"the GnomePilot Daemon"),
-			      NULL);
+	gtk_widget_set_tooltip_text(widget,
+		_("Trying to connect to the GnomePilot Daemon"));
 
 	self->c_progress = GPILOT_APPLET_PROGRESS (gpilot_applet_progress_new ()); 
 
 	self->curstate = INITIALISING; 
+	g_message ("state = INITIALISING");
 
+	/*	for (i = 0; i < sizeof (pixmaps)/sizeof (pixmaps[0]); i++) 
+		pixmaps[i] = gnome_program_locate_file(
+		    NULL, GNOME_FILE_DOMAIN_PIXMAP, pixmaps[i], TRUE, NULL);
+	*/
 	self->image = gtk_image_new_from_file (pixmaps[self->curstate]); 
 
-	gtk_signal_connect (GTK_OBJECT (widget), "button-press-event", 
-			    GTK_SIGNAL_FUNC (pilot_clicked_cb), self); 
+	g_signal_connect   (GTK_OBJECT (widget), "button-press-event", 
+			    G_CALLBACK (pilot_clicked_cb), self); 
 
 
 	gtk_widget_show (self->image);   
 
 	gtk_container_add (GTK_CONTAINER (widget), self->image);
 
-	self->timeout_handler_id = gtk_timeout_add (1000,(GtkFunction)timeout,self); 
+	self->timeout_handler_id = g_timeout_add (1000,(GSourceFunc)timeout,self); 
 
-	gtk_signal_connect (GTK_OBJECT (widget),"destroy", 
-			    GTK_SIGNAL_FUNC (applet_destroy),self); 
+	g_signal_connect   (GTK_OBJECT (widget),"destroy", 
+			    G_CALLBACK (applet_destroy),self); 
 
-	gtk_signal_connect (GTK_OBJECT (widget),"change_background", 
-			    GTK_SIGNAL_FUNC (applet_back_change),self); 
+	g_signal_connect   (GTK_OBJECT (widget),"change_background", 
+			    G_CALLBACK (applet_back_change),self); 
 
 	/* FIXME */
 	/* XXX change_orient */
@@ -1389,9 +1416,9 @@ create_pilot_widgets (GtkWidget *widget,
 			   GDK_ACTION_COPY); 
 
 
-	gtk_signal_connect (GTK_OBJECT (self->image), 
+	g_signal_connect   (GTK_OBJECT (self->image), 
 			    "drag_data_received", 
-			    GTK_SIGNAL_FUNC (dnd_drop_internal), 
+			    G_CALLBACK (dnd_drop_internal), 
 			    self); 
 
 	install_popup_menu (self, FALSE);
@@ -1404,14 +1431,15 @@ pilot_applet_fill (PanelApplet *applet)
 
 	self->applet = applet;
 
-	/* initialize glade */
-	glade_gnome_init ();
-	self->glade_file="./pilot-applet.glade";
-	if (!g_file_exists (self->glade_file)) {
-		self->glade_file = g_concat_dir_and_file (GLADEDATADIR, "pilot-applet.glade");
-	}
-	if (!g_file_exists (self->glade_file)) {
-		show_error_dialog (self, _("Cannot find pilot-applet.glade"));
+	self->ui_file="./pilot-applet.ui";
+	if (!g_file_test (self->ui_file, G_FILE_TEST_EXISTS)) {
+		self->ui_file = g_build_filename (UIDATADIR,
+						     "pilot-applet.ui",
+						     NULL);
+	}
+	if (!g_file_test (self->ui_file, G_FILE_TEST_EXISTS)) {
+		show_dialog (self, GTK_MESSAGE_ERROR,
+		    "Cannot find %s", self->ui_file); /* FIXME: Make translatable after string freeze */
 		return -1;
 	}
 
diff -pruN 2.0.17-2/AUTHORS 2.32.0-0ubuntu1/AUTHORS
--- 2.0.17-2/AUTHORS	2007-01-11 08:32:45.000000000 +0000
+++ 2.32.0-0ubuntu1/AUTHORS	2010-08-09 09:02:08.000000000 +0100
@@ -5,6 +5,7 @@ information.
 
 JP Rosevear  <jpr@novell.com>
 Matt Davey <mcdavey@mrao.cam.ac.uk>
+Halton Huo <haltonhuo@gnome.org>
 
 Previous authors:
 Manish Vachharajani <mvachhar@vger.rutgers.edu>
diff -pruN 2.0.17-2/capplet/gnome-pilot-assistant.c 2.32.0-0ubuntu1/capplet/gnome-pilot-assistant.c
--- 2.0.17-2/capplet/gnome-pilot-assistant.c	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-assistant.c	2010-08-09 09:02:11.000000000 +0100
@@ -0,0 +1,1047 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* gnome-pilot-assistant.c
+ *
+ * Copyright (C) 1998 Red Hat Software       
+ * Copyright (C) 1999-2000 Free Software Foundation
+ * Copyright (C) 2001  Ximian, 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 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.
+ *
+ * Authors: Eskil Heyn Olsen
+ *          Vadim Strizhevsky
+ *          Michael Fulbright <msf@redhat.com>
+ *          JP Rosevear <jpr@ximian.com>
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "pilot.h"
+#include "util.h"
+#include "gnome-pilot-assistant.h"
+
+#define GPD_PAGE_WELCOME 0
+#define GPD_PAGE_CRADLE 1
+#define GPD_PAGE_ERROR 2
+#define GPD_PAGE_PILOT_ONE 3
+#define GPD_PAGE_SYNC 4
+#define GPD_PAGE_PILOT_TWO 5
+#define GPD_PAGE_FINISH 6
+
+static GtkObjectClass *parent_class = NULL;
+
+struct _GnomePilotAssistantPrivate 
+{
+	GtkBuilder *ui;
+
+	GnomePilotClient *gpc;
+	gint handle1;
+	gint handle2;
+
+	gboolean finished;
+	gboolean started;
+	gchar *errstr;
+	
+	PilotState *state;
+	PilotState *orig_state;
+	GPilotDevice *device;
+	GPilotPilot *pilot;
+
+	GtkWidget *assistant;
+
+	GtkWidget *page_cradle;
+	GtkWidget *page_error;
+	GtkWidget *page_pilot_one;
+	GtkWidget *page_sync;
+	GtkWidget *page_pilot_two;
+	GtkWidget *page_finish;
+
+	GtkWidget *device_name;
+	GtkWidget *device_port;
+	GtkWidget *device_port_combo;
+	GtkWidget *device_port_label;
+	GtkWidget *device_speed;
+	GtkWidget *device_speed_label;
+	GtkWidget *device_timeout;
+	GtkWidget *device_usb;
+	GtkWidget *device_irda;
+	GtkWidget *device_network;
+	GtkWidget *device_bluetooth;
+	
+	GtkWidget *pilot_info;
+	GtkWidget *pilot_info_no;
+	GtkWidget *pilot_username;
+	GtkWidget *pilot_id;
+
+	GtkWidget *sync_label_vbox;
+	GtkWidget *sync_label;
+
+	GtkWidget *pilot_name;
+	GtkWidget *pilot_basedir;
+#ifdef PILOT_LINK_0_12
+	GtkWidget *pilot_charset;
+#endif
+	GtkWidget *pilot_charset_label;
+	GtkWidget *pilot_charset_combo;
+};
+
+static void class_init (GnomePilotAssistantClass *klass);
+static void init (GnomePilotAssistant *gpd);
+
+static gboolean get_widgets (GnomePilotAssistant *gpd);
+static void map_widgets (GnomePilotAssistant *gpd);
+static void init_widgets (GnomePilotAssistant *gpd);
+static void fill_widgets (GnomePilotAssistant *gpd);
+static void set_widget_visibility_by_type(GnomePilotAssistant *gpd, int type);
+static void network_device_toggled_callback (GtkRadioButton *btn,
+    void *data);
+
+static gboolean gpd_delete_window (GtkWidget *widget,GdkEvent *event,gpointer user_data);
+static void gpd_canceled (GtkAssistant *assistant, gpointer user_data);
+
+static gint gpd_forward_page(gint current_page, gpointer user_data);
+static void gpd_page_prepare (GtkAssistant *assistant, GtkWidget *page, gpointer user_data);
+static gboolean gpd_cancel_sync (GnomePilotAssistant *gpd);
+static void gpd_finish_page_finished (GtkAssistant *assistant, gpointer user_data);
+
+static gboolean gpd_cradle_page_next (GnomePilotAssistant *gpd);
+
+static void gpd_sync_page_prepare (GnomePilotAssistant *gpd);
+static gboolean gpd_pilot_page_two_next (GnomePilotAssistant *gpd);
+
+static void gpd_device_info_check (GtkEditable *editable, gpointer user_data);
+static void gpd_pilot_name_check (GtkEditable *editable, gpointer user_data);
+static void gpd_pilot_info_check (GtkEditable *editable, gpointer user_data);
+static void gpd_pilot_info_button (GtkToggleButton *toggle, gpointer user_data);
+
+static void gpd_request_completed (GnomePilotClient* client, const gchar *id, gint handle, gpointer user_data);
+static void gpd_userinfo_requested (GnomePilotClient *gpc, const gchar *device, const GNOME_Pilot_UserInfo *user, gpointer user_data);
+static void gpd_system_info_requested (GnomePilotClient *gpc,
+ const gchar *device, const GNOME_Pilot_SysInfo *sysinfo, gpointer user_data);
+
+static void gpd_destroy (GtkObject *object);
+
+GType
+gnome_pilot_assistant_get_type (void)
+{
+  static GType type = 0;
+
+  if (type == 0)
+    {
+      static const GTypeInfo info =
+      {
+        sizeof (GnomePilotAssistantClass),
+        NULL,
+        NULL,
+        (GClassInitFunc) class_init,
+        NULL,
+        NULL,
+        sizeof (GnomePilotAssistant),
+	0,
+        (GInstanceInitFunc) init,
+      };
+      
+      type = g_type_register_static (gtk_object_get_type (), "GnomePilotAssistant", &info, 0);
+    }
+
+  return type;
+}
+
+static void
+class_init (GnomePilotAssistantClass *klass)
+{
+	GtkObjectClass *object_class;
+
+	object_class = GTK_OBJECT_CLASS (klass);
+
+	parent_class = g_type_class_peek (gtk_object_get_type ());
+
+	object_class->destroy = gpd_destroy;
+}
+
+static void
+init (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	guint error;
+	gchar *objects[] = {"Assistant",
+	                    "assistant_device_timeout_adjustment",
+	                    "assistant_pilot_charset_store",
+	                    "assistant_device_port_store",
+	                    "assistant_device_speed_store", NULL};    
+
+	priv = g_new0 (GnomePilotAssistantPrivate, 1);
+
+	gpd->priv = priv;
+
+	priv->finished = FALSE;
+	priv->started = FALSE;
+	priv->errstr = NULL;
+	
+	/* State information */
+	loadPilotState (&priv->orig_state);
+	priv->state = dupPilotState (priv->orig_state);
+	priv->pilot = g_new0 (GPilotPilot, 1);
+	priv->device = g_new0 (GPilotDevice,1);
+
+	/* Gui stuff */
+	priv->ui = gtk_builder_new ();
+	error = gtk_builder_add_objects_from_file (priv->ui, "gpilotd-capplet.ui", objects, NULL);
+	if (error == 0) {
+		error = gtk_builder_add_objects_from_file (priv->ui, UIDATADIR "/gpilotd-capplet.ui", objects, NULL);
+		if (error == 0) {
+			g_message ("gnome-pilot-assistant init(): Could not load the GtkBuilder UI file!");
+			goto error;
+		}
+	}
+
+	if (!get_widgets (gpd)) {
+		g_message ("gnome-pilot-assistant init(): Could not find all widgets in the UI file!");
+		goto error;
+	}
+
+	map_widgets (gpd);
+	fill_widgets (gpd);
+	init_widgets (gpd);
+
+ error:
+	;
+}
+
+
+
+GtkObject *
+gnome_pilot_assistant_new (GnomePilotClient *gpc)
+{
+	GnomePilotAssistant *gpd;
+	GtkObject *obj;
+	
+	obj = GTK_OBJECT(g_type_create_instance (GNOME_PILOT_TYPE_ASSISTANT));
+	
+	gpd = GNOME_PILOT_ASSISTANT (obj);
+	gpd->priv->gpc = gpc;
+
+	g_signal_connect   (GTK_OBJECT (gpc), "completed_request",
+			    G_CALLBACK (gpd_request_completed), gpd);
+	g_signal_connect   (GTK_OBJECT (gpc), "user_info",
+			    G_CALLBACK (gpd_userinfo_requested), gpd);
+	g_signal_connect   (GTK_OBJECT (gpc), "system_info",
+			    G_CALLBACK (gpd_system_info_requested), gpd);
+
+	return obj;
+}
+
+static gboolean
+get_widgets (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	GtkTreeModel *model;
+	GtkTreeIter iter;    
+
+	GtkWidget *w;
+
+	priv = gpd->priv;
+
+//#define GW(name) GTK_WIDGET (gtk_builder_get_object (priv->ui, name))
+#define GW(name) w = GTK_WIDGET (gtk_builder_get_object (priv->ui, name)); if (!w) printf("'%s'\n", name)
+
+	priv->assistant = GW ("Assistant");
+
+	priv->page_cradle = GW ("page_cradle");
+	priv->page_error = GW ("page_error");
+	priv->page_pilot_one = GW ("page_pilot1");
+	priv->page_sync = GW ("page_sync");
+	priv->page_pilot_two = GW ("page_pilot2");
+	priv->page_finish = GW ("page_finish");
+
+
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	                                 gtk_assistant_get_nth_page (GTK_ASSISTANT (priv->assistant), GPD_PAGE_WELCOME),
+	                                 TRUE);
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_cradle, FALSE);
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_error, FALSE);
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_pilot_one, TRUE);
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_pilot_two, FALSE);
+
+	priv->device_name = GW ("assistant_device_name_entry");
+	priv->device_port_combo = GW ("assistant_device_port_combo");
+	priv->device_port = gtk_bin_get_child (
+	    GTK_BIN(priv->device_port_combo));
+	priv->device_port_label = GW ("assistant_device_port_label");
+	priv->device_speed = GW ("assistant_device_speed_combo");
+	priv->device_speed_label = GW ("assistant_device_speed_label");
+	priv->device_timeout = GW ("assistant_device_timeout_spinner");
+	priv->device_usb = GW ("assistant_usb_radio");
+	priv->device_irda = GW ("assistant_irda_radio");
+	priv->device_network = GW ("assistant_network_radio");
+	priv->device_bluetooth = GW ("assistant_bluetooth_radio");
+
+	/* Doing the cell layout in glade .ui file seemed to result
+	 * in duplicated text.  Probably a bug in glade/gtkbuilder?
+	 */
+	//	model = GTK_TREE_MODEL(gtk_list_store_new (1, G_TYPE_STRING));
+	model = GTK_TREE_MODEL(gtk_builder_get_object (priv->ui,
+		"assistant_device_port_store"));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (priv->device_port_combo), model);
+	gtk_combo_box_entry_set_text_column(
+	    GTK_COMBO_BOX_ENTRY (priv->device_port_combo), 0);
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(priv->device_port_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->device_port_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->device_port_combo),
+	    renderer, "text", 0);
+#ifdef PILOT_LINK_0_12
+	/* usb: (libusb) pseudo-device is available from pilot-link 0.12.0 */
+	gtk_list_store_prepend (GTK_LIST_STORE (model), &iter);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, "usb:", -1);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->device_usb), 1);
+
+#endif
+
+	gtk_combo_box_set_active(
+	    GTK_COMBO_BOX (priv->device_port_combo), 0);
+
+	priv->pilot_info = GW ("pilot_user_frame");
+	priv->pilot_info_no = GW ("no_radio_button");
+	priv->pilot_username = GW ("assistant_pilot_username_entry");
+	priv->pilot_id = GW ("assistant_pilot_id_entry");
+	
+	priv->sync_label_vbox = GW ("page_sync");
+	priv->sync_label =  gtk_label_new ("");
+	gtk_box_pack_start (GTK_BOX (priv->sync_label_vbox), priv->sync_label, TRUE, FALSE, 4);
+
+	priv->pilot_name = GW ("assistant_pilot_name_entry");
+	priv->pilot_basedir = GW ("assistant_pilot_basedir_entry");
+	priv->pilot_charset_label = GW ("assistant_pilot_charset_label");
+	priv->pilot_charset_combo = GW ("assistant_pilot_charset_combo");
+#ifdef PILOT_LINK_0_12
+	priv->pilot_charset = gtk_bin_get_child (
+	    GTK_BIN(priv->pilot_charset_combo));
+#endif
+
+
+#undef GW
+
+	return (priv->assistant
+		&& priv->device_name
+		&& priv->device_port
+		&& priv->device_speed
+		&& priv->device_timeout
+		&& priv->device_usb
+		&& priv->device_irda
+		&& priv->device_network
+		&& priv->device_bluetooth
+		&& priv->pilot_info
+		&& priv->pilot_info_no
+		&& priv->pilot_username
+		&& priv->pilot_id
+		&& priv->sync_label_vbox
+		&& priv->sync_label
+		&& priv->pilot_name
+		&& priv->pilot_basedir
+#ifdef PILOT_LINK_0_12
+		&& priv->pilot_charset
+#endif
+		&& priv->pilot_charset_label
+		&& priv->pilot_charset_combo);
+}
+
+static void
+map_widgets (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+	
+	g_object_set_data (G_OBJECT (gpd), "port_entry", priv->device_port);
+	g_object_set_data (G_OBJECT (gpd), "name_entry", priv->device_name);
+	g_object_set_data (G_OBJECT (gpd), "speed_combo", priv->device_speed);
+	g_object_set_data (G_OBJECT (gpd), "timeout_spinner", priv->device_timeout);
+	g_object_set_data (G_OBJECT (gpd), "usb_radio", priv->device_usb);
+	g_object_set_data (G_OBJECT (gpd), "irda_radio", priv->device_irda);
+	g_object_set_data (G_OBJECT (gpd), "network_radio", priv->device_network);
+	g_object_set_data (G_OBJECT (gpd), "bluetooth_radio", priv->device_bluetooth);
+
+	g_object_set_data (G_OBJECT (gpd), "username", priv->pilot_username);
+	g_object_set_data (G_OBJECT (gpd), "pilotid", priv->pilot_id);
+	g_object_set_data (G_OBJECT (gpd), "pilotname", priv->pilot_name);
+	g_object_set_data (G_OBJECT (gpd), "basedir", priv->pilot_basedir);
+#ifdef PILOT_LINK_0_12
+	g_object_set_data (G_OBJECT (gpd), "charset", priv->pilot_charset);
+#endif
+}
+
+static void 
+init_widgets (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+
+	priv = gpd->priv;
+
+	/* Main signals */
+	g_signal_connect   (GTK_OBJECT (priv->assistant), "delete_event",
+	    G_CALLBACK (gpd_delete_window), gpd);
+
+	g_signal_connect   (GTK_OBJECT (priv->assistant), "cancel",
+	    G_CALLBACK (gpd_canceled), gpd);
+	//	g_signal_connect   (GTK_OBJECT (priv->assistant), "help",
+	//   G_CALLBACK (gpd_help), gpd);
+
+
+	/* Page signals */
+	gtk_assistant_set_forward_page_func(GTK_ASSISTANT(priv->assistant),
+	    gpd_forward_page, gpd, NULL);
+	g_signal_connect_after (G_OBJECT (priv->assistant), "prepare",
+	    G_CALLBACK (gpd_page_prepare), gpd);
+
+
+	/* Other widget signals */
+	g_signal_connect   (GTK_OBJECT (priv->device_name),"changed",
+			    G_CALLBACK (gpd_device_info_check), gpd);
+	g_signal_connect   (GTK_OBJECT (priv->device_port),"insert-text",
+			    G_CALLBACK (insert_device_callback), NULL);
+	g_signal_connect   (GTK_OBJECT (priv->device_network), "toggled",
+			    G_CALLBACK (network_device_toggled_callback), gpd);
+	g_signal_connect   (GTK_OBJECT (priv->device_bluetooth), "toggled",
+			    G_CALLBACK (network_device_toggled_callback), gpd);
+	g_signal_connect   (GTK_OBJECT (priv->device_port),"changed",
+			    G_CALLBACK (gpd_device_info_check), gpd);
+
+	g_signal_connect   (GTK_OBJECT (priv->pilot_info_no),"toggled",
+			    G_CALLBACK (gpd_pilot_info_button), gpd);
+	g_signal_connect   (GTK_OBJECT (priv->pilot_username),"insert-text",
+			    G_CALLBACK (insert_username_callback), NULL);
+	g_signal_connect   (GTK_OBJECT (priv->pilot_username),"changed",
+			    G_CALLBACK (gpd_pilot_info_check), gpd);
+	g_signal_connect   (GTK_OBJECT (priv->pilot_id),"insert-text",
+			    G_CALLBACK (insert_numeric_callback), NULL);
+	g_signal_connect   (GTK_OBJECT (priv->pilot_id),"changed",
+			    G_CALLBACK (gpd_pilot_info_check), gpd);
+	g_signal_connect   (GTK_OBJECT (priv->pilot_name),"changed",
+			    G_CALLBACK (gpd_pilot_name_check), gpd);
+
+}
+
+static void
+fill_widgets (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	gchar buf[256];
+	char *str, *str2;
+	
+	priv = gpd->priv;
+	
+	/* Cradle page */
+	str = next_cradle_name (priv->state);
+	gtk_entry_set_text (GTK_ENTRY (priv->device_name), str);
+	g_free (str);
+	set_widget_visibility_by_type(gpd,
+	    (GTK_TOGGLE_BUTTON(priv->device_network)->active ||
+		GTK_TOGGLE_BUTTON(priv->device_bluetooth)->active) ?
+	    PILOT_DEVICE_NETWORK : PILOT_DEVICE_SERIAL);
+	
+	/* First pilot page */
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_username), g_get_real_name ());
+	
+	g_snprintf (buf, sizeof (buf), "%d", getuid ());
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_id), buf);
+
+	/* Second pilot page */
+	str = next_pilot_name (priv->state);
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_name), str);
+	
+	str2 = g_build_filename (g_get_home_dir (), str, NULL);
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_basedir), str2);
+#ifndef PILOT_LINK_0_12
+	gtk_widget_set_sensitive(priv->pilot_charset_label, FALSE);
+	gtk_widget_set_sensitive(priv->pilot_charset_combo, FALSE);
+#else
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_charset),
+	    get_default_pilot_charset());
+#endif
+
+	g_free (str);
+	g_free (str2);
+}
+
+gboolean
+gnome_pilot_assistant_run_and_close (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	gboolean result;
+	
+	priv = gpd->priv;
+	
+	gtk_widget_show_all (priv->assistant);
+	
+	gtk_main ();
+
+	result = priv->finished;
+	
+	gtk_object_destroy (GTK_OBJECT (gpd));
+
+	return result;
+}
+
+static gboolean
+cancel_dialog (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	GtkWidget *dlg;
+	
+	priv = gpd->priv;
+
+	if (!priv->started)
+		return TRUE;
+
+	dlg = gtk_message_dialog_new (GTK_WINDOW (priv->assistant), GTK_DIALOG_DESTROY_WITH_PARENT, 
+				      GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
+				      _("Setup did not complete and settings will not\n"
+					"be saved. Are you sure you want to quit?"));
+
+	if (gtk_dialog_run (GTK_DIALOG (dlg)) == GTK_RESPONSE_YES) {
+		if (priv->handle1 > 0) {
+			gnome_pilot_client_remove_request (priv->gpc, priv->handle1);
+			priv->handle1 =-1;
+		}
+		if (priv->handle2 > 0) {
+			gnome_pilot_client_remove_request (priv->gpc, priv->handle2);
+			priv->handle2 =-1;
+		}
+		save_config_and_restart (priv->gpc, priv->orig_state);
+		freePilotState (priv->state);
+		priv->state = dupPilotState (priv->orig_state);
+	
+		gtk_widget_destroy (dlg);
+	
+		return TRUE;
+	}
+
+	gtk_widget_destroy (dlg);
+
+	return FALSE;
+}
+
+static gboolean
+check_cradle_settings (GnomePilotAssistant *gpd) 
+{
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+	
+	return check_editable (GTK_EDITABLE (priv->device_name))
+		&& check_editable (GTK_EDITABLE (priv->device_port));
+}
+
+static gboolean
+check_pilot_settings (GnomePilotAssistant *gpd) 
+{
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+	
+	return check_editable (GTK_EDITABLE (priv->pilot_username))
+		&& check_editable (GTK_EDITABLE (priv->pilot_id));
+}
+
+static gboolean
+gpd_delete_window (GtkWidget *widget, GdkEvent *event, gpointer user_data)
+{
+	return !cancel_dialog (GNOME_PILOT_ASSISTANT (user_data));
+}
+
+static void 
+gpd_canceled (GtkAssistant *assistant, gpointer user_data)
+{
+	if (cancel_dialog (GNOME_PILOT_ASSISTANT (user_data)))
+		gtk_main_quit ();
+}
+
+static void
+gpd_page_prepare (GtkAssistant *assistant, GtkWidget *page,
+    gpointer user_data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	gint pageid = gtk_assistant_get_current_page(assistant);
+	gboolean ready;
+
+	switch (pageid) {
+	case GPD_PAGE_WELCOME:
+	case GPD_PAGE_ERROR:
+		/* intro page, carry straight on. */
+		break;
+	case GPD_PAGE_CRADLE:
+		/* Device settings: check if widgets already filled in */
+		ready = check_cradle_settings (gpd);
+		gtk_assistant_set_page_complete (assistant,
+		    gpd->priv->page_cradle, ready);
+		break;
+	case GPD_PAGE_PILOT_ONE:
+		/* PDA Identification aka "page_pilot1" */
+		gpd_cancel_sync(gpd); // deal with 'back' behaviour from page_sync
+		break;
+	case GPD_PAGE_SYNC:
+		/* Initial Sync aka "page_sync" */
+		gpd_sync_page_prepare(gpd);
+		break;
+	case GPD_PAGE_PILOT_TWO:
+		/* PDA Attributes aka "page_pilot2" */
+		gtk_assistant_set_page_complete (assistant,
+		    gpd->priv->page_pilot_two, TRUE);
+		break;
+	case GPD_PAGE_FINISH:
+		g_signal_connect   (GTK_OBJECT (gpd->priv->assistant), "close",
+		    G_CALLBACK (gpd_finish_page_finished), gpd);
+
+	default:
+		break;
+	}
+}
+
+static gint
+gpd_forward_page(gint current_page, gpointer user_data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+
+	switch (current_page)
+	{
+	case GPD_PAGE_WELCOME:
+		return 1;
+	case GPD_PAGE_CRADLE:
+		// forward_page is called for various reasons, it seems,
+		// by GtkAssistant (e.g. figuring out how the assistant
+		// is wired)
+		if (gtk_assistant_get_page_complete (
+			GTK_ASSISTANT (gpd->priv->assistant),
+			    gtk_assistant_get_nth_page (
+				GTK_ASSISTANT (gpd->priv->assistant),
+			        GPD_PAGE_CRADLE)
+			)) {
+			if (gpd_cradle_page_next(gpd)) {
+				gtk_label_set_text (
+				    GTK_LABEL (gpd->priv->page_error),
+				    gpd->priv->errstr);
+				return GPD_PAGE_ERROR;
+			} else {
+				return GPD_PAGE_PILOT_ONE;
+			}
+		} else {
+			return GPD_PAGE_PILOT_ONE;
+		}
+		break;
+	case GPD_PAGE_ERROR:
+		/* never allowed forward from this page... */
+		return GPD_PAGE_PILOT_ONE;
+		break;
+	case GPD_PAGE_PILOT_ONE:
+		/* PDA Identification aka "druidpage_pilot1" */
+		return GPD_PAGE_SYNC;
+		break;
+	case GPD_PAGE_SYNC:
+		/* Initial Sync aka "druidpage_sync" */
+		return GPD_PAGE_PILOT_TWO;
+	case GPD_PAGE_PILOT_TWO:
+		/* PDA Attributes aka "druidpage_pilot2" */
+		if (gpd_pilot_page_two_next(gpd)) {
+			gtk_label_set_text (
+			    GTK_LABEL (gpd->priv->page_error),
+				gpd->priv->errstr);
+			return GPD_PAGE_ERROR;
+		} else {
+			return GPD_PAGE_FINISH;
+		}
+		break;
+	case GPD_PAGE_FINISH:
+		return GPD_PAGE_FINISH;
+	default:
+		return -1;
+	}
+}
+
+
+
+
+static gboolean
+gpd_cradle_page_next (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	GPilotDevice *tmp_device;
+	gboolean result;
+
+	priv = gpd->priv;
+
+	/* check the device settings */
+	tmp_device = gpilot_device_new();
+	read_device_config(GTK_OBJECT(gpd), tmp_device);
+	if (priv->errstr != NULL) {
+		g_free(priv->errstr);
+		priv->errstr = NULL;
+	}
+	result = check_device_settings(tmp_device, &priv->errstr);
+	g_free(tmp_device->name);
+	g_free(tmp_device->port);
+	if (!result) {
+		gtk_label_set_text (GTK_LABEL (priv->page_error), priv->errstr);
+		/* cancel proceeding to next page */
+		/*gtk_assistant_set_page_complete (
+		    GTK_ASSISTANT (priv->assistant),
+		    gtk_assistant_get_nth_page (
+			GTK_ASSISTANT (priv->assistant), 1),
+			FALSE);*/
+		return TRUE;
+	}
+	priv->started = TRUE;
+
+	return FALSE;
+}
+
+static void
+gpd_sync_page_prepare (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	GNOME_Pilot_UserInfo user;
+	gchar *text, *location;
+
+	priv = gpd->priv;
+
+	read_device_config (GTK_OBJECT (gpd), priv->device);
+	
+	if (priv->state->devices == NULL)
+		priv->state->devices = g_list_append (priv->state->devices, priv->device);
+
+	if (GTK_TOGGLE_BUTTON (priv->pilot_info_no)->active) {
+		/* do send_to_pilot */
+		read_pilot_config (GTK_OBJECT (gpd), priv->pilot);
+		location = priv->device->type == PILOT_DEVICE_NETWORK ?
+		    "netsync" : (priv->device->type == PILOT_DEVICE_BLUETOOTH ?
+			"bluetooth" : priv->device->port);
+		text = g_strdup_printf (_("About to send the following data to the PDA.\n"
+				       "Owner Name: %s\nPDA ID: %d\n"
+				       "Please put PDA in %s (%s) and press HotSync button."),
+					priv->pilot->pilot_username,
+					priv->pilot->pilot_id,
+					priv->device->name,
+					location);
+
+		save_config_and_restart (priv->gpc, priv->state);
+
+		user.userID = priv->pilot->pilot_id;
+		user.username = priv->pilot->pilot_username;
+
+		gnome_pilot_client_set_user_info (priv->gpc,
+						  priv->device->name,
+						  user,
+						  FALSE,
+						  GNOME_Pilot_IMMEDIATE,
+						  0,
+						  &priv->handle1);
+                if (priv->handle1 <= 0) {
+                        error_dialog (GTK_WINDOW (priv->assistant), _("Failed sending request to gpilotd"));
+                        return;
+                }
+	} else {
+		/* do get_from_pilot */
+		location = priv->device->type == PILOT_DEVICE_NETWORK ?
+		    "netsync" : (priv->device->type == PILOT_DEVICE_BLUETOOTH ?
+			"bluetooth" : priv->device->port);
+		text = g_strdup_printf (_("About to retrieve Owner Name and "
+					    "ID from the PDA.\n"
+					    "Please put PDA in %s (%s) and press "
+					    "HotSync button."),
+		    priv->device->name,
+		    location);
+
+		save_config_and_restart (priv->gpc, priv->state);
+
+		gnome_pilot_client_get_user_info (priv->gpc, priv->device->name, GNOME_Pilot_IMMEDIATE, 0, &priv->handle1);
+		gnome_pilot_client_get_system_info (priv->gpc, priv->device->name, GNOME_Pilot_IMMEDIATE, 0, &priv->handle2);
+
+                if (priv->handle1 <= 0 || priv->handle2 <= 0) {
+                        error_dialog (GTK_WINDOW (priv->assistant), _("Failed sending request to gpilotd"));
+                        return;
+                }
+	}
+	gtk_label_set_text (GTK_LABEL (priv->sync_label), text);
+        g_free (text);
+
+	/* disable NEXT until we've synced */
+	gtk_assistant_set_page_complete (GTK_ASSISTANT(priv->assistant),
+	    priv->page_sync, FALSE);
+}
+
+static gboolean
+gpd_cancel_sync (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	gboolean need_restart = FALSE;
+
+	priv = gpd->priv;
+	
+	if (priv->handle1 > 0) {
+		gnome_pilot_client_remove_request (priv->gpc, priv->handle1);
+		priv->handle1 = -1;
+		need_restart = TRUE;
+	}
+	if (priv->handle2 > 0) {
+		gnome_pilot_client_remove_request (priv->gpc, priv->handle2);
+		priv->handle2 = -1;
+		need_restart = TRUE;
+	}
+	if (need_restart)
+		save_config_and_restart (priv->gpc, priv->orig_state);
+	return FALSE;
+}
+
+static gboolean
+gpd_pilot_page_two_next (GnomePilotAssistant *gpd)
+{
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+
+	if(priv->errstr != NULL) {
+		g_free(priv->errstr);
+		priv->errstr = NULL;
+	}
+	return (!(check_base_directory (gtk_entry_get_text (GTK_ENTRY (priv->pilot_basedir)), &priv->errstr)
+#ifdef PILOT_LINK_0_12
+		&& check_pilot_charset (gtk_entry_get_text (GTK_ENTRY (priv->pilot_charset)), &priv->errstr)
+#endif
+		));
+}
+
+static void
+gpd_finish_page_finished (GtkAssistant *assistant, gpointer data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (data);
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+	
+	read_pilot_config (GTK_OBJECT (gpd), priv->pilot);
+	priv->state->pilots = g_list_append (priv->state->pilots, priv->pilot);
+	
+	save_config_and_restart (priv->gpc, priv->state);
+	
+	priv->finished = TRUE;
+	
+	gtk_main_quit ();
+}
+
+static void
+gpd_device_info_check (GtkEditable *editable, gpointer user_data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	gboolean ready;
+	
+	priv = gpd->priv;
+	
+	ready = check_cradle_settings (gpd);
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_cradle, ready);
+}
+
+static void
+gpd_pilot_info_check (GtkEditable *editable, gpointer user_data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	gboolean ready = TRUE;
+	
+	priv = gpd->priv;
+	
+	if (GTK_TOGGLE_BUTTON (priv->pilot_info_no)->active)
+		ready = check_pilot_settings (gpd);
+
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_pilot_one, ready);
+}
+
+static void
+gpd_pilot_name_check (GtkEditable *editable, gpointer user_data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+	gtk_assistant_set_page_complete (
+	    GTK_ASSISTANT (priv->assistant),
+		priv->page_pilot_two,
+		check_editable (GTK_EDITABLE (priv->pilot_name)));
+	return;
+}
+
+static void
+gpd_pilot_info_button (GtkToggleButton *toggle, gpointer user_data)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	gboolean ready = TRUE;
+	
+	priv = gpd->priv;
+	
+	gtk_widget_set_sensitive (priv->pilot_info, toggle->active);
+	if (toggle->active)
+		ready = check_pilot_settings (gpd);
+
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_pilot_one, ready);
+}
+
+static void 
+gpd_request_completed (GnomePilotClient* client, const gchar *id, gint handle, gpointer user_data) 
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+
+	if (handle == priv->handle1)
+		priv->handle1 = -1;
+	else if (handle == priv->handle2)
+		priv->handle2 = -1;
+	else
+		return;
+
+	if (priv->handle1 == -1 && priv->handle2 == -1) {
+		gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+		    priv->page_sync, TRUE);
+	}
+}
+
+static void 
+gpd_userinfo_requested (GnomePilotClient *gpc, const gchar *device, const GNOME_Pilot_UserInfo *user, gpointer user_data) 
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	gchar *text;
+	gchar buf[20];
+	
+	priv = gpd->priv;
+	
+	g_message ("device %s sent userinfo", device);
+	g_message ("user->userID   = %lu", user->userID);
+	g_message ("user->username = %s", user->username);
+
+	priv->pilot->pilot_id = user->userID;
+
+	if (priv->pilot->pilot_username) 
+		g_free (priv->pilot->pilot_username);
+	priv->pilot->pilot_username = g_strdup (user->username);
+
+	text = g_strdup_printf (_("Successfully retrieved Owner Name and ID from PDA.\n"
+				  "Owner Name: %s\nPDA ID: %d"),
+				priv->pilot->pilot_username,
+				priv->pilot->pilot_id);
+	gtk_label_set_text (GTK_LABEL (priv->sync_label), text);
+
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_username), priv->pilot->pilot_username);
+	g_snprintf (buf, sizeof (buf), "%d", priv->pilot->pilot_id);
+	gtk_entry_set_text (GTK_ENTRY (priv->pilot_id), buf);
+	g_free (text);
+
+	gtk_assistant_set_page_complete (GTK_ASSISTANT (priv->assistant),
+	    priv->page_sync, TRUE);
+
+	priv->handle1 = priv->handle2 = -1;
+}
+
+static void 
+gpd_system_info_requested (GnomePilotClient *gpc,
+			    const gchar *device,
+			    const GNOME_Pilot_SysInfo *sysinfo,
+			    gpointer user_data) 
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (user_data);
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+	
+	g_message ("device %s sent sysinfo", device);
+	g_message ("sysinfo->creation   = %ld", sysinfo->creation);
+	g_message ("sysinfo->romVersion = 0x%lx", sysinfo->romVersion);
+
+	priv->pilot->creation = sysinfo->creation;
+	priv->pilot->romversion = sysinfo->romVersion;
+}
+
+static void
+gpd_destroy (GtkObject *object)
+{
+	GnomePilotAssistant *gpd = GNOME_PILOT_ASSISTANT (object);
+	GnomePilotAssistantPrivate *priv;
+	
+	priv = gpd->priv;
+
+	gtk_widget_destroy (priv->assistant);
+	g_object_unref (priv->ui);
+
+	g_signal_handlers_disconnect_matched (priv->gpc,
+	    G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, object);
+
+	if (GTK_OBJECT_CLASS (parent_class)->destroy)
+		(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+}
+
+static void
+network_device_toggled_callback (GtkRadioButton *btn, void *data)
+{
+	GnomePilotAssistant *gpd = (GnomePilotAssistant *)data;
+	GnomePilotAssistantPrivate *priv;
+	int type;
+
+	priv = gpd->priv;
+
+	/* toggled button could be bluetooth or network */
+	if(btn == GTK_RADIO_BUTTON(priv->device_network) &&
+	    GTK_TOGGLE_BUTTON(btn)->active) {
+		type = PILOT_DEVICE_NETWORK;
+	} else if (btn == GTK_RADIO_BUTTON(priv->device_bluetooth) &&
+	    GTK_TOGGLE_BUTTON(btn)->active) {
+		type = PILOT_DEVICE_BLUETOOTH;
+	} else {
+		type = PILOT_DEVICE_SERIAL;
+	}
+	
+	set_widget_visibility_by_type(gpd, type);
+}
+
+static void
+set_widget_visibility_by_type(GnomePilotAssistant *gpd, int type) {
+	GnomePilotAssistantPrivate *priv;
+
+	gboolean enable_extra_widgets = (type != PILOT_DEVICE_NETWORK &&
+	    type != PILOT_DEVICE_BLUETOOTH);
+
+	priv = gpd->priv;
+
+	gtk_widget_set_sensitive(priv->device_port_combo,
+	    enable_extra_widgets);
+	gtk_widget_set_sensitive(priv->device_port_label,
+	    enable_extra_widgets);
+	gtk_widget_set_sensitive(priv->device_speed,
+	    enable_extra_widgets);
+	gtk_widget_set_sensitive(priv->device_speed_label,
+	    enable_extra_widgets);
+}
diff -pruN 2.0.17-2/capplet/gnome-pilot-assistant.h 2.32.0-0ubuntu1/capplet/gnome-pilot-assistant.h
--- 2.0.17-2/capplet/gnome-pilot-assistant.h	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-assistant.h	2010-08-09 09:02:10.000000000 +0100
@@ -0,0 +1,75 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* gnome-pilot-assistant.c
+ *
+ * Copyright (C) 1998 Red Hat Software       
+ * Copyright (C) 1999-2000 Free Software Foundation
+ * Copyright (C) 2001  Ximian, 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 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.
+ *
+ * Authors: Eskil Heyn Olsen
+ *          Vadim Strizhevsky
+ *          Michael Fulbright <msf@redhat.com>
+ *          JP Rosevear <jpr@ximian.com>
+ *
+ */
+
+#ifndef _GNOME_PILOT_ASSISTANT_H_
+#define _GNOME_PILOT_ASSISTANT_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gpilotd/gnome-pilot-client.h>
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+#define GNOME_PILOT_TYPE_ASSISTANT			(gnome_pilot_assistant_get_type ())
+#define GNOME_PILOT_ASSISTANT(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PILOT_TYPE_ASSISTANT, GnomePilotAssistant))
+#define GNOME_PILOT_ASSISTANT_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_ASSISTANT, GnomePilotAssistantClass))
+#define GNOME_PILOT_IS_ASSISTANT(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PILOT_TYPE_ASSISTANT))
+#define GNOME_PILOT_IS_ASSISTANT_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_ASSISTANT))
+
+
+typedef struct _GnomePilotAssistant        GnomePilotAssistant;
+typedef struct _GnomePilotAssistantPrivate GnomePilotAssistantPrivate;
+typedef struct _GnomePilotAssistantClass   GnomePilotAssistantClass;
+
+struct _GnomePilotAssistant {
+	GtkObject parent;
+
+	GnomePilotAssistantPrivate *priv;
+};
+
+struct _GnomePilotAssistantClass {
+	GtkObjectClass parent_class;
+};
+
+
+GType    gnome_pilot_assistant_get_type (void);
+GtkObject *gnome_pilot_assistant_new      (GnomePilotClient *gpc);
+
+gboolean gnome_pilot_assistant_run_and_close (GnomePilotAssistant *gpd);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _GNOME_PILOT_ASSISTANT_H_ */
diff -pruN 2.0.17-2/capplet/gnome-pilot-capplet.c 2.32.0-0ubuntu1/capplet/gnome-pilot-capplet.c
--- 2.0.17-2/capplet/gnome-pilot-capplet.c	2008-01-23 09:05:32.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-capplet.c	2010-08-09 09:02:11.000000000 +0100
@@ -28,7 +28,6 @@
  */
 
 #include <sys/stat.h>
-#include <glade/glade.h>
 #include "pilot.h"
 #include "util.h"
 #include "gnome-pilot-pdialog.h"
@@ -42,7 +41,7 @@ static GObjectClass *parent_class = NULL
 
 struct _GnomePilotCappletPrivate 
 {
-	GladeXML *xml;
+	GtkBuilder *ui;
 
 	GnomePilotClient *gpc;
 	gint handle;
@@ -71,7 +70,7 @@ struct _GnomePilotCappletPrivate 
 	GtkWidget *devices_popup;
 
 	GtkObject *pdialog;
-	GtkWidget *pilots_menu;
+	GtkWidget *pilots_combo;
 	GtkWidget *pilots_username;
 	GtkWidget *conduit_treeview;
 	GtkTreeModel *conduit_model;
@@ -108,6 +107,10 @@ static void gpcap_devices_delete (GtkWid
 static gboolean gpcap_devices_popup (GtkTreeView *treeview, GdkEventButton *event, gpointer user_data);
 static void gpcap_devices_selection_changed (GtkTreeSelection *selection, gpointer user_data);
 
+static void gpcap_create_pilots_treeview (GnomePilotCappletPrivate *priv);
+static void gpcap_create_devices_treeview (GnomePilotCappletPrivate *priv);
+static void gpcap_create_conduit_treeview (GnomePilotCappletPrivate *priv);
+
 static void gpcap_conduits_choose_pilot (GtkWidget *widget, gpointer user_data);
 static void gpcap_conduits_enable (GtkWidget *widget, gpointer user_data);
 static void gpcap_conduits_disable (GtkWidget *widget, gpointer user_data);
@@ -159,7 +162,13 @@ static void
 init (GnomePilotCapplet *gpcap)
 {
 	GnomePilotCappletPrivate *priv;
-	
+	guint error;
+ 	gchar *objects[] = {"timeout_adjustment",
+			    "device_speed_store",
+			    "pilot_charset_store",
+			    "CappletMain",
+ 			    NULL};
+
 	priv = g_new0 (GnomePilotCappletPrivate, 1);
 
 	gpcap->priv = priv;
@@ -169,17 +178,21 @@ init (GnomePilotCapplet *gpcap)
 	priv->state = dupPilotState (priv->orig_state);
 
 	/* Gui stuff */
-	priv->xml = glade_xml_new ("gpilotd-capplet.glade", "CappletMain", NULL);
-	if (!priv->xml) {
-		priv->xml = glade_xml_new (GLADEDATADIR "/gpilotd-capplet.glade", "CappletMain", NULL);
-		if (!priv->xml) {
-			g_message ("gnome-pilot-capplet init(): Could not load the Glade XML file!");
+	priv->ui = gtk_builder_new ();
+	error = gtk_builder_add_objects_from_file (priv->ui, "gpilotd-capplet.ui", objects, NULL);
+	if (error == 0) {
+		error = gtk_builder_add_objects_from_file (priv->ui, UIDATADIR "/gpilotd-capplet.ui", objects, NULL);
+		if (error == 0) {
+			g_message ("gnome-pilot-capplet init(): Could not load the GtkBuilder UI file!");
 			goto error;
 		}
 	}
+	gpcap_create_pilots_treeview (priv);
+	gpcap_create_devices_treeview (priv);
+	gpcap_create_conduit_treeview (priv);
 	
 	if (!get_widgets (gpcap)) {
-		g_message ("gnome-pilot-capplet init(): Could not find all widgets in the XML file!");
+		g_message ("gnome-pilot-capplet init(): Could not find all widgets in the UI file!");
 		goto error;
 	}
 	
@@ -210,7 +223,7 @@ get_widgets (GnomePilotCapplet *gpcap)
 
 	priv = gpcap->priv;
 
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) GTK_WIDGET (gtk_builder_get_object (priv->ui, name))
 
 	gtk_window_set_title (GTK_WINDOW (gpcap), _("gnome-pilot Settings"));
 	gtk_dialog_set_has_separator (GTK_DIALOG (gpcap), FALSE);
@@ -225,24 +238,24 @@ get_widgets (GnomePilotCapplet *gpcap)
 		gtk_container_add (GTK_CONTAINER (GTK_DIALOG (gpcap)->vbox), priv->notebook);
 
 	w = GW ("pilots_treeview");
-	priv->pilots_treeview = gtk_object_get_data (GTK_OBJECT (w), "treeview");
-	priv->pilots_model = gtk_object_get_data (GTK_OBJECT (w), "model");
+	priv->pilots_treeview = g_object_get_data (G_OBJECT (w), "treeview");
+	priv->pilots_model = g_object_get_data (G_OBJECT (w), "model");
 	priv->pilots_add = GW ("pilots_add_button");
 	priv->pilots_edit = GW ("pilots_edit_button");
 	priv->pilots_delete = GW ("pilots_delete_button");
 
 	w = GW ("devices_treeview");
-	priv->devices_treeview = gtk_object_get_data (GTK_OBJECT (w), "treeview");
-	priv->devices_model = gtk_object_get_data (GTK_OBJECT (w), "model");
+	priv->devices_treeview = g_object_get_data (G_OBJECT (w), "treeview");
+	priv->devices_model = g_object_get_data (G_OBJECT (w), "model");
 	priv->devices_add = GW ("devices_add_button");
 	priv->devices_edit = GW ("devices_edit_button");
 	priv->devices_delete = GW ("devices_delete_button");
 
-	priv->pilots_menu = GW ("pilots_menu");
+	priv->pilots_combo = GW ("pilots_combo");
 	priv->pilots_username = GW ("username_label");	
 	w = GW ("conduit_treeview");
-	priv->conduit_treeview = gtk_object_get_data (GTK_OBJECT (w), "treeview");
-	priv->conduit_model = gtk_object_get_data (GTK_OBJECT (w), "model");
+	priv->conduit_treeview = g_object_get_data (G_OBJECT (w), "treeview");
+	priv->conduit_model = g_object_get_data (G_OBJECT (w), "model");
 	priv->conduit_enable = GW ("conduit_enable_button");
 	priv->conduit_disable = GW ("conduit_disable_button");
 	priv->conduit_settings = GW ("conduit_settings_button");
@@ -258,7 +271,7 @@ get_widgets (GnomePilotCapplet *gpcap)
 		&& priv->devices_add
 		&& priv->devices_edit
 		&& priv->devices_delete
-		&& priv->pilots_menu
+		&& priv->pilots_combo
 		&& priv->conduit_treeview
 		&& priv->conduit_enable
 		&& priv->conduit_disable
@@ -274,32 +287,32 @@ init_widgets (GnomePilotCapplet *gpcap)
 	priv = gpcap->priv;
 
 	/* Button signals */
-	gtk_signal_connect (GTK_OBJECT (priv->pilots_add), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_pilots_add), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->pilots_add), "clicked",
+			    G_CALLBACK (gpcap_pilots_add), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->pilots_edit), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_pilots_edit), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->pilots_edit), "clicked",
+			    G_CALLBACK (gpcap_pilots_edit), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->pilots_delete), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_pilots_delete), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->pilots_delete), "clicked",
+			    G_CALLBACK (gpcap_pilots_delete), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->devices_add), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_devices_add), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->devices_add), "clicked",
+			    G_CALLBACK (gpcap_devices_add), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->devices_edit), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_devices_edit), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->devices_edit), "clicked",
+			    G_CALLBACK (gpcap_devices_edit), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->devices_delete), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_devices_delete), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->devices_delete), "clicked",
+			    G_CALLBACK (gpcap_devices_delete), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->conduit_enable), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_conduits_enable), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->conduit_enable), "clicked",
+			    G_CALLBACK (gpcap_conduits_enable), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->conduit_disable), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_conduits_disable), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->conduit_disable), "clicked",
+			    G_CALLBACK (gpcap_conduits_disable), gpcap);
 
-	gtk_signal_connect (GTK_OBJECT (priv->conduit_settings), "clicked",
-			    GTK_SIGNAL_FUNC (gpcap_conduits_settings), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->conduit_settings), "clicked",
+			    G_CALLBACK (gpcap_conduits_settings), gpcap);
 
 	/* Row selection signals */
 	g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->pilots_treeview)), "changed",
@@ -312,12 +325,12 @@ init_widgets (GnomePilotCapplet *gpcap)
 			  G_CALLBACK (gpcap_conduits_selection_changed), gpcap);
 
 	/* Popup menu signals */
-	gtk_signal_connect (GTK_OBJECT (priv->pilots_treeview), "button_press_event",
-			    GTK_SIGNAL_FUNC (gpcap_pilots_popup), gpcap);
-	gtk_signal_connect (GTK_OBJECT (priv->devices_treeview), "button_press_event",
-			    GTK_SIGNAL_FUNC (gpcap_devices_popup), gpcap);
-	gtk_signal_connect (GTK_OBJECT (priv->conduit_treeview), "button_press_event",
-			    GTK_SIGNAL_FUNC (gpcap_conduits_popup), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->pilots_treeview), "button_press_event",
+			    G_CALLBACK (gpcap_pilots_popup), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->devices_treeview), "button_press_event",
+			    G_CALLBACK (gpcap_devices_popup), gpcap);
+	g_signal_connect   (GTK_OBJECT (priv->conduit_treeview), "button_press_event",
+			    G_CALLBACK (gpcap_conduits_popup), gpcap);
 
 	gtk_widget_show_all (priv->notebook);
 }
@@ -360,17 +373,15 @@ fill_pilots_treeview (GnomePilotCapplet 
 	}	
 }
 
-GtkWidget* gnome_pilot_capplet_create_pilots_treeview (char *name, char *string1, char *string2, int num1, int num2);
-
-GtkWidget*
-gnome_pilot_capplet_create_pilots_treeview (char *name, char *string1, char *string2, int num1, int num2)
+static void
+gpcap_create_pilots_treeview (GnomePilotCappletPrivate *priv)
 {
-	GtkWidget *treeview, *scrolled;
+	GtkWidget *treeview;
+	GtkWidget *scrolled = GTK_WIDGET (gtk_builder_get_object (priv->ui, "pilots_treeview"));
 	GtkTreeSelection *selection;
 	GtkCellRenderer *renderer;
 	GtkListStore *model;
 
-	scrolled = gtk_scrolled_window_new (NULL, NULL);
 	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
 					GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled),
@@ -398,8 +409,6 @@ gnome_pilot_capplet_create_pilots_treevi
 
 	gtk_widget_show (scrolled);
 	gtk_widget_show (treeview);
-
-	return scrolled;
 }
 
 static void
@@ -440,17 +449,15 @@ fill_devices_treeview (GnomePilotCapplet
 	}	
 }
 
-GtkWidget *gnome_pilot_capplet_create_devices_treeview (char *name, char *string1, char *string2, int num1, int num2);
-
-GtkWidget*
-gnome_pilot_capplet_create_devices_treeview (char *name, char *string1, char *string2, int num1, int num2)
+static void
+gpcap_create_devices_treeview (GnomePilotCappletPrivate *priv)
 {
-	GtkWidget *treeview, *scrolled;
+	GtkWidget *treeview;
+	GtkWidget *scrolled = GTK_WIDGET (gtk_builder_get_object (priv->ui, "devices_treeview"));
 	GtkTreeSelection *selection;
 	GtkCellRenderer *renderer;
 	GtkListStore *model;
 
-	scrolled = gtk_scrolled_window_new (NULL, NULL);
 	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
 					GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled),
@@ -476,8 +483,6 @@ gnome_pilot_capplet_create_devices_treev
 
 	gtk_widget_show (scrolled);
 	gtk_widget_show (treeview);
-
-	return scrolled;
 }
 
 static void
@@ -548,17 +553,15 @@ set_conduit_pilot (GnomePilotCapplet *gp
 	check_conduits_buttons (gpcap);
 }
 
-GtkWidget *gnome_pilot_capplet_create_conduit_treeview (char *name, char *string1, char *string2, int num1, int num2);
-
-GtkWidget*
-gnome_pilot_capplet_create_conduit_treeview (char *name, char *string1, char *string2, int num1, int num2)
+static void
+gpcap_create_conduit_treeview (GnomePilotCappletPrivate *priv)
 {
-	GtkWidget *treeview, *scrolled;
+	GtkWidget *treeview;
+	GtkWidget *scrolled = GTK_WIDGET (gtk_builder_get_object (priv->ui, "conduit_treeview"));
 	GtkTreeSelection *selection;
 	GtkCellRenderer *renderer;
 	GtkListStore *model;
 
-	scrolled = gtk_scrolled_window_new (NULL, NULL);
 	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
 					GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled),
@@ -584,40 +587,44 @@ gnome_pilot_capplet_create_conduit_treev
 
 	gtk_widget_show (scrolled);
 	gtk_widget_show (treeview);
-
-	return scrolled;
 }
 
 static void
-fill_pilots_menu (GnomePilotCapplet *gpcap) 
+fill_pilots_combo (GnomePilotCapplet *gpcap) 
 {
-	GnomePilotCappletPrivate *priv;
-	GtkWidget *menu, *menu_item;
-	GList *tmp;
-	GPilotPilot *pilot = NULL;
-	
-	priv = gpcap->priv;
-	
-	menu = gtk_menu_new ();
-	
-	tmp = priv->state->pilots;
-	while (tmp != NULL) {
-		if (pilot == NULL)
-			pilot = tmp->data;
-		
-		menu_item = gtk_menu_item_new_with_label (((GPilotPilot*)tmp->data)->name);
-		gtk_widget_show (menu_item);
-		gtk_object_set_data (GTK_OBJECT (menu_item), "pilot", tmp->data);
-		gtk_signal_connect (GTK_OBJECT(menu_item),"activate",
-				    GTK_SIGNAL_FUNC (gpcap_conduits_choose_pilot),
-				    gpcap);
-		gtk_menu_append (GTK_MENU (menu), menu_item);
-
-		tmp = tmp->next;
-	}
-	gtk_option_menu_set_menu (GTK_OPTION_MENU (priv->pilots_menu), menu);
-	gtk_option_menu_set_history (GTK_OPTION_MENU (priv->pilots_menu), 0);
-	set_conduit_pilot (gpcap, pilot);
+        GnomePilotCappletPrivate *priv;
+        GList *tmp;
+        GPilotPilot *pilot = NULL;
+        GtkListStore *store;
+        GtkTreeIter iter;
+        
+        priv = gpcap->priv;
+
+
+        store = gtk_list_store_new(1, G_TYPE_STRING);
+        
+        tmp = priv->state->pilots;
+        while (tmp != NULL) {
+                if (pilot == NULL)
+                        pilot = tmp->data;
+                
+                gtk_list_store_append(store, &iter);
+                gtk_list_store_set (store, &iter, 0, ((GPilotPilot*)tmp->data)->name, -1);
+                tmp = tmp->next;
+        }
+
+	g_signal_connect   (GTK_OBJECT(priv->pilots_combo),"changed",
+		    G_CALLBACK (gpcap_conduits_choose_pilot),
+		    gpcap);
+	gtk_combo_box_set_model (GTK_COMBO_BOX (priv->pilots_combo), GTK_TREE_MODEL(store));
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(priv->pilots_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->pilots_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->pilots_combo),
+	    renderer, "text", 0);        
+	gtk_combo_box_set_active (GTK_COMBO_BOX (priv->pilots_combo), 0);
+        set_conduit_pilot (gpcap, pilot);
 }
 
 static void
@@ -636,7 +643,7 @@ fill_widgets (GnomePilotCapplet *gpcap)
 	check_devices_buttons (gpcap);
 
 	/* Conduits page */
-	fill_pilots_menu (gpcap);
+	fill_pilots_combo (gpcap);
 }
 
 void
@@ -725,7 +732,7 @@ gpcap_pilots_add (GtkWidget *widget, gpo
 		gtk_tree_selection_select_iter (gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->pilots_treeview)),
 						&iter);
 		
-		fill_pilots_menu (gpcap);
+		fill_pilots_combo (gpcap);
 		
 		gpcap_save_state (gpcap);
 	}
@@ -759,7 +766,7 @@ gpcap_pilots_edit (GtkWidget *widget, gp
 				    2, pilot->pilot_username,
 				    -1);
 			
-		fill_pilots_menu (gpcap);
+		fill_pilots_combo (gpcap);
 		
 		gpcap_save_state (gpcap);
 	}
@@ -787,7 +794,7 @@ gpcap_pilots_delete (GtkWidget *widget, 
 				       &iter);
 		priv->state->pilots = g_list_remove (priv->state->pilots, pilot);
 		
-		fill_pilots_menu (gpcap);
+		fill_pilots_combo (gpcap);
 		
 		gpcap_save_state (gpcap);
 	}
@@ -803,21 +810,39 @@ gpcap_pilots_popup (GtkTreeView *treevie
 	GnomePilotCapplet *gpcap = GNOME_PILOT_CAPPLET (user_data);
 	GnomePilotCappletPrivate *priv;
 
-	GnomeUIInfo popup [] = {
-		GNOMEUIINFO_ITEM_DATA (N_("_Edit this PDA..."),
-				       N_("Edit the currently selected PDA"),
-				       gpcap_pilots_edit, gpcap, NULL),
-		GNOMEUIINFO_ITEM_DATA (N_("_Delete this PDA"),
-				       N_("Delete the currently selected PDA"),
-				       gpcap_pilots_delete, gpcap, NULL),
-		GNOMEUIINFO_END
+	GtkActionEntry entries[] = {
+		{ "Edit", NULL, N_("_Edit this PDA..."), NULL,
+		  N_("Edit the currently selected PDA"), G_CALLBACK(gpcap_pilots_edit)},
+		{ "Delete", NULL, N_("_Delete this PDA"), NULL,
+		  N_("Delete the currently selected PDA"), G_CALLBACK(gpcap_pilots_delete)},
 	};
  
+	static const char *ui_description =
+	    "<ui>"
+	    "<popup name='pilotsPopupMenu'>"
+	    " <menuitem action='Edit'/>"
+	    " <menuitem action='Delete'/>"
+	    "</popup>"
+	    "</ui>";
+
+	GtkActionGroup *action_group = gtk_action_group_new ("MenuActions");
+	gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), gpcap);
+ 
 	priv = gpcap->priv;
 
 	if (priv->pilots_popup == NULL) {
-		priv->pilots_popup = gtk_menu_new ();
-		gnome_app_fill_menu (GTK_MENU_SHELL (priv->pilots_popup), popup, NULL, TRUE, 0);
+		GtkUIManager *ui_manager = gtk_ui_manager_new ();
+		gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
+
+		GError *error = NULL;
+		if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, &error))
+		{
+			g_message ("building menus failed: %s", error->message);
+			g_error_free (error);
+			exit (EXIT_FAILURE);
+		}
+
+		priv->pilots_popup = gtk_ui_manager_get_widget (ui_manager, "/pilotsPopupMenu");
 	}
 
 	return show_popup_menu (treeview, event, GTK_MENU (priv->pilots_popup));
@@ -961,24 +986,42 @@ gpcap_devices_popup (GtkTreeView *treevi
 	GnomePilotCapplet *gpcap = GNOME_PILOT_CAPPLET (user_data);
 	GnomePilotCappletPrivate *priv;
 
-	GnomeUIInfo popup [] = {
-		GNOMEUIINFO_ITEM_DATA (N_("_Edit this device..."),
-				       N_("Edit the currently selected device"),
-				       gpcap_devices_edit, gpcap, NULL),
-		GNOMEUIINFO_ITEM_DATA (N_("_Delete this device"),
-				       N_("Delete the currently selected device"),
-				       gpcap_devices_delete, gpcap, NULL),
-		GNOMEUIINFO_END
+	GtkActionEntry entries[] = {
+		{ "Edit", NULL, N_("_Edit this device..."),  NULL,
+		  N_("Edit the currently selected device"), G_CALLBACK(gpcap_devices_edit)},
+		{ "Delete", NULL, N_("_Delete this device"), NULL,
+		  N_("Delete the currently selected device"), G_CALLBACK(gpcap_devices_delete)},
 	};
  
+	static const char *ui_description =
+	    "<ui>"
+	    "<popup name='devicesPopupMenu'>"
+	    " <menuitem action='Edit'/>"
+	    " <menuitem action='Delete'/>"
+	    "</popup>"
+	    "</ui>";
+
+	GtkActionGroup *action_group = gtk_action_group_new ("MenuActions");
+	gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), gpcap);
+ 
 	priv = gpcap->priv;
 
 	if (priv->devices_popup == NULL) {
-		priv->pilots_popup = gtk_menu_new ();
-		gnome_app_fill_menu (GTK_MENU_SHELL (priv->pilots_popup), popup, NULL, TRUE, 0);
+		GtkUIManager *ui_manager = gtk_ui_manager_new ();
+		gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
+
+		GError *error = NULL;
+		if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, &error))
+		{
+			g_message ("building menus failed: %s", error->message);
+			g_error_free (error);
+			exit (EXIT_FAILURE);
+		}
+
+		priv->devices_popup = gtk_ui_manager_get_widget (ui_manager, "/devicesPopupMenu");
 	}
 
-	return show_popup_menu (treeview, event, GTK_MENU (priv->pilots_popup));
+	return show_popup_menu (treeview, event, GTK_MENU (priv->devices_popup));
 }
 
 static ConduitState *
@@ -1042,10 +1085,13 @@ gpcap_conduits_choose_pilot (GtkWidget *
 	GnomePilotCapplet *gpcap = GNOME_PILOT_CAPPLET (user_data);
 	GnomePilotCappletPrivate *priv;
 	GPilotPilot *pilot;
+	guint index;
 	
 	priv = gpcap->priv;
+	
+	index = gtk_combo_box_get_active(GTK_COMBO_BOX(priv->pilots_combo));
 
-	pilot = gtk_object_get_data (GTK_OBJECT (widget), "pilot");
+	pilot = g_list_nth_data(priv->state->pilots, index);
 
 	set_conduit_pilot (gpcap, pilot);
 }
@@ -1166,33 +1212,48 @@ gpcap_conduits_popup (GtkTreeView *treev
 	ConduitState *state;
 	GtkTreePath *path;
 	gboolean test = FALSE, enabled = FALSE;
-	
-	GnomeUIInfo popup [] = {
-		GNOMEUIINFO_ITEM_DATA (N_("_Enable this conduit"),
-				       N_("Disable the currently selected conduit"),
-				       gpcap_conduits_enable, gpcap, NULL),
-		GNOMEUIINFO_ITEM_DATA (N_("_Disable this conduit"),
-				       N_("Enable the currently selected conduit"),
-				       gpcap_conduits_disable, gpcap, NULL),
-
-		GNOMEUIINFO_SEPARATOR,
-
-		GNOMEUIINFO_ITEM_DATA (N_("_Settings..."),
-				       N_("Modify the currently selected conduit's settings"),
-				       gpcap_conduits_settings, gpcap, NULL),
-		
-		GNOMEUIINFO_END
+
+	GtkActionEntry entries[] = {
+		{ "Enable", NULL, N_("_Enable this conduit"), NULL,
+		  N_("Disable the currently selected conduit"), G_CALLBACK(gpcap_conduits_enable)},
+		{ "Disable", NULL, N_("_Disable this conduit"), NULL,
+		  N_("Enable the currently selected conduit"), G_CALLBACK(gpcap_conduits_disable)},
+		{ "Settings", NULL, N_("_Settings..."), NULL,
+		  N_("Modify the currently selected conduit's settings"), G_CALLBACK(gpcap_conduits_settings)},
 	};
+
+	static const char *ui_description =
+	    "<ui>"
+	    "<popup name='conduitPopupMenu'>"
+	    " <menuitem action='Enable'/>"
+	    " <menuitem action='Disable'/>"
+	    " <separator/>"
+	    " <menuitem action='Settings'/>"
+	    "</popup>"
+	    "</ui>";
+
+	GtkActionGroup *action_group = gtk_action_group_new ("MenuActions");
+	gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), gpcap);
  
 	priv = gpcap->priv;
 
 	if (priv->conduit_popup == NULL) {
-		priv->conduit_popup = gtk_menu_new ();
-		gnome_app_fill_menu (GTK_MENU_SHELL (priv->conduit_popup), popup, NULL, TRUE, 0);
+		GtkUIManager *ui_manager = gtk_ui_manager_new ();
+		gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
+
+		GError *error = NULL;
+		if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, &error))
+		{
+			g_message ("building menus failed: %s", error->message);
+			g_error_free (error);
+			exit (EXIT_FAILURE);
+		}
+
+		priv->conduit_popup = gtk_ui_manager_get_widget (ui_manager, "/conduitPopupMenu");
 
-		priv->conduit_popup_enable = popup[0].widget;
-		priv->conduit_popup_disable = popup[1].widget;
-		priv->conduit_popup_settings = popup[3].widget;
+		priv->conduit_popup_enable = gtk_ui_manager_get_widget (ui_manager, "/conduitPopupMenu/Enable");
+		priv->conduit_popup_disable = gtk_ui_manager_get_widget (ui_manager, "/conduitPopupMenu/Disable");
+		priv->conduit_popup_settings = gtk_ui_manager_get_widget (ui_manager, "/conduitPopupMenu/Settings");
 		
 	}
 	
@@ -1293,7 +1354,7 @@ gpcap_dispose (GObject *object)
 
 		g_hash_table_destroy (priv->conduits);
 
-		g_object_unref (priv->xml);
+		g_object_unref (priv->ui);
 
 		if (priv->pilots_popup)
 			gtk_widget_destroy (priv->pilots_popup);
@@ -1306,7 +1367,7 @@ gpcap_dispose (GObject *object)
 
 		/* destroy pilot dialog, if it was loaded */
 		if (priv->pdialog) {
-			gppd_class = gtk_type_class (gnome_pilot_pdialog_get_type());
+			gppd_class = g_type_class_peek (gnome_pilot_pdialog_get_type());
 			if (GTK_OBJECT_CLASS (gppd_class)->destroy)
 				GTK_OBJECT_CLASS (gppd_class)->destroy (priv->pdialog);
 		}
diff -pruN 2.0.17-2/capplet/gnome-pilot-capplet.h 2.32.0-0ubuntu1/capplet/gnome-pilot-capplet.h
--- 2.0.17-2/capplet/gnome-pilot-capplet.h	2007-01-11 08:32:44.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-capplet.h	2009-11-04 21:26:18.000000000 +0000
@@ -30,8 +30,8 @@
 #ifndef _GNOME_PILOT_CAPPLET_H_
 #define _GNOME_PILOT_CAPPLET_H_
 
-#include <gnome.h>
 #include <gpilotd/gnome-pilot-client.h>
+#include <gtk/gtk.h>
 
 #ifdef __cplusplus
 extern "C" {
diff -pruN 2.0.17-2/capplet/gnome-pilot-cdialog.c 2.32.0-0ubuntu1/capplet/gnome-pilot-cdialog.c
--- 2.0.17-2/capplet/gnome-pilot-cdialog.c	2008-01-23 09:05:28.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-cdialog.c	2010-08-09 09:02:11.000000000 +0100
@@ -28,7 +28,6 @@
  */
 
 #include <sys/stat.h>
-#include <glade/glade.h>
 #include "pilot.h"
 #include "util.h"
 #include "gnome-pilot-cdialog.h"
@@ -38,7 +37,7 @@ static GtkObjectClass *parent_class = NU
 
 struct _GnomePilotCDialogPrivate 
 {
-	GladeXML *xml;
+	GtkBuilder *ui;
 
 	ConduitState *state;
 
@@ -62,26 +61,27 @@ static void gpcd_action_activated (GtkWi
 
 static void gpcd_destroy (GtkObject *object);
 
-GtkType
+GType
 gnome_pilot_cdialog_get_type (void)
 {
-  static GtkType type = 0;
+  static GType type = 0;
 
   if (type == 0)
     {
-      static const GtkTypeInfo info =
+      static const GTypeInfo info =
       {
-        "GnomePilotCDialog",
-        sizeof (GnomePilotCDialog),
         sizeof (GnomePilotCDialogClass),
-        (GtkClassInitFunc) class_init,
-        (GtkObjectInitFunc) init,
-        /* reserved_1 */ NULL,
-        /* reserved_2 */ NULL,
-        (GtkClassInitFunc) NULL,
+        NULL,
+        NULL,
+        (GClassInitFunc) class_init,
+        NULL,
+        NULL,
+        sizeof (GnomePilotCDialog),
+	0,
+        (GInstanceInitFunc) init,
       };
 
-      type = gtk_type_unique (gtk_object_get_type (), &info);
+      type = g_type_register_static (gtk_object_get_type (), "GnomePilotCDialog", &info, 0);
     }
 
   return type;
@@ -94,7 +94,7 @@ class_init (GnomePilotCDialogClass *klas
 
 	object_class = GTK_OBJECT_CLASS (klass);
 
-	parent_class = gtk_type_class (gtk_object_get_type ());
+	parent_class = g_type_class_peek (gtk_object_get_type ());
 
 	object_class->destroy = gpcd_destroy;
 }
@@ -103,23 +103,27 @@ static void
 init (GnomePilotCDialog *gpcd)
 {
 	GnomePilotCDialogPrivate *priv;
-	
+	guint error;
+	gchar *objects[] = {"ConduitSettings",
+			    NULL};
+
 	priv = g_new0 (GnomePilotCDialogPrivate, 1);
 
 	gpcd->priv = priv;
 
-	/* Gui stuff */
-	priv->xml = glade_xml_new ("gpilotd-capplet.glade", "ConduitSettings", NULL);
-	if (!priv->xml) {
-		priv->xml = glade_xml_new (GLADEDATADIR "/gpilotd-capplet.glade", "ConduitSettings", NULL);
-		if (!priv->xml) {
-			g_message ("gnome-pilot-cdialog init(): Could not load the Glade XML file!");
+	/* Gui stuff */ 
+	priv->ui = gtk_builder_new ();
+	error = gtk_builder_add_objects_from_file (priv->ui, "gpilotd-capplet.ui", objects, NULL);
+	if (error == 0) {
+		error = gtk_builder_add_objects_from_file (priv->ui, UIDATADIR "/gpilotd-capplet.ui", objects, NULL);
+		if (error == 0) {
+			g_message ("gnome-pilot-cdialog init(): Could not load the GtkBuilder UI file!");
 			goto error;
 		}
 	}
 
 	if (!get_widgets (gpcd)) {
-		g_message ("gnome-pilot-cdialog init(): Could not find all widgets in the XML file!");
+		g_message ("gnome-pilot-cdialog init(): Could not find all widgets in the UI file!");
 		goto error;
 	}
 	
@@ -135,7 +139,7 @@ gnome_pilot_cdialog_new (ConduitState *s
 	GnomePilotCDialog *gpcd;
 	GtkObject *object;
 	
-	object = gtk_type_new (GNOME_PILOT_TYPE_CDIALOG);
+	object = GTK_OBJECT(g_type_create_instance(GNOME_PILOT_TYPE_CDIALOG));
 	
 	gpcd = GNOME_PILOT_CDIALOG (object);
 	gpcd->priv->state = state;
@@ -153,13 +157,13 @@ get_widgets (GnomePilotCDialog *gpcd)
 
 	priv = gpcd->priv;
 
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) GTK_WIDGET (gtk_builder_get_object (priv->ui, name))
 
 	priv->dialog = GW ("ConduitSettings");
 
 	priv->settings_frame = GW ("settings_frame");
-	priv->sync_actions = GW ("sync_actions_menu");
-	priv->sync_one_actions = GW ("sync_one_actions_menu");
+	priv->sync_actions = GW ("sync_actions_combo");
+	priv->sync_one_actions = GW ("sync_one_actions_combo");
 	
 	priv->options_frame = GW ("options_frame");
 
@@ -167,6 +171,7 @@ get_widgets (GnomePilotCDialog *gpcd)
 	return (priv->dialog
 		&& priv->settings_frame
 		&& priv->sync_actions
+		&& priv->sync_one_actions
 		&& priv->options_frame);
 }
 
@@ -174,21 +179,11 @@ static void 
 init_widgets (GnomePilotCDialog *gpcd)
 {
 	GnomePilotCDialogPrivate *priv;
-	GtkWidget *menu;
-	GList *l;
 	
 	priv = gpcd->priv;
 
-	menu = gtk_option_menu_get_menu (GTK_OPTION_MENU (priv->sync_actions));
-	l = GTK_MENU_SHELL (menu)->children;
-	while (l != NULL) {
-		GtkWidget *menu_item = GTK_WIDGET (l->data);
-		
-		gtk_signal_connect (GTK_OBJECT (menu_item), "activate",
-				    GTK_SIGNAL_FUNC (gpcd_action_activated), gpcd);
-		
-		l = l->next;
-	}
+	g_signal_connect (GTK_OBJECT (priv->sync_actions), "changed",
+	    G_CALLBACK (gpcd_action_activated), gpcd);
 }
 
 static void
@@ -199,9 +194,8 @@ fill_widgets (GnomePilotCDialog *gpcd)
 	priv = gpcd->priv;
 
 	if (priv->state) {
-		fill_conduit_sync_type_menu (GTK_OPTION_MENU (priv->sync_actions), priv->state);
-		if (priv->state->default_sync_type != GnomePilotConduitSyncTypeCustom)
-			fill_conduit_first_sync_type_menu (GTK_OPTION_MENU (priv->sync_one_actions), priv->state);
+		fill_conduit_sync_type_combo (GTK_COMBO_BOX (priv->sync_actions), priv->state);
+		fill_conduit_first_sync_type_combo (GTK_COMBO_BOX (priv->sync_one_actions), priv->state);
 
 		if (!priv->state->has_settings) {
 			gtk_widget_hide (priv->settings_frame);
@@ -224,28 +218,36 @@ GnomePilotConduitSyncType 
 gnome_pilot_cdialog_sync_type (GnomePilotCDialog *gpcd)
 {
 	GnomePilotCDialogPrivate *priv;
-	GtkWidget *menu, *menu_item;
+	GtkTreeIter iter;
+	GtkTreeModel *model;
+	int sync_type = -1;
 	
 	priv = gpcd->priv;
 	
-	menu = gtk_option_menu_get_menu (GTK_OPTION_MENU (priv->sync_actions));
-	menu_item = gtk_menu_get_active (GTK_MENU (menu));
-	
-	return GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (menu_item), "sync_type"));
+	model = gtk_combo_box_get_model (GTK_COMBO_BOX(priv->sync_actions));
+	if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(priv->sync_actions), &iter)) {
+		gtk_tree_model_get(model, &iter, 1, &sync_type, -1);
+	}
+
+	return sync_type;
 }
 
 GnomePilotConduitSyncType 
 gnome_pilot_cdialog_first_sync_type (GnomePilotCDialog *gpcd)
 {
 	GnomePilotCDialogPrivate *priv;
-	GtkWidget *menu, *menu_item;
+	GtkTreeIter iter;
+	GtkTreeModel *model;
+	int sync_type = -1;
 	
 	priv = gpcd->priv;
 	
-	menu = gtk_option_menu_get_menu (GTK_OPTION_MENU (priv->sync_one_actions));
-	menu_item = gtk_menu_get_active (GTK_MENU (menu));
-	
-	return GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (menu_item), "sync_type"));
+	model = gtk_combo_box_get_model (GTK_COMBO_BOX(priv->sync_one_actions));
+	if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(priv->sync_one_actions), &iter)) {
+		gtk_tree_model_get(model, &iter, 1, &sync_type, -1);
+	}
+
+	return sync_type;
 }
 
 gboolean
@@ -257,6 +259,7 @@ gnome_pilot_cdialog_run_and_close (Gnome
 	priv = gpcd->priv;
 	
 	gtk_window_set_transient_for (GTK_WINDOW (priv->dialog), parent);
+	fill_conduit_sync_type_combo (GTK_COMBO_BOX (priv->sync_actions), priv->state);
 	btn = gtk_dialog_run (GTK_DIALOG (priv->dialog));
 	gtk_widget_hide(priv->dialog);
 
@@ -286,7 +289,7 @@ gpcd_destroy (GtkObject *object)
 	
 	priv = gpcd->priv;
 
-	gtk_object_unref (GTK_OBJECT (priv->xml));
+	g_object_unref (G_OBJECT (priv->ui));
 
 	if (GTK_OBJECT_CLASS (parent_class)->destroy)
 		(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
diff -pruN 2.0.17-2/capplet/gnome-pilot-cdialog.h 2.32.0-0ubuntu1/capplet/gnome-pilot-cdialog.h
--- 2.0.17-2/capplet/gnome-pilot-cdialog.h	2007-01-11 08:32:44.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-cdialog.h	2010-08-09 09:02:10.000000000 +0100
@@ -30,17 +30,15 @@
 #ifndef _GNOME_PILOT_CDIALOG_H_
 #define _GNOME_PILOT_CDIALOG_H_
 
-#include <gnome.h>
-
 G_BEGIN_DECLS
 
 #define GNOME_PILOT_TYPE_CDIALOG			(gnome_pilot_cdialog_get_type ())
-#define GNOME_PILOT_CDIALOG(obj)			(GTK_CHECK_CAST ((obj), GNOME_PILOT_TYPE_CDIALOG, GnomePilotCDialog))
-#define GNOME_PILOT_CDIALOG_CLASS(klass)		(GTK_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_CDIALOG, GnomePilotCDialogClass))
-#define GNOME_PILOT_IS_CDIALOG(obj)			(GTK_CHECK_TYPE ((obj), GNOME_PILOT_TYPE_CDIALOG))
-#define GNOME_PILOT_IS_CDIALOG_CLASS(klass)		(GTK_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_CDIALOG))
+#define GNOME_PILOT_CDIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PILOT_TYPE_CDIALOG, GnomePilotCDialog))
+#define GNOME_PILOT_CDIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_CDIALOG, GnomePilotCDialogClass))
+#define GNOME_PILOT_IS_CDIALOG(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PILOT_TYPE_CDIALOG))
+#define GNOME_PILOT_IS_CDIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_CDIALOG))
+
 
-
 typedef struct _GnomePilotCDialog        GnomePilotCDialog;
 typedef struct _GnomePilotCDialogPrivate GnomePilotCDialogPrivate;
 typedef struct _GnomePilotCDialogClass   GnomePilotCDialogClass;
@@ -55,8 +53,8 @@ struct _GnomePilotCDialogClass {
 	GtkObjectClass parent_class;
 };
 
-
-GtkType    gnome_pilot_cdialog_get_type (void);
+
+GType    gnome_pilot_cdialog_get_type (void);
 GtkObject *gnome_pilot_cdialog_new      (ConduitState *state);
 
 GnomePilotConduitSyncType gnome_pilot_cdialog_first_sync_type (GnomePilotCDialog *gpcd);
diff -pruN 2.0.17-2/capplet/gnome-pilot-ddialog.c 2.32.0-0ubuntu1/capplet/gnome-pilot-ddialog.c
--- 2.0.17-2/capplet/gnome-pilot-ddialog.c	2008-01-23 09:05:24.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-ddialog.c	2010-08-09 09:02:11.000000000 +0100
@@ -28,7 +28,6 @@
  */
 
 #include <sys/stat.h>
-#include <glade/glade.h>
 #include "pilot.h"
 #include "util.h"
 #include "gnome-pilot-ddialog.h"
@@ -38,7 +37,7 @@ static GtkObjectClass *parent_class = NU
 
 struct _GnomePilotDDialogPrivate 
 {
-	GladeXML *xml;
+	GtkBuilder *ui;
 
 	GPilotDevice *device;
 
@@ -48,7 +47,7 @@ struct _GnomePilotDDialogPrivate 
 	GtkWidget *device_port;
 	GtkWidget *device_port_combo;
 	GtkWidget *device_port_label;
-	GtkWidget *device_speed;
+	GtkWidget *device_speed_combo;
 	GtkWidget *device_speed_label;
 	GtkWidget *device_timeout;
 	GtkWidget *device_serial;
@@ -75,26 +74,26 @@ static void set_widget_visibility_by_typ
 static void network_device_toggled_callback (GtkRadioButton *btn,
     void *data);
 
-GtkType
+GType
 gnome_pilot_ddialog_get_type (void)
 {
-  static GtkType type = 0;
+  static GType type = 0;
 
   if (type == 0)
     {
-      static const GtkTypeInfo info =
+      static const GTypeInfo info =
       {
-        "GnomePilotDDialog",
-        sizeof (GnomePilotDDialog),
         sizeof (GnomePilotDDialogClass),
-        (GtkClassInitFunc) class_init,
-        (GtkObjectInitFunc) init,
-        /* reserved_1 */ NULL,
-        /* reserved_2 */ NULL,
-        (GtkClassInitFunc) NULL,
+        NULL,
+        NULL,
+        (GClassInitFunc) class_init,
+        NULL,
+        NULL,
+        sizeof (GnomePilotDDialog),
+	0,
+        (GInstanceInitFunc) init,
       };
-
-      type = gtk_type_unique (gtk_object_get_type (), &info);
+      type = g_type_register_static (gtk_object_get_type (), "GnomePilotDDialog", &info, 0);
     }
 
   return type;
@@ -107,7 +106,7 @@ class_init (GnomePilotDDialogClass *klas
 
 	object_class = GTK_OBJECT_CLASS (klass);
 
-	parent_class = gtk_type_class (gtk_object_get_type ());
+	parent_class = g_type_class_peek (gtk_object_get_type ());
 
 	object_class->destroy = gpdd_destroy;
 }
@@ -116,23 +115,30 @@ static void
 init (GnomePilotDDialog *gpdd)
 {
 	GnomePilotDDialogPrivate *priv;
+	guint error;
+	GError *err = NULL;
+	gchar *objects[] = {"DeviceSettings",
+			    "timeout_adjustment",
+			    "device_port_store",
+			    NULL};
 	
 	priv = g_new0 (GnomePilotDDialogPrivate, 1);
 
 	gpdd->priv = priv;
 
 	/* Gui stuff */
-	priv->xml = glade_xml_new ("gpilotd-capplet.glade", "DeviceSettings", NULL);
-	if (!priv->xml) {
-		priv->xml = glade_xml_new (GLADEDATADIR "/gpilotd-capplet.glade", "DeviceSettings", NULL);
-		if (!priv->xml) {
-			g_message ("gnome-pilot-ddialog init(): Could not load the Glade XML file!");
+	priv->ui = gtk_builder_new ();
+	error = gtk_builder_add_objects_from_file (priv->ui, "gpilotd-capplet.ui", objects, NULL);
+	if (error == 0) {
+       	error = gtk_builder_add_objects_from_file (priv->ui, UIDATADIR "/gpilotd-capplet.ui", objects, &err);
+		if (error == 0) {
+			g_message ("gnome-pilot-ddialog init(): Could not load the GtkBuilder UI file: %s", err->message);
 			goto error;
 		}
 	}
 
 	if (!get_widgets (gpdd)) {
-		g_message ("gnome-pilot-ddialog init(): Could not find all widgets in the XML file!");
+		g_message ("gnome-pilot-ddialog init(): Could not find all widgets in the UI file!");
 		goto error;
 	}
 
@@ -148,7 +154,7 @@ gnome_pilot_ddialog_new (GPilotDevice *d
 	GnomePilotDDialog *gpdd;
 	GtkObject *object;
 	
-	object = gtk_type_new (GNOME_PILOT_TYPE_DDIALOG);
+	object = GTK_OBJECT (g_type_create_instance (GNOME_PILOT_TYPE_DDIALOG));
 	
 	gpdd = GNOME_PILOT_DDIALOG (object);
 	gpdd->priv->device = device;
@@ -164,18 +170,21 @@ static gboolean
 get_widgets (GnomePilotDDialog *gpdd)
 {
 	GnomePilotDDialogPrivate *priv;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
 
 	priv = gpdd->priv;
 
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) GTK_WIDGET (gtk_builder_get_object (priv->ui, name))
 
 	priv->dialog = GW ("DeviceSettings");
 
 	priv->device_name = GW ("device_name_entry");
-	priv->device_port = GW ("device_port_entry");
 	priv->device_port_label = GW ("device_port_label");
 	priv->device_port_combo = GW ("device_port_combo");
-	priv->device_speed = GW ("device_speed_menu");
+	priv->device_port = gtk_bin_get_child (
+	    GTK_BIN(priv->device_port_combo));
+	priv->device_speed_combo = GW ("device_speed_combo");
 	priv->device_speed_label = GW ("device_speed_label");
 	priv->device_timeout = GW ("timeout_spinner");
 	priv->device_serial = GW ("serial_radio");
@@ -184,22 +193,34 @@ get_widgets (GnomePilotDDialog *gpdd)
 	priv->device_network = GW ("network_radio");
 	priv->device_bluetooth = GW ("bluetooth_radio");
 
+	/* Doing the cell layout in glade .ui file seemed to result
+	 * in duplicated text.  Probably a bug in glade/gtkbuilder?
+	 */
+	//	model = GTK_TREE_MODEL(gtk_list_store_new (1, G_TYPE_STRING));
+	model = GTK_TREE_MODEL(gtk_builder_get_object (priv->ui,
+		"device_port_store"));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (priv->device_port_combo), model);
+	gtk_combo_box_entry_set_text_column(
+	    GTK_COMBO_BOX_ENTRY (priv->device_port_combo), 0);
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(priv->device_port_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->device_port_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->device_port_combo),
+	    renderer, "text", 0);
 #ifdef PILOT_LINK_0_12
 	/* usb: (libusb) pseudo-device is available from pilot-link 0.12.0 */
-	priv->libusb_list = NULL;
-	priv->libusb_label = gtk_list_item_new_with_label ("usb:");
-	gtk_widget_show(priv->libusb_label);
-	priv->libusb_list = g_list_append(priv->libusb_list,
-	    priv->libusb_label);
-	gtk_list_insert_items (GTK_LIST((GTK_COMBO(priv->device_port_combo))->list),
-	    priv->libusb_list, 1);
+	gtk_list_store_prepend (GTK_LIST_STORE (model), &iter);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, "usb:", -1);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->device_usb), 1);
 #endif
-	
+	fill_speed_combo(GTK_COMBO_BOX(priv->device_speed_combo));
+
 #undef GW
 	return (priv->dialog
 		&& priv->device_name
 		&& priv->device_port
-		&& priv->device_speed
+		&& priv->device_speed_combo
 		&& priv->device_timeout
 		&& priv->device_serial
 		&& priv->device_usb
@@ -215,15 +236,15 @@ map_widgets (GnomePilotDDialog *gpdd)
 	
 	priv = gpdd->priv;
 
-	gtk_object_set_data (GTK_OBJECT (gpdd), "port_entry", priv->device_port);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "name_entry", priv->device_name);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "speed_menu", priv->device_speed);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "irda_radio", priv->device_serial);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "usb_radio", priv->device_usb);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "irda_radio", priv->device_irda);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "network_radio", priv->device_network);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "bluetooth_radio", priv->device_bluetooth);
-	gtk_object_set_data (GTK_OBJECT (gpdd), "timeout_spinner", priv->device_timeout);
+	g_object_set_data (G_OBJECT (gpdd), "port_entry", priv->device_port);
+	g_object_set_data (G_OBJECT (gpdd), "name_entry", priv->device_name);
+	g_object_set_data (G_OBJECT (gpdd), "speed_combo", priv->device_speed_combo);
+	g_object_set_data (G_OBJECT (gpdd), "irda_radio", priv->device_serial);
+	g_object_set_data (G_OBJECT (gpdd), "usb_radio", priv->device_usb);
+	g_object_set_data (G_OBJECT (gpdd), "irda_radio", priv->device_irda);
+	g_object_set_data (G_OBJECT (gpdd), "network_radio", priv->device_network);
+	g_object_set_data (G_OBJECT (gpdd), "bluetooth_radio", priv->device_bluetooth);
+	g_object_set_data (G_OBJECT (gpdd), "timeout_spinner", priv->device_timeout);
 }
 
 static void 
@@ -233,12 +254,12 @@ init_widgets (GnomePilotDDialog *gpdd)
 
 	priv = gpdd->priv;
 
-	gtk_signal_connect (GTK_OBJECT (priv->device_port),"insert-text",
-			    GTK_SIGNAL_FUNC (insert_device_callback), NULL);
-	gtk_signal_connect (GTK_OBJECT (priv->device_bluetooth), "toggled",
-			    GTK_SIGNAL_FUNC (network_device_toggled_callback), gpdd);
-	gtk_signal_connect (GTK_OBJECT (priv->device_network), "toggled",
-			    GTK_SIGNAL_FUNC (network_device_toggled_callback), gpdd);
+	g_signal_connect (GTK_OBJECT (priv->device_port),"insert-text",
+			    G_CALLBACK (insert_device_callback), NULL);
+	g_signal_connect (GTK_OBJECT (priv->device_bluetooth), "toggled",
+			    G_CALLBACK (network_device_toggled_callback), gpdd);
+	g_signal_connect (GTK_OBJECT (priv->device_network), "toggled",
+			    G_CALLBACK (network_device_toggled_callback), gpdd);
 }
 
 static void
@@ -253,8 +274,6 @@ fill_widgets (GnomePilotDDialog *gpdd)
 		if (priv->device->port != NULL)
 			gtk_entry_set_text (GTK_ENTRY (priv->device_port), priv->device->port);
 
-		fill_speed_menu (GTK_OPTION_MENU (priv->device_speed), priv->device->speed);
-
 		gtk_spin_button_set_value (GTK_SPIN_BUTTON (priv->device_timeout), priv->device->timeout);
 
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->device_serial),
@@ -268,6 +287,8 @@ fill_widgets (GnomePilotDDialog *gpdd)
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->device_bluetooth),
 					      priv->device->type == PILOT_DEVICE_BLUETOOTH);
 		set_widget_visibility_by_type(gpdd, priv->device->type);
+		speed_combo_set_speed(GTK_COMBO_BOX(priv->device_speed_combo),
+				      priv->device->speed);
 	}
 }
 
@@ -277,6 +298,7 @@ gnome_pilot_ddialog_run_and_close (Gnome
 	GnomePilotDDialogPrivate *priv;
 	gint btn;
 	GPilotDevice *tmpdev = g_new0 (GPilotDevice, 1);
+	gchar *errstr = NULL;
 	
 	priv = gpdd->priv;
 
@@ -286,9 +308,12 @@ gnome_pilot_ddialog_run_and_close (Gnome
 	
 		if (btn == GTK_RESPONSE_OK) {
 			read_device_config (GTK_OBJECT (gpdd), tmpdev);
-			if(check_device_settings (tmpdev)) {
+			if(check_device_settings (tmpdev, &errstr)) {
 				*priv->device = *tmpdev;
 				break;
+			} else {
+				error_dialog(NULL, errstr);
+				g_free(errstr);
 			}
 		} else {
 			break;
@@ -309,7 +334,7 @@ gpdd_destroy (GtkObject *object)
 	priv = gpdd->priv;
 
 	gtk_widget_destroy (priv->dialog);
-	gtk_object_unref (GTK_OBJECT (priv->xml));
+	g_object_unref (G_OBJECT (priv->ui));
 
 	if (GTK_OBJECT_CLASS (parent_class)->destroy)
 		(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
@@ -349,7 +374,7 @@ set_widget_visibility_by_type(GnomePilot
 	    enable_extra_widgets);
 	gtk_widget_set_sensitive(priv->device_port_label,
 	    enable_extra_widgets);
-	gtk_widget_set_sensitive(priv->device_speed,
+	gtk_widget_set_sensitive(priv->device_speed_combo,
 	    enable_extra_widgets);
 	gtk_widget_set_sensitive(priv->device_speed_label,
 	    enable_extra_widgets);
diff -pruN 2.0.17-2/capplet/gnome-pilot-ddialog.h 2.32.0-0ubuntu1/capplet/gnome-pilot-ddialog.h
--- 2.0.17-2/capplet/gnome-pilot-ddialog.h	2007-01-11 08:32:44.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-ddialog.h	2010-08-09 09:02:10.000000000 +0100
@@ -30,17 +30,15 @@
 #ifndef _GNOME_PILOT_DDIALOG_H_
 #define _GNOME_PILOT_DDIALOG_H_
 
-#include <gnome.h>
-
 G_BEGIN_DECLS
 
 #define GNOME_PILOT_TYPE_DDIALOG			(gnome_pilot_ddialog_get_type ())
-#define GNOME_PILOT_DDIALOG(obj)			(GTK_CHECK_CAST ((obj), GNOME_PILOT_TYPE_DDIALOG, GnomePilotDDialog))
-#define GNOME_PILOT_DDIALOG_CLASS(klass)		(GTK_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_DDIALOG, GnomePilotDDialogClass))
-#define GNOME_PILOT_IS_DDIALOG(obj)			(GTK_CHECK_TYPE ((obj), GNOME_PILOT_TYPE_DDIALOG))
-#define GNOME_PILOT_IS_DDIALOG_CLASS(klass)		(GTK_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_DDIALOG))
+#define GNOME_PILOT_DDIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PILOT_TYPE_DDIALOG, GnomePilotDDialog))
+#define GNOME_PILOT_DDIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_DDIALOG, GnomePilotDDialogClass))
+#define GNOME_PILOT_IS_DDIALOG(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PILOT_TYPE_DDIALOG))
+#define GNOME_PILOT_IS_DDIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_DDIALOG))
+
 
-
 typedef struct _GnomePilotDDialog        GnomePilotDDialog;
 typedef struct _GnomePilotDDialogPrivate GnomePilotDDialogPrivate;
 typedef struct _GnomePilotDDialogClass   GnomePilotDDialogClass;
@@ -55,8 +53,8 @@ struct _GnomePilotDDialogClass {
 	GtkObjectClass parent_class;
 };
 
-
-GtkType    gnome_pilot_ddialog_get_type (void);
+
+GType    gnome_pilot_ddialog_get_type (void);
 GtkObject *gnome_pilot_ddialog_new      (GPilotDevice *device);
 
 gboolean gnome_pilot_ddialog_run_and_close (GnomePilotDDialog *gppd, GtkWindow *parent);
diff -pruN 2.0.17-2/capplet/gnome-pilot-druid.c 2.32.0-0ubuntu1/capplet/gnome-pilot-druid.c
--- 2.0.17-2/capplet/gnome-pilot-druid.c	2011-01-27 03:55:14.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-druid.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,895 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* gnome-pilot-druid.c
- *
- * Copyright (C) 1998 Red Hat Software       
- * Copyright (C) 1999-2000 Free Software Foundation
- * Copyright (C) 2001  Ximian, 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 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.
- *
- * Authors: Eskil Heyn Olsen
- *          Vadim Strizhevsky
- *          Michael Fulbright <msf@redhat.com>
- *          JP Rosevear <jpr@ximian.com>
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <glade/glade.h>
-#include "pilot.h"
-#include "util.h"
-#include "gnome-pilot-druid.h"
-
-
-static GtkObjectClass *parent_class = NULL;
-
-struct _GnomePilotDruidPrivate 
-{
-	GladeXML *xml;
-
-	GnomePilotClient *gpc;
-	gint handle1;
-	gint handle2;
-
-	gboolean finished;
-	gboolean started;
-	
-	PilotState *state;
-	PilotState *orig_state;
-	GPilotDevice *device;
-	GPilotPilot *pilot;
-
-	GtkWidget *druid_window;
-	GtkWidget *druid;
-
-	GtkWidget *page_cradle;
-	GtkWidget *page_pilot_one;
-	GtkWidget *page_sync;
-	GtkWidget *page_pilot_two;
-	GtkWidget *page_conduits;
-	GtkWidget *page_finish;
-
-	GtkWidget *device_name;
-	GtkWidget *device_port;
-	GtkWidget *device_port_combo;
-	GtkWidget *device_port_label;
-	GtkWidget *device_speed;
-	GtkWidget *device_speed_label;
-	GtkWidget *device_timeout;
-	GtkWidget *device_usb;
-	GtkWidget *device_irda;
-	GtkWidget *device_network;
-	GtkWidget *device_bluetooth;
-#ifdef PILOT_LINK_0_12
-	GtkWidget *libusb_label;
-	GList *libusb_list;
-#endif
-	
-	GtkWidget *pilot_info;
-	GtkWidget *pilot_info_no;
-	GtkWidget *pilot_username;
-	GtkWidget *pilot_id;
-
-	GtkWidget *sync_label_vbox;
-	GtkWidget *sync_label;
-
-	GtkWidget *pilot_name;
-	GtkWidget *pilot_basedir;
-#ifdef PILOT_LINK_0_12
-	GtkWidget *pilot_charset;
-#endif
-	GtkWidget *pilot_charset_label;
-	GtkWidget *pilot_charset_combo;
-};
-
-static void class_init (GnomePilotDruidClass *klass);
-static void init (GnomePilotDruid *gpd);
-
-static gboolean get_widgets (GnomePilotDruid *gpd);
-static void map_widgets (GnomePilotDruid *gpd);
-static void init_widgets (GnomePilotDruid *gpd);
-static void fill_widgets (GnomePilotDruid *gpd);
-static void set_widget_visibility_by_type(GnomePilotDruid *gpd, int type);
-static void network_device_toggled_callback (GtkRadioButton *btn,
-    void *data);
-
-static gboolean gpd_delete_window (GtkWidget *widget,GdkEvent *event,gpointer user_data);
-static void gpd_canceled (GnomeDruid *druid, gpointer user_data);
-static void gpd_help (GnomeDruid *druid, gpointer user_data);
-
-static void gpd_cradle_page_prepare (GnomeDruidPage *page, gpointer arg1, gpointer user_data);
-static gboolean gpd_cradle_page_next (GnomeDruidPage *page, gpointer arg1, gpointer user_data);
-
-static void gpd_sync_page_prepare (GnomeDruidPage *page, gpointer arg1, gpointer user_data);
-static gboolean gpd_sync_page_back (GnomeDruidPage *druidpage, gpointer arg1, gpointer user_data);
-static gboolean gpd_pilot_page_two_next (GnomeDruidPage *druidpage, gpointer arg1, gpointer user_data);
-static void gpd_finish_page_finished (GnomeDruidPage *druidpage, gpointer arg1, gpointer user_data);
-
-static void gpd_device_info_check (GtkEditable *editable, gpointer user_data);
-static void gpd_pilot_info_check (GtkEditable *editable, gpointer user_data);
-static void gpd_pilot_info_button (GtkToggleButton *toggle, gpointer user_data);
-
-static void gpd_request_completed (GnomePilotClient* client, const gchar *id, gint handle, gpointer user_data);
-static void gpd_userinfo_requested (GnomePilotClient *gpc, const gchar *device, const GNOME_Pilot_UserInfo *user, gpointer user_data);
-static void gpd_system_info_requested (GnomePilotClient *gpc,
- const gchar *device, const GNOME_Pilot_SysInfo *sysinfo, gpointer user_data);
-
-static void gpd_destroy (GtkObject *object);
-
-GtkType
-gnome_pilot_druid_get_type (void)
-{
-  static GtkType type = 0;
-
-  if (type == 0)
-    {
-      static const GtkTypeInfo info =
-      {
-        "GnomePilotDruid",
-        sizeof (GnomePilotDruid),
-        sizeof (GnomePilotDruidClass),
-        (GtkClassInitFunc) class_init,
-        (GtkObjectInitFunc) init,
-        /* reserved_1 */ NULL,
-        /* reserved_2 */ NULL,
-        (GtkClassInitFunc) NULL,
-      };
-
-      type = gtk_type_unique (gtk_object_get_type (), &info);
-    }
-
-  return type;
-}
-
-static void
-class_init (GnomePilotDruidClass *klass)
-{
-	GtkObjectClass *object_class;
-
-	object_class = GTK_OBJECT_CLASS (klass);
-
-	parent_class = gtk_type_class (gtk_object_get_type ());
-
-	object_class->destroy = gpd_destroy;
-}
-
-static void
-init (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-	
-	priv = g_new0 (GnomePilotDruidPrivate, 1);
-
-	gpd->priv = priv;
-
-	priv->finished = FALSE;
-	priv->started = FALSE;
-	
-	/* State information */
-	loadPilotState (&priv->orig_state);
-	priv->state = dupPilotState (priv->orig_state);
-	priv->pilot = g_new0 (GPilotPilot, 1);
-	priv->device = g_new0 (GPilotDevice,1);
-
-	/* Gui stuff */
-	priv->xml = glade_xml_new ("gpilotd-capplet.glade", NULL, NULL);
-	if (!priv->xml) {
-		priv->xml = glade_xml_new (GLADEDATADIR "/gpilotd-capplet.glade", NULL, NULL);
-		if (!priv->xml) {
-			g_message ("gnome-pilot-druid init(): Could not load the Glade XML file!");
-			goto error;
-		}
-	}
-
-	if (!get_widgets (gpd)) {
-		g_message ("gnome-pilot-druid init(): Could not find all widgets in the XML file!");
-		goto error;
-	}
-
-	map_widgets (gpd);
-	fill_widgets (gpd);
-	init_widgets (gpd);
-
- error:
-	;
-}
-
-
-
-GtkObject *
-gnome_pilot_druid_new (GnomePilotClient *gpc)
-{
-	GnomePilotDruid *gpd;
-	GtkObject *obj;
-	
-	obj = gtk_type_new (GNOME_PILOT_TYPE_DRUID);
-	
-	gpd = GNOME_PILOT_DRUID (obj);
-	gpd->priv->gpc = gpc;
-
-	gtk_signal_connect (GTK_OBJECT (gpc), "completed_request",
-			    GTK_SIGNAL_FUNC (gpd_request_completed), gpd);
-	gtk_signal_connect (GTK_OBJECT (gpc), "user_info",
-			    GTK_SIGNAL_FUNC (gpd_userinfo_requested), gpd);
-	gtk_signal_connect (GTK_OBJECT (gpc), "system_info",
-			    GTK_SIGNAL_FUNC (gpd_system_info_requested), gpd);
-
-	return obj;
-}
-
-static gboolean
-get_widgets (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-
-	priv = gpd->priv;
-
-#define GW(name) glade_xml_get_widget (priv->xml, name)
-
-	priv->druid_window = GW ("DruidWindow");
-	priv->druid = GW ("druid");
-
-	priv->page_cradle = GW ("druidpage_cradle");
-	priv->page_pilot_one = GW ("druidpage_pilot1");
-	priv->page_sync = GW ("druidpage_sync");
-	priv->page_pilot_two = GW ("druidpage_pilot2");
-	priv->page_conduits = GW ("druidpage_conduits");
-	priv->page_finish = GW ("druidpage_finish");
-	
-	priv->device_name = GW ("druid_device_name_entry");
-	priv->device_port = GW ("druid_device_port_entry");
-	priv->device_port_label = GW ("druid_device_port_label");
-	priv->device_port_combo = GW ("druid_device_port_combo");
-	priv->device_speed = GW ("druid_device_speed_menu");
-	priv->device_speed_label = GW ("druid_device_speed_label");
-	priv->device_timeout = GW ("druid_device_timeout_spinner");
-	priv->device_usb = GW ("druid_usb_radio");
-	priv->device_irda = GW ("druid_irda_radio");
-	priv->device_network = GW ("druid_network_radio");
-	priv->device_bluetooth = GW ("druid_bluetooth_radio");
-
-#ifdef PILOT_LINK_0_12
-	/* usb: (libusb) pseudo-device is available from pilot-link 0.12.0 */
-	priv->libusb_list = NULL;
-	priv->libusb_label = gtk_list_item_new_with_label ("usb:");
-	gtk_widget_show(priv->libusb_label);
-	priv->libusb_list = g_list_append(priv->libusb_list, priv->libusb_label);
-	gtk_list_insert_items (GTK_LIST((GTK_COMBO(priv->device_port_combo))->list),
-	priv->libusb_list, 1);
-#endif
-
-	priv->pilot_info = GW ("pilot_user_frame");
-	priv->pilot_info_no = GW ("no_radio_button");
-	priv->pilot_username = GW ("druid_pilot_username_entry");
-	priv->pilot_id = GW ("druid_pilot_id_entry");
-	
-	/* FIXME: is this a libglade bug or what? if sync_label 
-	   is constructed in .glade it is not properly redrawn the first time. */
-	priv->sync_label_vbox = GW ("sync_label_vbox");
-	priv->sync_label =  gtk_label_new ("");
-	gtk_box_pack_start (GTK_BOX (priv->sync_label_vbox), priv->sync_label, TRUE, FALSE, GNOME_PAD_SMALL);
-
-	priv->pilot_name = GW ("druid_pilot_name_entry");
-	priv->pilot_basedir = GW ("druid_pilot_basedir_entry");
-#ifdef PILOT_LINK_0_12
-	priv->pilot_charset = GW ("druid_pilot_charset_entry");
-#endif
-	priv->pilot_charset_label = GW ("druid_pilot_charset_label");
-	priv->pilot_charset_combo = GW ("druid_pilot_charset_combo");
-	
-#undef GW
-
-	return (priv->druid_window
-		&& priv->druid
-		&& priv->page_cradle
-		&& priv->page_pilot_one
-		&& priv->page_sync
-		&& priv->page_pilot_two
-		&& priv->page_finish
-		&& priv->device_name
-		&& priv->device_port
-		&& priv->device_speed
-		&& priv->device_timeout
-		&& priv->device_usb
-		&& priv->device_irda
-		&& priv->device_network
-		&& priv->device_bluetooth
-		&& priv->pilot_info
-		&& priv->pilot_info_no
-		&& priv->pilot_username
-		&& priv->pilot_id
-		&& priv->sync_label_vbox
-		&& priv->sync_label
-		&& priv->pilot_name
-		&& priv->pilot_basedir
-#ifdef PILOT_LINK_0_12
-		&& priv->pilot_charset
-#endif
-		&& priv->pilot_charset_label
-		&& priv->pilot_charset_combo);
-}
-
-static void
-map_widgets (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-	
-	gtk_object_set_data (GTK_OBJECT (gpd), "port_entry", priv->device_port);
-	gtk_object_set_data (GTK_OBJECT (gpd), "name_entry", priv->device_name);
-	gtk_object_set_data (GTK_OBJECT (gpd), "speed_menu", priv->device_speed);
-	gtk_object_set_data (GTK_OBJECT (gpd), "timeout_spinner", priv->device_timeout);
-	gtk_object_set_data (GTK_OBJECT (gpd), "usb_radio", priv->device_usb);
-	gtk_object_set_data (GTK_OBJECT (gpd), "irda_radio", priv->device_irda);
-	gtk_object_set_data (GTK_OBJECT (gpd), "network_radio", priv->device_network);
-	gtk_object_set_data (GTK_OBJECT (gpd), "bluetooth_radio", priv->device_bluetooth);
-
-	gtk_object_set_data (GTK_OBJECT (gpd), "username", priv->pilot_username);
-	gtk_object_set_data (GTK_OBJECT (gpd), "pilotid", priv->pilot_id);
-	gtk_object_set_data (GTK_OBJECT (gpd), "pilotname", priv->pilot_name);
-	gtk_object_set_data (GTK_OBJECT (gpd), "basedir", priv->pilot_basedir);
-#ifdef PILOT_LINK_0_12
-	gtk_object_set_data (GTK_OBJECT (gpd), "charset", priv->pilot_charset);
-#endif
-}
-
-static void 
-init_widgets (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-
-	priv = gpd->priv;
-
-	/* Main signals */
-	gtk_signal_connect (GTK_OBJECT (priv->druid_window), "delete_event",
-	    GTK_SIGNAL_FUNC (gpd_delete_window), gpd);
-
-	gtk_signal_connect (GTK_OBJECT (priv->druid), "cancel",
-	    GTK_SIGNAL_FUNC (gpd_canceled), gpd);
-	gtk_signal_connect (GTK_OBJECT (priv->druid), "help",
-			    GTK_SIGNAL_FUNC (gpd_help), gpd);
-
-
-	/* Page signals */
-	g_signal_connect_after (G_OBJECT (priv->page_cradle), "prepare",
-				G_CALLBACK (gpd_cradle_page_prepare), gpd);
-	g_signal_connect_after (G_OBJECT (priv->page_cradle), "next",
-				G_CALLBACK (gpd_cradle_page_next), gpd);
-
-	g_signal_connect_after (G_OBJECT (priv->page_sync), "prepare",
-				G_CALLBACK (gpd_sync_page_prepare), gpd);
-	g_signal_connect_after (G_OBJECT (priv->page_sync),"back",
-				G_CALLBACK (gpd_sync_page_back), gpd);
-
-	g_signal_connect_after (G_OBJECT (priv->page_pilot_two), "next",
-				G_CALLBACK (gpd_pilot_page_two_next), gpd);
-
-	g_signal_connect_after (G_OBJECT (priv->page_finish), "finish",
-				G_CALLBACK (gpd_finish_page_finished), gpd);
-
-	/* Other widget signals */
-	gtk_signal_connect (GTK_OBJECT (priv->device_name),"changed",
-			    GTK_SIGNAL_FUNC (gpd_device_info_check), gpd);
-	gtk_signal_connect (GTK_OBJECT (priv->device_port),"insert-text",
-			    GTK_SIGNAL_FUNC (insert_device_callback), NULL);
-	gtk_signal_connect (GTK_OBJECT (priv->device_network), "toggled",
-			    GTK_SIGNAL_FUNC (network_device_toggled_callback), gpd);
-	gtk_signal_connect (GTK_OBJECT (priv->device_bluetooth), "toggled",
-			    GTK_SIGNAL_FUNC (network_device_toggled_callback), gpd);
-	gtk_signal_connect (GTK_OBJECT (priv->device_port),"changed",
-			    GTK_SIGNAL_FUNC (gpd_device_info_check), gpd);
-
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_info_no),"toggled",
-			    GTK_SIGNAL_FUNC (gpd_pilot_info_button), gpd);
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_username),"insert-text",
-			    GTK_SIGNAL_FUNC (insert_username_callback), NULL);
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_username),"changed",
-			    GTK_SIGNAL_FUNC (gpd_pilot_info_check), gpd);
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_id),"insert-text",
-			    GTK_SIGNAL_FUNC (insert_numeric_callback), NULL);
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_id),"changed",
-			    GTK_SIGNAL_FUNC (gpd_pilot_info_check), gpd);
-
-}
-
-static void
-fill_widgets (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-	gchar buf[256];
-	char *str, *str2;
-	
-	priv = gpd->priv;
-	
-	/* Cradle page */
-	str = next_cradle_name (priv->state);
-	gtk_entry_set_text (GTK_ENTRY (priv->device_name), str);
-	g_free (str);
-	set_widget_visibility_by_type(gpd,
-	    (GTK_TOGGLE_BUTTON(priv->device_network)->active ||
-		GTK_TOGGLE_BUTTON(priv->device_bluetooth)->active) ?
-	    PILOT_DEVICE_NETWORK : PILOT_DEVICE_SERIAL);
-	
-	fill_speed_menu (GTK_OPTION_MENU (priv->device_speed), 0);
-
-	/* First pilot page */
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_username), g_get_real_name ());
-	
-	g_snprintf (buf, sizeof (buf), "%d", getuid ());
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_id), buf);
-
-	/* Second pilot page */
-	str = next_pilot_name (priv->state);
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_name), str);
-	
-	str2 = g_concat_dir_and_file (g_get_home_dir (), str);
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_basedir), str2);
-#ifndef PILOT_LINK_0_12
-	gtk_widget_set_sensitive(priv->pilot_charset_label, FALSE);
-	gtk_widget_set_sensitive(priv->pilot_charset_combo, FALSE);
-#else
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_charset),
-	    get_default_pilot_charset());
-#endif
-
-	g_free (str);
-	g_free (str2);
-}
-
-gboolean
-gnome_pilot_druid_run_and_close (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-	gboolean result;
-	
-	priv = gpd->priv;
-	
-	gtk_widget_show_all (priv->druid_window);
-	
-	gtk_main ();
-
-	result = priv->finished;
-	
-	gtk_object_destroy (GTK_OBJECT (gpd));
-
-	return result;
-}
-
-static gboolean
-cancel_dialog (GnomePilotDruid *gpd)
-{
-	GnomePilotDruidPrivate *priv;
-	GtkWidget *dlg;
-	
-	priv = gpd->priv;
-
-	if (!priv->started)
-		return TRUE;
-
-	dlg = gtk_message_dialog_new (GTK_WINDOW (priv->druid_window), GTK_DIALOG_DESTROY_WITH_PARENT, 
-				      GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
-				      _("Setup did not complete and settings will not\n"
-					"be saved. Are you sure you want to quit?"));
-
-	if (gtk_dialog_run (GTK_DIALOG (dlg)) == GTK_RESPONSE_YES) {
-		if (priv->handle1 > 0) {
-			gnome_pilot_client_remove_request (priv->gpc, priv->handle1);
-			priv->handle1 =-1;
-		}
-		if (priv->handle2 > 0) {
-			gnome_pilot_client_remove_request (priv->gpc, priv->handle2);
-			priv->handle2 =-1;
-		}
-		save_config_and_restart (priv->gpc, priv->orig_state);
-		freePilotState (priv->state);
-		priv->state = dupPilotState (priv->orig_state);
-	
-		gtk_widget_destroy (dlg);
-	
-		return TRUE;
-	}
-
-	gtk_widget_destroy (dlg);
-
-	return FALSE;
-}
-
-static gboolean
-check_cradle_settings (GnomePilotDruid *gpd) 
-{
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-	
-	return check_editable (GTK_EDITABLE (priv->device_name))
-		&& check_editable (GTK_EDITABLE (priv->device_port));
-}
-
-static gboolean
-check_pilot_settings (GnomePilotDruid *gpd) 
-{
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-	
-	return check_editable (GTK_EDITABLE (priv->pilot_username))
-		&& check_editable (GTK_EDITABLE (priv->pilot_id));
-}
-
-static gboolean
-gpd_delete_window (GtkWidget *widget, GdkEvent *event, gpointer user_data)
-{
-	return !cancel_dialog (GNOME_PILOT_DRUID (user_data));
-}
-
-static void 
-gpd_canceled (GnomeDruid *druid, gpointer user_data)
-{
-	if (cancel_dialog (GNOME_PILOT_DRUID (user_data)))
-		gtk_main_quit ();
-}
-
-static void 
-gpd_help (GnomeDruid *druid, gpointer user_data)
-{
-	gtk_show_uri (NULL, "ghelp:gnome-pilot#assistant", gtk_get_current_event_time (),NULL);
-}
-
-static void
-gpd_cradle_page_prepare (GnomeDruidPage *page, gpointer arg1, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	gboolean ready;
-
-	ready = check_cradle_settings (gpd);
-	gnome_druid_set_buttons_sensitive (GNOME_DRUID (arg1), TRUE, ready, TRUE, TRUE);
-}
-
-static gboolean
-gpd_cradle_page_next (GnomeDruidPage *page, gpointer arg1, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	GPilotDevice *tmp_device;
-	gboolean result;
-
-	priv = gpd->priv;
-
-	/* check the device settings */
-	tmp_device = gpilot_device_new();
-	read_device_config(GTK_OBJECT(gpd), tmp_device);
-	result = check_device_settings(tmp_device);
-	g_free(tmp_device->name);
-	g_free(tmp_device->port);
-	if (!result)
-		/* cancel proceeding to next page */
-		return TRUE;
-
-	priv->started = TRUE;
-
-	return FALSE;
-}
-
-static void
-gpd_sync_page_prepare (GnomeDruidPage *page, gpointer arg1, gpointer user_data)
-{
-
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	GNOME_Pilot_UserInfo user;
-	gchar *text, *location;
-
-	priv = gpd->priv;
-
-	read_device_config (GTK_OBJECT (gpd), priv->device);
-	if (priv->state->devices == NULL)
-		priv->state->devices = g_list_append (priv->state->devices, priv->device);
-
-	if (GTK_TOGGLE_BUTTON (priv->pilot_info_no)->active) {
-		/* do send_to_pilot */
-		read_pilot_config (GTK_OBJECT (gpd), priv->pilot);
-		location = priv->device->type == PILOT_DEVICE_NETWORK ?
-		    "netsync" : (priv->device->type == PILOT_DEVICE_BLUETOOTH ?
-			"bluetooth" : priv->device->port);
-		text = g_strdup_printf (_("About to send the following data to the PDA.\n"
-				       "Owner Name: %s\nPDA ID: %d\n"
-				       "Please put PDA in %s (%s) and press HotSync button."),
-					priv->pilot->pilot_username,
-					priv->pilot->pilot_id,
-					priv->device->name,
-					location);
-
-		save_config_and_restart (priv->gpc, priv->state);
-
-		user.userID = priv->pilot->pilot_id;
-		user.username = priv->pilot->pilot_username;
-
-		gnome_pilot_client_set_user_info (priv->gpc,
-						  priv->device->name,
-						  user,
-						  FALSE,
-						  GNOME_Pilot_IMMEDIATE,
-						  0,
-						  &priv->handle1);
-	} else {
-		/* do get_from_pilot */
-		location = priv->device->type == PILOT_DEVICE_NETWORK ?
-		    "netsync" : (priv->device->type == PILOT_DEVICE_BLUETOOTH ?
-			"bluetooth" : priv->device->port);
-		text = g_strdup_printf (_("About to retrieve Owner Name and "
-					    "ID from the PDA.\n"
-					    "Please put PDA in %s (%s) and press "
-					    "HotSync button."),
-		    priv->device->name,
-		    location);
-
-		save_config_and_restart (priv->gpc, priv->state);
-
-		gnome_pilot_client_get_user_info (priv->gpc, priv->device->name, GNOME_Pilot_IMMEDIATE, 0, &priv->handle1);
-		gnome_pilot_client_get_system_info (priv->gpc, priv->device->name, GNOME_Pilot_IMMEDIATE, 0, &priv->handle2);
-	}
-	gtk_label_set_text (GTK_LABEL (priv->sync_label), text);
-        g_free (text);
-
-	if (priv->handle1 <= 0 || priv->handle2 <= 0) {
-		error_dialog (GTK_WINDOW (priv->druid_window), _("Failed sending request to gpilotd"));
-		return;
-	}
-
-	/* disable NEXT until we've synced */
-	gnome_druid_set_buttons_sensitive (GNOME_DRUID (priv->druid), TRUE, FALSE, TRUE, TRUE);
-}
-
-static gboolean
-gpd_sync_page_back (GnomeDruidPage *druidpage, gpointer arg1, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	gboolean need_restart = FALSE;
-
-	priv = gpd->priv;
-	
-	if (priv->handle1 > 0) {
-		gnome_pilot_client_remove_request (priv->gpc, priv->handle1);
-		priv->handle1 = -1;
-		need_restart = TRUE;
-	}
-	if (priv->handle2 > 0) {
-		gnome_pilot_client_remove_request (priv->gpc, priv->handle2);
-		priv->handle2 = -1;
-		need_restart = TRUE;
-	}
-	if (need_restart)
-		save_config_and_restart (priv->gpc, priv->orig_state);
-	return FALSE;
-}
-
-static gboolean
-gpd_pilot_page_two_next (GnomeDruidPage *druidpage, gpointer arg1, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-
-
-	return (!(check_base_directory (gtk_entry_get_text (GTK_ENTRY (priv->pilot_basedir)))
-#ifdef PILOT_LINK_0_12
-		    && check_pilot_charset (gtk_entry_get_text (GTK_ENTRY (priv->pilot_charset)))
-#endif
-		    ));
-}
-
-static void
-gpd_finish_page_finished (GnomeDruidPage *druidpage, gpointer arg1, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-	
-	read_pilot_config (GTK_OBJECT (gpd), priv->pilot);
-	priv->state->pilots = g_list_append (priv->state->pilots, priv->pilot);
-	
-	save_config_and_restart (priv->gpc, priv->state);
-	
-	priv->finished = TRUE;
-	
-	gtk_main_quit ();
-}
-
-static void
-gpd_device_info_check (GtkEditable *editable, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	gboolean ready;
-	
-	priv = gpd->priv;
-	
-	ready = check_cradle_settings (gpd);
-	gnome_druid_set_buttons_sensitive (GNOME_DRUID (priv->druid), TRUE, ready, TRUE, TRUE);
-}
-
-static void
-gpd_pilot_info_check (GtkEditable *editable, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	gboolean ready = TRUE;
-	
-	priv = gpd->priv;
-	
-	if (GTK_TOGGLE_BUTTON (priv->pilot_info_no)->active)
-		ready = check_pilot_settings (gpd);
-
-	gnome_druid_set_buttons_sensitive (GNOME_DRUID (priv->druid), TRUE, ready, TRUE, TRUE);
-}
-
-static void
-gpd_pilot_info_button (GtkToggleButton *toggle, gpointer user_data)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	gboolean ready = TRUE;
-	
-	priv = gpd->priv;
-	
-	gtk_widget_set_sensitive (priv->pilot_info, toggle->active);
-	if (toggle->active)
-		ready = check_pilot_settings (gpd);
-
-	gnome_druid_set_buttons_sensitive (GNOME_DRUID (priv->druid), TRUE, ready, TRUE, TRUE);
-}
-
-static void 
-gpd_request_completed (GnomePilotClient* client, const gchar *id, gint handle, gpointer user_data) 
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-
-	if (handle == priv->handle1)
-		priv->handle1 = -1;
-	else if (handle == priv->handle2)
-		priv->handle2 = -1;
-	else
-		return;
-
-	if (priv->handle1 == -1 && priv->handle2 == -1) {
-		gnome_druid_set_buttons_sensitive (
-		    GNOME_DRUID (priv->druid), TRUE, TRUE, TRUE, TRUE);
-	}
-}
-
-static void 
-gpd_userinfo_requested (GnomePilotClient *gpc, const gchar *device, const GNOME_Pilot_UserInfo *user, gpointer user_data) 
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	gchar *text;
-	gchar buf[20];
-	
-	priv = gpd->priv;
-	
-	g_message ("device %s sent userinfo", device);
-	g_message ("user->userID   = %d", user->userID);
-	g_message ("user->username = %s", user->username);
-
-	priv->pilot->pilot_id = user->userID;
-
-	if (priv->pilot->pilot_username) 
-		g_free (priv->pilot->pilot_username);
-	priv->pilot->pilot_username = g_strdup (user->username);
-
-	text = g_strdup_printf (_("Successfully retrieved Owner Name and ID from PDA.\n"
-				  "Owner Name: %s\nPDA ID: %d"),
-				priv->pilot->pilot_username,
-				priv->pilot->pilot_id);
-	gtk_label_set_text (GTK_LABEL (priv->sync_label), text);
-
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_username), priv->pilot->pilot_username);
-	g_snprintf (buf, sizeof (buf), "%d", priv->pilot->pilot_id);
-	gtk_entry_set_text (GTK_ENTRY (priv->pilot_id), buf);
-	g_free (text);
-
-	/*	gnome_druid_set_buttons_sensitive (GNOME_DRUID (priv->druid), TRUE, TRUE, TRUE, TRUE);
-
-	priv->handle1 = priv->handle2 = -1; */
-}
-
-static void 
-gpd_system_info_requested (GnomePilotClient *gpc,
-			    const gchar *device,
-			    const GNOME_Pilot_SysInfo *sysinfo,
-			    gpointer user_data) 
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (user_data);
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-	
-	g_message ("device %s sent sysinfo", device);
-	g_message ("sysinfo->creation   = %d", sysinfo->creation);
-	g_message ("sysinfo->romVersion = 0x%x", sysinfo->romVersion);
-
-	priv->pilot->creation = sysinfo->creation;
-	priv->pilot->romversion = sysinfo->romVersion;
-}
-
-static void
-gpd_destroy (GtkObject *object)
-{
-	GnomePilotDruid *gpd = GNOME_PILOT_DRUID (object);
-	GnomePilotDruidPrivate *priv;
-	
-	priv = gpd->priv;
-
-	gtk_widget_destroy (priv->druid_window);
-	g_object_unref (priv->xml);
-
-	gtk_signal_disconnect_by_data (GTK_OBJECT (priv->gpc), object);
-
-	if (GTK_OBJECT_CLASS (parent_class)->destroy)
-		(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
-}
-
-static void
-network_device_toggled_callback (GtkRadioButton *btn, void *data)
-{
-	GnomePilotDruid *gpd = (GnomePilotDruid *)data;
-	GnomePilotDruidPrivate *priv;
-	int type;
-
-	priv = gpd->priv;
-
-	/* toggled button could be bluetooth or network */
-	if(btn == GTK_RADIO_BUTTON(priv->device_network) &&
-	    GTK_TOGGLE_BUTTON(btn)->active) {
-		type = PILOT_DEVICE_NETWORK;
-	} else if (btn == GTK_RADIO_BUTTON(priv->device_bluetooth) &&
-	    GTK_TOGGLE_BUTTON(btn)->active) {
-		type = PILOT_DEVICE_BLUETOOTH;
-	} else {
-		type = PILOT_DEVICE_SERIAL;
-	}
-	
-	set_widget_visibility_by_type(gpd, type);
-}	
-
-static void
-set_widget_visibility_by_type(GnomePilotDruid *gpd, int type) {
-	GnomePilotDruidPrivate *priv;
-
-	gboolean enable_extra_widgets = (type != PILOT_DEVICE_NETWORK &&
-	    type != PILOT_DEVICE_BLUETOOTH);
-
-	priv = gpd->priv;
-
-	gtk_widget_set_sensitive(priv->device_port_combo,
-	    enable_extra_widgets);
-	gtk_widget_set_sensitive(priv->device_port_label,
-	    enable_extra_widgets);
-	gtk_widget_set_sensitive(priv->device_speed,
-	    enable_extra_widgets);
-	gtk_widget_set_sensitive(priv->device_speed_label,
-	    enable_extra_widgets);
-}
diff -pruN 2.0.17-2/capplet/gnome-pilot-druid.h 2.32.0-0ubuntu1/capplet/gnome-pilot-druid.h
--- 2.0.17-2/capplet/gnome-pilot-druid.h	2007-01-11 08:32:44.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-druid.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,76 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* gnome-pilot-druid.c
- *
- * Copyright (C) 1998 Red Hat Software       
- * Copyright (C) 1999-2000 Free Software Foundation
- * Copyright (C) 2001  Ximian, 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 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.
- *
- * Authors: Eskil Heyn Olsen
- *          Vadim Strizhevsky
- *          Michael Fulbright <msf@redhat.com>
- *          JP Rosevear <jpr@ximian.com>
- *
- */
-
-#ifndef _GNOME_PILOT_DRUID_H_
-#define _GNOME_PILOT_DRUID_H_
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gnome.h>
-#include <gpilotd/gnome-pilot-client.h>
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-#define GNOME_PILOT_TYPE_DRUID			(gnome_pilot_druid_get_type ())
-#define GNOME_PILOT_DRUID(obj)			(GTK_CHECK_CAST ((obj), GNOME_PILOT_TYPE_DRUID, GnomePilotDruid))
-#define GNOME_PILOT_DRUID_CLASS(klass)		(GTK_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_DRUID, GnomePilotDruidClass))
-#define GNOME_PILOT_IS_DRUID(obj)			(GTK_CHECK_TYPE ((obj), GNOME_PILOT_TYPE_DRUID))
-#define GNOME_PILOT_IS_DRUID_CLASS(klass)		(GTK_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_DRUID))
-
-
-typedef struct _GnomePilotDruid        GnomePilotDruid;
-typedef struct _GnomePilotDruidPrivate GnomePilotDruidPrivate;
-typedef struct _GnomePilotDruidClass   GnomePilotDruidClass;
-
-struct _GnomePilotDruid {
-	GtkObject parent;
-
-	GnomePilotDruidPrivate *priv;
-};
-
-struct _GnomePilotDruidClass {
-	GtkObjectClass parent_class;
-};
-
-
-GtkType    gnome_pilot_druid_get_type (void);
-GtkObject *gnome_pilot_druid_new      (GnomePilotClient *gpc);
-
-gboolean gnome_pilot_druid_run_and_close (GnomePilotDruid *gpd);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _GNOME_PILOT_DRUID_H_ */
diff -pruN 2.0.17-2/capplet/gnome-pilot-pdialog.c 2.32.0-0ubuntu1/capplet/gnome-pilot-pdialog.c
--- 2.0.17-2/capplet/gnome-pilot-pdialog.c	2008-02-26 23:58:26.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-pdialog.c	2010-08-09 09:02:11.000000000 +0100
@@ -28,7 +28,6 @@
  */
 
 #include <sys/stat.h>
-#include <glade/glade.h>
 #include <pi-util.h>
 #include "pilot.h"
 #include "util.h"
@@ -39,7 +38,7 @@ static GtkObjectClass *parent_class = NU
 
 struct _GnomePilotPDialogPrivate 
 {
-	GladeXML *xml;
+	GtkBuilder *ui;
 
 	GnomePilotClient *gpc;
 	gint handle1, handle2;
@@ -48,6 +47,8 @@ struct _GnomePilotPDialogPrivate 
 	GPilotPilot *pilot;
 
 	GtkWidget *dialog;
+
+	gchar *errstr;
 	
 	GtkWidget *pilot_username;
 	GtkWidget *pilot_id;
@@ -91,26 +92,26 @@ static void gppd_system_info_requested (
 
 static void gppd_destroy (GtkObject *object);
 
-GtkType
+GType
 gnome_pilot_pdialog_get_type (void)
 {
-  static GtkType type = 0;
+  static GType type = 0;
 
   if (type == 0)
     {
-      static const GtkTypeInfo info =
+      static const GTypeInfo info =
       {
-        "GnomePilotPDialog",
-        sizeof (GnomePilotPDialog),
         sizeof (GnomePilotPDialogClass),
-        (GtkClassInitFunc) class_init,
-        (GtkObjectInitFunc) init,
-        /* reserved_1 */ NULL,
-        /* reserved_2 */ NULL,
-        (GtkClassInitFunc) NULL,
+        NULL,
+        NULL,
+        (GClassInitFunc) class_init,
+        NULL,
+        NULL,
+        sizeof (GnomePilotPDialog),
+	0,
+        (GInstanceInitFunc) init,
       };
-
-      type = gtk_type_unique (gtk_object_get_type (), &info);
+      type = g_type_register_static (gtk_object_get_type (), "GnomePilotPDialog", &info, 0);
     }
 
   return type;
@@ -123,7 +124,7 @@ class_init (GnomePilotPDialogClass *klas
 
 	object_class = GTK_OBJECT_CLASS (klass);
 
-	parent_class = gtk_type_class (gtk_object_get_type ());
+	parent_class = g_type_class_peek (gtk_object_get_type ());
 
 	object_class->destroy = gppd_destroy;
 }
@@ -132,23 +133,29 @@ static void
 init (GnomePilotPDialog *gppd)
 {
 	GnomePilotPDialogPrivate *priv;
-	
+	guint error;
+	gchar *objects[] = {"PilotSettings",
+	                    "timeout_adjustment",
+	                    "pilot_charset_store",
+			    NULL};
+
 	priv = g_new0 (GnomePilotPDialogPrivate, 1);
 
 	gppd->priv = priv;
 
 	/* Gui stuff */
-	priv->xml = glade_xml_new ("gpilotd-capplet.glade", "PilotSettings", NULL);
-	if (!priv->xml) {
-		priv->xml = glade_xml_new (GLADEDATADIR "/gpilotd-capplet.glade", "PilotSettings", NULL);
-		if (!priv->xml) {
-			g_message ("gnome-pilot-pdialog init(): Could not load the Glade XML file!");
+	priv->ui = gtk_builder_new ();
+	error = gtk_builder_add_objects_from_file (priv->ui, "gpilotd-capplet.ui", objects, NULL);
+	if (error == 0) {
+		error = gtk_builder_add_objects_from_file (priv->ui, UIDATADIR "/gpilotd-capplet.ui", objects, NULL);
+		if (error == 0) {
+			g_message ("gnome-pilot-pdialog init(): Could not load the GtkBuilder UI file!");
 			goto error;
 		}
 	}
 
 	if (!get_widgets (gppd)) {
-		g_message ("gnome-pilot-pdialog init(): Could not find all widgets in the XML file!");
+		g_message ("gnome-pilot-pdialog init(): Could not find all widgets in the UI file!");
 		goto error;
 	}
 
@@ -164,7 +171,7 @@ gnome_pilot_pdialog_new (GnomePilotClien
 	GnomePilotPDialog *gppd;
 	GtkObject *object;
 	
-	object = gtk_type_new (GNOME_PILOT_TYPE_PDIALOG);
+	object = GTK_OBJECT(g_type_create_instance (GNOME_PILOT_TYPE_PDIALOG));
 	
 	gppd = GNOME_PILOT_PDIALOG (object);
 	gppd->priv->gpc = gpc;
@@ -202,7 +209,7 @@ get_widgets (GnomePilotPDialog *gppd)
 
 	priv = gppd->priv;
 
-#define GW(name) glade_xml_get_widget (priv->xml, name)
+#define GW(name) GTK_WIDGET (gtk_builder_get_object (priv->ui, name))
 
 	priv->dialog = GW ("PilotSettings");
 
@@ -216,7 +223,24 @@ get_widgets (GnomePilotPDialog *gppd)
 	priv->pilot_charset_label = GW ("pilot_charset_label");
 	priv->pilot_charset_combo = GW ("pilot_charset_combo");
 #ifdef PILOT_LINK_0_12
-	priv->pilot_charset = GW ("pilot_charset_entry");
+	priv->pilot_charset = gtk_bin_get_child (
+	    GTK_BIN(priv->pilot_charset_combo));
+
+	/* bug in gtkbuilder?  couldn't get the list store to work right with glade,
+	 * so I do it here.
+	 */
+	GtkTreeModel *model = GTK_TREE_MODEL(gtk_builder_get_object (priv->ui,
+		"pilot_charset_store"));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (priv->pilot_charset_combo), model);
+	gtk_combo_box_entry_set_text_column(
+	    GTK_COMBO_BOX_ENTRY (priv->pilot_charset_combo), 0);
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(priv->pilot_charset_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->pilot_charset_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->pilot_charset_combo),
+	    renderer, "text", 0);
+
 #endif
 	
 #undef GW
@@ -241,12 +265,12 @@ map_widgets (GnomePilotPDialog *gppd)
 	
 	priv = gppd->priv;
 
-	gtk_object_set_data (GTK_OBJECT (gppd), "username", priv->pilot_username);
-	gtk_object_set_data (GTK_OBJECT (gppd), "pilotid", priv->pilot_id);
-	gtk_object_set_data (GTK_OBJECT (gppd), "pilotname", priv->pilot_name);
-	gtk_object_set_data (GTK_OBJECT (gppd), "basedir", priv->pilot_basedir);
+	g_object_set_data (G_OBJECT (gppd), "username", priv->pilot_username);
+	g_object_set_data (G_OBJECT (gppd), "pilotid", priv->pilot_id);
+	g_object_set_data (G_OBJECT (gppd), "pilotname", priv->pilot_name);
+	g_object_set_data (G_OBJECT (gppd), "basedir", priv->pilot_basedir);
 #ifdef PILOT_LINK_0_12
-	gtk_object_set_data (GTK_OBJECT (gppd), "charset", priv->pilot_charset);
+	g_object_set_data (G_OBJECT (gppd), "charset", priv->pilot_charset);
 #endif
 }
 
@@ -258,17 +282,17 @@ init_widgets (GnomePilotPDialog *gppd)
 	priv = gppd->priv;
 
 	/* Button signals */
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_get), "clicked",
-			    GTK_SIGNAL_FUNC (gppd_pilot_get), gppd);
+	g_signal_connect (GTK_OBJECT (priv->pilot_get), "clicked",
+			    G_CALLBACK (gppd_pilot_get), gppd);
 
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_send), "clicked",
-			    GTK_SIGNAL_FUNC (gppd_pilot_send), gppd);
+	g_signal_connect (GTK_OBJECT (priv->pilot_send), "clicked",
+			    G_CALLBACK (gppd_pilot_send), gppd);
 	
 	/* Other widget signals */
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_username),"insert-text",
-			    GTK_SIGNAL_FUNC (insert_username_callback), NULL);
-	gtk_signal_connect (GTK_OBJECT (priv->pilot_id),"insert-text",
-			    GTK_SIGNAL_FUNC (insert_numeric_callback), NULL);
+	g_signal_connect (GTK_OBJECT (priv->pilot_username),"insert-text",
+			    G_CALLBACK (insert_username_callback), NULL);
+	g_signal_connect (GTK_OBJECT (priv->pilot_id),"insert-text",
+			    G_CALLBACK (insert_numeric_callback), NULL);
 }
 
 static void
@@ -312,13 +336,17 @@ gnome_pilot_pdialog_run_and_close (Gnome
 			if(
 #ifdef PILOT_LINK_0_12
 			    check_pilot_charset(gtk_entry_get_text(
-				GTK_ENTRY(priv->pilot_charset))) &&
+				    GTK_ENTRY(priv->pilot_charset)), &priv->errstr) &&
 #endif
 			    check_base_directory(gtk_entry_get_text(
-				GTK_ENTRY(priv->pilot_basedir)))) {
+				    GTK_ENTRY(priv->pilot_basedir)), &priv->errstr)) {
 				read_pilot_config (GTK_OBJECT (gppd),
 				    priv->pilot);
 				break;
+			} else {
+				error_dialog (GTK_WINDOW (priv->dialog), priv->errstr);
+				g_free(priv->errstr);
+				priv->errstr = NULL;
 			}
 		} else {
 			break;
@@ -523,9 +551,10 @@ gppd_destroy (GtkObject *object)
 	priv = gppd->priv;
 
 	gtk_widget_destroy (priv->dialog);
-	gtk_object_unref (GTK_OBJECT (priv->xml));
+	g_object_unref (G_OBJECT (priv->ui));
 
-	gtk_signal_disconnect_by_data (GTK_OBJECT (priv->gpc), object);
+	g_signal_handlers_disconnect_matched (priv->gpc,
+	    G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, object);
 	
 	if (GTK_OBJECT_CLASS (parent_class)->destroy)
 		(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
diff -pruN 2.0.17-2/capplet/gnome-pilot-pdialog.h 2.32.0-0ubuntu1/capplet/gnome-pilot-pdialog.h
--- 2.0.17-2/capplet/gnome-pilot-pdialog.h	2007-01-11 08:32:44.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gnome-pilot-pdialog.h	2010-08-09 09:02:10.000000000 +0100
@@ -30,17 +30,15 @@
 #ifndef _GNOME_PILOT_PDIALOG_H_
 #define _GNOME_PILOT_PDIALOG_H_
 
-#include <gnome.h>
-
 G_BEGIN_DECLS
 
 #define GNOME_PILOT_TYPE_PDIALOG			(gnome_pilot_pdialog_get_type ())
-#define GNOME_PILOT_PDIALOG(obj)			(GTK_CHECK_CAST ((obj), GNOME_PILOT_TYPE_PDIALOG, GnomePilotPDialog))
-#define GNOME_PILOT_PDIALOG_CLASS(klass)		(GTK_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_PDIALOG, GnomePilotPDialogClass))
-#define GNOME_PILOT_IS_PDIALOG(obj)			(GTK_CHECK_TYPE ((obj), GNOME_PILOT_TYPE_PDIALOG))
-#define GNOME_PILOT_IS_PDIALOG_CLASS(klass)		(GTK_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_PDIALOG))
+#define GNOME_PILOT_PDIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PILOT_TYPE_PDIALOG, GnomePilotPDialog))
+#define GNOME_PILOT_PDIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PILOT_TYPE_PDIALOG, GnomePilotPDialogClass))
+#define GNOME_PILOT_IS_PDIALOG(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PILOT_TYPE_PDIALOG))
+#define GNOME_PILOT_IS_PDIALOG_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE ((obj), GNOME_PILOT_TYPE_PDIALOG))
+
 
-
 typedef struct _GnomePilotPDialog        GnomePilotPDialog;
 typedef struct _GnomePilotPDialogPrivate GnomePilotPDialogPrivate;
 typedef struct _GnomePilotPDialogClass   GnomePilotPDialogClass;
@@ -55,8 +53,8 @@ struct _GnomePilotPDialogClass {
 	GtkObjectClass parent_class;
 };
 
-
-GtkType    gnome_pilot_pdialog_get_type (void);
+
+GType    gnome_pilot_pdialog_get_type (void);
 GtkObject *gnome_pilot_pdialog_new      (GnomePilotClient *gpc, PilotState *state, GPilotPilot *pilot);
 void gnome_pilot_pdialog_set_pilot (GtkObject *obj, GPilotPilot *pilot);
 gboolean gnome_pilot_pdialog_run_and_close (GnomePilotPDialog *gppd, GtkWindow *dialog);
diff -pruN 2.0.17-2/capplet/gpilotd-capplet.glade 2.32.0-0ubuntu1/capplet/gpilotd-capplet.glade
--- 2.0.17-2/capplet/gpilotd-capplet.glade	2007-12-28 12:20:17.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gpilotd-capplet.glade	1970-01-01 01:00:00.000000000 +0100
@@ -1,3120 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkWindow" id="Capplet">
-  <property name="title" translatable="yes">gnome-pilot Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-
-  <child>
-    <widget class="GtkNotebook" id="CappletMain">
-      <property name="border_width">6</property>
-      <property name="visible">True</property>
-      <property name="can_focus">True</property>
-      <property name="show_tabs">True</property>
-      <property name="show_border">False</property>
-      <property name="tab_pos">GTK_POS_TOP</property>
-      <property name="scrollable">False</property>
-      <property name="enable_popup">False</property>
-
-      <child>
-	<widget class="GtkVBox" id="vbox5">
-	  <property name="border_width">12</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="Custom" id="pilots_treeview">
-	      <property name="visible">True</property>
-	      <property name="creation_function">gnome_pilot_capplet_create_pilots_treeview</property>
-	      <property name="int1">0</property>
-	      <property name="int2">0</property>
-	      <property name="last_modification_time">Fri, 24 Jan 2003 19:20:46 GMT</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHButtonBox" id="hbuttonbox3">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkButton" id="pilots_add_button">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Add...</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="pilots_edit_button">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Edit...</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="pilots_delete_button">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Delete</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="tab_expand">False</property>
-	  <property name="tab_fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label4">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">_PDAs</property>
-	  <property name="use_underline">True</property>
-	  <property name="use_markup">False</property>
-	  <property name="justify">GTK_JUSTIFY_CENTER</property>
-	  <property name="wrap">False</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-	<packing>
-	  <property name="type">tab</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox4">
-	  <property name="border_width">12</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="Custom" id="devices_treeview">
-	      <property name="visible">True</property>
-	      <property name="creation_function">gnome_pilot_capplet_create_devices_treeview</property>
-	      <property name="int1">0</property>
-	      <property name="int2">0</property>
-	      <property name="last_modification_time">Fri, 24 Jan 2003 20:11:03 GMT</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHButtonBox" id="hbuttonbox2">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkButton" id="devices_add_button">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Add...</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="devices_edit_button">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Edit...</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="devices_delete_button">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Delete</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="tab_expand">False</property>
-	  <property name="tab_fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label3">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">De_vices</property>
-	  <property name="use_underline">True</property>
-	  <property name="use_markup">False</property>
-	  <property name="justify">GTK_JUSTIFY_CENTER</property>
-	  <property name="wrap">False</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-	<packing>
-	  <property name="type">tab</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox18">
-	  <property name="border_width">12</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkTable" id="table13">
-	      <property name="visible">True</property>
-	      <property name="n_rows">2</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label156">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">P_DA:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">pilots_menu</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options"></property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkOptionMenu" id="pilots_menu">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="history">-1</property>
-
-		  <child internal-child="menu">
-		    <widget class="GtkMenu" id="convertwidget5">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">expand|shrink|fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="username_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes"></property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_CENTER</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label157">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Owner:</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkTable" id="table14">
-	      <property name="visible">True</property>
-	      <property name="n_rows">2</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">6</property>
-
-	      <child>
-		<widget class="GtkVButtonBox" id="vbuttonbox5">
-		  <property name="visible">True</property>
-		  <property name="layout_style">GTK_BUTTONBOX_START</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkButton" id="conduit_enable_button">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">_Enable</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="conduit_disable_button">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">D_isable</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="conduit_settings_button">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">_Settings...</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options">fill</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="Custom" id="conduit_treeview">
-		  <property name="visible">True</property>
-		  <property name="creation_function">gnome_pilot_capplet_create_conduit_treeview</property>
-		  <property name="int1">0</property>
-		  <property name="int2">0</property>
-		  <property name="last_modification_time">Fri, 24 Jan 2003 20:35:40 GMT</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox10">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">12</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label196">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Description:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="description_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">True</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="tab_expand">False</property>
-	  <property name="tab_fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label152">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">C_onduits</property>
-	  <property name="use_underline">True</property>
-	  <property name="use_markup">False</property>
-	  <property name="justify">GTK_JUSTIFY_CENTER</property>
-	  <property name="wrap">False</property>
-	  <property name="selectable">False</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-	<packing>
-	  <property name="type">tab</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkWindow" id="DruidWindow">
-  <property name="title" translatable="yes">gnome-pilot Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-
-  <child>
-    <widget class="GnomeDruid" id="druid">
-      <property name="border_width">4</property>
-      <property name="visible">True</property>
-      <property name="show_help">True</property>
-
-      <child>
-	<widget class="GnomeDruidPageEdge" id="druidpage_start">
-	  <property name="visible">True</property>
-	  <property name="position">GNOME_EDGE_START</property>
-	  <property name="title" translatable="yes">Welcome to gnome-pilot!</property>
-	  <property name="text" translatable="yes">You seem to be running gnome-pilot for the first time.
-The following steps will setup gnome-pilot for syncing. 
-You can always change any options later from
-PilotLink panel in Gnome Control Center.
-
-Press 'Forward' to continue.
-Press 'Cancel' to exit.</property>
-	</widget>
-      </child>
-
-      <child>
-	<widget class="GnomeDruidPageStandard" id="druidpage_cradle">
-	  <property name="visible">True</property>
-	  <property name="title" translatable="yes">Device Settings</property>
-	  <property name="logo">gnome-palm.png</property>
-
-	  <child internal-child="vbox">
-	    <widget class="GtkVBox" id="druid-vbox1">
-	      <property name="border_width">16</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkTable" id="table4">
-		  <property name="border_width">6</property>
-		  <property name="visible">True</property>
-		  <property name="n_rows">5</property>
-		  <property name="n_columns">2</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">4</property>
-		  <property name="column_spacing">9</property>
-
-		  <child>
-		    <widget class="GtkCombo" id="druid_device_port_combo">
-		      <property name="visible">True</property>
-		      <property name="value_in_list">False</property>
-		      <property name="allow_empty">True</property>
-		      <property name="case_sensitive">False</property>
-		      <property name="enable_arrow_keys">True</property>
-		      <property name="enable_arrows_always">False</property>
-	              <accessibility>
-                        <atkproperty name="AtkObject::accessible_name" translatable="yes">Port</atkproperty>
-	              </accessibility>
-
-		      <child internal-child="entry">
-			<widget class="GtkEntry" id="druid_device_port_entry">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text" translatable="yes"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char" translatable="yes">*</property>
-			  <property name="activates_default">False</property>
-			</widget>
-		      </child>
-
-		      <child internal-child="list">
-			<widget class="GtkList" id="convertwidget26">
-			  <property name="visible">True</property>
-			  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-
-			  <child>
-			    <widget class="GtkListItem" id="convertwidget27">
-			      <property name="visible">True</property>
-
-			      <child>
-				<widget class="GtkLabel" id="convertwidget28">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">/dev/pilot</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkListItem" id="convertwidget29">
-			      <property name="visible">True</property>
-
-			      <child>
-				<widget class="GtkLabel" id="convertwidget30">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">/dev/ttyUSB0</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkListItem" id="convertwidget31">
-			      <property name="visible">True</property>
-
-			      <child>
-				<widget class="GtkLabel" id="convertwidget32">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">/dev/ttyUSB1</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkListItem" id="convertwidget33">
-			      <property name="visible">True</property>
-
-			      <child>
-				<widget class="GtkLabel" id="convertwidget34">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">/dev/ttyS0</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkListItem" id="convertwidget35">
-			      <property name="visible">True</property>
-
-			      <child>
-				<widget class="GtkLabel" id="convertwidget36">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">/dev/ttyS1</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkListItem" id="convertwidget37">
-			      <property name="visible">True</property>
-
-			      <child>
-				<widget class="GtkLabel" id="convertwidget38">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes"></property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">3</property>
-		      <property name="bottom_attach">4</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkOptionMenu" id="druid_device_speed_menu">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="history">-1</property>
-
-		      <child internal-child="menu">
-			<widget class="GtkMenu" id="convertwidget39">
-			  <property name="visible">True</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">4</property>
-		      <property name="bottom_attach">5</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="druid_device_name_entry">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label105">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Name:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">druid_device_name_entry</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="druid_device_port_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Device:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">druid_device_port_entry</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">3</property>
-		      <property name="bottom_attach">4</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="druid_device_speed_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">S_peed:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">druid_device_speed_menu</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">4</property>
-		      <property name="bottom_attach">5</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label120">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Type:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox4">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkRadioButton" id="druid_serial_radio">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_Serial</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">True</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkRadioButton" id="druid_usb_radio">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_USB</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">True</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <property name="group">druid_serial_radio</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkRadioButton" id="druid_irda_radio">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_IrDA</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <property name="group">druid_serial_radio</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkRadioButton" id="druid_network_radio">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Net_work</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <property name="group">druid_serial_radio</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		      <child>
-			<widget class="GtkRadioButton" id="druid_bluetooth_radio">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_Bluetooth</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <property name="group">druid_serial_radio</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label149">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Ti_meout:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">druid_device_timeout_spinner</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSpinButton" id="druid_device_timeout_spinner">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="climb_rate">1</property>
-		      <property name="digits">0</property>
-		      <property name="numeric">True</property>
-		      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-		      <property name="snap_to_ticks">False</property>
-		      <property name="wrap">False</property>
-		      <property name="adjustment">2 0 100 1 10 10</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-      </child>
-
-      <child>
-	<widget class="GnomeDruidPageStandard" id="druidpage_pilot1">
-	  <property name="visible">True</property>
-	  <property name="title" translatable="yes">PDA Identification</property>
-	  <property name="logo">gnome-palm.png</property>
-
-	  <child internal-child="vbox">
-	    <widget class="GtkVBox" id="druid-vbox2">
-	      <property name="border_width">16</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox9">
-		  <property name="border_width">7</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="yes_radio_button">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Choose this option if you have used sync software before, even on another computer</property>
-		      <property name="label" translatable="yes">_Yes, I've used sync software with this PDA before.</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">True</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="no_radio_button">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_No, I've never used sync software with this PDA before.</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">yes_radio_button</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkFrame" id="pilot_user_frame">
-		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="label_xalign">0</property>
-		      <property name="label_yalign">0.5</property>
-		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
-		      <child>
-			<widget class="GtkTable" id="table5">
-			  <property name="border_width">6</property>
-			  <property name="visible">True</property>
-			  <property name="n_rows">2</property>
-			  <property name="n_columns">2</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">4</property>
-			  <property name="column_spacing">9</property>
-
-			  <child>
-			    <widget class="GtkEntry" id="druid_pilot_username_entry">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Enter Owner Name you want stored on your PDA</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char" translatable="yes">*</property>
-			      <property name="activates_default">False</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkEntry" id="druid_pilot_id_entry">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">This integer ID identifies your PDA and must be unique between different PDAs that you use.</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char" translatable="yes">*</property>
-			      <property name="activates_default">False</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label109">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_PDA ID:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-		              <property name="mnemonic_widget">druid_pilot_id_entry</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label108">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Owner:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-		              <property name="mnemonic_widget">druid_pilot_username_entry</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label166">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Owner Name and ID to set on the PDA</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="type">label_item</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-      </child>
-
-      <child>
-	<widget class="GnomeDruidPageStandard" id="druidpage_sync">
-	  <property name="visible">True</property>
-	  <property name="title" translatable="yes">Initial Sync</property>
-	  <property name="logo">gnome-palm.png</property>
-
-	  <child internal-child="vbox">
-	    <widget class="GtkVBox" id="sync_label_vbox">
-	      <property name="border_width">16</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-      </child>
-
-      <child>
-	<widget class="GnomeDruidPageStandard" id="druidpage_pilot2">
-	  <property name="visible">True</property>
-	  <property name="title" translatable="yes">PDA Attributes</property>
-	  <property name="logo">gnome-palm.png</property>
-
-	  <child internal-child="vbox">
-	    <widget class="GtkVBox" id="vbox10">
-	      <property name="border_width">16</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkTable" id="table6">
-		  <property name="border_width">6</property>
-		  <property name="visible">True</property>
-		  <property name="n_rows">3</property>
-		  <property name="n_columns">2</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">4</property>
-		  <property name="column_spacing">9</property>
-
-		  <child>
-		    <widget class="GtkEntry" id="druid_pilot_name_entry">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">The name for your PDA.  It is only used for identification.</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="druid_pilot_basedir_entry">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Set the root directory for all PDA files to be stored.</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-                  <child>
-                    <widget class="GtkCombo" id="druid_pilot_charset_combo">
-                      <property name="visible">True</property>
-                      <property name="value_in_list">False</property>
-                      <property name="allow_empty">True</property>
-                      <property name="case_sensitive">False</property>
-                      <property name="enable_arrow_keys">True</property>
-                      <property name="enable_arrows_always">False</property>
-
-                      <child internal-child="entry">
-                        <widget class="GtkEntry" id="druid_pilot_charset_entry">
-                          <property name="visible">True</property>
-                          <property name="can_focus">True</property>
-                          <property name="editable">True</property>
-                          <property name="visibility">True</property>
-                          <property name="max_length">0</property>
-                          <property name="text" translatable="yes"></property>
-                          <property name="has_frame">True</property>
-                          <property name="invisible_char" translatable="yes">*</property>                          <property name="activates_default">False</property>
-                        </widget>
-                      </child>
-
-                      <child internal-child="list">
-                        <widget class="GtkList" id="combo-list2">
-                          <property name="visible">True</property>
-                          <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-                          <child>
-                            <widget class="GtkListItem" id="listitem72">
-                              <property name="visible">True</property>
-                              <property name="can_focus">True</property>
-                              <property name="label" translatable="yes">CP1252</property>                            </widget>
-                          </child>
-
-                          <child>
-                            <widget class="GtkListItem" id="listitem73">
-                              <property name="visible">True</property>
-                              <property name="can_focus">True</property>
-                              <property name="label" translatable="yes">GB18030</property>
-                            </widget>
-                          </child>
-                          <child>
-                            <widget class="GtkListItem" id="listitem74">
-                              <property name="visible">True</property>
-                              <property name="can_focus">True</property>
-                              <property name="label" translatable="yes">GBK</property>
-                            </widget>
-                          </child>
-
-                          <child>
-                            <widget class="GtkListItem" id="listitem75">
-                              <property name="visible">True</property>
-                              <property name="can_focus">True</property>
-                              <property name="label" translatable="yes">BIG5</property>
-                            </widget>
-                          </child>
-                        </widget>
-                      </child>
-                    </widget>
-                    <packing>
-                      <property name="left_attach">1</property>
-                      <property name="right_attach">2</property>
-                      <property name="top_attach">2</property>
-                      <property name="bottom_attach">3</property>
-                      <property name="y_options"></property>
-                    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label115">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Local folder:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">druid_pilot_basedir_entry</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label114">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Name of PDA:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">druid_pilot_name_entry</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-                  <child>
-                    <widget class="GtkLabel" id="druid_pilot_charset_label">
-                      <property name="visible">True</property>
-                      <property name="label" translatable="yes">C_harset of PDA:</property>                      <property name="use_underline">True</property>
-                      <property name="use_markup">False</property>
-                      <property name="justify">GTK_JUSTIFY_CENTER</property>
-                      <property name="wrap">False</property>
-                      <property name="selectable">False</property>
-                      <property name="xalign">0.5</property>
-                      <property name="yalign">0.5</property>
-                      <property name="xpad">0</property>
-                      <property name="ypad">0</property>
-                      <property name="mnemonic_widget">druid_pilot_charset_entry</property>
-                    </widget>
-                    <packing>
-                      <property name="left_attach">0</property>
-                      <property name="right_attach">1</property>
-                      <property name="top_attach">2</property>
-                      <property name="bottom_attach">3</property>
-                      <property name="x_options">fill</property>
-                      <property name="y_options"></property>
-                    </packing>
-                  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-      </child>
-
-      <child>
-	<widget class="GnomeDruidPageEdge" id="druidpage_finish">
-	  <property name="visible">True</property>
-	  <property name="position">GNOME_EDGE_FINISH</property>
-	  <property name="title" translatable="yes">Success</property>
-	  <property name="text" translatable="yes">Congratulations, gnome-pilot is configured!
-
-You can change gnome-pilot settings at any time from 
-PilotLink and Conduits tabs in control center.
-
-You can monitor syncing of gnome-pilot by adding 
-PilotLink applet to your panel.</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="ConduitSettings">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">Conduit Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">True</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">True</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox5">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area6">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="master_table1">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="n_rows">2</property>
-	  <property name="n_columns">2</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">6</property>
-	  <property name="column_spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label169">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Conduit Actions&lt;/b&gt;</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label171">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">6</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options"></property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkTable" id="interior_table">
-	      <property name="visible">True</property>
-	      <property name="n_rows">2</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">6</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label172">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Action:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">sync_actions_menu</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label173">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_One time action:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">sync_one_actions_menu</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkOptionMenu" id="sync_one_actions_menu">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="history">0</property>
-
-		  <child internal-child="menu">
-		    <widget class="GtkMenu" id="menu2">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkMenuItem" id="menuitem2">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">None</property>
-			  <property name="use_underline">True</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkOptionMenu" id="sync_actions_menu">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="history">0</property>
-
-		  <child internal-child="menu">
-		    <widget class="GtkMenu" id="menu1">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkMenuItem" id="menuitem1">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Disabled</property>
-			  <property name="use_underline">True</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="settings_frame">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="n_rows">2</property>
-	  <property name="n_columns">2</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">6</property>
-	  <property name="column_spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label170">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Conduit Settings&lt;/b&gt;</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label174">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">6</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">shrink</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="options_frame">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="ChooseDevice">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">Choose Device</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">True</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">True</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox7">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area8">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton3">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton3">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox7">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkImage" id="image2">
-	      <property name="visible">True</property>
-	      <property name="stock">gtk-dialog-question</property>
-	      <property name="icon_size">6</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox19">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label180">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;span weight=&quot;bold&quot; size=&quot;larger&quot;&gt;Which device should be used for this operation?&lt;/span&gt;
-
-Since you have more than one connection device defined for this computer you need to identify which one is to be used for this operation.</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">True</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox8">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label181">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Device:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkOptionMenu" id="device_menu">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="history">-1</property>
-
-		      <child internal-child="menu">
-			<widget class="GtkMenu" id="menu4">
-			  <property name="visible">True</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="PilotSettings">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">PDA Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">True</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">True</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox8">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area9">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton4">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton4">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="table15">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="n_rows">4</property>
-	  <property name="n_columns">3</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">6</property>
-	  <property name="column_spacing">12</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label183">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">O_wner:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">pilot_username_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label184">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label185">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_PDA ID:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">pilot_id_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="pilot_username_entry">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char" translatable="yes">*</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="pilot_id_entry">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char" translatable="yes">*</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label182">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;PDA Identification&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox9">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkButton" id="get_from_pilot_button">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Get the Owner's name and ID from the PDA</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Get from PDA</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="send_to_pilot_button">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Send the Owner's name and ID to the PDA, overwriting any existing identity</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Send to PDA</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">3</property>
-	      <property name="bottom_attach">4</property>
-	      <property name="x_options">fill</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="table16">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="n_rows">4</property>
-	  <property name="n_columns">3</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">6</property>
-	  <property name="column_spacing">12</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label189">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;PDA Attributes&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label190">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label187">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Name of PDA:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">pilot_name_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label197">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Local folder:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">pilot_basedir_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="pilot_charset_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">C_harset of PDA:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">pilot_charset_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">3</property>
-	      <property name="bottom_attach">4</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="pilot_name_entry">
-	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">The name for your PDA.  It is only used for identification.</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char" translatable="yes">*</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="pilot_basedir_entry">
-	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Set the root directory for all PDA files to be stored.</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char" translatable="yes">*</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkCombo" id="pilot_charset_combo">
-	      <property name="visible">True</property>
-	      <property name="value_in_list">False</property>
-	      <property name="allow_empty">True</property>
-	      <property name="case_sensitive">False</property>
-	      <property name="enable_arrow_keys">True</property>
-	      <property name="enable_arrows_always">False</property>
-
-	      <child internal-child="entry">
-		<widget class="GtkEntry" id="pilot_charset_entry">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Set the character set used on your PDA.</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char" translatable="yes">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-	      </child>
-
-	      <child internal-child="list">
-		<widget class="GtkList" id="combo-list1">
-		  <property name="visible">True</property>
-		  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-		  <child>
-		    <widget class="GtkListItem" id="listitem26">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">CP1252</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="listitem27">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">GB18030</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="listitem28">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">GBK</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="listitem29">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">BIG5</property>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">2</property>
-	      <property name="right_attach">3</property>
-	      <property name="top_attach">3</property>
-	      <property name="bottom_attach">4</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="DeviceSettings">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">Device Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">True</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox9">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area10">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton5">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton5">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkTable" id="table17">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="n_rows">5</property>
-	  <property name="n_columns">2</property>
-	  <property name="homogeneous">False</property>
-	  <property name="row_spacing">6</property>
-	  <property name="column_spacing">12</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label191">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Name:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">device_name_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEntry" id="device_name_entry">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
-	      <property name="visibility">True</property>
-	      <property name="max_length">0</property>
-	      <property name="text" translatable="yes"></property>
-	      <property name="has_frame">True</property>
-	      <property name="invisible_char" translatable="yes">*</property>
-	      <property name="activates_default">False</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">0</property>
-	      <property name="bottom_attach">1</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="device_speed_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">S_peed:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">device_speed_menu</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">4</property>
-	      <property name="bottom_attach">5</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkOptionMenu" id="device_speed_menu">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="history">-1</property>
-
-	      <child internal-child="menu">
-		<widget class="GtkMenu" id="convertwidget23">
-		  <property name="visible">True</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">4</property>
-	      <property name="bottom_attach">5</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label195">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Type:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox5">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkRadioButton" id="serial_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Serial</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">True</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkRadioButton" id="usb_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_USB</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">serial_radio</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkRadioButton" id="irda_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">I_rDA</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">serial_radio</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkRadioButton" id="network_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Net_work</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">serial_radio</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	      <child>
-		<widget class="GtkRadioButton" id="bluetooth_radio">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Bluetooth</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <property name="group">serial_radio</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">1</property>
-	      <property name="bottom_attach">2</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options">fill</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="device_port_label">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Device:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">device_port_entry</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">3</property>
-	      <property name="bottom_attach">4</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkCombo" id="device_port_combo">
-	      <property name="visible">True</property>
-	      <property name="value_in_list">False</property>
-	      <property name="allow_empty">True</property>
-	      <property name="case_sensitive">False</property>
-	      <property name="enable_arrow_keys">True</property>
-	      <property name="enable_arrows_always">False</property>
-	      <accessibility>
-                <atkproperty name="AtkObject::accessible_name" translatable="yes">Port</atkproperty>
-	      </accessibility>
-
-
-	      <child internal-child="entry">
-		<widget class="GtkEntry" id="device_port_entry">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char" translatable="yes">*</property>
-		  <property name="activates_default">False</property>
-		</widget>
-	      </child>
-
-	      <child internal-child="list">
-		<widget class="GtkList" id="convertwidget8">
-		  <property name="visible">True</property>
-		  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-
-		  <child>
-		    <widget class="GtkListItem" id="convertwidget9">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkLabel" id="convertwidget10">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">/dev/pilot</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="convertwidget11">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkLabel" id="convertwidget12">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">/dev/ttyUSB0</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="convertwidget13">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkLabel" id="convertwidget14">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">/dev/ttyUSB1</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="convertwidget15">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkLabel" id="convertwidget16">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">/dev/ttyS0</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="convertwidget17">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkLabel" id="convertwidget18">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">/dev/ttyS1</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkListItem" id="convertwidget21">
-		      <property name="visible">True</property>
-
-		      <child>
-			<widget class="GtkLabel" id="convertwidget22">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes"></property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">3</property>
-	      <property name="bottom_attach">4</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label194">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Ti_meout:</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="mnemonic_widget">timeout_spinner</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">0</property>
-	      <property name="right_attach">1</property>
-	      <property name="top_attach">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="x_options">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkSpinButton" id="timeout_spinner">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="climb_rate">1</property>
-	      <property name="digits">0</property>
-	      <property name="numeric">True</property>
-	      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-	      <property name="snap_to_ticks">False</property>
-	      <property name="wrap">False</property>
-	      <property name="adjustment">2 0 100 1 10 10</property>
-	    </widget>
-	    <packing>
-	      <property name="left_attach">1</property>
-	      <property name="right_attach">2</property>
-	      <property name="top_attach">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
diff -pruN 2.0.17-2/capplet/gpilotd-capplet.ui 2.32.0-0ubuntu1/capplet/gpilotd-capplet.ui
--- 2.0.17-2/capplet/gpilotd-capplet.ui	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/capplet/gpilotd-capplet.ui	2010-08-09 09:02:04.000000000 +0100
@@ -0,0 +1,2073 @@
+<?xml version="1.0"?>
+<interface>
+  <!-- interface-requires gtk+ 2.12 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkListStore" id="assistant_pilot_charset_store">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0">CP1252</col>
+      </row>
+      <row>
+        <col id="0">GB18030</col>
+      </row>
+      <row>
+        <col id="0">GBK</col>
+      </row>
+      <row>
+        <col id="0">BIG5</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="assistant_device_port_store">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0">/dev/pilot</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyUSB0</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyUSB1</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyS0</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyS1</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="device_port_store">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0">/dev/pilot</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyUSB0</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyUSB1</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyS0</col>
+      </row>
+      <row>
+        <col id="0">/dev/ttyS1</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="pilot_charset_store">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0">CP1252</col>
+      </row>
+      <row>
+        <col id="0">GB18030</col>
+      </row>
+      <row>
+        <col id="0">GBK</col>
+      </row>
+      <row>
+        <col id="0">BIG5</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="device_speed_store">
+    <columns>
+      <!-- column-name label -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0">9600</col>
+      </row>
+      <row>
+        <col id="0">19200</col>
+      </row>
+      <row>
+        <col id="0">38400</col>
+      </row>
+      <row>
+        <col id="0">57600</col>
+      </row>
+      <row>
+        <col id="0">115200</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="assistant_device_speed_store">
+    <columns>
+      <!-- column-name label -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0">9600</col>
+      </row>
+      <row>
+        <col id="0">19200</col>
+      </row>
+      <row>
+        <col id="0">38400</col>
+      </row>
+      <row>
+        <col id="0">57600</col>
+      </row>
+      <row>
+        <col id="0">115200</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkWindow" id="Capplet">
+    <property name="title" translatable="yes">gnome-pilot Settings</property>
+    <child>
+      <object class="GtkNotebook" id="CappletMain">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="border_width">6</property>
+        <property name="show_border">False</property>
+        <child>
+          <object class="GtkVBox" id="vbox5">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkScrolledWindow" id="pilots_treeview">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHButtonBox" id="hbuttonbox3">
+                <property name="visible">True</property>
+                <property name="spacing">12</property>
+                <property name="layout_style">end</property>
+                <child>
+                  <object class="GtkButton" id="pilots_add_button">
+                    <property name="label" translatable="yes">_Add...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="pilots_edit_button">
+                    <property name="label" translatable="yes">_Edit...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="pilots_delete_button">
+                    <property name="label" translatable="yes">_Delete</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+        <child type="tab">
+          <object class="GtkLabel" id="label4">
+            <property name="visible">True</property>
+            <property name="label" translatable="yes">_PDAs</property>
+            <property name="use_underline">True</property>
+            <property name="justify">center</property>
+          </object>
+          <packing>
+            <property name="tab_fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="vbox4">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkScrolledWindow" id="devices_treeview">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHButtonBox" id="hbuttonbox2">
+                <property name="visible">True</property>
+                <property name="spacing">12</property>
+                <property name="layout_style">end</property>
+                <child>
+                  <object class="GtkButton" id="devices_add_button">
+                    <property name="label" translatable="yes">_Add...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="devices_edit_button">
+                    <property name="label" translatable="yes">_Edit...</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="devices_delete_button">
+                    <property name="label" translatable="yes">_Delete</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child type="tab">
+          <object class="GtkLabel" id="label3">
+            <property name="visible">True</property>
+            <property name="label" translatable="yes">De_vices</property>
+            <property name="use_underline">True</property>
+            <property name="justify">center</property>
+          </object>
+          <packing>
+            <property name="position">1</property>
+            <property name="tab_fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="vbox18">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkTable" id="table13">
+                <property name="visible">True</property>
+                <property name="n_rows">2</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">12</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label156">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">P_DA:</property>
+                    <property name="use_underline">True</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="x_options"></property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="username_label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label157">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Owner:</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="pilots_combo">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkTable" id="table14">
+                <property name="visible">True</property>
+                <property name="n_rows">2</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">6</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkVButtonBox" id="vbuttonbox5">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <property name="layout_style">start</property>
+                    <child>
+                      <object class="GtkButton" id="conduit_enable_button">
+                        <property name="label" translatable="yes">_Enable</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="conduit_disable_button">
+                        <property name="label" translatable="yes">D_isable</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="conduit_settings_button">
+                        <property name="label" translatable="yes">_Settings...</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="hbox10">
+                    <property name="visible">True</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="label196">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Description:</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="description_label">
+                        <property name="visible">True</property>
+                        <property name="wrap">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+		  <object class="GtkScrolledWindow" id="conduit_treeview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+		  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child type="tab">
+          <object class="GtkLabel" id="label152">
+            <property name="visible">True</property>
+            <property name="label" translatable="yes">C_onduits</property>
+            <property name="use_underline">True</property>
+            <property name="justify">center</property>
+          </object>
+          <packing>
+            <property name="position">2</property>
+            <property name="tab_fill">False</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkDialog" id="ConduitSettings">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Conduit Settings</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <property name="skip_taskbar_hint">True</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkTable" id="master_table1">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">2</property>
+            <property name="column_spacing">6</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="label169">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Conduit Actions&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="right_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label171">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="xpad">6</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options"></property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkTable" id="interior_table">
+                <property name="visible">True</property>
+                <property name="n_rows">2</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">6</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label172">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Action:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label173">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_One time action:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="sync_one_actions_combo">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="sync_actions_combo">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options">GTK_FILL</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkTable" id="settings_frame">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">2</property>
+            <property name="column_spacing">6</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="label170">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Conduit Settings&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="right_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label174">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="xpad">6</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_SHRINK</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="options_frame">
+                <property name="visible">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options">GTK_FILL</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton1">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="ChooseDevice">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Choose Device</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <property name="skip_taskbar_hint">True</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox7">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkHBox" id="hbox7">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkImage" id="image2">
+                <property name="visible">True</property>
+                <property name="yalign">0</property>
+                <property name="stock">gtk-dialog-question</property>
+                <property name="icon-size">6</property>
+              </object>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox19">
+                <property name="visible">True</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label180">
+                    <property name="visible">True</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">&lt;span weight="bold" size="larger"&gt;Which device should be used for this operation?&lt;/span&gt;
+
+Since you have more than one connection device defined for this computer you need to identify which one is to be used for this operation.</property>
+                    <property name="use_markup">True</property>
+                    <property name="wrap">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="hbox8">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label181">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Device:</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="device_combo">
+                        <property name="visible">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area8">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton3">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton3">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton3</action-widget>
+      <action-widget response="-5">okbutton3</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="PilotSettings">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">PDA Settings</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="type_hint">dialog</property>
+    <property name="skip_taskbar_hint">True</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox8">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkTable" id="table15">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="n_rows">4</property>
+            <property name="n_columns">3</property>
+            <property name="column_spacing">12</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="label183">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">O_wner:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">pilot_username_entry</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label184">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label185">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_PDA ID:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">pilot_id_entry</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="pilot_username_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="pilot_id_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label182">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;PDA Identification&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="right_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="hbox9">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkButton" id="get_from_pilot_button">
+                    <property name="label" translatable="yes">_Get from PDA</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Get the Owner's name and ID from the PDA</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="send_to_pilot_button">
+                    <property name="label" translatable="yes">_Send to PDA</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip_text" translatable="yes">Send the Owner's name and ID to the PDA, overwriting any existing identity</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+                <property name="x_options">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkTable" id="table16">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="n_rows">4</property>
+            <property name="n_columns">3</property>
+            <property name="column_spacing">12</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="label189">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;PDA Attributes&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="right_attach">3</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label190">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label187">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Name of PDA:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">pilot_name_entry</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label197">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Local folder:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">pilot_basedir_entry</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="pilot_name_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip_text" translatable="yes">The name for your PDA.  It is only used for identification.</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="pilot_basedir_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip_text" translatable="yes">Set the root directory for all PDA files to be stored.</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="pilot_charset_label">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">C_harset of PDA:</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBoxEntry" id="pilot_charset_combo">
+                <property name="visible">True</property>
+		<property name="can_focus">True</property>
+                <property name="model">pilot_charset_store</property>
+                <child>
+                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area9">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton4">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton4">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton4</action-widget>
+      <action-widget response="-5">okbutton4</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="DeviceSettings">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Device Settings</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="type_hint">dialog</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox9">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkTable" id="table17">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="n_rows">5</property>
+            <property name="n_columns">2</property>
+            <property name="column_spacing">12</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="label191">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Name:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">device_name_entry</property>
+              </object>
+              <packing>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="device_name_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="device_speed_label">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">S_peed:</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="top_attach">4</property>
+                <property name="bottom_attach">5</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label195">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Type:</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="hbox5">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkRadioButton" id="serial_radio">
+                    <property name="label" translatable="yes">_Serial</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="usb_radio">
+                    <property name="label" translatable="yes">_USB</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">serial_radio</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="irda_radio">
+                    <property name="label" translatable="yes">I_rDA</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">serial_radio</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="network_radio">
+                    <property name="label" translatable="yes">Net_work</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">serial_radio</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkRadioButton" id="bluetooth_radio">
+                    <property name="label" translatable="yes">_Bluetooth</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">serial_radio</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="device_port_label">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Device:</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label194">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Ti_meout:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">timeout_spinner</property>
+              </object>
+              <packing>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSpinButton" id="timeout_spinner">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="adjustment">timeout_adjustment</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="device_speed_combo">
+                <property name="visible">True</property>
+		<property name="can_focus">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">4</property>
+                <property name="bottom_attach">5</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBoxEntry" id="device_port_combo">
+                <property name="visible">True</property>
+		<child>
+		  <object class="GtkCellRendererText" id="cellrenderertext3"/>
+		  <attributes>
+                    <attribute name="text">0</attribute>
+		  </attributes>
+		</child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">3</property>
+                <property name="bottom_attach">4</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area10">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton5">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton5">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton5</action-widget>
+      <action-widget response="-5">okbutton5</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAssistant" id="Assistant">
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">gnome-pilot Settings</property>
+    <property name="modal">True</property>
+    <child>
+      <object class="GtkLabel" id="page_welcome">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">You seem to be running gnome-pilot for the first time.
+The following steps will setup gnome-pilot for syncing. 
+You can always change any options later from
+PilotLink panel in Gnome Control Center.
+
+Press 'Forward' to continue.
+Press 'Cancel' to exit.</property>
+      </object>
+      <packing>
+        <property name="page_type">intro</property>
+        <property name="title" translatable="yes">Welcome to gnome-pilot!</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkTable" id="page_cradle">
+        <property name="visible">True</property>
+        <property name="border_width">6</property>
+        <property name="n_rows">5</property>
+        <property name="n_columns">2</property>
+        <property name="column_spacing">9</property>
+        <property name="row_spacing">4</property>
+        <child>
+          <object class="GtkComboBoxEntry" id="assistant_device_port_combo">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <child>
+              <object class="GtkCellRendererText" id="cellrenderertext4"/>
+              <attributes>
+                <attribute name="text">0</attribute>
+              </attributes>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">3</property>
+            <property name="bottom_attach">4</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkComboBox" id="assistant_device_speed_combo">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="model">assistant_device_speed_store</property>
+            <property name="active">3</property>
+            <child>
+              <object class="GtkCellRendererText" id="cellrenderertext5"/>
+              <attributes>
+                <attribute name="text">0</attribute>
+              </attributes>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">4</property>
+            <property name="bottom_attach">5</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkEntry" id="assistant_device_name_entry">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="invisible_char">&#x2022;</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label105">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">_Name:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">assistant_device_name_entry</property>
+          </object>
+          <packing>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="assistant_device_port_label">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">_Device:</property>
+            <property name="use_underline">True</property>
+          </object>
+          <packing>
+            <property name="top_attach">3</property>
+            <property name="bottom_attach">4</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="assistant_device_speed_label">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">S_peed:</property>
+            <property name="use_underline">True</property>
+          </object>
+          <packing>
+            <property name="top_attach">4</property>
+            <property name="bottom_attach">5</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label120">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">_Type:</property>
+            <property name="use_underline">True</property>
+          </object>
+          <packing>
+            <property name="top_attach">1</property>
+            <property name="bottom_attach">2</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHBox" id="hbox4">
+            <property name="visible">True</property>
+            <child>
+              <object class="GtkRadioButton" id="assistant_serial_radio">
+                <property name="label" translatable="yes">_Serial</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="assistant_usb_radio">
+                <property name="label" translatable="yes">_USB</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">assistant_serial_radio</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="assistant_irda_radio">
+                <property name="label" translatable="yes">_IrDA</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">assistant_serial_radio</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="assistant_network_radio">
+                <property name="label" translatable="yes">Net_work</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">assistant_serial_radio</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="assistant_bluetooth_radio">
+                <property name="label" translatable="yes">_Bluetooth</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">assistant_serial_radio</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">4</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">1</property>
+            <property name="bottom_attach">2</property>
+            <property name="x_options">GTK_FILL</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label149">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Ti_meout:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">assistant_device_timeout_spinner</property>
+          </object>
+          <packing>
+            <property name="top_attach">2</property>
+            <property name="bottom_attach">3</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkSpinButton" id="assistant_device_timeout_spinner">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="invisible_char">&#x2022;</property>
+            <property name="adjustment">assistant_device_timeout_adjustment</property>
+            <property name="climb_rate">1</property>
+            <property name="numeric">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">2</property>
+            <property name="bottom_attach">3</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="title" translatable="yes">Device Settings</property>
+        <property name="header_image">gnome-palm.png</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkLabel" id="page_error">
+        <property name="visible">True</property>
+      </object>
+      <packing>
+        <property name="title" translatable="yes">Please fix the following problem...</property>
+        <property name="header_image">gnome-palm.png</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkVBox" id="page_pilot1">
+        <property name="visible">True</property>
+        <property name="border_width">7</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkRadioButton" id="yes_radio_button">
+            <property name="label" translatable="yes">_Yes, I've used sync software with this PDA before.</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="has_tooltip">True</property>
+            <property name="tooltip_text" translatable="yes">Choose this option if you have used sync software before, even on another computer</property>
+            <property name="use_underline">True</property>
+            <property name="active">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkRadioButton" id="no_radio_button">
+            <property name="label" translatable="yes">_No, I've never used sync software with this PDA before.</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="use_underline">True</property>
+            <property name="draw_indicator">True</property>
+            <property name="group">yes_radio_button</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="pilot_user_frame">
+            <property name="visible">True</property>
+            <property name="sensitive">False</property>
+            <property name="label_xalign">0</property>
+            <child>
+              <object class="GtkTable" id="table5">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="n_rows">2</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">9</property>
+                <property name="row_spacing">4</property>
+                <child>
+                  <object class="GtkEntry" id="assistant_pilot_username_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="tooltip_text" translatable="yes">Enter Owner Name you want stored on your PDA</property>
+                    <property name="invisible_char">&#x2022;</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="assistant_pilot_id_entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="tooltip_text" translatable="yes">This integer ID identifies your PDA and must be unique between different PDAs that you use.</property>
+                    <property name="invisible_char">&#x2022;</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label109">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_PDA ID:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">assistant_pilot_id_entry</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label108">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Owner:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">assistant_pilot_username_entry</property>
+                  </object>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label166">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Owner Name and ID to set on the PDA</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="title" translatable="yes">PDA Identification</property>
+        <property name="header_image">gnome-palm.png</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkVBox" id="page_sync">
+        <property name="visible">True</property>
+        <property name="border_width">16</property>
+        <property name="orientation">vertical</property>
+      </object>
+      <packing>
+        <property name="title" translatable="yes">Initial Sync</property>
+        <property name="header_image">gnome-palm.png</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkTable" id="page_pilot2">
+        <property name="visible">True</property>
+        <property name="border_width">6</property>
+        <property name="n_rows">3</property>
+        <property name="n_columns">2</property>
+        <property name="column_spacing">9</property>
+        <property name="row_spacing">4</property>
+        <child>
+          <object class="GtkEntry" id="assistant_pilot_name_entry">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="tooltip_text" translatable="yes">The name for your PDA.  It is only used for identification.</property>
+            <property name="invisible_char">&#x2022;</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkEntry" id="assistant_pilot_basedir_entry">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="tooltip_text" translatable="yes">Set the root directory for all PDA files to be stored.</property>
+            <property name="invisible_char">&#x2022;</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">1</property>
+            <property name="bottom_attach">2</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkComboBoxEntry" id="assistant_pilot_charset_combo">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="model">assistant_pilot_charset_store</property>
+            <child>
+              <object class="GtkCellRendererText" id="cellrenderertext6"/>
+              <attributes>
+                <attribute name="text">0</attribute>
+              </attributes>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="right_attach">2</property>
+            <property name="top_attach">2</property>
+            <property name="bottom_attach">3</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label115">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">_Local folder:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">assistant_pilot_basedir_entry</property>
+          </object>
+          <packing>
+            <property name="top_attach">1</property>
+            <property name="bottom_attach">2</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label114">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">_Name of PDA:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">assistant_pilot_name_entry</property>
+          </object>
+          <packing>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="assistant_pilot_charset_label">
+            <property name="visible">True</property>
+            <property name="label" translatable="yes">C_harset of PDA:</property>
+            <property name="use_underline">True</property>
+            <property name="justify">center</property>
+          </object>
+          <packing>
+            <property name="top_attach">2</property>
+            <property name="bottom_attach">3</property>
+            <property name="x_options">GTK_FILL</property>
+            <property name="y_options"></property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="title" translatable="yes">PDA Attributes</property>
+        <property name="header_image">gnome-palm.png</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkLabel" id="page_finish">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">Congratulations, gnome-pilot is configured!
+
+You can change gnome-pilot settings at any time from 
+PilotLink and Conduits tabs in control center.
+
+You can monitor syncing of gnome-pilot by adding 
+PilotLink applet to your panel.</property>
+      </object>
+      <packing>
+        <property name="page_type">summary</property>
+        <property name="title" translatable="yes">Success</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkAdjustment" id="assistant_device_timeout_adjustment">
+    <property name="value">2</property>
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="timeout_adjustment">
+    <property name="value">2</property>
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+</interface>
diff -pruN 2.0.17-2/capplet/gpilotd-control-applet.c 2.32.0-0ubuntu1/capplet/gpilotd-control-applet.c
--- 2.0.17-2/capplet/gpilotd-control-applet.c	2011-01-27 03:55:14.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gpilotd-control-applet.c	2010-08-09 09:02:08.000000000 +0100
@@ -29,17 +29,12 @@
 
 #include <config.h>
 #include <ctype.h>
-#include <gnome.h>
-#include <glade/glade.h>
 
-#include <libgnomeui/gnome-window-icon.h>
 #include <gpilotd/gnome-pilot-client.h>
 
-#include "gnome-pilot-druid.h"
+#include "gnome-pilot-assistant.h"
 #include "gnome-pilot-capplet.h"
 
-#include <bonobo-activation/bonobo-activation.h>
-
 #include "pilot.h"
 #include "util.h"
 
@@ -51,11 +46,8 @@ monitor_pilots (GnomePilotClient *gpc, P
 		while (tmp!= NULL){
 			GPilotPilot *pilot =(GPilotPilot*)tmp->data;
 			g_message ("pilot = %s",pilot->name);
-			gnome_pilot_client_monitor_on (gpc,pilot->name);
 			tmp = tmp->next;
 		}
-		gnome_pilot_client_notify_on (gpc, GNOME_Pilot_NOTIFY_CONNECT);
-		gnome_pilot_client_notify_on (gpc, GNOME_Pilot_NOTIFY_DISCONNECT);
 	}
 }
 
@@ -75,39 +67,34 @@ main (int argc, char *argv[])
 	GnomePilotClient *gpc = NULL;
 	PilotState *state = NULL;
 	GnomePilotCapplet *gpcap = NULL;
-	gboolean druid_on = FALSE, druid_prog = FALSE;
+	gboolean assistant_on = FALSE, assistant_prog = FALSE;
 
-	struct poptOption options[] = {
-		{"druid", '\0', POPT_ARG_NONE, &druid_on, 0, N_("Start druid only"), NULL},
+	GOptionEntry options[] = {
+		{"assistant", '\0', 0, G_OPTION_ARG_NONE, &assistant_on, "Start assistant only", NULL}, /* FIXME: Make N_() translatable after string freeze */
 		
-		{NULL, '\0', 0, NULL, 0, NULL, NULL}
+		{NULL}
 	};
 
+	GError *err;
 	
 	bindtextdomain (PACKAGE, GNOMELOCALEDIR);
 	textdomain (PACKAGE);
 	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 	
-	if (argc > 1 && strcmp (argv[1], "--druid") == 0) {
-		gnome_init_with_popt_table ("gpilot-control-applet",
-					    VERSION, argc, argv,
-					    options,0,NULL);
+	if (!gtk_init_with_args (&argc, &argv, _(" - configure gnome-pilot settings"),
+		options, PACKAGE, &err)) {
+		g_error (_("Error initializing gpilotd capplet : %s"), err->message);
+		exit (1);
+	}
 
-		druid_on = TRUE;
-		druid_prog = TRUE;
-	} else {
-		/* we're a capplet (we get CORBA for free from capplet_init) */
-		switch (gnome_init_with_popt_table ("gpilotd-control-applet", VERSION, argc, argv, 
-						    options,0,NULL)) {
-		case 1: return 0; break;
-		case -1: g_error (_("Error initializing gpilotd capplet")); break;
-		default: break;
-		}
+	if (assistant_on) {
+		assistant_on = TRUE;
+		assistant_prog = TRUE;
+	}
+	if (!gtk_window_set_default_icon_from_file (GNOME_ICONDIR "/gnome-palm.png", &err)) {
+		g_error (_("Error initializing gpilotd capplet : %s"), err->message);
+		exit (1);
 	}
-	gnome_window_icon_set_default_from_file (GNOME_ICONDIR"/gnome-palm.png");
-	
-	/* we using glade */
-	glade_gnome_init ();
 	
 	/* put all code to set things up in here */
 	if (loadPilotState (&state) < 0) {
@@ -125,36 +112,36 @@ main (int argc, char *argv[])
 	}
 
 	monitor_pilots (gpc, state);
-	if (druid_on) {
-		GtkObject *druid;
+	if (assistant_on) {
+		GtkObject *assistant;
 		
 		if (state->pilots!= NULL || state->devices!= NULL) {
-			error_dialog (NULL, _("Cannot run druid if PDAs or devices already configured"));
+			error_dialog (NULL, "Cannot run assistant if PDAs or devices already configured"); /* FIXME: Make translatable after string freeze */
 			return -1;
 		}
 
-		druid = gnome_pilot_druid_new (gpc);
-		gnome_pilot_druid_run_and_close (GNOME_PILOT_DRUID (druid));
+		assistant = gnome_pilot_assistant_new (gpc);
+		gnome_pilot_assistant_run_and_close (GNOME_PILOT_ASSISTANT (assistant));
 	} else {
-		gboolean druid_finished = TRUE;
+		gboolean assistant_finished = TRUE;
 		
 		gpcap = gnome_pilot_capplet_new (gpc);
 
 		/* quit when the Close button is clicked on our dialog */
 		g_signal_connect (G_OBJECT (gpcap), "response", G_CALLBACK (response_cb), NULL);
 
-		/* popup the druid if nothing is configured - assume this is the first time */
+		/* popup the assistant if nothing is configured - assume this is the first time */
 		if (state->pilots == NULL && state->devices == NULL) {
-			GtkObject *druid;
+			GtkObject *assistant;
 			
-			druid = gnome_pilot_druid_new (gpc);
-			druid_finished = gnome_pilot_druid_run_and_close (GNOME_PILOT_DRUID (druid));
+			assistant = gnome_pilot_assistant_new (gpc);
+			assistant_finished = gnome_pilot_assistant_run_and_close (GNOME_PILOT_ASSISTANT (assistant));
 
 			if (gpcap != NULL)
 				gnome_pilot_capplet_update (GNOME_PILOT_CAPPLET (gpcap));
 		}
 
-		if (druid_finished) {
+		if (assistant_finished) {
 			gtk_widget_show (GTK_WIDGET (gpcap));
 			gtk_main ();
 		}		
diff -pruN 2.0.17-2/capplet/gpilotd-control-applet.desktop.in.in 2.32.0-0ubuntu1/capplet/gpilotd-control-applet.desktop.in.in
--- 2.0.17-2/capplet/gpilotd-control-applet.desktop.in.in	2007-02-09 08:48:00.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/gpilotd-control-applet.desktop.in.in	2010-07-27 19:34:50.000000000 +0100
@@ -1,9 +1,8 @@
 [Desktop Entry]
-Encoding=UTF-8
 _Name=PalmOS Devices
 _Comment=Configure PalmOS devices
 Exec=gpilotd-control-applet
-Icon=gnome-palm
+Icon=pda
 Terminal=false
 StartupNotify=true
 Type=Application
diff -pruN 2.0.17-2/capplet/Makefile.am 2.32.0-0ubuntu1/capplet/Makefile.am
--- 2.0.17-2/capplet/Makefile.am	2008-10-06 21:36:34.000000000 +0100
+++ 2.32.0-0ubuntu1/capplet/Makefile.am	2010-02-01 23:18:20.000000000 +0000
@@ -2,12 +2,13 @@ NULL=
 
 bin_PROGRAMS = gpilotd-control-applet 
 
-INCLUDES = 						\
+AM_CPPFLAGS = 						\
 	-I$(top_srcdir) 				\
 	-I$(top_srcdir)/gpilotd				\
 	$(GNOME_PILOT_CFLAGS) 				\
 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\" 	\
-	-DGLADEDATADIR=\""$(gladedir)"\" 		\
+	-DGNOMEPIXMAPSDIR=\""$(datadir)/pixmaps"\" 	\
+	-DUIDATADIR=\""$(uidir)"\" 			\
 	$(NULL)
 
 gpilotd_control_applet_SOURCES = 	\
@@ -20,8 +21,8 @@ gpilotd_control_applet_SOURCES = 	\
 	gnome-pilot-ddialog.h		\
 	gnome-pilot-cdialog.c		\
 	gnome-pilot-cdialog.h		\
-	gnome-pilot-druid.c		\
-	gnome-pilot-druid.h		\
+	gnome-pilot-assistant.c		\
+	gnome-pilot-assistant.h		\
 	util.c				\
 	util.h				\
 	pilot.c 			\
@@ -49,9 +50,9 @@ desktop_DATA = $(desktop_in_in_file:.des
 
 @INTLTOOL_DESKTOP_RULE@
 
-gladedir  = $(datadir)/gnome-pilot/glade
-glade_DATA = 				\
-	gpilotd-capplet.glade 		\
+uidir  = $(datadir)/gnome-pilot/ui
+ui_DATA = 				\
+	gpilotd-capplet.ui 		\
         gnome-pilot-watermark.png 	\
 	gnome-palm.png			\
 	$(NULL)
@@ -66,7 +67,7 @@ appicon_DATA = 			\
 EXTRA_DIST = 				\
 	$(desktop_in_in_file) 		\
 	$(appicon_DATA)			\
-	$(glade_DATA) 			\
+	$(ui_DATA) 			\
 	$(NULL)
 
 BUILT_SOURCES = $(desktop_DATA)
diff -pruN 2.0.17-2/capplet/Makefile.in 2.32.0-0ubuntu1/capplet/Makefile.in
--- 2.0.17-2/capplet/Makefile.in	2009-01-07 23:43:33.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/Makefile.in	2010-09-26 11:47:03.000000000 +0100
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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.
@@ -15,15 +16,12 @@
 @SET_MAKE@
 
 
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 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
@@ -42,22 +40,28 @@ subdir = capplet
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	AUTHORS
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-	$(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/macros/gob2.m4 \
+	$(top_srcdir)/macros/intltool.m4 \
+	$(top_srcdir)/macros/libtool.m4 \
+	$(top_srcdir)/macros/ltoptions.m4 \
+	$(top_srcdir)/macros/ltsugar.m4 \
+	$(top_srcdir)/macros/ltversion.m4 \
+	$(top_srcdir)/macros/lt~obsolete.m4 \
+	$(top_srcdir)/macros/pilot_link.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appicondir)" \
-	"$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(gladedir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+	"$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(uidir)"
 PROGRAMS = $(bin_PROGRAMS)
 am__objects_1 =
 am_gpilotd_control_applet_OBJECTS = gpilotd-control-applet.$(OBJEXT) \
 	gnome-pilot-capplet.$(OBJEXT) gnome-pilot-pdialog.$(OBJEXT) \
 	gnome-pilot-ddialog.$(OBJEXT) gnome-pilot-cdialog.$(OBJEXT) \
-	gnome-pilot-druid.$(OBJEXT) util.$(OBJEXT) pilot.$(OBJEXT) \
+	gnome-pilot-assistant.$(OBJEXT) util.$(OBJEXT) pilot.$(OBJEXT) \
 	$(am__objects_1)
 gpilotd_control_applet_OBJECTS = $(am_gpilotd_control_applet_OBJECTS)
 am__DEPENDENCIES_1 =
@@ -66,17 +70,22 @@ gpilotd_control_applet_DEPENDENCIES =  \
 	$(top_builddir)/gpilotd/libgpilotdconduit.la \
 	$(top_builddir)/gpilotd/libgpilotdcm.la $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+gpilotd_control_applet_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(gpilotd_control_applet_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 SOURCES = $(gpilotd_control_applet_SOURCES)
 DIST_SOURCES = $(gpilotd_control_applet_SOURCES)
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -84,18 +93,28 @@ am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-appiconDATA_INSTALL = $(INSTALL_DATA)
-desktopDATA_INSTALL = $(INSTALL_DATA)
-gladeDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(appicon_DATA) $(desktop_DATA) $(glade_DATA)
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+DATA = $(appicon_DATA) $(desktop_DATA) $(ui_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALL_LINGUAS = @ALL_LINGUAS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
@@ -118,17 +137,16 @@ DATADIRNAME = @DATADIRNAME@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+EVOLUTION_DATA_SERVER_CFLAGS = @EVOLUTION_DATA_SERVER_CFLAGS@
+EVOLUTION_DATA_SERVER_LIBS = @EVOLUTION_DATA_SERVER_LIBS@
 EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
 GCONFTOOL = @GCONFTOOL@
-GCONF_SCHEMAS_INSTALL_FALSE = @GCONF_SCHEMAS_INSTALL_FALSE@
-GCONF_SCHEMAS_INSTALL_TRUE = @GCONF_SCHEMAS_INSTALL_TRUE@
 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
@@ -151,57 +169,44 @@ GPILOTD_REVISION = @GPILOTD_REVISION@
 GREP = @GREP@
 HAL_CFLAGS = @HAL_CFLAGS@
 HAL_LIBS = @HAL_LIBS@
+INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLLIBS = @INTLLIBS@
-INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
-INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
-INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
-INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
 INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
 INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
-INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
-INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
-INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
-INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
-INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
-INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
-INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
-INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
-INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
-INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
-INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
 MKINSTALLDIRS = @MKINSTALLDIRS@
 MSGFMT = @MSGFMT@
 MSGFMT_OPTS = @MSGFMT_OPTS@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
 NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
-ORBIT_IDL = @ORBIT_IDL@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PILOT_APPLET_CFLAGS = @PILOT_APPLET_CFLAGS@
@@ -229,13 +234,13 @@ WARN_CFLAGS = @WARN_CFLAGS@
 XGETTEXT = @XGETTEXT@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -247,6 +252,7 @@ build_alias = @build_alias@
 build_cpu = @build_cpu@
 build_os = @build_os@
 build_vendor = @build_vendor@
+builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -265,6 +271,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -274,15 +281,20 @@ program_transform_name = @program_transf
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
 NULL = 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_srcdir) 				\
 	-I$(top_srcdir)/gpilotd				\
 	$(GNOME_PILOT_CFLAGS) 				\
 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\" 	\
-	-DGLADEDATADIR=\""$(gladedir)"\" 		\
+	-DGNOMEPIXMAPSDIR=\""$(datadir)/pixmaps"\" 	\
+	-DUIDATADIR=\""$(uidir)"\" 			\
 	$(NULL)
 
 gpilotd_control_applet_SOURCES = \
@@ -295,8 +307,8 @@ gpilotd_control_applet_SOURCES = \
 	gnome-pilot-ddialog.h		\
 	gnome-pilot-cdialog.c		\
 	gnome-pilot-cdialog.h		\
-	gnome-pilot-druid.c		\
-	gnome-pilot-druid.h		\
+	gnome-pilot-assistant.c		\
+	gnome-pilot-assistant.h		\
 	util.c				\
 	util.h				\
 	pilot.c 			\
@@ -318,9 +330,9 @@ desktopdir = $(datadir)/applications
 #desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 desktop_in_in_file = gpilotd-control-applet.desktop.in.in
 desktop_DATA = $(desktop_in_in_file:.desktop.in.in=.desktop)
-gladedir = $(datadir)/gnome-pilot/glade
-glade_DATA = \
-	gpilotd-capplet.glade 		\
+uidir = $(datadir)/gnome-pilot/ui
+ui_DATA = \
+	gpilotd-capplet.ui 		\
         gnome-pilot-watermark.png 	\
 	gnome-palm.png			\
 	$(NULL)
@@ -334,7 +346,7 @@ appicon_DATA = \
 EXTRA_DIST = \
 	$(desktop_in_in_file) 		\
 	$(appicon_DATA)			\
-	$(glade_DATA) 			\
+	$(ui_DATA) 			\
 	$(NULL)
 
 BUILT_SOURCES = $(desktop_DATA)
@@ -348,14 +360,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  capplet/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  capplet/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign capplet/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign capplet/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -373,37 +385,53 @@ $(top_srcdir)/configure: @MAINTAINER_MOD
 	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
+$(am__aclocal_m4_deps):
 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 \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; 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
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 gpilotd-control-applet$(EXEEXT): $(gpilotd_control_applet_OBJECTS) $(gpilotd_control_applet_DEPENDENCIES) 
 	@rm -f gpilotd-control-applet$(EXEEXT)
-	$(LINK) $(gpilotd_control_applet_LDFLAGS) $(gpilotd_control_applet_OBJECTS) $(gpilotd_control_applet_LDADD) $(LIBS)
+	$(gpilotd_control_applet_LINK) $(gpilotd_control_applet_OBJECTS) $(gpilotd_control_applet_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -411,32 +439,32 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnome-pilot-assistant.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnome-pilot-capplet.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnome-pilot-cdialog.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnome-pilot-ddialog.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnome-pilot-druid.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnome-pilot-pdialog.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpilotd-control-applet.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pilot.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 .c.obj:
-@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
-@am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
@@ -446,134 +474,146 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool
-uninstall-info-am:
 install-appiconDATA: $(appicon_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(appicondir)" || $(mkdir_p) "$(DESTDIR)$(appicondir)"
-	@list='$(appicon_DATA)'; for p in $$list; do \
+	test -z "$(appicondir)" || $(MKDIR_P) "$(DESTDIR)$(appicondir)"
+	@list='$(appicon_DATA)'; test -n "$(appicondir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(appiconDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appicondir)/$$f'"; \
-	  $(appiconDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appicondir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicondir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(appicondir)" || exit $$?; \
 	done
 
 uninstall-appiconDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(appicon_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(appicondir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(appicondir)/$$f"; \
-	done
+	@list='$(appicon_DATA)'; test -n "$(appicondir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(appicondir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(appicondir)" && rm -f $$files
 install-desktopDATA: $(desktop_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(desktopdir)" || $(mkdir_p) "$(DESTDIR)$(desktopdir)"
-	@list='$(desktop_DATA)'; for p in $$list; do \
+	test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"
+	@list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
+	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"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \
 	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-gladeDATA: $(glade_DATA)
+	@list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(desktopdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(desktopdir)" && rm -f $$files
+install-uiDATA: $(ui_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(gladedir)" || $(mkdir_p) "$(DESTDIR)$(gladedir)"
-	@list='$(glade_DATA)'; for p in $$list; do \
+	test -z "$(uidir)" || $(MKDIR_P) "$(DESTDIR)$(uidir)"
+	@list='$(ui_DATA)'; test -n "$(uidir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(gladeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gladedir)/$$f'"; \
-	  $(gladeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gladedir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(uidir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(uidir)" || exit $$?; \
 	done
 
-uninstall-gladeDATA:
+uninstall-uiDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(glade_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(gladedir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(gladedir)/$$f"; \
-	done
+	@list='$(ui_DATA)'; test -n "$(uidir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(uidir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(uidir)" && rm -f $$files
 
 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; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	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 \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	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" \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__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; \
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
 	  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 \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -582,8 +622,8 @@ check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-am
 all-am: Makefile $(PROGRAMS) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appicondir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(gladedir)"; do \
-	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appicondir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(uidir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) install-am
@@ -607,6 +647,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -620,7 +661,7 @@ distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-libtool distclean-tags
+	distclean-tags
 
 dvi: dvi-am
 
@@ -628,19 +669,39 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
 
 install-data-am: install-appiconDATA install-desktopDATA \
-	install-gladeDATA
+	install-uiDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
 
 install-exec-am: install-binPROGRAMS
 
+install-html: install-html-am
+
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -662,26 +723,31 @@ ps: ps-am
 ps-am:
 
 uninstall-am: uninstall-appiconDATA uninstall-binPROGRAMS \
-	uninstall-desktopDATA uninstall-gladeDATA uninstall-info-am
+	uninstall-desktopDATA uninstall-uiDATA
+
+.MAKE: all check install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
 	clean-generic clean-libtool ctags distclean distclean-compile \
 	distclean-generic distclean-libtool distclean-tags distdir dvi \
 	dvi-am html html-am info info-am install install-am \
 	install-appiconDATA install-binPROGRAMS install-data \
-	install-data-am install-desktopDATA install-exec \
-	install-exec-am install-gladeDATA install-info install-info-am \
-	install-man install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-appiconDATA uninstall-binPROGRAMS \
-	uninstall-desktopDATA uninstall-gladeDATA uninstall-info-am
+	install-data-am install-desktopDATA install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	install-uiDATA installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-appiconDATA uninstall-binPROGRAMS \
+	uninstall-desktopDATA uninstall-uiDATA
 
 %.desktop.in: %.desktop.in.in
 	sed -e "s|\@VERSION\@|$(VERSION)|" $< > $@
 
 @INTLTOOL_DESKTOP_RULE@
+
 # 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:
diff -pruN 2.0.17-2/capplet/pilot.c 2.32.0-0ubuntu1/capplet/pilot.c
--- 2.0.17-2/capplet/pilot.c	2008-02-27 00:12:17.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/pilot.c	2009-11-04 21:26:18.000000000 +0000
@@ -25,9 +25,10 @@
 /* handles pilot issues */
 
 #include <config.h>
-#include <gnome.h>
+#include <glib.h>
 #include <pi-util.h>
 
+#include <gpilotd/gnome-pilot-config.h>
 #include "pilot.h"
 #include "util.h"
 
@@ -100,46 +101,74 @@ freePilotState (PilotState *state)
 static gint
 loadHostID (PilotState *p)
 {
-    guint32  id;
-    gboolean notfound;
+    guint     id;
+    gboolean  ret;
+    GError   *error = NULL;
+    GKeyFile *kfile = NULL;
+
+    kfile = get_gpilotd_kfile ();
+    if (kfile == NULL) {
+        p->syncPCid = random ();
+        return -1;
+    }
 
-    gnome_config_push_prefix ("/gnome-pilot.d/gpilotd/General/");
-    id = gnome_config_get_int_with_default ("sync_PC_Id=0", &notfound);
-    p->progress_stepping = gnome_config_get_int_with_default ("progress_stepping=5", NULL);
-    gnome_config_pop_prefix ();
-  
-    if (notfound) {
-	p->syncPCid = random ();
-	return -1;
+    ret = 0;
+    id = g_key_file_get_integer (kfile, "General", "sync_PC_Id", &error);
+    if (error) {
+        g_warning (_("Unable load key gpilotd/General/sync_PC_Id: %s"), error->message);
+        g_error_free (error);
+        error = NULL;
+        ret = -1;
+        p->syncPCid = random ();
     } else {
-	p->syncPCid = id;
-	return 0;
+	if (id ==0)
+		p->syncPCid = random ();
+	else
+		p->syncPCid = id;
     }
-}    
+
+    p->progress_stepping = g_key_file_get_integer (kfile, "General", "progress_stepping", &error);
+    if (error) {
+        g_warning (_("Unable load key gpilotd/General/progress_stepping: %s"), error->message);
+        g_error_free (error);
+        error = NULL;
+	p->progress_stepping = 5;
+    }
+  
+    g_key_file_free (kfile);
+    return ret;
+}
 
 static gint
 loadDeviceCfg (PilotState *p)
 {
   GPilotDevice *device;
-  gchar *prefix;
-  gchar buf[25];
+  gchar        *iDevice;
+  GKeyFile     *kfile = NULL;
+  GError       *error = NULL;
   int i, num;
 
-  gnome_config_push_prefix ("/gnome-pilot.d/gpilotd/General/");
-  num = gnome_config_get_int ("num_devices=0");
-  gnome_config_pop_prefix ();
+  kfile = get_gpilotd_kfile ();
+  num = g_key_file_get_integer (kfile, "General", "num_devices", NULL);
 
   if (num == 0) {
-	  g_message ("No pilot cradle information located");
-	  p->devices = NULL;
-	  return -1;
+      g_message ("No pilot cradle information located");
+      p->devices = NULL;
+      g_key_file_free (kfile);
+      return -1;
   } else {
 	  for (i=0;i<num;i++){
 		  device = g_new0(GPilotDevice, 1);
-		  prefix = g_strdup_printf ("/gnome-pilot.d/gpilotd/Device%d/", i);
+                  iDevice = g_strdup_printf ("Device%d", i);
 		  
-		  gnome_config_push_prefix (prefix);
-		  device->type = gnome_config_get_int ("type=0");
+		  device->type = g_key_file_get_integer (kfile, iDevice, "type", &error);
+		  if (error) {
+			  g_warning (_("Unable load key gpilotd/%s/type: %s"), iDevice, error->message);
+			  g_error_free (error);
+			  error = NULL;
+			  device->type = 0;
+		  };
+
 		  if (device->type == PILOT_DEVICE_SERIAL) {
 			  g_message ("Cradle Type -> Serial");
 		  } else if (device->type == PILOT_DEVICE_USB_VISOR) {
@@ -151,31 +180,50 @@ loadDeviceCfg (PilotState *p)
 		  } else if (device->type == PILOT_DEVICE_BLUETOOTH) {
 			  g_message ("Cradle Type -> Bluetooth");
 		  } else {
-		      g_warning ("Unknown Cradle Type");
+			  g_warning ("Unknown Cradle Type");
 		  }
 
-		  sprintf (buf,"name=Cradle%d", i);
-		  device->name = gnome_config_get_string (buf);
+		  device->name = g_key_file_get_string (kfile, iDevice, "name", &error);
+		  if (error) {
+			  g_warning (_("Unable load key gpilotd/%s/name: iDevice, %s"), iDevice, error->message);
+			  g_error_free (error);
+			  error = NULL;
+			  g_free (device->name);
+			  device->name = g_strdup_printf ("Cradle%d", i);
+		  };
 		  g_message ("cradle device name -> %s", device->name);
 
 		  if (device->type == PILOT_DEVICE_NETWORK) {
-			  device->ip = gnome_config_get_string ("ip");
+			  device->ip = g_key_file_get_string (kfile, iDevice, "ip", NULL);
 			  g_message ("cradle network ip -> %s", device->ip);
 		  } else if (device->type == PILOT_DEVICE_BLUETOOTH) {
 			  /* no more parameters */
 		  } else {
-			  device->port = gnome_config_get_string ("device");
+			  device->port = g_key_file_get_string (kfile, iDevice, "device", NULL);
 			  g_message ("cradle device name -> %s", device->port);
-			  device->speed = gnome_config_get_int ("speed=9600");
+			  device->speed = g_key_file_get_integer (kfile, iDevice, "speed", &error);
+			  if (error) {
+				  g_warning (_("Unable load key gpilotd/%s/speed: %s"), iDevice, error->message);
+				  g_error_free (error);
+				  error = NULL;
+				  device->speed = 9600;
+			  };
 			  g_message ("Pilot Speed  -> %d", device->speed);  		  
 		  }
-		  device->timeout = gnome_config_get_int ("timeout=2");
+		  device->timeout = g_key_file_get_integer (kfile, iDevice, "timeout", &error);
+		  if (error) {
+			  g_warning (_("Unable load key gpilotd/%s/timeout: %s"), iDevice, error->message);
+			  g_error_free (error);
+			  error = NULL;
+			  device->timeout = 2;
+		  };
 		  g_message ("Timeout -> %d", device->timeout);
-		  gnome_config_pop_prefix ();
-		  g_free (prefix);
+		  g_free (iDevice);
 		  p->devices = g_list_append (p->devices, device);
 	  }
   }
+
+  g_key_file_free (kfile);
   return 0;
 }
 
@@ -184,31 +232,45 @@ static gint
 loadPilotPilot (PilotState *p)
 {
   GPilotPilot *pilot;
-  gboolean notfound;
-  gchar *prefix;
+  gchar *iPilot;
   char *local_name;
   int i, num;
+  GKeyFile *kfile;
+  GError *error = NULL;
 
-  gnome_config_push_prefix ("/gnome-pilot.d/gpilotd/General/");
-  num = gnome_config_get_int ("num_pilots=0");
-  gnome_config_pop_prefix ();
+  kfile = get_gpilotd_kfile ();
+
+  num = g_key_file_get_integer (kfile, "General", "num_pilots", NULL);
 
   if (num == 0) {
       g_message ("No pilot userid/username information located");
       p->pilots = NULL;
+      g_key_file_free (kfile);
       return -1;
   } else {
 	  for (i=0;i<num;i++){
 		  pilot = g_new0(GPilotPilot, 1);
-		  prefix = g_strdup_printf ("/gnome-pilot.d/gpilotd/Pilot%d/", i);
-		  gnome_config_push_prefix (prefix);
-		  pilot->name = gnome_config_get_string ("name=MyPilot");
+		  iPilot = g_strdup_printf ("Pilot%d", i);
+
+                  pilot->name = g_key_file_get_string (kfile, iPilot, "name", &error);
+		  if (error) {
+			  g_warning (_("Unable load key gpilotd/%s/name: %s"), iPilot, error->message);
+			  g_error_free (error);
+			  error = NULL;
+			  g_free (pilot->name);
+			  pilot->name = g_strdup ("MyPilot");
+		  };
 		  g_message ("Pilot name -> %s", pilot->name);
-		  pilot->pilot_id = gnome_config_get_int_with_default ("pilotid",&notfound);
-		  if (notfound)
+
+		  pilot->pilot_id = g_key_file_get_integer (kfile, iPilot, "pilotid", &error);
+		  if (error) {
+			  g_warning (_("Unable load key gpilotd/%s/pilotid: %s"), iPilot, error->message);
+			  g_error_free (error);
+			  error = NULL;
 			  pilot->pilot_id = getuid ();
+                  }
 		  g_message ("Pilot id   -> %d", pilot->pilot_id);
-		  local_name = gnome_config_get_string ("pilotusername");
+		  local_name = g_key_file_get_string (kfile, iPilot, "pilotusername", NULL);
 #ifdef PILOT_LINK_0_12
 		  if (!local_name || (convert_FromPilotChar_WithCharset ("UTF-8", local_name, strlen(local_name), &pilot->pilot_username, NULL) == -1)) {
 #else
@@ -219,18 +281,18 @@ loadPilotPilot (PilotState *p)
 		  g_free (local_name);
 		  g_message ("Pilot username -> %s", pilot->pilot_username);
 	  
-		  pilot->creation = gnome_config_get_int ("creation");
-		  pilot->romversion = gnome_config_get_int ("romversion");
+		  pilot->creation = g_key_file_get_integer (kfile, iPilot, "creation", NULL);
+		  pilot->romversion = g_key_file_get_integer (kfile, iPilot, "romversion", NULL);
 		  
 		  g_message ("Pilot creation/rom = %lu/%lu", pilot->creation, pilot->romversion);
 
-		  pilot->sync_options.basedir = gnome_config_get_string ("basedir");
+		  pilot->sync_options.basedir = g_key_file_get_string (kfile, iPilot, "basedir", NULL);
 		  if (pilot->sync_options.basedir==NULL) {
 			  pilot->sync_options.basedir = g_strdup_printf ("%s/%s", g_get_home_dir (), pilot->name);
 		  }
 	  
 #ifdef PILOT_LINK_0_12
-		  pilot->pilot_charset = gnome_config_get_string ("charset");
+		  pilot->pilot_charset = g_key_file_get_string (kfile, iPilot, "charset", NULL);
 		  if (pilot->pilot_charset == NULL)
 			  pilot->pilot_charset =
 			      g_strdup(get_default_pilot_charset());
@@ -240,12 +302,13 @@ loadPilotPilot (PilotState *p)
 
 		  pilot->number = i;
 	  
-		  g_free (prefix);
-		  gnome_config_pop_prefix ();
+		  g_free (iPilot);
 		  
 		  p->pilots = g_list_append (p->pilots, pilot);
 	  }
   }
+
+  g_key_file_free (kfile);
   return 0;
 }
 
@@ -280,43 +343,43 @@ savePilotState (PilotState *state)
 {
   int i;
   GList *tmp;
-  gchar *prefix;
+  gchar *iDevice;
+  gchar *iPilot;
   char *local_name;
+  GKeyFile *kfile;
 
-  gnome_config_clean_section ("/gnome-pilot.d/gpilotd/General/");
+  kfile = get_gpilotd_kfile ();
 
-  gnome_config_set_int ("/gnome-pilot.d/gpilotd/General/sync_PC_Id", state->syncPCid);
-  gnome_config_set_int ("/gnome-pilot.d/gpilotd/General/progress_stepping", state->progress_stepping);
+  g_key_file_remove_group (kfile, "General", NULL);
+
+  g_key_file_set_integer (kfile, "General", "sync_PC_Id", state->syncPCid);
+  g_key_file_set_integer (kfile, "General", "progress_stepping", state->progress_stepping);
 
   tmp = state->devices;
   i=0;
   while (tmp!=NULL)
   {
 	  GPilotDevice *device=(GPilotDevice*)tmp->data;
-	  prefix = g_strdup_printf ("/gnome-pilot.d/gpilotd/Device%d/", i);
+	  iDevice = g_strdup_printf ("Device%d", i);
 
-	  gnome_config_clean_section (prefix);
-	  gnome_config_push_prefix (prefix);
-	  gnome_config_set_int ("type", device->type);
-	  gnome_config_set_string ("name", device->name);
+	  g_key_file_remove_group (kfile, iDevice, NULL);
+	  g_key_file_set_integer (kfile, iDevice, "type", device->type);
+	  g_key_file_set_string (kfile, iDevice, "name", device->name);
 	  if (device->type == PILOT_DEVICE_NETWORK) {
-		  gnome_config_set_string ("ip", device->ip);
+		  g_key_file_set_string (kfile, iDevice, "ip", device->ip);
 	  } else if (device->type == PILOT_DEVICE_BLUETOOTH) {
 		  /* no further info stored */
 	  } else {
-		  gnome_config_set_string ("device", device->port);
-		  gnome_config_set_int ("speed", device->speed);
+		  g_key_file_set_string (kfile, iDevice, "device", device->port);
+		  g_key_file_set_integer (kfile, iDevice, "speed", device->speed);
 	  }
-	  gnome_config_set_int ("timeout", device->timeout);
-	  gnome_config_pop_prefix ();
-	  g_free (prefix);
+	  g_key_file_set_integer (kfile, iDevice, "timeout", device->timeout);
+	  g_free (iDevice);
 	  tmp = tmp->next;
 	  i++;
   }  
   if (i>0) {
-      gnome_config_push_prefix ("/gnome-pilot.d/gpilotd/General/");
-      gnome_config_set_int ("num_devices", i);
-      gnome_config_pop_prefix ();
+      g_key_file_set_integer (kfile, "General", "num_devices", i);
   }
 
   tmp = state->pilots;
@@ -324,14 +387,13 @@ savePilotState (PilotState *state)
   while (tmp!=NULL)
   {
 	  GPilotPilot *pilot=(GPilotPilot*)tmp->data;
-	  prefix = g_strdup_printf ("/gnome-pilot.d/gpilotd/Pilot%d/", i);
-	  gnome_config_clean_section (prefix);
+	  iPilot = g_strdup_printf ("Pilot%d", i);
 
-	  gnome_config_push_prefix (prefix);
-	  gnome_config_set_string ("name", pilot->name);
-	  gnome_config_set_int ("pilotid", pilot->pilot_id);
-	  gnome_config_set_int ("creation", pilot->creation);
-	  gnome_config_set_int ("romversion", pilot->romversion);
+	  g_key_file_remove_group (kfile, iPilot, NULL);
+	  g_key_file_set_string (kfile, iPilot, "name", pilot->name);
+	  g_key_file_set_integer (kfile, iPilot, "pilotid", pilot->pilot_id);
+	  g_key_file_set_integer (kfile, iPilot, "creation", pilot->creation);
+	  g_key_file_set_integer (kfile, iPilot, "romversion", pilot->romversion);
 #ifdef PILOT_LINK_0_12
 	  if (!pilot->pilot_username|| (convert_ToPilotChar_WithCharset ("UTF-8", pilot->pilot_username, strlen (pilot->pilot_username), &local_name, NULL) == -1)) {
 #else
@@ -339,24 +401,23 @@ savePilotState (PilotState *state)
 #endif
 		  local_name = g_strdup (pilot->pilot_username);
 	  }
-	  gnome_config_set_string ("pilotusername", local_name);
+	  g_key_file_set_string (kfile, iPilot, "pilotusername", local_name);
 	  g_free (local_name);
-	  gnome_config_set_string ("basedir", pilot->sync_options.basedir);
+	  g_key_file_set_string (kfile, iPilot, "basedir", pilot->sync_options.basedir);
 #ifdef PILOT_LINK_0_12
-	  gnome_config_set_string ("charset", pilot->pilot_charset);
+	  g_key_file_set_string (kfile, iPilot, "charset", pilot->pilot_charset);
 #endif
-	  gnome_config_pop_prefix ();
-	  g_free (prefix);
+	  g_free (iPilot);
 	  tmp = tmp->next;
 	  i++;
   }
   if (i>0) {
-      gnome_config_push_prefix ("/gnome-pilot.d/gpilotd/General/");
-      gnome_config_set_int ("num_pilots", i);
-      gnome_config_pop_prefix ();
+      g_key_file_set_integer (kfile, "General", "num_pilots", i);
   }
 
-  gnome_config_sync ();
+  save_gpilotd_kfile (kfile);
+  g_key_file_free (kfile);
+
   return 0;
 }
 
@@ -366,7 +427,7 @@ load_conduit_list (GPilotPilot *pilot)
 {
 	GList *conduits = NULL, *conduit_states = NULL;
 	gchar *buf;
-		
+
 	gnome_pilot_conduit_management_get_conduits (&conduits, GNOME_PILOT_CONDUIT_MGMT_NAME);
 	conduits = g_list_sort (conduits, (GCompareFunc) strcmp);
 	while (conduits != NULL) {
@@ -381,7 +442,7 @@ load_conduit_list (GPilotPilot *pilot)
 		conduit_state->description = g_strdup ((gchar*) gnome_pilot_conduit_management_get_attribute (conduit_state->management, "description", NULL));
 		conduit_state->icon = g_strdup ((gchar*)gnome_pilot_conduit_management_get_attribute (conduit_state->management, "icon", NULL));
 		if (conduit_state->icon == NULL || g_file_test (conduit_state->icon, G_FILE_TEST_IS_REGULAR)==FALSE) {
-			conduit_state->icon = gnome_unconditional_pixmap_file ("gnome-palm-conduit.png");
+			conduit_state->icon = g_strdup_printf ("%s/%s", GNOMEPIXMAPSDIR, "gnome-palm-conduit.png");
 		}
 		
 		buf = (gchar*) gnome_pilot_conduit_management_get_attribute (conduit_state->management, "settings", NULL);
diff -pruN 2.0.17-2/capplet/util.c 2.32.0-0ubuntu1/capplet/util.c
--- 2.0.17-2/capplet/util.c	2008-02-27 00:00:15.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/util.c	2010-08-09 09:02:11.000000000 +0100
@@ -26,111 +26,181 @@
 #include <sys/stat.h>
 #include <errno.h>
 #include <ctype.h>
-#include <glade/glade.h>
 #include <errno.h>
 #include "util.h"
 #include <iconv.h>
+#include <gtk/gtk.h>
 
 static const guint speedList[] = {9600, 19200, 38400, 57600, 115200, 0};
 #define  DEFAULT_SPEED_INDEX  3  /* Default to 57600 */
 
 void
-fill_speed_menu (GtkOptionMenu *option_menu, guint default_speed)
+fill_speed_combo (GtkComboBox *option_combo)
 {
-	gint i = 0, n = DEFAULT_SPEED_INDEX;
-	GtkWidget *menu ,*menu_item;
-	gchar buf[20];
-
-	g_return_if_fail (option_menu != NULL);
-	g_return_if_fail (GTK_IS_OPTION_MENU (option_menu));
-
-	menu = gtk_menu_new ();
-
-	while (speedList[i] != 0) {
-		g_snprintf (buf,sizeof (buf),"%d",speedList[i]);
-		menu_item = gtk_menu_item_new_with_label (buf);
-		gtk_widget_show (menu_item);
-		gtk_object_set_data (GTK_OBJECT (menu_item), "speed", GINT_TO_POINTER (speedList[i]));
-		gtk_menu_append (GTK_MENU (menu),menu_item);
-		
-		if (speedList[i] == default_speed)
-			n = i;
+        gint i = 0;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+
+        gchar *text;
+
+        g_return_if_fail (option_combo != NULL);
+        g_return_if_fail (GTK_IS_COMBO_BOX (option_combo));
+
+	model = gtk_combo_box_get_model (option_combo);
+	if (model != NULL)
+		/* tree model not empty -- don't reinitialise */
+		return;
+
+	model = GTK_TREE_MODEL(gtk_list_store_new (1, G_TYPE_STRING));
+	i = 0;
+        while (speedList[i] != 0) {
+		text = g_strdup_printf ("%d", speedList[i]);
+		gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+		gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, text, -1);
+		g_free(text);
+                i++;
+        }
+	gtk_combo_box_set_model (option_combo, model);
+
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(option_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (option_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (option_combo),
+	    renderer, "text", 0);
+
+        gtk_combo_box_set_active(option_combo, DEFAULT_SPEED_INDEX);
+}
+
+/* return false if an invalid speed was supplied */
+gboolean
+speed_combo_set_speed (GtkComboBox *option_combo, int speed)
+{
+	gint i;
+
+	i = 0;
+	while(speedList[i] != 0) {
+		if (speedList[i] == speed) {
+			gtk_combo_box_set_active(option_combo, i);
+			return TRUE;
+		}
 		i++;
 	}
-	gtk_option_menu_set_menu (option_menu, menu);	
-	gtk_option_menu_set_history (option_menu, n);
+	return FALSE;
 }
 
+int
+speed_combo_get_speed (GtkComboBox *option_combo)
+{
+	return speedList[gtk_combo_box_get_active(option_combo)];
+}
+
+
 void 
-fill_conduit_sync_type_menu (GtkOptionMenu *option_menu, ConduitState *state)
+fill_conduit_sync_type_combo (GtkComboBox *option_combo, ConduitState *state)
 {
-	GtkWidget *menu_item;
-	GtkMenu   *menu;
+	int current = 0;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
 	GList *tmp;
-	int index, current=0;
-	
-	menu = GTK_MENU (gtk_menu_new ());
+	int index;
+
+        g_return_if_fail (option_combo != NULL);
+        g_return_if_fail (GTK_IS_COMBO_BOX (option_combo));
 
-	menu_item = gtk_menu_item_new_with_label(_("Disabled"));
-	gtk_widget_show(menu_item);
-	gtk_object_set_data (GTK_OBJECT (menu_item), "sync_type", GINT_TO_POINTER (GnomePilotConduitSyncTypeNotSet));
-	gtk_menu_append (menu, menu_item);
+	model = gtk_combo_box_get_model (option_combo);
+
+	if (model != NULL) {
+		/* we have to set combo box active row to match current sync state,
+		 * so just as easy to start again.
+		 */
+		gtk_list_store_clear(GTK_LIST_STORE(model));
+	} else {
+		model = GTK_TREE_MODEL(gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT));
+	}
+
+	gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, _("Disabled"),
+	    1, GnomePilotConduitSyncTypeNotSet, -1);
 
 	tmp = state->valid_synctypes;
 	if (tmp == NULL && state->default_sync_type == GnomePilotConduitSyncTypeCustom ) {
-			menu_item = gtk_menu_item_new_with_label(_("Enabled"));
-			gtk_widget_show(menu_item);
-			gtk_object_set_data (GTK_OBJECT (menu_item), "sync_type", GINT_TO_POINTER (state->default_sync_type));
-			gtk_menu_append (menu, menu_item);
-			if (state->sync_type == state->default_sync_type) 
-				current = 1;
+		gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+		gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, _("Enabled"),
+		    1, state->default_sync_type, -1);
+		if (state->sync_type == state->default_sync_type) 
+			current = 1;
 	} else {
-		for (index = 0; tmp != NULL; tmp = tmp->next, index++) {
-			gint value = GPOINTER_TO_INT (tmp->data);
-			
-			menu_item = gtk_menu_item_new_with_label (sync_type_to_str (value));
-			gtk_widget_show (menu_item);
-			gtk_object_set_data (GTK_OBJECT (menu_item), "sync_type", GINT_TO_POINTER (value));
-			gtk_menu_append (menu,menu_item);
-			if (value == state->sync_type) 
+		for (index = 0; tmp != NULL; tmp = tmp->next, index++) {		
+			gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+			    0, sync_type_to_str(GPOINTER_TO_INT (tmp->data)),
+			    1, GPOINTER_TO_INT(tmp->data), -1);
+			if (GPOINTER_TO_INT(tmp->data) == state->sync_type) 
 				current = index + 1;
 		}
 	}
-	
+	gtk_combo_box_set_model (option_combo, model);
+
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(option_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (option_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (option_combo),
+	    renderer, "text", 0);
 
-	gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), GTK_WIDGET (menu));
-	gtk_option_menu_set_history (GTK_OPTION_MENU (option_menu), current);
+        gtk_combo_box_set_active(option_combo, current);
 }
 
 void 
-fill_conduit_first_sync_type_menu (GtkOptionMenu *option_menu, ConduitState *state)
+fill_conduit_first_sync_type_combo (GtkComboBox *option_combo, ConduitState *state)
 {
-	GtkWidget *menu_item;
-	GtkMenu   *menu;
-	GList *tmp;
-	int index, current=0;
-	
-	menu = GTK_MENU (gtk_menu_new ());
+	int current = 0;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+	GList *tmp = NULL;
+	int index;
+
+        g_return_if_fail (option_combo != NULL);
+        g_return_if_fail (GTK_IS_COMBO_BOX (option_combo));
+
+	model = gtk_combo_box_get_model (option_combo);
+	if (model != NULL) {
+		/* we have to set combo box active row to match current sync state,
+		 * so just as easy to start again.
+		 */
+		gtk_list_store_clear(GTK_LIST_STORE(model));
+	} else {
+		model = GTK_TREE_MODEL(gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT));
+	}
 
-	menu_item = gtk_menu_item_new_with_label(_("None"));
-	gtk_widget_show(menu_item);
-	gtk_object_set_data (GTK_OBJECT (menu_item), "sync_type", GINT_TO_POINTER (GnomePilotConduitSyncTypeNotSet));
-	gtk_menu_append (menu, menu_item);
+	model = GTK_TREE_MODEL(gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT));
 
-	tmp = state->valid_synctypes;
+	gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, _("None"),
+	    1, GnomePilotConduitSyncTypeNotSet, -1);
+
+	if (state->default_sync_type != GnomePilotConduitSyncTypeCustom) {
+		tmp = state->valid_synctypes;
+	}
 	for (index = 0; tmp != NULL; tmp = tmp->next, index++) {
-		gint value = GPOINTER_TO_INT (tmp->data);
-		
-		menu_item = gtk_menu_item_new_with_label (sync_type_to_str (value));
-		gtk_widget_show (menu_item);
-		gtk_object_set_data (GTK_OBJECT (menu_item), "sync_type", GINT_TO_POINTER (value));
-		gtk_menu_append (menu,menu_item);
-		if (value == state->first_sync_type) 
+		gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+		gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+		    0, sync_type_to_str(GPOINTER_TO_INT (tmp->data)),
+		    1, GPOINTER_TO_INT(tmp->data), -1);
+		if (GPOINTER_TO_INT(tmp->data) == state->sync_type) 
 			current = index + 1;
 	}
+	gtk_combo_box_set_model (option_combo, model);
+
+	gtk_cell_layout_clear(GTK_CELL_LAYOUT(option_combo));
+	GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (option_combo),
+	    renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (option_combo),
+	    renderer, "text", 0);
 
-	gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), GTK_WIDGET (menu));
-	gtk_option_menu_set_history (GTK_OPTION_MENU (option_menu), current);
+        gtk_combo_box_set_active(option_combo, current);
 }
 
 gboolean
@@ -164,7 +234,7 @@ error_dialog (GtkWindow *parent, gchar *
 	tmp = g_strdup_vprintf (mesg,ap);
 
 	dlg = gtk_message_dialog_new (parent, GTK_DIALOG_DESTROY_WITH_PARENT, 
-				      GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, tmp);
+	    GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", tmp);
 	gtk_dialog_run (GTK_DIALOG (dlg));
 	gtk_widget_destroy (dlg);
 	
@@ -185,42 +255,49 @@ get_default_pilot_charset(void) {
 static GPilotDevice *
 real_choose_pilot_dialog (PilotState *state) 
 {
-	GladeXML *xml;
+	GtkBuilder *ui;
 	GtkWidget *dlg;
-	GtkWidget *option_menu, *menu_item, *menu;
+	GtkWidget *device_combo;
 	GList *tmp;
+	GtkListStore *list_store;
+	GtkCellRenderer *renderer;
 	GPilotDevice *dev;
+        guint index;
+	gchar *objects[] = {"ChooseDevice", NULL};
 	
-	xml = glade_xml_new (GLADEDATADIR "/gpilotd-capplet.glade", "ChooseDevice", NULL);
-	dlg = glade_xml_get_widget (xml,"ChooseDevice");
-	option_menu = glade_xml_get_widget (xml, "device_menu");
-
-	gtk_object_set_data (GTK_OBJECT (dlg), "device_menu", option_menu);
-	
-	menu = gtk_menu_new ();
+	ui = gtk_builder_new ();
+	gtk_builder_add_objects_from_file (ui, UIDATADIR "/gpilotd-capplet.ui", objects, NULL);
+	dlg = GTK_WIDGET (gtk_builder_get_object (ui,"ChooseDevice"));
+	device_combo = GTK_WIDGET (gtk_builder_get_object (ui, "device_combo"));
+
+	g_object_set_data (G_OBJECT (dlg), "device_combo", device_combo);
+
+	list_store = gtk_list_store_new (1, G_TYPE_STRING);
+	gtk_combo_box_set_model (GTK_COMBO_BOX (device_combo), GTK_TREE_MODEL (list_store));
+	renderer = gtk_cell_renderer_text_new();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (device_combo), renderer, TRUE);
+	gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (device_combo), renderer, "text", 0);
 
 	tmp = state->devices;
 	while (tmp != NULL){
+		GtkTreeIter iter;
+
+		gtk_list_store_append (list_store, &iter);
 		dev =(GPilotDevice*)tmp->data;
 		if(dev->type == PILOT_DEVICE_NETWORK) {
-			menu_item = gtk_menu_item_new_with_label ("[network]");
+			gtk_list_store_set (list_store, &iter, 0, "[network]", -1);
 		} else if(dev->type == PILOT_DEVICE_BLUETOOTH) {
-			menu_item = gtk_menu_item_new_with_label ("[bluetooth]");
-
+			gtk_list_store_set (list_store, &iter, 0, "[bluetooth]", -1);
 		} else {
-			menu_item = gtk_menu_item_new_with_label (dev->port);
+			gtk_list_store_set (list_store, &iter, 0, dev->port, -1);
 		}
-		gtk_object_set_data (GTK_OBJECT (menu_item), "device", dev);
-		gtk_widget_show (menu_item);
-		gtk_menu_append (GTK_MENU (menu), menu_item);
 		tmp = tmp->next;
 	}
-	gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
-	gtk_option_menu_set_history (GTK_OPTION_MENU (option_menu), 0);
+	gtk_combo_box_set_active (GTK_COMBO_BOX (device_combo), 0);
 
 	if (GTK_RESPONSE_OK == gtk_dialog_run (GTK_DIALOG (dlg))) {
-		menu_item = gtk_menu_get_active (GTK_MENU (menu));
-		dev = (GPilotDevice *)gtk_object_get_data (GTK_OBJECT (menu_item), "device");
+		index = gtk_combo_box_get_active(GTK_COMBO_BOX(device_combo));
+		dev = g_list_nth_data(state->devices, index);
 	} else {
 		dev = NULL;
 	}
@@ -252,7 +329,8 @@ get_default_pilot (PilotState *state)
 	pilot->pilot_username = g_strdup(g_get_real_name ());
 	pilot->pilot_id = getuid ();
 	pilot->name = next_pilot_name (state);
-	pilot->sync_options.basedir = g_concat_dir_and_file (g_get_home_dir (), pilot->name);
+	pilot->sync_options.basedir = g_build_filename (g_get_home_dir (),
+							pilot->name, NULL);
 #ifdef PILOT_LINK_0_12
 	pilot->pilot_charset =
 	    g_strdup(get_default_pilot_charset());
@@ -267,10 +345,11 @@ get_default_device (PilotState *state)
 	GPilotDevice *device = g_new0 (GPilotDevice, 1);
 	
 	device->name = next_cradle_name (state);
-	device->port = g_strdup ("/dev/pilot");
+	device->port = g_strdup ("usb:");
+	/* XXX */
 	device->speed = speedList[DEFAULT_SPEED_INDEX];
-	device->type = PILOT_DEVICE_SERIAL;
-	device->timeout = 2;
+	device->type = PILOT_DEVICE_USB_VISOR;
+	device->timeout = 0;
 	
 	return device;
 }
@@ -283,7 +362,7 @@ insert_numeric_callback (GtkEditable *ed
 	
 	for (i =0; i<len; i++) {
 		if (!isdigit (text[i])) {
-			gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
+			g_signal_stop_emission_by_name (GTK_OBJECT (editable), "insert_text");
 			return;
 		}
 	}
@@ -300,7 +379,7 @@ insert_username_callback (GtkEditable *e
 	if (*position == 0 && len > 0) {
 		utf8_char = g_utf8_get_char_validated (text, -1);
 		if (!g_unichar_isalpha (utf8_char)) {
-			gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
+			g_signal_stop_emission_by_name (GTK_OBJECT (editable), "insert_text");
 		}
 	} else {
 		gchar *p = (char *) text; 
@@ -308,7 +387,7 @@ insert_username_callback (GtkEditable *e
 		while (p && *p) {
 			utf8_char = g_utf8_get_char_validated (p, -1);
 			if (!g_unichar_isalnum (utf8_char) && !g_unichar_isspace (utf8_char)) {
-				gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), 
+				g_signal_stop_emission_by_name (GTK_OBJECT (editable), 
 							     "insert_text");
 			}
 			p = g_utf8_find_next_char (p, NULL);
@@ -331,13 +410,13 @@ insert_device_callback (GtkEditable *edi
 		    && text[0]!='u'
 #endif
 		    ) {
-			gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
+			g_signal_stop_emission_by_name (GTK_OBJECT (editable), "insert_text");
 			return;
 		} 
 	} else {
 		for (i =0;i<len;i++)
 			if (!(isalnum (text[i]) || text[i]=='/' || text[i]==':')) {
-				gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
+				g_signal_stop_emission_by_name (GTK_OBJECT (editable), "insert_text");
 				return;
 			}
 	}
@@ -462,44 +541,42 @@ check_device_info (GPilotDevice* device1
 }
 
 gboolean
-check_base_directory (const gchar *dir_name)
+check_base_directory (const gchar *dir_name, gchar **errstr)
 {
 	gboolean ret = TRUE;
 	/* check basedir validity */
 	
 	if (mkdir (dir_name, 0700) < 0 ) {
 		struct stat buf;
-		gchar *errstr;
 		switch (errno) {
 		case EEXIST: 
 			stat (dir_name, &buf);
 			if (S_ISDIR (buf.st_mode)) {  
 				if (!(buf.st_mode & (S_IRUSR | S_IWUSR |S_IXUSR))) {
-					error_dialog (NULL, _("The specified base directory exists but has the wrong permissions.\n"
-							"Please fix or choose another directory"));
+				    *errstr = g_strdup(_("The specified base directory exists but has the wrong permissions.\n"
+					    "Please fix or choose another directory"));;
 					ret = FALSE;
 				}
 			} else {
-				error_dialog (NULL, _("The specified base directory exists but is not a directory.\n"
+				*errstr = g_strdup (_("The specified base directory exists but is not a directory.\n"
 						"Please make it a directory or choose another directory"));
 				ret = FALSE;
 			}
 			break;
 			
 		case EACCES:
-			error_dialog (NULL, _("It wasn't possible to create the specified base directory.\n"
+		    *errstr = g_strdup(_("It wasn't possible to create the specified base directory.\n"
 					"Please verify the permitions on the specified path or choose another directory"));
 			ret = FALSE;
 			break;
 		case ENOENT:
-			error_dialog (NULL, _("The path specified for the base directory is invalid.\n"
+		    *errstr = g_strdup (_("The path specified for the base directory is invalid.\n"
 					"Please choose another directory"));
 			ret = FALSE;
 			break;
 		default:
-			errstr = strerror (errno);
-			error_dialog (NULL, errstr);
-			ret = FALSE;
+		    *errstr = g_strdup(strerror (errno));
+		    ret = FALSE;
 		}
 	}
 	return ret;
@@ -509,7 +586,7 @@ check_base_directory (const gchar *dir_n
  * return TRUE if it's valid, or FALSE otherwise.
  */
 gboolean
-check_pilot_charset (const gchar *charset)
+check_pilot_charset (const gchar *charset, gchar **errstr)
 {
 #ifndef PILOT_LINK_0_12
 	return TRUE;
@@ -520,10 +597,10 @@ check_pilot_charset (const gchar *charse
 		return TRUE;
 	cd = iconv_open(charset, "UTF8");
         if (cd == (iconv_t)-1) {
-		error_dialog (NULL, _("`%s' is not a valid character set"
-				  " identifier.  Please enter a valid"
+		*errstr = g_strdup (g_strdup_printf(_("`%s' is not a valid character set"
+				  " identifier.\nPlease enter a valid"
 				  " identifier or select from the available"
-				  " options."), charset);
+			    " options."), charset));
 		
 		return FALSE;
 	}
@@ -536,19 +613,19 @@ check_pilot_charset (const gchar *charse
 void
 read_device_config (GtkObject *object, GPilotDevice* device)
 {
-	GtkWidget *port_entry, *speed_menu, *item, *name_entry;
+	GtkWidget *port_entry, *speed_combo, *name_entry;
 	GtkWidget *usb_radio, *irda_radio, *network_radio, *timeout_spinner, *bluetooth_radio;
 
 	g_return_if_fail (device!= NULL);
 
-	port_entry  = gtk_object_get_data (GTK_OBJECT (object), "port_entry");
-	name_entry  = gtk_object_get_data (GTK_OBJECT (object), "name_entry");
-	speed_menu = gtk_object_get_data (GTK_OBJECT (object), "speed_menu");
-	usb_radio = gtk_object_get_data (GTK_OBJECT (object), "usb_radio");
-	irda_radio = gtk_object_get_data (GTK_OBJECT (object), "irda_radio");
-	network_radio = gtk_object_get_data (GTK_OBJECT (object), "network_radio");
-	bluetooth_radio = gtk_object_get_data (GTK_OBJECT (object), "bluetooth_radio");
-	timeout_spinner = gtk_object_get_data (GTK_OBJECT (object), "timeout_spinner");
+	port_entry  = g_object_get_data (G_OBJECT (object), "port_entry");
+	name_entry  = g_object_get_data (G_OBJECT (object), "name_entry");
+	speed_combo = g_object_get_data (G_OBJECT (object), "speed_combo");
+	usb_radio = g_object_get_data (G_OBJECT (object), "usb_radio");
+	irda_radio = g_object_get_data (G_OBJECT (object), "irda_radio");
+	network_radio = g_object_get_data (G_OBJECT (object), "network_radio");
+	bluetooth_radio = g_object_get_data (G_OBJECT (object), "bluetooth_radio");
+	timeout_spinner = g_object_get_data (G_OBJECT (object), "timeout_spinner");
 
 	if (device->port)
 		g_free (device->port);
@@ -559,9 +636,7 @@ read_device_config (GtkObject *object, G
 	device->name = g_strdup (gtk_entry_get_text (GTK_ENTRY (name_entry)));
 	if (device->name == NULL) device->name = g_strdup ("Cradle"); 
 
-	item = gtk_option_menu_get_menu (GTK_OPTION_MENU (speed_menu));
-	item = gtk_menu_get_active (GTK_MENU (item));
-	device->speed = GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (item), "speed"));
+	device->speed = speed_combo_get_speed(GTK_COMBO_BOX(speed_combo));
 
 	device->type = PILOT_DEVICE_SERIAL;
 	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (usb_radio))) {
@@ -588,14 +663,14 @@ read_pilot_config (GtkObject *object, GP
 	gint pilotid;
 	g_return_if_fail (pilot!= NULL);
 
-	id      = gtk_object_get_data (GTK_OBJECT (object), "pilotid");
-	name    = gtk_object_get_data (GTK_OBJECT (object), "username");
-	pname   = gtk_object_get_data (GTK_OBJECT (object), "pilotname");
-	basedir = gtk_object_get_data (GTK_OBJECT (object), "basedir");
+	id      = g_object_get_data (G_OBJECT (object), "pilotid");
+	name    = g_object_get_data (G_OBJECT (object), "username");
+	pname   = g_object_get_data (G_OBJECT (object), "pilotname");
+	basedir = g_object_get_data (G_OBJECT (object), "basedir");
 #ifdef PILOT_LINK_0_12
-	charset = gtk_object_get_data (GTK_OBJECT (object), "charset");
+	charset = g_object_get_data (G_OBJECT (object), "charset");
 #endif
-	menu    = gtk_object_get_data (GTK_OBJECT (object), "sync_menu");
+	menu    = g_object_get_data (G_OBJECT (object), "sync_menu");
  	
 	num = gtk_entry_get_text (GTK_ENTRY (id));
 	pilotid = strtol (num, NULL, 10);
@@ -628,11 +703,12 @@ save_config_and_restart (GnomePilotClien
 	gnome_pilot_client_reread_config (gpc);
 }
 
+/* returns TRUE if the device passes basic sanity checks,
+ * otherwise, returns FALSE and an error-string in *errstr.
+ */
 gboolean
-check_device_settings (GPilotDevice *device)
-{
-	
-	char *str;
+check_device_settings (GPilotDevice *device, char **errstr)
+{	
 #ifndef WITH_HAL
 	struct stat buf;
 	char *usbdevicesfile_str ="/proc/bus/usb/devices";
@@ -644,9 +720,7 @@ check_device_settings (GPilotDevice *dev
 	if (strcmp(device->port, "usb:") == 0 && device->type != PILOT_DEVICE_NETWORK
 	    && device->type != PILOT_DEVICE_BLUETOOTH
 	    && device->type != PILOT_DEVICE_USB_VISOR) {
-		str = g_strdup (_("Device 'usb:' is only valid for devices of type USB"));
-		error_dialog (NULL, str);
-		g_free (str);
+		*errstr = g_strdup (_("Device 'usb:' is only valid for devices of type USB"));
 		return FALSE;
 	}
 #endif
@@ -654,12 +728,10 @@ check_device_settings (GPilotDevice *dev
 	if (device->type == PILOT_DEVICE_SERIAL) {
 		g_message ("checking rw on %s", device->port);
 		if (access (device->port, R_OK|W_OK)) {
-			str = g_strdup_printf ("%s\n%s (%s)\n%s",
+			*errstr = g_strdup_printf ("%s\n%s (%s)\n%s",
 					       _("Read/Write permissions failed on"),
 					       device->name, device->port,
 					       _("Check the permissions on the device and retry"));
-			error_dialog (NULL, str);
-			g_free (str);
 			return FALSE;
 		}
 #ifndef WITH_HAL
@@ -671,13 +743,11 @@ check_device_settings (GPilotDevice *dev
 		      stat ("/proc/bus/usb/devices_please-use-sysfs-instead", &buf) != 0) ||
 		    !(S_ISREG(buf.st_mode)) ||
 		    !(buf.st_mode & S_IRUSR))) {
-			str = g_strdup_printf (
+			*errstr = g_strdup_printf (
 			    _("Failed to find directory %s or read file %s.  "
 				"Check that usbfs or sysfs is mounted."),
 			    sysfs_dir,
 			    usbdevicesfile_str);
-			error_dialog (NULL, str);
-			g_free (str);
 			return FALSE;
 		}
 #endif /* linux */
diff -pruN 2.0.17-2/capplet/util.h 2.32.0-0ubuntu1/capplet/util.h
--- 2.0.17-2/capplet/util.h	2007-01-14 21:05:27.000000000 +0000
+++ 2.32.0-0ubuntu1/capplet/util.h	2009-11-04 21:26:18.000000000 +0000
@@ -22,15 +22,16 @@
  *
  */
 
-#include <gnome.h>
 #include <gpilotd/gnome-pilot-client.h>
 #include "pilot.h"
 
 /* Gui routines */
-void fill_speed_menu (GtkOptionMenu *optionMenu, guint default_speed);
-void fill_synctype_menu (GtkOptionMenu *optionMenu, GnomePilotConduitSyncType type);
-void fill_conduit_sync_type_menu (GtkOptionMenu *option_menu, ConduitState *state);
-void fill_conduit_first_sync_type_menu (GtkOptionMenu *option_menu, ConduitState *state);
+void fill_speed_combo (GtkComboBox *option_combo);
+int speed_combo_get_speed (GtkComboBox *option_combo);
+gboolean speed_combo_set_speed (GtkComboBox *option_combo, int speed);
+
+void fill_conduit_sync_type_combo (GtkComboBox *option_combo, ConduitState *state);
+void fill_conduit_first_sync_type_combo (GtkComboBox *option_combo, ConduitState *state);
 gboolean show_popup_menu (GtkTreeView *treeview, GdkEventButton *event, GtkMenu *menu);
 
 /* Filtering callbacks */
@@ -54,11 +55,12 @@ gchar *next_pilot_name (PilotState *stat
 const gchar* sync_type_to_str (GnomePilotConduitSyncType t);
 const gchar* device_type_to_str (GPilotDeviceType t);
 const gchar* display_sync_type_name (gboolean enabled, GnomePilotConduitSyncType sync_type);
+int speedlist_int_to_index (int speed);
 
 gboolean check_pilot_info (GPilotPilot* pilot1, GPilotPilot *pilot2);
 gboolean check_device_info (GPilotDevice* device1, GPilotDevice *device2);
-gboolean check_base_directory (const gchar *dir_name);
-gboolean check_pilot_charset (const gchar *charset);
+gboolean check_base_directory (const gchar *dir_name, gchar **errstr);
+gboolean check_pilot_charset (const gchar *charset, gchar **errstr);
 
 /* Dialogs */
 void error_dialog (GtkWindow *parent, gchar *mesg, ...);
@@ -70,4 +72,4 @@ void read_pilot_config (GtkObject *objec
 
 void save_config_and_restart (GnomePilotClient *gpc, PilotState *state);
 
-gboolean check_device_settings (GPilotDevice *device);
+gboolean check_device_settings (GPilotDevice *device, char **errstr);
diff -pruN 2.0.17-2/ChangeLog 2.32.0-0ubuntu1/ChangeLog
--- 2.0.17-2/ChangeLog	2009-01-07 22:36:12.000000000 +0000
+++ 2.32.0-0ubuntu1/ChangeLog	2010-09-26 11:46:46.000000000 +0100
@@ -1,3 +1,267 @@
+2010-09-26  Matt Davey <mcdavey@mrao.cam.ac.uk>
+       * Change version to 2.32.0, to reflect significant code changes.
+       * Bump versions of libraries
+       * Update NEWS file
+
+
+2010-08-07 Matt Davey <mcdavey@mrao.cam.ac.uk>
+       * #594214:  Remove remaining deprecated symbols: 
+	GTK_SIGNAL_FUNC, GTK_SIGNAL_OFFSET,
+	GtkSignalFunc, gtk_signal_connect, gtk_signal_disconnect,
+	gtk_signal_disconnect_by_data,
+	gtk_signal_emit, gtk_signal_emit_stop_by_name,
+	gtk_signal_new, g_strncasecmp
+       * gnome-pilot now compiles with G_DISABLE_DEPRECATED,
+	 GNOME_DISABLE_DEPRECATED, GTK_DISABLE_DEPRECATED, and
+	 -Werror.
+       * applet/pilot.c: fix broken use of g_file API, so that
+	 drag-and-drop of files to applet panel icon works again.
+
+
+2010-08-07 Matt Davey <mcdavey@mrao.cam.ac.uk>
+       * #594214:  Remove GTK_CHECK_CAST, GTK_CHECK_CLASS_CAST,
+		GTK_CHECK_CLASS_TYPE, GTK_CHECK_TYPE, GtkClassInitFunc,
+		GtkObjectInitFunc, GtkTypeInfo, gdk_window_get_colormap,
+		gtk_about_dialog_set_name, gtk_entry_new_with_max_length,
+		gtk_menu_append, gtk_object_get_data, gtk_object_new,
+		gtk_object_ref, gtk_object_set, gtk_object_set_data,
+		gtk_object_sink, gtk_object_unref,
+		gtk_option_menu_get_menu, gtk_option_menu_set_history,
+		gtk_option_menu_set_menu, gtk_progress_configure,
+		gtk_progress_set_format_string, gtk_rc_style_unref,
+		gtk_toggle_button_set_state, gtk_tooltips_new,
+		gtk_tooltips_set_tip.
+       * applet/pilot.c: migrate from GtkProgress to GtkProgressBar.
+       * applet/gpilot-applet-progress.gob: ditto.
+       * backup_conduit.c: fix some printf type warnings.
+       * gpilotd/gnome-pilot-client.gob: use a timeout for Noop, so applet
+		doesn't wait ages before getting a CONNECTED signal.
+		Also, fix a couple of compiler warnings.
+       * utils/gpilotd-client.c:  Fix a couple of compiler warnings.
+       * Makefile.am: remove reference to idl/OChangelog
+       * po/POTFILES.in: update file list in line with dbus branch changes
+       * .gitignore: ignore po/gnome-pilot.pot
+
+
+2010-08-07 Matt Davey <mcdavey@mrao.cam.ac.uk>
+       * #619315  Thanks to Matthew Barnes.  Handle new Evolution
+		directory locations in evo >= 2.31.6.
+       * #594214:  Remove GtkType, gtk_type_unique, gtk_type_class,
+		gtk_type_new
+       * gnome-pilot-assistant.c: fix some printf type warnings.
+       * gpilot-daemon.c:         ditto.
+
+
+2010-07-31 Matt Davey <mcdavey@mrao.cam.ac.uk>
+       * #619315  Thanks to Matthew Barnes.  Move Evolution conduits into gnome-pilot
+		codebase.
+
+2010-07-31 Matt Davey <mcdavey@mrao.cam.ac.uk>
+    Initialise gtk in gpilotd.  Remove gnome_program_init.  Some other cleanups.
+
+       applet/pilot.c: Add Halton to Authors credits; Add more consistent state-change
+          messages to console output.
+       conduits/file/gpilot_install_file.c: remove gnome_program_init
+       configure.ac: remove libgnome requirement (still included via gnome-panel)
+       gpilotd/gpilotd.c: Add gtk_init for dialogs (gpilotd-ui)
+       gpilotd/manager.c: Improve error message.
+       utils/gpilotd-client.c: remove gnome_program_init and a CORBA function call.
+       utils/gpilotdcm-client.c: remove gnome_program_init
+       help/C/gnome-pilot.xml: fix a typo.
+
+2010-06-16 Matt Davey <mcdavey@mrao.cam.ac.uk>
+	* #611531.  Fix segfault when shutting down applet.  Thanks to
+	Marc Delauriers.
+	*  applet/pilot.c
+
+
+2010-02-01 Matt Davey <mcdavey@mrao.cam.ac.uk>
+	* removed a few more deprecated Glib symbols.
+		#594214, with thanks to Javier Jardon.
+	* bugzilla #607142. Clean up build system, thanks to  H.Habighorst 
+	  #	modified:   Makefile.am
+	  #	deleted:    acinclude.m4
+	  #	modified:   applet/Makefile.am
+	  #	modified:   autogen.sh
+	  #	modified:   capplet/Makefile.am
+	  #	modified:   conduits/backup/Makefile.am
+	  #	modified:   conduits/file/Makefile.am
+	  #	modified:   conduits/test/Makefile.am
+	  #	deleted:    configure.in
+	  #	modified:   gpilotd/Makefile.am
+	  #	modified:   macros/gob2.m4
+	  #	modified:   utils/Makefile.am
+
+
+2009-10-26 Matt Davey <mcdavey@mrao.cam.ac.uk>
+	* removed gnome-vfs from gnome-pilot-client.  Still involved via libgnome
+		pkgconfig.  Also, removed obsolete gnome-pilot.spec
+	* gpilotd/gnome-pilot-client.gob: removed gnome-vfs.
+	* configure.in: ditto.
+	* gnome-pilot.spec: removed
+
+2009-10-25 Matt Davey <mcdavey@mrao.cam.ac.uk>
+	* complete removal of libgnomeui.  simply had to change from
+	    LIBGNOMEUI_MODULE to LIBGNOME_MODULE
+	* conduits/file/gpilot_install_file.c: remove libgnomeui
+	* configure.in: ditto.
+	* gpilotd/gpilotd.c: ditto.
+	* utils/gpilotd-client.c: ditto.
+	* utils/gpilotdcm-client.c: ditto.
+
+2009-10-22 Matt Davey <mcdavey@mrao.cam.ac.uk>
+	* work on migration away from libgnomeui, libgnome and libglade.
+	* capplet/gnome-pilot-assistant.c: convert GnomeDruid to
+	     GtkAssistant, migrate from libglade to gtkbuilder,
+	     and remove most use of libgnomeui
+	* capplet/gnome-pilot-capplet.c: avoid libgnomeui
+	* capplet/gnome-pilot-capplet.h: ditto
+	* capplet/gnome-pilot-cdialog.c: ditto
+	* capplet/gnome-pilot-ddialog.c: ditto
+	* capplet/gnome-pilot-pdialog.c: ditto
+	* capplet/gpilotd-capplet.ui: ditto
+	* capplet/gpilotd-control-applet.c: ditto
+	* capplet/util.c: ditto
+	* capplet/util.h: ditto
+	* conduits/backup/backup_conduit.c: fix incorrect use of
+	    g_strfreev (double free), and fix exclude_files key.
+	* conduits/file/gpilot_install_file.c: avoid popt.
+	* configure.in: remove gconf dependency.
+	* gpilotd/gnome-pilot-config.c: fix typo "migarate_conf"
+	* gpilotd/gpilotd.c: use gnome_program_init instead of gnome_init
+	* gpilotd/orbit_daemon_glue.c: fix incorrect use of g_strfreev()
+	* po/POTFILES.in: add assistant and remove druid.
+	* utils/gpilotd-client.c: remove popt
+	* utils/gpilotdcm-client.c: remove popt
+
+
+2009-10-18  Matt Davey <mcdavey@mrao.cam.ac.uk>
+	* po/POTFILES.in: remove obsolete gpilotd-conduit-mgmt.h #597328
+		This was missed in change on 2009-08-28
+
+2009-09-05  Robert Ancell  <robert.ancell@gmail.com>
+	* applet/Makefile.am: Partial fix for bug #589501.
+	     Convert applet to GtkBuilder.
+	* applet/pilot-applet.glade: ditto.
+	* applet/pilot-applet.ui: ditto.
+	* applet/pilot.c: ditto.
+	* po/POTFILES.in: ditto.
+
+2009-09-03  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* applet/pilot.c: minor cleanup of migration to
+	        GtkAboutDialog
+
+2009-08-28  Halton Huo
+	* remove unused gpilotd-conduit-mgmt.h
+
+2009-08-28  Halton Huo
+	* Use GKeyFile instead of gnome-config:
+	    - use same file format as before
+	    - migrate files from ~/.gnome2/gnome-pilot.d/ to
+	      ~/.gnome-pilot/ when accessed.  Note that files
+	      created by other conduits (such as evolution)
+	      must be migrated by those applications.
+
+2009-08-27  Halton Huo
+	* remove obsolete 'drafts/' folder.
+	
+2009-08-26  Halton Huo
+	* Replace GnomeAbout with GtkAboutDialog:
+	     part of bug #590215
+	* Replace g_file_exists() with g_file_test() and
+	     replace g_concat_dir_and_file() with g_build_filename().
+
+2009-08-25  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* Makefile.am:	removed gpilot-fileman.  Obsolete.
+	* applet/pilot.c: fix some bugs with restore feature, plus
+		remove gnome_message_box use.
+	* conduits/backup/backup_conduit.c: ditto.
+	* conduits/file/gpilot_install_file.c: remove gnome_message_box.
+	* gpilotd/gpilot-gui.c: ditto.
+
+
+2009-08-20  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* gnome-pilot.doap: Added doap file.  See http://live.gnome.org/Git/FAQ
+	* Makefile.am: Remove obsolete references to compiler-flags.m4,
+		which used to be in the old gnome macros/ directory.
+		This is superceded by gnome-compiler-flags.m4 from
+		gnome-common.  This might be a problem for tarball
+		users, so we might need to copy the macro.
+	* Fix signedness compiler warnings, and remove blanket
+	     gnome/ includes.  #590215
+	* applet/pilot.c: ditto
+	* capplet/gnome-pilot-capplet.c: ditto
+	* capplet/gnome-pilot-capplet.h: ditto
+	* capplet/gnome-pilot-cdialog.h: ditto
+	* capplet/gnome-pilot-ddialog.h: ditto
+	* capplet/gnome-pilot-druid.c: ditto
+	* capplet/gnome-pilot-druid.h: ditto
+	* capplet/gnome-pilot-pdialog.h: ditto
+	* capplet/gpilotd-control-applet.c: ditto
+	* capplet/pilot.c: ditto
+	* capplet/util.c: ditto
+	* capplet/util.h: ditto
+	* conduits/backup/backup_conduit.c: ditto
+	* conduits/file/file_conduit.c: ditto
+	* conduits/file/gpilot_install_file.c: ditto
+	* conduits/test/test_conduit.c: ditto
+	* drafts/idl/main.c: ditto
+	* drafts/idl/orbit-daemon-glue.c: ditto
+	* drafts/idl/test_client.c: ditto
+	* gpilot-fileman/fileman.c: ditto
+	* gpilot-fileman/gpilot-fileman.h: ditto
+	* gpilot-fileman/multifile.c: ditto
+	* gpilot-fileman/preferences.c: ditto
+	* gpilotd/gnome-pilot-client.gob: ditto
+	* gpilotd/gnome-pilot-conduit-backup.gob: ditto
+	* gpilotd/gnome-pilot-conduit-config.gob: ditto
+	* gpilotd/gnome-pilot-conduit-file.gob: ditto
+	* gpilotd/gnome-pilot-conduit-management.gob: ditto
+	* gpilotd/gnome-pilot-conduit-standard-abs.c: ditto
+	* gpilotd/gnome-pilot-conduit-standard-abs.h: ditto
+	* gpilotd/gnome-pilot-conduit-standard.gob: ditto
+	* gpilotd/gnome-pilot-conduit-sync-abs.c: ditto
+	* gpilotd/gnome-pilot-conduit-sync-abs.h: ditto
+	* gpilotd/gnome-pilot-conduit.gob: ditto
+	* gpilotd/gnome-pilot-structures.c: ditto
+	* gpilotd/gpilot-gui.c: ditto
+	* gpilotd/gpilotd-conduit-mgmt.h: ditto
+	* gpilotd/gpilotd-session-wrapper.c: ditto
+	* gpilotd/gpilotd.c: ditto
+	* gpilotd/manager.c: ditto
+	* gpilotd/orbit_daemon_glue.c: ditto
+	* gpilotd/queue_io.c: ditto
+	* po/cat-id-tbl.c: ditto
+	* utils/gpilotd-client.c: ditto
+	* utils/gpilotdcm-client.c: ditto
+	* utils/make-password.c: ditto
+
+2009-08-06  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* COPYING: Added a COPYING file for GPLv2 #590232
+	* .gitignore: Added .gitignore #590230
+	Thanks to Halton Huo.
+
+2009-08-06  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* applet/pilot.c: Fix for bug #584894.  gnome panel-applet code
+		was changed in gnome-2.25 and now it does not call
+		gnome_program_init, which the gnome-pilot applet code assumed
+
+2009-02-08  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* capplet/gpilotd-control-applet.desktop.in.in: use stock
+		gnome pda icon. #569481. Thanks Andrew Higginson.
+	* gpilotd/gnome-pilot-conduit-management.gob: remove obsolete
+		SUSE-specific GNOMEPATH. #569193. Thanks Vincent Untz.
+	* gpilotd/gnome-pilot-conduit-management.gob: avoid using
+		deprecated gnome-i18n in favour or glib-i18n. #570724.
+	* utils/gpilotdcm-client.c: ditto.  Thanks Andre Klapper.
+	* configure.in, gpilotd/Makefile.am: only gpilotd binary
+		needs to be linked with libhal. #568404.  Thanks Mandriva.
+	* gnome-pilot-2.0.pc.in: don't add the pilot-link version to
+		the gnome-pilot Version string. #567343.
+
+2009-01-08  Matt Davey  <mcdavey@mrao.cam.ac.uk>
+	* configure.in: bump version to 2.0.18
+
 2009-01-07  Matt Davey <mcdavey@mrao.cam.ac.uk>
 	* 2.0.17 release
 	* Updated NEWS file
diff -pruN 2.0.17-2/conduits/backup/backup_conduit.c 2.32.0-0ubuntu1/conduits/backup/backup_conduit.c
--- 2.0.17-2/conduits/backup/backup_conduit.c	2008-01-03 09:16:13.000000000 +0000
+++ 2.32.0-0ubuntu1/conduits/backup/backup_conduit.c	2010-08-09 09:02:11.000000000 +0100
@@ -21,14 +21,15 @@
  *          Robert Mibus
  */
 
-/* $Id: backup_conduit.c 1524 2008-01-03 09:12:45Z mcdavey $ */
+/* $Id$ */
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
 
+#include <stdio.h>
 #include <glib.h>
-#include <gnome.h>
+#include <glib/gi18n.h>
 
 #include <pi-source.h>
 #include <pi-socket.h>
@@ -49,6 +50,7 @@
 #include <dirent.h>
 
 #include <gpilotd/gnome-pilot-conduit-backup.h>
+#include <gpilotd/gnome-pilot-config.h>
 #include "backup_conduit.h"
 
 #define DEBUG 1
@@ -88,28 +90,43 @@ load_configuration(GnomePilotConduit *co
 		   GPilotPilot *pilot)
 {
 	gchar *temp_name;
-	gchar *prefix;
+	gchar *iPilot;
 	gchar **exclude_files;
-	gint num_of_exclude_files = 0;
+	gsize num_of_exclude_files = 0;
 	guint i;
 	DIR *dir;
 	struct dirent *entry;
+  	GKeyFile *kfile;
+	GError   *error = NULL;
 
 	(*c) = g_new0(ConduitCfg,1);
 	(*c)->child = -1;
 	
-	prefix = g_strdup_printf(CONFIG_PREFIX, pilot->pilot_id);
-	
-	gnome_config_push_prefix(prefix);
-	(*c)->backup_dir = gnome_config_get_string("backup_dir");
-	(*c)->updated_only = gnome_config_get_bool("updated_only=TRUE");
-	(*c)->remove_deleted = gnome_config_get_bool("remove_deleted=FALSE");	
-	(*c)->no_of_backups = gnome_config_get_int("no_of_backups=0");
+ 	kfile = get_backup_kfile ();
+	iPilot = g_strdup_printf ("Pilot_%u", pilot->pilot_id);
+	(*c)->backup_dir = g_key_file_get_string (kfile, iPilot, "backup_dir", NULL);
+
+	(*c)->updated_only = g_key_file_get_boolean (kfile, iPilot, "updated_only", &error);
+	if (error) {
+		g_warning (_("Unable load key backup-conduit/%s/updated_only: %s"), iPilot, error->message);
+		g_error_free (error);
+		error = NULL;
+		(*c)->updated_only = TRUE;
+	}
+
+	(*c)->remove_deleted = g_key_file_get_boolean (kfile, iPilot, "remove_deleted", NULL);	
+	if (error) {
+		g_warning (_("Unable load key backup-conduit/%s/remove_deleted: %s"), iPilot, error->message);
+		g_error_free (error);
+		error = NULL;
+		(*c)->remove_deleted = FALSE;
+	}
+
+	(*c)->no_of_backups = g_key_file_get_integer (kfile, iPilot, "no_of_backups", NULL);
 
 	(*c)->exclude_files = NULL;
-	gnome_config_get_vector("exclude_files",
-				&num_of_exclude_files,
-				&exclude_files);
+	exclude_files = g_key_file_get_string_list (kfile, iPilot, "exclude_files",
+						    &num_of_exclude_files, NULL);
 	if(num_of_exclude_files) {
 		for( i = 0; i < num_of_exclude_files ; i++ ) {
 			(*c)->exclude_files = g_list_append( (*c)->exclude_files , 
@@ -118,7 +135,6 @@ load_configuration(GnomePilotConduit *co
 		}
 		g_free(exclude_files);
 	}
-	gnome_config_pop_prefix();
 	
 	if ((*c)->backup_dir == NULL) {
 		if (conduit != NULL && GNOME_IS_PILOT_CONDUIT (conduit)) {
@@ -167,20 +183,23 @@ load_configuration(GnomePilotConduit *co
 
 	(*c)->pilotId = pilot->pilot_id;
 
-	g_free(prefix);
+	g_free (iPilot);
+	g_key_file_free (kfile);
 }
 
 static void 
 save_configuration(ConduitCfg *c) 
 {
-	gchar *prefix;
-	const gchar **exclude = NULL;
+	gchar *iPilot;
+	const gchar **exclude;
 	GList *iterator;
 	guint i = 0;
+	GKeyFile *kfile;
 
 	g_return_if_fail(c!=NULL);
        	
-	prefix= g_strdup_printf("/gnome-pilot.d/backup-conduit/Pilot_%u/",c->pilotId);
+	kfile = get_backup_kfile ();
+	iPilot = g_strdup_printf("Pilot_%u",c->pilotId);
 	
 	if( c->exclude_files != NULL ) {
 	  iterator = c->exclude_files;
@@ -190,17 +209,21 @@ save_configuration(ConduitCfg *c) 
 	  }
 	  exclude[i] = NULL;
 	}
-	gnome_config_push_prefix(prefix);
-	gnome_config_set_string("backup_dir",c->backup_dir);
-	gnome_config_set_bool("updated_only",c->updated_only);
-	gnome_config_set_bool("remove_deleted",c->remove_deleted);
-	gnome_config_set_int("no_of_backups",c->no_of_backups);
-	gnome_config_set_vector("exclude_files", i, exclude);
-	gnome_config_pop_prefix();
-	gnome_config_sync();
-	gnome_config_drop_all();
-	g_free(prefix);
-	g_free(exclude);
+	g_key_file_set_string (kfile, iPilot, "backup_dir",c->backup_dir);
+	g_key_file_set_boolean (kfile, iPilot, "updated_only",c->updated_only);
+	g_key_file_set_boolean (kfile, iPilot, "remove_deleted",c->remove_deleted);
+	g_key_file_set_integer (kfile, iPilot, "no_of_backups",c->no_of_backups);
+	if (i != 0) {
+		g_key_file_set_string_list (kfile, iPilot, "exclude_files", exclude, i);
+		g_free(exclude);
+	} else {
+		g_key_file_set_string (kfile, iPilot, "exclude_files", "");
+	}
+
+	g_free(iPilot);
+
+	save_backup_kfile (kfile);
+	g_key_file_free (kfile);
 }
 
 static void 
@@ -244,13 +267,15 @@ destroy_configuration(ConduitCfg **c) 
 		for (iterator = (*c)->files_in_backup; iterator; iterator = g_list_next (iterator)) {
 			gchar *filename = (char*)iterator->data;
 			gchar *backup_dirname;
+			gchar *basename;
 			gchar *backup_backup;
 			
 			/* I18N note: this is printed when renaming a file %s */
 			g_message (_("Renaming %s"), filename);
 
-			backup_dirname = g_dirname (filename);
-			backup_backup = g_strdup_printf ("%s/del/%s", backup_dirname, g_basename (filename));
+			backup_dirname = g_path_get_dirname (filename);
+			basename = g_path_get_basename (filename);
+			backup_backup = g_strdup_printf ("%s/del/%s", backup_dirname, basename);
 
 			/* I18N note: this message follow a "Renaming %s". The
 			   %s is a file name */
@@ -260,6 +285,7 @@ destroy_configuration(ConduitCfg **c) 
 			}
 
 			g_free (backup_backup);
+			g_free (basename);
 			g_free (backup_dirname);
 			g_free (filename);
 		}
@@ -306,7 +332,7 @@ gnome_pilot_conduit_backup_remove_delete
 		GList *iterator;
 		for (iterator = cfg->files_in_backup; iterator; iterator = g_list_next (iterator)) {
 			char *filename = (char*)iterator->data;
- 			if (filename && strcasecmp(filename, name) == 0) {
+			if (filename && g_ascii_strcasecmp (filename, name) == 0) {
 				cfg->files_in_backup = g_list_remove_link (cfg->files_in_backup, 
 									   iterator);
 				g_free (filename);
@@ -410,7 +436,7 @@ gnome_real_pilot_conduit_backup_backup (
 	
 	/* let's see first if we should actually touch this db */
 	for (iterator = cfg->exclude_files; iterator; iterator = g_list_next (iterator)) {
-		if( ! g_strcasecmp(iterator->data, PI_DBINFO (dbinfo)->name) ) {
+		if(!g_ascii_strcasecmp (iterator->data, PI_DBINFO (dbinfo)->name)) {
 			g_message("excluded %s",PI_DBINFO (dbinfo)->name);
 			result = 2;
 			goto exit;
@@ -711,10 +737,12 @@ gnome_real_pilot_conduit_backup_restore 
 					 gpointer _cfg)
 {
 	DIR *dir;
+	struct stat buf;
 	struct dirent *dirent;
 	file_db **db;
 	int dbcount = 0;
-	int i, j, size;
+	int i, j;
+	size_t size;
 	struct pi_file *file;
 	char *source;
 	int result = 0;
@@ -742,8 +770,11 @@ gnome_real_pilot_conduit_backup_restore 
 		printf ("checking %s/%s\n", source, dirent->d_name);
 #endif
 
-		/* skip dotfiles. */
-		if (dirent->d_name[0] == '.')
+		gchar *entryname = g_strdup_printf("%s/%s", source, dirent->d_name);
+		/* skip dotfiles and directories. */
+		lstat (entryname, &buf);
+		g_free(entryname);
+		if (dirent->d_name[0] == '.' || S_ISDIR (buf.st_mode))
 			continue;
 
 		db[dbcount] = g_new0 (file_db, 1);
@@ -827,13 +858,13 @@ insert_dir_callback (GtkEditable *editab
 	curname = gtk_entry_get_text(GTK_ENTRY(editable));
 	if (*curname == '\0' && len > 0) {
 		if (isspace(text[0])) {
-			gtk_signal_emit_stop_by_name(GTK_OBJECT(editable), "insert_text");
+			g_signal_stop_emission_by_name (GTK_OBJECT(editable), "insert_text");
 			return;
 		}
 	} else {
 		for (i=0; i<len; i++) {
 			if (isspace(text[i])) {
-				gtk_signal_emit_stop_by_name(GTK_OBJECT(editable), 
+				g_signal_stop_emission_by_name (GTK_OBJECT(editable), 
 							     "insert_text");
 				return;
 			}
@@ -850,22 +881,23 @@ static GtkWidget
 	GtkObject *adjustment;
 	AtkObject *atk_widget;
 
-	vbox = gtk_vbox_new(FALSE, GNOME_PAD);
+	vbox = gtk_vbox_new (FALSE, 8);
 
 	table = gtk_table_new(2, 4, FALSE);
 	gtk_table_set_row_spacings(GTK_TABLE(table), 4);
 	gtk_table_set_col_spacings(GTK_TABLE(table), 10);
-	gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, GNOME_PAD);
+	gtk_box_pack_start (GTK_BOX(vbox), table, FALSE, FALSE, 8);
 
 	label = gtk_label_new_with_mnemonic(_("_Backup directory:"));
 	gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
 	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
     
-	entry = gtk_entry_new_with_max_length(128);
-	gtk_object_set_data(GTK_OBJECT(vbox), "dir", entry);
+	entry = gtk_entry_new ();
+	gtk_entry_set_max_length(GTK_ENTRY(entry), 128);
+	g_object_set_data (G_OBJECT(vbox), "dir", entry);
 	gtk_table_attach_defaults(GTK_TABLE(table), entry, 1, 2, 0, 1);
-	gtk_signal_connect(GTK_OBJECT(entry), "insert_text",
-			   GTK_SIGNAL_FUNC(insert_dir_callback),
+	g_signal_connect(GTK_OBJECT(entry), "insert_text",
+			   G_CALLBACK(insert_dir_callback),
 			   NULL);
 
 	gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry);
@@ -877,7 +909,7 @@ static GtkWidget
 	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1,2);
 
 	button = gtk_check_button_new();
-	gtk_object_set_data(GTK_OBJECT(vbox), "only_changed", button);
+	g_object_set_data (G_OBJECT(vbox), "only_changed", button);
 	gtk_table_attach_defaults(GTK_TABLE(table), button, 1, 2, 1,2);
 
 	gtk_label_set_mnemonic_widget (GTK_LABEL(label), button);
@@ -889,7 +921,7 @@ static GtkWidget
 	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2,3);
 
 	button = gtk_check_button_new();
-	gtk_object_set_data(GTK_OBJECT(vbox), "remove_local", button);
+	g_object_set_data (G_OBJECT(vbox), "remove_local", button);
 	gtk_table_attach_defaults(GTK_TABLE(table), button, 1, 2, 2,3);
 
 	gtk_label_set_mnemonic_widget (GTK_LABEL(label), button);
@@ -902,7 +934,7 @@ static GtkWidget
 
 	adjustment = gtk_adjustment_new (0, 0, 100, 1, 1, 1);
 	spin = gtk_spin_button_new (GTK_ADJUSTMENT(adjustment), 1, 0);
-	gtk_object_set_data(GTK_OBJECT(vbox), "no_of_backups", adjustment);
+	g_object_set_data (G_OBJECT(vbox), "no_of_backups", adjustment);
 	gtk_table_attach_defaults(GTK_TABLE(table), spin, 1, 2, 3, 4);
 
 	gtk_label_set_mnemonic_widget (GTK_LABEL(label), spin);
@@ -923,7 +955,7 @@ error_dialog (GtkWindow *parent, gchar *
         tmp = g_strdup_vprintf (mesg,ap);
 
         dlg = gtk_message_dialog_new (parent, GTK_DIALOG_DESTROY_WITH_PARENT,
-                                      GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, tmp);
+	    GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", tmp);
         gtk_dialog_run (GTK_DIALOG (dlg));
         gtk_widget_destroy (dlg);
 
@@ -981,10 +1013,10 @@ setOptionsCfg(GtkWidget *pilotcfg, Condu
 	GtkWidget *dir,*updated_only,*remove_deleted;
 	GtkObject *adj;
 
-	dir  = gtk_object_get_data(GTK_OBJECT(pilotcfg), "dir");
-	updated_only = gtk_object_get_data(GTK_OBJECT(pilotcfg), "only_changed");
-	remove_deleted = gtk_object_get_data(GTK_OBJECT(pilotcfg), "remove_local");
-	adj = gtk_object_get_data(GTK_OBJECT(pilotcfg), "no_of_backups");
+	dir  = g_object_get_data (G_OBJECT(pilotcfg), "dir");
+	updated_only = g_object_get_data (G_OBJECT(pilotcfg), "only_changed");
+	remove_deleted = g_object_get_data (G_OBJECT(pilotcfg), "remove_local");
+	adj = g_object_get_data (G_OBJECT(pilotcfg), "no_of_backups");
 
 	g_assert(dir!=NULL);
 	g_assert(updated_only!=NULL);
@@ -1005,10 +1037,10 @@ readOptionsCfg(GtkWidget *pilotcfg, Cond
 	GtkWidget *dir,*updated_only,*remove_deleted;
 	GtkObject *adj;
 
-	dir  = gtk_object_get_data(GTK_OBJECT(pilotcfg), "dir");
-	updated_only = gtk_object_get_data(GTK_OBJECT(pilotcfg), "only_changed");
-	remove_deleted = gtk_object_get_data(GTK_OBJECT(pilotcfg), "remove_local");
-	adj = gtk_object_get_data(GTK_OBJECT(pilotcfg), "no_of_backups");
+	dir  = g_object_get_data (G_OBJECT(pilotcfg), "dir");
+	updated_only = g_object_get_data (G_OBJECT(pilotcfg), "only_changed");
+	remove_deleted = g_object_get_data (G_OBJECT(pilotcfg), "remove_local");
+	adj = g_object_get_data (G_OBJECT(pilotcfg), "no_of_backups");
 
 	if(state->backup_dir)
 		g_free(state->backup_dir);	
@@ -1032,7 +1064,7 @@ create_settings_window (GnomePilotCondui
 	gtk_container_add(GTK_CONTAINER(parent),cfgWindow);
 	gtk_widget_show_all(cfgWindow);
 
-	gtk_object_set_data(GTK_OBJECT(conduit),OBJ_DATA_CONFIG_WINDOW,cfgWindow);
+	g_object_set_data (G_OBJECT(conduit),OBJ_DATA_CONFIG_WINDOW,cfgWindow);
 	setOptionsCfg(GET_CONDUIT_WINDOW(conduit),GET_CONDUIT_CFG(conduit));
 
 	return 0;
@@ -1076,10 +1108,10 @@ conduit_load_gpilot_conduit (GPilotPilot
 
 	cfg2 = dupe_configuration(cfg);
 
-	gtk_object_set_data(GTK_OBJECT(retval),OBJ_DATA_CONFIG,cfg);
-	gtk_object_set_data(GTK_OBJECT(retval),OBJ_DATA_OLDCONFIG,cfg2);
+	g_object_set_data (G_OBJECT(retval),OBJ_DATA_CONFIG,cfg);
+	g_object_set_data (G_OBJECT(retval),OBJ_DATA_OLDCONFIG,cfg2);
 
-	gtk_object_set_data(GTK_OBJECT(retval),
+	g_object_set_data (G_OBJECT(retval),
 			    "configuration",
 			    cfg);
 
diff -pruN 2.0.17-2/conduits/backup/backup_conduit.h 2.32.0-0ubuntu1/conduits/backup/backup_conduit.h
--- 2.0.17-2/conduits/backup/backup_conduit.h	2007-01-11 08:32:44.000000000 +0000
+++ 2.32.0-0ubuntu1/conduits/backup/backup_conduit.h	2010-08-09 09:02:10.000000000 +0100
@@ -21,7 +21,7 @@
  *          Robert Mibus
  */
 
-/* $Id: backup_conduit.h 1381 2006-03-13 22:40:56Z mcdavey $ */
+/* $Id$ */
 #ifndef __BACKUP_CONDUIT_H__
 #define __BACKUP_CONDUIT_H__
 
@@ -34,7 +34,6 @@
 #define OBJ_DATA_CONFIG  "conduit_config"
 #define OBJ_DATA_OLDCONFIG  "conduit_oldconfig"
 #define OBJ_DATA_CONFIG_WINDOW  "config_window"
-#define CONFIG_PREFIX    "/gnome-pilot.d/backup-conduit/Pilot_%u/"
 
 typedef struct ConduitCfg {
   gchar *backup_dir;
@@ -49,9 +48,9 @@ typedef struct ConduitCfg {
   pid_t child;
 } ConduitCfg;
 
-#define GET_CONDUIT_CFG(s) ((ConduitCfg*)gtk_object_get_data(GTK_OBJECT(s),OBJ_DATA_CONFIG))
-#define GET_CONDUIT_OLDCFG(s) ((ConduitCfg*)gtk_object_get_data(GTK_OBJECT(s),OBJ_DATA_OLDCONFIG))
-#define GET_CONDUIT_DATA(s) ((ConduitData*)gtk_object_get_data(GTK_OBJECT(s),OBJ_DATA_CONDUIT))
-#define GET_CONDUIT_WINDOW(s) ((GtkWidget*)gtk_object_get_data(GTK_OBJECT(s),OBJ_DATA_CONFIG_WINDOW))
+#define GET_CONDUIT_CFG(s) ((ConduitCfg*)g_object_get_data(G_OBJECT(s),OBJ_DATA_CONFIG))
+#define GET_CONDUIT_OLDCFG(s) ((ConduitCfg*)g_object_get_data(G_OBJECT(s),OBJ_DATA_OLDCONFIG))
+#define GET_CONDUIT_DATA(s) ((ConduitData*)g_object_get_data(G_OBJECT(s),OBJ_DATA_CONDUIT))
+#define GET_CONDUIT_WINDOW(s) ((GtkWidget*)g_object_get_data(G_OBJECT(s),OBJ_DATA_CONFIG_WINDOW))
 
 #endif
diff -pruN 2.0.17-2/conduits/backup/Makefile.am 2.32.0-0ubuntu1/conduits/backup/Makefile.am
--- 2.0.17-2/conduits/backup/Makefile.am	2008-06-22 22:24:35.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/backup/Makefile.am	2010-02-01 23:18:20.000000000 +0000
@@ -1,4 +1,4 @@
-INCLUDES = 					\
+AM_CPPFLAGS = 					\
 	-I$(top_srcdir)/ 			\
 	-I$(top_srcdir)/gpilotd			\
 	$(GNOME_PILOT_CFLAGS) 			\
diff -pruN 2.0.17-2/conduits/backup/Makefile.in 2.32.0-0ubuntu1/conduits/backup/Makefile.in
--- 2.0.17-2/conduits/backup/Makefile.in	2009-01-07 23:43:36.000000000 +0000
+++ 2.32.0-0ubuntu1/conduits/backup/Makefile.in	2010-09-26 11:47:04.000000000 +0100
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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.
@@ -15,15 +16,12 @@
 @SET_MAKE@
 
 
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 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
@@ -41,50 +39,73 @@ subdir = conduits/backup
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	AUTHORS TODO
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-	$(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/macros/gob2.m4 \
+	$(top_srcdir)/macros/intltool.m4 \
+	$(top_srcdir)/macros/libtool.m4 \
+	$(top_srcdir)/macros/ltoptions.m4 \
+	$(top_srcdir)/macros/ltsugar.m4 \
+	$(top_srcdir)/macros/ltversion.m4 \
+	$(top_srcdir)/macros/lt~obsolete.m4 \
+	$(top_srcdir)/macros/pilot_link.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 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__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(backup_conduitsdir)" \
 	"$(DESTDIR)$(Conduitdir)"
-backup_conduitsLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(backup_conduits_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libbackup_conduit_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(top_builddir)/gpilotd/libgpilotdconduit.la
 am_libbackup_conduit_la_OBJECTS = backup_conduit.lo
 libbackup_conduit_la_OBJECTS = $(am_libbackup_conduit_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+libbackup_conduit_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(libbackup_conduit_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 SOURCES = $(libbackup_conduit_la_SOURCES)
 DIST_SOURCES = $(libbackup_conduit_la_SOURCES)
-ConduitDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(Conduit_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALL_LINGUAS = @ALL_LINGUAS@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AR = @AR@
 AUTOCONF = @AUTOCONF@
@@ -107,17 +128,16 @@ DATADIRNAME = @DATADIRNAME@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
+EVOLUTION_DATA_SERVER_CFLAGS = @EVOLUTION_DATA_SERVER_CFLAGS@
+EVOLUTION_DATA_SERVER_LIBS = @EVOLUTION_DATA_SERVER_LIBS@
 EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
 GCONFTOOL = @GCONFTOOL@
-GCONF_SCHEMAS_INSTALL_FALSE = @GCONF_SCHEMAS_INSTALL_FALSE@
-GCONF_SCHEMAS_INSTALL_TRUE = @GCONF_SCHEMAS_INSTALL_TRUE@
 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
@@ -140,57 +160,44 @@ GPILOTD_REVISION = @GPILOTD_REVISION@
 GREP = @GREP@
 HAL_CFLAGS = @HAL_CFLAGS@
 HAL_LIBS = @HAL_LIBS@
+INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLLIBS = @INTLLIBS@
-INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
-INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
-INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
-INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
 INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
 INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
-INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
-INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
-INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
-INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
-INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
-INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
-INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
-INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
-INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
-INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
-INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
 MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
 MKINSTALLDIRS = @MKINSTALLDIRS@
 MSGFMT = @MSGFMT@
 MSGFMT_OPTS = @MSGFMT_OPTS@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
 NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
-ORBIT_IDL = @ORBIT_IDL@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
 PACKAGE_STRING = @PACKAGE_STRING@
 PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PILOT_APPLET_CFLAGS = @PILOT_APPLET_CFLAGS@
@@ -218,13 +225,13 @@ WARN_CFLAGS = @WARN_CFLAGS@
 XGETTEXT = @XGETTEXT@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -236,6 +243,7 @@ build_alias = @build_alias@
 build_cpu = @build_cpu@
 build_os = @build_os@
 build_vendor = @build_vendor@
+builddir = @builddir@
 datadir = @datadir@
 datarootdir = @datarootdir@
 docdir = @docdir@
@@ -254,6 +262,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -263,9 +272,13 @@ program_transform_name = @program_transf
 psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-INCLUDES = \
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CPPFLAGS = \
 	-I$(top_srcdir)/ 			\
 	-I$(top_srcdir)/gpilotd			\
 	$(GNOME_PILOT_CFLAGS) 			\
@@ -295,14 +308,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  conduits/backup/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  conduits/backup/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign conduits/backup/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign conduits/backup/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -320,23 +333,28 @@ $(top_srcdir)/configure: @MAINTAINER_MOD
 	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
+$(am__aclocal_m4_deps):
 install-backup_conduitsLTLIBRARIES: $(backup_conduits_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
-	test -z "$(backup_conduitsdir)" || $(mkdir_p) "$(DESTDIR)$(backup_conduitsdir)"
-	@list='$(backup_conduits_LTLIBRARIES)'; for p in $$list; do \
+	test -z "$(backup_conduitsdir)" || $(MKDIR_P) "$(DESTDIR)$(backup_conduitsdir)"
+	@list='$(backup_conduits_LTLIBRARIES)'; test -n "$(backup_conduitsdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) --mode=install $(backup_conduitsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(backup_conduitsdir)/$$f'"; \
-	    $(LIBTOOL) --mode=install $(backup_conduitsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(backup_conduitsdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(backup_conduitsdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(backup_conduitsdir)"; \
+	}
 
 uninstall-backup_conduitsLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
-	@set -x; list='$(backup_conduits_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(backup_conduitsdir)/$$p'"; \
-	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(backup_conduitsdir)/$$p"; \
+	@list='$(backup_conduits_LTLIBRARIES)'; test -n "$(backup_conduitsdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(backup_conduitsdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(backup_conduitsdir)/$$f"; \
 	done
 
 clean-backup_conduitsLTLIBRARIES:
@@ -348,7 +366,7 @@ clean-backup_conduitsLTLIBRARIES:
 	  rm -f "$${dir}/so_locations"; \
 	done
 libbackup_conduit.la: $(libbackup_conduit_la_OBJECTS) $(libbackup_conduit_la_DEPENDENCIES) 
-	$(LINK) -rpath $(backup_conduitsdir) $(libbackup_conduit_la_LDFLAGS) $(libbackup_conduit_la_OBJECTS) $(libbackup_conduit_la_LIBADD) $(LIBS)
+	$(libbackup_conduit_la_LINK) -rpath $(backup_conduitsdir) $(libbackup_conduit_la_OBJECTS) $(libbackup_conduit_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -359,22 +377,22 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backup_conduit.Plo@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 .c.obj:
-@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
-@am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
@@ -384,100 +402,106 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool
-uninstall-info-am:
 install-ConduitDATA: $(Conduit_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(Conduitdir)" || $(mkdir_p) "$(DESTDIR)$(Conduitdir)"
-	@list='$(Conduit_DATA)'; for p in $$list; do \
+	test -z "$(Conduitdir)" || $(MKDIR_P) "$(DESTDIR)$(Conduitdir)"
+	@list='$(Conduit_DATA)'; test -n "$(Conduitdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(ConduitDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Conduitdir)/$$f'"; \
-	  $(ConduitDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Conduitdir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(Conduitdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(Conduitdir)" || exit $$?; \
 	done
 
 uninstall-ConduitDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(Conduit_DATA)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
-	  echo " rm -f '$(DESTDIR)$(Conduitdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(Conduitdir)/$$f"; \
-	done
+	@list='$(Conduit_DATA)'; test -n "$(Conduitdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(Conduitdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(Conduitdir)" && rm -f $$files
 
 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; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	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 \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	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" \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__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; \
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
 	  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 \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -486,7 +510,7 @@ check: check-am
 all-am: Makefile $(LTLIBRARIES) $(DATA)
 installdirs:
 	for dir in "$(DESTDIR)$(backup_conduitsdir)" "$(DESTDIR)$(Conduitdir)"; do \
-	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
 install-exec: install-exec-am
@@ -509,6 +533,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -522,7 +547,7 @@ distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-libtool distclean-tags
+	distclean-tags
 
 dvi: dvi-am
 
@@ -530,6 +555,8 @@ dvi-am:
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -537,12 +564,30 @@ info-am:
 install-data-am: install-ConduitDATA \
 	install-backup_conduitsLTLIBRARIES install-data-local
 
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
 install-exec-am:
 
+install-html: install-html-am
+
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -564,7 +609,9 @@ ps: ps-am
 ps-am:
 
 uninstall-am: uninstall-ConduitDATA \
-	uninstall-backup_conduitsLTLIBRARIES uninstall-info-am
+	uninstall-backup_conduitsLTLIBRARIES
+
+.MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean \
 	clean-backup_conduitsLTLIBRARIES clean-generic clean-libtool \
@@ -572,20 +619,22 @@ uninstall-am: uninstall-ConduitDATA \
 	distclean-libtool distclean-tags distdir dvi dvi-am html \
 	html-am info info-am install install-ConduitDATA install-am \
 	install-backup_conduitsLTLIBRARIES install-data \
-	install-data-am install-data-local 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 mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags uninstall uninstall-ConduitDATA \
-	uninstall-am uninstall-backup_conduitsLTLIBRARIES \
-	uninstall-info-am
+	install-data-am install-data-local install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-ConduitDATA uninstall-am \
+	uninstall-backup_conduitsLTLIBRARIES
 
 
 @GP_CONDUIT_RULE@
 
 install-data-local:
 	$(mkinstalldirs) $(DESTDIR)$(Conduitdir)
+
 # 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:
diff -pruN 2.0.17-2/conduits/evolution-data-server/address-conduit.c 2.32.0-0ubuntu1/conduits/evolution-data-server/address-conduit.c
--- 2.0.17-2/conduits/evolution-data-server/address-conduit.c	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/address-conduit.c	2010-09-26 08:59:23.000000000 +0100
@@ -0,0 +1,2255 @@
+/*
+ * Evolution addressbook - Address Conduit
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ *		Eskil Heyn Olsen <deity@eskil.dk>
+ *      JP Rosevear <jpr@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <glib/gi18n.h>
+#include <libxml/parser.h>
+#include <pi-source.h>
+#include <pi-socket.h>
+#include <pi-dlp.h>
+#include <pi-address.h>
+#include <pi-appinfo.h>
+#include <libedataserver/e-categories.h>
+#include <libedataserver/e-url.h>
+#include <libedataserver/eds-version.h>
+#include <libedataserver/e-data-server-util.h>
+#include <libedataserverui/e-passwords.h>
+#include <libebook/e-book.h>
+#include <gpilotd/gnome-pilot-conduit.h>
+#include <gpilotd/gnome-pilot-conduit-sync-abs.h>
+#include <libgpilotdCM/gnome-pilot-conduit-management.h>
+#include <libgpilotdCM/gnome-pilot-conduit-config.h>
+#include <e-dialog-widgets.h>
+#include <e-pilot-map.h>
+#include <e-pilot-settings.h>
+#include <e-pilot-util.h>
+
+GnomePilotConduit * conduit_get_gpilot_conduit (guint32);
+void conduit_destroy_gpilot_conduit (GnomePilotConduit*);
+
+#define CONDUIT_VERSION "0.1.2"
+
+#define DEBUG_CONDUIT 1
+/* #undef DEBUG_CONDUIT */
+
+#ifdef DEBUG_CONDUIT
+#define LOG(x) x
+#else
+#define LOG(x)
+#endif
+
+#define WARN g_warning
+#define INFO g_message
+#define PILOT_MAX_CATEGORIES 16
+
+enum {
+	LABEL_WORK,
+	LABEL_HOME,
+	LABEL_FAX,
+	LABEL_OTHER,
+	LABEL_EMAIL,
+	LABEL_MAIN,
+	LABEL_PAGER,
+	LABEL_MOBILE
+};
+
+static EContactField priority [] = {
+	E_CONTACT_PHONE_BUSINESS,
+	E_CONTACT_PHONE_HOME,
+	E_CONTACT_PHONE_BUSINESS_FAX,
+	E_CONTACT_EMAIL_1,
+	E_CONTACT_PHONE_PAGER,
+	E_CONTACT_PHONE_MOBILE,
+	E_CONTACT_PHONE_BUSINESS_2,
+	E_CONTACT_PHONE_HOME_2,
+	E_CONTACT_PHONE_HOME_FAX,
+	E_CONTACT_EMAIL_2,
+	E_CONTACT_PHONE_OTHER,
+	E_CONTACT_PHONE_PRIMARY,
+	E_CONTACT_PHONE_OTHER_FAX,
+	E_CONTACT_EMAIL_3,
+	E_CONTACT_FIELD_LAST
+};
+
+static gint priority_label [] = {
+	LABEL_WORK,
+	LABEL_HOME,
+	LABEL_FAX,
+	LABEL_EMAIL,
+	LABEL_PAGER,
+	LABEL_MOBILE,
+	LABEL_WORK,
+	LABEL_HOME,
+	LABEL_FAX,
+	LABEL_EMAIL,
+	LABEL_OTHER,
+	LABEL_MAIN,
+	LABEL_FAX,
+	LABEL_EMAIL,
+	-1
+};
+
+typedef struct _EAddrLocalRecord EAddrLocalRecord;
+typedef struct _EAddrConduitCfg EAddrConduitCfg;
+typedef struct _EAddrConduitGui EAddrConduitGui;
+typedef struct _EAddrConduitContext EAddrConduitContext;
+
+/* Local Record */
+struct _EAddrLocalRecord {
+	/* The stuff from gnome-pilot-conduit-standard-abs.h
+	   Must be first in the structure, or instances of this
+	   structure cannot be used by gnome-pilot-conduit-standard-abs.
+	*/
+	GnomePilotDesktopRecord local;
+
+	/* The corresponding ECard object */
+	EContact *contact;
+
+        /* pilot-link address structure, used for implementing Transmit. */
+	struct Address *addr;
+};
+
+static void
+addrconduit_destroy_record (EAddrLocalRecord *local)
+{
+	g_object_unref (local->contact);
+	free_Address (local->addr);
+	g_free (local->addr);
+	g_free (local);
+}
+
+/* Configuration */
+struct _EAddrConduitCfg {
+	guint32 pilot_id;
+	GnomePilotConduitSyncType  sync_type;
+
+	ESourceList *source_list;
+	ESource *source;
+	gboolean secret;
+	EContactField default_address;
+
+	gchar *last_uri;
+};
+
+/* NOTE: copied from calendar/conduit/common/libecalendar-common-conduit.c
+ * Adds a category to the category app info structure (name and ID),
+ * sets category->renamed[i] to true if possible to rename.
+ *
+ * This will be packed and written to the app info block during post_sync.
+ *
+ * NOTE: cat_to_add MUST be in PCHAR format. Evolution stores categories
+ *       in UTF-8 format. A conversion must take place before calling
+ *       this function (see e_pilot_utf8_to_pchar() in e-pilot-util.c)
+ */
+static gint
+e_pilot_add_category_if_possible(gchar *cat_to_add, struct CategoryAppInfo *category)
+{
+	gint i, j;
+	gint retval = 0; /* 0 is the Unfiled category */
+	LOG(g_message("e_pilot_add_category_if_possible\n"));
+
+	for (i=0; i<PILOT_MAX_CATEGORIES; i++) {
+		/* if strlen is 0, then the category is empty
+		   the PalmOS doesn't let 0-length strings for
+		   categories */
+		if (strlen(category->name[i]) == 0) {
+			gint cat_to_add_len;
+			gint desktopUniqueID;
+
+			cat_to_add_len = strlen(cat_to_add);
+			retval = i;
+
+			if (cat_to_add_len > 15) {
+				gchar tmpstr[17];
+				strncpy(tmpstr, cat_to_add,16);
+				tmpstr[16] = '\0';
+				/* Have to truncate the category name */
+				LOG (g_warning ("*** Desktop category '%s' too long for PDA."
+						    "Truncating to '%s' ***",cat_to_add, tmpstr));
+				cat_to_add_len = 15;
+			}
+
+			/* only 15 characters for category, 16th is
+			 * '\0' can't do direct mem transfer due to
+			 * declaration type
+			 */
+			for (j=0; j<cat_to_add_len; j++) {
+				category->name[i][j] = cat_to_add[j];
+			}
+
+			for (j=cat_to_add_len; j<16; j++) {
+				category->name[i][j] = '\0';
+			}
+
+			/* find a desktop id that is not in use between 128 and 255 */
+			/* XXX desktopUniqueID should really be used for tracking
+			 * categories across renaming operations, but as Evo
+			 * doesn't have a concept of category UIDs or renaming,
+			 * we don't have much use for it at present.
+			 */
+			for (desktopUniqueID = 128; desktopUniqueID <= 255; desktopUniqueID++) {
+				gint found = 0;
+				for (j=0; j<PILOT_MAX_CATEGORIES; j++) {
+					if (category->ID[j] == desktopUniqueID) {
+						found = 1;
+					}
+				}
+				if (found == 0) {
+					break;
+				}
+				if (desktopUniqueID == 255) {
+					LOG (g_warning ("*** no more categories available on PC ***"));
+				}
+			}
+			category->ID[i] = desktopUniqueID;
+
+			category->renamed[i] = TRUE;
+
+			break;
+		}
+	}
+
+	if (retval == 0) {
+		LOG (g_warning ("*** not adding category - category list already full ***"));
+	}
+
+	return retval;
+}
+
+/*
+ * conversion from an evolution category to a palm category.
+ * we iterate over the list of desktop categories to see if
+ * there is matching palm category.  If not, we create
+ * a new palm category from the first evo category.
+ * If a category was not found and could not be created,
+ * or if there are no desktop categories, then *pilotCategory
+ * is set to zero ("Unfiled").
+ */
+static
+void e_pilot_local_category_to_remote(gint * pilotCategory,
+    EContact *contact, struct CategoryAppInfo *category,
+	const gchar *pilot_charset)
+{
+	GList *c_list = NULL, *l;
+	gchar * category_string, *first_category = NULL;
+	gint i;
+	*pilotCategory = 0; /* default to "Unfiled" */
+	c_list = e_contact_get (contact, E_CONTACT_CATEGORY_LIST);
+	if (c_list) {
+		/* remember the first category */
+		first_category = e_pilot_utf8_to_pchar((const gchar *)c_list->data, pilot_charset);
+	}
+	l = c_list;
+	while (l && *pilotCategory == 0) {
+		/* list != 0, so at least 1 category is assigned */
+		category_string = e_pilot_utf8_to_pchar((const gchar *)l->data, pilot_charset);
+		for (i=0; i < PILOT_MAX_CATEGORIES; i++) {
+			/* only 15 chars + nul in palm category name */
+			if (strncmp(category_string,category->name[i], 15) == 0) {
+				*pilotCategory = i;
+				break;
+			}
+		}
+		g_free(category_string);
+		l = l->next;
+	}
+	if (*pilotCategory == 0 && first_category && *first_category) {
+		/* category not available on palm, try to create it */
+		/* XXX e_pilot_add_category_if_possible can be called
+		 *  when we're doing a 'copy from pilot'.  This should
+		 *  really be avoided.
+		 */
+		*pilotCategory = e_pilot_add_category_if_possible(
+		    first_category,category);
+		g_free(first_category);
+	}
+	g_list_foreach (c_list, (GFunc)g_free, NULL);
+	g_list_free(c_list);
+	/*end category*/
+}
+
+/*
+ * conversion from a palm category to an evolution category
+ */
+static
+void e_pilot_remote_category_to_local(gint pilotCategory,
+    EContact *contact, struct CategoryAppInfo *category,
+	const gchar *pilot_charset)
+{
+	gchar *category_string = NULL;
+
+	if (pilotCategory != 0) {
+		/* pda has category assigned */
+		category_string = e_pilot_utf8_from_pchar(
+		    category->name[pilotCategory], pilot_charset);
+
+		LOG(g_message("PDA Category: %s\n", category_string));
+
+		if (e_categories_exist(category_string) == FALSE) {
+			/* add if it doesn't exist */
+			LOG(g_message("Category created on pc\n"));
+			e_categories_add(category_string, NULL, NULL, TRUE);
+		}
+	}
+
+	/* store the data in EContact */
+	if (category_string == NULL) {
+		/* remove categories from desktop. */
+		e_contact_set (contact, E_CONTACT_CATEGORY_LIST, NULL);
+	}
+	else {
+
+		/* Since the first first category is synced with the PDA, add the PDA's
+		 * category to the beginning of the category list */
+		GList *c_list = NULL;
+		GList *newcat_in_list;
+		c_list = e_contact_get (contact, E_CONTACT_CATEGORY_LIST);
+
+		/* remove old item from list so we don't have duplicate entries */
+		newcat_in_list = g_list_find_custom(c_list, category_string, (GCompareFunc)strcmp);
+		if (newcat_in_list != NULL)
+		{
+			g_free(newcat_in_list->data);
+			c_list = g_list_remove(c_list, newcat_in_list->data);
+		}
+
+		c_list = g_list_prepend(c_list, category_string);
+		e_contact_set (contact, E_CONTACT_CATEGORY_LIST, c_list);
+
+		g_list_foreach (c_list, (GFunc)g_free, NULL);
+		g_list_free(c_list);
+	}
+}
+
+static gchar *
+build_setup_path (const gchar *path, const gchar *key)
+{
+	return g_strconcat ("/apps/evolution/conduit", "/", path, "/", key, NULL);
+}
+
+static gboolean
+e_pilot_setup_get_bool (const gchar *path, const gchar *key, gboolean def)
+{
+	gboolean res = def;
+	gchar *full_path;
+	GConfValue *value;
+	GConfClient *gconf;
+
+	g_return_val_if_fail (path != NULL, res);
+	g_return_val_if_fail (key != NULL, res);
+
+	gconf = gconf_client_get_default ();
+	full_path = build_setup_path (path, key);
+
+	value = gconf_client_get (gconf, full_path, NULL);
+	if (value) {
+		if (value->type == GCONF_VALUE_BOOL)
+			res = gconf_value_get_bool (value);
+
+		gconf_value_free (value);
+	}
+
+	g_free (full_path);
+	g_object_unref (gconf);
+
+	return res;
+}
+
+static void
+e_pilot_setup_set_bool (const gchar *path, const gchar *key, gboolean value)
+{
+	GError *error = NULL;
+	gchar *full_path;
+	GConfClient *gconf;
+
+	g_return_if_fail (path != NULL);
+	g_return_if_fail (key != NULL);
+
+	gconf = gconf_client_get_default ();
+	full_path = build_setup_path (path, key);
+
+	gconf_client_set_bool (gconf, full_path, value, &error);
+
+	g_free (full_path);
+	g_object_unref (gconf);
+
+	if (error) {
+		g_message ("%s: Failed to write: %s", G_STRFUNC, error->message);
+		g_error_free (error);
+	}
+}
+
+static gchar *
+e_pilot_setup_get_string (const gchar *path, const gchar *key, const gchar *def)
+{
+	gchar *res = g_strdup (def);
+	gchar *full_path;
+	GConfValue *value;
+	GConfClient *gconf;
+
+	g_return_val_if_fail (path != NULL, res);
+	g_return_val_if_fail (key != NULL, res);
+
+	gconf = gconf_client_get_default ();
+	full_path = build_setup_path (path, key);
+
+	value = gconf_client_get (gconf, full_path, NULL);
+	if (value) {
+		if (value->type == GCONF_VALUE_STRING) {
+			g_free (res);
+			res = g_strdup (gconf_value_get_string (value));
+		}
+
+		gconf_value_free (value);
+	}
+
+	g_free (full_path);
+	g_object_unref (gconf);
+
+	return res;
+}
+
+static void
+e_pilot_setup_set_string (const gchar *path, const gchar *key, const gchar *value)
+{
+	GError *error = NULL;
+	gchar *full_path;
+	GConfClient *gconf;
+
+	g_return_if_fail (path != NULL);
+	g_return_if_fail (key != NULL);
+	g_return_if_fail (value != NULL);
+
+	gconf = gconf_client_get_default ();
+	full_path = build_setup_path (path, key);
+
+	gconf_client_set_string (gconf, full_path, value, &error);
+
+	g_free (full_path);
+	g_object_unref (gconf);
+
+	if (error) {
+		g_message ("%s: Failed to write: %s", G_STRFUNC, error->message);
+		g_error_free (error);
+	}
+}
+
+static EAddrConduitCfg *
+addrconduit_load_configuration (guint32 pilot_id)
+{
+	EAddrConduitCfg *c;
+	GnomePilotConduitManagement *management;
+	GnomePilotConduitConfig *config;
+	gchar *address, prefix[256];
+	g_snprintf (prefix, 255, "e-address-conduit/Pilot_%u", pilot_id);
+
+	c = g_new0 (EAddrConduitCfg,1);
+	g_assert (c != NULL);
+
+	c->pilot_id = pilot_id;
+	management = gnome_pilot_conduit_management_new ((gchar *)"e_address_conduit", GNOME_PILOT_CONDUIT_MGMT_ID);
+	g_object_ref_sink (management);
+	config = gnome_pilot_conduit_config_new (management, pilot_id);
+	g_object_ref_sink (config);
+	if (!gnome_pilot_conduit_config_is_enabled (config, &c->sync_type))
+		c->sync_type = GnomePilotConduitSyncTypeNotSet;
+	g_object_unref (config);
+	g_object_unref (management);
+
+	/* Custom settings */
+	if (!e_book_get_addressbooks (&c->source_list, NULL))
+		c->source_list = NULL;
+	if (c->source_list) {
+		c->source = e_pilot_get_sync_source (c->source_list);
+		if (!c->source)
+			c->source = e_source_list_peek_source_any (c->source_list);
+		if (c->source) {
+			g_object_ref (c->source);
+		} else {
+			g_object_unref (c->source_list);
+			c->source_list = NULL;
+		}
+	}
+
+	c->secret = e_pilot_setup_get_bool (prefix, "secret", FALSE);
+	address = e_pilot_setup_get_string (prefix, "default_address", "business");
+	if (!address || !strcmp (address, "business"))
+		c->default_address = E_CONTACT_ADDRESS_WORK;
+	else if (!strcmp (address, "home"))
+		c->default_address = E_CONTACT_ADDRESS_HOME;
+	else if (!strcmp (address, "other"))
+		c->default_address = E_CONTACT_ADDRESS_OTHER;
+	g_free (address);
+	c->last_uri = e_pilot_setup_get_string (prefix, "last_uri", NULL);
+
+	return c;
+}
+
+static void
+addrconduit_save_configuration (EAddrConduitCfg *c)
+{
+	gchar prefix[256];
+
+	g_snprintf (prefix, 255, "e-address-conduit/Pilot_%u", c->pilot_id);
+
+	e_pilot_set_sync_source (c->source_list, c->source);
+	e_pilot_setup_set_bool (prefix, "secret", c->secret);
+	switch (c->default_address) {
+	case E_CONTACT_ADDRESS_WORK:
+		e_pilot_setup_set_string (prefix, "default_address", "business");
+		break;
+	case E_CONTACT_ADDRESS_HOME:
+		e_pilot_setup_set_string (prefix, "default_address", "home");
+		break;
+	case E_CONTACT_ADDRESS_OTHER:
+		e_pilot_setup_set_string (prefix, "default_address", "other");
+		break;
+	default:
+		g_warning ("Unknown default_address value");
+	}
+	e_pilot_setup_set_string (prefix, "last_uri", c->last_uri ? c->last_uri : "");
+}
+
+static EAddrConduitCfg*
+addrconduit_dupe_configuration (EAddrConduitCfg *c)
+{
+	EAddrConduitCfg *retval;
+
+	g_return_val_if_fail (c != NULL, NULL);
+
+	retval = g_new0 (EAddrConduitCfg, 1);
+	retval->sync_type = c->sync_type;
+	retval->pilot_id = c->pilot_id;
+
+	if (c->source_list)
+		retval->source_list = g_object_ref (c->source_list);
+	if (c->source)
+		retval->source = g_object_ref (c->source);
+	retval->secret = c->secret;
+	retval->default_address = c->default_address;
+	retval->last_uri = g_strdup (c->last_uri);
+
+	return retval;
+}
+
+static void
+addrconduit_destroy_configuration (EAddrConduitCfg *c)
+{
+	g_return_if_fail (c != NULL);
+
+	g_object_unref (c->source_list);
+	g_object_unref (c->source);
+	g_free (c->last_uri);
+	g_free (c);
+}
+
+/* Gui */
+struct _EAddrConduitGui {
+	GtkWidget *default_address;
+};
+
+static EAddrConduitGui *
+e_addr_gui_new (EPilotSettings *ps)
+{
+	EAddrConduitGui *gui;
+	GtkWidget *lbl;
+	gint rows, i;
+	static const gchar *items[] = {"Business", "Home", "Other", NULL};
+
+	g_return_val_if_fail (ps != NULL, NULL);
+	g_return_val_if_fail (E_IS_PILOT_SETTINGS (ps), NULL);
+
+	gtk_table_resize (GTK_TABLE (ps), E_PILOT_SETTINGS_TABLE_ROWS + 1,
+			  E_PILOT_SETTINGS_TABLE_COLS);
+
+	gui = g_new0 (EAddrConduitGui, 1);
+
+	rows = E_PILOT_SETTINGS_TABLE_ROWS;
+	lbl = gtk_label_new (_("Default Sync Address:"));
+	gtk_misc_set_alignment (GTK_MISC (lbl), 0.0, 0.5);
+	gui->default_address = gtk_combo_box_new_text ();
+	for (i = 0; items[i] != NULL; i++) {
+		gtk_combo_box_append_text (GTK_COMBO_BOX (gui->default_address), items[i]);
+	}
+	gtk_table_attach_defaults (GTK_TABLE (ps), lbl, 0, 1, rows, rows + 1);
+        gtk_table_attach_defaults (GTK_TABLE (ps), gui->default_address, 1, 2, rows, rows + 1);
+	gtk_widget_show (lbl);
+	gtk_widget_show (gui->default_address);
+
+	return gui;
+}
+
+static const gint default_address_map[] = {
+	E_CONTACT_ADDRESS_WORK,
+	E_CONTACT_ADDRESS_HOME,
+	E_CONTACT_ADDRESS_OTHER,
+	-1
+};
+
+static void
+e_addr_gui_fill_widgets (EAddrConduitGui *gui, EAddrConduitCfg *cfg)
+{
+	g_return_if_fail (gui != NULL);
+	g_return_if_fail (cfg != NULL);
+
+	e_dialog_combo_box_set (gui->default_address,
+				cfg->default_address,
+				default_address_map);
+}
+
+static void
+e_addr_gui_fill_config (EAddrConduitGui *gui, EAddrConduitCfg *cfg)
+{
+	g_return_if_fail (gui != NULL);
+	g_return_if_fail (cfg != NULL);
+
+	cfg->default_address = e_dialog_combo_box_get (gui->default_address,
+						       default_address_map);
+}
+
+static void
+e_addr_gui_destroy (EAddrConduitGui *gui)
+{
+	g_free (gui);
+}
+
+/* Context */
+struct _EAddrConduitContext {
+	GnomePilotDBInfo *dbi;
+
+	EAddrConduitCfg *cfg;
+	EAddrConduitCfg *new_cfg;
+	EAddrConduitGui *gui;
+	GtkWidget *ps;
+
+	struct AddressAppInfo ai;
+
+	EBook *ebook;
+	GList *cards;
+	GList *changed;
+	GHashTable *changed_hash;
+	GList *locals;
+
+	EPilotMap *map;
+
+	gchar * pilot_charset;
+};
+
+static EAddrConduitContext *
+e_addr_context_new (guint32 pilot_id)
+{
+	EAddrConduitContext *ctxt = g_new0 (EAddrConduitContext, 1);
+
+	ctxt->cfg = addrconduit_load_configuration (pilot_id);
+	ctxt->new_cfg = addrconduit_dupe_configuration (ctxt->cfg);
+	ctxt->gui = NULL;
+	ctxt->ps = NULL;
+	ctxt->ebook = NULL;
+	ctxt->cards = NULL;
+	ctxt->changed_hash = NULL;
+	ctxt->changed = NULL;
+	ctxt->locals = NULL;
+	ctxt->map = NULL;
+	ctxt->pilot_charset = NULL;
+
+	return ctxt;
+}
+
+static void
+e_addr_context_destroy (EAddrConduitContext *ctxt)
+{
+	GList *l;
+
+	g_return_if_fail (ctxt != NULL);
+
+	if (ctxt->cfg != NULL)
+		addrconduit_destroy_configuration (ctxt->cfg);
+	if (ctxt->new_cfg != NULL)
+		addrconduit_destroy_configuration (ctxt->new_cfg);
+	if (ctxt->gui != NULL)
+		e_addr_gui_destroy (ctxt->gui);
+
+	if (ctxt->ebook != NULL)
+		g_object_unref (ctxt->ebook);
+
+	if (ctxt->cards != NULL) {
+		for (l = ctxt->cards; l != NULL; l = l->next)
+			g_object_unref (l->data);
+		g_list_free (ctxt->cards);
+	}
+
+	if (ctxt->changed_hash != NULL)
+		g_hash_table_destroy (ctxt->changed_hash);
+
+	if (ctxt->changed != NULL)
+		e_book_free_change_list (ctxt->changed);
+
+	if (ctxt->locals != NULL) {
+		for (l = ctxt->locals; l != NULL; l = l->next)
+			addrconduit_destroy_record (l->data);
+		g_list_free (ctxt->locals);
+	}
+
+	if (ctxt->map != NULL)
+		e_pilot_map_destroy (ctxt->map);
+
+	g_free (ctxt);
+}
+
+/* Debug routines */
+static const gchar *
+print_local (EAddrLocalRecord *local)
+{
+	static gchar buff[ 4096 ];
+
+	if (local == NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+
+	if (local->addr) {
+		g_snprintf (buff, 4096, "['%s' '%s' '%s']",
+			    local->addr->entry[entryLastname] ?
+			    local->addr->entry[entryLastname] : "",
+			    local->addr->entry[entryFirstname] ?
+			    local->addr->entry[entryFirstname] : "",
+			    local->addr->entry[entryCompany] ?
+			    local->addr->entry[entryCompany] : "");
+		return buff;
+	}
+
+	return "";
+}
+
+static gchar *print_remote (GnomePilotRecord *remote)
+{
+	static gchar buff[ 4096 ];
+	struct Address addr;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#endif
+
+	if (remote == NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+
+	memset (&addr, 0, sizeof (struct Address));
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+	if (pi_buffer_append(buffer, remote->record, remote->length)==NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+	unpack_Address (&addr, buffer, address_v1);
+	pi_buffer_free(buffer);
+#else
+	unpack_Address (&addr, remote->record, remote->length);
+#endif
+
+	g_snprintf (buff, 4096, "['%s' '%s' '%s']",
+		    addr.entry[entryLastname] ?
+		    addr.entry[entryLastname] : "",
+		    addr.entry[entryFirstname] ?
+		    addr.entry[entryFirstname] : "",
+		    addr.entry[entryCompany] ?
+		    addr.entry[entryCompany] : "");
+
+	free_Address (&addr);
+
+	return buff;
+}
+
+/* Utility routines */
+static gchar *
+map_name (EAddrConduitContext *ctxt)
+{
+	gchar *basename;
+	gchar *filename;
+
+	basename = g_strdup_printf ("pilot-map-%d.xml", ctxt->cfg->pilot_id);
+
+#if EDS_CHECK_VERSION(2,31,6)
+	filename = g_build_filename (e_get_user_data_dir (), "addressbook", "system", basename, NULL);
+#else
+	filename = g_build_filename (g_get_home_dir (), ".evolution", "addressbook", "local", "system", basename, NULL);
+#endif
+
+	g_free (basename);
+
+	return filename;
+}
+
+static GList *
+next_changed_item (EAddrConduitContext *ctxt, GList *changes)
+{
+	EBookChange *ebc;
+	GList *l;
+
+	for (l = changes; l != NULL; l = l->next) {
+		ebc = l->data;
+
+		if (g_hash_table_lookup (ctxt->changed_hash, e_contact_get_const (ebc->contact, E_CONTACT_UID)))
+			return l;
+	}
+
+	return NULL;
+}
+
+static EContactField
+get_next_mail (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_EMAIL_1;
+
+	switch (*field) {
+	case E_CONTACT_EMAIL_1:
+		return E_CONTACT_EMAIL_2;
+	case E_CONTACT_EMAIL_2:
+		return E_CONTACT_EMAIL_3;
+	default:
+		break;
+	}
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_home (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_HOME;
+
+	switch (*field) {
+	case E_CONTACT_PHONE_HOME:
+		return E_CONTACT_PHONE_HOME_2;
+	default:
+		break;
+	}
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_work (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_BUSINESS;
+
+	switch (*field) {
+	case E_CONTACT_PHONE_BUSINESS:
+		return E_CONTACT_PHONE_BUSINESS_2;
+	default:
+		break;
+	}
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_fax (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_BUSINESS_FAX;
+
+	switch (*field) {
+	case E_CONTACT_PHONE_BUSINESS_FAX:
+		return E_CONTACT_PHONE_HOME_FAX;
+	case E_CONTACT_PHONE_HOME_FAX:
+		return E_CONTACT_PHONE_OTHER_FAX;
+	default:
+		break;
+	}
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_other (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_OTHER;
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_main (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_PRIMARY;
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_pager (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_PAGER;
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static EContactField
+get_next_mobile (EContactField *field)
+{
+	if (field == NULL)
+		return E_CONTACT_PHONE_MOBILE;
+
+	return E_CONTACT_FIELD_LAST;
+}
+
+static void
+get_next_init (EContactField *next_mail,
+	       EContactField *next_home,
+	       EContactField *next_work,
+	       EContactField *next_fax,
+	       EContactField *next_other,
+	       EContactField *next_main,
+	       EContactField *next_pager,
+	       EContactField *next_mobile)
+{
+	*next_mail = get_next_mail (NULL);
+	*next_home = get_next_home (NULL);
+	*next_work = get_next_work (NULL);
+	*next_fax = get_next_fax (NULL);
+	*next_other = get_next_other (NULL);
+	*next_main = get_next_main (NULL);
+	*next_pager = get_next_pager (NULL);
+	*next_mobile = get_next_mobile (NULL);
+}
+
+static gboolean
+is_next_done (EContactField field)
+{
+	if (field == E_CONTACT_FIELD_LAST)
+		return TRUE;
+
+	return FALSE;
+}
+
+static gboolean
+is_syncable (EAddrConduitContext *ctxt, EAddrLocalRecord *local)
+{
+	EContactField next_mail, next_home, next_work, next_fax;
+	EContactField next_other, next_main, next_pager, next_mobile;
+	gboolean syncable = TRUE;
+	gint i, l = 0;
+
+	/* See if there are fields we can't sync or not in priority order */
+	get_next_init (&next_mail, &next_home, &next_work, &next_fax,
+		       &next_other, &next_main, &next_pager, &next_mobile);
+
+	for (i = entryPhone1; i <= entryPhone5 && syncable; i++) {
+		gint phonelabel = local->addr->phoneLabel[i - entryPhone1];
+		const gchar *phone_str = local->addr->entry[i];
+		gboolean empty = !(phone_str && *phone_str);
+
+		if (empty)
+			continue;
+
+		for (; priority_label[l] != -1; l++)
+			if (phonelabel == priority_label[l])
+				break;
+
+		if (priority_label[l] == -1) {
+			syncable = FALSE;
+			continue;
+		}
+
+		if (phonelabel == LABEL_EMAIL) {
+			if (is_next_done (next_mail) || next_mail != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_mail = get_next_mail (&next_mail);
+		} else if (phonelabel == LABEL_HOME) {
+			if (is_next_done (next_home) || next_home != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_home = get_next_home (&next_home);
+		} else if (phonelabel == LABEL_WORK) {
+			if (is_next_done (next_work) || next_work != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_work = get_next_work (&next_work);
+		} else if (phonelabel == LABEL_FAX) {
+			if (is_next_done (next_fax) || next_fax != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_fax = get_next_fax (&next_fax);
+		} else if (phonelabel == LABEL_OTHER) {
+			if (is_next_done (next_other) || next_other != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_other = get_next_other (&next_other);
+		} else if (phonelabel == LABEL_MAIN) {
+			if (is_next_done (next_main) || next_main != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_main = get_next_main (&next_main);
+		} else if (phonelabel == LABEL_PAGER) {
+			if (is_next_done (next_pager) || next_pager != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_pager = get_next_pager (&next_pager);
+		} else if (phonelabel == LABEL_MOBILE) {
+			if (is_next_done (next_mobile) || next_mobile != priority[l]) {
+				syncable = FALSE;
+				break;
+			}
+			next_mobile = get_next_mobile (&next_mobile);
+		}
+	}
+
+	return syncable;
+}
+
+static void
+set_contact_text (EContact *contact, EContactField field, struct Address address,
+	gint entry, const gchar *pilot_charset)
+{
+	gchar *text = NULL;
+
+	if (address.entry[entry])
+		text = e_pilot_utf8_from_pchar (address.entry[entry], pilot_charset);
+
+	e_contact_set (contact, field, text);
+
+	g_free (text);
+}
+
+static gchar *
+get_entry_text (struct Address address, gint entry, const gchar *pilot_charset)
+{
+	if (address.entry[entry])
+		return e_pilot_utf8_from_pchar (address.entry[entry], pilot_charset);
+
+	return NULL;
+}
+
+static void
+clear_entry_text (struct Address address, gint field)
+{
+	if (address.entry[field]) {
+		free (address.entry[field]);
+		address.entry[field] = NULL;
+	}
+}
+
+static void
+compute_status (EAddrConduitContext *ctxt, EAddrLocalRecord *local, const gchar *uid)
+{
+	EBookChange *ebc;
+
+	local->local.archived = FALSE;
+	local->local.secret = FALSE;
+
+	ebc = g_hash_table_lookup (ctxt->changed_hash, uid);
+
+	if (ebc == NULL) {
+		local->local.attr = GnomePilotRecordNothing;
+		return;
+	}
+
+	switch (ebc->change_type) {
+	case E_BOOK_CHANGE_CARD_ADDED:
+		local->local.attr = GnomePilotRecordNew;
+		break;
+	case E_BOOK_CHANGE_CARD_MODIFIED:
+		local->local.attr = GnomePilotRecordModified;
+		break;
+	case E_BOOK_CHANGE_CARD_DELETED:
+		local->local.attr = GnomePilotRecordDeleted;
+		break;
+	}
+}
+
+static GnomePilotRecord
+local_record_to_pilot_record (EAddrLocalRecord *local,
+			      EAddrConduitContext *ctxt)
+{
+	GnomePilotRecord p;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#else
+	static gchar record[0xffff];
+#endif
+
+	g_assert (local->addr != NULL );
+
+	LOG (g_message ( "local_record_to_pilot_record\n" ));
+
+	memset (&p, 0, sizeof (GnomePilotRecord));
+
+	p.ID = local->local.ID;
+	p.category = local->local.category;
+	p.attr = local->local.attr;
+	p.archived = local->local.archived;
+	p.secret = local->local.secret;
+
+	/* Generate pilot record structure */
+
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+		return p;
+	}
+
+	pack_Address (local->addr, buffer, address_v1);
+
+	p.record = g_new0(unsigned char, buffer->used);
+	p.length = buffer->used;
+	memcpy(p.record, buffer->data, buffer->used);
+
+	pi_buffer_free(buffer);
+#else
+	p.record = (guchar *)record;
+	p.length = pack_Address (local->addr, p.record, 0xffff);
+#endif
+	return p;
+}
+
+static void
+local_record_from_ecard (EAddrLocalRecord *local, EContact *contact, EAddrConduitContext *ctxt)
+{
+	EContactAddress *address = NULL;
+	gint phone = entryPhone1;
+	gboolean syncable;
+	gint i;
+
+	g_return_if_fail (local != NULL);
+	g_return_if_fail (contact != NULL);
+
+	local->contact = g_object_ref (contact);
+	local->local.ID = e_pilot_map_lookup_pid (ctxt->map, e_contact_get_const (contact, E_CONTACT_UID), TRUE);
+
+	compute_status (ctxt, local, e_contact_get_const (contact, E_CONTACT_UID));
+
+	local->addr = g_new0 (struct Address, 1);
+
+	/* Handle the fields and category we don't sync by making sure
+         * we don't overwrite them
+	 */
+	if (local->local.ID != 0) {
+		struct Address addr;
+		gint cat = 0;
+#ifdef PILOT_LINK_0_12
+		pi_buffer_t * record;
+		record = pi_buffer_new(DLP_BUF_SIZE);
+		if (record == NULL) {
+			pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+			return;
+		}
+#else
+		gchar record[0xffff];
+#endif
+
+		if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
+					ctxt->dbi->db_handle,
+#ifdef PILOT_LINK_0_12
+					local->local.ID, record,
+					NULL, NULL, &cat) > 0) {
+#else
+					local->local.ID, &record,
+					NULL, NULL, NULL, &cat) > 0) {
+#endif
+			local->local.category = cat;
+			memset (&addr, 0, sizeof (struct Address));
+#ifdef PILOT_LINK_0_12
+			unpack_Address (&addr, record, address_v1);
+#else
+			unpack_Address (&addr, (guchar *)record, 0xffff);
+#endif
+			for (i = 0; i < 5; i++) {
+				if (addr.entry[entryPhone1 + i])
+					local->addr->entry[entryPhone1 + i] =
+						strdup (addr.entry[entryPhone1 + i]);
+				local->addr->phoneLabel[i] = addr.phoneLabel[i];
+			}
+			local->addr->showPhone = addr.showPhone;
+			for (i = 0; i < 4; i++) {
+				if (addr.entry[entryCustom1 + i])
+					local->addr->entry[entryCustom1 + i] =
+						strdup (addr.entry[entryCustom1 + i]);
+			}
+			free_Address (&addr);
+		}
+#ifdef PILOT_LINK_0_12
+		pi_buffer_free (record);
+#endif
+	}
+
+	/*Category support*/
+	e_pilot_local_category_to_remote(&(local->local.category), contact, &(ctxt->ai.category), ctxt->pilot_charset);
+
+	local->addr->entry[entryFirstname] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_GIVEN_NAME), ctxt->pilot_charset);
+	local->addr->entry[entryLastname] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_FAMILY_NAME), ctxt->pilot_charset);
+	local->addr->entry[entryCompany] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_ORG), ctxt->pilot_charset);
+	local->addr->entry[entryTitle] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_TITLE), ctxt->pilot_charset);
+
+	/* See if the default has something in it */
+	address = e_contact_get (contact, ctxt->cfg->default_address);
+	if (address == NULL) {
+		EContactField field;
+
+		/* Try to find a non-empty address field */
+		for (field = E_CONTACT_FIRST_ADDRESS_ID; field <= E_CONTACT_LAST_ADDRESS_ID; field++) {
+			if ((address = e_contact_get (contact, field)))
+				break;
+		}
+	}
+
+	if (address) {
+		gchar *add;
+
+		/* If the address has 2 lines, make sure both get added */
+		if (address->ext != NULL &&
+		    strlen (address->ext) > 0) {
+			add = g_strconcat (address->street, "\n", address->ext, NULL);
+			LOG (g_warning ("Address has two lines: [%s]\n", add));
+		}
+		else {
+			add = g_strdup (address->street);
+			LOG (g_warning ("Address has only one line: [%s]\n", add));
+		}
+		local->addr->entry[entryAddress] = e_pilot_utf8_to_pchar (add, ctxt->pilot_charset);
+		g_free (add);
+
+		local->addr->entry[entryCity] = e_pilot_utf8_to_pchar (address->locality, ctxt->pilot_charset);
+		local->addr->entry[entryState] = e_pilot_utf8_to_pchar (address->region, ctxt->pilot_charset);
+		local->addr->entry[entryZip] = e_pilot_utf8_to_pchar (address->code, ctxt->pilot_charset);
+		local->addr->entry[entryCountry] = e_pilot_utf8_to_pchar (address->country, ctxt->pilot_charset);
+
+		e_contact_address_free (address);
+	}
+
+	/* Phone numbers */
+
+	/* See if everything is syncable */
+	syncable = is_syncable (ctxt, local);
+
+	if (syncable) {
+		INFO ("Syncable");
+
+		/* Sync by priority */
+		for (i = 0, phone = entryPhone1;
+		     priority[i] != E_CONTACT_FIELD_LAST && phone <= entryPhone5; i++) {
+			const gchar *phone_str;
+
+			phone_str = e_contact_get_const (contact, priority[i]);
+			if (phone_str && *phone_str) {
+				clear_entry_text (*local->addr, phone);
+				local->addr->entry[phone] = e_pilot_utf8_to_pchar (phone_str, ctxt->pilot_charset);
+				local->addr->phoneLabel[phone - entryPhone1] = priority_label[i];
+				phone++;
+			}
+		}
+		for (; phone <= entryPhone5; phone++)
+			local->addr->phoneLabel[phone - entryPhone1] = phone - entryPhone1;
+		local->addr->showPhone = 0;
+	} else {
+		EContactField next_mail, next_home, next_work, next_fax;
+		EContactField next_other, next_main, next_pager, next_mobile;
+
+		INFO ("Not Syncable");
+		get_next_init (&next_mail, &next_home, &next_work, &next_fax,
+			       &next_other, &next_main, &next_pager, &next_mobile);
+
+		/* Not completely syncable, so do the best we can */
+		for (i = entryPhone1; i <= entryPhone5; i++) {
+			gint phonelabel = local->addr->phoneLabel[i - entryPhone1];
+			const gchar *phone_str = NULL;
+
+			if (phonelabel == LABEL_EMAIL && !is_next_done (next_mail)) {
+				phone_str = e_contact_get_const (contact, next_mail);
+				next_mail = get_next_mail (&next_mail);
+			} else if (phonelabel == LABEL_HOME && !is_next_done (next_home)) {
+				phone_str = e_contact_get_const (contact, next_home);
+				next_home = get_next_home (&next_home);
+			} else if (phonelabel == LABEL_WORK && !is_next_done (next_work)) {
+				phone_str = e_contact_get_const (contact, next_work);
+				next_work = get_next_work (&next_work);
+			} else if (phonelabel == LABEL_FAX && !is_next_done (next_fax)) {
+				phone_str = e_contact_get_const (contact, next_fax);
+				next_fax = get_next_fax (&next_fax);
+			} else if (phonelabel == LABEL_OTHER && !is_next_done (next_other)) {
+				phone_str = e_contact_get_const (contact, next_other);
+				next_other = get_next_other (&next_other);
+			} else if (phonelabel == LABEL_MAIN && !is_next_done (next_main)) {
+				phone_str = e_contact_get_const (contact, next_main);
+				next_main = get_next_main (&next_main);
+			} else if (phonelabel == LABEL_PAGER && !is_next_done (next_pager)) {
+				phone_str = e_contact_get_const (contact, next_pager);
+				next_pager = get_next_pager (&next_pager);
+			} else if (phonelabel == LABEL_MOBILE && !is_next_done (next_mobile)) {
+				phone_str = e_contact_get_const (contact, next_mobile);
+				next_mobile = get_next_mobile (&next_mobile);
+			}
+
+			if (phone_str && *phone_str) {
+				clear_entry_text (*local->addr, i);
+				local->addr->entry[i] = e_pilot_utf8_to_pchar (phone_str, ctxt->pilot_charset);
+			}
+		}
+	}
+
+	/* Note */
+	local->addr->entry[entryNote] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_NOTE), ctxt->pilot_charset);
+}
+
+static void
+local_record_from_uid (EAddrLocalRecord *local,
+		       const gchar *uid,
+		       EAddrConduitContext *ctxt)
+{
+	EContact *contact = NULL;
+	const gchar *cuid;
+	GList *l;
+
+	g_assert (local != NULL);
+
+	for (l = ctxt->cards; l != NULL; l = l->next) {
+		contact = l->data;
+
+		/* FIXME Do we need to check for the empty string? */
+		if ((cuid = e_contact_get_const (contact, E_CONTACT_UID)) && !strcmp (cuid, uid))
+			break;
+
+		contact = NULL;
+	}
+
+	if (contact != NULL) {
+		local_record_from_ecard (local, contact, ctxt);
+	} else {
+		contact = e_contact_new ();
+		e_contact_set (contact, E_CONTACT_UID, (gpointer) uid);
+		local_record_from_ecard (local, contact, ctxt);
+		g_object_unref (contact);
+	}
+}
+
+static EContact *
+ecard_from_remote_record(EAddrConduitContext *ctxt,
+			 GnomePilotRecord *remote,
+			 EContact *in_contact)
+{
+	struct Address address;
+	EContact *contact;
+	EContactName *name;
+	EContactAddress *eaddress;
+	EContactField mailing_address;
+	gchar *txt, *find, *full_name;
+	EContactField next_mail, next_home, next_work, next_fax;
+	EContactField next_other, next_main, next_pager, next_mobile;
+	gint i;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#endif
+	g_return_val_if_fail(remote!=NULL,NULL);
+	memset (&address, 0, sizeof (struct Address));
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+		return NULL;
+	}
+
+	if (pi_buffer_append(buffer, remote->record, remote->length)==NULL) {
+		pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+		return NULL;
+	}
+	unpack_Address (&address, buffer, address_v1);
+	pi_buffer_free(buffer);
+#else
+	unpack_Address (&address, remote->record, remote->length);
+#endif
+	if (in_contact == NULL)
+		contact = e_contact_new ();
+	else
+		contact = e_contact_duplicate (in_contact);
+
+	/*Category support*/
+	e_pilot_remote_category_to_local(remote->category, contact, &(ctxt->ai.category), ctxt->pilot_charset);
+
+	/* Name */
+	name = e_contact_name_new ();
+	name->given = get_entry_text (address, entryFirstname, ctxt->pilot_charset);
+	name->family = get_entry_text (address, entryLastname, ctxt->pilot_charset);
+
+	/* set the name, respecting the pilot's given/family names */
+	e_contact_set (contact, E_CONTACT_NAME, name);
+	/* now set the full_name */
+	full_name = e_contact_name_to_string (name);
+	e_contact_set (contact, E_CONTACT_FULL_NAME, full_name);
+	e_contact_name_free (name);
+
+	/* File As */
+	if (!full_name || !*full_name)
+		set_contact_text (contact, E_CONTACT_FILE_AS, address, entryCompany, ctxt->pilot_charset);
+
+	g_free (full_name);
+
+	/* Title and Company */
+	set_contact_text (contact, E_CONTACT_TITLE, address, entryTitle, ctxt->pilot_charset);
+	set_contact_text (contact, E_CONTACT_ORG, address, entryCompany, ctxt->pilot_charset);
+
+	/* Address */
+	mailing_address = -1;
+	if ((eaddress = e_contact_get (contact, ctxt->cfg->default_address))) {
+		mailing_address = ctxt->cfg->default_address;
+		e_contact_address_free (eaddress);
+	} else {
+		for (i = E_CONTACT_FIRST_ADDRESS_ID; i <= E_CONTACT_LAST_ADDRESS_ID; i++) {
+			if ((eaddress = e_contact_get (contact, i))) {
+				e_contact_address_free (eaddress);
+				mailing_address = i;
+				break;
+			}
+		}
+	}
+
+	if (mailing_address == -1)
+		mailing_address = ctxt->cfg->default_address;
+
+	eaddress = g_new0 (EContactAddress, 1);
+
+	txt = get_entry_text (address, entryAddress, ctxt->pilot_charset);
+	if (txt && (find = strchr (txt, '\n')) != NULL) {
+		*find = '\0';
+		find++;
+	} else {
+		find = NULL;
+	}
+
+	eaddress->street = txt;
+	eaddress->ext = find != NULL ? g_strdup (find) : g_strdup ("");
+	eaddress->locality = get_entry_text (address, entryCity, ctxt->pilot_charset);
+	eaddress->region = get_entry_text (address, entryState, ctxt->pilot_charset);
+	eaddress->country = get_entry_text (address, entryCountry, ctxt->pilot_charset);
+	eaddress->code = get_entry_text (address, entryZip, ctxt->pilot_charset);
+
+	e_contact_set (contact, mailing_address, eaddress);
+	e_contact_address_free (eaddress);
+
+	/* Phone numbers */
+	get_next_init (&next_mail, &next_home, &next_work, &next_fax,
+		       &next_other, &next_main, &next_pager, &next_mobile);
+
+	for (i = entryPhone1; i <= entryPhone5; i++) {
+		gint phonelabel = address.phoneLabel[i - entryPhone1];
+		gchar *phonenum = get_entry_text (address, i, ctxt->pilot_charset);
+
+		if (phonelabel == LABEL_EMAIL && !is_next_done (next_mail)) {
+			e_contact_set (contact, next_mail, phonenum);
+			next_mail = get_next_mail (&next_mail);
+		} else if (phonelabel == LABEL_HOME && !is_next_done (next_home)) {
+			e_contact_set (contact, next_home, phonenum);
+			next_home = get_next_home (&next_home);
+		} else if (phonelabel == LABEL_WORK && !is_next_done (next_work)) {
+			e_contact_set (contact, next_work, phonenum);
+			next_work = get_next_work (&next_work);
+		} else if (phonelabel == LABEL_FAX && !is_next_done (next_fax)) {
+			e_contact_set (contact, next_fax, phonenum);
+			next_fax = get_next_fax (&next_fax);
+		} else if (phonelabel == LABEL_OTHER && !is_next_done (next_other)) {
+			e_contact_set (contact, next_other, phonenum);
+			next_other = get_next_other (&next_other);
+		} else if (phonelabel == LABEL_MAIN && !is_next_done (next_main)) {
+			e_contact_set (contact, next_main, phonenum);
+			next_main = get_next_main (&next_main);
+		} else if (phonelabel == LABEL_PAGER && !is_next_done (next_pager)) {
+			e_contact_set (contact, next_pager, phonenum);
+			next_pager = get_next_pager (&next_pager);
+		} else if (phonelabel == LABEL_MOBILE && !is_next_done (next_mobile)) {
+			e_contact_set (contact, next_mobile, phonenum);
+			next_mobile = get_next_mobile (&next_mobile);
+		}
+
+		g_free (phonenum);
+	}
+
+	/* Note */
+	set_contact_text (contact, E_CONTACT_NOTE, address, entryNote, ctxt->pilot_charset);
+
+	free_Address(&address);
+
+	return contact;
+}
+
+static void
+check_for_slow_setting (GnomePilotConduit *c, EAddrConduitContext *ctxt)
+{
+	GnomePilotConduitStandard *conduit = GNOME_PILOT_CONDUIT_STANDARD (c);
+	gint map_count;
+	const gchar *uri;
+
+	map_count = g_hash_table_size (ctxt->map->pid_map);
+	if (map_count == 0)
+		gnome_pilot_conduit_standard_set_slow (conduit, TRUE);
+
+	/* Or if the URI's don't match */
+	uri = e_book_get_uri (ctxt->ebook);
+	LOG (g_message ("  Current URI %s (%s)\n", uri, ctxt->cfg->last_uri ? ctxt->cfg->last_uri : "<NONE>"));
+	if (ctxt->cfg->last_uri != NULL && strcmp (ctxt->cfg->last_uri, uri)) {
+		gnome_pilot_conduit_standard_set_slow (conduit, TRUE);
+		e_pilot_map_clear (ctxt->map);
+	}
+
+	if (gnome_pilot_conduit_standard_get_slow (conduit)) {
+		ctxt->map->write_touched_only = TRUE;
+		LOG (g_message ( "    doing slow sync\n" ));
+	} else {
+		LOG (g_message ( "    doing fast sync\n" ));
+	}
+}
+
+static void
+addressbook_authenticate (EBook *book,
+			  gpointer data)
+{
+	gchar *auth;
+	const gchar *user;
+	gchar *passwd;
+	gchar *str_uri;
+	gchar *pass_key;
+	gchar *auth_domain;
+	const gchar *component_name;
+	EUri *e_uri;
+
+	ESource *source = (ESource *)data;
+
+	auth = (gchar *)e_source_get_property (source, "auth");
+	auth_domain = (gchar *)e_source_get_property (source, "auth-domain");
+	component_name = auth_domain ? auth_domain : "Addressbook";
+
+	if (auth && !strcmp ("plain/password", auth))
+		user = e_source_get_property (source, "user");
+	else
+		user = e_source_get_property (source, "email_addr");
+	if (!user)
+		user = "";
+
+	str_uri = e_source_get_uri (source);
+	e_uri = e_uri_new (str_uri);
+	pass_key = e_uri_to_string (e_uri, FALSE);
+	e_uri_free (e_uri);
+
+	passwd = e_passwords_get_password (component_name, pass_key);
+	if (!passwd)
+		passwd = g_strdup ("");
+
+	if (book)
+		if (!e_book_authenticate_user (book, user, passwd, auth, NULL))
+			LOG (g_warning ("Authentication failed"));
+	g_free (pass_key);
+	g_free (str_uri);
+	g_free (passwd);
+
+	return;
+}
+
+/* Pilot syncing callbacks */
+static gint
+pre_sync (GnomePilotConduit *conduit,
+	  GnomePilotDBInfo *dbi,
+	  EAddrConduitContext *ctxt)
+{
+	GnomePilotConduitSyncAbs *abs_conduit;
+	EBookQuery *query;
+	GList *l;
+	gint len;
+	gchar *filename;
+	gchar *change_id;
+	gchar *auth;
+	gint num_records, add_records = 0, mod_records = 0, del_records = 0;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t *buffer;
+#else
+	guchar *buf;
+#endif
+
+	abs_conduit = GNOME_PILOT_CONDUIT_SYNC_ABS (conduit);
+
+	LOG (g_message ( "---------------------------------------------------------\n" ));
+	LOG (g_message ( "pre_sync: Addressbook Conduit v.%s", CONDUIT_VERSION ));
+	/* g_message ("Addressbook Conduit v.%s", CONDUIT_VERSION); */
+
+	ctxt->dbi = dbi;
+
+#ifdef PILOT_LINK_0_12
+	if (NULL == dbi->pilotInfo->pilot_charset)
+		ctxt->pilot_charset = NULL;
+	else
+		ctxt->pilot_charset = g_strdup(dbi->pilotInfo->pilot_charset);
+#endif
+
+	if (ctxt->cfg->source) {
+		ctxt->ebook = e_book_new (ctxt->cfg->source, NULL);
+	} else {
+		ctxt->ebook = e_book_new_default_addressbook (NULL);
+	}
+	auth = (gchar *)e_source_get_property (ctxt->cfg->source, "auth");
+	if (auth) {
+		LOG (g_message ("contacts needs authentication\n"));
+		g_signal_connect (ctxt->ebook, "auth_required",
+				  G_CALLBACK (addressbook_authenticate), ctxt->cfg->source);
+	}
+	if (!ctxt->ebook || !e_book_open (ctxt->ebook, TRUE, NULL)) {
+		WARN(_("Could not load address book"));
+		gnome_pilot_conduit_error (conduit, _("Could not load address book"));
+
+		return -1;
+	}
+
+	/* Load the uid <--> pilot id mappings */
+	filename = map_name (ctxt);
+	e_pilot_map_read (filename, &ctxt->map);
+	g_free (filename);
+
+	/* Get a list of all contacts */
+	if (!(query = e_book_query_any_field_contains (""))) {
+		LOG (g_warning ("Failed to get EBookQuery"));
+		return -1;
+	}
+
+	if (!e_book_get_contacts (ctxt->ebook, query, &ctxt->cards, NULL)) {
+		LOG (g_warning ("Failed to get Contacts"));
+		e_book_query_unref (query);
+		return -1;
+	}
+
+	e_book_query_unref (query);
+
+	/* Count and hash the changes */
+	change_id = g_strdup_printf ("pilot-sync-evolution-addressbook-%d", ctxt->cfg->pilot_id);
+	if (!e_book_get_changes (ctxt->ebook, change_id, &ctxt->changed, NULL))
+		return -1;
+	ctxt->changed_hash = g_hash_table_new (g_str_hash, g_str_equal);
+	g_free (change_id);
+
+	for (l = ctxt->changed; l != NULL; l = l->next) {
+		EBookChange *ebc = l->data;
+		const gchar *uid;
+
+		uid = e_contact_get_const (ebc->contact, E_CONTACT_UID);
+		if (!e_pilot_map_uid_is_archived (ctxt->map, uid)) {
+
+			g_hash_table_insert (ctxt->changed_hash, g_strdup (uid), ebc);
+
+			switch (ebc->change_type) {
+			case E_BOOK_CHANGE_CARD_ADDED:
+				add_records++;
+				break;
+			case E_BOOK_CHANGE_CARD_MODIFIED:
+				mod_records++;
+				break;
+			case E_BOOK_CHANGE_CARD_DELETED:
+				del_records++;
+				break;
+			}
+		} else if (ebc->change_type == E_BOOK_CHANGE_CARD_DELETED) {
+			e_pilot_map_remove_by_uid (ctxt->map, uid);
+		}
+	}
+
+	/* Set the count information */
+	num_records = g_list_length (ctxt->cards);
+	gnome_pilot_conduit_sync_abs_set_num_local_records(abs_conduit, num_records);
+	gnome_pilot_conduit_sync_abs_set_num_new_local_records (abs_conduit, add_records);
+	gnome_pilot_conduit_sync_abs_set_num_updated_local_records (abs_conduit, mod_records);
+	gnome_pilot_conduit_sync_abs_set_num_deleted_local_records(abs_conduit, del_records);
+
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		return pi_set_error(dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+	}
+
+	len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
+			      DLP_BUF_SIZE, buffer);
+#else
+	buf = (guchar *)g_malloc (0xffff);
+	len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
+			      (guchar *)buf, 0xffff);
+#endif
+	if (len < 0) {
+		WARN (_("Could not read pilot's Address application block"));
+		WARN ("dlp_ReadAppBlock(...) = %d", len);
+		gnome_pilot_conduit_error (conduit,
+					   _("Could not read pilot's Address application block"));
+		return -1;
+	}
+#ifdef PILOT_LINK_0_12
+	unpack_AddressAppInfo (&(ctxt->ai), buffer->data, len);
+	pi_buffer_free (buffer);
+#else
+	unpack_AddressAppInfo (&(ctxt->ai), buf, len);
+	g_free (buf);
+#endif
+	check_for_slow_setting (conduit, ctxt);
+	if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
+	    || ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyFromPilot)
+		ctxt->map->write_touched_only = TRUE;
+
+	return 0;
+}
+
+static gint
+post_sync (GnomePilotConduit *conduit,
+	   GnomePilotDBInfo *dbi,
+	   EAddrConduitContext *ctxt)
+{
+	GList *changed;
+	gchar *filename, *change_id;
+	guchar *buf;
+	gint dlpRetVal, len;
+
+	LOG (g_message ( "post_sync: Address Conduit v.%s", CONDUIT_VERSION ));
+
+	/* Write AppBlock to PDA - updates categories */
+	buf = (guchar *)g_malloc (0xffff);
+
+	len = pack_AddressAppInfo (&(ctxt->ai), buf, 0xffff);
+
+	dlpRetVal = dlp_WriteAppBlock (dbi->pilot_socket, dbi->db_handle,
+			      (guchar *)buf, len);
+
+	g_free (buf);
+
+	if (dlpRetVal < 0) {
+		WARN ( ("Could not write pilot's Address application block"));
+		WARN ("dlp_WriteAppBlock(...) = %d", dlpRetVal);
+		/*gnome_pilot_conduit_error (conduit,
+					   _("Could not write pilot's Address application block"));*/
+		return -1;
+	}
+
+	g_free (ctxt->cfg->last_uri);
+	ctxt->cfg->last_uri = g_strdup (e_book_get_uri (ctxt->ebook));
+	addrconduit_save_configuration (ctxt->cfg);
+
+	filename = map_name (ctxt);
+	e_pilot_map_write (filename, ctxt->map);
+	g_free (filename);
+
+	/* FIX ME ugly hack - our changes musn't count, this does introduce
+	 * a race condition if anyone changes a record elsewhere during sycnc
+         */
+	change_id = g_strdup_printf ("pilot-sync-evolution-addressbook-%d", ctxt->cfg->pilot_id);
+	if (e_book_get_changes (ctxt->ebook, change_id, &changed, NULL))
+		e_book_free_change_list (changed);
+	g_free (change_id);
+	if (ctxt->pilot_charset)
+		g_free (ctxt->pilot_charset);
+	LOG (g_message ( "---------------------------------------------------------\n" ));
+
+	return 0;
+}
+
+static gint
+set_pilot_id (GnomePilotConduitSyncAbs *conduit,
+	      EAddrLocalRecord *local,
+	      guint32 ID,
+	      EAddrConduitContext *ctxt)
+{
+	LOG (g_message ( "set_pilot_id: setting to %d\n", ID ));
+
+	e_pilot_map_insert (ctxt->map, ID, e_contact_get_const (local->contact, E_CONTACT_UID), FALSE);
+
+        return 0;
+}
+
+static gint
+set_status_cleared (GnomePilotConduitSyncAbs *conduit,
+		    EAddrLocalRecord *local,
+		    EAddrConduitContext *ctxt)
+{
+	const gchar *uid;
+
+	LOG (g_message ( "set_status_cleared: clearing status\n" ));
+
+	if ((uid = e_contact_get_const (local->contact, E_CONTACT_UID)))
+		g_hash_table_remove (ctxt->changed_hash, uid);
+
+        return 0;
+}
+
+static gint
+for_each (GnomePilotConduitSyncAbs *conduit,
+	  EAddrLocalRecord **local,
+	  EAddrConduitContext *ctxt)
+{
+	static GList *cards, *iterator;
+	static gint count;
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	if (*local == NULL) {
+		LOG (g_message ( "beginning for_each" ));
+
+		cards = ctxt->cards;
+		count = 0;
+
+		if (cards != NULL) {
+			LOG (g_message ( "iterating over %d records", g_list_length (cards) ));
+
+			*local = g_new0 (EAddrLocalRecord, 1);
+			local_record_from_ecard (*local, cards->data, ctxt);
+			ctxt->locals = g_list_prepend (ctxt->locals, *local);
+
+			iterator = cards;
+		} else {
+			LOG (g_message ( "no events" ));
+			(*local) = NULL;
+			return 0;
+		}
+	} else {
+		count++;
+		if (g_list_next (iterator)) {
+			iterator = g_list_next (iterator);
+
+			*local = g_new0 (EAddrLocalRecord, 1);
+			local_record_from_ecard (*local, iterator->data, ctxt);
+			ctxt->locals = g_list_prepend (ctxt->locals, *local);
+		} else {
+			LOG (g_message ( "for_each ending" ));
+
+			/* Tell the pilot the iteration is over */
+			*local = NULL;
+
+			return 0;
+		}
+	}
+
+	return 0;
+}
+
+static gint
+for_each_modified (GnomePilotConduitSyncAbs *conduit,
+		   EAddrLocalRecord **local,
+		   EAddrConduitContext *ctxt)
+{
+	static GList *iterator;
+	static gint count;
+
+	g_return_val_if_fail (local != NULL, 0);
+
+	if (*local == NULL) {
+		LOG (g_message ( "for_each_modified beginning\n" ));
+
+		iterator = ctxt->changed;
+
+		count = 0;
+
+		iterator = next_changed_item (ctxt, iterator);
+		if (iterator != NULL) {
+			EBookChange *ebc = iterator->data;
+
+			LOG (g_message ( "iterating over %d records", g_hash_table_size (ctxt->changed_hash)));
+
+			*local = g_new0 (EAddrLocalRecord, 1);
+			local_record_from_ecard (*local, ebc->contact, ctxt);
+			ctxt->locals = g_list_prepend (ctxt->locals, *local);
+		} else {
+			LOG (g_message ( "no events" ));
+
+			*local = NULL;
+		}
+	} else {
+		count++;
+		iterator = g_list_next (iterator);
+		if (iterator && (iterator = next_changed_item (ctxt, iterator))) {
+			EBookChange *ebc = iterator->data;
+
+			*local = g_new0 (EAddrLocalRecord, 1);
+			local_record_from_ecard (*local, ebc->contact, ctxt);
+			ctxt->locals = g_list_prepend (ctxt->locals, *local);
+		} else {
+			LOG (g_message ( "for_each_modified ending" ));
+
+			/* Signal the iteration is over */
+			*local = NULL;
+
+			return 0;
+		}
+	}
+
+	return 0;
+}
+
+static gint
+compare (GnomePilotConduitSyncAbs *conduit,
+	 EAddrLocalRecord *local,
+	 GnomePilotRecord *remote,
+	 EAddrConduitContext *ctxt)
+{
+	GnomePilotRecord local_pilot;
+	gint retval = 0;
+
+	LOG (g_message ("compare: local=%s remote=%s...\n",
+			print_local (local), print_remote (remote)));
+
+	g_return_val_if_fail (local != NULL, -1);
+	g_return_val_if_fail (remote != NULL, -1);
+
+	local_pilot = local_record_to_pilot_record (local, ctxt);
+
+	if (remote->length != local_pilot.length
+	    || memcmp (local_pilot.record, remote->record, remote->length))
+		retval = 1;
+
+	if (retval == 0)
+		LOG (g_message ( "    equal" ));
+	else
+		LOG (g_message ( "    not equal" ));
+
+	return retval;
+}
+
+static gint
+add_record (GnomePilotConduitSyncAbs *conduit,
+	    GnomePilotRecord *remote,
+	    EAddrConduitContext *ctxt)
+{
+	EContact *contact;
+	gint retval = 0;
+
+	g_return_val_if_fail (remote != NULL, -1);
+
+	LOG (g_message ( "add_record: adding %s to desktop\n", print_remote (remote) ));
+
+	contact = ecard_from_remote_record (ctxt, remote, NULL);
+
+	/* add the ecard to the server */
+	if (!e_book_add_contact (ctxt->ebook, contact, NULL)) {
+		WARN ("add_record: failed to add card to ebook\n");
+		g_object_unref (contact);
+
+		return -1;
+	}
+
+	e_pilot_map_insert (ctxt->map, remote->ID, e_contact_get (contact, E_CONTACT_UID), FALSE);
+
+	g_object_unref (contact);
+
+	return retval;
+}
+
+static gint
+replace_record (GnomePilotConduitSyncAbs *conduit,
+		EAddrLocalRecord *local,
+		GnomePilotRecord *remote,
+		EAddrConduitContext *ctxt)
+{
+	EContact *new_contact;
+	EBookChange *ebc;
+	gchar *old_id;
+	gint retval = 0;
+
+	g_return_val_if_fail (remote != NULL, -1);
+
+	LOG (g_message ("replace_record: replace %s with %s\n",
+	     print_local (local), print_remote (remote)));
+
+	old_id = e_contact_get (local->contact, E_CONTACT_UID);
+	ebc = g_hash_table_lookup (ctxt->changed_hash, old_id);
+
+	new_contact = ecard_from_remote_record (ctxt, remote, local->contact);
+	g_object_unref (local->contact);
+	local->contact = new_contact;
+
+	if (ebc && ebc->change_type == E_BOOK_CHANGE_CARD_DELETED) {
+		if (!e_book_add_contact (ctxt->ebook, local->contact, NULL)) {
+			WARN (G_STRLOC ": failed to add card\n");
+
+			return -1;
+		}
+
+	} else {
+		if (!e_book_commit_contact (ctxt->ebook, local->contact, NULL)) {
+			WARN (G_STRLOC ": failed to commit card\n");
+
+			return -1;
+		}
+	}
+
+	/* Adding a record causes wombat to assign a new uid so we must tidy */
+	if (ebc && ebc->change_type == E_BOOK_CHANGE_CARD_DELETED) {
+		const gchar *uid = e_contact_get_const (local->contact, E_CONTACT_UID);
+		gboolean arch;
+
+		arch = e_pilot_map_uid_is_archived (ctxt->map, uid);
+		e_pilot_map_insert (ctxt->map, remote->ID, uid, arch);
+
+		ebc = g_hash_table_lookup (ctxt->changed_hash, old_id);
+		if (ebc) {
+			g_hash_table_remove (ctxt->changed_hash, old_id);
+			g_object_unref (ebc->contact);
+			g_object_ref (local->contact);
+			ebc->contact = local->contact;
+			/* FIXME We should possibly be duplicating the uid */
+			g_hash_table_insert (ctxt->changed_hash, (gpointer) uid, ebc);
+		}
+	}
+
+	return retval;
+}
+
+static gint
+delete_record (GnomePilotConduitSyncAbs *conduit,
+	       EAddrLocalRecord *local,
+	       EAddrConduitContext *ctxt)
+{
+	GError *error = NULL;
+	gint retval = 0;
+
+	g_return_val_if_fail (local != NULL, -1);
+	g_return_val_if_fail (local->contact != NULL, -1);
+
+	LOG (g_message ( "delete_record: delete %s\n", print_local (local) ));
+
+	e_pilot_map_remove_by_uid (ctxt->map, e_contact_get_const (local->contact, E_CONTACT_UID));
+	if (!e_book_remove_contact (ctxt->ebook, e_contact_get_const (local->contact, E_CONTACT_UID), &error) && error->code != E_BOOK_ERROR_CONTACT_NOT_FOUND) {
+		WARN ("delete_record: failed to delete card in ebook\n");
+		g_error_free (error);
+
+		retval = -1;
+	}
+
+	return retval;
+}
+
+static gint
+archive_record (GnomePilotConduitSyncAbs *conduit,
+		EAddrLocalRecord *local,
+		gboolean archive,
+		EAddrConduitContext *ctxt)
+{
+	gint retval = 0;
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	LOG (g_message ( "archive_record: %s\n", archive ? "yes" : "no" ));
+
+	e_pilot_map_insert (ctxt->map, local->local.ID, e_contact_get_const (local->contact, E_CONTACT_UID), archive);
+
+        return retval;
+}
+
+static gint
+match (GnomePilotConduitSyncAbs *conduit,
+       GnomePilotRecord *remote,
+       EAddrLocalRecord **local,
+       EAddrConduitContext *ctxt)
+{
+	const gchar *uid;
+
+	LOG (g_message ("match: looking for local copy of %s\n",
+	     print_remote (remote)));
+
+	g_return_val_if_fail (local != NULL, -1);
+	g_return_val_if_fail (remote != NULL, -1);
+
+	*local = NULL;
+	uid = e_pilot_map_lookup_uid (ctxt->map, remote->ID, TRUE);
+
+	if (!uid)
+		return 0;
+
+	LOG (g_message ( "  matched\n" ));
+
+	*local = g_new0 (EAddrLocalRecord, 1);
+	local_record_from_uid (*local, uid, ctxt);
+
+	return 0;
+}
+
+static gint
+free_match (GnomePilotConduitSyncAbs *conduit,
+	    EAddrLocalRecord *local,
+	    EAddrConduitContext *ctxt)
+{
+	LOG (g_message ( "free_match: freeing\n" ));
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	ctxt->locals = g_list_remove (ctxt->locals, local);
+
+	addrconduit_destroy_record (local);
+
+	return 0;
+}
+
+static gint
+prepare (GnomePilotConduitSyncAbs *conduit,
+	 EAddrLocalRecord *local,
+	 GnomePilotRecord *remote,
+	 EAddrConduitContext *ctxt)
+{
+	LOG (g_message ( "prepare: encoding local %s\n", print_local (local) ));
+
+	*remote = local_record_to_pilot_record (local, ctxt);
+
+	return 0;
+}
+
+/* Pilot Settings Callbacks */
+static void
+fill_widgets (EAddrConduitContext *ctxt)
+{
+	if (ctxt->cfg->source)
+		e_pilot_settings_set_source (E_PILOT_SETTINGS (ctxt->ps),
+					     ctxt->cfg->source);
+	e_pilot_settings_set_secret (E_PILOT_SETTINGS (ctxt->ps),
+				     ctxt->cfg->secret);
+
+	e_addr_gui_fill_widgets (ctxt->gui, ctxt->cfg);
+}
+
+static gint
+create_settings_window (GnomePilotConduit *conduit,
+			GtkWidget *parent,
+			EAddrConduitContext *ctxt)
+{
+	LOG (g_message ( "create_settings_window" ));
+
+	if (!ctxt->cfg->source_list)
+		return -1;
+
+	ctxt->ps = e_pilot_settings_new (ctxt->cfg->source_list);
+	ctxt->gui = e_addr_gui_new (E_PILOT_SETTINGS (ctxt->ps));
+
+	gtk_container_add (GTK_CONTAINER (parent), ctxt->ps);
+	gtk_widget_show (ctxt->ps);
+
+	fill_widgets (ctxt);
+
+	return 0;
+}
+static void
+display_settings (GnomePilotConduit *conduit, EAddrConduitContext *ctxt)
+{
+	LOG (g_message ( "display_settings" ));
+
+	fill_widgets (ctxt);
+}
+
+static void
+save_settings    (GnomePilotConduit *conduit, EAddrConduitContext *ctxt)
+{
+        LOG (g_message ( "save_settings" ));
+
+       if (ctxt->new_cfg->source)
+               g_object_unref (ctxt->new_cfg->source);
+	ctxt->new_cfg->source = e_pilot_settings_get_source (E_PILOT_SETTINGS (ctxt->ps));
+	g_object_ref (ctxt->new_cfg->source);
+	ctxt->new_cfg->secret =
+		e_pilot_settings_get_secret (E_PILOT_SETTINGS (ctxt->ps));
+	e_addr_gui_fill_config (ctxt->gui, ctxt->new_cfg);
+
+	addrconduit_save_configuration (ctxt->new_cfg);
+}
+
+static void
+revert_settings  (GnomePilotConduit *conduit, EAddrConduitContext *ctxt)
+{
+	LOG (g_message ( "revert_settings" ));
+
+	addrconduit_save_configuration (ctxt->cfg);
+	addrconduit_destroy_configuration (ctxt->new_cfg);
+	ctxt->new_cfg = addrconduit_dupe_configuration (ctxt->cfg);
+}
+
+GnomePilotConduit *
+conduit_get_gpilot_conduit (guint32 pilot_id)
+{
+	GtkObject *retval;
+	EAddrConduitContext *ctxt;
+
+	LOG (g_message ( "in address's conduit_get_gpilot_conduit\n" ));
+
+	retval = gnome_pilot_conduit_sync_abs_new ((gchar *)"AddressDB", 0x61646472);
+	g_assert (retval != NULL);
+
+	ctxt = e_addr_context_new (pilot_id);
+	g_object_set_data (G_OBJECT (retval), "addrconduit_context", ctxt);
+
+	g_signal_connect (retval, "pre_sync", G_CALLBACK (pre_sync), ctxt);
+	g_signal_connect (retval, "post_sync", G_CALLBACK (post_sync), ctxt);
+
+	g_signal_connect (retval, "set_pilot_id", G_CALLBACK (set_pilot_id), ctxt);
+	g_signal_connect (retval, "set_status_cleared", G_CALLBACK (set_status_cleared), ctxt);
+
+	g_signal_connect (retval, "for_each", G_CALLBACK (for_each), ctxt);
+	g_signal_connect (retval, "for_each_modified", G_CALLBACK (for_each_modified), ctxt);
+	g_signal_connect (retval, "compare", G_CALLBACK (compare), ctxt);
+
+	g_signal_connect (retval, "add_record", G_CALLBACK (add_record), ctxt);
+	g_signal_connect (retval, "replace_record", G_CALLBACK (replace_record), ctxt);
+	g_signal_connect (retval, "delete_record", G_CALLBACK (delete_record), ctxt);
+	g_signal_connect (retval, "archive_record", G_CALLBACK (archive_record), ctxt);
+
+	g_signal_connect (retval, "match", G_CALLBACK (match), ctxt);
+	g_signal_connect (retval, "free_match", G_CALLBACK (free_match), ctxt);
+
+	g_signal_connect (retval, "prepare", G_CALLBACK (prepare), ctxt);
+
+	/* Gui Settings */
+	g_signal_connect (retval, "create_settings_window", G_CALLBACK (create_settings_window), ctxt);
+	g_signal_connect (retval, "display_settings", G_CALLBACK (display_settings), ctxt);
+	g_signal_connect (retval, "save_settings", G_CALLBACK (save_settings), ctxt);
+	g_signal_connect (retval, "revert_settings", G_CALLBACK (revert_settings), ctxt);
+
+	return GNOME_PILOT_CONDUIT (retval);
+}
+
+void
+conduit_destroy_gpilot_conduit (GnomePilotConduit *conduit)
+{
+	EAddrConduitContext *ctxt;
+
+	ctxt = g_object_get_data (G_OBJECT (conduit),
+				  "addrconduit_context");
+
+	e_addr_context_destroy (ctxt);
+
+	gtk_object_destroy (GTK_OBJECT (conduit));
+}
diff -pruN 2.0.17-2/conduits/evolution-data-server/calendar-conduit.c 2.32.0-0ubuntu1/conduits/evolution-data-server/calendar-conduit.c
--- 2.0.17-2/conduits/evolution-data-server/calendar-conduit.c	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/calendar-conduit.c	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,2180 @@
+/*
+ * Evolution calendar - Calendar Conduit
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ *		Eskil Heyn Olsen <deity@eskil.dk>
+ *      JP Rosevear <jpr@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include <config.h>
+
+#include <glib/gi18n.h>
+#include <libecal/e-cal-types.h>
+#include <libecal/e-cal.h>
+#include <libecal/e-cal-time-util.h>
+#include <libedataserver/e-url.h>
+#include <libedataserver/eds-version.h>
+#include <libedataserver/e-data-server-util.h>
+#include <libedataserverui/e-passwords.h>
+#include <pi-source.h>
+#include <pi-socket.h>
+#include <pi-dlp.h>
+#include <pi-datebook.h>
+#include <gpilotd/gnome-pilot-conduit.h>
+#include <gpilotd/gnome-pilot-conduit-sync-abs.h>
+#include <libgpilotdCM/gnome-pilot-conduit-management.h>
+#include <libgpilotdCM/gnome-pilot-conduit-config.h>
+#include <e-pilot-map.h>
+#include <e-pilot-settings.h>
+#include <e-pilot-util.h>
+#include <libecalendar-common-conduit.h>
+
+GnomePilotConduit * conduit_get_gpilot_conduit (guint32);
+void conduit_destroy_gpilot_conduit (GnomePilotConduit*);
+
+#define CONDUIT_VERSION "0.1.6"
+
+#define DEBUG_CALCONDUIT 1
+/* #undef DEBUG_CALCONDUIT */
+
+#ifdef DEBUG_CALCONDUIT
+#define LOG(x) x
+#else
+#define LOG(x)
+#endif
+
+#define WARN g_warning
+#define INFO g_message
+
+#define PILOT_MAX_ADVANCE 99
+
+typedef struct _ECalLocalRecord ECalLocalRecord;
+typedef struct _ECalConduitCfg ECalConduitCfg;
+typedef struct _ECalConduitGui ECalConduitGui;
+typedef struct _ECalConduitContext ECalConduitContext;
+
+/* Local Record */
+struct _ECalLocalRecord {
+	/* The stuff from gnome-pilot-conduit-standard-abs.h
+	   Must be first in the structure, or instances of this
+	   structure cannot be used by gnome-pilot-conduit-standard-abs.
+	*/
+	GnomePilotDesktopRecord local;
+
+	/* The corresponding Comp object */
+	ECalComponent *comp;
+
+        /* pilot-link appointment structure */
+	struct Appointment *appt;
+};
+
+static void
+calconduit_destroy_record (ECalLocalRecord *local)
+{
+	g_object_unref (local->comp);
+	free_Appointment (local->appt);
+	g_free (local->appt);
+	g_free (local);
+}
+
+/* Configuration */
+struct _ECalConduitCfg {
+	guint32 pilot_id;
+	GnomePilotConduitSyncType  sync_type;
+
+	ESourceList *source_list;
+	ESource *source;
+	gboolean secret;
+	gboolean multi_day_split;
+
+	gchar *last_uri;
+};
+
+static ECalConduitCfg *
+calconduit_load_configuration (guint32 pilot_id)
+{
+	ECalConduitCfg *c;
+	GnomePilotConduitManagement *management;
+	GnomePilotConduitConfig *config;
+	gchar prefix[256];
+
+	c = g_new0 (ECalConduitCfg, 1);
+	g_assert (c != NULL);
+
+	/* Pilot ID */
+	c->pilot_id = pilot_id;
+
+	/* Sync Type */
+	management = gnome_pilot_conduit_management_new ((gchar *)"e_calendar_conduit", GNOME_PILOT_CONDUIT_MGMT_ID);
+	g_object_ref_sink (management);
+	config = gnome_pilot_conduit_config_new (management, pilot_id);
+	g_object_ref_sink (config);
+	if (!gnome_pilot_conduit_config_is_enabled (config, &c->sync_type))
+		c->sync_type = GnomePilotConduitSyncTypeNotSet;
+	g_object_unref (config);
+	g_object_unref (management);
+
+	/* Custom settings */
+	g_snprintf (prefix, 255, "e-calendar-conduit/Pilot_%u", pilot_id);
+
+	if (!e_cal_get_sources (&c->source_list, E_CAL_SOURCE_TYPE_EVENT, NULL))
+		c->source_list = NULL;
+	if (c->source_list) {
+		c->source = e_pilot_get_sync_source (c->source_list);
+		if (!c->source)
+			c->source = e_source_list_peek_source_any (c->source_list);
+		if (c->source) {
+			g_object_ref (c->source);
+		} else {
+			g_object_unref (c->source_list);
+			c->source_list = NULL;
+		}
+	}
+	c->secret = e_pilot_setup_get_bool (prefix, "secret", FALSE);
+	c->multi_day_split = e_pilot_setup_get_bool (prefix, "multi_day_split", TRUE);
+	if ((c->last_uri = e_pilot_setup_get_string (prefix, "last_uri", NULL)) && !strncmp (c->last_uri, "file://", 7)) {
+		gchar *filename = g_filename_from_uri (c->last_uri, NULL, NULL);
+		const gchar *path = filename;
+		const gchar *home;
+
+		home = g_get_home_dir ();
+
+		if (!strncmp (path, home, strlen (home))) {
+			path += strlen (home);
+			if (G_IS_DIR_SEPARATOR (*path))
+				path++;
+
+			if (!strcmp (path, "evolution/local/Calendar/calendar.ics")) {
+				gchar *new_filename =
+#if EDS_CHECK_VERSION(2,31,6)
+					g_build_filename (e_get_user_data_dir (), "calendar", "system", "calendar.ics", NULL);
+#else
+					g_build_filename (home, ".evolution", "calendar", "local", "system", "calendar.ics", NULL);
+#endif
+				/* need to upgrade the last_uri. yay. */
+				g_free (c->last_uri);
+				c->last_uri = g_filename_to_uri (new_filename, NULL, NULL);
+				g_free (new_filename);
+			}
+		}
+		g_free (filename);
+	}
+
+	return c;
+}
+
+static void
+calconduit_save_configuration (ECalConduitCfg *c)
+{
+	gchar prefix[256];
+
+	g_snprintf (prefix, 255, "e-calendar-conduit/Pilot_%u", c->pilot_id);
+
+	e_pilot_set_sync_source (c->source_list, c->source);
+
+	e_pilot_setup_set_bool (prefix, "secret", c->secret);
+	e_pilot_setup_set_bool (prefix, "multi_day_split", c->multi_day_split);
+	e_pilot_setup_set_string (prefix, "last_uri", c->last_uri ? c->last_uri : "");
+}
+
+static ECalConduitCfg*
+calconduit_dupe_configuration (ECalConduitCfg *c)
+{
+	ECalConduitCfg *retval;
+
+	g_return_val_if_fail (c != NULL, NULL);
+
+	retval = g_new0 (ECalConduitCfg, 1);
+	retval->pilot_id = c->pilot_id;
+	retval->sync_type = c->sync_type;
+
+	if (c->source_list)
+		retval->source_list = g_object_ref (c->source_list);
+	if (c->source)
+		retval->source = g_object_ref (c->source);
+	retval->secret = c->secret;
+	retval->multi_day_split = c->multi_day_split;
+	retval->last_uri = g_strdup (c->last_uri);
+
+	return retval;
+}
+
+static void
+calconduit_destroy_configuration (ECalConduitCfg *c)
+{
+	g_return_if_fail (c != NULL);
+
+	g_object_unref (c->source_list);
+	g_object_unref (c->source);
+	g_free (c->last_uri);
+	g_free (c);
+}
+
+/* Gui */
+struct _ECalConduitGui {
+	GtkWidget *multi_day_split;
+};
+
+static ECalConduitGui *
+e_cal_gui_new (EPilotSettings *ps)
+{
+	ECalConduitGui *gui;
+	GtkWidget *lbl;
+	gint rows;
+
+	g_return_val_if_fail (ps != NULL, NULL);
+	g_return_val_if_fail (E_IS_PILOT_SETTINGS (ps), NULL);
+
+	gtk_table_resize (GTK_TABLE (ps), E_PILOT_SETTINGS_TABLE_ROWS + 1, E_PILOT_SETTINGS_TABLE_COLS);
+
+	gui = g_new0 (ECalConduitGui, 1);
+
+	rows = E_PILOT_SETTINGS_TABLE_ROWS;
+	lbl = gtk_label_new (_("Split Multi-Day Events:"));
+	gui->multi_day_split = gtk_check_button_new ();
+	gtk_table_attach_defaults (GTK_TABLE (ps), lbl, 0, 1, rows, rows + 1);
+	gtk_table_attach_defaults (GTK_TABLE (ps), gui->multi_day_split, 1, 2, rows, rows + 1);
+	gtk_widget_show (lbl);
+	gtk_widget_show (gui->multi_day_split);
+
+	return gui;
+}
+
+static void
+e_cal_gui_fill_widgets (ECalConduitGui *gui, ECalConduitCfg *cfg)
+{
+	g_return_if_fail (gui != NULL);
+	g_return_if_fail (cfg != NULL);
+
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui->multi_day_split),
+				      cfg->multi_day_split);
+}
+
+static void
+e_cal_gui_fill_config (ECalConduitGui *gui, ECalConduitCfg *cfg)
+{
+	g_return_if_fail (gui != NULL);
+	g_return_if_fail (cfg != NULL);
+
+	cfg->multi_day_split = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gui->multi_day_split));
+}
+
+static void
+e_cal_gui_destroy (ECalConduitGui *gui)
+{
+	g_free (gui);
+}
+
+/* Context */
+struct _ECalConduitContext {
+	GnomePilotDBInfo *dbi;
+
+	ECalConduitCfg *cfg;
+	ECalConduitCfg *new_cfg;
+	ECalConduitGui *gui;
+	GtkWidget *ps;
+
+	struct AppointmentAppInfo ai;
+
+	ECal *client;
+
+	icaltimezone *timezone;
+	ECalComponent *default_comp;
+	GList *comps;
+	GList *changed;
+	GHashTable *changed_hash;
+	GList *locals;
+
+	EPilotMap *map;
+
+	gchar *pilot_charset;
+};
+
+static ECalConduitContext *
+e_calendar_context_new (guint32 pilot_id)
+{
+	ECalConduitContext *ctxt;
+
+	ctxt = g_new0 (ECalConduitContext, 1);
+	g_assert (ctxt != NULL);
+
+	ctxt->cfg = calconduit_load_configuration (pilot_id);
+	ctxt->new_cfg = calconduit_dupe_configuration (ctxt->cfg);
+	ctxt->ps = NULL;
+	ctxt->dbi = NULL;
+	ctxt->client = NULL;
+	ctxt->timezone = NULL;
+	ctxt->default_comp = NULL;
+	ctxt->comps = NULL;
+	ctxt->changed = NULL;
+	ctxt->changed_hash = NULL;
+	ctxt->locals = NULL;
+	ctxt->map = NULL;
+
+	return ctxt;
+}
+
+static gboolean
+e_calendar_context_foreach_change (gpointer key, gpointer value, gpointer data)
+{
+	g_free (key);
+
+	return TRUE;
+}
+
+static void
+e_calendar_context_destroy (ECalConduitContext *ctxt)
+{
+	GList *l;
+
+	g_return_if_fail (ctxt != NULL);
+
+	if (ctxt->cfg != NULL)
+		calconduit_destroy_configuration (ctxt->cfg);
+	if (ctxt->new_cfg != NULL)
+		calconduit_destroy_configuration (ctxt->new_cfg);
+	if (ctxt->gui != NULL)
+		e_cal_gui_destroy (ctxt->gui);
+
+	if (ctxt->client != NULL)
+		g_object_unref (ctxt->client);
+	if (ctxt->default_comp != NULL)
+		g_object_unref (ctxt->default_comp);
+	if (ctxt->comps != NULL) {
+		for (l = ctxt->comps; l; l = l->next)
+			g_object_unref (l->data);
+		g_list_free (ctxt->comps);
+	}
+
+	if (ctxt->changed != NULL)
+		e_cal_free_change_list (ctxt->changed);
+
+	if (ctxt->changed_hash != NULL) {
+		g_hash_table_foreach_remove (ctxt->changed_hash, e_calendar_context_foreach_change, NULL);
+		g_hash_table_destroy (ctxt->changed_hash);
+	}
+
+	if (ctxt->locals != NULL) {
+		for (l = ctxt->locals; l != NULL; l = l->next)
+			calconduit_destroy_record (l->data);
+		g_list_free (ctxt->locals);
+	}
+
+	if (ctxt->map != NULL)
+		e_pilot_map_destroy (ctxt->map);
+}
+
+/* Debug routines */
+static gchar *
+print_local (ECalLocalRecord *local)
+{
+	static gchar buff[ 4096 ];
+
+	if (local == NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+
+	if (local->appt && local->appt->description) {
+		g_snprintf (buff, 4096, "[%ld %ld '%s' '%s']",
+			    mktime (&local->appt->begin),
+			    mktime (&local->appt->end),
+			    local->appt->description ?
+			    local->appt->description : "",
+			    local->appt->note ?
+			    local->appt->note : "");
+		return buff;
+	}
+
+	strcpy (buff, "");
+	return buff;
+}
+
+static gchar *print_remote (GnomePilotRecord *remote)
+{
+	static gchar buff[ 4096 ];
+	struct Appointment appt;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#endif
+
+	if (remote == NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+
+	memset (&appt, 0, sizeof (struct Appointment));
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+	if (pi_buffer_append(buffer, remote->record, remote->length)==NULL) {
+		sprintf (buff, "[NULL]");
+		return buff;
+	}
+
+	unpack_Appointment (&appt, buffer, datebook_v1);
+	pi_buffer_free(buffer);
+#else
+	unpack_Appointment (&appt, remote->record, remote->length);
+#endif
+	g_snprintf (buff, 4096, "[%ld %ld '%s' '%s']",
+		    mktime (&appt.begin),
+		    mktime (&appt.end),
+		    appt.description ?
+		    appt.description : "",
+		    appt.note ?
+		    appt.note : "");
+
+	free_Appointment (&appt);
+
+	return buff;
+}
+
+static gchar *
+auth_func_cb (ECal *ecal, const gchar * prompt, const gchar *key, gpointer user_data)
+{
+	gchar *password;
+	ESource *source;
+	const gchar *auth_domain, *component_name;
+
+	source = e_cal_get_source (ecal);
+	auth_domain = e_source_get_property (source, "auth-domain");
+	component_name = auth_domain ? auth_domain : "Calendar";
+	password = e_passwords_get_password (component_name, key);
+
+	return password;
+}
+
+static gint
+start_calendar_server (ECalConduitContext *ctxt)
+{
+	gchar *str_uri = NULL;
+	gchar *pass_key = NULL;
+	gint retval = 0;
+
+	g_return_val_if_fail (ctxt != NULL, -2);
+
+	if (ctxt->cfg->source) {
+		ctxt->client = e_cal_new (ctxt->cfg->source, E_CAL_SOURCE_TYPE_EVENT);
+		/* Set the default timezone on the backend.
+		   As of Evo. 2.5.x, timezone should be set before
+		   calling e_cal_open.
+		*/
+
+		if (ctxt->timezone) {
+			if (!e_cal_set_default_timezone (ctxt->client, ctxt->timezone, NULL))
+				return -1;
+		}
+
+		if (e_source_get_property (ctxt->cfg->source, "auth")) {
+			EUri *e_uri;
+
+			LOG (g_message ("Authenticating calendar\n"));
+			str_uri = e_source_get_uri (ctxt->cfg->source);
+			e_uri = e_uri_new (str_uri);
+			pass_key = e_uri_to_string (e_uri, FALSE);
+			e_uri_free (e_uri);
+			if (ctxt->client)
+				e_cal_set_auth_func (ctxt->client, (ECalAuthFunc) auth_func_cb, NULL);
+		}
+		if (!e_cal_open (ctxt->client, TRUE, NULL))
+			retval = -1;
+	} else if (!e_cal_open_default (&ctxt->client, E_CAL_SOURCE_TYPE_EVENT, NULL, NULL, NULL)) {
+		retval = -1;
+	}
+	g_free (str_uri);
+	g_free (pass_key);
+	return retval;
+}
+
+/* Utility routines */
+static icaltimezone *
+get_timezone (ECal *client, const gchar *tzid)
+{
+	icaltimezone *timezone = NULL;
+
+	timezone = icaltimezone_get_builtin_timezone_from_tzid (tzid);
+	if (timezone == NULL)
+		 e_cal_get_timezone (client, tzid, &timezone, NULL);
+
+	return timezone;
+}
+
+static icaltimezone *
+get_default_timezone (void)
+{
+	GConfClient *client;
+	icaltimezone *timezone = NULL;
+	const gchar *key;
+	gchar *location;
+
+	client = gconf_client_get_default ();
+	key = "/apps/evolution/calendar/display/timezone";
+	location = gconf_client_get_string (client, key, NULL);
+
+	if (location == NULL || *location == '\0') {
+		g_free (location);
+		location = g_strdup ("UTC");
+	}
+
+	timezone = icaltimezone_get_builtin_timezone (location);
+	g_free (location);
+
+	g_object_unref (client);
+
+	return timezone;
+}
+
+static gchar *
+map_name (ECalConduitContext *ctxt)
+{
+	gchar *basename;
+	gchar *filename;
+
+	basename = g_strdup_printf ("pilot-map-calendar-%d.xml", ctxt->cfg->pilot_id);
+
+#if EDS_CHECK_VERSION(2,31,6)
+	filename = g_build_filename (e_get_user_data_dir (), "calendar", "system", basename, NULL);
+#else
+	filename = g_build_filename (g_get_home_dir (), ".evolution", "calendar", "local", "system", basename, NULL);
+#endif
+
+	g_free (basename);
+
+	return filename;
+}
+
+static icalrecurrencetype_weekday
+get_ical_day (gint day)
+{
+	switch (day) {
+	case 0:
+		return ICAL_SUNDAY_WEEKDAY;
+	case 1:
+		return ICAL_MONDAY_WEEKDAY;
+	case 2:
+		return ICAL_TUESDAY_WEEKDAY;
+	case 3:
+		return ICAL_WEDNESDAY_WEEKDAY;
+	case 4:
+		return ICAL_THURSDAY_WEEKDAY;
+	case 5:
+		return ICAL_FRIDAY_WEEKDAY;
+	case 6:
+		return ICAL_SATURDAY_WEEKDAY;
+	}
+
+	return ICAL_NO_WEEKDAY;
+}
+
+static gint
+get_pilot_day (icalrecurrencetype_weekday wd)
+{
+	switch (wd) {
+	case ICAL_SUNDAY_WEEKDAY:
+		return 0;
+	case ICAL_MONDAY_WEEKDAY:
+		return 1;
+	case ICAL_TUESDAY_WEEKDAY:
+		return 2;
+	case ICAL_WEDNESDAY_WEEKDAY:
+		return 3;
+	case ICAL_THURSDAY_WEEKDAY:
+		return 4;
+	case ICAL_FRIDAY_WEEKDAY:
+		return 5;
+	case ICAL_SATURDAY_WEEKDAY:
+		return 6;
+	default:
+		return -1;
+	}
+}
+
+static gboolean
+is_empty_time (struct tm time)
+{
+	if (time.tm_sec || time.tm_min || time.tm_hour
+	    || time.tm_mday || time.tm_mon || time.tm_year)
+		return FALSE;
+
+	return TRUE;
+}
+
+static gboolean
+is_all_day (ECal *client, ECalComponentDateTime *dt_start, ECalComponentDateTime *dt_end)
+{
+	time_t dt_start_time, dt_end_time;
+	icaltimezone *timezone;
+
+	if (dt_start->value->is_date && dt_end->value->is_date)
+		return TRUE;
+
+	timezone = get_timezone (client, dt_start->tzid);
+	dt_start_time = icaltime_as_timet_with_zone (*dt_start->value, timezone);
+	dt_end_time = icaltime_as_timet_with_zone (*dt_end->value, get_timezone (client, dt_end->tzid));
+
+	if (dt_end_time == time_add_day_with_zone (dt_start_time, 1, timezone))
+		return TRUE;
+
+	return FALSE;
+}
+
+static gboolean
+process_multi_day (ECalConduitContext *ctxt, ECalChange *ccc, GList **multi_comp, GList **multi_ccc)
+{
+	ECalComponentDateTime dt_start, dt_end;
+	icaltimezone *tz_start, *tz_end;
+	time_t event_start, event_end, day_end;
+	struct icaltimetype *old_start_value, *old_end_value;
+	const gchar *uid;
+	gboolean is_date = FALSE;
+	gboolean last = FALSE;
+	gboolean ret = TRUE;
+
+	*multi_ccc = NULL;
+	*multi_comp = NULL;
+
+	if (ccc->type == E_CAL_CHANGE_DELETED)
+		return FALSE;
+
+	/* Start time */
+	e_cal_component_get_dtstart (ccc->comp, &dt_start);
+	if (dt_start.value->is_date)
+		tz_start = ctxt->timezone;
+	else
+		tz_start = get_timezone (ctxt->client, dt_start.tzid);
+	event_start = icaltime_as_timet_with_zone (*dt_start.value, tz_start);
+
+	e_cal_component_get_dtend (ccc->comp, &dt_end);
+	if (dt_end.value->is_date)
+		tz_end = ctxt->timezone;
+	else
+		tz_end = get_timezone (ctxt->client, dt_end.tzid);
+	event_end = icaltime_as_timet_with_zone (*dt_end.value, tz_end);
+
+	day_end = time_day_end_with_zone (event_start, ctxt->timezone);
+	if (day_end >= event_end) {
+		ret = FALSE;
+		goto cleanup;
+	} else if (e_cal_component_has_recurrences (ccc->comp) || !ctxt->cfg->multi_day_split) {
+		ret = TRUE;
+		goto cleanup;
+	}
+
+	if (dt_start.value->is_date && dt_end.value->is_date)
+		is_date = TRUE;
+
+	old_start_value = dt_start.value;
+	old_end_value = dt_end.value;
+	while (!last) {
+		ECalComponent *clone = e_cal_component_clone (ccc->comp);
+		icalcomponent *ical_comp = NULL;
+		gchar *new_uid = e_cal_component_gen_uid ();
+		struct icaltimetype start_value, end_value;
+		ECalChange *c = NULL;
+
+		if (day_end >= event_end) {
+			day_end = event_end;
+			last = TRUE;
+		}
+
+		e_cal_component_set_uid (clone, new_uid);
+
+		start_value = icaltime_from_timet_with_zone (event_start, is_date, tz_start);
+		dt_start.value = &start_value;
+		e_cal_component_set_dtstart (clone, &dt_start);
+
+		end_value = icaltime_from_timet_with_zone (day_end, is_date, tz_end);
+		dt_end.value = &end_value;
+		e_cal_component_set_dtend (clone, &dt_end);
+
+		e_cal_component_commit_sequence (clone);
+
+		/* FIXME Error handling */
+		ical_comp = e_cal_component_get_icalcomponent (clone);
+		if (!ical_comp) {
+			ret = FALSE;
+			g_free (new_uid);
+			g_object_unref (clone);
+			dt_start.value = old_start_value;
+			dt_end.value = old_end_value;
+			goto cleanup;
+		}
+
+		e_cal_create_object (ctxt->client, ical_comp, NULL, NULL);
+
+		c = g_new0 (ECalChange, 1);
+		c->comp = clone;
+		c->type = E_CAL_CHANGE_ADDED;
+
+		*multi_ccc = g_list_prepend (*multi_ccc, c);
+		*multi_comp = g_list_prepend (*multi_comp, g_object_ref (c->comp));
+
+		event_start = day_end;
+		day_end = time_day_end_with_zone (event_start, ctxt->timezone);
+
+		g_free (new_uid);
+	}
+	dt_start.value = old_start_value;
+	dt_end.value = old_end_value;
+
+	e_cal_component_get_uid (ccc->comp, &uid);
+	/* FIXME Error handling */
+	if (e_cal_component_is_instance (ccc->comp) || e_cal_component_has_recurrences (ccc->comp))
+		e_cal_remove_object_with_mod (ctxt->client, uid, NULL, CALOBJ_MOD_ALL, NULL);
+	else
+		e_cal_remove_object (ctxt->client, uid, NULL);
+
+	ccc->type = E_CAL_CHANGE_DELETED;
+
+ cleanup:
+	e_cal_component_free_datetime (&dt_start);
+	e_cal_component_free_datetime (&dt_end);
+
+	return ret;
+}
+
+static short
+nth_weekday (gint pos, icalrecurrencetype_weekday weekday)
+{
+	g_assert ((pos > 0 && pos <= 5) || (pos == -1));
+
+	return ((abs (pos) * 8) + weekday) * (pos < 0 ? -1 : 1);
+}
+
+static GList *
+next_changed_item (ECalConduitContext *ctxt, GList *changes)
+{
+	ECalChange *ccc;
+	GList *l;
+
+	for (l = changes; l != NULL; l = l->next) {
+		const gchar *uid;
+
+		ccc = l->data;
+
+		e_cal_component_get_uid (ccc->comp, &uid);
+		if (g_hash_table_lookup (ctxt->changed_hash, uid))
+			return l;
+	}
+
+	return NULL;
+}
+
+static void
+compute_status (ECalConduitContext *ctxt, ECalLocalRecord *local, const gchar *uid)
+{
+	ECalChange *ccc;
+
+	local->local.archived = FALSE;
+	local->local.secret = FALSE;
+
+	ccc = g_hash_table_lookup (ctxt->changed_hash, uid);
+
+	if (ccc == NULL) {
+		local->local.attr = GnomePilotRecordNothing;
+		return;
+	}
+
+	switch (ccc->type) {
+	case E_CAL_CHANGE_ADDED:
+		local->local.attr = GnomePilotRecordNew;
+		break;
+
+	case E_CAL_CHANGE_MODIFIED:
+		local->local.attr = GnomePilotRecordModified;
+		break;
+
+	case E_CAL_CHANGE_DELETED:
+		local->local.attr = GnomePilotRecordDeleted;
+		break;
+	}
+}
+
+static gboolean
+rrules_mostly_equal (struct icalrecurrencetype *a, struct icalrecurrencetype *b)
+{
+	struct icalrecurrencetype acopy, bcopy;
+
+	acopy = *a;
+	bcopy = *b;
+
+	acopy.until = bcopy.until = icaltime_null_time ();
+	acopy.count = bcopy.count = 0;
+
+	if (!memcmp (&acopy, &bcopy, sizeof (struct icalrecurrencetype)))
+		return TRUE;
+
+	return FALSE;
+}
+
+static gboolean
+find_last_cb (ECalComponent *comp, time_t start, time_t end, gpointer data)
+{
+	time_t *last = data;
+
+	*last = start;
+
+	return TRUE;
+}
+
+static GnomePilotRecord
+local_record_to_pilot_record (ECalLocalRecord *local,
+			      ECalConduitContext *ctxt)
+{
+	GnomePilotRecord p;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#else
+	static gchar record[0xffff];
+#endif
+
+	memset(&p, 0, sizeof (p));
+
+	g_assert (local->comp != NULL);
+	g_assert (local->appt != NULL );
+
+	memset (&p, 0, sizeof (GnomePilotRecord));
+
+	p.ID = local->local.ID;
+	p.category = local->local.category;
+	p.attr = local->local.attr;
+	p.archived = local->local.archived;
+	p.secret = local->local.secret;
+
+	/* Generate pilot record structure */
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+		return p;
+	}
+
+	pack_Appointment (local->appt, buffer, datebook_v1);
+	p.record = g_new0(unsigned char, buffer->used);
+	p.length = buffer->used;
+	memcpy(p.record, buffer->data, buffer->used);
+
+	pi_buffer_free(buffer);
+#else
+	p.record = (guchar *)record;
+	p.length = pack_Appointment (local->appt, p.record, 0xffff);
+#endif
+	return p;
+}
+
+/*
+ * converts a ECalComponent object to a ECalLocalRecord
+ */
+static void
+local_record_from_comp (ECalLocalRecord *local, ECalComponent *comp, ECalConduitContext *ctxt)
+{
+	const gchar *uid;
+	ECalComponentText summary;
+	GSList *d_list = NULL, *edl = NULL, *l;
+	ECalComponentText *description;
+	ECalComponentDateTime dt_start, dt_end;
+	ECalComponentClassification classif;
+	icaltimezone *default_tz = ctxt->timezone;
+	gint i;
+
+	g_return_if_fail (local != NULL);
+	g_return_if_fail (comp != NULL);
+
+	local->comp = comp;
+	g_object_ref (comp);
+
+	e_cal_component_get_uid (local->comp, &uid);
+	local->local.ID = e_pilot_map_lookup_pid (ctxt->map, uid, TRUE);
+	compute_status (ctxt, local, uid);
+
+	local->appt = g_new0 (struct Appointment, 1);
+
+	/* Handle the fields and category we don't sync by making sure
+         * we don't overwrite them
+	 */
+	if (local->local.ID != 0) {
+		gint cat = 0;
+#ifdef PILOT_LINK_0_12
+		struct Appointment appt;
+		pi_buffer_t * record;
+
+		record = pi_buffer_new(DLP_BUF_SIZE);
+		if (record == NULL) {
+			pi_set_error(ctxt->dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+			return;
+		}
+#else
+		struct Appointment appt;
+		gchar record[0xffff];
+#endif
+		if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
+					ctxt->dbi->db_handle,
+#ifdef PILOT_LINK_0_12
+					local->local.ID, record,
+					NULL, NULL, &cat) > 0) {
+#else
+					local->local.ID, &record,
+					NULL, NULL, NULL, &cat) > 0) {
+#endif
+			local->local.category = cat;
+			memset (&appt, 0, sizeof (struct Appointment));
+#ifdef PILOT_LINK_0_12
+			unpack_Appointment (&appt, record, datebook_v1);
+#else
+			unpack_Appointment (&appt, (guchar *)record, 0xffff);
+#endif
+			local->appt->alarm = appt.alarm;
+			local->appt->advance = appt.advance;
+			local->appt->advanceUnits = appt.advanceUnits;
+			free_Appointment (&appt);
+		}
+#ifdef PILOT_LINK_0_12
+		pi_buffer_free (record);
+#endif
+	}
+
+	/*Category support*/
+	e_pilot_local_category_to_remote(&(local->local.category), comp, &(ctxt->ai.category), ctxt->pilot_charset);
+
+	/* STOP: don't replace these with g_strdup, since free_Appointment
+	   uses free to deallocate */
+	e_cal_component_get_summary (comp, &summary);
+	if (summary.value)
+		local->appt->description = e_pilot_utf8_to_pchar (summary.value, ctxt->pilot_charset);
+
+	e_cal_component_get_description_list (comp, &d_list);
+	if (d_list) {
+		description = (ECalComponentText *) d_list->data;
+		if (description && description->value)
+			local->appt->note = e_pilot_utf8_to_pchar (description->value, ctxt->pilot_charset);
+		else
+			local->appt->note = NULL;
+	} else {
+		local->appt->note = NULL;
+	}
+
+	/* Start/End */
+	e_cal_component_get_dtstart (comp, &dt_start);
+	e_cal_component_get_dtend (comp, &dt_end);
+	if (dt_start.value) {
+		icaltimezone_convert_time (dt_start.value,
+					   get_timezone (ctxt->client, dt_start.tzid),
+					   default_tz);
+		local->appt->begin = icaltimetype_to_tm (dt_start.value);
+	}
+
+	if (dt_start.value && dt_end.value) {
+		if (is_all_day (ctxt->client, &dt_start, &dt_end)) {
+			local->appt->event = 1;
+		} else {
+			icaltimezone_convert_time (dt_end.value,
+						   get_timezone (ctxt->client, dt_end.tzid),
+						   default_tz);
+			local->appt->end = icaltimetype_to_tm (dt_end.value);
+			local->appt->event = 0;
+		}
+	} else {
+		local->appt->event = 1;
+	}
+	e_cal_component_free_datetime (&dt_start);
+	e_cal_component_free_datetime (&dt_end);
+
+	/* Recurrence Rules */
+	local->appt->repeatType = repeatNone;
+
+	if (!e_cal_component_is_instance (comp)) {
+		if (e_cal_component_has_rrules (comp)) {
+			GSList *list;
+			struct icalrecurrencetype *recur;
+
+			e_cal_component_get_rrule_list (comp, &list);
+			recur = list->data;
+
+			switch (recur->freq) {
+			case ICAL_DAILY_RECURRENCE:
+				local->appt->repeatType = repeatDaily;
+				break;
+			case ICAL_WEEKLY_RECURRENCE:
+				local->appt->repeatType = repeatWeekly;
+				for (i = 0; i <= 7 && recur->by_day[i] != ICAL_RECURRENCE_ARRAY_MAX; i++) {
+					icalrecurrencetype_weekday wd;
+
+					wd = icalrecurrencetype_day_day_of_week (recur->by_day[i]);
+					local->appt->repeatDays[get_pilot_day (wd)] = 1;
+				}
+
+				break;
+			case ICAL_MONTHLY_RECURRENCE:
+				if (recur->by_month_day[0] != ICAL_RECURRENCE_ARRAY_MAX) {
+					local->appt->repeatType = repeatMonthlyByDate;
+					break;
+				}
+
+				/* Not going to work with -ve  by_day/by_set_pos other than -1,
+				 * pilot doesn't support that anyhow */
+				local->appt->repeatType = repeatMonthlyByDay;
+				switch (recur->by_set_pos[0] != ICAL_RECURRENCE_ARRAY_MAX ? recur->by_set_pos[0]
+					: icalrecurrencetype_day_position (recur->by_day[0])) {
+				case 1:
+					local->appt->repeatDay = dom1stSun;
+					break;
+				case 2:
+					local->appt->repeatDay = dom2ndSun;
+					break;
+				case 3:
+					local->appt->repeatDay = dom3rdSun;
+					break;
+				case 4:
+					local->appt->repeatDay = dom4thSun;
+					break;
+				case -1:
+				case 5:
+					local->appt->repeatDay = domLastSun;
+					break;
+				}
+				local->appt->repeatDay += get_pilot_day (icalrecurrencetype_day_day_of_week (recur->by_day[0]));
+				break;
+			case ICAL_YEARLY_RECURRENCE:
+				local->appt->repeatType = repeatYearly;
+				break;
+			default:
+				break;
+			}
+
+			if (local->appt->repeatType != repeatNone) {
+				local->appt->repeatFrequency = recur->interval;
+			}
+
+			if (!icaltime_is_null_time (recur->until)) {
+				local->appt->repeatForever = 0;
+				local->appt->repeatEnd = icaltimetype_to_tm_with_zone (&recur->until,
+										       icaltimezone_get_utc_timezone (),
+										       default_tz);
+			} else if (recur->count > 0) {
+				time_t last = -1;
+				struct icaltimetype itt;
+
+				/* The palm does not support count recurrences */
+				local->appt->repeatForever = 0;
+				e_cal_recur_generate_instances (comp, -1, -1, find_last_cb, &last,
+							      e_cal_resolve_tzid_cb, ctxt->client,
+							      default_tz);
+				itt = icaltime_from_timet_with_zone (last, TRUE, default_tz);
+				local->appt->repeatEnd = icaltimetype_to_tm (&itt);
+			} else {
+				local->appt->repeatForever = 1;
+			}
+
+			e_cal_component_free_recur_list (list);
+		}
+
+		/* Exceptions */
+		e_cal_component_get_exdate_list (comp, &edl);
+		local->appt->exceptions = g_slist_length (edl);
+		local->appt->exception = g_new0 (struct tm, local->appt->exceptions);
+		for (l = edl, i = 0; l != NULL; l = l->next, i++) {
+			ECalComponentDateTime *dt = l->data;
+
+			icaltimezone_convert_time (dt->value,
+						   icaltimezone_get_utc_timezone (),
+						   default_tz);
+			local->appt->exception[i] = icaltimetype_to_tm (dt->value);
+		}
+		e_cal_component_free_exdate_list (edl);
+	}
+
+	/* Alarm */
+	local->appt->alarm = 0;
+	if (e_cal_component_has_alarms (comp)) {
+		GList *uids, *l;
+		ECalComponentAlarm *alarm;
+		ECalComponentAlarmTrigger trigger;
+
+		uids = e_cal_component_get_alarm_uids (comp);
+		for (l = uids; l != NULL; l = l->next) {
+			alarm = e_cal_component_get_alarm (comp, l->data);
+			e_cal_component_alarm_get_trigger (alarm, &trigger);
+			e_cal_component_alarm_free (alarm);
+
+			if (trigger.type == E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START) {
+				if (trigger.u.rel_duration.is_neg) {
+					local->appt->advanceUnits = advMinutes;
+					local->appt->advance =
+						trigger.u.rel_duration.minutes
+						+ trigger.u.rel_duration.hours * 60
+						+ trigger.u.rel_duration.days * 60 * 24
+						+ trigger.u.rel_duration.weeks * 7 * 60 * 24;
+
+					if (local->appt->advance > PILOT_MAX_ADVANCE) {
+						local->appt->advanceUnits = advHours;
+						local->appt->advance =
+							trigger.u.rel_duration.minutes / 60
+							+ trigger.u.rel_duration.hours
+							+ trigger.u.rel_duration.days * 24
+							+ trigger.u.rel_duration.weeks * 7 * 24;
+					}
+					if (local->appt->advance > PILOT_MAX_ADVANCE) {
+						local->appt->advanceUnits = advDays;
+						local->appt->advance =
+							trigger.u.rel_duration.minutes / (60 * 24)
+							+ trigger.u.rel_duration.hours / 24
+							+ trigger.u.rel_duration.days
+							+ trigger.u.rel_duration.weeks * 7;
+					}
+					if (local->appt->advance > PILOT_MAX_ADVANCE)
+						local->appt->advance = PILOT_MAX_ADVANCE;
+
+					local->appt->alarm = 1;
+					break;
+				} else if (icaldurationtype_is_null_duration (trigger.u.rel_duration)) {
+					local->appt->advanceUnits = advMinutes;
+					local->appt->advance = 0;
+					local->appt->alarm = 1;
+					break;
+				}
+			}
+		}
+		cal_obj_uid_list_free (uids);
+	}
+
+	e_cal_component_get_classification (comp, &classif);
+
+	if (classif == E_CAL_COMPONENT_CLASS_PRIVATE)
+		local->local.secret = 1;
+	else
+		local->local.secret = 0;
+
+	local->local.archived = 0;
+}
+
+static void
+local_record_from_uid (ECalLocalRecord *local,
+		       const gchar *uid,
+		       ECalConduitContext *ctxt)
+{
+	ECalComponent *comp;
+	icalcomponent *icalcomp;
+	GError *error = NULL;
+
+	g_assert(local!=NULL);
+
+	if (e_cal_get_object (ctxt->client, uid, NULL, &icalcomp, &error)) {
+		comp = e_cal_component_new ();
+		if (!e_cal_component_set_icalcomponent (comp, icalcomp)) {
+			g_object_unref (comp);
+			icalcomponent_free (icalcomp);
+			return;
+		}
+
+		local_record_from_comp (local, comp, ctxt);
+		g_object_unref (comp);
+	} else if (error->code == E_CALENDAR_STATUS_OBJECT_NOT_FOUND) {
+		comp = e_cal_component_new ();
+		e_cal_component_set_new_vtype (comp, E_CAL_COMPONENT_EVENT);
+		e_cal_component_set_uid (comp, uid);
+		local_record_from_comp (local, comp, ctxt);
+		g_object_unref (comp);
+	} else {
+		INFO ("Object did not exist");
+	}
+
+	g_clear_error (&error);
+}
+
+static ECalComponent *
+comp_from_remote_record (GnomePilotConduitSyncAbs *conduit,
+			 GnomePilotRecord *remote,
+			 ECalComponent *in_comp,
+			 ECal *client,
+			 icaltimezone *timezone,
+			 struct CategoryAppInfo *category,
+			 const gchar *pilot_charset)
+{
+	ECalComponent *comp;
+	struct Appointment appt;
+	struct icaltimetype now = icaltime_current_time_with_zone (icaltimezone_get_utc_timezone ()), it;
+	struct icalrecurrencetype recur;
+	ECalComponentText summary = {NULL, NULL};
+	ECalComponentDateTime dt = {NULL, NULL};
+	GSList *edl = NULL;
+	gchar *txt;
+	gint pos, i;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#endif
+	g_return_val_if_fail (remote != NULL, NULL);
+
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		return NULL;
+	}
+
+	if (pi_buffer_append(buffer, remote->record, remote->length)==NULL) {
+		return NULL;
+	}
+
+	unpack_Appointment (&appt, buffer, datebook_v1);
+	pi_buffer_free(buffer);
+
+#else
+	memset (&appt, 0, sizeof (struct Appointment));
+	unpack_Appointment (&appt, remote->record, remote->length);
+#endif
+	if (in_comp == NULL) {
+		comp = e_cal_component_new ();
+		e_cal_component_set_new_vtype (comp, E_CAL_COMPONENT_EVENT);
+		e_cal_component_set_created (comp, &now);
+	} else {
+		comp = e_cal_component_clone (in_comp);
+	}
+
+	e_cal_component_set_last_modified (comp, &now);
+
+	summary.value = txt = e_pilot_utf8_from_pchar (appt.description, pilot_charset);
+	e_cal_component_set_summary (comp, &summary);
+	free (txt);
+
+	/*Category support*/
+	e_pilot_remote_category_to_local(remote->category, comp, category, pilot_charset);
+
+	/* The iCal description field */
+	if (!appt.note) {
+		e_cal_component_set_description_list (comp, NULL);
+	} else {
+		GSList l;
+		ECalComponentText text;
+
+		text.value = txt = e_pilot_utf8_from_pchar (appt.note, pilot_charset);
+		text.altrep = NULL;
+		l.data = &text;
+		l.next = NULL;
+
+		e_cal_component_set_description_list (comp, &l);
+		free (txt);
+	}
+
+	if (appt.event && !is_empty_time (appt.begin)) {
+		it = tm_to_icaltimetype (&appt.begin, TRUE);
+		dt.value = &it;
+		dt.tzid = NULL;
+		e_cal_component_set_dtstart (comp, &dt);
+		e_cal_component_set_dtend (comp, &dt);
+	} else {
+		dt.tzid = icaltimezone_get_tzid (timezone);
+
+		if (!is_empty_time (appt.begin)) {
+			it = tm_to_icaltimetype (&appt.begin, FALSE);
+			dt.value = &it;
+			e_cal_component_set_dtstart (comp, &dt);
+		}
+
+		if (!is_empty_time (appt.end)) {
+			it = tm_to_icaltimetype (&appt.end, FALSE);
+			dt.value = &it;
+			e_cal_component_set_dtend (comp, &dt);
+		}
+	}
+
+	/* Recurrence information */
+	icalrecurrencetype_clear (&recur);
+
+	switch (appt.repeatType) {
+	case repeatNone:
+		recur.freq = ICAL_NO_RECURRENCE;
+		break;
+
+	case repeatDaily:
+		recur.freq = ICAL_DAILY_RECURRENCE;
+		recur.interval = appt.repeatFrequency;
+		break;
+
+	case repeatWeekly:
+		recur.freq = ICAL_WEEKLY_RECURRENCE;
+		recur.interval = appt.repeatFrequency;
+
+		pos = 0;
+		for (i = 0; i < 7; i++) {
+			if (appt.repeatDays[i])
+				recur.by_day[pos++] = get_ical_day (i);
+		}
+
+		break;
+
+	case repeatMonthlyByDay:
+		recur.freq = ICAL_MONTHLY_RECURRENCE;
+		recur.interval = appt.repeatFrequency;
+		if (appt.repeatDay < domLastSun)
+			recur.by_day[0] = nth_weekday ((appt.repeatDay / 7) + 1,
+						       get_ical_day (appt.repeatDay % 7));
+		else
+			recur.by_day[0] = nth_weekday (-1, get_ical_day (appt.repeatDay % 7));
+		break;
+
+	case repeatMonthlyByDate:
+		recur.freq = ICAL_MONTHLY_RECURRENCE;
+		recur.interval = appt.repeatFrequency;
+		recur.by_month_day[0] = appt.begin.tm_mday;
+		break;
+
+	case repeatYearly:
+		recur.freq = ICAL_YEARLY_RECURRENCE;
+		recur.interval = appt.repeatFrequency;
+		break;
+
+	default:
+		g_assert_not_reached ();
+	}
+
+	if (recur.freq != ICAL_NO_RECURRENCE) {
+		GSList *list = NULL, *existing;
+		struct icalrecurrencetype *erecur;
+
+		/* recurrence start of week */
+		recur.week_start = get_ical_day (appt.repeatWeekstart);
+
+		if (!appt.repeatForever) {
+			recur.until = tm_to_icaltimetype (&appt.repeatEnd, TRUE);
+		}
+
+		list = g_slist_append (list, &recur);
+		e_cal_component_set_rrule_list (comp, list);
+
+		/* If the desktop uses count and rrules are
+		 * equivalent, use count still on the desktop */
+		if (!appt.repeatForever && e_cal_component_has_rrules (in_comp)) {
+			e_cal_component_get_rrule_list (in_comp, &existing);
+			erecur = existing->data;
+
+			/* If the rules are otherwise the same and the existing uses count,
+			   see if they end at the same point */
+			if (rrules_mostly_equal (&recur, erecur) &&
+			    icaltime_is_null_time (erecur->until) && erecur->count > 0) {
+				time_t last, elast;
+
+				e_cal_recur_generate_instances (comp, -1, -1, find_last_cb, &last,
+							      e_cal_resolve_tzid_cb, client,
+							      timezone);
+				e_cal_recur_generate_instances (in_comp, -1, -1, find_last_cb, &elast,
+							      e_cal_resolve_tzid_cb, client,
+							      timezone);
+
+				if (last == elast) {
+					recur.until = icaltime_null_time ();
+					recur.count = erecur->count;
+					e_cal_component_set_rrule_list (comp, list);
+				}
+			}
+		}
+
+		g_slist_free (list);
+	} else {
+		e_cal_component_set_rrule_list (comp, NULL);
+	}
+
+	/* Exceptions */
+	for (i = 0; i < appt.exceptions; i++) {
+		struct tm ex;
+		ECalComponentDateTime *dt = g_new0 (ECalComponentDateTime, 1);
+
+		dt->value = g_new0 (struct icaltimetype, 1);
+		dt->tzid = NULL;
+
+		ex = appt.exception[i];
+		*dt->value = tm_to_icaltimetype (&ex, TRUE);
+
+		edl = g_slist_prepend (edl, dt);
+	}
+	e_cal_component_set_exdate_list (comp, edl);
+	e_cal_component_free_exdate_list (edl);
+
+	/* Alarm */
+	if (appt.alarm) {
+		ECalComponentAlarm *alarm = NULL;
+		ECalComponentAlarmTrigger trigger;
+		gboolean found = FALSE;
+
+		if (e_cal_component_has_alarms (comp)) {
+			GList *uids, *l;
+
+			uids = e_cal_component_get_alarm_uids (comp);
+			for (l = uids; l != NULL; l = l->next) {
+				alarm = e_cal_component_get_alarm (comp, l->data);
+				e_cal_component_alarm_get_trigger (alarm, &trigger);
+				if ((trigger.type == E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START
+				     && trigger.u.rel_duration.is_neg)) {
+					found = TRUE;
+					break;
+				}
+				e_cal_component_alarm_free (alarm);
+			}
+			cal_obj_uid_list_free (uids);
+		}
+		if (!found)
+			alarm = e_cal_component_alarm_new ();
+
+		memset (&trigger, 0, sizeof (ECalComponentAlarmTrigger));
+		trigger.type = E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START;
+		trigger.u.rel_duration.is_neg = 1;
+		switch (appt.advanceUnits) {
+		case advMinutes:
+			trigger.u.rel_duration.minutes = appt.advance;
+			break;
+		case advHours:
+			trigger.u.rel_duration.hours = appt.advance;
+			break;
+		case advDays:
+			trigger.u.rel_duration.days = appt.advance;
+			break;
+		}
+		e_cal_component_alarm_set_trigger (alarm, trigger);
+		e_cal_component_alarm_set_action (alarm, E_CAL_COMPONENT_ALARM_DISPLAY);
+
+		if (!found)
+			e_cal_component_add_alarm (comp, alarm);
+		e_cal_component_alarm_free (alarm);
+	}
+
+	e_cal_component_set_transparency (comp, E_CAL_COMPONENT_TRANSP_NONE);
+
+	if (remote->secret)
+		e_cal_component_set_classification (comp, E_CAL_COMPONENT_CLASS_PRIVATE);
+	else
+		e_cal_component_set_classification (comp, E_CAL_COMPONENT_CLASS_PUBLIC);
+
+	e_cal_component_commit_sequence (comp);
+
+	free_Appointment (&appt);
+
+	return comp;
+}
+
+static void
+check_for_slow_setting (GnomePilotConduit *c, ECalConduitContext *ctxt)
+{
+	GnomePilotConduitStandard *conduit = GNOME_PILOT_CONDUIT_STANDARD (c);
+	gint map_count;
+	const gchar *uri;
+
+	/* If there are objects but no log */
+	map_count = g_hash_table_size (ctxt->map->pid_map);
+	if (map_count == 0)
+		gnome_pilot_conduit_standard_set_slow (conduit, TRUE);
+
+	/* Or if the URI's don't match */
+	uri = e_cal_get_uri (ctxt->client);
+	LOG (g_message ( "  Current URI %s (%s)\n", uri, ctxt->cfg->last_uri ? ctxt->cfg->last_uri : "<NONE>" ));
+	if (ctxt->cfg->last_uri != NULL && strcmp (ctxt->cfg->last_uri, uri)) {
+		gnome_pilot_conduit_standard_set_slow (conduit, TRUE);
+		e_pilot_map_clear (ctxt->map);
+	}
+
+	if (gnome_pilot_conduit_standard_get_slow (conduit)) {
+		ctxt->map->write_touched_only = TRUE;
+		LOG (g_message ( "    doing slow sync\n" ));
+	} else {
+		LOG (g_message ( "    doing fast sync\n" ));
+	}
+}
+
+/* Pilot syncing callbacks */
+static gint
+pre_sync (GnomePilotConduit *conduit,
+	  GnomePilotDBInfo *dbi,
+	  ECalConduitContext *ctxt)
+{
+	GnomePilotConduitSyncAbs *abs_conduit;
+	GList *removed = NULL, *added = NULL, *l;
+	gint len;
+	guchar *buf;
+	gchar *filename, *change_id;
+	icalcomponent *icalcomp;
+	gint num_records, add_records = 0, mod_records = 0, del_records = 0;
+#ifdef PILOT_LINK_0_12
+	pi_buffer_t * buffer;
+#endif
+	abs_conduit = GNOME_PILOT_CONDUIT_SYNC_ABS (conduit);
+
+	LOG (g_message ( "---------------------------------------------------------\n" ));
+	LOG (g_message ( "pre_sync: Calendar Conduit v.%s", CONDUIT_VERSION ));
+
+	ctxt->dbi = dbi;
+#ifdef PILOT_LINK_0_12
+	if (NULL == dbi->pilotInfo->pilot_charset)
+		ctxt->pilot_charset = NULL;
+	else
+		 ctxt->pilot_charset = g_strdup(dbi->pilotInfo->pilot_charset);
+#endif
+	ctxt->client = NULL;
+
+	/* Get the timezone */
+	ctxt->timezone = get_default_timezone ();
+	if (ctxt->timezone == NULL)
+		return -1;
+	LOG (g_message ( "  Using timezone: %s", icaltimezone_get_tzid (ctxt->timezone) ));
+
+	if (start_calendar_server (ctxt) != 0) {
+		WARN(_("Could not start evolution-data-server"));
+		gnome_pilot_conduit_error (conduit, _("Could not start evolution-data-server"));
+		return -1;
+	}
+
+	/* Get the default component */
+	if (!e_cal_get_default_object (ctxt->client, &icalcomp, NULL))
+		return -1;
+
+	ctxt->default_comp = e_cal_component_new ();
+	if (!e_cal_component_set_icalcomponent (ctxt->default_comp, icalcomp)) {
+		g_object_unref (ctxt->default_comp);
+		icalcomponent_free (icalcomp);
+		return -1;
+	}
+
+	/* Load the uid <--> pilot id mapping */
+	filename = map_name (ctxt);
+	e_pilot_map_read (filename, &ctxt->map);
+	g_free (filename);
+
+	/* Get the local database */
+	if (!e_cal_get_object_list_as_comp (ctxt->client, "#t", &ctxt->comps, NULL))
+		return -1;
+
+	/* Find the added, modified and deleted items */
+	change_id = g_strdup_printf ("pilot-sync-evolution-calendar-%d", ctxt->cfg->pilot_id);
+	if (!e_cal_get_changes (ctxt->client, change_id, &ctxt->changed, NULL))
+		return -1;
+	ctxt->changed_hash = g_hash_table_new (g_str_hash, g_str_equal);
+	g_free (change_id);
+
+	/* See if we need to split up any events */
+	for (l = ctxt->changed; l != NULL; l = l->next) {
+		ECalChange *ccc = l->data;
+		GList *multi_comp = NULL, *multi_ccc = NULL;
+
+		if (process_multi_day (ctxt, ccc, &multi_comp, &multi_ccc)) {
+			ctxt->comps = g_list_concat (ctxt->comps, multi_comp);
+
+			added = g_list_concat (added, multi_ccc);
+			removed = g_list_prepend (removed, ccc);
+		}
+	}
+
+	/* Remove the events that were split up */
+	ctxt->changed = g_list_concat (ctxt->changed, added);
+	for (l = removed; l != NULL; l = l->next) {
+		ECalChange *ccc = l->data;
+		const gchar *uid;
+
+		e_cal_component_get_uid (ccc->comp, &uid);
+		if (e_pilot_map_lookup_pid (ctxt->map, uid, FALSE) == 0) {
+			ctxt->changed = g_list_remove (ctxt->changed, ccc);
+			g_object_unref (ccc->comp);
+			g_free (ccc);
+		}
+	}
+	g_list_free (removed);
+
+	for (l = ctxt->changed; l != NULL; l = l->next) {
+		ECalChange *ccc = l->data;
+		const gchar *uid;
+
+		e_cal_component_get_uid (ccc->comp, &uid);
+		if (!e_pilot_map_uid_is_archived (ctxt->map, uid)) {
+
+			g_hash_table_insert (ctxt->changed_hash, g_strdup (uid), ccc);
+
+			switch (ccc->type) {
+			case E_CAL_CHANGE_ADDED:
+				add_records++;
+				break;
+			case E_CAL_CHANGE_MODIFIED:
+				mod_records++;
+				break;
+			case E_CAL_CHANGE_DELETED:
+				del_records++;
+				break;
+			}
+		} else if (ccc->type == E_CAL_CHANGE_DELETED) {
+			e_pilot_map_remove_by_uid (ctxt->map, uid);
+		}
+	}
+
+	/* Set the count information */
+	num_records = g_list_length (ctxt->comps);
+	gnome_pilot_conduit_sync_abs_set_num_local_records(abs_conduit, num_records);
+	gnome_pilot_conduit_sync_abs_set_num_new_local_records (abs_conduit, add_records);
+	gnome_pilot_conduit_sync_abs_set_num_updated_local_records (abs_conduit, mod_records);
+	gnome_pilot_conduit_sync_abs_set_num_deleted_local_records(abs_conduit, del_records);
+
+#ifdef PILOT_LINK_0_12
+	buffer = pi_buffer_new(DLP_BUF_SIZE);
+	if (buffer == NULL) {
+		pi_set_error(dbi->pilot_socket, PI_ERR_GENERIC_MEMORY);
+		return -1;
+	}
+
+	len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
+				DLP_BUF_SIZE,
+				buffer);
+#else
+	buf = (guchar *)g_malloc (0xffff);
+	len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
+			      (guchar *)buf, 0xffff);
+#endif
+	if (len < 0) {
+		WARN (_("Could not read pilot's Calendar application block"));
+		WARN ("dlp_ReadAppBlock(...) = %d", len);
+		gnome_pilot_conduit_error (conduit,
+					   _("Could not read pilot's Calendar application block"));
+		return -1;
+	}
+#ifdef PILOT_LINK_0_12
+	buf = g_new0 (unsigned char,buffer->used);
+	memcpy(buf, buffer->data, buffer->used);
+	pi_buffer_free(buffer);
+#endif
+	unpack_AppointmentAppInfo (&(ctxt->ai), buf, len);
+	/* unpack_CategoryAppInfo (&(ctxt->ai.category), buf, len); */
+	g_free (buf);
+
+	check_for_slow_setting (conduit, ctxt);
+	if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
+	    || ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyFromPilot)
+		ctxt->map->write_touched_only = TRUE;
+
+	return 0;
+}
+
+static gint
+post_sync (GnomePilotConduit *conduit,
+	   GnomePilotDBInfo *dbi,
+	   ECalConduitContext *ctxt)
+{
+	GList *changed;
+	gchar *filename, *change_id;
+	guchar *buf;
+	gint dlpRetVal, len;
+
+	LOG (g_message ( "post_sync: Calendar Conduit v.%s", CONDUIT_VERSION ));
+
+	/* Write AppBlock to PDA - updates categories */
+	buf = (guchar *)g_malloc (0xffff);
+
+	len = pack_AppointmentAppInfo (&(ctxt->ai), buf, 0xffff);
+
+	dlpRetVal = dlp_WriteAppBlock (dbi->pilot_socket, dbi->db_handle,
+			      (guchar *)buf, len);
+
+	g_free (buf);
+
+	if (dlpRetVal < 0) {
+		WARN ( ("Could not write pilot's Calendar application block"));
+		WARN ("dlp_WriteAppBlock(...) = %d", dlpRetVal);
+		/*gnome_pilot_conduit_error (conduit,
+					   _("Could not write pilot's Calendar application block"));*/
+		return -1;
+	}
+
+	g_free (ctxt->cfg->last_uri);
+	ctxt->cfg->last_uri = g_strdup (e_cal_get_uri (ctxt->client));
+	calconduit_save_configuration (ctxt->cfg);
+
+	filename = map_name (ctxt);
+	e_pilot_map_write (filename, ctxt->map);
+	g_free (filename);
+
+	/* FIX ME ugly hack - our changes musn't count, this does introduce
+	 * a race condition if anyone changes a record elsewhere during sycnc
+         */
+	change_id = g_strdup_printf ("pilot-sync-evolution-calendar-%d", ctxt->cfg->pilot_id);
+	if (e_cal_get_changes (ctxt->client, change_id, &changed, NULL))
+		e_cal_free_change_list (changed);
+	g_free (change_id);
+	if (ctxt->pilot_charset)
+		g_free (ctxt->pilot_charset);
+
+	LOG (g_message ( "---------------------------------------------------------\n" ));
+
+	return 0;
+}
+
+static gint
+set_pilot_id (GnomePilotConduitSyncAbs *conduit,
+	      ECalLocalRecord *local,
+	      guint32 ID,
+	      ECalConduitContext *ctxt)
+{
+	const gchar *uid;
+
+	LOG (g_message ( "set_pilot_id: setting to %d\n", ID ));
+
+	e_cal_component_get_uid (local->comp, &uid);
+	e_pilot_map_insert (ctxt->map, ID, uid, FALSE);
+
+        return 0;
+}
+
+static gint
+set_status_cleared (GnomePilotConduitSyncAbs *conduit,
+		    ECalLocalRecord *local,
+		    ECalConduitContext *ctxt)
+{
+	const gchar *uid;
+
+	LOG (g_message ( "set_status_cleared: clearing status\n" ));
+
+	e_cal_component_get_uid (local->comp, &uid);
+	g_hash_table_remove (ctxt->changed_hash, uid);
+
+        return 0;
+}
+
+static gint
+for_each (GnomePilotConduitSyncAbs *conduit,
+	  ECalLocalRecord **local,
+	  ECalConduitContext *ctxt)
+{
+	static GList *comps, *iterator;
+	static gint count;
+        GList *unused;
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	if (*local == NULL) {
+		LOG (g_message ( "beginning for_each" ));
+
+		comps = ctxt->comps;
+		count = 0;
+
+		if (comps != NULL) {
+			LOG (g_message ( "iterating over %d records", g_list_length (comps)));
+
+			*local = g_new0 (ECalLocalRecord, 1);
+			local_record_from_comp (*local, comps->data, ctxt);
+
+			/* NOTE: ignore the return value, otherwise ctxt->locals
+			 * gets messed up. The calling function keeps track of
+			 * the *local variable */
+			unused = g_list_prepend (ctxt->locals, *local);
+
+			iterator = comps;
+		} else {
+			LOG (g_message ( "no events" ));
+			(*local) = NULL;
+			return 0;
+		}
+	} else {
+		count++;
+		if (g_list_next (iterator)) {
+			iterator = g_list_next (iterator);
+
+			*local = g_new0 (ECalLocalRecord, 1);
+			local_record_from_comp (*local, iterator->data, ctxt);
+
+			/* NOTE: ignore the return value, otherwise ctxt->locals
+			 * gets messed up. The calling function keeps track of
+			 * the *local variable */
+			unused = g_list_prepend (ctxt->locals, *local);
+		} else {
+			LOG (g_message ( "for_each ending" ));
+
+			/* Tell the pilot the iteration is over */
+			*local = NULL;
+
+			return 0;
+		}
+	}
+
+	return 0;
+}
+
+static gint
+for_each_modified (GnomePilotConduitSyncAbs *conduit,
+		   ECalLocalRecord **local,
+		   ECalConduitContext *ctxt)
+{
+	static GList *iterator;
+	static gint count;
+        GList *unused;
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	if (*local == NULL) {
+		LOG (g_message ( "for_each_modified beginning\n" ));
+
+		iterator = ctxt->changed;
+
+		count = 0;
+
+		LOG (g_message ( "iterating over %d records", g_hash_table_size (ctxt->changed_hash) ));
+
+		iterator = next_changed_item (ctxt, iterator);
+		if (iterator != NULL) {
+			ECalChange *ccc = iterator->data;
+
+			*local = g_new0 (ECalLocalRecord, 1);
+			local_record_from_comp (*local, ccc->comp, ctxt);
+
+			/* NOTE: ignore the return value, otherwise ctxt->locals
+			 * gets messed up. The calling function keeps track of
+			 * the *local variable */
+			unused = g_list_prepend (ctxt->locals, *local);
+		} else {
+			LOG (g_message ( "no events" ));
+
+			*local = NULL;
+		}
+	} else {
+		count++;
+		iterator = g_list_next (iterator);
+		if (iterator && (iterator = next_changed_item (ctxt, iterator))) {
+			ECalChange *ccc = iterator->data;
+
+			*local = g_new0 (ECalLocalRecord, 1);
+			local_record_from_comp (*local, ccc->comp, ctxt);
+
+			/* NOTE: ignore the return value, otherwise ctxt->locals
+			 * gets messed up. The calling function keeps track of
+			 * the *local variable */
+			unused = g_list_prepend (ctxt->locals, *local);
+		} else {
+			LOG (g_message ( "for_each_modified ending" ));
+
+			/* Signal the iteration is over */
+			*local = NULL;
+		}
+	}
+
+	return 0;
+}
+
+static gint
+compare (GnomePilotConduitSyncAbs *conduit,
+	 ECalLocalRecord *local,
+	 GnomePilotRecord *remote,
+	 ECalConduitContext *ctxt)
+{
+	/* used by the quick compare */
+	GnomePilotRecord local_pilot;
+	gint retval = 0;
+
+	LOG (g_message ("compare: local=%s remote=%s...\n",
+			print_local (local), print_remote (remote)));
+
+	g_return_val_if_fail (local!=NULL,-1);
+	g_return_val_if_fail (remote!=NULL,-1);
+
+	local_pilot = local_record_to_pilot_record (local, ctxt);
+
+	if (remote->length != local_pilot.length
+	    || memcmp (local_pilot.record, remote->record, remote->length))
+		retval = 1;
+
+	if (retval == 0)
+		LOG (g_message ( "    equal" ));
+	else
+		LOG (g_message ( "    not equal" ));
+
+	return retval;
+}
+
+static gint
+add_record (GnomePilotConduitSyncAbs *conduit,
+	    GnomePilotRecord *remote,
+	    ECalConduitContext *ctxt)
+{
+	ECalComponent *comp;
+	gchar *uid;
+	gint retval = 0;
+
+	g_return_val_if_fail (remote != NULL, -1);
+
+	LOG (g_message ( "add_record: adding %s to desktop\n", print_remote (remote) ));
+
+	comp = comp_from_remote_record (conduit, remote, ctxt->default_comp, ctxt->client, ctxt->timezone, &(ctxt->ai.category), ctxt->pilot_charset);
+
+	/* Give it a new UID otherwise it will be the uid of the default comp */
+	uid = e_cal_component_gen_uid ();
+	e_cal_component_set_uid (comp, uid);
+
+	if (!e_cal_create_object (ctxt->client, e_cal_component_get_icalcomponent (comp), NULL, NULL))
+		return -1;
+
+	e_pilot_map_insert (ctxt->map, remote->ID, uid, FALSE);
+
+	g_free (uid);
+
+	g_object_unref (comp);
+
+	return retval;
+}
+
+static gint
+replace_record (GnomePilotConduitSyncAbs *conduit,
+		ECalLocalRecord *local,
+		GnomePilotRecord *remote,
+		ECalConduitContext *ctxt)
+{
+	ECalComponent *new_comp;
+	gint retval = 0;
+
+	g_return_val_if_fail (remote != NULL, -1);
+
+	LOG (g_message ("replace_record: replace %s with %s\n",
+			print_local (local), print_remote (remote)));
+
+	new_comp = comp_from_remote_record (conduit, remote, local->comp, ctxt->client, ctxt->timezone, &(ctxt->ai.category),
+ctxt->pilot_charset);
+	g_object_unref (local->comp);
+	local->comp = new_comp;
+
+	if (!e_cal_modify_object (ctxt->client, e_cal_component_get_icalcomponent (new_comp),
+				       CALOBJ_MOD_ALL, NULL))
+		return -1;
+
+	return retval;
+}
+
+static gint
+delete_record (GnomePilotConduitSyncAbs *conduit,
+	       ECalLocalRecord *local,
+	       ECalConduitContext *ctxt)
+{
+	const gchar *uid;
+
+	g_return_val_if_fail (local != NULL, -1);
+	g_assert (local->comp != NULL);
+
+	e_cal_component_get_uid (local->comp, &uid);
+
+	LOG (g_message ( "delete_record: deleting %s\n", uid ));
+
+	e_pilot_map_remove_by_uid (ctxt->map, uid);
+	/* FIXME Error handling */
+	if (e_cal_component_is_instance (local->comp) || e_cal_component_has_recurrences (local->comp))
+		e_cal_remove_object_with_mod (ctxt->client, uid, NULL, CALOBJ_MOD_ALL, NULL);
+	else
+		e_cal_remove_object (ctxt->client, uid, NULL);
+
+        return 0;
+}
+
+static gint
+archive_record (GnomePilotConduitSyncAbs *conduit,
+		ECalLocalRecord *local,
+		gboolean archive,
+		ECalConduitContext *ctxt)
+{
+	const gchar *uid;
+	gint retval = 0;
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	LOG (g_message ( "archive_record: %s\n", archive ? "yes" : "no" ));
+
+	e_cal_component_get_uid (local->comp, &uid);
+	e_pilot_map_insert (ctxt->map, local->local.ID, uid, archive);
+
+        return retval;
+}
+
+static gint
+match (GnomePilotConduitSyncAbs *conduit,
+       GnomePilotRecord *remote,
+       ECalLocalRecord **local,
+       ECalConduitContext *ctxt)
+{
+	const gchar *uid;
+
+	LOG (g_message ("match: looking for local copy of %s\n",
+			print_remote (remote)));
+
+	g_return_val_if_fail (local != NULL, -1);
+	g_return_val_if_fail (remote != NULL, -1);
+
+	*local = NULL;
+	uid = e_pilot_map_lookup_uid (ctxt->map, remote->ID, TRUE);
+
+	if (!uid)
+		return 0;
+
+	LOG (g_message ( "  matched\n" ));
+
+	*local = g_new0 (ECalLocalRecord, 1);
+	local_record_from_uid (*local, uid, ctxt);
+
+	return 0;
+}
+
+static gint
+free_match (GnomePilotConduitSyncAbs *conduit,
+	    ECalLocalRecord *local,
+	    ECalConduitContext *ctxt)
+{
+	LOG (g_message ( "free_match: freeing\n" ));
+
+	g_return_val_if_fail (local != NULL, -1);
+
+	ctxt->locals = g_list_remove (ctxt->locals, local);
+
+	calconduit_destroy_record (local);
+
+	return 0;
+}
+
+static gint
+prepare (GnomePilotConduitSyncAbs *conduit,
+	 ECalLocalRecord *local,
+	 GnomePilotRecord *remote,
+	 ECalConduitContext *ctxt)
+{
+	LOG (g_message ( "prepare: encoding local %s\n", print_local (local) ));
+
+	*remote = local_record_to_pilot_record (local, ctxt);
+
+	return 0;
+}
+
+/* Pilot Settings Callbacks */
+static void
+fill_widgets (ECalConduitContext *ctxt)
+{
+	if (ctxt->cfg->source)
+		e_pilot_settings_set_source (E_PILOT_SETTINGS (ctxt->ps),
+					     ctxt->cfg->source);
+	e_pilot_settings_set_secret (E_PILOT_SETTINGS (ctxt->ps),
+				     ctxt->cfg->secret);
+
+	e_cal_gui_fill_widgets (ctxt->gui, ctxt->cfg);
+}
+
+static gint
+create_settings_window (GnomePilotConduit *conduit,
+			GtkWidget *parent,
+			ECalConduitContext *ctxt)
+{
+	LOG (g_message ( "create_settings_window" ));
+
+	if (!ctxt->cfg->source_list)
+		return -1;
+
+	ctxt->ps = e_pilot_settings_new (ctxt->cfg->source_list);
+	ctxt->gui = e_cal_gui_new (E_PILOT_SETTINGS (ctxt->ps));
+
+	gtk_container_add (GTK_CONTAINER (parent), ctxt->ps);
+	gtk_widget_show (ctxt->ps);
+
+	fill_widgets (ctxt);
+
+	return 0;
+}
+static void
+display_settings (GnomePilotConduit *conduit, ECalConduitContext *ctxt)
+{
+	LOG (g_message ( "display_settings" ));
+
+	fill_widgets (ctxt);
+}
+
+static void
+save_settings    (GnomePilotConduit *conduit, ECalConduitContext *ctxt)
+{
+        LOG (g_message ( "save_settings" ));
+
+	if (ctxt->new_cfg->source)
+		g_object_unref (ctxt->new_cfg->source);
+	ctxt->new_cfg->source = g_object_ref (e_pilot_settings_get_source (E_PILOT_SETTINGS (ctxt->ps)));
+	g_object_ref (ctxt->new_cfg->source);
+	ctxt->new_cfg->secret =
+		e_pilot_settings_get_secret (E_PILOT_SETTINGS (ctxt->ps));
+	e_cal_gui_fill_config (ctxt->gui, ctxt->new_cfg);
+
+	calconduit_save_configuration (ctxt->new_cfg);
+}
+
+static void
+revert_settings  (GnomePilotConduit *conduit, ECalConduitContext *ctxt)
+{
+	LOG (g_message ( "revert_settings" ));
+
+	calconduit_save_configuration (ctxt->cfg);
+	calconduit_destroy_configuration (ctxt->new_cfg);
+	ctxt->new_cfg = calconduit_dupe_configuration (ctxt->cfg);
+}
+
+GnomePilotConduit *
+conduit_get_gpilot_conduit (guint32 pilot_id)
+{
+	GtkObject *retval;
+	ECalConduitContext *ctxt;
+
+	LOG (g_message ( "in calendar's conduit_get_gpilot_conduit\n" ));
+
+	retval = gnome_pilot_conduit_sync_abs_new ((gchar *)"DatebookDB", 0x64617465);
+	g_assert (retval != NULL);
+
+	ctxt = e_calendar_context_new (pilot_id);
+	g_object_set_data (G_OBJECT (retval), "calconduit_context", ctxt);
+
+	/* Sync signals */
+	g_signal_connect (retval, "pre_sync", G_CALLBACK (pre_sync), ctxt);
+	g_signal_connect (retval, "post_sync", G_CALLBACK (post_sync), ctxt);
+
+	g_signal_connect (retval, "set_pilot_id", G_CALLBACK (set_pilot_id), ctxt);
+	g_signal_connect (retval, "set_status_cleared", G_CALLBACK (set_status_cleared), ctxt);
+
+	g_signal_connect (retval, "for_each", G_CALLBACK (for_each), ctxt);
+	g_signal_connect (retval, "for_each_modified", G_CALLBACK (for_each_modified), ctxt);
+	g_signal_connect (retval, "compare", G_CALLBACK (compare), ctxt);
+
+	g_signal_connect (retval, "add_record", G_CALLBACK (add_record), ctxt);
+	g_signal_connect (retval, "replace_record", G_CALLBACK (replace_record), ctxt);
+	g_signal_connect (retval, "delete_record", G_CALLBACK (delete_record), ctxt);
+	g_signal_connect (retval, "archive_record", G_CALLBACK (archive_record), ctxt);
+
+	g_signal_connect (retval, "match", G_CALLBACK (match), ctxt);
+	g_signal_connect (retval, "free_match", G_CALLBACK (free_match), ctxt);
+
+	g_signal_connect (retval, "prepare", G_CALLBACK (prepare), ctxt);
+
+	/* Gui Settings */
+	g_signal_connect (retval, "create_settings_window", G_CALLBACK (create_settings_window), ctxt);
+	g_signal_connect (retval, "display_settings", G_CALLBACK (display_settings), ctxt);
+	g_signal_connect (retval, "save_settings", G_CALLBACK (save_settings), ctxt);
+	g_signal_connect (retval, "revert_settings", G_CALLBACK (revert_settings), ctxt);
+
+	return GNOME_PILOT_CONDUIT (retval);
+}
+
+void
+conduit_destroy_gpilot_conduit (GnomePilotConduit *conduit)
+{
+	GtkObject *obj = GTK_OBJECT (conduit);
+	ECalConduitContext *ctxt;
+
+	ctxt = g_object_get_data (G_OBJECT (obj), "calconduit_context");
+	e_calendar_context_destroy (ctxt);
+
+	gtk_object_destroy (obj);
+}
diff -pruN 2.0.17-2/conduits/evolution-data-server/e-address.conduit.in 2.32.0-0ubuntu1/conduits/evolution-data-server/e-address.conduit.in
--- 2.0.17-2/conduits/evolution-data-server/e-address.conduit.in	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/e-address.conduit.in	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,8 @@
+<gnome-pilot-conduit version="1.0">
+	<conduit id="e_address_conduit" type="shlib" location="@LIBDIR@/gnome-pilot/conduits/libeaddress_conduit.so"/>
+	<name value="EAddress"/>
+	<conduit-attribute name="description" value="Synchronizes Addressbook with Evolution-Data-Server"/>
+	<conduit-attribute name="default-synctype" value="synchronize"/>
+	<conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot"/>
+     	<conduit-attribute name="settings" value="TRUE"/>
+</gnome-pilot-conduit>
diff -pruN 2.0.17-2/conduits/evolution-data-server/e-calendar.conduit.in 2.32.0-0ubuntu1/conduits/evolution-data-server/e-calendar.conduit.in
--- 2.0.17-2/conduits/evolution-data-server/e-calendar.conduit.in	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/e-calendar.conduit.in	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,8 @@
+<gnome-pilot-conduit version="1.0">
+	<conduit id="e_calendar_conduit" type="shlib" location="@LIBDIR@/gnome-pilot/conduits/libecalendar_conduit.so"/>
+	<name value="ECalendar"/>
+	<conduit-attribute name="description" value="Synchronizes Calendar with Evolution-Data-Server"/>
+	<conduit-attribute name="default-synctype" value="synchronize"/>
+	<conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot"/>
+     	<conduit-attribute name="settings" value="TRUE"/>
+</gnome-pilot-conduit>
diff -pruN 2.0.17-2/conduits/evolution-data-server/e-dialog-widgets.c 2.32.0-0ubuntu1/conduits/evolution-data-server/e-dialog-widgets.c
--- 2.0.17-2/conduits/evolution-data-server/e-dialog-widgets.c	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/e-dialog-widgets.c	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,123 @@
+/*
+ * Evolution internal utilities - Glade dialog widget utilities
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ *		Federico Mena-Quintero <federico@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include <config.h>
+
+#include <math.h>
+#include <string.h>
+#include <time.h>
+#include <gtk/gtk.h>
+
+#include "e-dialog-widgets.h"
+
+/* Converts an mapped value to the appropriate index in an item group.  The
+ * values for the items are provided as a -1-terminated array.
+ */
+static gint
+value_to_index (const gint *value_map, gint value)
+{
+	gint i;
+
+	for (i = 0; value_map[i] != -1; i++)
+		if (value_map[i] == value)
+			return i;
+
+	return -1;
+}
+
+/* Converts an index in an item group to the appropriate mapped value.  See the
+ * function above.
+ */
+static gint
+index_to_value (const gint *value_map, gint index)
+{
+	gint i;
+
+	/* We do this the hard way, i.e. not as a simple array reference, to
+	 * check for correctness.
+	 */
+
+	for (i = 0; value_map[i] != -1; i++)
+		if (i == index)
+			return value_map[i];
+
+	return -1;
+}
+
+/**
+ * e_dialog_combo_box_set:
+ * @widget: A #GtkComboBox.
+ * @value: Enumerated value.
+ * @value_map: Map from enumeration values to array indices.
+ *
+ * Sets the selected item in a #GtkComboBox.  Please read the description of
+ * e_dialog_radio_set() to see how @value_map maps enumeration values to item
+ * indices.
+ **/
+void
+e_dialog_combo_box_set (GtkWidget *widget, gint value, const gint *value_map)
+{
+	gint i;
+
+	g_return_if_fail (widget != NULL);
+	g_return_if_fail (GTK_IS_COMBO_BOX (widget));
+	g_return_if_fail (value_map != NULL);
+
+	i = value_to_index (value_map, value);
+
+	if (i != -1)
+		gtk_combo_box_set_active (GTK_COMBO_BOX (widget), i);
+	else
+		g_message ("e_dialog_combo_box_set(): could not find value %d in value map!",
+			   value);
+}
+
+/**
+ * e_dialog_combo_box_get:
+ * @widget: A #GtkComboBox.
+ * @value_map: Map from enumeration values to array indices.
+ *
+ * Queries the selected item in a #GtkComboBox.  Please read the description
+ * of e_dialog_radio_set() to see how @value_map maps enumeration values to item
+ * indices.
+ *
+ * Return value: Enumeration value which corresponds to the selected item in the
+ * combo box.
+ **/
+gint
+e_dialog_combo_box_get (GtkWidget *widget, const gint *value_map)
+{
+	gint i;
+
+	g_return_val_if_fail (widget != NULL, -1);
+	g_return_val_if_fail (GTK_IS_COMBO_BOX (widget), -1);
+	g_return_val_if_fail (value_map != NULL, -1);
+
+	i = index_to_value (value_map, gtk_combo_box_get_active (GTK_COMBO_BOX (widget)));
+	if (i == -1) {
+		g_message ("e_dialog_combo_box_get(): could not find index %d in value map!", i);
+		return -1;
+	}
+	return i;
+}
diff -pruN 2.0.17-2/conduits/evolution-data-server/e-dialog-widgets.h 2.32.0-0ubuntu1/conduits/evolution-data-server/e-dialog-widgets.h
--- 2.0.17-2/conduits/evolution-data-server/e-dialog-widgets.h	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/e-dialog-widgets.h	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,31 @@
+/*
+ * Evolution internal utilities - Glade dialog widget utilities
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ *		Federico Mena-Quintero <federico@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#ifndef E_DIALOG_WIDGETS_H
+#define E_DIALOG_WIDGETS_H
+
+void e_dialog_combo_box_set (GtkWidget *widget, gint value, const gint *value_map);
+gint e_dialog_combo_box_get (GtkWidget *widget, const gint *value_map);
+
+#endif
diff -pruN 2.0.17-2/conduits/evolution-data-server/e-memo.conduit.in 2.32.0-0ubuntu1/conduits/evolution-data-server/e-memo.conduit.in
--- 2.0.17-2/conduits/evolution-data-server/e-memo.conduit.in	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/e-memo.conduit.in	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,8 @@
+<gnome-pilot-conduit version="1.0">
+	<conduit id="e_memo_conduit" type="shlib" location="@LIBDIR@/gnome-pilot/conduits/libememo_conduit.so"/>
+	<name value="EMemos"/>
+	<conduit-attribute name="description" value="Synchronizes Memo List with Evolution-Data-Server"/>
+	<conduit-attribute name="default-synctype" value="synchronize"/>
+	<conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot"/>
+     	<conduit-attribute name="settings" value="TRUE"/>
+</gnome-pilot-conduit>
diff -pruN 2.0.17-2/conduits/evolution-data-server/e-pilot-map.c 2.32.0-0ubuntu1/conduits/evolution-data-server/e-pilot-map.c
--- 2.0.17-2/conduits/evolution-data-server/e-pilot-map.c	1970-01-01 01:00:00.000000000 +0100
+++ 2.32.0-0ubuntu1/conduits/evolution-data-server/e-pilot-map.c	2010-08-09 09:02:09.000000000 +0100
@@ -0,0 +1,418 @@
+/*
+ * Evolution Conduits - Pilot Map routines
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ *		JP Rosevear <jpr@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <glib.h>
+#include <libxml/parser.h>
+
+#include <libedataserver/e-xml-utils.h>
+
+#include "e-pilot-map.h"
+
+typedef struct
+{
+	gchar *uid;
+	gboolean archived;
+	gboolean touched;
+} EPilotMapPidNode;
+
+typedef struct
+{
+	guint32 pid;
+	gboolean archived;
+	gboolean touched;
+} EPilotMapUidNode;
+
+typedef struct
+{
+	gboolean touched_only;
+	xmlNodePtr root;
+} EPilotMapWriteData;
+
+static void
+real_e_pilot_map_insert (EPilotMap *map,
+                         guint32 pid,
+                         const gchar *uid,
+                         gboolean archived,
+                         gboolean touch)
+{
+	gchar *new_uid;
+	guint32 *new_pid = NULL;
+	EPilotMapPidNode *pnode = NULL;
+	EPilotMapUidNode *unode;
+
+	g_return_if_fail (map != NULL);
+	g_return_if_fail (uid != NULL);
+
+	/* Keys */
+	if (pid != 0) {
+		new_pid = g_new (guint32, 1);
+		*new_pid = pid;
+	}
+	new_uid = g_strdup (uid);
+
+	/* Values */
+	if (pid != 0) {
+		pnode = g_new0 (EPilotMapPidNode, 1);
+		pnode->uid = new_uid;
+		pnode->archived = archived;
+		if (touch)
+			pnode->touched = TRUE;
+	}
+
+	unode = g_new0 (EPilotMapUidNode, 1);
+	unode->pid = pid;
+	unode->archived = archived;
+	if (touch)
+		unode->touched = TRUE;
+
+	/* Insertion */
+	if (pid != 0)
+		g_hash_table_insert (map->pid_map, new_pid, pnode);
+	g_hash_table_insert (map->uid_map, new_uid, unode);
+}
+
+static void
+map_set_node_timet (xmlNodePtr node, const gchar *name, time_t t)
+{
+	gchar *tstring;
+
+	tstring = g_strdup_printf ("%ld", t);
+	xmlSetProp (node, (guchar *)name, (guchar *)tstring);
+	g_free (tstring);
+}
+
+static void
+map_sax_start_element (gpointer data, const xmlChar *name,
+		       const xmlChar **attrs)
+{
+	EPilotMap *map = (EPilotMap *)data;
+
+	if (!strcmp ((gchar *)name, "PilotMap")) {
+		while (attrs && *attrs != NULL) {
+			const xmlChar **val = attrs;
+
+			val++;
+			if (!strcmp ((gchar *)*attrs, "timestamp"))
+				map->since = (time_t)strtoul ((gchar *)*val, NULL, 0);
+
+			attrs = ++val;
+		}
+	}
+
+	if (!strcmp ((gchar *)name, "map")) {
+		const gchar *uid = NULL;
+		guint32 pid = 0;
+		gboolean archived = FALSE;
+
+		while (attrs && *attrs != NULL) {
+			const xmlChar **val = attrs;
+
+			val++;
+			if (!strcmp ((gchar *)*attrs, "uid"))
+				uid = (gchar *)*val;
+
+			if (!strcmp ((gchar *)*attrs, "pilot_id"))
+				pid = strtoul ((gchar *)*val, NULL, 0);
+
+			if (!strcmp ((gchar *)*attrs, "archived"))
+				archived = strtoul ((gchar *)*val, NULL, 0)== 1 ? TRUE : FALSE;
+
+			attrs = ++val;
+		}
+
+		g_return_if_fail (uid != NULL);
+		g_return_if_fail (pid != 0 || archived);
+
+		real_e_pilot_map_insert (map, pid, uid, archived, FALSE);
+	}
+}
+
+static void
+map_write_foreach (gpointer key, gpointer value, gpointer data)
+{
+	EPilotMapWriteData *wd = data;
+	xmlNodePtr root = wd->root;
+	gchar *uid = key;
+	EPilotMapUidNode *unode = value;
+	xmlNodePtr mnode;
+
+	if (wd->touched_only && !unode->touched)
+		return;
+
+	mnode = xmlNewChild (root, NULL, (const guchar *)"map", NULL);
+	xmlSetProp (mnode, (const guchar *)"uid", (guchar *)uid);
+
+	if (unode->archived) {
+		xmlSetProp (mnode, (const guchar *)"archived", (const guchar *)"1");
+	} else {
+		gchar *pidstr;
+
+		pidstr = g_strdup_printf ("%d", unode->pid);
+		xmlSetProp (mnode, (const guchar *)"pilot_id", (guchar *)pidstr);
+		g_free (pidstr);
+		xmlSetProp (mnode, (const guchar *)"archived", (const guchar *)"0");
+	}
+}
+
+gboolean
+e_pilot_map_pid_is_archived (EPilotMap *map, guint32 pid)
+{
+	EPilotMapPidNode *pnode;
+
+	g_return_val_if_fail (map != NULL, FALSE);
+
+	pnode = g_hash_table_lookup (map->pid_map, &pid);
+
+	if (pnode == NULL)
+		return FALSE;
+
+	return pnode->archived;
+}
+
+gboolean
+e_pilot_map_uid_is_archived (EPilotMap *map, const gchar *uid)
+{
+	EPilotMapUidNode *unode;
+
+	g_return_val_if_fail (map != NULL, FALSE);
+	g_return_val_if_fail (uid != NULL, FALSE);
+
+	unode = g_hash_table_lookup (map->uid_map, uid);
+
+	if (unode == NULL)
+		retu