2 # Copyright (C) 2007-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
10 ifeq ($(BUILD_VARIANT),dbus)
11 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-dbus/$(PKG_NAME)-$(PKG_VERSION)
13 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-nodbus/$(PKG_NAME)-$(PKG_VERSION)
22 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
23 PKG_SOURCE_URL:=http://avahi.org/download/
24 PKG_MD5SUM:=e4db89a2a403ff4c47d66ac66fad1f43
26 PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm intltool/host libpthread dbus
29 PKG_REMOVE_FILES:=autogen.sh
36 include $(INCLUDE_DIR)/package.mk
38 define Package/avahi/Default
41 TITLE:=An mDNS/DNS-SD implementation
42 URL:=http://www.avahi.org/
45 define Package/avahi/Default/description
46 Avahi is an mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf)
47 implementation (library). It facilitates
48 service discovery on a local network -- this means that
49 you can plug your laptop or computer into a network and
50 instantly be able to view other people who you can chat with,
51 find printers to print to or find files being shared.
52 This kind of technology is already found in MacOS X
53 (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
54 and is very convenient.
57 define Package/libavahi
58 $(call Package/avahi/Default)
61 DEPENDS:=+libdaemon +libpthread +libgdbm
65 define Package/libavahi/description
66 $(call Package/avahi/Default/description)
68 The libavahi package contains the mDNS/DNS-SD shared libraries,
69 used by other programs. Specifically, it provides
70 libavahi-core and libavahi-common libraries.
71 By default, it is compiled without D-Bus support,
72 i.e. the --disable-dbus compilation flag is set.
73 To enable D-Bus support, select the package
74 libavahi-dbus-support.
77 define Package/avahi-autoipd
78 $(call Package/avahi/Default)
79 SUBMENU:=IP Addresses and Names
81 TITLE:=IPv4LL network address configuration daemon
84 define Package/avahi-autoipd/description
85 $(call Package/avahi/Default/description)
87 This package implements IPv4LL, "Dynamic Configuration of IPv4 Link-Local
88 Addresses" (IETF RFC3927), a protocol for automatic IP address configuration
89 from the link-local 169.254.0.0/16 range without the need for a central
90 server. It is primarily intended to be used in ad-hoc networks which lack a
94 define Package/avahi-daemon
95 $(call Package/avahi/Default)
96 SUBMENU:=IP Addresses and Names
97 DEPENDS:=+libavahi +libexpat
101 define Package/avahi-daemon/description
102 $(call Package/avahi/Default/description)
104 This package contains an mDNS/DNS-SD daemon.
107 define Package/avahi-daemon/conffiles
108 /etc/avahi/avahi-daemon.conf
109 /etc/avahi/services/http.service
110 /etc/avahi/services/ssh.service
113 define Package/avahi-dnsconfd
114 $(call Package/avahi/Default)
115 SUBMENU:=IP Addresses and Names
117 TITLE:=A Unicast DNS server from mDNS/DNS-SD configuration daemon
120 define Package/avahi-dnsconfd/description
121 $(call Package/avahi/Default/description)
123 This package contains a Unicast DNS server from mDNS/DNS-SD configuration
124 daemon, which may be used to configure conventional DNS servers using mDNS
125 in a DHCP-like fashion. Especially useful on IPv6.
128 define Package/libavahi-dbus-support
129 $(call Package/avahi/Default)
133 DEPENDS:=+dbus +libavahi
134 TITLE+= (D-Bus support)
137 define Package/libavahi-dbus-support/description
138 $(call Package/libavahi/description)
140 The libavahi-dbus-support package enables
141 D-Bus support in libavahi, needed to support
142 the libavahi-client library and avahi-utils.
143 Selecting this package modifies the contents of the
144 libavahi package by setting the --enable-dbus compilation flag;
145 it does not generate a separate binary of its own.
146 It also automatically adds the D-Bus package to the build.
147 libavahi-dbus-support is selected automatically if you select
148 libavahi-client or avahi-utils.
151 define Package/libavahi-client
152 $(call Package/avahi/Default)
155 DEPENDS:=+libavahi-dbus-support +avahi-daemon
156 TITLE+= (libavahi-client library)
159 define Package/libavahi-client/description
160 $(call Package/avahi/Default/description)
162 This packages adds the libavahi-client library.
163 It also automatically adds the required
164 libavahi-dbus-support and the avahi-daemon packages.
165 For more information please see the avahi documentation.
168 define Package/avahi-utils
169 $(call Package/avahi/Default)
170 SUBMENU:=IP Addresses and Names
171 DEPENDS:=+libavahi-client
175 define Package/avahi-utils/description
176 $(call Package/avahi/Default/description)
178 This packages installs the following avahi utility programs:
179 avahi-browse, avahi-publish, avahi-resolve, avahi-set-host-name.
180 It also automatically adds the required libavahi-client package.
181 For more information please see the avahi documentation.
184 TARGET_CFLAGS += $(FPIC) -DGETTEXT_PACKAGE
201 --disable-python-dbus \
204 --disable-doxygen-doc \
205 --disable-doxygen-dot \
206 --disable-doxygen-man \
207 --disable-doxygen-rtf \
208 --disable-doxygen-xml \
209 --disable-doxygen-chm \
210 --disable-doxygen-chi \
211 --disable-doxygen-html \
212 --disable-doxygen-ps \
213 --disable-doxygen-pdf \
216 --with-avahi-user=nobody \
217 --with-avahi-group=nogroup \
218 --with-autoipd-user=nobody \
219 --with-autoipd-group=nogroup
221 ifneq ($(CONFIG_SSP_SUPPORT),y)
223 --disable-stack-protector
226 ifeq ($(BUILD_VARIANT),dbus)
235 CFLAGS="$$$$CFLAGS -DNDEBUG -DDISABLE_SYSTEMD" \
237 define Build/InstallDev
238 $(INSTALL_DIR) $(1)/usr/include
239 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
240 $(INSTALL_DIR) $(1)/usr/lib
241 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-* $(1)/usr/lib/
242 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
243 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
246 define Package/libavahi-dbus-support/install
247 $(INSTALL_DIR) $(1)/usr/lib
250 define Package/libavahi/install
251 $(INSTALL_DIR) $(1)/usr/lib
252 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
253 ifeq ($(BUILD_VARIANT),dbus)
254 $(INSTALL_DIR) $(1)/etc/dbus-1/system.d
255 $(CP) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/* $(1)/etc/dbus-1/system.d
259 define Package/libavahi-client/install
260 $(INSTALL_DIR) $(1)/usr/lib
261 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-client.so.* $(1)/usr/lib/
264 define Package/avahi-utils/install
265 $(INSTALL_DIR) $(1)/usr/bin
266 $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
269 define Package/avahi-autoipd/install
270 $(INSTALL_DIR) $(1)/etc/avahi
271 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
272 $(INSTALL_DIR) $(1)/usr/sbin
273 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
276 define Package/avahi-daemon/install
277 $(INSTALL_DIR) $(1)/usr/sbin
278 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/
279 $(INSTALL_DIR) $(1)/etc/avahi
280 $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/
281 $(INSTALL_DIR) $(1)/etc/avahi/services
282 $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
283 $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service
284 $(INSTALL_DIR) $(1)/etc/init.d
285 $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
288 define Package/avahi-dnsconfd/install
289 $(INSTALL_DIR) $(1)/etc/avahi
290 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
291 $(INSTALL_DIR) $(1)/usr/sbin
292 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
295 $(eval $(call BuildPackage,libavahi-client))
296 $(eval $(call BuildPackage,avahi-utils))
297 $(eval $(call BuildPackage,libavahi-dbus-support))
298 $(eval $(call BuildPackage,libavahi))
299 $(eval $(call BuildPackage,avahi-autoipd))
300 $(eval $(call BuildPackage,avahi-daemon))
301 $(eval $(call BuildPackage,avahi-dnsconfd))