Greatly simplify the man page handling.
[thirdparty/cups.git] / config-scripts / cups-dnssd.m4
1 dnl
2 dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
3 dnl
4 dnl Copyright © 2007-2019 by Apple Inc.
5 dnl
6 dnl Licensed under Apache License v2.0.  See the file "LICENSE" for more
7 dnl information.
8 dnl
9
10 AC_ARG_ENABLE(avahi, [  --disable-avahi         disable DNS Service Discovery support using Avahi])
11 AC_ARG_ENABLE(dnssd, [  --disable-dnssd         disable DNS Service Discovery support using mDNSResponder])
12 AC_ARG_WITH(dnssd-libs, [  --with-dnssd-libs       set directory for DNS Service Discovery library],
13         LDFLAGS="-L$withval $LDFLAGS"
14         DSOFLAGS="-L$withval $DSOFLAGS",)
15 AC_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
19 DNSSDLIBS=""
20 DNSSD_BACKEND=""
21 IPPFIND_BIN=""
22 IPPFIND_MAN=""
23
24 if 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
37 fi
38
39 if 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         ])
71 fi
72
73 AC_SUBST(DNSSDLIBS)
74 AC_SUBST(DNSSD_BACKEND)
75 AC_SUBST(IPPFIND_BIN)
76 AC_SUBST(IPPFIND_MAN)