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.
#
AC_FUNC_SELECT_ARGTYPES
AC_FUNC_MALLOC
AC_FUNC_REALLOC
-AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid strcasecmp gettimeofday putenv strncasecmp])
+AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid strcasecmp gettimeofday putenv strncasecmp strclpy])
AC_FUNC_CHOWN
AC_FUNC_STAT
AC_TYPE_MODE_T
AC_TYPE_PID_T
+AC_CHECK_DECLS(environ)
+
# Check for pkg-config manually first, as if its not installed the
# PKG_PROG_PKG_CONFIG macro won't be defined.
AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
fi
AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
-
-
#
# D-BUS
#
esac],
[HAVE_MONO=yes])
-AC_ARG_ENABLE(mono-docs,
- AS_HELP_STRING([--disable-mono-docs],[Disable documentation for mono bindings]),
+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-mono-docs) ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-monodoc) ;;
esac],
[HAVE_MONODOC=yes])
AC_SUBST(avahi_runtime_dir)
AC_SUBST(avahi_socket)
-
#
# Avahi interfaces dir
#
AC_SUBST(interfacesdir)
fi
-
#
# Doxygen
#
AM_CONDITIONAL([USE_XMLTOMAN], [test "x$xmltoman" = xyes])
+#
+# Conditionally compile test and example programs
+#
+AC_ARG_ENABLE(tests,
+ AS_HELP_STRING([--enable-tests],[Enable building of tests and examples]),
+ [case "${enableval}" in
+ yes) ENABLE_TESTS=yes ;;
+ no) ENABLE_TESTS=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-tests) ;;
+ esac],
+ [ENABLE_TESTS=no])
+
+AM_CONDITIONAL([ENABLE_TESTS], [test "x$ENABLE_TESTS" = "xyes"])
+
+#
+# Optionally enable libdns_sd compatibility support
+#
+AC_ARG_ENABLE(compat-libdns_sd,
+ AS_HELP_STRING([--enable-compat-libdns_sd],[Enable compatibility layer for libdns_sd]),
+ [case "${enableval}" in
+ yes) ENABLE_COMPAT_LIBDNS_SD=yes ;;
+ no) ENABLE_COMPAT_LIBDNS_SD=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-compat-libdns_sd) ;;
+ esac],
+ [ENABLE_COMPAT_LIBDNS_SD=no])
+
+AM_CONDITIONAL([ENABLE_COMPAT_LIBDNS_SD], [test "x$ENABLE_COMPAT_LIBDNS_SD" = "xyes"])
+
+#
+# Optionally enable HOWL compatibility support
+#
+AC_ARG_ENABLE(compat-howl,
+ AS_HELP_STRING([--enable-compat-howl],[Enable compatibility layer for HOWL]),
+ [case "${enableval}" in
+ yes) ENABLE_COMPAT_HOWL=yes ;;
+ no) ENABLE_COMPAT_HOWL=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-compat-howl) ;;
+ esac],
+ [ENABLE_COMPAT_HOWL=no])
+
+AM_CONDITIONAL([ENABLE_COMPAT_HOWL], [test "x$ENABLE_COMPAT_HOWL" = "xyes"])
+
+
# ==========================================================================
AC_CONFIG_FILES([
Makefile
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
BUILD_CLIENT=yes
fi
+if test "x$ENABLE_COMPAT_LIBDNS_SD" = "xyes" -a "x$BUILD_CLIENT" != "xyes" ; then
+ AC_MSG_ERROR([building avahi-compat-libdns_sd without building libavahi-client doesn't work])
+fi
+if test "x$ENABLE_COMPAT_HOWL" = "xyes" -a "x$BUILD_CLIENT" != "xyes" ; then
+ AC_MSG_ERROR([building avahi-compat-howl without building libavahi-client doesn't work])
+fi
+
+
echo "
Building libavahi-core yes
Building avahi-daemon: ${BUILD_DAEMON}
Building libavahi-qt3: ${HAVE_QT3}
Building libavahi-qt4: ${HAVE_QT4}
Building avahi-sharp: ${HAVE_MONO}
+ Building avahi-compat-libdns_sd: ${ENABLE_COMPAT_LIBDNS_SD}
+ Building avahi-compat-howl: ${ENABLE_COMPAT_HOWL}
+ Building tests: ${ENABLE_TESTS}
"