[package] uhttpd: unblock signals in CGI childs, solves hanging ssh logout after...
[openwrt.git] / package / uhttpd / Makefile
1 #
2 # Copyright (C) 2010-2011 Jo-Philipp Wich <xm@subsignal.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:=uhttpd
11 PKG_RELEASE:=23
12
13 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
14 PKG_BUILD_DEPENDS := libcyassl liblua
15
16 include $(INCLUDE_DIR)/package.mk
17
18 define Package/uhttpd/default
19   SECTION:=net
20   CATEGORY:=Network
21   SUBMENU:=Web Servers/Proxies
22   TITLE:=uHTTPd - tiny, single threaded HTTP server
23   MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
24 endef
25
26 define Package/uhttpd
27   $(Package/uhttpd/default)
28   MENU:=1
29 endef
30
31 define Package/uhttpd/description
32  uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua
33  support. It is intended as a drop-in replacement for the Busybox
34  HTTP daemon.
35 endef
36
37
38 define Package/uhttpd-mod-tls
39   $(Package/uhttpd/default)
40   TITLE+= (TLS plugin)
41   DEPENDS:=uhttpd +libcyassl
42 endef
43
44 define Package/uhttpd-mod-tls/description
45  The TLS plugin adds HTTPS support to uHTTPd.
46 endef
47
48
49 define Package/uhttpd-mod-lua
50   $(Package/uhttpd/default)
51   TITLE+= (Lua plugin)
52   DEPENDS:=uhttpd +liblua
53 endef
54
55 define Package/uhttpd-mod-lua/description
56  The Lua plugin adds a CGI-like Lua runtime interface to uHTTPd.
57 endef
58
59
60 # hack to use CyASSL headers
61 TARGET_CFLAGS += -I$(firstword $(wildcard $(BUILD_DIR)/cyassl-*/include))
62 TARGET_LDFLAGS += -lm
63 MAKE_VARS += FPIC="$(FPIC)"
64
65 define Build/Prepare
66         mkdir -p $(PKG_BUILD_DIR)
67         $(CP) ./src/* $(PKG_BUILD_DIR)/
68 endef
69
70 define Package/uhttpd/conffiles
71 /etc/config/uhttpd
72 /etc/uhttpd.crt
73 /etc/uhttpd.key
74 endef
75
76 define Package/uhttpd/install
77         $(INSTALL_DIR) $(1)/etc/init.d
78         $(INSTALL_BIN) ./files/uhttpd.init $(1)/etc/init.d/uhttpd
79         $(INSTALL_DIR) $(1)/etc/config
80         $(INSTALL_CONF) ./files/uhttpd.config $(1)/etc/config/uhttpd
81         $(INSTALL_DIR) $(1)/usr/sbin
82         $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd $(1)/usr/sbin/uhttpd
83 endef
84
85 define Package/uhttpd-mod-tls/install
86         $(INSTALL_DIR) $(1)/usr/lib
87         $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_tls.so $(1)/usr/lib/
88 endef
89
90 define Package/uhttpd-mod-lua/install
91         $(INSTALL_DIR) $(1)/usr/lib
92         $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_lua.so $(1)/usr/lib/
93 endef
94
95
96 $(eval $(call BuildPackage,uhttpd))
97 $(eval $(call BuildPackage,uhttpd-mod-tls))
98 $(eval $(call BuildPackage,uhttpd-mod-lua))