1dnl 2dnl DNS Service Discovery (aka Bonjour) stuff for CUPS. 3dnl 4dnl Copyright © 2007-2019 by Apple Inc. 5dnl 6dnl Licensed under Apache License v2.0. See the file "LICENSE" for more 7dnl information. 8dnl 9 10AC_ARG_ENABLE(avahi, [ --disable-avahi disable DNS Service Discovery support using Avahi]) 11AC_ARG_ENABLE(dnssd, [ --disable-dnssd disable DNS Service Discovery support using mDNSResponder]) 12AC_ARG_WITH(dnssd-libs, [ --with-dnssd-libs set directory for DNS Service Discovery library], 13 LDFLAGS="-L$withval $LDFLAGS" 14 DSOFLAGS="-L$withval $DSOFLAGS",) 15AC_ARG_WITH(dnssd-includes, [ --with-dnssd-includes set directory for DNS Service Discovery includes], 16 CFLAGS="-I$withval $CFLAGS" 17 CPPFLAGS="-I$withval $CPPFLAGS",) 18 19DNSSDLIBS="" 20DNSSD_BACKEND="" 21IPPFIND_BIN="" 22IPPFIND_MAN="" 23 24if test "x$PKGCONFIG" != x -a x$enable_avahi != xno -a x$host_os_name != xdarwin; then 25 AC_MSG_CHECKING(for Avahi) 26 if $PKGCONFIG --exists avahi-client; then 27 AC_MSG_RESULT(yes) 28 CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`" 29 DNSSDLIBS="`$PKGCONFIG --libs avahi-client`" 30 DNSSD_BACKEND="dnssd" 31 IPPFIND_BIN="ippfind" 32 IPPFIND_MAN="ippfind.1" 33 AC_DEFINE(HAVE_AVAHI) 34 else 35 AC_MSG_RESULT(no) 36 fi 37fi 38 39if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then 40 AC_CHECK_HEADER(dns_sd.h, [ 41 case "$host_os_name" in 42 darwin*) 43 # Darwin and macOS... 44 AC_DEFINE(HAVE_DNSSD) 45 DNSSD_BACKEND="dnssd" 46 IPPFIND_BIN="ippfind" 47 IPPFIND_MAN="ippfind.1" 48 ;; 49 *) 50 # All others... 51 AC_MSG_CHECKING(for current version of dns_sd library) 52 SAVELIBS="$LIBS" 53 LIBS="$LIBS -ldns_sd" 54 AC_TRY_COMPILE([#include <dns_sd.h>], 55 [int constant = kDNSServiceFlagsShareConnection; 56 unsigned char txtRecord[100]; 57 uint8_t valueLen; 58 TXTRecordGetValuePtr(sizeof(txtRecord), 59 txtRecord, "value", &valueLen);], 60 AC_MSG_RESULT(yes) 61 AC_DEFINE(HAVE_DNSSD) 62 DNSSDLIBS="-ldns_sd" 63 DNSSD_BACKEND="dnssd", 64 IPPFIND_BIN="ippfind" 65 IPPFIND_MAN="ippfind.1" 66 AC_MSG_RESULT(no)) 67 LIBS="$SAVELIBS" 68 ;; 69 esac 70 ]) 71fi 72 73AC_SUBST(DNSSDLIBS) 74AC_SUBST(DNSSD_BACKEND) 75AC_SUBST(IPPFIND_BIN) 76AC_SUBST(IPPFIND_MAN) 77