summaryrefslogtreecommitdiff
path: root/src/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/configure.in')
-rw-r--r--src/configure.in258
1 files changed, 255 insertions, 3 deletions
diff --git a/src/configure.in b/src/configure.in
index 2c23e0611..1ebf82c18 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -982,7 +982,7 @@ test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$MACOSX" != "xyes" -a "x$QNX" !
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 @@ elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
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 @@ else
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 @@ else
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 @@ if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
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 @@ if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
SKIP_CARBON=YES
fi
-
dnl
dnl Get the cflags and libraries from the gtk-config script
dnl