X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=macros%2Fzeroconf.m4;h=5a4f1dfc72d7faed0d5993267ea17251a6c7241c;hp=788a193038fb217369d203bf581febb6766c4d11;hb=53aafa98097fa39b62fd0c7914db291a393aa01b;hpb=64c01c136e708085840814c92ff7cf829a794317 diff --git a/macros/zeroconf.m4 b/macros/zeroconf.m4 index 788a1930..5a4f1dfc 100644 --- a/macros/zeroconf.m4 +++ b/macros/zeroconf.m4 @@ -1,13 +1,13 @@ dnl Check for optional Zeroconf support -AC_DEFUN([NETATALK_ZEROCONF], [ +AC_DEFUN([AC_NETATALK_ZEROCONF], [ ZEROCONF_LIBS="" ZEROCONF_CFLAGS="" found_zeroconf=no zeroconf_dir="" AC_ARG_ENABLE(zeroconf, - [ --enable-zeroconf[[=DIR]] enable Zeroconf support [[auto]]], + [ --enable-zeroconf[[=DIR]] enable Zeroconf support [[auto]]], [zeroconf=$enableval], [zeroconf=try] ) @@ -25,32 +25,48 @@ AC_DEFUN([NETATALK_ZEROCONF], [ zeroconf_dir="$zeroconf" fi - # mDNS support using Avahi - AC_CHECK_HEADER( - avahi-client/client.h, - AC_CHECK_LIB( - avahi-client, - avahi_client_new, - AC_DEFINE(USE_ZEROCONF, 1, [Use DNS-SD registration])) - ) + # mDNS support using mDNSResponder + AC_CHECK_HEADER( + dns_sd.h, + AC_CHECK_LIB( + dns_sd, + DNSServiceRegister, + AC_DEFINE(USE_ZEROCONF, 1, [Use DNS-SD registration])) + ) - case "$ac_cv_lib_avahi_client_avahi_client_new" in - yes) - PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ]) - PKG_CHECK_MODULES(AVAHI_TPOLL, [ avahi-client >= 0.6.4 ], - [AC_DEFINE(HAVE_AVAHI_THREADED_POLL, 1, [Uses Avahis threaded poll implementation])], - [AC_MSG_WARN(This Avahi implementation is not supporting threaded poll objects. Maybe this is not what you want.)]) - ZEROCONF_LIBS="$AVAHI_LIBS" - ZEROCONF_CFLAGS="$AVAHI_CFLAGS" - AC_DEFINE(HAVE_AVAHI, 1, [Use Avahi/DNS-SD registration]) - found_zeroconf=yes - ;; - esac + if test "$ac_cv_lib_dns_sd_DNSServiceRegister" = yes; then + ZEROCONF_LIBS="-ldns_sd" + AC_DEFINE(HAVE_MDNS, 1, [Use mDNSRespnder/DNS-SD registration]) + found_zeroconf=yes + fi - CPPFLAGS="$savedcppflags" - LDFLAGS="$savedldflags" + # mDNS support using Avahi + if test x"$found_zeroconf" != x"yes" ; then + AC_CHECK_HEADER( + avahi-client/client.h, + AC_CHECK_LIB( + avahi-client, + avahi_client_new, + AC_DEFINE(USE_ZEROCONF, 1, [Use DNS-SD registration])) + ) + + case "$ac_cv_lib_avahi_client_avahi_client_new" in + yes) + PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ]) + PKG_CHECK_MODULES(AVAHI_TPOLL, [ avahi-client >= 0.6.4 ], + [AC_DEFINE(HAVE_AVAHI_THREADED_POLL, 1, [Uses Avahis threaded poll implementation])], + [AC_MSG_WARN(This Avahi implementation is not supporting threaded poll objects. Maybe this is not what you want.)]) + ZEROCONF_LIBS="$AVAHI_LIBS" + ZEROCONF_CFLAGS="$AVAHI_CFLAGS" + AC_DEFINE(HAVE_AVAHI, 1, [Use Avahi/DNS-SD registration]) + found_zeroconf=yes + ;; + esac + CPPFLAGS="$savedcppflags" + LDFLAGS="$savedldflags" + fi fi - + netatalk_cv_zeroconf=no AC_MSG_CHECKING([whether to enable Zerconf support]) if test "x$found_zeroconf" = "xyes"; then