diff mbox

[v4,2/3] uhttpd: new package

Message ID 1476702145-25280-2-git-send-email-Rahul.Jain@imgtec.com
State Accepted
Headers show

Commit Message

Rahul Jain Oct. 17, 2016, 11:02 a.m. UTC
Signed-off-by: Rahul Bedarkar <Rahul.Bedarkar@imgtec.com>
Signed-off-by: Neha Bairathi <Neha.Bairathi@imgtec.com>
Signed-off-by: Abhishek Singh <Abhishek.Singh@imgtec.com>
Signed-off-by: Rahul Jain <Rahul.Jain@imgtec.com>
---
 Changes v3 -> v4:
   - add UHTTPD_LICENSE_FILES variable
 Changes v2 -> v3:
   - Remove entry from DEVELOPERS file
 Changes v1 -> v2:
   - Updated the url in help (Suggested by Arnout)
   - Use http url (Suggested by Arnout)
   - Add hash file (Suggested by Arnout)
   - Improve handling of optional dependency on lua (Suggested by Arnout)
   - Remove unrequired config options (Suggested by Arnout)
   - Explicitly specify the config option when enabling lua, ssl and ubus support (Suggested by Arnout)

 package/Config.in          |  1 +
 package/uhttpd/Config.in   | 18 ++++++++++++++++++
 package/uhttpd/uhttpd.hash |  2 ++
 package/uhttpd/uhttpd.mk   | 39 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 60 insertions(+)
 create mode 100644 package/uhttpd/Config.in
 create mode 100644 package/uhttpd/uhttpd.hash
 create mode 100644 package/uhttpd/uhttpd.mk

Comments

Thomas Petazzoni Nov. 5, 2016, 1:20 p.m. UTC | #1
Hello,

On Mon, 17 Oct 2016 16:32:24 +0530, Rahul Jain wrote:

> +ifeq ($(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION),"5.1")
> +ifeq ($(BR2_PACKAGE_LUA),y)
> +UHTTPD_DEPENDENCIES += lua
> +else ifeq ($(BR2_PACKAGE_LUAJIT),y)
> +UHTTPD_DEPENDENCIES += luajit

It doesn't build with LuaJIT:

[ 35%] Linking C shared module uhttpd_lua.so
/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.8.5/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: cannot find -llua
collect2: error: ld returned 1 exit status

So I've modified  your patch to only use Lua. If you want to re-enable
LuaJIT support, could you fix the issue and send a follow-up patch?

Applied to next with this issue fixed.

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 89de7af..84a75c2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1613,6 +1613,7 @@  endif
 	source "package/tunctl/Config.in"
 	source "package/tvheadend/Config.in"
 	source "package/udpcast/Config.in"
+	source "package/uhttpd/Config.in"
 	source "package/ulogd/Config.in"
 	source "package/ushare/Config.in"
 	source "package/ussp-push/Config.in"
diff --git a/package/uhttpd/Config.in b/package/uhttpd/Config.in
new file mode 100644
index 0000000..e463b93
--- /dev/null
+++ b/package/uhttpd/Config.in
@@ -0,0 +1,18 @@ 
+config BR2_PACKAGE_UHTTPD
+	bool "uhttpd"
+	depends on !BR2_STATIC_LIBS # dlopen()
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
+	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBUBOX
+	select BR2_PACKAGE_JSON_C
+	help
+	  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.
+
+	  https://wiki.openwrt.org/doc/howto/http.uhttpd
+
+comment "uhttpd needs a toolchain w/ dynamic library"
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS
diff --git a/package/uhttpd/uhttpd.hash b/package/uhttpd/uhttpd.hash
new file mode 100644
index 0000000..59e54ad
--- /dev/null
+++ b/package/uhttpd/uhttpd.hash
@@ -0,0 +1,2 @@ 
+# No hash for this git snapshot
+none	xxx	uhttpd-59e0c739634f46a164d939e54416287b91ff8a9b.tar.gz
diff --git a/package/uhttpd/uhttpd.mk b/package/uhttpd/uhttpd.mk
new file mode 100644
index 0000000..328b621
--- /dev/null
+++ b/package/uhttpd/uhttpd.mk
@@ -0,0 +1,39 @@ 
+################################################################################
+#
+# uhttpd
+#
+################################################################################
+
+UHTTPD_VERSION = 59e0c739634f46a164d939e54416287b91ff8a9b
+UHTTPD_SITE = http://git.openwrt.org/project/uhttpd.git
+UHTTPD_SITE_METHOD = git
+UHTTPD_LICENSE = ISC
+UHTTPD_LICENSE_FILES = uhttpd.h
+UHTTPD_DEPENDENCIES = libubox json-c
+
+ifeq ($(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION),"5.1")
+ifeq ($(BR2_PACKAGE_LUA),y)
+UHTTPD_DEPENDENCIES += lua
+else ifeq ($(BR2_PACKAGE_LUAJIT),y)
+UHTTPD_DEPENDENCIES += luajit
+endif
+UHTTPD_CONF_OPTS += -DLUA_SUPPORT=ON
+else
+UHTTPD_CONF_OPTS += -DLUA_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_USTREAM_SSL),y)
+UHTTPD_DEPENDENCIES += ustream-ssl
+UHTTPD_CONF_OPTS += -DTLS_SUPPORT=ON
+else
+UHTTPD_CONF_OPTS += -DTLS_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UBUS),y)
+UHTTPD_DEPENDENCIES += ubus
+UHTTPD_CONF_OPTS += -DUBUS_SUPPORT=ON
+else
+UHTTPD_CONF_OPTS += -DUBUS_SUPPORT=OFF
+endif
+
+$(eval $(cmake-package))