# USA.
AC_PREREQ(2.57)
-AC_INIT([avahi],[0.4],[avahi (at) lists (dot) freedesktop (dot) org])
+AC_INIT([avahi],[0.6],[avahi (at) lists (dot) freedesktop (dot) org])
AC_CONFIG_SRCDIR([avahi-core/server.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign 1.9 -Wall])
AC_SUBST(PACKAGE_URL, [http://www.freedesktop.org/Software/Avahi])
-AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [1:0:1])
-AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [0:2:0])
-AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [1:0:0])
+AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [2:0:2])
+AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [2:0:1])
+AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [2:0:1])
AC_SUBST(LIBAVAHI_GLIB_VERSION_INFO, [0:1:0])
AC_SUBST(LIBAVAHI_QT3_VERSION_INFO, [0:0:0])
AC_SUBST(LIBAVAHI_QT4_VERSION_INFO, [0:0:0])
+AC_SUBST(LIBAVAHI_COMPAT_LIBDNS_SD_VERSION_INFO, [1:0:0])
+AC_SUBST(LIBAVAHI_COMPAT_HOWL_VERSION_INFO, [0:0:0])
+AC_SUBST(HOWL_COMPAT_VERSION, [0.9.8])
if type -p stow > /dev/null && test -d /usr/local/stow ; then
AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
# libtool stuff
AC_PROG_LIBTOOL
+ACX_PTHREAD(,AC_MSG_ERROR([Missing POSIX Threads support]))
+
+#
+# Host specific stuffs
+#
+case "$host" in
+ *-netbsd* | *-knetbsd*-gnu)
+ AC_DEFINE([NETBSD],[],[ Support for NetBSD])
+ avahi_platform=netbsd
+ ;;
+ *-openbsd*)
+ AC_DEFINE([OPENBSD],[],[ Support for OpenBSD])
+ avahi_platform=openbsd
+ ;;
+ *-solaris*)
+ AC_DEFINE([SOLARIS],[],[ Support for Sun Solaris])
+ avahi_platform=solaris
+ ;;
+ *-linux*)
+ AC_DEFINE([LINUX],[],[ Support for GNU/Linux])
+ avahi_platform=linux
+ ;;
+ *-freebsd* | *-kfreebsd*-gnu)
+ AC_DEFINE([FREEBSD],[],[ Support for FreeBSD])
+ avahi_platform=freebsd
+ ;;
+ *-apple-darwin*)
+ AC_DEFINE([DARWIN],[],[ Support for AppleDarwin])
+ avahi_platform=darwin
+ ;;
+esac
+
+#
+# Check for netlink.h
+#
+AC_CHECK_HEADER(linux/netlink.h,
+HAVE_NETLINK=yes
+AC_DEFINE([HAVE_NETLINK],[],[Support for Linux netlink])
+, [], [
+#include <sys/socket.h>
+#include <asm/types.h>
+])
+
+AM_CONDITIONAL(HAVE_NETLINK, [ test x"$HAVE_NETLINK" = xyes ])
+
+#
+# Check for net/route.h
+#
+AC_CHECK_HEADER(net/route.h,
+HAVE_PF_ROUTE=yes
+AC_DEFINE([HAVE_PF_ROUTE],[],[Support for PF_ROUTE])
+, [], [
+#include <sys/types.h>
+#include <sys/socket.h>
+])
+
+AM_CONDITIONAL(HAVE_PF_ROUTE, [ test x"$HAVE_PF_ROUTE" = xyes ])
+
+#
+# Check for struct ip_mreqn
+#
+AC_MSG_CHECKING(for struct ip_mreqn)
+AC_TRY_COMPILE([#include <netinet/in.h>], [
+ struct ip_mreqn mreq;
+ mreq.imr_address.s_addr = 0;
+], [
+ # Yes, we have it...
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_STRUCT_IP_MREQN],[],[Support for struct ip_mreqn])
+], [
+ # We'll just have to try and use struct ip_mreq
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(for struct ip_mreq)
+ AC_TRY_COMPILE([#include <netinet/in.h>], [
+ struct ip_mreq mreq;
+ mreq.imr_interface.s_addr = 0;
+ ], [
+ # Yes, we have it...
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_STRUCT_IP_MREQ],[],[Support for struct ip_mreq])
+ ], [
+ # No multicast support
+ AC_MSG_RESULT(no)
+ ])
+])
+
#
# Detecting the linux distribution for specific things like init scripts.
#
if ! test -z "$with_dbus_system_address" ; then
DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="$with_dbus_system_address"
else
- # Note this default path is hardcoded in D-BUS and should
- # not use $localstatedir
+ # 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"
+ 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)
AM_CONDITIONAL(HAVE_PYGTK, test "x$HAVE_PYGTK" = "xyes")
AM_CONDITIONAL(HAVE_PYTHON_DBUS, test "x$HAVE_PYTHON_DBUS" = "xyes")
+#
+# Check for mono stuff
+#
+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])
+
+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" ; then
+ AC_PATH_PROG(MCS, mcs)
+ if test "x$MCS" = "x" ; then
+ AC_MSG_ERROR([Can not find "mcs" 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
+AM_CONDITIONAL(HAVE_MONO, test "x$HAVE_MONO" = "xyes")
+
+#
+# Check for monodoc stuff
+#
+if 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")
+
#
# Defining Avahi User and Group.
#
tests/Makefile
service-type-database/Makefile
avahi-sharp/Makefile
+avahi-compat-libdns_sd/Makefile
+avahi-compat-howl/Makefile
+avahi-compat-howl/samples/Makefile
])
AC_OUTPUT
prefix: ${prefix}
sysconfdir: ${sysconfdir}
+ localstatedir: ${localstatedir}
+ avahi socket: ${avahi_socket}
dbus-1 system.d dir: ${DBUS_SYS_DIR}
dbus-1 version: `pkg-config dbus-1 --modversion`
dbus-1 system socket ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
Enable python-dbus: ${HAVE_PYTHON_DBUS}
Enable QT3: ${HAVE_QT3}
Enable QT4: ${HAVE_QT4}
+ Enable Mono: ${HAVE_MONO}
Linux Distro: ${with_distro}
User for Avahi: ${AVAHI_USER}
Group for Avahi: ${AVAHI_GROUP}
Building avahi-discover-standalone: ${HAVE_GTK}
Building libavahi-qt3: ${HAVE_QT3}
Building libavahi-qt4: ${HAVE_QT4}
+ Building avahi-sharp: ${HAVE_MONO}
+ Building avahi-compat-libdns_sd: ${BUILD_CLIENT}
+ Building avahi-compat-howl: ${BUILD_CLIENT}
"