+DBUS_TEST_CFLAGS=
+DBUS_TEST_LIBS=
+AC_SUBST(DBUS_TEST_CFLAGS)
+AC_SUBST(DBUS_TEST_LIBS)
+
+# Glib detection
+PKG_CHECK_MODULES(DBUS_GLIB, glib-2.0, have_glib=yes, have_glib=no)
+PKG_CHECK_MODULES(DBUS_GLIB_THREADS, glib-2.0 gthread-2.0, have_glib_threads=yes, have_glib_threads=no)
+
+if test x$have_glib = xno ; then
+ AC_MSG_WARN([GLib development libraries not found])
+fi
+
+if test x$enable_glib = xyes; then
+ if test x$have_glib = xno; then
+ AC_MSG_ERROR([GLib explicitly required, and GLib development libraries not found])
+ fi
+fi
+
+if test x$enable_glib = xno; then
+ have_glib=no;
+fi
+
+AM_CONDITIONAL(HAVE_GLIB, test x$have_glib = xyes)
+AM_CONDITIONAL(HAVE_GLIB_THREADS, test x$have_glib_threads = xyes)
+
+dnl GLib flags
+AC_SUBST(DBUS_GLIB_CFLAGS)
+AC_SUBST(DBUS_GLIB_LIBS)
+AC_SUBST(DBUS_GLIB_THREADS_LIBS)
+
+# Qt detection
+have_qt=no
+AC_MSG_CHECKING([for qglobal.h])
+if test -n "$QTDIR" -a -f "$QTDIR/include/qglobal.h"; then
+ have_qt=yes
+ DBUS_QT_CXXFLAGS="-I$QTDIR/include"
+else
+ for dir in "${prefix}/include/qt" "/usr/include/qt-3.1" "/usr/include/qt3" "/usr/include/qt" "/usr/lib/qt/include"; do
+ if test -f "$dir/qglobal.h"; then
+ have_qt=yes
+ DBUS_QT_CXXFLAGS="-I$dir"
+ fi
+ done
+fi
+if test x"$have_qt" = x"yes"; then
+ AC_MSG_RESULT([found])
+else
+ AC_MSG_RESULT([not found])
+fi
+
+dnl linking to kdecore will give us a bit of help from libtool
+if (! kde-config >& /dev/null); then
+ have_qt=no
+else
+ kdelibs=`kde-config --install lib --expandvars 2>/dev/null`
+ if test -z $kdelibs -o ! -f $kdelibs/libkdecore.la; then
+ have_qt=no
+ else
+ DBUS_QT_LIBS="$kdelibs/libkdecore.la"
+ fi
+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)
+
+### X11 detection
+AC_PATH_XTRA
+
+## for now enable_x11 just tracks have_x11,
+## there's no --enable-x11
+if test x$no_x = xyes ; then
+ have_x11=no
+ enable_x11=no
+else
+ have_x11=yes
+ enable_x11=yes
+fi
+
+if test x$enable_x11 = xyes ; then
+ AC_DEFINE(DBUS_BUILD_X11,1,[Build X11-dependent code])
+ DBUS_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
+ DBUS_X_CFLAGS="$X_CFLAGS"
+else
+ DBUS_X_LIBS=
+ DBUS_X_CFLAGS=
+fi
+
+AC_SUBST(DBUS_X_CFLAGS)
+AC_SUBST(DBUS_X_LIBS)
+
+### Documentation
+
+AC_PATH_PROG(DOXYGEN, doxygen, no)
+AC_PATH_PROG(DB2HTML, db2html, no)
+
+AC_MSG_CHECKING([whether to build documentation])
+
+if test x$DOXYGEN = xno -o x$DB2HTML = xno ; then
+ have_docs_tools=no
+else
+ have_docs_tools=yes
+fi
+
+if test x$enable_docs = xauto ; then
+ if test x$have_docs_tools = xno ; then
+ enable_docs=no
+ else
+ enable_docs=yes
+ fi
+fi
+
+if test x$enable_docs = xyes; then
+ if test x$have_docs_tools = xno; then
+ AC_MSG_ERROR([Building docs explicitly required, but Doxygen or db2html not found])
+ fi
+fi
+
+AM_CONDITIONAL(DBUS_DOCS_ENABLED, test x$enable_docs = xyes)
+AC_MSG_RESULT(yes)
+
+#### find the actual value for $prefix that we'll end up with
+## (I know this is broken and should be done in the Makefile, but
+## that's a major pain and almost nobody actually seems to care)
+REAL_PREFIX=
+if test "x$prefix" = "xNONE"; then
+ REAL_PREFIX=$ac_default_prefix
+else
+ REAL_PREFIX=$prefix
+fi
+
+#### Have to go $localstatedir->$prefix/var->/usr/local/var
+#### someone please fix this a better way...
+LOCALSTATEDIR_TMP="$localstatedir"
+old_prefix=$prefix
+prefix=$REAL_PREFIX
+EXPANDED_LOCALSTATEDIR=`eval echo $LOCALSTATEDIR_TMP`
+prefix=$old_prefix
+AC_SUBST(EXPANDED_LOCALSTATEDIR)
+
+SYSCONFDIR_TMP="$sysconfdir"
+old_prefix=$prefix
+prefix=$REAL_PREFIX
+EXPANDED_SYSCONFDIR=`eval echo $SYSCONFDIR_TMP`
+prefix=$old_prefix
+AC_SUBST(EXPANDED_SYSCONFDIR)
+
+BINDIR_TMP="$bindir"
+old_prefix=$prefix
+prefix=$REAL_PREFIX
+EXPANDED_BINDIR=`eval echo $BINDIR_TMP`
+prefix=$old_prefix
+AC_SUBST(EXPANDED_BINDIR)
+
+old_exec_prefix=${exec_prefix}
+test "x$exec_prefix" = xNONE && eval exec_prefix=${prefix}
+eval EXPANDED_LIBDIR=${libdir}
+exec_prefix=${old_exec_prefix}
+AC_SUBST(EXPANDED_LIBDIR)
+
+#### Check our operating system
+operating_system=unknown
+if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then
+ operating_system=redhat
+fi
+
+#### Sort out init scripts
+
+if test x$with_init_scripts = x; then
+ if test xredhat = x$operating_system ; then
+ with_init_scripts=redhat
+ else
+ with_init_scripts=none
+ fi
+fi
+
+AM_CONDITIONAL(DBUS_INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat)
+
+
+##### Set up location for system bus socket
+if ! test -z "$with_system_socket"; then
+ DBUS_SYSTEM_SOCKET=$with_system_socket
+else
+ DBUS_SYSTEM_SOCKET=${EXPANDED_LOCALSTATEDIR}/run/dbus/system_bus_socket
+fi
+
+AC_SUBST(DBUS_SYSTEM_SOCKET)
+
+#### Set up the pid file
+if ! test -z "$with_system_pid_file"; then
+ DBUS_SYSTEM_PID_FILE=$with_system_pid_file
+elif test x$operating_system = xredhat ; then
+ DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/messagebus.pid
+else
+ DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/dbus/pid
+fi
+
+AC_SUBST(DBUS_SYSTEM_PID_FILE)
+
+#### Tell tests where to find certain stuff in builddir
+ABSOLUTE_TOP_BUILDDIR=`cd ${ac_top_builddir}. && pwd`
+
+AC_DEFUN(TEST_PATH, [
+TEST_$1=${ABSOLUTE_TOP_BUILDDIR}/test/$2
+AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1",
+ [Full path to test file test/$2 in builddir])
+AC_SUBST(TEST_$1)
+])
+
+TEST_PATH(SERVICE_DIR, data/valid-service-files)
+TEST_PATH(SERVICE_BINARY, test-service)
+TEST_PATH(EXIT_BINARY, test-exit)
+TEST_PATH(SEGFAULT_BINARY, test-segfault)
+TEST_PATH(SLEEP_FOREVER_BINARY, test-sleep-forever)
+
+#### Find socket directories
+if ! test -z "$TMPDIR" ; then
+ DEFAULT_SOCKET_DIR=$TMPDIR
+elif ! test -z "$TEMP" ; then
+ DEFAULT_SOCKET_DIR=$TEMP
+elif ! test -z "$TMP" ; then
+ DEFAULT_SOCKET_DIR=$TMP
+else
+ DEFAULT_SOCKET_DIR=/tmp
+fi
+
+if ! test -z "$with_test_socket_dir" ; then
+ TEST_SOCKET_DIR="$with_test_socket_dir"
+else
+ TEST_SOCKET_DIR=$DEFAULT_SOCKET_DIR
+fi
+AC_SUBST(TEST_SOCKET_DIR)
+AC_DEFINE_UNQUOTED(DBUS_TEST_SOCKET_DIR, "$TEST_SOCKET_DIR", [Where to put test sockets])
+
+if ! test -z "$with_session_socket_dir" ; then
+ DBUS_SESSION_SOCKET_DIR="$with_session_socket_dir"
+else
+ DBUS_SESSION_SOCKET_DIR=$DEFAULT_SOCKET_DIR
+fi
+AC_DEFINE_UNQUOTED(DBUS_SESSION_SOCKET_DIR, "$DBUS_SESSION_SOCKET_DIR", [Where per-session bus puts its sockets])
+AC_SUBST(DBUS_SESSION_SOCKET_DIR)
+
+
+