bff264f952ffdc354729486fd9344e3607991050
[openwrt/svn-archive/archive.git] / libs / avahi / Makefile
1 #
2
3 # Copyright (C) 2007 OpenWrt.org
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8 # $Id$
9
10 include $(TOPDIR)/rules.mk
11
12 PKG_NAME:=avahi
13 PKG_VERSION:=0.6.23
14 PKG_RELEASE:=2
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17 PKG_SOURCE_URL:=http://avahi.org/download/
18 PKG_MD5SUM:=aab1a304851d8145ea5f6a85c10af9e9
19
20 PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm
21
22 include $(INCLUDE_DIR)/package.mk
23
24 define Package/avahi/Default
25 SECTION:=net
26 CATEGORY:=Network
27 TITLE:=An mDNS/DNS-SD implementation
28 URL:=http://www.avahi.org/
29 endef
30
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.
39 endef
40
41 define Package/libavahi
42 $(call Package/avahi/Default)
43 SECTION:=libs
44 CATEGORY:=Libraries
45 DEPENDS:=+libdaemon +libpthread
46 TITLE+= (library)
47 endef
48
49 define Package/libavahi/description
50 $(call Package/avahi/Default/description)
51 .
52 This package contains the mDNS/DNS-SD shared libraries, used by other programs.
53 endef
54
55 define Package/avahi-autoipd
56 $(call Package/avahi/Default)
57 DEPENDS:=+libdaemon
58 TITLE:=IPv4LL network address configuration daemon
59 endef
60
61 define Package/avahi-autoipd/description
62 $(call Package/avahi/Default/description)
63 .
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
68 DHCP server.
69 endef
70
71 define Package/avahi-daemon
72 $(call Package/avahi/Default)
73 DEPENDS:=+libavahi +libexpat
74 TITLE+= (daemon)
75 endef
76
77 define Package/avahi-daemon/description
78 $(call Package/avahi/Default/description)
79 .
80 This package contains an mDNS/DNS-SD daemon.
81 endef
82
83 define Package/avahi-daemon/conffiles
84 /etc/avahi/avahi-daemon.conf
85 /etc/avahi/services/http.service
86 /etc/avahi/services/ssh.service
87 endef
88
89 define Package/avahi-dnsconfd
90 $(call Package/avahi/Default)
91 DEPENDS:=+libavahi
92 TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon
93 endef
94
95 define Package/avahi-dnsconfd/description
96 $(call Package/avahi/Default/description)
97 .
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.
101 endef
102
103 CONFIGURE_ARGS+= \
104 --enable-shared \
105 --enable-static \
106 --disable-stack-protector \
107 --disable-glib \
108 --disable-gobject \
109 --disable-qt3 \
110 --disable-qt4 \
111 --disable-gtk \
112 --disable-dbus \
113 --with-xml=expat \
114 --disable-dbm \
115 --enable-gdbm \
116 --enable-libdaemon \
117 --disable-python \
118 --disable-pygtk \
119 --disable-python-dbus \
120 --disable-mono \
121 --disable-monodoc \
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 \
132 --disable-xmltoman \
133 --with-distro=none \
134 --with-avahi-user=nobody \
135 --with-avahi-group=nogroup \
136 --with-autoipd-user=nobody \
137 --with-autoipd-group=nogroup \
138
139 CONFIGURE_VARS+= \
140 CFLAGS="$$$$CFLAGS -DNDEBUG" \
141
142 define Build/Compile
143 $(MAKE) -C $(PKG_BUILD_DIR) \
144 DESTDIR="$(PKG_INSTALL_DIR)" \
145 all install
146 endef
147
148 define Build/InstallDev
149 mkdir -p $(1)/usr/include
150 $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(1)/usr/include/
151 mkdir -p $(1)/usr/lib
152 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(1)/usr/lib/
153 mkdir -p $(1)/usr/lib/pkgconfig
154 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(1)/usr/lib/pkgconfig/
155 endef
156
157 define Package/libavahi/install
158 $(INSTALL_DIR) $(1)/usr/lib
159 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
160 endef
161
162 define Package/avahi-autoipd/install
163 $(INSTALL_DIR) $(1)/etc/avahi
164 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
165 $(INSTALL_DIR) $(1)/usr/sbin
166 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
167 endef
168
169 define Package/avahi-daemon/install
170 $(INSTALL_DIR) $(1)/usr/sbin
171 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/
172 $(INSTALL_DIR) $(1)/etc/avahi
173 $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/
174 $(INSTALL_DIR) $(1)/etc/avahi/services
175 $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
176 $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service
177 $(INSTALL_DIR) $(1)/etc/init.d
178 $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
179 endef
180
181 define Package/avahi-dnsconfd/install
182 $(INSTALL_DIR) $(1)/etc/avahi
183 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
184 $(INSTALL_DIR) $(1)/usr/sbin
185 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
186 endef
187
188 $(eval $(call BuildPackage,libavahi))
189 $(eval $(call BuildPackage,avahi-autoipd))
190 $(eval $(call BuildPackage,avahi-daemon))
191 $(eval $(call BuildPackage,avahi-dnsconfd))
192
193 $(eval $(call RequireCommand,intltool-update, \
194 $(PKG_NAME) requires intltool >= 0.35.0 \
195 ))
196