[package] base-files: allow wireless ifaces to be part of multiple networks
[openwrt/svn-archive/archive.git] / package / uhttpd / Makefile
index 5fa12fc8bcddf92fb5bacbecf4a4f4224b2747dc..b8afa0d89f8066591c7959b6301914a952d0f44b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2010-2011 Jo-Philipp Wich <xm@subsignal.org>
+# Copyright (C) 2010-2012 Jo-Philipp Wich <xm@subsignal.org>
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,14 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uhttpd
-PKG_RELEASE:=26
+PKG_RELEASE:=36
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_CONFIG_DEPENDS := \
+       CONFIG_PACKAGE_uhttpd_debug \
        CONFIG_PACKAGE_uhttpd-mod-lua \
        CONFIG_PACKAGE_uhttpd-mod-tls \
        CONFIG_PACKAGE_uhttpd-mod-tls_cyassl \
-       CONFIG_PACKAGE_uhttpd-mod-tls_openssl
+       CONFIG_PACKAGE_uhttpd-mod-tls_openssl \
+       CONFIG_PACKAGE_uhttpd-mod-ubus
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -29,7 +31,7 @@ endef
 
 define Package/uhttpd
   $(Package/uhttpd/default)
-  MENU:=1
+  DEPENDS:=+libubox
 endef
 
 define Package/uhttpd/description
@@ -38,6 +40,12 @@ define Package/uhttpd/description
  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)
@@ -50,29 +58,33 @@ define Package/uhttpd-mod-tls/description
 endef
 
 define Package/uhttpd-mod-tls/config
-        choice
-                depends on PACKAGE_uhttpd-mod-tls
-                prompt "TLS Provider"
-                default PACKAGE_uhttpd-mod-tls_cyassl
+  choice
+    depends on PACKAGE_uhttpd-mod-tls
+    prompt "TLS Provider"
+    default PACKAGE_uhttpd-mod-tls_cyassl
 
-                config PACKAGE_uhttpd-mod-tls_cyassl
-                        bool "CyaSSL"
+    config PACKAGE_uhttpd-mod-tls_cyassl
+      bool "CyaSSL"
 
-                config PACKAGE_uhttpd-mod-tls_openssl
-                        bool "OpenSSL"
-        endchoice
+    config PACKAGE_uhttpd-mod-tls_openssl
+      bool "OpenSSL"
+  endchoice
 endef
 
 UHTTPD_TLS:=
 TLS_CFLAGS:=
+TLS_LDFLAGS:=
 
 ifneq ($(CONFIG_PACKAGE_uhttpd-mod-tls_cyassl),)
   UHTTPD_TLS:=cyassl
-  TLS_CFLAGS:=-I$(STAGING_DIR)/usr/include/cyassl
+  TLS_CFLAGS:=-I$(STAGING_DIR)/usr/include/cyassl -DTLS_IS_CYASSL
+  TLS_LDFLAGS:=-lcyassl -lm
 endif
 
 ifneq ($(CONFIG_PACKAGE_uhttpd-mod-tls_openssl),)
   UHTTPD_TLS:=openssl
+  TLS_CFLAGS:=-DTLS_IS_OPENSSL
+  TLS_LDFLAGS:=-lssl
 endif
 
 
@@ -87,12 +99,28 @@ define Package/uhttpd-mod-lua/description
 endef
 
 
-TARGET_CFLAGS += $(TLS_CFLAGS)
+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
+
+
+TARGET_CFLAGS += $(TLS_CFLAGS) $(if $(CONFIG_PACKAGE_uhttpd_debug),-DDEBUG) -ggdb3
+TARGET_LDFLAGS += -lubox -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
 MAKE_VARS += \
        FPIC="$(FPIC)" \
        LUA_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-lua),1)" \
        TLS_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-tls),1)" \
-       UHTTPD_TLS="$(UHTTPD_TLS)"
+       UBUS_SUPPORT="$(if $(CONFIG_PACKAGE_uhttpd-mod-ubus),1)" \
+       UHTTPD_TLS="$(UHTTPD_TLS)" \
+       TLS_CFLAGS="$(TLS_CFLAGS)" \
+       TLS_LDFLAGS="$(TLS_LDFLAGS)"
 
 define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
@@ -124,7 +152,13 @@ define Package/uhttpd-mod-lua/install
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_lua.so $(1)/usr/lib/
 endef
 
+define Package/uhttpd-mod-ubus/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/uhttpd_ubus.so $(1)/usr/lib/
+endef
+
 
 $(eval $(call BuildPackage,uhttpd))
 $(eval $(call BuildPackage,uhttpd-mod-tls))
 $(eval $(call BuildPackage,uhttpd-mod-lua))
+$(eval $(call BuildPackage,uhttpd-mod-ubus))