+#
+# Check for Qt 4
+#
+AC_ARG_ENABLE(qt4,
+ AS_HELP_STRING([--disable-qt4],[Disable building of Qt4Core mainloop integration]),
+ [case "${enableval}" in
+ yes) HAVE_QT4=yes ;;
+ no) HAVE_QT4=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-qt4) ;;
+ esac],
+ [HAVE_QT4=yes])
+
+if test "x$HAVE_QT4" = "xyes" ; then
+ PKG_CHECK_MODULES( QT4, [ QtCore >= 4.0.0 ])
+ AC_SUBST(QT4_CFLAGS)
+ AC_SUBST(QT4_LIBS)
+ QT4_PREFIX="`$PKG_CONFIG --variable=prefix QtCore`/bin"
+ MOC_QT4="no"
+ AC_CHECK_FILE( "$QT4_PREFIX/moc-qt4", [ MOC_QT4=$QT4_PREFIX/moc-qt4 ], [
+ AC_CHECK_FILE("$QT4_PREFIX/moc", [ MOC_QT4=$QT4_PREFIX/moc ], [
+ AC_MSG_ERROR([Couldn't find QT4 moc])])])
+ AC_SUBST(MOC_QT4)
+fi
+AM_CONDITIONAL(HAVE_QT4, test "x$HAVE_QT4" = "xyes")
+
+#
+# Check for GTK+
+#
+AC_ARG_ENABLE(gtk,
+ AS_HELP_STRING([--disable-gtk],[Disable use of GTK+]),
+ [case "${enableval}" in
+ yes) HAVE_GTK=yes ;;
+ no) HAVE_GTK=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk) ;;
+ esac],
+ [HAVE_GTK=yes])
+
+if test "x$HAVE_GTK" = "xyes" ; then
+ # Check for GTK 2.0
+ PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ])
+ AC_SUBST(GTK20_CFLAGS)
+ AC_SUBST(GTK20_LIBS)
+
+ # Check for GLADE 2.0
+ PKG_CHECK_MODULES(GLADE20, [ libglade-2.0 >= 2.4.0 ])
+ AC_SUBST(GLADE20_CFLAGS)
+ AC_SUBST(GLADE20_LIBS)
+fi
+AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
+
+#
+# D-Bus
+#
+AC_ARG_ENABLE(dbus,
+ AS_HELP_STRING([--disable-dbus],[Disable use of D-Bus]),
+ [case "${enableval}" in
+ yes) HAVE_DBUS=yes ;;
+ no) HAVE_DBUS=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-dbus) ;;
+ esac],
+ [HAVE_DBUS=yes])
+
+AC_ARG_WITH(dbus-sys, AS_HELP_STRING([--with-dbus-sys=<dir>], [Path to D-Bus system.d directory]))
+AC_ARG_WITH(dbus-system-socket, AS_HELP_STRING([--with-dbus-system-address=<address>], [Path to the D-Bus system socket, you probably want to put unix:path= at the start. Only needed for very old D-Bus releases]))
+
+DBUS_VERSION="Disabled"
+DBUS_SYS_DIR="Disabled"
+DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="Disabled"
+if test "x$HAVE_DBUS" = "xyes" ; then
+ PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 0.34 ])
+
+ AC_DEFINE(HAVE_DBUS, 1, [Whether we have D-Bus or not])
+
+ DBUS_VERSION=`$PKG_CONFIG dbus-1 --modversion`
+ DBUS_VERSION_MAJOR=`echo $DBUS_VERSION | awk -F. '{print $1}'`
+ DBUS_VERSION_MINOR=`echo $DBUS_VERSION | awk -F. '{print $2}'`
+ DBUS_VERSION_MICRO=`echo $DBUS_VERSION | awk -F. '{print $3}'`
+ if test "z$DBUS_VERSION_MAJOR" = "z"; then
+ DBUS_VERSION_MAJOR="0"
+ fi
+ if test "z$DBUS_VERSION_MINOR" = "z"; then
+ DBUS_VERSION_MINOR="0"
+ fi
+ if test "z$DBUS_VERSION_MICRO" = "z"; then
+ DBUS_VERSION_MICRO="0"
+ fi
+
+ if test "z$DBUS_VERSION_MAJOR" = "z0" -a "z$DBUS_VERSION_MINOR" = "z0" -a "z$DBUS_VERSION_MICRO" = "z0"; then
+ echo "Error: Couldn't determine the version of your D-Bus package."
+ echo " This is probably an error in this script, please report it"
+ echo " along with the following information:"
+ echo " Base D-Buss version ='$DBUS_VERSION'"
+ echo " DBUS_VERSION_MAJOR='$DBUS_VERSION_MAJOR'"
+ echo " DBUS_VERSION_MINOR='$DBUS_VERSION_MINOR'"
+ echo " DBUS_VERSION_MICRO='$DBUS_VERSION_MICRO'"
+ exit 1
+ else
+ echo "Your D-Bus version is $DBUS_VERSION_MAJOR,$DBUS_VERSION_MINOR,$DBUS_VERSION_MICRO."
+ DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MAJOR=$DBUS_VERSION_MAJOR"
+ DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MINOR=$DBUS_VERSION_MINOR"
+ DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MICRO=$DBUS_VERSION_MICRO"
+ fi
+
+ DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
+ AC_SUBST(DBUS_CFLAGS)
+ AC_SUBST(DBUS_LIBS)
+
+ if ! test -z "$with_dbus_sys" ; then
+ DBUS_SYS_DIR="$with_dbus_sys"
+ else
+ DBUS_SYS_DIR="${sysconfdir}/dbus-1/system.d"
+ fi
+ AC_SUBST(DBUS_SYS_DIR)
+
+ if ! test -z "$with_dbus_system_address" ; then
+ DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="$with_dbus_system_address"
+ else
+ # This is ugly, but D-Bus doesn't export this address for us
+ # so we have to guess, pretty much all setups i've seen have
+ # it in /var/lib/dbus or /var/run/dbus, and its defaulted to
+ # /var/run upstream so we will try guess first then default
+ # to /var/run/dbus.
+
+ DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=/var/run/dbus/system_bus_socket"
+ TRY_SOCKETS="/var/lib/dbus/system_bus_socket /var/run/dbus/system_bus_socket ${localstatedir}/run/dbus/system_bus_socket ${prefix}/var/run/dbus/system_bus_socket"
+ for sock in $TRY_SOCKETS; do
+ if test -S $sock; then
+ DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=$sock"
+ fi
+ done
+ fi
+ AC_SUBST(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)
+
+ SAVED_LIBS="$LIBS"
+ LIBS="$LIBS $DBUS_LIBS"
+ AC_CHECK_FUNCS([dbus_connection_close dbus_bus_get_private])
+ LIBS="$SAVED_LIBS"
+fi
+AM_CONDITIONAL(HAVE_DBUS, test "x$HAVE_DBUS" = "xyes")
+
+#
+# Expat
+#
+AC_ARG_ENABLE(expat,
+ AS_HELP_STRING([--disable-expat],[Disable use of Expat]),
+ [case "${enableval}" in
+ yes) HAVE_EXPAT=yes ;;
+ no) HAVE_EXPAT=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-expat) ;;
+ esac],
+ [HAVE_EXPAT=yes])
+
+if test "x$HAVE_EXPAT" = "xyes" ; then
+ AC_CHECK_LIB(expat, XML_ParserCreate, [ AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false) ], have_expat=false)
+
+ if ! $have_expat ; then
+ AC_MSG_ERROR([*** libexpat not found ***])
+ fi
+fi
+AM_CONDITIONAL(HAVE_EXPAT, test "x$HAVE_EXPAT" = "xyes")
+
+#
+# GDBM
+#
+#
+# Check for dbm
+#
+AC_ARG_ENABLE(dbm,
+ AS_HELP_STRING([--enable-dbm],[Enable use of DBM]),
+ [case "${enableval}" in
+ yes) HAVE_DBM=yes ;;
+ no) HAVE_DBM=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-dbm) ;;
+ esac],
+ [HAVE_DBM=no])
+
+AC_ARG_ENABLE(gdbm,
+ AS_HELP_STRING([--disable-gdbm],[Disable use of GDBM]),
+ [case "${enableval}" in
+ yes) HAVE_GDBM=yes ;;
+ no) HAVE_GDBM=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-gdbm) ;;
+ esac],
+ [HAVE_GDBM=yes])
+
+if test "x$HAVE_GDBM" = "xyes" ; then
+ if test "x$HAVE_DBM" = "xyes" ; then
+ AC_MSG_ERROR([*** --enable-gdbm and --enable-dbm both specified ***])
+ fi
+ AC_CHECK_LIB(gdbm, gdbm_open, [ AC_CHECK_HEADERS(gdbm.h, have_gdbm=true, have_gdbm=false) ], have_gdbm=false)
+
+ if ! $have_gdbm ; then
+ AC_MSG_ERROR([*** libgdbm not found ***])
+ fi
+ AC_DEFINE([HAVE_GDBM],[],[Support for GDBM])
+else
+ if test "x$HAVE_DBM" = "xyes" ; then
+ AC_CHECK_HEADERS(ndbm.h, have_dbm=true, have_dbm=false)
+
+ if ! $have_dbm ; then
+ AC_MSG_ERROR([*** dbm not found ***])
+ fi
+ AC_DEFINE([HAVE_DBM],[],[Support for DBM])
+ fi
+fi
+AM_CONDITIONAL(HAVE_GDBM, test "x$HAVE_GDBM" = "xyes")
+AM_CONDITIONAL(HAVE_DBM, test "x$HAVE_DBM" = "xyes")
+
+#
+# libdaemon
+#
+AC_ARG_ENABLE(libdaemon,
+ AS_HELP_STRING([--disable-libdaemon],[Disable use of libdaemon]),
+ [case "${enableval}" in
+ yes) HAVE_LIBDAEMON=yes ;;
+ no) HAVE_LIBDAEMON=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-libdaemon) ;;
+ esac],
+ [HAVE_LIBDAEMON=yes])
+
+if test "x$HAVE_LIBDAEMON" = "xyes" ; then
+ PKG_CHECK_MODULES(LIBDAEMON, [ libdaemon >= 0.5 ])
+ AC_SUBST(LIBDAEMON_CFLAGS)
+ AC_SUBST(LIBDAEMON_LIBS)
+fi
+AM_CONDITIONAL(HAVE_LIBDAEMON, test "x$HAVE_LIBDAEMON" = "xyes")
+
+#
+# Python stuff
+#
+AC_ARG_ENABLE(python,
+ AS_HELP_STRING([--disable-python], [Disable scripts that depends on python]),
+ [case "${enableval}" in
+ yes) HAVE_PYTHON=yes ;;
+ no) HAVE_PYTHON=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-python]) ;;
+ esac],[HAVE_PYTHON=yes])
+
+HAVE_PYTHON_DBUS=no
+HAVE_PYGTK=no
+
+if test "x$HAVE_PYTHON" = "xyes" ; then
+ AM_PATH_PYTHON([2.4])
+
+ AC_ARG_ENABLE(pygtk,
+ AS_HELP_STRING([--disable-pygtk],[Disable use of GTK in Python]),
+ [case "${enableval}" in
+ yes) HAVE_PYGTK=yes ;;
+ no) HAVE_PYGTK=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-pygtk) ;;
+ esac],
+ [HAVE_PYGTK=yes])
+
+ if test "x$HAVE_PYGTK" = "xyes" ; then
+ AM_CHECK_PYMOD(gtk,,,[AC_MSG_ERROR(Could not find Python module gtk)])
+ fi
+
+
+ if test "x$HAVE_DBUS" = "xyes" ; then
+ AC_ARG_ENABLE(python-dbus,
+ AS_HELP_STRING([--disable-python-dbus],[Disable use of D-Bus in Python]),
+ [case "${enableval}" in
+ yes) HAVE_PYTHON_DBUS=yes ;;
+ no) HAVE_PYTHON_DBUS=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-python-dbus) ;;
+ esac],
+ [HAVE_PYTHON_DBUS=yes])
+
+ if test "x$HAVE_PYTHON_DBUS" = "xyes"; then
+ AM_CHECK_PYMOD(dbus,,,[AC_MSG_ERROR(Could not find Python module dbus)])
+ fi
+
+ AM_CHECK_PYMOD(socket,,,[AC_MSG_ERROR(Could not find Python module socket)])
+ if test "x$HAVE_GDBM" = "xyes"; then
+ AM_CHECK_PYMOD(gdbm,,,[AC_MSG_ERROR(Could not find Python module gdbm)])
+ fi
+ if test "x$HAVE_DBM" = "xyes"; then
+ AM_CHECK_PYMOD(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)])
+ fi
+ fi
+fi
+AM_CONDITIONAL(HAVE_PYTHON, [test "x$HAVE_PYTHON" = "xyes" ])
+AM_CONDITIONAL(HAVE_PYGTK, test "x$HAVE_PYGTK" = "xyes")
+AM_CONDITIONAL(HAVE_PYTHON_DBUS, test "x$HAVE_PYTHON_DBUS" = "xyes")
+
+#
+# Check for mono stuff
+#
+HAVE_MONO=no
+if test "x$HAVE_DBUS" = "xyes" ; then
+ AC_ARG_ENABLE(mono,
+ AS_HELP_STRING([--disable-mono],[Disable mono bindings]),
+ [case "${enableval}" in
+ yes) HAVE_MONO=yes ;;
+ no) HAVE_MONO=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-mono) ;;
+ esac],
+ [HAVE_MONO=yes])
+
+ if test "x$HAVE_MONO" = "xyes" ; then
+ AC_PATH_PROG(MCS, mcs)
+ if test "x$MCS" = "x" ; then
+ AC_MSG_ERROR([Can not find "mcs" - The Mono C-Sharp Compiler) in your PATH])
+ fi
+
+ AC_PATH_PROG(GACUTIL, gacutil)
+ if test "x$GACUTIL" = "x" ; then
+ AC_MSG_ERROR([Can not find "gacutil" in your PATH])
+ fi
+
+ AC_SUBST(MCS)
+ AC_SUBST(GACUTIL)
+ fi
+fi
+AM_CONDITIONAL(HAVE_MONO, test "x$HAVE_MONO" = "xyes")
+
+#
+# Check for monodoc stuff
+#
+HAVE_MONODOC=no
+AC_ARG_ENABLE(monodoc,
+ AS_HELP_STRING([--disable-monodoc],[Disable documentation for mono bindings]),
+ [case "${enableval}" in
+ yes) HAVE_MONODOC=yes ;;
+ no) HAVE_MONODOC=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-monodoc) ;;
+ esac],
+ [HAVE_MONODOC=yes])
+
+if test "x$HAVE_MONO" = "xyes" && test "x$HAVE_MONODOC" = "xyes" ; then
+ PKG_CHECK_MODULES(MONODOC, [monodoc >= 1.1.8])
+ MONODOC_DIR=`$PKG_CONFIG --variable=sourcesdir monodoc`
+
+ AC_PATH_PROG(MONODOCER, monodocer)
+ AC_PATH_PROG(MDASSEMBLER, mdassembler)
+
+ AC_SUBST(MONODOC_DIR)
+ AC_SUBST(MONODOCER)
+ AC_SUBST(MDASSEMBLER)
+fi
+AM_CONDITIONAL(HAVE_MONODOC, test "x$HAVE_MONODOC" = "xyes")
+
+#
+# Build autoipd?
+#
+AC_ARG_ENABLE(autoipd,
+ AS_HELP_STRING([--disable-autoipd],[Disable building of avahi-autoipd]),
+ [case "${enableval}" in
+ yes) ENABLE_AUTOIPD=yes ;;
+ no) ENABLE_AUTOIPD=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-autoipd) ;;
+ esac],
+ [ENABLE_AUTOIPD=yes])
+
+AM_CONDITIONAL(ENABLE_AUTOIPD, test "x$ENABLE_AUTOIPD" = "xyes")
+
+#
+# Defining users and groups
+#
+AC_ARG_WITH(avahi_user, AS_HELP_STRING([--with-avahi-user=<user>],[User for running avahi-daemon (avahi)]))
+if test -z "$with_avahi_user" ; then
+ AVAHI_USER=avahi
+else
+ AVAHI_USER=$with_avahi_user
+fi
+AC_SUBST(AVAHI_USER)
+AC_DEFINE_UNQUOTED(AVAHI_USER,"$AVAHI_USER", [User for running the Avahi daemon])
+
+AC_ARG_WITH(avahi_group,AS_HELP_STRING([--with-avahi-group=<group>],[Group for running avahi-daemon (avahi)]))
+if test -z "$with_avahi_group" ; then
+ AVAHI_GROUP=avahi
+else
+ AVAHI_GROUP=$with_avahi_group
+fi
+AC_SUBST(AVAHI_GROUP)
+AC_DEFINE_UNQUOTED(AVAHI_GROUP,"$AVAHI_GROUP", [Group for Avahi])
+
+AC_ARG_WITH(avahi_priv_access_group,AS_HELP_STRING([--with-avahi-priv-access-group=<group>],[Priviliged access group for Avahi clients (netdev)]))
+if test -z "$with_avahi_priv_access_group" ; then
+ AVAHI_PRIV_ACCESS_GROUP=netdev
+else
+ AVAHI_PRIV_ACCESS_GROUP=$with_avahi_priv_access_group
+fi
+AC_SUBST(AVAHI_PRIV_ACCESS_GROUP)
+AC_DEFINE_UNQUOTED(AVAHI_PRIV_ACCESS_GROUP,"$AVAHI_PRIV_ACCESS_GROUP", [Privileged access group for Avahi clients])
+
+AC_ARG_WITH(autoipd_user, AS_HELP_STRING([--with-autoipd-user=<user>],[User for running the avahi-autoipd daemon (avahi-autoipd)]))
+if test -z "$with_autoipd_user" ; then
+ AVAHI_AUTOIPD_USER=avahi-autoipd
+else
+ AVAHI_AUTOIPD_USER=$with_autoipd_user
+fi
+AC_SUBST(AVAHI_AUTOIPD_USER)
+AC_DEFINE_UNQUOTED(AVAHI_AUTOIPD_USER,"$AVAHI_AUTOIPD_USER", [User for running the avahi-autoipd daemon])