]>
Commit | Line | Data |
---|---|---|
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) |