eabi fix for uclibc++
[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.21
14 PKG_RELEASE:=1
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17 PKG_SOURCE_URL:=http://avahi.org/download/
18 PKG_MD5SUM:=9cc68f79c50c9dd9e419990c3c9b05b9
19
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
21 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
22
23 PKG_BUILD_DEPENDS:=libexpat libdaemon libgdbm
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/avahi/Default
28 SECTION:=net
29 CATEGORY:=Network
30 TITLE:=An mDNS/DNS-SD implementation
31 URL:=http://www.avahi.org/
32 endef
33
34 define Package/libavahi
35 $(call Package/avahi/Default)
36 SECTION:=libs
37 CATEGORY:=Libraries
38 DEPENDS:=+libdaemon +libpthread
39 TITLE+= (library)
40 endef
41
42 define Package/libavahi/description
43 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
44 Avahi is a system which facilitates service discovery on a local network --
45 this means that you can plug your laptop or computer into a network and
46 instantly be able to view other people who you can chat with, find printers
47 to print to or find files being shared. This kind of technology is already
48 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
49 and is very convenient.
50 This package contains the mDNS/DNS-SD shared libraries, used by other programs.
51 endef
52
53 define Package/avahi-autoipd
54 $(call Package/avahi/Default)
55 DEPENDS:=+libdaemon
56 TITLE:=IPv4LL network address configuration daemon
57 endef
58
59 define Package/avahi-autoipd/description
60 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
61 Avahi is a system which facilitates service discovery on a local network --
62 this means that you can plug your laptop or computer into a network and
63 instantly be able to view other people who you can chat with, find printers
64 to print to or find files being shared. This kind of technology is already
65 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
66 and is very convenient.
67 This package implements IPv4LL, "Dynamic Configuration of
68 IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for
69 automatic IP address configuration from the link-local
70 169.254.0.0/16 range without the need for a central server. It
71 is primarily intended to be used in ad-hoc networks which lack a
72 DHCP server.
73 endef
74
75 define Package/avahi-daemon
76 $(call Package/avahi/Default)
77 DEPENDS:=+libavahi +libexpat
78 TITLE+= (daemon)
79 endef
80
81 define Package/avahi-daemon/description
82 An mDNS/DNS-SD (aka RendezVous/Bonjour/ZeroConf) implementation (library).
83 Avahi is a system which facilitates service discovery on a local network --
84 this means that you can plug your laptop or computer into a network and
85 instantly be able to view other people who you can chat with, find printers
86 to print to or find files being shared. This kind of technology is already
87 found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf')
88 and is very convenient.
89 This package contains an mDNS/DNS-SD daemon.
90 endef
91
92 define Package/avahi-daemon/conffiles
93 /etc/avahi/avahi-daemon.conf
94 /etc/avahi/services/http.service
95 /etc/avahi/services/ssh.service
96 endef
97
98 define Package/avahi-dnsconfd
99 $(call Package/avahi/Default)
100 DEPENDS:=+libavahi
101 TITLE:=An Unicast DNS server from mDNS/DNS-SD configuration daemon
102 endef
103
104 define Package/avahi-dnsconfd/description
105 This package contains an Unicast DNS server from mDNS/DNS-SD configuration
106 daemon, which may be used to configure conventional DNS servers using mDNS
107 in a DHCP-like fashion. Especially useful on IPv6.
108 endef
109
110 define Build/Configure
111 $(call Build/Configure/Default, \
112 --enable-shared \
113 --enable-static \
114 --disable-glib \
115 --disable-qt3 \
116 --disable-qt4 \
117 --disable-gtk \
118 --disable-dbus \
119 --enable-expat \
120 --disable-dbm \
121 --enable-gdbm \
122 --enable-libdaemon \
123 --disable-python \
124 --disable-pygtk \
125 --disable-python-dbus \
126 --disable-mono \
127 --disable-monodoc \
128 --disable-doxygen-doc \
129 --disable-doxygen-dot \
130 --disable-doxygen-man \
131 --disable-doxygen-rtf \
132 --disable-doxygen-xml \
133 --disable-doxygen-chm \
134 --disable-doxygen-chi \
135 --disable-doxygen-html \
136 --disable-doxygen-ps \
137 --disable-doxygen-pdf \
138 --disable-xmltoman \
139 --with-distro=none \
140 --with-avahi-user=nobody \
141 --with-avahi-group=nogroup \
142 , \
143 CFLAGS="$$$$CFLAGS -DNDEBUG" \
144 )
145 endef
146
147 define Build/Compile
148 $(MAKE) -C $(PKG_BUILD_DIR) \
149 DESTDIR="$(PKG_INSTALL_DIR)" \
150 all install
151 endef
152
153 define Build/InstallDev
154 mkdir -p $(1)/usr/include
155 $(CP) $(PKG_INSTALL_DIR)/usr/include/avahi-{common,core} $(1)/usr/include/
156 mkdir -p $(1)/usr/lib
157 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.{a,so*} $(1)/usr/lib/
158 mkdir -p $(1)/usr/lib/pkgconfig
159 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/avahi-core.pc $(1)/usr/lib/pkgconfig/
160 endef
161
162 define Package/libavahi/install
163 $(INSTALL_DIR) $(1)/usr/lib
164 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libavahi-{common,core}.so.* $(1)/usr/lib/
165 endef
166
167 define Package/avahi-autoipd/install
168 $(INSTALL_DIR) $(1)/etc/avahi
169 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-autoipd.action $(1)/etc/avahi/
170 $(INSTALL_DIR) $(1)/usr/sbin
171 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-autoipd $(1)/usr/sbin/
172 endef
173
174 define Package/avahi-daemon/install
175 $(INSTALL_DIR) $(1)/usr/sbin
176 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(1)/usr/sbin/
177 $(INSTALL_DIR) $(1)/etc/avahi
178 $(INSTALL_DATA) ./files/avahi-daemon.conf $(1)/etc/avahi/
179 $(INSTALL_DIR) $(1)/etc/avahi/services
180 $(INSTALL_DATA) ./files/service-http $(1)/etc/avahi/services/http.service
181 $(INSTALL_DATA) ./files/service-ssh $(1)/etc/avahi/services/ssh.service
182 $(INSTALL_DIR) $(1)/etc/init.d
183 $(INSTALL_BIN) ./files/avahi-daemon.init $(1)/etc/init.d/avahi-daemon
184 endef
185
186 define Package/avahi-dnsconfd/install
187 $(INSTALL_DIR) $(1)/etc/avahi
188 $(CP) $(PKG_INSTALL_DIR)/etc/avahi/avahi-dnsconfd.action $(1)/etc/avahi/
189 $(INSTALL_DIR) $(1)/usr/sbin
190 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/avahi-dnsconfd $(1)/usr/sbin/
191 endef
192
193 $(eval $(call BuildPackage,libavahi))
194 $(eval $(call BuildPackage,avahi-autoipd))
195 $(eval $(call BuildPackage,avahi-daemon))
196 $(eval $(call BuildPackage,avahi-dnsconfd))