summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarri Porten <porten@kde.org>2002-12-28 09:10:43 +0000
committerHarri Porten <porten@kde.org>2002-12-28 09:10:43 +0000
commitb7354d91569384ba884bd3e391210019037ada2c (patch)
tree7ecb6a83c969afc11b740f687bdd11bda1d14aac
parentebd603e725695b58215d2928292c9f1cadd6f3e4 (diff)
very basic check for Qt integration. Another proof that Qt's build
system needs more work for people using it. I didn't want to copy all of KDEs autoconf magic so this is far from perfect, yet. Can we use pkg-config here ?
-rw-r--r--ChangeLog14
-rw-r--r--Makefile.am6
-rw-r--r--configure.in45
-rw-r--r--dbus/dbus-connection.c2
-rw-r--r--qt/.cvsignore7
-rw-r--r--qt/Makefile.am9
-rw-r--r--qt/dbus-qthread.cpp (renamed from qt/dbus-qthread.cc)8
7 files changed, 81 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 742c656e..30013d88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2002-12-28 Harri Porten <porten@kde.org>
+
+ * configure.in: added check for C++ compiler and a very cheesy
+ check for the Qt integration
+
+ * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
+
+ * qt/Makefile.am: added
+
+ * qt/.cvsignore: added
+
+ * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
+ latter, added #ifdef QT_THREAD_SUPPORT guard.
+
2002-12-28 Kristian Rietveld <kris@gtk.org>
* dbus/Makefile.am: fixup export-symbols-regex.
diff --git a/Makefile.am b/Makefile.am
index dc120d35..a197cf39 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,11 @@ if HAVE_GLIB
GLIB_PC=dbus-glib-1.0.pc
endif
-SUBDIRS=dbus $(GLIB_SUBDIR) bus test doc
+if HAVE_QT
+ QT_SUBDIR=qt
+endif
+
+SUBDIRS=dbus $(GLIB_SUBDIR) $(QT_SUBDIR) bus test doc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dbus-1.0.pc $(GLIB_PC)
diff --git a/configure.in b/configure.in
index 9806da9e..a2b81699 100644
--- a/configure.in
+++ b/configure.in
@@ -17,11 +17,12 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The name of the gettext d
AM_MAINTAINER_MODE
AC_PROG_CC
+AC_PROG_CXX
AC_ISC_POSIX
AC_HEADER_STDC
AM_PROG_LIBTOOL
-AC_ARG_ENABLE(qt, [ --enable-qt enable Qt-friendly client library],enable_qt=$enableval,enable_qt=no)
+AC_ARG_ENABLE(qt, [ --enable-qt enable Qt-friendly client library],enable_qt=$enableval,enable_qt=auto)
AC_ARG_ENABLE(glib, [ --enable-glib enable GLib-friendly client library],enable_glib=$enableval,enable_glib=auto)
AC_ARG_ENABLE(tests, [ --enable-tests enable unit test code],enable_tests=yes,enable_tests=no)
AC_ARG_ENABLE(ansi, [ --enable-ansi enable -ansi -pedantic gcc flags],enable_ansi=yes,enable_ansi=no)
@@ -144,11 +145,47 @@ dnl GLib flags
AC_SUBST(DBUS_GLIB_CFLAGS)
AC_SUBST(DBUS_GLIB_LIBS)
+# Qt detection
+have_qt=no
+if test -n "$QTDIR" -a -f $QTDIR/include/qglobal.h; then
+ have_qt=yes
+ DBUS_QT_CXXFLAGS=-I$QTDIR/include
+fi
+
+dnl linking to kdecore will give us a bit of help from libtool
+kdelibs=`kde-config --install lib --expandvars 2>/dev/null`
+if test -z $kdelibs -a -f $kdelibs/libkdecore.la; then
+ have_qt=no
+else
+ DBUS_QT_LIBS=$kdelibs/libkdecore.la
+fi
+
+if test x$have_qt = xno ; then
+ AC_MSG_WARN([Qt development libraries not found])
+fi
+
+if test x$enable_qt = xyes; then
+ if test x$have_qt = xno; then
+ AC_MSG_ERROR([Qt integration explicitly required, and Qt libraries not found])
+ fi
+fi
+
+if test x$enable_qt = xno; then
+ have_qt=no;
+fi
+
+AM_CONDITIONAL(HAVE_QT, test x$have_qt = xyes)
+
+dnl Qt flags
+AC_SUBST(DBUS_QT_CXXFLAGS)
+AC_SUBST(DBUS_QT_LIBS)
+
AC_OUTPUT([
Makefile
Doxyfile
dbus/Makefile
glib/Makefile
+qt/Makefile
bus/Makefile
test/Makefile
doc/Makefile
@@ -166,14 +203,10 @@ echo "
compiler: ${CC}
Building unit tests: ${enable_tests}
- Building Qt bindings: ${enable_qt}
+ Building Qt bindings: ${have_qt}
Building GLib bindings: ${have_glib}
"
if test x$enable_tests = xyes; then
echo "NOTE: building with unit tests increases the size of the installed library"
fi
-if test x$enable_qt = xyes; then
- echo "NOTE: Qt bindings don't actually exist yet"
-fi
-
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index e5fa48f0..28f1d7f3 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -122,7 +122,7 @@ _dbus_connection_have_messages_to_send (DBusConnection *connection)
}
/**
- * Gets the next outgoing message. The message remanins in the
+ * Gets the next outgoing message. The message remains in the
* queue, and the caller does not own a reference to it.
*
* @param connection the connection.
diff --git a/qt/.cvsignore b/qt/.cvsignore
new file mode 100644
index 00000000..9626b600
--- /dev/null
+++ b/qt/.cvsignore
@@ -0,0 +1,7 @@
+.deps
+.libs
+Makefile
+Makefile.in
+*.lo
+*.la
+
diff --git a/qt/Makefile.am b/qt/Makefile.am
new file mode 100644
index 00000000..f23e1ddd
--- /dev/null
+++ b/qt/Makefile.am
@@ -0,0 +1,9 @@
+INCLUDES=-I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) $(DBUS_QT_CXXFLAGS)
+
+lib_LTLIBRARIES=libdbus-qt-1.la
+
+libdbus_qt_1_la_SOURCES = \
+ dbus-qthread.cpp
+
+libdbus_qt_1_la_LIBADD= $(DBUS_QT_LIBS) $(top_builddir)/dbus/libdbus-1.la
+libdbus_qt_1_la_LDFLAGS= -version-info 1:0
diff --git a/qt/dbus-qthread.cc b/qt/dbus-qthread.cpp
index ab266284..5aa0fa1e 100644
--- a/qt/dbus-qthread.cc
+++ b/qt/dbus-qthread.cpp
@@ -1,5 +1,5 @@
/* -*- mode: C; c-file-style: "gnu" -*- */
-/* dbus-qthread.c Qt threads integration
+/* dbus-qthread.cpp Qt threads integration
*
* Copyright (C) 2002 Zack Rusin <zack@kde.org>
*
@@ -21,8 +21,10 @@
*
*/
-#include <qmutex.h>
#include <dbus/dbus.h>
+#include <qmutex.h>
+
+#if defined(QT_THREAD_SUPPORT)
static DBusMutex * dbus_qmutex_new (void);
static void dbus_qmutex_free (DBusMutex *mutex);
@@ -83,3 +85,5 @@ dbus_qthread_init (void)
}
}
+
+#endif // QT_THREAD_SUPPORT