treewide: fix replace nbd@openwrt.org with nbd@nbd.name
[openwrt.org/openwrt.git] / package / network / services / uhttpd / Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#
# Copyright (C) 2010-2015 Jo-Philipp Wich <jow@openwrt.org>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
 
include $(TOPDIR)/rules.mk
 
PKG_NAME:=uhttpd
PKG_VERSION:=2015-11-08
PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(OPENWRT_GIT)/project/uhttpd.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=fe01ef3f52adae9da38ef47926cd50974af5d6b7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
PKG_LICENSE:=ISC
 
PKG_BUILD_DEPENDS = ustream-ssl
 
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
 
define Package/uhttpd/default
  SECTION:=net
  CATEGORY:=Network
  SUBMENU:=Web Servers/Proxies
  TITLE:=uHTTPd - tiny, single threaded HTTP server
endef
 
define Package/uhttpd
  $(Package/uhttpd/default)
  DEPENDS:=+libubox +libblobmsg-json +libjson-script
endef
 
define Package/uhttpd/description
 uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua
 support. It is intended as a drop-in replacement for the Busybox
 HTTP daemon.
endef
 
define Package/uhttpd/config
  config PACKAGE_uhttpd_debug
    bool "Build with debug messages"
    default n
endef
 
 
define Package/uhttpd-mod-tls
  $(Package/uhttpd/default)
  TITLE+= (TLS plugin)
  DEPENDS:=uhttpd \
        +PACKAGE_uhttpd-mod-tls_polarssl:libustream-polarssl \
        +PACKAGE_uhttpd-mod-tls_mbedtls:libustream-mbedtls \
        +PACKAGE_uhttpd-mod-tls_cyassl:libustream-cyassl \
        +PACKAGE_uhttpd-mod-tls_openssl:libustream-openssl
endef
 
define Package/uhttpd-mod-tls/description
 The TLS plugin adds HTTPS support to uHTTPd.
endef
 
define Package/uhttpd-mod-tls/config
  choice
    depends on PACKAGE_uhttpd-mod-tls
    prompt "TLS Provider"
    default PACKAGE_uhttpd-mod-tls_polarssl
 
    config PACKAGE_uhttpd-mod-tls_mbedtls
      bool "mbedTLS"
 
    config PACKAGE_uhttpd-mod-tls_polarssl
      bool "PolarSSL"
 
    config PACKAGE_uhttpd-mod-tls_cyassl
      bool "CyaSSL"
 
    config PACKAGE_uhttpd-mod-tls_openssl
      bool "OpenSSL"
  endchoice
endef
 
define Package/uhttpd-mod-lua
  $(Package/uhttpd/default)
  TITLE+= (Lua plugin)
  DEPENDS:=uhttpd +liblua
endef
 
define Package/uhttpd-mod-lua/description
 The Lua plugin adds a CGI-like Lua runtime interface to uHTTPd.
endef
 
 
define Package/uhttpd-mod-ubus
  $(Package/uhttpd/default)
  TITLE+= (ubus plugin)
  DEPENDS:=uhttpd +libubus +libblobmsg-json
endef
 
define Package/uhttpd-mod-ubus/description
 The ubus plugin adds a HTTP/JSON RPC proxy for ubus and publishes the
 session.* namespace and procedures.
endef
 
define Package/uhttpd/conffiles
/etc/config/uhttpd
/etc/uhttpd.crt
/etc/uhttpd.key
endef
 
ifneq ($(CONFIG_USE_GLIBC),)
  TARGET_CFLAGS += -D_DEFAULT_SOURCE
endif
 
TARGET_LDFLAGS += -lcrypt
 
CMAKE_OPTIONS = -DTLS_SUPPORT=on
 
define Package/uhttpd/install
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/uhttpd.init $(1)/etc/init.d/uhttpd
        $(INSTALL_DIR) $(1)/etc/config
        $(INSTALL_CONF) ./files/uhttpd.config $(1)/etc/config/uhttpd
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd $(1)/usr/sbin/uhttpd
endef
 
define Package/uhttpd-mod-tls/install
        true
endef
 
define Package/uhttpd-mod-lua/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_lua.so $(1)/usr/lib/
endef
 
define Package/uhttpd-mod-ubus/install
        $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/uci-defaults
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_ubus.so $(1)/usr/lib/
        $(INSTALL_DATA) ./files/ubus.default $(1)/etc/uci-defaults/00_uhttpd_ubus
endef
 
 
$(eval $(call BuildPackage,uhttpd))
$(eval $(call BuildPackage,uhttpd-mod-tls))
$(eval $(call BuildPackage,uhttpd-mod-lua))
$(eval $(call BuildPackage,uhttpd-mod-ubus))
 
comments