SSL support adds a quite large dependency to lighttpd when compiled
in. On a 32 bit platform, libcrypto is roughly 1MB, to which one must
add the size of libssl (roughly 250KB). This is 2 to 5 times the size
of a typical lighttpd embedded installation.

SSL support is only needed if one enables the SSL engine in the
lighttpd.conf configuration file.

This patch introduces a configuration option that allows the user to
choose whether or not he wants to compile SSL support in. It defaults
to 'y' only if libopenssl is already selected (either by active
selection or because libopenssl is a dependency of another package).

Signed-off-by: Emmanuel Deloget <log...@free.fr>

Index: packages/net/lighttpd/Makefile
===================================================================
--- packages/net/lighttpd/Makefile	(révision 30750)
+++ packages/net/lighttpd/Makefile	(copie de travail)
@@ -9,7 +9,7 @@
 
 PKG_NAME:=lighttpd
 PKG_VERSION:=1.4.30
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x
@@ -30,10 +30,21 @@
 define Package/lighttpd
   $(call Package/lighttpd/Default)
   MENU:=1
-  DEPENDS:=+libopenssl +libpcre +libpthread
+  DEPENDS:=+LIGHTTPD_SSL:libopenssl +libpcre +libpthread
   TITLE:=A flexible and lightweight web server
 endef
 
+define Package/lighttpd/config
+config LIGHTTPD_SSL
+	bool "SSL support"
+	depends on PACKAGE_lighttpd
+	default y if PACKAGE_libopenssl
+	help
+	  Implements SSL support in lighttpd (using libopenssl). This
+	  option is required if you enable the SSL engine in your
+	  lighttpd confguration file.
+endef
+
 define Package/lighttpd-mod-access
   $(call Package/lighttpd/Default)
   DEPENDS:=lighttpd
@@ -222,7 +233,6 @@
 	--without-lua \
 	--without-memcache \
 	--without-mysql \
-	--with-openssl="$(STAGING_DIR)/usr" \
 	--with-pcre \
 	--without-valgrind \
 	 $(call autoconf_bool,CONFIG_IPV6,ipv6)
@@ -230,6 +240,14 @@
 CONFIGURE_VARS+= \
 	PCRE_LIB="-lpcre" \
 
+ifneq ($(strip $(CONFIG_LIGHTTPD_SSL)),)
+  CONFIGURE_ARGS+= \
+	--with-openssl="$(STAGING_DIR)/usr"
+else
+  CONFIGURE_ARGS+= \
+	--without-openssl
+endif
+
 ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-webdav),)
   CONFIGURE_ARGS+= \
 	--with-webdav-locks \
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to