updated for version 7.0003
diff --git a/src/configure.in b/src/configure.in
index 2c23e06..1ebf82c 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -982,7 +982,7 @@
 
 AC_MSG_CHECKING(--enable-gui argument)
 AC_ARG_ENABLE(gui,
- [  --enable-gui[=OPTS]     X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon/carbon]], , enable_gui="auto")
+ [  --enable-gui[=OPTS]     X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/kde/motif/athena/neXtaw/beos/photon/carbon]], , enable_gui="auto")
 
 dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
 dnl Do not use character classes for portability with old tools.
@@ -1039,7 +1039,6 @@
 
 else
 
-
   case "$enable_gui_canon" in
     no|none)	AC_MSG_RESULT(no GUI support) ;;
     yes|""|auto)	AC_MSG_RESULT(yes/auto - automatic GUI support)
@@ -1050,6 +1049,8 @@
 		SKIP_ATHENA=
 		SKIP_NEXTAW=
 		SKIP_CARBON=;;
+    kde|Kde|KDE)	AC_MSG_RESULT(KDE 2.x or 3.x GUI support)
+    		SKIP_KDE=;;
     gtk)	AC_MSG_RESULT(GTK+ 1.x GUI support)
 		SKIP_GTK=;;
     gtk2)	AC_MSG_RESULT(GTK+ 2.x GUI support)
@@ -1073,6 +1074,17 @@
 
 fi
 
