1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
zeroconf_option = get_option('zeroconf')
libavahi_client_dep = dependency('', required: false)
if zeroconf_option == 'auto'
if is_darwin
# Bonjour disabled for now because its build is broken
#zeroconf_option = 'bonjour'
zeroconf_option = 'disabled'
elif is_android or is_windows
zeroconf_option = 'disabled'
elif dbus_dep.found()
libavahi_client_dep = dependency('avahi-client', required: false)
if libavahi_client_dep.found()
zeroconf_option = 'avahi'
else
zeroconf_option = 'disabled'
endif
else
zeroconf_option = 'disabled'
endif
endif
if zeroconf_option == 'disabled'
zeroconf_dep = dependency('', required: false)
subdir_done()
endif
if zeroconf_option == 'bonjour'
if not compiler.has_header('dns_sd.h')
error('dns_sd.h not found')
endif
if is_darwin
bonjour_dep = declare_dependency(link_args: ['-framework', 'dnssd'])
else
bonjour_dep = declare_dependency(link_args: ['-ldns_sd'])
endif
conf.set('HAVE_BONJOUR', true)
zeroconf = static_library(
'zeroconf_bonjour',
'ZeroconfGlue.cxx',
'ZeroconfBonjour.cxx',
include_directories: inc,
)
zeroconf_dep = declare_dependency(
link_with: zeroconf,
dependencies: [
bonjour_dep,
log_dep,
],
)
else
if not libavahi_client_dep.found()
libavahi_client_dep = dependency('avahi-client')
endif
conf.set('HAVE_AVAHI', true)
zeroconf = static_library(
'zeroconf_bonjour',
'ZeroconfGlue.cxx',
'ZeroconfAvahi.cxx',
'AvahiPoll.cxx',
include_directories: inc,
dependencies: [
libavahi_client_dep,
dbus_dep,
time_dep,
log_dep,
],
)
zeroconf_dep = declare_dependency(
link_with: zeroconf,
)
endif
conf.set('HAVE_ZEROCONF', true)
|