24c5595c9980e49f009d9c3ffcc894f67da0fbe9
[packages.git] / net / lighttpd / Makefile
1 #
2 # Copyright (C) 2006-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=lighttpd
11 PKG_VERSION:=1.4.26
12 PKG_RELEASE:=3
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x/
16 PKG_MD5SUM:=a682c8efce47a2f4263a247ba0813c9b
17
18 PKG_FIXUP:=libtool
19 PKG_INSTALL:=1
20
21 include $(INCLUDE_DIR)/package.mk
22
23 define Package/lighttpd/Default
24   SUBMENU:=Web
25   SECTION:=net
26   CATEGORY:=Network
27   URL:=http://www.lighttpd.net/
28 endef
29
30 define Package/lighttpd
31   $(call Package/lighttpd/Default)
32   MENU:=1
33   DEPENDS:=+libopenssl +libpcre +libpthread
34   TITLE:=A flexible and lightweight web server
35 endef
36
37 define Package/lighttpd-mod-access
38   $(call Package/lighttpd/Default)
39   DEPENDS:=lighttpd
40   TITLE:=Access restrictions module
41 endef
42
43 define Package/lighttpd-mod-accesslog
44   $(call Package/lighttpd/Default)
45   DEPENDS:=lighttpd
46   TITLE:=Access logging module
47 endef
48
49 define Package/lighttpd-mod-alias
50   $(call Package/lighttpd/Default)
51   DEPENDS:=lighttpd
52   TITLE:=Directory alias module
53 endef
54
55 define Package/lighttpd-mod-auth
56   $(call Package/lighttpd/Default)
57   DEPENDS:=lighttpd
58   TITLE:=Authentication module
59 endef
60
61 define Package/lighttpd-mod-cgi
62   $(call Package/lighttpd/Default)
63   DEPENDS:=lighttpd
64   TITLE:=CGI module
65 endef
66
67 define Package/lighttpd-mod-cml
68   $(call Package/lighttpd/Default)
69   DEPENDS:=lighttpd
70   TITLE:=Cache Meta Language module
71 endef
72
73 define Package/lighttpd-mod-compress
74   $(call Package/lighttpd/Default)
75   DEPENDS:=lighttpd +zlib
76   TITLE:=Compress output module
77 endef
78
79 define Package/lighttpd-mod-evasive
80   $(call Package/lighttpd/Default)
81   DEPENDS:=lighttpd
82   TITLE:=Evasive module
83 endef
84
85 define Package/lighttpd-mod-expire
86   $(call Package/lighttpd/Default)
87   DEPENDS:=lighttpd
88   TITLE:=Expire module
89 endef
90
91 define Package/lighttpd-mod-extforward
92   $(call Package/lighttpd/Default)
93   DEPENDS:=lighttpd
94   TITLE:=Extract client IP module
95 endef
96
97 define Package/lighttpd-mod-fastcgi
98   $(call Package/lighttpd/Default)
99   DEPENDS:=lighttpd
100   TITLE:=FastCGI module
101 endef
102
103 define Package/lighttpd-mod-flv-streaming
104   $(call Package/lighttpd/Default)
105   DEPENDS:=lighttpd
106   TITLE:=flv streaming module
107 endef
108
109 define Package/lighttpd-mod-magnet
110   $(call Package/lighttpd/Default)
111   DEPENDS:=lighttpd
112   TITLE:=magnet module
113 endef
114
115 define Package/lighttpd-mod-mysql-vhost
116   $(call Package/lighttpd/Default)
117   DEPENDS:=lighttpd +libmysqlclient
118   TITLE:=Mysql virtual hosting module
119 endef
120
121 define Package/lighttpd-mod-proxy
122   $(call Package/lighttpd/Default)
123   DEPENDS:=lighttpd
124   TITLE:=Proxy module
125 endef
126
127 define Package/lighttpd-mod-redirect
128   $(call Package/lighttpd/Default)
129   DEPENDS:=lighttpd +libpcre
130   TITLE:=URL redirection module
131 endef
132
133 define Package/lighttpd-mod-rewrite
134   $(call Package/lighttpd/Default)
135   DEPENDS:=lighttpd +libpcre
136   TITLE:=URL rewriting module
137 endef
138
139 define Package/lighttpd-mod-rrdtool
140   $(call Package/lighttpd/Default)
141   DEPENDS:=lighttpd
142   TITLE:=rrdtool module
143 endef
144
145 define Package/lighttpd-mod-scgi
146   $(call Package/lighttpd/Default)
147   DEPENDS:=lighttpd
148   TITLE:=SCGI module
149 endef
150
151 define Package/lighttpd-mod-secdownload
152   $(call Package/lighttpd/Default)
153   DEPENDS:=lighttpd
154   TITLE:=Secure and fast download module
155 endef
156
157 define Package/lighttpd-mod-setenv
158   $(call Package/lighttpd/Default)
159   DEPENDS:=lighttpd
160   TITLE:=Environment variable setting module
161 endef
162
163 define Package/lighttpd-mod-simple-vhost
164   $(call Package/lighttpd/Default)
165   DEPENDS:=lighttpd
166   TITLE:=Simple virtual hosting module
167 endef
168
169 define Package/lighttpd-mod-ssi
170   $(call Package/lighttpd/Default)
171   DEPENDS:=lighttpd +libpcre
172   TITLE:=SSI module
173 endef
174
175 define Package/lighttpd-mod-status
176   $(call Package/lighttpd/Default)
177   DEPENDS:=lighttpd
178   TITLE:=Server status display module
179 endef
180
181 define Package/lighttpd-mod-trigger-b4-dl
182   $(call Package/lighttpd/Default)
183   DEPENDS:=lighttpd +libpcre
184   TITLE:=Trigger before download module
185 endef
186
187 define Package/lighttpd-mod-userdir
188   $(call Package/lighttpd/Default)
189   DEPENDS:=lighttpd
190   TITLE:=User directory module
191 endef
192
193 define Package/lighttpd-mod-usertrack
194   $(call Package/lighttpd/Default)
195   DEPENDS:=lighttpd
196   TITLE:=User tracking module
197 endef
198
199 define Package/lighttpd-mod-webdav
200   $(call Package/lighttpd/Default)
201   DEPENDS:=lighttpd +libsqlite3 +libuuid +libxml2
202   TITLE:=WebDAV module
203 endef
204
205 CONFIGURE_ARGS+= \
206         --libdir=/usr/lib/lighttpd \
207         --sysconfdir=/etc/lighttpd \
208         --enable-shared \
209         --enable-static \
210         --disable-rpath \
211         --without-attr \
212         --without-bzip2 \
213         --without-fam \
214         --without-gdbm \
215         --without-ldap \
216         --without-lua \
217         --without-memcache \
218         --without-mysql \
219         --with-openssl="$(STAGING_DIR)/usr" \
220         --with-pcre \
221         --without-valgrind \
222
223 CONFIGURE_VARS+= \
224         PCRE_LIB="-lpcre" \
225
226 ifneq ($(CONFIG_LARGEFILE),y)
227   CONFIGURE_ARGS+= \
228         --disable-lfs
229 endif
230
231 ifeq ($(CONFIG_IPV6),y)
232   CONFIGURE_ARGS+= \
233         --enable-ipv6
234 endif
235
236 ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-webdav),)
237   CONFIGURE_ARGS+= \
238         --with-webdav-locks \
239         --with-webdav-props
240   # XXX: needed by sqlite3 to prevent segfaults in mod_webdav.so
241   CONFIGURE_VARS+= \
242         LIBS="-lpthread"
243 else
244   CONFIGURE_ARGS+= \
245         --without-webdav-locks \
246         --without-webdav-props
247 endif
248
249 define Build/Configure
250 $(call Build/Configure/Default)
251         # XXX: override pcre (mis)detection by ./configure when cross-compiling
252         echo "#define HAVE_LIBPCRE 1" >>$(PKG_BUILD_DIR)/config.h
253         echo "#define HAVE_PCRE_H 1" >>$(PKG_BUILD_DIR)/config.h
254 endef
255
256 define Package/lighttpd/conffiles
257 /etc/lighttpd/lighttpd.conf
258 /etc/default/lighttpd
259 endef
260
261 define Package/lighttpd/install
262         $(INSTALL_DIR) $(1)/etc/lighttpd
263         $(INSTALL_DATA) ./files/lighttpd.conf $(1)/etc/lighttpd/
264         $(INSTALL_DIR) $(1)/etc/default
265         $(INSTALL_DATA) ./files/lighttpd.default $(1)/etc/default/lighttpd
266         $(INSTALL_DIR) $(1)/etc/init.d
267         $(INSTALL_BIN) ./files/lighttpd.init $(1)/etc/init.d/lighttpd
268         $(INSTALL_DIR) $(1)/usr/lib/lighttpd
269         for m in dirlisting indexfile staticfile; do \
270                 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$$$${m}.so $(1)/usr/lib/lighttpd/ ; \
271         done
272         $(INSTALL_DIR) $(1)/usr/sbin
273         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lighttpd $(1)/usr/sbin/
274 endef
275
276 define BuildPlugin
277   define Package/$(1)/install
278         [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/lighttpd
279         for m in $(2); do \
280                 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$$$$$$$${m}.so $$(1)/usr/lib/lighttpd/ ; \
281         done
282   endef
283
284   $$(eval $$(call BuildPackage,$(1)))
285 endef
286
287 $(eval $(call BuildPackage,lighttpd))
288 $(eval $(call BuildPlugin,lighttpd-mod-access,access))
289 $(eval $(call BuildPlugin,lighttpd-mod-accesslog,accesslog))
290 $(eval $(call BuildPlugin,lighttpd-mod-alias,alias))
291 $(eval $(call BuildPlugin,lighttpd-mod-auth,auth))
292 $(eval $(call BuildPlugin,lighttpd-mod-cgi,cgi))
293 $(eval $(call BuildPlugin,lighttpd-mod-cml,cml))
294 $(eval $(call BuildPlugin,lighttpd-mod-compress,compress))
295 $(eval $(call BuildPlugin,lighttpd-mod-evasive,evasive))
296 $(eval $(call BuildPlugin,lighttpd-mod-expire, expire))
297 $(eval $(call BuildPlugin,lighttpd-mod-extforward, extforward))
298 $(eval $(call BuildPlugin,lighttpd-mod-fastcgi,fastcgi))
299 $(eval $(call BuildPlugin,lighttpd-mod-flv-streaming,flv_streaming))
300 $(eval $(call BuildPlugin,lighttpd-mod-proxy,proxy))
301 $(eval $(call BuildPlugin,lighttpd-mod-redirect,redirect))
302 $(eval $(call BuildPlugin,lighttpd-mod-rewrite,rewrite))
303 $(eval $(call BuildPlugin,lighttpd-mod-rrdtool,rrdtool))
304 $(eval $(call BuildPlugin,lighttpd-mod-scgi,scgi))
305 $(eval $(call BuildPlugin,lighttpd-mod-secdownload,secdownload))
306 $(eval $(call BuildPlugin,lighttpd-mod-setenv,setenv))
307 $(eval $(call BuildPlugin,lighttpd-mod-simple-vhost,simple_vhost))
308 $(eval $(call BuildPlugin,lighttpd-mod-ssi,ssi))
309 $(eval $(call BuildPlugin,lighttpd-mod-status,status))
310 $(eval $(call BuildPlugin,lighttpd-mod-trigger-b4-dl,trigger_b4_dl))
311 $(eval $(call BuildPlugin,lighttpd-mod-userdir,userdir))
312 $(eval $(call BuildPlugin,lighttpd-mod-usertrack,usertrack))
313 $(eval $(call BuildPlugin,lighttpd-mod-webdav,webdav))