Makefile 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #
  2. # Copyright (C) 2010-2015 Jo-Philipp Wich <[email protected]>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=uhttpd
  9. PKG_RELEASE:=2
  10. PKG_SOURCE_PROTO:=git
  11. PKG_SOURCE_URL=$(LEDE_GIT)/project/uhttpd.git
  12. PKG_SOURCE_DATE:=2016-10-25
  13. PKG_SOURCE_VERSION:=1628fa4b34aa143187353f81e8001b9a15286bda
  14. PKG_MIRROR_HASH:=2ac4ba8dc0b349d72174aac9ff693a73a214295a9890fe3d2a8eedcad54d06e3
  15. PKG_MAINTAINER:=Felix Fietkau <[email protected]>
  16. PKG_LICENSE:=ISC
  17. PKG_BUILD_DEPENDS = ustream-ssl
  18. include $(INCLUDE_DIR)/package.mk
  19. include $(INCLUDE_DIR)/cmake.mk
  20. include $(INCLUDE_DIR)/version.mk
  21. define Package/uhttpd/default
  22. SECTION:=net
  23. CATEGORY:=Network
  24. SUBMENU:=Web Servers/Proxies
  25. TITLE:=uHTTPd - tiny, single threaded HTTP server
  26. endef
  27. define Package/uhttpd
  28. $(Package/uhttpd/default)
  29. DEPENDS:=+libubox +libblobmsg-json +libjson-script
  30. endef
  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. define Package/uhttpd/config
  37. config PACKAGE_uhttpd_debug
  38. bool "Build with debug messages"
  39. default n
  40. config uhttpd_lua
  41. depends on PACKAGE_uhttpd-mod-lua
  42. bool "Enable Integrated Lua interpreter"
  43. default y
  44. endef
  45. define Package/uhttpd-mod-lua
  46. $(Package/uhttpd/default)
  47. TITLE+= (Lua plugin)
  48. DEPENDS:=uhttpd +liblua
  49. endef
  50. define Package/uhttpd-mod-lua/description
  51. The Lua plugin adds a CGI-like Lua runtime interface to uHTTPd.
  52. endef
  53. define Package/uhttpd-mod-ubus
  54. $(Package/uhttpd/default)
  55. TITLE+= (ubus plugin)
  56. DEPENDS:=uhttpd +libubus +libblobmsg-json
  57. endef
  58. define Package/uhttpd-mod-ubus/description
  59. The ubus plugin adds a HTTP/JSON RPC proxy for ubus and publishes the
  60. session.* namespace and procedures.
  61. endef
  62. define Package/uhttpd/conffiles
  63. /etc/config/uhttpd
  64. /etc/uhttpd.crt
  65. /etc/uhttpd.key
  66. endef
  67. ifneq ($(CONFIG_USE_GLIBC),)
  68. TARGET_CFLAGS += -D_DEFAULT_SOURCE
  69. endif
  70. TARGET_LDFLAGS += -lcrypt
  71. CMAKE_OPTIONS = -DTLS_SUPPORT=on
  72. define Package/uhttpd/install
  73. $(INSTALL_DIR) $(1)/etc/init.d
  74. $(INSTALL_BIN) ./files/uhttpd.init $(1)/etc/init.d/uhttpd
  75. $(INSTALL_DIR) $(1)/etc/config
  76. $(INSTALL_CONF) ./files/uhttpd.config $(1)/etc/config/uhttpd
  77. $(VERSION_SED_SCRIPT) $(1)/etc/config/uhttpd
  78. $(INSTALL_DIR) $(1)/usr/sbin
  79. $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd $(1)/usr/sbin/uhttpd
  80. endef
  81. define Package/uhttpd-mod-lua/install
  82. $(INSTALL_DIR) $(1)/usr/lib
  83. $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_lua.so $(1)/usr/lib/
  84. endef
  85. define Package/uhttpd-mod-ubus/install
  86. $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/uci-defaults
  87. $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_ubus.so $(1)/usr/lib/
  88. $(INSTALL_DATA) ./files/ubus.default $(1)/etc/uci-defaults/00_uhttpd_ubus
  89. endef
  90. define Package/uhttpd-mod-lua/postinst
  91. $(if $(CONFIG_uhttpd_lua),
  92. #!/bin/sh
  93. if [ -f $${IPKG_INSTROOT}/www/index.html ]
  94. then
  95. sed -e 's:/cgi-bin::g' -i $${IPKG_INSTROOT}/www/index.html
  96. fi
  97. ,)
  98. endef
  99. $(eval $(call BuildPackage,uhttpd))
  100. $(eval $(call BuildPackage,uhttpd-mod-lua))
  101. $(eval $(call BuildPackage,uhttpd-mod-ubus))