3 # Copyright (C) 2007 OpenWrt.org
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
10 include $(TOPDIR)/rules.mk
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17 PKG_SOURCE_URL:=http://avahi.org/download/
18 PKG_MD5SUM:=aab1a304851d8145ea5f6a85c10af9e9
20 PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm
22 include $(INCLUDE_DIR)/package.mk
24 define Package/avahi/Default
27 TITLE:=An mDNS/DNS-SD implementation
28 URL:=http://www.avahi.org/
31 define Package/avahi/Default/description
32 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
33 Avahi is a system which facilitates service discovery on a local network --
34 this means that you can plug your laptop or computer into a network and
35 instantly be able to view other people who you can chat with, find printers
36 to print to or find files being shared. This kind of technology is already
37 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
38 and is very convenient.
41 define Package/libavahi
42 $(call Package/avahi/Default)
45 DEPENDS:=+libdaemon +libpthread
49 define Package/libavahi/description
50 $(call Package/avahi/Default/description)
52 This package contains the mDNS/DNS-SD shared libraries, used by other programs.
55 define Package/avahi-autoipd
56 $(call Package/avahi/Default)
58 TITLE:=IPv4LL network address configuration daemon
61 define Package/avahi-autoipd/description
62 $(call Package/avahi/Default/description)
64 This package implements IPv4LL, "Dynamic Configuration of IPv4 Link-Local
65 Addresses" (IETF RFC3927), a protocol for automatic IP address configuration
66 from the link-local 169.254.0.0/16 range without the need for a central
67 server. It is primarily intended to be used in ad-hoc networks which lack a
71 define Package/avahi-daemon
72 $(call Package/avahi/Default)
73 DEPENDS:=+libavahi +libexpat
77 define Package/avahi-daemon/description
78 $(call Package/avahi/Default/description)
80 This package contains an mDNS/DNS-SD daemon.
83 define Package/avahi-daemon/conffiles
84 /etc/avahi/avahi-daemon.conf
85 /etc/avahi/services/http.service
86 /etc/avahi/services/ssh.service
89 define Package/avahi-dnsconfd
90 $(call Package/avahi/Default)
92 TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon
95 define Package/avahi-dnsconfd/description
96 $(call Package/avahi/Default/description)
98 This package contains an Unicast DNS server from mDNS/DNS-SD configuration
99 daemon, which may be used to configure conventional DNS servers using mDNS
100 in a DHCP-like fashion. Especially useful on IPv6.
103 TARGET_CFLAGS += $(FPIC)
119 --disable-python-dbus \
122 --disable-doxygen-doc \
123 --disable-doxygen-dot \
124 --disable-doxygen-man \
125 --disable-doxygen-rtf \
126 --disable-doxygen-xml \
127 --disable-doxygen-chm \
128 --disable-doxygen-chi \
129 --disable-doxygen-html \
130 --disable-doxygen-ps \
131 --disable-doxygen-pdf \
134 --with-avahi-user=nobody \
135 --with-avahi-group=nogroup \
136 --with-autoipd-user=nobody \
137 --with-autoipd-group=nogroup
139 ifneq ($(CONFIG_SSP_SUPPORT),y)
141 --disable-stack-protector
145 CFLAGS="$$$$CFLAGS -DNDEBUG" \
146 $(if $(CONFIG_LINUX_2_4),ac_cv_header_sys_inotify_h=no)
149 $(MAKE) -C $(PKG_BUILD_DIR) \
150 DESTDIR="$(PKG_INSTALL_DIR)" \
154 define Build/InstallDev
155 mkdir -p $(1)/usr/include
156 $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(1)/usr/include/
157 mkdir -p $(1)/usr/lib
158 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(1)/usr/lib/
159 mkdir -p $(1)/usr/lib/pkgconfig
160 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(1)/usr/lib/pkgconfig/
163 define Package/libavahi/install
164 $(INSTALL_DIR) $(1)/usr/lib
165 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
168 define Package/avahi-autoipd/install
169 $(INSTALL_DIR) $(1)/etc/avahi
170 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
171 $(INSTALL_DIR) $(1)/usr/sbin
172 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
175 define Package/avahi-daemon/install
176 $(INSTALL_DIR) $(1)/usr/sbin
177 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/
178 $(INSTALL_DIR) $(1)/etc/avahi
179 $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/
180 $(INSTALL_DIR) $(1)/etc/avahi/services
181 $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
182 $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service
183 $(INSTALL_DIR) $(1)/etc/init.d
184 $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
187 define Package/avahi-dnsconfd/install
188 $(INSTALL_DIR) $(1)/etc/avahi
189 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
190 $(INSTALL_DIR) $(1)/usr/sbin
191 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
194 $(eval $(call BuildPackage,libavahi))
195 $(eval $(call BuildPackage,avahi-autoipd))
196 $(eval $(call BuildPackage,avahi-daemon))
197 $(eval $(call BuildPackage,avahi-dnsconfd))
199 $(eval $(call RequireCommand,intltool-update, \
200 $(PKG_NAME) requires intltool >= 0.35.0 \