+if test "x$SKIP_KDE" != "xYES" -a "$enable_gui_canon" != "kde"; then
+    AC_MSG_CHECKING(whether or not to look for KDE)
+    AC_ARG_ENABLE(kde-check,
+	[  --enable-kde-check      If auto-select GUI, check for KDE [default=no]],
+	,enable_kde_check="no")
+    AC_MSG_RESULT($enable_kde_check);
+    if test "x$enable_kde_check" = "xno"; then
+       SKIP_KDE=YES
+    fi
+fi
+
 if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
   AC_MSG_CHECKING(whether or not to look for GTK)
   AC_ARG_ENABLE(gtk-check,
@@ -1153,6 +1165,247 @@
   fi
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl we use the kde-config script included in KDE since 2.x to check which
+dnl version of KDE, we'll use. We'll use additional args in configure to
+dnl obtain the QT directory (includes and libs) as qt does not give any
+dnl config script ! (shame on the trolls ! ;p)
+dnl ---------------------------------------------------------------------------
+
+if test -z "$SKIP_KDE"; then
+dnl ------------------
+dnl now, take care of QT
+dnl -----------------
+AC_ARG_WITH(qt-dir,
+						[  --with-qt-dir=DIR	Specify prefix of QT files],
+						[
+						 ROOTQT="$withval"
+						 MOC="$withval"/bin/moc
+						 QT_INCLUDES="$withval"/include
+						 QT_LIBS="$withval"/lib
+						 ])
+
+if test "x$ROOTQT" = "x"; then
+	if test -z "$QTDIR"; then
+	    dnl Find the Qt directory by looking for the "moc" program.
+	    dnl It's better than nothing.
+	    AC_PATH_PROG(MOC, moc, no)
+	    if text"x$MOC" = "x"; then
+		AC_MSG_ERROR(could not find Qt directory)
+	    else
+	      ROOTQT=`echo $MOC | sed 's+/bin/moc++'`
+	    fi
+	else
+		ROOTQT="$QTDIR"
+	fi
+fi
+MOC="$ROOTQT"/bin/moc
+QT_INCLUDES="$ROOTQT"/include
+QT_LIBS="$ROOTQT"/lib
+
+AC_ARG_WITH(qt-includes,
+						[  --with-qt-includes=DIR	Specify location of Qt headers],
+						[QT_INCLUDES="$withval"]
+						)
+
+AC_ARG_WITH(qt-libraries,
+						[  --with-qt-libs=DIR	Specify location of Qt libraries],
+						[QT_LIBS="$withval"]
+						)
+
+if test "x$QT_LIBS" = "x" ; then
+	QT_LIBS="$ROOTQT"/lib
+fi
+if test "x$QT_INCLUDES" = "x" ; then
+	QT_INCLUDES="$ROOTQT"/include
+fi
+dnl we should get QT's version from here and compare with what kde-config
+dnl says
+
+AC_MSG_CHECKING(whether or not to use a KDE Toolbar in KVim)
+AC_ARG_ENABLE(kde-toolbar,
+	[  --enable-kde-toolbar   if KDE GUI is selected, enable a KDE-look toolbar [default=no]],
+	, enable_kde_toolbar="no")
+if test "x$enable_kde_toolbar" != "xno"; then
+  AC_DEFINE(FEAT_KDETOOLBAR)
+fi
+AC_MSG_RESULT($enable_kde_toolbar);
+fi
+
+dnl -------------------
+dnl so, first, look up at the kde-config script
+dnl ------------------
+
+if test -z "$SKIP_KDE"; then
+AC_DEFUN(AM_PATH_KDE,
+[
+	if test "X$KDE_CONFIG" != "X"; then
+	  min_kde_version=ifelse([$1], ,2.0,[$1])
+	  AC_MSG_CHECKING(for KDE version >= $min_kde_version)
+	  no_kde=""
+	  if test "$KDE_CONFIG" = "no" ; then
+		no_kde=yes
+	  else
+		KDE_PREFIX=`$KDE_CONFIG $kde_config_args --prefix`
+		if test "x$KDE_LIBS" = "x"; then
+		  KDE_LIBS="$KDE_PREFIX/lib"
+		fi
+		if test "x$KDE_INCLUDES" = "x"; then
+			KDE_INCLUDES="$KDE_PREFIX/include"
+		fi
+		kde_major_version=`$KDE_CONFIG --version | grep KDE | \
+sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
+		kde_minor_version=`$KDE_CONFIG --version | grep KDE | \
+sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
+	
+		qt_major_version=`$KDE_CONFIG --version | grep Qt | sed -e \
+'s/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
+		qt_minor_version=`$KDE_CONFIG --version | grep Qt | sed -e \
+'s/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
+	
+		dnl maybe in a near future we'll get these ones : QT_PREFIX, QT_LIBS,
+		dnl QT_INCLUDES
+		dnl but for now we need configure options to get them ...
+		if test "x$enable-kdetest" = "xyes" ; then
+			ac_save_LIBS="$LIBS"
+			LIBS="$LIBS $KDE_LIBS"
+
+			dnl fake test
+			AC_TRY_RUN([
+#include <stdio.h>
+int
+main()
+{ return 0; }
+			],, no_kde=yes,[echo $ac_n "cross compiling KDE ? ? how can i remove that ? :)"])
+			LIBS="$ac_save_LIBS"
+		fi
+	fi
+	if test "x$no_kde" = x ; then
+	  AC_MSG_RESULT(found KDE $kde_major_version.$kde_minor_version)
+	  ifelse([$2], , :, [$2])
+	else
+	  AC_MSG_RESULT(no)
+	  KDE_LIBS=""
+	  ifelse([$3], , :, [$3])
+	fi
+else
+  AC_MSG_RESULT(no)
+  KDE_LIBS=""
+  ifelse([$3], , :, [$3])
+fi
+AC_SUBST(KDE_LIBS)
+AC_SUBST(KDE_INCLUDES)
+AC_SUBST(KDE_PREFIX)
+])
+
+dnl Check all the KDE stuff
+AC_MSG_CHECKING(--disable-rpath argument)
+AC_ARG_ENABLE(rpath,
+	[  --disable-rpath      Disable rpath.],
+	, enable_rpath="yes")
+if test "$enable_rpath" = "yes"; then
+	AC_MSG_RESULT(no)
+else
+	AC_MSG_RESULT(yes)
+fi
+
+AC_MSG_CHECKING(--with-kde-prefix argument)
+AC_ARG_WITH(kde-prefix,[  --with-kde-prefix=PFX	Prefix where KDE is installed (optional)],kde_config_prefix="$withval";
+AC_MSG_RESULT($kde_config_prefix), kde_config_prefix="";AC_MSG_RESULT(no))
+
+AC_ARG_WITH(kde-includes,
+						[  --with-kde-includes=DIR	Specify location of KDE headers],
+						[KDE_INCLUDES="$withval"]
+						)
+
+AC_ARG_WITH(kde-libraries,
+						[  --with-kde-libs=DIR	Specify location of KDE libraries],
+						[KDE_LIBS="$withval"]
+						)
+
+AC_MSG_CHECKING(--disable-kdetest argument)
+AC_ARG_ENABLE(kdetest,
+							[  --disable-kdetest	Do not try to compile and run a test KDE program],
+							enable_kdetest=yes)
+
+if test "x$enable_kdetest" = "xyes" ; then
+	AC_MSG_RESULT(kde test enabled)
+else
+	AC_MSG_RESULT(kde test disabled)
+fi
+
+if test "x$kde_config_prefix" != "x" ; then
+	kde_config_args=""
+	KDE_CONFIG=$kde_config_prefix/bin/kde-config
+fi
+
+if test "X$KDE_CONFIG" = "X"; then
+	AC_PATH_PROG(KDE_CONFIG, kde-config, no)
+else
+	AC_MSG_RESULT(Using KDE configuration program $KDE_CONFIG)
+fi
+
+if test "X$KDE_CONFIG" != "X" ; then
+	AM_PATH_KDE(2.0.0,
+							[GUI_LIB_LOC="-L$KDE_LIBS -lkdeui -lkdecore -lDCOP"
+							 GUI_INC_LOC="-I$KDE_INCLUDES"
+							 KDEDIR="$KDE_PREFIX"], )
+	if test "x$KDE_PREFIX" != "x"; then
+		AC_MSG_CHECKING(for QT version $qt_major_version.x)
+		if test "x$ROOTQT" != "x" ; then
+			GUI_INC_LOC="-I$QT_INCLUDES $GUI_INC_LOC"
+			if test $qt_major_version -lt 2; then
+				AC_MSG_ERROR(Your QT version is prior to 2.0; KDE 2.x and 3.x require at least QT 2)
+			fi
+			dnl hack for FreeBSD
+			if test "`(uname) 2>/dev/null`" = "FreeBSD"; then
+				CFLAGS="$CFLAGS -D_THREAD_SAFE"
+				CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE"
+				GUI_LIB_LOC="$GUI_LIB_LOC -pthread"
+				LIBS="$LIBS -pthread"
+			fi
+
+			dnl check the version
+			if test "x$enable_rpath" = "xyes"; then
+				if test $qt_major_version = 2; then
+					GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC \
+-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
+				else
+					GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC \
+-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
+				fi
+			else
+				if test $qt_major_version = 2; then
+					GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC"
+				else
+					GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC"
+				fi
+			fi
+
+			dnl Remove "-I/usr/include " from GUI_*
+			GUI_INC_LOC="`echo $GUI_INC_LOC\ | sed 's%-I/usr/include %%'`"
+dnl			GUI_LIB_LOC="`echo $GUI_LIB_LOC\ | sed 's% -L/usr/lib%%'`"
+
+			AC_MSG_RESULT(found $qt_major_version.$qt_minor_version in $ROOTQT)
+			SKIP_GTK=YES
+			SKIP_ATHENA=YES
+			SKIP_MOTIF=YES
+			GUITYPE=KDE
+			AC_SUBST(KDE_PREFIX)
+			AC_SUBST(QT_LIBS)
+			AC_SUBST(QT_INCLUDES)
+			AC_SUBST(ROOTQT)
+			AC_SUBST(MOC)
+			AC_DEFINE(FEAT_GUI_KDE)
+		else
+			AC_MSG_ERROR(Detected QT version mismatched)
+		fi
+	else
+		AC_MSG_ERROR(Could not find KDE installation prefix)
+	fi
+fi
+fi
+
 if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
   AC_MSG_CHECKING(for Carbon GUI)
   dnl already did this
@@ -1170,7 +1423,6 @@
   SKIP_CARBON=YES
 fi
 
-
 dnl
 dnl Get the cflags and libraries from the gtk-config script
 dnl