|
|
dnl
|
|
|
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
|
|
|
dnl
|
|
|
dnl Copyright © 2007-2019 by Apple Inc.
|
|
|
dnl
|
|
|
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more
|
|
|
dnl information.
|
|
|
dnl
|
|
|
|
|
|
AC_ARG_ENABLE(avahi, [ --disable-avahi disable DNS Service Discovery support using Avahi])
|
|
|
AC_ARG_ENABLE(dnssd, [ --disable-dnssd disable DNS Service Discovery support using mDNSResponder])
|
|
|
AC_ARG_WITH(dnssd-libs, [ --with-dnssd-libs set directory for DNS Service Discovery library],
|
|
|
LDFLAGS="-L$withval $LDFLAGS"
|
|
|
DSOFLAGS="-L$withval $DSOFLAGS",)
|
|
|
AC_ARG_WITH(dnssd-includes, [ --with-dnssd-includes set directory for DNS Service Discovery includes],
|
|
|
CFLAGS="-I$withval $CFLAGS"
|
|
|
CPPFLAGS="-I$withval $CPPFLAGS",)
|
|
|
|
|
|
DNSSDLIBS=""
|
|
|
DNSSD_BACKEND=""
|
|
|
IPPFIND_BIN=""
|
|
|
IPPFIND_MAN=""
|
|
|
|
|
|
if test "x$PKGCONFIG" != x -a x$enable_avahi != xno -a x$host_os_name != xdarwin; then
|
|
|
AC_MSG_CHECKING(for Avahi)
|
|
|
if $PKGCONFIG --exists avahi-client; then
|
|
|
AC_MSG_RESULT(yes)
|
|
|
CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
|
|
|
DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
|
|
|
DNSSD_BACKEND="dnssd"
|
|
|
IPPFIND_BIN="ippfind"
|
|
|
IPPFIND_MAN="ippfind.1"
|
|
|
AC_DEFINE(HAVE_AVAHI)
|
|
|
else
|
|
|
AC_MSG_RESULT(no)
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
|
|
|
AC_CHECK_HEADER(dns_sd.h, [
|
|
|
case "$host_os_name" in
|
|
|
darwin*)
|
|
|
# Darwin and macOS...
|
|
|
AC_DEFINE(HAVE_DNSSD)
|
|
|
DNSSD_BACKEND="dnssd"
|
|
|
IPPFIND_BIN="ippfind"
|
|
|
IPPFIND_MAN="ippfind.1"
|
|
|
;;
|
|
|
*)
|
|
|
# All others...
|
|
|
AC_MSG_CHECKING(for current version of dns_sd library)
|
|
|
SAVELIBS="$LIBS"
|
|
|
LIBS="$LIBS -ldns_sd"
|
|
|
AC_TRY_COMPILE([#include <dns_sd.h>],
|
|
|
[int constant = kDNSServiceFlagsShareConnection;
|
|
|
unsigned char txtRecord[100];
|
|
|
uint8_t valueLen;
|
|
|
TXTRecordGetValuePtr(sizeof(txtRecord),
|
|
|
txtRecord, "value", &valueLen);],
|
|
|
AC_MSG_RESULT(yes)
|
|
|
AC_DEFINE(HAVE_DNSSD)
|
|
|
DNSSDLIBS="-ldns_sd"
|
|
|
DNSSD_BACKEND="dnssd",
|
|
|
IPPFIND_BIN="ippfind"
|
|
|
IPPFIND_MAN="ippfind.1"
|
|
|
AC_MSG_RESULT(no))
|
|
|
LIBS="$SAVELIBS"
|
|
|
;;
|
|
|
esac
|
|
|
])
|
|
|
fi
|
|
|
|
|
|
AC_SUBST(DNSSDLIBS)
|
|
|
AC_SUBST(DNSSD_BACKEND)
|
|
|
AC_SUBST(IPPFIND_BIN)
|
|
|
AC_SUBST(IPPFIND_MAN)
|